Iniital import of unicode-normalization v0.1.16 am: 12bf0863fe am: 1721046199 am: 4dc50db10c

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/unicode-normalization/+/1533349

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibc6773fc391d4f0f4c716f753fca00681e27fb02
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
new file mode 100644
index 0000000..516ef86
--- /dev/null
+++ b/.cargo_vcs_info.json
@@ -0,0 +1,5 @@
+{
+  "git": {
+    "sha1": "2aa5c6e1ec51b2c5b146cf04c7ba0ed8097ef139"
+  }
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ec1ef20
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+target
+Cargo.lock
+scripts/tmp
+*.pyc
+*.txt
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..f1132c9
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,17 @@
+language: rust
+rust:
+  - 1.36.0
+  - stable
+  - nightly
+sudo: false
+script:
+  - cargo build --verbose
+  - cargo test --verbose
+  - cargo test --verbose --no-default-features
+  - cargo package
+  - cd target/package/unicode-normalization-*
+  - cargo test --verbose
+  - cargo test --verbose --no-default-features
+notifications:
+  email:
+    on_success: never
diff --git a/COPYRIGHT b/COPYRIGHT
new file mode 100644
index 0000000..b286ec1
--- /dev/null
+++ b/COPYRIGHT
@@ -0,0 +1,7 @@
+Licensed under the Apache License, Version 2.0
+<LICENSE-APACHE or
+http://www.apache.org/licenses/LICENSE-2.0> or the MIT
+license <LICENSE-MIT or http://opensource.org/licenses/MIT>,
+at your option. All files in the project carrying such
+notice may not be copied, modified, or distributed except
+according to those terms.
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..628482e
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,32 @@
+# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
+#
+# When uploading crates to the registry Cargo will automatically
+# "normalize" Cargo.toml files for maximal compatibility
+# with all versions of Cargo and also rewrite `path` dependencies
+# to registry (e.g., crates.io) dependencies
+#
+# If you believe there's an error in this file please file an
+# issue against the rust-lang/cargo repository. If you're
+# editing this file be aware that the upstream Cargo.toml
+# will likely look very different (and much more reasonable)
+
+[package]
+edition = "2018"
+name = "unicode-normalization"
+version = "0.1.16"
+authors = ["kwantam <kwantam@gmail.com>", "Manish Goregaokar <manishsmail@gmail.com>"]
+exclude = ["target/*", "Cargo.lock", "scripts/tmp", "*.txt", "tests/*"]
+description = "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n"
+homepage = "https://github.com/unicode-rs/unicode-normalization"
+documentation = "https://docs.rs/unicode-normalization/"
+readme = "README.md"
+keywords = ["text", "unicode", "normalization", "decomposition", "recomposition"]
+license = "MIT/Apache-2.0"
+repository = "https://github.com/unicode-rs/unicode-normalization"
+[dependencies.tinyvec]
+version = "1"
+features = ["alloc"]
+
+[features]
+default = ["std"]
+std = []
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
new file mode 100644
index 0000000..8cb78e2
--- /dev/null
+++ b/Cargo.toml.orig
@@ -0,0 +1,32 @@
+[package]
+
+name = "unicode-normalization"
+version = "0.1.16"
+authors = ["kwantam <kwantam@gmail.com>", "Manish Goregaokar <manishsmail@gmail.com>"]
+
+homepage = "https://github.com/unicode-rs/unicode-normalization"
+repository = "https://github.com/unicode-rs/unicode-normalization"
+documentation = "https://docs.rs/unicode-normalization/"
+
+license = "MIT/Apache-2.0"
+keywords = ["text", "unicode", "normalization", "decomposition", "recomposition"]
+readme = "README.md"
+description = """
+This crate provides functions for normalization of
+Unicode strings, including Canonical and Compatible
+Decomposition and Recomposition, as described in
+Unicode Standard Annex #15.
+"""
+
+edition = "2018"
+
+exclude = [ "target/*", "Cargo.lock", "scripts/tmp", "*.txt", "tests/*" ]
+
+[dependencies.tinyvec]
+version = "1"
+features = ["alloc"]
+
+
+[features]
+default = ["std"]
+std = []
diff --git a/LICENSE b/LICENSE
new file mode 120000
index 0000000..6b579aa
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1 @@
+LICENSE-APACHE
\ No newline at end of file
diff --git a/LICENSE-APACHE b/LICENSE-APACHE
new file mode 100644
index 0000000..16fe87b
--- /dev/null
+++ b/LICENSE-APACHE
@@ -0,0 +1,201 @@
+                              Apache License
+                        Version 2.0, January 2004
+                     http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+   "License" shall mean the terms and conditions for use, reproduction,
+   and distribution as defined by Sections 1 through 9 of this document.
+
+   "Licensor" shall mean the copyright owner or entity authorized by
+   the copyright owner that is granting the License.
+
+   "Legal Entity" shall mean the union of the acting entity and all
+   other entities that control, are controlled by, or are under common
+   control with that entity. For the purposes of this definition,
+   "control" means (i) the power, direct or indirect, to cause the
+   direction or management of such entity, whether by contract or
+   otherwise, or (ii) ownership of fifty percent (50%) or more of the
+   outstanding shares, or (iii) beneficial ownership of such entity.
+
+   "You" (or "Your") shall mean an individual or Legal Entity
+   exercising permissions granted by this License.
+
+   "Source" form shall mean the preferred form for making modifications,
+   including but not limited to software source code, documentation
+   source, and configuration files.
+
+   "Object" form shall mean any form resulting from mechanical
+   transformation or translation of a Source form, including but
+   not limited to compiled object code, generated documentation,
+   and conversions to other media types.
+
+   "Work" shall mean the work of authorship, whether in Source or
+   Object form, made available under the License, as indicated by a
+   copyright notice that is included in or attached to the work
+   (an example is provided in the Appendix below).
+
+   "Derivative Works" shall mean any work, whether in Source or Object
+   form, that is based on (or derived from) the Work and for which the
+   editorial revisions, annotations, elaborations, or other modifications
+   represent, as a whole, an original work of authorship. For the purposes
+   of this License, Derivative Works shall not include works that remain
+   separable from, or merely link (or bind by name) to the interfaces of,
+   the Work and Derivative Works thereof.
+
+   "Contribution" shall mean any work of authorship, including
+   the original version of the Work and any modifications or additions
+   to that Work or Derivative Works thereof, that is intentionally
+   submitted to Licensor for inclusion in the Work by the copyright owner
+   or by an individual or Legal Entity authorized to submit on behalf of
+   the copyright owner. For the purposes of this definition, "submitted"
+   means any form of electronic, verbal, or written communication sent
+   to the Licensor or its representatives, including but not limited to
+   communication on electronic mailing lists, source code control systems,
+   and issue tracking systems that are managed by, or on behalf of, the
+   Licensor for the purpose of discussing and improving the Work, but
+   excluding communication that is conspicuously marked or otherwise
+   designated in writing by the copyright owner as "Not a Contribution."
+
+   "Contributor" shall mean Licensor and any individual or Legal Entity
+   on behalf of whom a Contribution has been received by Licensor and
+   subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+   this License, each Contributor hereby grants to You a perpetual,
+   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   copyright license to reproduce, prepare Derivative Works of,
+   publicly display, publicly perform, sublicense, and distribute the
+   Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+   this License, each Contributor hereby grants to You a perpetual,
+   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   (except as stated in this section) patent license to make, have made,
+   use, offer to sell, sell, import, and otherwise transfer the Work,
+   where such license applies only to those patent claims licensable
+   by such Contributor that are necessarily infringed by their
+   Contribution(s) alone or by combination of their Contribution(s)
+   with the Work to which such Contribution(s) was submitted. If You
+   institute patent litigation against any entity (including a
+   cross-claim or counterclaim in a lawsuit) alleging that the Work
+   or a Contribution incorporated within the Work constitutes direct
+   or contributory patent infringement, then any patent licenses
+   granted to You under this License for that Work shall terminate
+   as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+   Work or Derivative Works thereof in any medium, with or without
+   modifications, and in Source or Object form, provided that You
+   meet the following conditions:
+
+   (a) You must give any other recipients of the Work or
+       Derivative Works a copy of this License; and
+
+   (b) You must cause any modified files to carry prominent notices
+       stating that You changed the files; and
+
+   (c) You must retain, in the Source form of any Derivative Works
+       that You distribute, all copyright, patent, trademark, and
+       attribution notices from the Source form of the Work,
+       excluding those notices that do not pertain to any part of
+       the Derivative Works; and
+
+   (d) If the Work includes a "NOTICE" text file as part of its
+       distribution, then any Derivative Works that You distribute must
+       include a readable copy of the attribution notices contained
+       within such NOTICE file, excluding those notices that do not
+       pertain to any part of the Derivative Works, in at least one
+       of the following places: within a NOTICE text file distributed
+       as part of the Derivative Works; within the Source form or
+       documentation, if provided along with the Derivative Works; or,
+       within a display generated by the Derivative Works, if and
+       wherever such third-party notices normally appear. The contents
+       of the NOTICE file are for informational purposes only and
+       do not modify the License. You may add Your own attribution
+       notices within Derivative Works that You distribute, alongside
+       or as an addendum to the NOTICE text from the Work, provided
+       that such additional attribution notices cannot be construed
+       as modifying the License.
+
+   You may add Your own copyright statement to Your modifications and
+   may provide additional or different license terms and conditions
+   for use, reproduction, or distribution of Your modifications, or
+   for any such Derivative Works as a whole, provided Your use,
+   reproduction, and distribution of the Work otherwise complies with
+   the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+   any Contribution intentionally submitted for inclusion in the Work
+   by You to the Licensor shall be under the terms and conditions of
+   this License, without any additional terms or conditions.
+   Notwithstanding the above, nothing herein shall supersede or modify
+   the terms of any separate license agreement you may have executed
+   with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+   names, trademarks, service marks, or product names of the Licensor,
+   except as required for reasonable and customary use in describing the
+   origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+   agreed to in writing, Licensor provides the Work (and each
+   Contributor provides its Contributions) on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied, including, without limitation, any warranties or conditions
+   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+   PARTICULAR PURPOSE. You are solely responsible for determining the
+   appropriateness of using or redistributing the Work and assume any
+   risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+   whether in tort (including negligence), contract, or otherwise,
+   unless required by applicable law (such as deliberate and grossly
+   negligent acts) or agreed to in writing, shall any Contributor be
+   liable to You for damages, including any direct, indirect, special,
+   incidental, or consequential damages of any character arising as a
+   result of this License or out of the use or inability to use the
+   Work (including but not limited to damages for loss of goodwill,
+   work stoppage, computer failure or malfunction, or any and all
+   other commercial damages or losses), even if such Contributor
+   has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+   the Work or Derivative Works thereof, You may choose to offer,
+   and charge a fee for, acceptance of support, warranty, indemnity,
+   or other liability obligations and/or rights consistent with this
+   License. However, in accepting such obligations, You may act only
+   on Your own behalf and on Your sole responsibility, not on behalf
+   of any other Contributor, and only if You agree to indemnify,
+   defend, and hold each Contributor harmless for any liability
+   incurred by, or claims asserted against, such Contributor by reason
+   of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+   To apply the Apache License to your work, attach the following
+   boilerplate notice, with the fields enclosed by brackets "[]"
+   replaced with your own identifying information. (Don't include
+   the brackets!)  The text should be enclosed in the appropriate
+   comment syntax for the file format. We also recommend that a
+   file or class name and description of purpose be included on the
+   same "printed page" as the copyright notice for easier
+   identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/LICENSE-MIT b/LICENSE-MIT
new file mode 100644
index 0000000..e69282e
--- /dev/null
+++ b/LICENSE-MIT
@@ -0,0 +1,25 @@
+Copyright (c) 2015 The Rust Project Developers
+
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..ad6cf4c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,19 @@
+name: "unicode-normalization"
+description: "This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15."
+third_party {
+  url {
+    type: HOMEPAGE
+    value: "https://crates.io/crates/unicode-normalization"
+  }
+  url {
+    type: ARCHIVE
+    value: "https://static.crates.io/crates/unicode-normalization/unicode-normalization-0.1.16.crate"
+  }
+  version: "0.1.16"
+  license_type: NOTICE
+  last_upgrade_date {
+    year: 2020
+    month: 12
+    day: 15
+  }
+}
diff --git a/MODULE_LICENSE_APACHE2 b/MODULE_LICENSE_APACHE2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_APACHE2
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..46fc303
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+include platform/prebuilts/rust:/OWNERS
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c0e2a71
--- /dev/null
+++ b/README.md
@@ -0,0 +1,39 @@
+# unicode-normalization
+
+[![Build Status](https://travis-ci.org/unicode-rs/unicode-normalization.svg)](https://travis-ci.org/unicode-rs/unicode-normalization)
+[![Docs](https://docs.rs/unicode-normalization/badge.svg)](https://docs.rs/unicode-normalization/)
+
+Unicode character composition and decomposition utilities
+as described in
+[Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/).
+
+This crate requires Rust 1.36+.
+
+```rust
+extern crate unicode_normalization;
+
+use unicode_normalization::char::compose;
+use unicode_normalization::UnicodeNormalization;
+
+fn main() {
+    assert_eq!(compose('A','\u{30a}'), Some('Å'));
+
+    let s = "ÅΩ";
+    let c = s.nfc().collect::<String>();
+    assert_eq!(c, "ÅΩ");
+}
+```
+
+## crates.io
+
+You can use this package in your project by adding the following
+to your `Cargo.toml`:
+
+```toml
+[dependencies]
+unicode-normalization = "0.1.16"
+```
+
+## `no_std` + `alloc` support
+
+This crate is completely `no_std` + `alloc` compatible. This can be enabled by disabling the `std` feature, i.e. specifying `default-features = false` for this crate on your `Cargo.toml`.
diff --git a/benches/bench.rs b/benches/bench.rs
new file mode 100644
index 0000000..a977156
--- /dev/null
+++ b/benches/bench.rs
@@ -0,0 +1,127 @@
+#![feature(test)]
+
+extern crate test;
+extern crate unicode_normalization;
+
+use std::fs;
+use test::Bencher;
+use unicode_normalization::UnicodeNormalization;
+
+const ASCII: &'static str = "all types of normalized";
+const NFC: &'static str = "Introducci\u{00f3}n a Unicode.pdf";
+const NFD: &'static str = "Introduccio\u{0301}n a Unicode.pdf";
+
+#[bench]
+fn bench_is_nfc_ascii(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfc(ASCII));
+}
+
+#[bench]
+fn bench_is_nfc_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfc(NFC));
+}
+
+#[bench]
+fn bench_is_nfc_not_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfc(NFD));
+}
+
+#[bench]
+fn bench_is_nfd_ascii(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfd(ASCII));
+}
+
+#[bench]
+fn bench_is_nfd_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfd(NFD));
+}
+
+#[bench]
+fn bench_is_nfd_not_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfd(NFC));
+}
+
+#[bench]
+fn bench_is_nfc_stream_safe_ascii(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfc_stream_safe(ASCII));
+}
+
+#[bench]
+fn bench_is_nfc_stream_safe_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfc_stream_safe(NFC));
+}
+
+#[bench]
+fn bench_is_nfc_stream_safe_not_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfc_stream_safe(NFD));
+}
+
+#[bench]
+fn bench_is_nfd_stream_safe_ascii(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfd_stream_safe(ASCII));
+}
+
+#[bench]
+fn bench_is_nfd_stream_safe_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfd_stream_safe(NFD));
+}
+
+#[bench]
+fn bench_is_nfd_stream_safe_not_normalized(b: &mut Bencher) {
+    b.iter(|| unicode_normalization::is_nfd_stream_safe(NFC));
+}
+
+#[bench]
+fn bench_nfc_ascii(b: &mut Bencher) {
+    b.iter(|| ASCII.nfc().count());
+}
+
+#[bench]
+fn bench_nfd_ascii(b: &mut Bencher) {
+    b.iter(|| ASCII.nfd().count());
+}
+
+#[bench]
+fn bench_nfc_long(b: &mut Bencher) {
+    let long = fs::read_to_string("benches/long.txt").unwrap();
+    b.iter(|| long.nfc().count());
+}
+
+#[bench]
+fn bench_nfd_long(b: &mut Bencher) {
+    let long = fs::read_to_string("benches/long.txt").unwrap();
+    b.iter(|| long.nfd().count());
+}
+
+#[bench]
+fn bench_nfkc_ascii(b: &mut Bencher) {
+    b.iter(|| ASCII.nfkc().count());
+}
+
+#[bench]
+fn bench_nfkd_ascii(b: &mut Bencher) {
+    b.iter(|| ASCII.nfkd().count());
+}
+
+#[bench]
+fn bench_nfkc_long(b: &mut Bencher) {
+    let long = fs::read_to_string("benches/long.txt").unwrap();
+    b.iter(|| long.nfkc().count());
+}
+
+#[bench]
+fn bench_nfkd_long(b: &mut Bencher) {
+    let long = fs::read_to_string("benches/long.txt").unwrap();
+    b.iter(|| long.nfkd().count());
+}
+
+#[bench]
+fn bench_streamsafe_ascii(b: &mut Bencher) {
+    b.iter(|| ASCII.stream_safe().count());
+}
+
+#[bench]
+fn bench_streamsafe_adversarial(b: &mut Bencher) {
+    let s = "bo\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}\u{032e}oom";
+    b.iter(|| s.stream_safe().count());
+}
diff --git a/scripts/unicode.py b/scripts/unicode.py
new file mode 100644
index 0000000..7786dc1
--- /dev/null
+++ b/scripts/unicode.py
@@ -0,0 +1,516 @@
+#!/usr/bin/env python
+#
+# Copyright 2011-2018 The Rust Project Developers. See the COPYRIGHT
+# file at the top-level directory of this distribution and at
+# http://rust-lang.org/COPYRIGHT.
+#
+# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+# option. This file may not be copied, modified, or distributed
+# except according to those terms.
+
+# This script uses the following Unicode tables:
+# - DerivedNormalizationProps.txt
+# - NormalizationTest.txt
+# - UnicodeData.txt
+#
+# Since this should not require frequent updates, we just store this
+# out-of-line and check the unicode.rs file into git.
+import collections
+import urllib.request
+
+UNICODE_VERSION = "13.0.0"
+UCD_URL = "https://www.unicode.org/Public/%s/ucd/" % UNICODE_VERSION
+
+PREAMBLE = """// Copyright 2012-2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly
+
+#![allow(missing_docs)]
+"""
+
+NormalizationTest = collections.namedtuple(
+    "NormalizationTest",
+    ["source", "nfc", "nfd", "nfkc", "nfkd"],
+)
+
+# Mapping taken from Table 12 from:
+# http://www.unicode.org/reports/tr44/#General_Category_Values
+expanded_categories = {
+    'Lu': ['LC', 'L'], 'Ll': ['LC', 'L'], 'Lt': ['LC', 'L'],
+    'Lm': ['L'], 'Lo': ['L'],
+    'Mn': ['M'], 'Mc': ['M'], 'Me': ['M'],
+    'Nd': ['N'], 'Nl': ['N'], 'No': ['No'],
+    'Pc': ['P'], 'Pd': ['P'], 'Ps': ['P'], 'Pe': ['P'],
+    'Pi': ['P'], 'Pf': ['P'], 'Po': ['P'],
+    'Sm': ['S'], 'Sc': ['S'], 'Sk': ['S'], 'So': ['S'],
+    'Zs': ['Z'], 'Zl': ['Z'], 'Zp': ['Z'],
+    'Cc': ['C'], 'Cf': ['C'], 'Cs': ['C'], 'Co': ['C'], 'Cn': ['C'],
+}
+
+class UnicodeData(object):
+    def __init__(self):
+        self._load_unicode_data()
+        self.norm_props = self._load_norm_props()
+        self.norm_tests = self._load_norm_tests()
+
+        self.canon_comp = self._compute_canonical_comp()
+        self.canon_fully_decomp, self.compat_fully_decomp = self._compute_fully_decomposed()
+
+        def stats(name, table):
+            count = sum(len(v) for v in table.values())
+            print("%s: %d chars => %d decomposed chars" % (name, len(table), count))
+
+        print("Decomposition table stats:")
+        stats("Canonical decomp", self.canon_decomp)
+        stats("Compatible decomp", self.compat_decomp)
+        stats("Canonical fully decomp", self.canon_fully_decomp)
+        stats("Compatible fully decomp", self.compat_fully_decomp)
+
+        self.ss_leading, self.ss_trailing = self._compute_stream_safe_tables()
+
+    def _fetch(self, filename):
+        resp = urllib.request.urlopen(UCD_URL + filename)
+        return resp.read().decode('utf-8')
+
+    def _load_unicode_data(self):
+        self.combining_classes = {}
+        self.compat_decomp = {}
+        self.canon_decomp = {}
+        self.general_category_mark = []
+
+        for line in self._fetch("UnicodeData.txt").splitlines():
+            # See ftp://ftp.unicode.org/Public/3.0-Update/UnicodeData-3.0.0.html
+            pieces = line.split(';')
+            assert len(pieces) == 15
+            char, category, cc, decomp = pieces[0], pieces[2], pieces[3], pieces[5]
+            char_int = int(char, 16)
+
+            if cc != '0':
+                self.combining_classes[char_int] = cc
+
+            if decomp.startswith('<'):
+                self.compat_decomp[char_int] = [int(c, 16) for c in decomp.split()[1:]]
+            elif decomp != '':
+                self.canon_decomp[char_int] = [int(c, 16) for c in decomp.split()]
+
+            if category == 'M' or 'M' in expanded_categories.get(category, []):
+                self.general_category_mark.append(char_int)
+
+    def _load_norm_props(self):
+        props = collections.defaultdict(list)
+
+        for line in self._fetch("DerivedNormalizationProps.txt").splitlines():
+            (prop_data, _, _) = line.partition("#")
+            prop_pieces = prop_data.split(";")
+
+            if len(prop_pieces) < 2:
+                continue
+
+            assert len(prop_pieces) <= 3
+            (low, _, high) = prop_pieces[0].strip().partition("..")
+
+            prop = prop_pieces[1].strip()
+
+            data = None
+            if len(prop_pieces) == 3:
+                data = prop_pieces[2].strip()
+
+            props[prop].append((low, high, data))
+
+        return props
+
+    def _load_norm_tests(self):
+        tests = []
+        for line in self._fetch("NormalizationTest.txt").splitlines():
+            (test_data, _, _) = line.partition("#")
+            test_pieces = test_data.split(";")
+
+            if len(test_pieces) < 5:
+                continue
+
+            source, nfc, nfd, nfkc, nfkd = [[c.strip() for c in p.split()] for p in test_pieces[:5]]
+            tests.append(NormalizationTest(source, nfc, nfd, nfkc, nfkd))
+
+        return tests
+
+    def _compute_canonical_comp(self):
+        canon_comp = {}
+        comp_exclusions = [
+            (int(low, 16), int(high or low, 16))
+            for low, high, _ in self.norm_props["Full_Composition_Exclusion"]
+        ]
+        for char_int, decomp in self.canon_decomp.items():
+            if any(lo <= char_int <= hi for lo, hi in comp_exclusions):
+                continue
+
+            assert len(decomp) == 2
+            assert (decomp[0], decomp[1]) not in canon_comp
+            canon_comp[(decomp[0], decomp[1])] = char_int
+
+        return canon_comp
+
+    def _compute_fully_decomposed(self):
+        """
+        Even though the decomposition algorithm is recursive, it is possible
+        to precompute the recursion at table generation time with modest
+        increase to the table size.  Then, for these precomputed tables, we
+        note that 1) compatible decomposition is a subset of canonical
+        decomposition and 2) they mostly agree on their intersection.
+        Therefore, we don't store entries in the compatible table for
+        characters that decompose the same way under canonical decomposition.
+
+            Decomposition table stats:
+            Canonical decomp: 2060 chars => 3085 decomposed chars
+            Compatible decomp: 3662 chars => 5440 decomposed chars
+            Canonical fully decomp: 2060 chars => 3404 decomposed chars
+            Compatible fully decomp: 3678 chars => 5599 decomposed chars
+
+        The upshot is that decomposition code is very simple and easy to inline
+        at mild code size cost.
+        """
+        # Constants from Unicode 9.0.0 Section 3.12 Conjoining Jamo Behavior
+        # http://www.unicode.org/versions/Unicode9.0.0/ch03.pdf#M9.32468.Heading.310.Combining.Jamo.Behavior
+        S_BASE, L_COUNT, V_COUNT, T_COUNT = 0xAC00, 19, 21, 28
+        S_COUNT = L_COUNT * V_COUNT * T_COUNT
+
+        def _decompose(char_int, compatible):
+            # 7-bit ASCII never decomposes
+            if char_int <= 0x7f:
+                yield char_int
+                return
+
+            # Assert that we're handling Hangul separately.
+            assert not (S_BASE <= char_int < S_BASE + S_COUNT)
+
+            decomp = self.canon_decomp.get(char_int)
+            if decomp is not None:
+                for decomposed_ch in decomp:
+                    for fully_decomposed_ch in _decompose(decomposed_ch, compatible):
+                        yield fully_decomposed_ch
+                return
+
+            if compatible and char_int in self.compat_decomp:
+                for decomposed_ch in self.compat_decomp[char_int]:
+                    for fully_decomposed_ch in _decompose(decomposed_ch, compatible):
+                        yield fully_decomposed_ch
+                return
+
+            yield char_int
+            return
+
+        end_codepoint = max(
+            max(self.canon_decomp.keys()),
+            max(self.compat_decomp.keys()),
+        )
+
+        canon_fully_decomp = {}
+        compat_fully_decomp = {}
+
+        for char_int in range(0, end_codepoint + 1):
+            # Always skip Hangul, since it's more efficient to represent its
+            # decomposition programmatically.
+            if S_BASE <= char_int < S_BASE + S_COUNT:
+                continue
+
+            canon = list(_decompose(char_int, False))
+            if not (len(canon) == 1 and canon[0] == char_int):
+                canon_fully_decomp[char_int] = canon
+
+            compat = list(_decompose(char_int, True))
+            if not (len(compat) == 1 and compat[0] == char_int):
+                compat_fully_decomp[char_int] = compat
+
+        # Since canon_fully_decomp is a subset of compat_fully_decomp, we don't
+        # need to store their overlap when they agree.  When they don't agree,
+        # store the decomposition in the compatibility table since we'll check
+        # that first when normalizing to NFKD.
+        assert set(canon_fully_decomp) <= set(compat_fully_decomp)
+
+        for ch in set(canon_fully_decomp) & set(compat_fully_decomp):
+            if canon_fully_decomp[ch] == compat_fully_decomp[ch]:
+                del compat_fully_decomp[ch]
+
+        return canon_fully_decomp, compat_fully_decomp
+
+    def _compute_stream_safe_tables(self):
+        """
+        To make a text stream-safe with the Stream-Safe Text Process (UAX15-D4),
+        we need to be able to know the number of contiguous non-starters *after*
+        applying compatibility decomposition to each character.
+
+        We can do this incrementally by computing the number of leading and
+        trailing non-starters for each character's compatibility decomposition
+        with the following rules:
+
+        1) If a character is not affected by compatibility decomposition, look
+           up its canonical combining class to find out if it's a non-starter.
+        2) All Hangul characters are starters, even under decomposition.
+        3) Otherwise, very few decomposing characters have a nonzero count
+           of leading or trailing non-starters, so store these characters
+           with their associated counts in a separate table.
+        """
+        leading_nonstarters = {}
+        trailing_nonstarters = {}
+
+        for c in set(self.canon_fully_decomp) | set(self.compat_fully_decomp):
+            decomposed = self.compat_fully_decomp.get(c) or self.canon_fully_decomp[c]
+
+            num_leading = 0
+            for d in decomposed:
+                if d not in self.combining_classes:
+                    break
+                num_leading += 1
+
+            num_trailing = 0
+            for d in reversed(decomposed):
+                if d not in self.combining_classes:
+                    break
+                num_trailing += 1
+
+            if num_leading > 0:
+                leading_nonstarters[c] = num_leading
+            if num_trailing > 0:
+                trailing_nonstarters[c] = num_trailing
+
+        return leading_nonstarters, trailing_nonstarters
+
+hexify = lambda c: '{:04X}'.format(c)
+
+def gen_mph_data(name, d, kv_type, kv_callback):
+    (salt, keys) = minimal_perfect_hash(d)
+    out.write("pub(crate) const %s_SALT: &[u16] = &[\n" % name.upper())
+    for s in salt:
+        out.write("    0x{:x},\n".format(s))
+    out.write("];\n")
+    out.write("pub(crate) const {}_KV: &[{}] = &[\n".format(name.upper(), kv_type))
+    for k in keys:
+        out.write("    {},\n".format(kv_callback(k)))
+    out.write("];\n\n")
+
+def gen_combining_class(combining_classes, out):
+    gen_mph_data('canonical_combining_class', combining_classes, 'u32',
+        lambda k: "0x{:X}".format(int(combining_classes[k]) | (k << 8)))
+
+def gen_composition_table(canon_comp, out):
+    table = {}
+    for (c1, c2), c3 in canon_comp.items():
+        if c1 < 0x10000 and c2 < 0x10000:
+            table[(c1 << 16) | c2] = c3
+    (salt, keys) = minimal_perfect_hash(table)
+    gen_mph_data('COMPOSITION_TABLE', table, '(u32, char)',
+        lambda k: "(0x%s, '\\u{%s}')" % (hexify(k), hexify(table[k])))
+
+    out.write("pub(crate) fn composition_table_astral(c1: char, c2: char) -> Option<char> {\n")
+    out.write("    match (c1, c2) {\n")
+    for (c1, c2), c3 in sorted(canon_comp.items()):
+        if c1 >= 0x10000 and c2 >= 0x10000:
+            out.write("        ('\\u{%s}', '\\u{%s}') => Some('\\u{%s}'),\n" % (hexify(c1), hexify(c2), hexify(c3)))
+
+    out.write("        _ => None,\n")
+    out.write("    }\n")
+    out.write("}\n")
+
+def gen_decomposition_tables(canon_decomp, compat_decomp, out):
+    tables = [(canon_decomp, 'canonical'), (compat_decomp, 'compatibility')]
+    for table, name in tables:
+        gen_mph_data(name + '_decomposed', table, "(u32, &'static [char])",
+            lambda k: "(0x{:x}, &[{}])".format(k,
+                ", ".join("'\\u{%s}'" % hexify(c) for c in table[k])))
+
+def gen_qc_match(prop_table, out):
+    out.write("    match c {\n")
+
+    for low, high, data in prop_table:
+        assert data in ('N', 'M')
+        result = "No" if data == 'N' else "Maybe"
+        if high:
+            out.write(r"        '\u{%s}'...'\u{%s}' => %s," % (low, high, result))
+        else:
+            out.write(r"        '\u{%s}' => %s," % (low, result))
+        out.write("\n")
+
+    out.write("        _ => Yes,\n")
+    out.write("    }\n")
+
+def gen_nfc_qc(prop_tables, out):
+    out.write("#[inline]\n")
+    out.write("#[allow(ellipsis_inclusive_range_patterns)]\n")
+    out.write("pub fn qc_nfc(c: char) -> IsNormalized {\n")
+    gen_qc_match(prop_tables['NFC_QC'], out)
+    out.write("}\n")
+
+def gen_nfkc_qc(prop_tables, out):
+    out.write("#[inline]\n")
+    out.write("#[allow(ellipsis_inclusive_range_patterns)]\n")
+    out.write("pub fn qc_nfkc(c: char) -> IsNormalized {\n")
+    gen_qc_match(prop_tables['NFKC_QC'], out)
+    out.write("}\n")
+
+def gen_nfd_qc(prop_tables, out):
+    out.write("#[inline]\n")
+    out.write("#[allow(ellipsis_inclusive_range_patterns)]\n")
+    out.write("pub fn qc_nfd(c: char) -> IsNormalized {\n")
+    gen_qc_match(prop_tables['NFD_QC'], out)
+    out.write("}\n")
+
+def gen_nfkd_qc(prop_tables, out):
+    out.write("#[inline]\n")
+    out.write("#[allow(ellipsis_inclusive_range_patterns)]\n")
+    out.write("pub fn qc_nfkd(c: char) -> IsNormalized {\n")
+    gen_qc_match(prop_tables['NFKD_QC'], out)
+    out.write("}\n")
+
+def gen_combining_mark(general_category_mark, out):
+    gen_mph_data('combining_mark', general_category_mark, 'u32',
+        lambda k: '0x{:04x}'.format(k))
+
+def gen_stream_safe(leading, trailing, out):
+    # This could be done as a hash but the table is very small.
+    out.write("#[inline]\n")
+    out.write("pub fn stream_safe_leading_nonstarters(c: char) -> usize {\n")
+    out.write("    match c {\n")
+
+    for char, num_leading in sorted(leading.items()):
+        out.write("        '\\u{%s}' => %d,\n" % (hexify(char), num_leading))
+
+    out.write("        _ => 0,\n")
+    out.write("    }\n")
+    out.write("}\n")
+    out.write("\n")
+
+    gen_mph_data('trailing_nonstarters', trailing, 'u32',
+        lambda k: "0x{:X}".format(int(trailing[k]) | (k << 8)))
+
+def gen_tests(tests, out):
+    out.write("""#[derive(Debug)]
+pub struct NormalizationTest {
+    pub source: &'static str,
+    pub nfc: &'static str,
+    pub nfd: &'static str,
+    pub nfkc: &'static str,
+    pub nfkd: &'static str,
+}
+
+""")
+
+    out.write("pub const NORMALIZATION_TESTS: &[NormalizationTest] = &[\n")
+    str_literal = lambda s: '"%s"' % "".join("\\u{%s}" % c for c in s)
+
+    for test in tests:
+        out.write("    NormalizationTest {\n")
+        out.write("        source: %s,\n" % str_literal(test.source))
+        out.write("        nfc: %s,\n" % str_literal(test.nfc))
+        out.write("        nfd: %s,\n" % str_literal(test.nfd))
+        out.write("        nfkc: %s,\n" % str_literal(test.nfkc))
+        out.write("        nfkd: %s,\n" % str_literal(test.nfkd))
+        out.write("    },\n")
+
+    out.write("];\n")
+
+# Guaranteed to be less than n.
+def my_hash(x, salt, n):
+    # This is hash based on the theory that multiplication is efficient
+    mask_32 = 0xffffffff
+    y = ((x + salt) * 2654435769) & mask_32
+    y ^= (x * 0x31415926) & mask_32
+    return (y * n) >> 32
+
+# Compute minimal perfect hash function, d can be either a dict or list of keys.
+def minimal_perfect_hash(d):
+    n = len(d)
+    buckets = dict((h, []) for h in range(n))
+    for key in d:
+        h = my_hash(key, 0, n)
+        buckets[h].append(key)
+    bsorted = [(len(buckets[h]), h) for h in range(n)]
+    bsorted.sort(reverse = True)
+    claimed = [False] * n
+    salts = [0] * n
+    keys = [0] * n
+    for (bucket_size, h) in bsorted:
+        # Note: the traditional perfect hashing approach would also special-case
+        # bucket_size == 1 here and assign any empty slot, rather than iterating
+        # until rehash finds an empty slot. But we're not doing that so we can
+        # avoid the branch.
+        if bucket_size == 0:
+            break
+        else:
+            for salt in range(1, 32768):
+                rehashes = [my_hash(key, salt, n) for key in buckets[h]]
+                # Make sure there are no rehash collisions within this bucket.
+                if all(not claimed[hash] for hash in rehashes):
+                    if len(set(rehashes)) < bucket_size:
+                        continue
+                    salts[h] = salt
+                    for key in buckets[h]:
+                        rehash = my_hash(key, salt, n)
+                        claimed[rehash] = True
+                        keys[rehash] = key
+                    break
+            if salts[h] == 0:
+                print("minimal perfect hashing failed")
+                # Note: if this happens (because of unfortunate data), then there are
+                # a few things that could be done. First, the hash function could be
+                # tweaked. Second, the bucket order could be scrambled (especially the
+                # singletons). Right now, the buckets are sorted, which has the advantage
+                # of being deterministic.
+                #
+                # As a more extreme approach, the singleton bucket optimization could be
+                # applied (give the direct address for singleton buckets, rather than
+                # relying on a rehash). That is definitely the more standard approach in
+                # the minimal perfect hashing literature, but in testing the branch was a
+                # significant slowdown.
+                exit(1)
+    return (salts, keys)
+
+if __name__ == '__main__':
+    data = UnicodeData()
+    with open("tables.rs", "w", newline = "\n") as out:
+        out.write(PREAMBLE)
+        out.write("use crate::quick_check::IsNormalized;\n")
+        out.write("use crate::quick_check::IsNormalized::*;\n")
+        out.write("\n")
+
+        version = "(%s, %s, %s)" % tuple(UNICODE_VERSION.split("."))
+        out.write("#[allow(unused)]\n")
+        out.write("pub const UNICODE_VERSION: (u8, u8, u8) = %s;\n\n" % version)
+
+        gen_combining_class(data.combining_classes, out)
+        out.write("\n")
+
+        gen_composition_table(data.canon_comp, out)
+        out.write("\n")
+
+        gen_decomposition_tables(data.canon_fully_decomp, data.compat_fully_decomp, out)
+
+        gen_combining_mark(data.general_category_mark, out)
+        out.write("\n")
+
+        gen_nfc_qc(data.norm_props, out)
+        out.write("\n")
+
+        gen_nfkc_qc(data.norm_props, out)
+        out.write("\n")
+
+        gen_nfd_qc(data.norm_props, out)
+        out.write("\n")
+
+        gen_nfkd_qc(data.norm_props, out)
+        out.write("\n")
+
+        gen_stream_safe(data.ss_leading, data.ss_trailing, out)
+        out.write("\n")
+
+    with open("normalization_tests.rs", "w", newline = "\n") as out:
+        out.write(PREAMBLE)
+        gen_tests(data.norm_tests, out)
diff --git a/src/__test_api.rs b/src/__test_api.rs
new file mode 100644
index 0000000..f1a3f92
--- /dev/null
+++ b/src/__test_api.rs
@@ -0,0 +1,18 @@
+// This crate comprises hacks and glue required to test private functions from tests/
+//
+// Keep this as slim as possible.
+//
+// If you're caught using this outside this crates tests/, you get to clean up the mess.
+
+#[cfg(not(feature = "std"))]
+use crate::no_std_prelude::*;
+
+use crate::stream_safe::StreamSafe;
+
+pub fn stream_safe(s: &str) -> String {
+    StreamSafe::new(s.chars()).collect()
+}
+
+pub mod quick_check {
+    pub use crate::quick_check::*;
+}
diff --git a/src/decompose.rs b/src/decompose.rs
new file mode 100644
index 0000000..23cdb1a
--- /dev/null
+++ b/src/decompose.rs
@@ -0,0 +1,161 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+use core::fmt::{self, Write};
+use core::iter::Fuse;
+use core::ops::Range;
+use tinyvec::TinyVec;
+
+#[derive(Clone)]
+enum DecompositionType {
+    Canonical,
+    Compatible,
+}
+
+/// External iterator for a string decomposition's characters.
+#[derive(Clone)]
+pub struct Decompositions<I> {
+    kind: DecompositionType,
+    iter: Fuse<I>,
+
+    // This buffer stores pairs of (canonical combining class, character),
+    // pushed onto the end in text order.
+    //
+    // It's divided into up to three sections:
+    // 1) A prefix that is free space;
+    // 2) "Ready" characters which are sorted and ready to emit on demand;
+    // 3) A "pending" block which stills needs more characters for us to be able
+    //    to sort in canonical order and is not safe to emit.
+    buffer: TinyVec<[(u8, char); 4]>,
+    ready: Range<usize>,
+}
+
+#[inline]
+pub fn new_canonical<I: Iterator<Item = char>>(iter: I) -> Decompositions<I> {
+    Decompositions {
+        kind: self::DecompositionType::Canonical,
+        iter: iter.fuse(),
+        buffer: TinyVec::new(),
+        ready: 0..0,
+    }
+}
+
+#[inline]
+pub fn new_compatible<I: Iterator<Item = char>>(iter: I) -> Decompositions<I> {
+    Decompositions {
+        kind: self::DecompositionType::Compatible,
+        iter: iter.fuse(),
+        buffer: TinyVec::new(),
+        ready: 0..0,
+    }
+}
+
+impl<I> Decompositions<I> {
+    #[inline]
+    fn push_back(&mut self, ch: char) {
+        let class = super::char::canonical_combining_class(ch);
+
+        if class == 0 {
+            self.sort_pending();
+            self.buffer.push((class, ch));
+            self.ready.end = self.buffer.len();
+        } else {
+            self.buffer.push((class, ch));
+        }
+    }
+
+    #[inline]
+    fn sort_pending(&mut self) {
+        // NB: `sort_by_key` is stable, so it will preserve the original text's
+        // order within a combining class.
+        self.buffer[self.ready.end..].sort_by_key(|k| k.0);
+    }
+
+    #[inline]
+    fn reset_buffer(&mut self) {
+        // Equivalent to `self.buffer.drain(0..self.ready.end)`
+        // but faster than drain() if the buffer is a SmallVec or TinyVec
+        let pending = self.buffer.len() - self.ready.end;
+        for i in 0..pending {
+            self.buffer[i] = self.buffer[i + self.ready.end];
+        }
+        self.buffer.truncate(pending);
+        self.ready = 0..0;
+    }
+
+    #[inline]
+    fn increment_next_ready(&mut self) {
+        let next = self.ready.start + 1;
+        if next == self.ready.end {
+            self.reset_buffer();
+        } else {
+            self.ready.start = next;
+        }
+    }
+}
+
+impl<I: Iterator<Item = char>> Iterator for Decompositions<I> {
+    type Item = char;
+
+    #[inline]
+    fn next(&mut self) -> Option<char> {
+        while self.ready.end == 0 {
+            match (self.iter.next(), &self.kind) {
+                (Some(ch), &DecompositionType::Canonical) => {
+                    super::char::decompose_canonical(ch, |d| self.push_back(d));
+                }
+                (Some(ch), &DecompositionType::Compatible) => {
+                    super::char::decompose_compatible(ch, |d| self.push_back(d));
+                }
+                (None, _) => {
+                    if self.buffer.is_empty() {
+                        return None;
+                    } else {
+                        self.sort_pending();
+                        self.ready.end = self.buffer.len();
+
+                        // This implementation means that we can call `next`
+                        // on an exhausted iterator; the last outer `next` call
+                        // will result in an inner `next` call. To make this
+                        // safe, we use `fuse`.
+                        break;
+                    }
+                }
+            }
+        }
+
+        // We can assume here that, if `self.ready.end` is greater than zero,
+        // it's also greater than `self.ready.start`. That's because we only
+        // increment `self.ready.start` inside `increment_next_ready`, and
+        // whenever it reaches equality with `self.ready.end`, we reset both
+        // to zero, maintaining the invariant that:
+        //      self.ready.start < self.ready.end || self.ready.end == self.ready.start == 0
+        //
+        // This less-than-obviously-safe implementation is chosen for performance,
+        // minimizing the number & complexity of branches in `next` in the common
+        // case of buffering then unbuffering a single character with each call.
+        let (_, ch) = self.buffer[self.ready.start];
+        self.increment_next_ready();
+        Some(ch)
+    }
+
+    fn size_hint(&self) -> (usize, Option<usize>) {
+        let (lower, _) = self.iter.size_hint();
+        (lower, None)
+    }
+}
+
+impl<I: Iterator<Item = char> + Clone> fmt::Display for Decompositions<I> {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        for c in self.clone() {
+            f.write_char(c)?;
+        }
+        Ok(())
+    }
+}
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..6749adc
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,168 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Unicode character composition and decomposition utilities
+//! as described in
+//! [Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/).
+//!
+//! ```rust
+//! extern crate unicode_normalization;
+//!
+//! use unicode_normalization::char::compose;
+//! use unicode_normalization::UnicodeNormalization;
+//!
+//! fn main() {
+//!     assert_eq!(compose('A','\u{30a}'), Some('Å'));
+//!
+//!     let s = "ÅΩ";
+//!     let c = s.nfc().collect::<String>();
+//!     assert_eq!(c, "ÅΩ");
+//! }
+//! ```
+//!
+//! # crates.io
+//!
+//! You can use this package in your project by adding the following
+//! to your `Cargo.toml`:
+//!
+//! ```toml
+//! [dependencies]
+//! unicode-normalization = "0.1.8"
+//! ```
+
+#![deny(missing_docs, unsafe_code)]
+#![doc(
+    html_logo_url = "https://unicode-rs.github.io/unicode-rs_sm.png",
+    html_favicon_url = "https://unicode-rs.github.io/unicode-rs_sm.png"
+)]
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(not(feature = "std"))]
+extern crate alloc;
+
+#[cfg(feature = "std")]
+extern crate core;
+
+extern crate tinyvec;
+
+pub use crate::decompose::Decompositions;
+pub use crate::quick_check::{
+    is_nfc, is_nfc_quick, is_nfc_stream_safe, is_nfc_stream_safe_quick, is_nfd, is_nfd_quick,
+    is_nfd_stream_safe, is_nfd_stream_safe_quick, is_nfkc, is_nfkc_quick, is_nfkd, is_nfkd_quick,
+    IsNormalized,
+};
+pub use crate::recompose::Recompositions;
+pub use crate::stream_safe::StreamSafe;
+pub use crate::tables::UNICODE_VERSION;
+use core::str::Chars;
+
+mod no_std_prelude;
+
+mod decompose;
+mod lookups;
+mod normalize;
+mod perfect_hash;
+mod quick_check;
+mod recompose;
+mod stream_safe;
+
+#[rustfmt::skip]
+mod tables;
+
+#[doc(hidden)]
+pub mod __test_api;
+#[cfg(test)]
+mod test;
+
+/// Methods for composing and decomposing characters.
+pub mod char {
+    pub use crate::normalize::{compose, decompose_canonical, decompose_compatible};
+
+    pub use crate::lookups::{canonical_combining_class, is_combining_mark};
+}
+
+/// Methods for iterating over strings while applying Unicode normalizations
+/// as described in
+/// [Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/).
+pub trait UnicodeNormalization<I: Iterator<Item = char>> {
+    /// Returns an iterator over the string in Unicode Normalization Form D
+    /// (canonical decomposition).
+    fn nfd(self) -> Decompositions<I>;
+
+    /// Returns an iterator over the string in Unicode Normalization Form KD
+    /// (compatibility decomposition).
+    fn nfkd(self) -> Decompositions<I>;
+
+    /// An Iterator over the string in Unicode Normalization Form C
+    /// (canonical decomposition followed by canonical composition).
+    fn nfc(self) -> Recompositions<I>;
+
+    /// An Iterator over the string in Unicode Normalization Form KC
+    /// (compatibility decomposition followed by canonical composition).
+    fn nfkc(self) -> Recompositions<I>;
+
+    /// An Iterator over the string with Conjoining Grapheme Joiner characters
+    /// inserted according to the Stream-Safe Text Process (UAX15-D4)
+    fn stream_safe(self) -> StreamSafe<I>;
+}
+
+impl<'a> UnicodeNormalization<Chars<'a>> for &'a str {
+    #[inline]
+    fn nfd(self) -> Decompositions<Chars<'a>> {
+        decompose::new_canonical(self.chars())
+    }
+
+    #[inline]
+    fn nfkd(self) -> Decompositions<Chars<'a>> {
+        decompose::new_compatible(self.chars())
+    }
+
+    #[inline]
+    fn nfc(self) -> Recompositions<Chars<'a>> {
+        recompose::new_canonical(self.chars())
+    }
+
+    #[inline]
+    fn nfkc(self) -> Recompositions<Chars<'a>> {
+        recompose::new_compatible(self.chars())
+    }
+
+    #[inline]
+    fn stream_safe(self) -> StreamSafe<Chars<'a>> {
+        StreamSafe::new(self.chars())
+    }
+}
+
+impl<I: Iterator<Item = char>> UnicodeNormalization<I> for I {
+    #[inline]
+    fn nfd(self) -> Decompositions<I> {
+        decompose::new_canonical(self)
+    }
+
+    #[inline]
+    fn nfkd(self) -> Decompositions<I> {
+        decompose::new_compatible(self)
+    }
+
+    #[inline]
+    fn nfc(self) -> Recompositions<I> {
+        recompose::new_canonical(self)
+    }
+
+    #[inline]
+    fn nfkc(self) -> Recompositions<I> {
+        recompose::new_compatible(self)
+    }
+
+    #[inline]
+    fn stream_safe(self) -> StreamSafe<I> {
+        StreamSafe::new(self)
+    }
+}
diff --git a/src/lookups.rs b/src/lookups.rs
new file mode 100644
index 0000000..5bf5090
--- /dev/null
+++ b/src/lookups.rs
@@ -0,0 +1,124 @@
+// Copyright 2019 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Lookups of unicode properties using minimal perfect hashing.
+
+use crate::perfect_hash::mph_lookup;
+use crate::tables::*;
+
+/// Look up the canonical combining class for a codepoint.
+///
+/// The value returned is as defined in the Unicode Character Database.
+pub fn canonical_combining_class(c: char) -> u8 {
+    mph_lookup(
+        c.into(),
+        CANONICAL_COMBINING_CLASS_SALT,
+        CANONICAL_COMBINING_CLASS_KV,
+        u8_lookup_fk,
+        u8_lookup_fv,
+        0,
+    )
+}
+
+pub(crate) fn composition_table(c1: char, c2: char) -> Option<char> {
+    if c1 < '\u{10000}' && c2 < '\u{10000}' {
+        mph_lookup(
+            (c1 as u32) << 16 | (c2 as u32),
+            COMPOSITION_TABLE_SALT,
+            COMPOSITION_TABLE_KV,
+            pair_lookup_fk,
+            pair_lookup_fv_opt,
+            None,
+        )
+    } else {
+        composition_table_astral(c1, c2)
+    }
+}
+
+pub(crate) fn canonical_fully_decomposed(c: char) -> Option<&'static [char]> {
+    mph_lookup(
+        c.into(),
+        CANONICAL_DECOMPOSED_SALT,
+        CANONICAL_DECOMPOSED_KV,
+        pair_lookup_fk,
+        pair_lookup_fv_opt,
+        None,
+    )
+}
+
+pub(crate) fn compatibility_fully_decomposed(c: char) -> Option<&'static [char]> {
+    mph_lookup(
+        c.into(),
+        COMPATIBILITY_DECOMPOSED_SALT,
+        COMPATIBILITY_DECOMPOSED_KV,
+        pair_lookup_fk,
+        pair_lookup_fv_opt,
+        None,
+    )
+}
+
+/// Return whether the given character is a combining mark (`General_Category=Mark`)
+pub fn is_combining_mark(c: char) -> bool {
+    mph_lookup(
+        c.into(),
+        COMBINING_MARK_SALT,
+        COMBINING_MARK_KV,
+        bool_lookup_fk,
+        bool_lookup_fv,
+        false,
+    )
+}
+
+pub fn stream_safe_trailing_nonstarters(c: char) -> usize {
+    mph_lookup(
+        c.into(),
+        TRAILING_NONSTARTERS_SALT,
+        TRAILING_NONSTARTERS_KV,
+        u8_lookup_fk,
+        u8_lookup_fv,
+        0,
+    ) as usize
+}
+
+/// Extract the key in a 24 bit key and 8 bit value packed in a u32.
+#[inline]
+fn u8_lookup_fk(kv: u32) -> u32 {
+    kv >> 8
+}
+
+/// Extract the value in a 24 bit key and 8 bit value packed in a u32.
+#[inline]
+fn u8_lookup_fv(kv: u32) -> u8 {
+    (kv & 0xff) as u8
+}
+
+/// Extract the key for a boolean lookup.
+#[inline]
+fn bool_lookup_fk(kv: u32) -> u32 {
+    kv
+}
+
+/// Extract the value for a boolean lookup.
+#[inline]
+fn bool_lookup_fv(_kv: u32) -> bool {
+    true
+}
+
+/// Extract the key in a pair.
+#[inline]
+fn pair_lookup_fk<T>(kv: (u32, T)) -> u32 {
+    kv.0
+}
+
+/// Extract the value in a pair, returning an option.
+#[inline]
+fn pair_lookup_fv_opt<T>(kv: (u32, T)) -> Option<T> {
+    Some(kv.1)
+}
diff --git a/src/no_std_prelude.rs b/src/no_std_prelude.rs
new file mode 100644
index 0000000..838d122
--- /dev/null
+++ b/src/no_std_prelude.rs
@@ -0,0 +1,6 @@
+#[cfg(not(feature = "std"))]
+pub use alloc::{
+    str::Chars,
+    string::{String, ToString},
+    vec::Vec,
+};
diff --git a/src/normalize.rs b/src/normalize.rs
new file mode 100644
index 0000000..1097c42
--- /dev/null
+++ b/src/normalize.rs
@@ -0,0 +1,167 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Functions for computing canonical and compatible decompositions for Unicode characters.
+use crate::lookups::{
+    canonical_fully_decomposed, compatibility_fully_decomposed, composition_table,
+};
+
+use core::{char, ops::FnMut};
+
+/// Compute canonical Unicode decomposition for character.
+/// See [Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/)
+/// for more information.
+#[inline]
+pub fn decompose_canonical<F>(c: char, emit_char: F)
+where
+    F: FnMut(char),
+{
+    decompose(c, canonical_fully_decomposed, emit_char)
+}
+
+/// Compute canonical or compatible Unicode decomposition for character.
+/// See [Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/)
+/// for more information.
+#[inline]
+pub fn decompose_compatible<F: FnMut(char)>(c: char, emit_char: F) {
+    let decompose_char =
+        |c| compatibility_fully_decomposed(c).or_else(|| canonical_fully_decomposed(c));
+    decompose(c, decompose_char, emit_char)
+}
+
+#[inline]
+fn decompose<D, F>(c: char, decompose_char: D, mut emit_char: F)
+where
+    D: Fn(char) -> Option<&'static [char]>,
+    F: FnMut(char),
+{
+    // 7-bit ASCII never decomposes
+    if c <= '\x7f' {
+        emit_char(c);
+        return;
+    }
+
+    // Perform decomposition for Hangul
+    if is_hangul_syllable(c) {
+        decompose_hangul(c, emit_char);
+        return;
+    }
+
+    if let Some(decomposed) = decompose_char(c) {
+        for &d in decomposed {
+            emit_char(d);
+        }
+        return;
+    }
+
+    // Finally bottom out.
+    emit_char(c);
+}
+
+/// Compose two characters into a single character, if possible.
+/// See [Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/)
+/// for more information.
+pub fn compose(a: char, b: char) -> Option<char> {
+    compose_hangul(a, b).or_else(|| composition_table(a, b))
+}
+
+// Constants from Unicode 9.0.0 Section 3.12 Conjoining Jamo Behavior
+// http://www.unicode.org/versions/Unicode9.0.0/ch03.pdf#M9.32468.Heading.310.Combining.Jamo.Behavior
+const S_BASE: u32 = 0xAC00;
+const L_BASE: u32 = 0x1100;
+const V_BASE: u32 = 0x1161;
+const T_BASE: u32 = 0x11A7;
+const L_COUNT: u32 = 19;
+const V_COUNT: u32 = 21;
+const T_COUNT: u32 = 28;
+const N_COUNT: u32 = V_COUNT * T_COUNT;
+const S_COUNT: u32 = L_COUNT * N_COUNT;
+
+const S_LAST: u32 = S_BASE + S_COUNT - 1;
+const L_LAST: u32 = L_BASE + L_COUNT - 1;
+const V_LAST: u32 = V_BASE + V_COUNT - 1;
+const T_LAST: u32 = T_BASE + T_COUNT - 1;
+
+// Composition only occurs for `TPart`s in `U+11A8 ... U+11C2`,
+// i.e. `T_BASE + 1 ... T_LAST`.
+const T_FIRST: u32 = T_BASE + 1;
+
+pub(crate) fn is_hangul_syllable(c: char) -> bool {
+    (c as u32) >= S_BASE && (c as u32) < (S_BASE + S_COUNT)
+}
+
+// Decompose a precomposed Hangul syllable
+#[allow(unsafe_code)]
+#[inline(always)]
+fn decompose_hangul<F>(s: char, mut emit_char: F)
+where
+    F: FnMut(char),
+{
+    let s_index = s as u32 - S_BASE;
+    let l_index = s_index / N_COUNT;
+    unsafe {
+        emit_char(char::from_u32_unchecked(L_BASE + l_index));
+
+        let v_index = (s_index % N_COUNT) / T_COUNT;
+        emit_char(char::from_u32_unchecked(V_BASE + v_index));
+
+        let t_index = s_index % T_COUNT;
+        if t_index > 0 {
+            emit_char(char::from_u32_unchecked(T_BASE + t_index));
+        }
+    }
+}
+
+#[inline]
+pub(crate) fn hangul_decomposition_length(s: char) -> usize {
+    let si = s as u32 - S_BASE;
+    let ti = si % T_COUNT;
+    if ti > 0 {
+        3
+    } else {
+        2
+    }
+}
+
+// Compose a pair of Hangul Jamo
+#[allow(unsafe_code)]
+#[inline(always)]
+#[allow(ellipsis_inclusive_range_patterns)]
+fn compose_hangul(a: char, b: char) -> Option<char> {
+    let (a, b) = (a as u32, b as u32);
+    match (a, b) {
+        // Compose a leading consonant and a vowel together into an LV_Syllable
+        (L_BASE...L_LAST, V_BASE...V_LAST) => {
+            let l_index = a - L_BASE;
+            let v_index = b - V_BASE;
+            let lv_index = l_index * N_COUNT + v_index * T_COUNT;
+            let s = S_BASE + lv_index;
+            Some(unsafe { char::from_u32_unchecked(s) })
+        }
+        // Compose an LV_Syllable and a trailing consonant into an LVT_Syllable
+        (S_BASE...S_LAST, T_FIRST...T_LAST) if (a - S_BASE) % T_COUNT == 0 => {
+            Some(unsafe { char::from_u32_unchecked(a + (b - T_BASE)) })
+        }
+        _ => None,
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::compose_hangul;
+
+    // Regression test from a bugfix where we were composing an LV_Syllable with
+    // T_BASE directly. (We should only compose an LV_Syllable with a character
+    // in the range `T_BASE + 1 ... T_LAST`.)
+    #[test]
+    fn test_hangul_composition() {
+        assert_eq!(compose_hangul('\u{c8e0}', '\u{11a7}'), None);
+    }
+}
diff --git a/src/perfect_hash.rs b/src/perfect_hash.rs
new file mode 100644
index 0000000..3dbc166
--- /dev/null
+++ b/src/perfect_hash.rs
@@ -0,0 +1,50 @@
+// Copyright 2019 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Support for lookups based on minimal perfect hashing.
+
+// This function is based on multiplication being fast and is "good enough". Also
+// it can share some work between the unsalted and salted versions.
+#[inline]
+fn my_hash(key: u32, salt: u32, n: usize) -> usize {
+    let y = key.wrapping_add(salt).wrapping_mul(2654435769);
+    let y = y ^ key.wrapping_mul(0x31415926);
+    (((y as u64) * (n as u64)) >> 32) as usize
+}
+
+/// Do a lookup using minimal perfect hashing.
+///
+/// The table is stored as a sequence of "salt" values, then a sequence of
+/// values that contain packed key/value pairs. The strategy is to hash twice.
+/// The first hash retrieves a salt value that makes the second hash unique.
+/// The hash function doesn't have to be very good, just good enough that the
+/// resulting map is unique.
+#[inline]
+pub(crate) fn mph_lookup<KV, V, FK, FV>(
+    x: u32,
+    salt: &[u16],
+    kv: &[KV],
+    fk: FK,
+    fv: FV,
+    default: V,
+) -> V
+where
+    KV: Copy,
+    FK: Fn(KV) -> u32,
+    FV: Fn(KV) -> V,
+{
+    let s = salt[my_hash(x, 0, salt.len())] as u32;
+    let key_val = kv[my_hash(x, s, salt.len())];
+    if x == fk(key_val) {
+        fv(key_val)
+    } else {
+        default
+    }
+}
diff --git a/src/quick_check.rs b/src/quick_check.rs
new file mode 100644
index 0000000..4507b2a
--- /dev/null
+++ b/src/quick_check.rs
@@ -0,0 +1,187 @@
+use crate::lookups::canonical_combining_class;
+use crate::stream_safe;
+use crate::tables;
+use crate::UnicodeNormalization;
+
+/// The QuickCheck algorithm can quickly determine if a text is or isn't
+/// normalized without any allocations in many cases, but it has to be able to
+/// return `Maybe` when a full decomposition and recomposition is necessary.
+#[derive(Debug, Eq, PartialEq)]
+pub enum IsNormalized {
+    /// The text is definitely normalized.
+    Yes,
+    /// The text is definitely not normalized.
+    No,
+    /// The text may be normalized.
+    Maybe,
+}
+
+// https://unicode.org/reports/tr15/#Detecting_Normalization_Forms
+#[inline]
+fn quick_check<F, I>(s: I, is_allowed: F, stream_safe: bool) -> IsNormalized
+where
+    I: Iterator<Item = char>,
+    F: Fn(char) -> IsNormalized,
+{
+    let mut last_cc = 0u8;
+    let mut nonstarter_count = 0;
+    let mut result = IsNormalized::Yes;
+    for ch in s {
+        // For ASCII we know it's always allowed and a starter
+        if ch <= '\x7f' {
+            last_cc = 0;
+            nonstarter_count = 0;
+            continue;
+        }
+
+        // Otherwise, lookup the combining class and QC property
+        let cc = canonical_combining_class(ch);
+        if last_cc > cc && cc != 0 {
+            return IsNormalized::No;
+        }
+        match is_allowed(ch) {
+            IsNormalized::Yes => (),
+            IsNormalized::No => return IsNormalized::No,
+            IsNormalized::Maybe => {
+                result = IsNormalized::Maybe;
+            }
+        }
+        if stream_safe {
+            let decomp = stream_safe::classify_nonstarters(ch);
+
+            // If we're above `MAX_NONSTARTERS`, we're definitely *not*
+            // stream-safe normalized.
+            if nonstarter_count + decomp.leading_nonstarters > stream_safe::MAX_NONSTARTERS {
+                return IsNormalized::No;
+            }
+            if decomp.leading_nonstarters == decomp.decomposition_len {
+                nonstarter_count += decomp.decomposition_len;
+            } else {
+                nonstarter_count = decomp.trailing_nonstarters;
+            }
+        }
+        last_cc = cc;
+    }
+    result
+}
+
+/// Quickly check if a string is in NFC, potentially returning
+/// `IsNormalized::Maybe` if further checks are necessary.  In this case a check
+/// like `s.chars().nfc().eq(s.chars())` should suffice.
+#[inline]
+pub fn is_nfc_quick<I: Iterator<Item = char>>(s: I) -> IsNormalized {
+    quick_check(s, tables::qc_nfc, false)
+}
+
+/// Quickly check if a string is in NFKC.
+#[inline]
+pub fn is_nfkc_quick<I: Iterator<Item = char>>(s: I) -> IsNormalized {
+    quick_check(s, tables::qc_nfkc, false)
+}
+
+/// Quickly check if a string is in NFD.
+#[inline]
+pub fn is_nfd_quick<I: Iterator<Item = char>>(s: I) -> IsNormalized {
+    quick_check(s, tables::qc_nfd, false)
+}
+
+/// Quickly check if a string is in NFKD.
+#[inline]
+pub fn is_nfkd_quick<I: Iterator<Item = char>>(s: I) -> IsNormalized {
+    quick_check(s, tables::qc_nfkd, false)
+}
+
+/// Quickly check if a string is Stream-Safe NFC.
+#[inline]
+pub fn is_nfc_stream_safe_quick<I: Iterator<Item = char>>(s: I) -> IsNormalized {
+    quick_check(s, tables::qc_nfc, true)
+}
+
+/// Quickly check if a string is Stream-Safe NFD.
+#[inline]
+pub fn is_nfd_stream_safe_quick<I: Iterator<Item = char>>(s: I) -> IsNormalized {
+    quick_check(s, tables::qc_nfd, true)
+}
+
+/// Authoritatively check if a string is in NFC.
+#[inline]
+pub fn is_nfc(s: &str) -> bool {
+    match is_nfc_quick(s.chars()) {
+        IsNormalized::Yes => true,
+        IsNormalized::No => false,
+        IsNormalized::Maybe => s.chars().eq(s.chars().nfc()),
+    }
+}
+
+/// Authoritatively check if a string is in NFKC.
+#[inline]
+pub fn is_nfkc(s: &str) -> bool {
+    match is_nfkc_quick(s.chars()) {
+        IsNormalized::Yes => true,
+        IsNormalized::No => false,
+        IsNormalized::Maybe => s.chars().eq(s.chars().nfkc()),
+    }
+}
+
+/// Authoritatively check if a string is in NFD.
+#[inline]
+pub fn is_nfd(s: &str) -> bool {
+    match is_nfd_quick(s.chars()) {
+        IsNormalized::Yes => true,
+        IsNormalized::No => false,
+        IsNormalized::Maybe => s.chars().eq(s.chars().nfd()),
+    }
+}
+
+/// Authoritatively check if a string is in NFKD.
+#[inline]
+pub fn is_nfkd(s: &str) -> bool {
+    match is_nfkd_quick(s.chars()) {
+        IsNormalized::Yes => true,
+        IsNormalized::No => false,
+        IsNormalized::Maybe => s.chars().eq(s.chars().nfkd()),
+    }
+}
+
+/// Authoritatively check if a string is Stream-Safe NFC.
+#[inline]
+pub fn is_nfc_stream_safe(s: &str) -> bool {
+    match is_nfc_stream_safe_quick(s.chars()) {
+        IsNormalized::Yes => true,
+        IsNormalized::No => false,
+        IsNormalized::Maybe => s.chars().eq(s.chars().stream_safe().nfc()),
+    }
+}
+
+/// Authoritatively check if a string is Stream-Safe NFD.
+#[inline]
+pub fn is_nfd_stream_safe(s: &str) -> bool {
+    match is_nfd_stream_safe_quick(s.chars()) {
+        IsNormalized::Yes => true,
+        IsNormalized::No => false,
+        IsNormalized::Maybe => s.chars().eq(s.chars().stream_safe().nfd()),
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::{is_nfc_stream_safe_quick, is_nfd_stream_safe_quick, IsNormalized};
+
+    #[test]
+    fn test_stream_safe_nfd() {
+        let okay = "Da\u{031b}\u{0316}\u{0317}\u{0318}\u{0319}\u{031c}\u{031d}\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{031a}ngerzone";
+        assert_eq!(is_nfd_stream_safe_quick(okay.chars()), IsNormalized::Yes);
+
+        let too_much = "Da\u{031b}\u{0316}\u{0317}\u{0318}\u{0319}\u{031c}\u{031d}\u{031e}\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{031a}ngerzone";
+        assert_eq!(is_nfd_stream_safe_quick(too_much.chars()), IsNormalized::No);
+    }
+
+    #[test]
+    fn test_stream_safe_nfc() {
+        let okay = "ok\u{e0}\u{031b}\u{0316}\u{0317}\u{0318}\u{0319}\u{031c}\u{031d}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{031a}y";
+        assert_eq!(is_nfc_stream_safe_quick(okay.chars()), IsNormalized::Maybe);
+
+        let too_much = "not ok\u{e0}\u{031b}\u{0316}\u{0317}\u{0318}\u{0319}\u{031c}\u{031d}\u{031e}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{031a}y";
+        assert_eq!(is_nfc_stream_safe_quick(too_much.chars()), IsNormalized::No);
+    }
+}
diff --git a/src/recompose.rs b/src/recompose.rs
new file mode 100644
index 0000000..2a1960a
--- /dev/null
+++ b/src/recompose.rs
@@ -0,0 +1,154 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use crate::decompose::Decompositions;
+use core::fmt::{self, Write};
+use tinyvec::TinyVec;
+
+#[derive(Clone)]
+enum RecompositionState {
+    Composing,
+    Purging(usize),
+    Finished(usize),
+}
+
+/// External iterator for a string recomposition's characters.
+#[derive(Clone)]
+pub struct Recompositions<I> {
+    iter: Decompositions<I>,
+    state: RecompositionState,
+    buffer: TinyVec<[char; 4]>,
+    composee: Option<char>,
+    last_ccc: Option<u8>,
+}
+
+#[inline]
+pub fn new_canonical<I: Iterator<Item = char>>(iter: I) -> Recompositions<I> {
+    Recompositions {
+        iter: super::decompose::new_canonical(iter),
+        state: self::RecompositionState::Composing,
+        buffer: TinyVec::new(),
+        composee: None,
+        last_ccc: None,
+    }
+}
+
+#[inline]
+pub fn new_compatible<I: Iterator<Item = char>>(iter: I) -> Recompositions<I> {
+    Recompositions {
+        iter: super::decompose::new_compatible(iter),
+        state: self::RecompositionState::Composing,
+        buffer: TinyVec::new(),
+        composee: None,
+        last_ccc: None,
+    }
+}
+
+impl<I: Iterator<Item = char>> Iterator for Recompositions<I> {
+    type Item = char;
+
+    #[inline]
+    fn next(&mut self) -> Option<char> {
+        use self::RecompositionState::*;
+
+        loop {
+            match self.state {
+                Composing => {
+                    for ch in self.iter.by_ref() {
+                        let ch_class = super::char::canonical_combining_class(ch);
+                        let k = match self.composee {
+                            None => {
+                                if ch_class != 0 {
+                                    return Some(ch);
+                                }
+                                self.composee = Some(ch);
+                                continue;
+                            }
+                            Some(k) => k,
+                        };
+                        match self.last_ccc {
+                            None => match super::char::compose(k, ch) {
+                                Some(r) => {
+                                    self.composee = Some(r);
+                                    continue;
+                                }
+                                None => {
+                                    if ch_class == 0 {
+                                        self.composee = Some(ch);
+                                        return Some(k);
+                                    }
+                                    self.buffer.push(ch);
+                                    self.last_ccc = Some(ch_class);
+                                }
+                            },
+                            Some(l_class) => {
+                                if l_class >= ch_class {
+                                    // `ch` is blocked from `composee`
+                                    if ch_class == 0 {
+                                        self.composee = Some(ch);
+                                        self.last_ccc = None;
+                                        self.state = Purging(0);
+                                        return Some(k);
+                                    }
+                                    self.buffer.push(ch);
+                                    self.last_ccc = Some(ch_class);
+                                    continue;
+                                }
+                                match super::char::compose(k, ch) {
+                                    Some(r) => {
+                                        self.composee = Some(r);
+                                        continue;
+                                    }
+                                    None => {
+                                        self.buffer.push(ch);
+                                        self.last_ccc = Some(ch_class);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    self.state = Finished(0);
+                    if self.composee.is_some() {
+                        return self.composee.take();
+                    }
+                }
+                Purging(next) => match self.buffer.get(next).cloned() {
+                    None => {
+                        self.buffer.clear();
+                        self.state = Composing;
+                    }
+                    s => {
+                        self.state = Purging(next + 1);
+                        return s;
+                    }
+                },
+                Finished(next) => match self.buffer.get(next).cloned() {
+                    None => {
+                        self.buffer.clear();
+                        return self.composee.take();
+                    }
+                    s => {
+                        self.state = Finished(next + 1);
+                        return s;
+                    }
+                },
+            }
+        }
+    }
+}
+
+impl<I: Iterator<Item = char> + Clone> fmt::Display for Recompositions<I> {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        for c in self.clone() {
+            f.write_char(c)?;
+        }
+        Ok(())
+    }
+}
diff --git a/src/stream_safe.rs b/src/stream_safe.rs
new file mode 100644
index 0000000..7ee71c9
--- /dev/null
+++ b/src/stream_safe.rs
@@ -0,0 +1,162 @@
+use crate::lookups::{
+    canonical_combining_class, canonical_fully_decomposed, compatibility_fully_decomposed,
+    stream_safe_trailing_nonstarters,
+};
+use crate::normalize::{hangul_decomposition_length, is_hangul_syllable};
+use crate::tables::stream_safe_leading_nonstarters;
+
+pub(crate) const MAX_NONSTARTERS: usize = 30;
+const COMBINING_GRAPHEME_JOINER: char = '\u{034F}';
+
+/// UAX15-D4: This iterator keeps track of how many non-starters there have been
+/// since the last starter in *NFKD* and will emit a Combining Grapheme Joiner
+/// (U+034F) if the count exceeds 30.
+pub struct StreamSafe<I> {
+    iter: I,
+    nonstarter_count: usize,
+    buffer: Option<char>,
+}
+
+impl<I> StreamSafe<I> {
+    pub(crate) fn new(iter: I) -> Self {
+        Self {
+            iter,
+            nonstarter_count: 0,
+            buffer: None,
+        }
+    }
+}
+
+impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> {
+    type Item = char;
+
+    #[inline]
+    fn next(&mut self) -> Option<char> {
+        if let Some(ch) = self.buffer.take() {
+            return Some(ch);
+        }
+        let next_ch = match self.iter.next() {
+            None => return None,
+            Some(c) => c,
+        };
+        let d = classify_nonstarters(next_ch);
+        if self.nonstarter_count + d.leading_nonstarters > MAX_NONSTARTERS {
+            self.buffer = Some(next_ch);
+            self.nonstarter_count = d.decomposition_len;
+            return Some(COMBINING_GRAPHEME_JOINER);
+        }
+
+        // No starters in the decomposition, so keep accumulating
+        if d.leading_nonstarters == d.decomposition_len {
+            self.nonstarter_count += d.decomposition_len;
+        }
+        // Otherwise, restart the nonstarter counter.
+        else {
+            self.nonstarter_count = d.trailing_nonstarters;
+        }
+        Some(next_ch)
+    }
+}
+
+#[derive(Debug)]
+pub(crate) struct Decomposition {
+    pub(crate) leading_nonstarters: usize,
+    pub(crate) trailing_nonstarters: usize,
+    pub(crate) decomposition_len: usize,
+}
+
+#[inline]
+pub(crate) fn classify_nonstarters(c: char) -> Decomposition {
+    // As usual, fast path for ASCII (which is always a starter)
+    if c <= '\x7f' {
+        return Decomposition {
+            leading_nonstarters: 0,
+            trailing_nonstarters: 0,
+            decomposition_len: 1,
+        };
+    }
+    // Next, special case Hangul, since it's not handled by our tables.
+    if is_hangul_syllable(c) {
+        return Decomposition {
+            leading_nonstarters: 0,
+            trailing_nonstarters: 0,
+            decomposition_len: hangul_decomposition_length(c),
+        };
+    }
+    let decomp = compatibility_fully_decomposed(c).or_else(|| canonical_fully_decomposed(c));
+    match decomp {
+        Some(decomp) => Decomposition {
+            leading_nonstarters: stream_safe_leading_nonstarters(c),
+            trailing_nonstarters: stream_safe_trailing_nonstarters(c),
+            decomposition_len: decomp.len(),
+        },
+        None => {
+            let is_nonstarter = canonical_combining_class(c) != 0;
+            let nonstarter = if is_nonstarter { 1 } else { 0 };
+            Decomposition {
+                leading_nonstarters: nonstarter,
+                trailing_nonstarters: nonstarter,
+                decomposition_len: 1,
+            }
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::{classify_nonstarters, StreamSafe};
+    use crate::lookups::canonical_combining_class;
+    use crate::normalize::decompose_compatible;
+
+    #[cfg(not(feature = "std"))]
+    use crate::no_std_prelude::*;
+
+    use core::char;
+
+    fn stream_safe(s: &str) -> String {
+        StreamSafe::new(s.chars()).collect()
+    }
+
+    #[test]
+    fn test_simple() {
+        let technically_okay = "Da\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}ngerzone";
+        assert_eq!(stream_safe(technically_okay), technically_okay);
+
+        let too_much = "Da\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}\u{032e}ngerzone";
+        let fixed_it = "Da\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}\u{034f}\u{032e}ngerzone";
+        assert_eq!(stream_safe(too_much), fixed_it);
+
+        let woah_nelly = "Da\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}\u{032e}\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}\u{032e}ngerzone";
+        let its_cool = "Da\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{031d}\u{034f}\u{032e}\u{0300}\u{0301}\u{0302}\u{0303}\u{0304}\u{0305}\u{0306}\u{0307}\u{0308}\u{0309}\u{030a}\u{030b}\u{030c}\u{030d}\u{030e}\u{030f}\u{0310}\u{0311}\u{0312}\u{0313}\u{0314}\u{0315}\u{0316}\u{0317}\u{0318}\u{0319}\u{031a}\u{031b}\u{031c}\u{034f}\u{031d}\u{032e}ngerzone";
+        assert_eq!(stream_safe(woah_nelly), its_cool);
+    }
+
+    #[test]
+    fn test_classify_nonstarters() {
+        // Highest character in the `compat_fully_decomp` table is 2FA1D
+        for ch in 0..0x2FA1E {
+            let ch = match char::from_u32(ch) {
+                Some(c) => c,
+                None => continue,
+            };
+            let c = classify_nonstarters(ch);
+            let mut s = Vec::new();
+            decompose_compatible(ch, |c| s.push(c));
+
+            assert_eq!(s.len(), c.decomposition_len);
+
+            let num_leading = s
+                .iter()
+                .take_while(|&c| canonical_combining_class(*c) != 0)
+                .count();
+            let num_trailing = s
+                .iter()
+                .rev()
+                .take_while(|&c| canonical_combining_class(*c) != 0)
+                .count();
+
+            assert_eq!(num_leading, c.leading_nonstarters);
+            assert_eq!(num_trailing, c.trailing_nonstarters);
+        }
+    }
+}
diff --git a/src/tables.rs b/src/tables.rs
new file mode 100644
index 0000000..f90dedd
--- /dev/null
+++ b/src/tables.rs
@@ -0,0 +1,23327 @@
+// Copyright 2012-2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly
+
+#![allow(missing_docs)]
+use crate::quick_check::IsNormalized;
+use crate::quick_check::IsNormalized::*;
+
+#[allow(unused)]
+pub const UNICODE_VERSION: (u8, u8, u8) = (13, 0, 0);
+
+pub(crate) const CANONICAL_COMBINING_CLASS_SALT: &[u16] = &[
+    0x0,
+    0x8,
+    0x3c2,
+    0x83,
+    0x8a,
+    0x0,
+    0x129,
+    0x4,
+    0x1b,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x59,
+    0x86,
+    0x124,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x3,
+    0x1,
+    0x2b,
+    0xb9,
+    0x0,
+    0x4,
+    0x65,
+    0x0,
+    0x7,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x12,
+    0x0,
+    0x69,
+    0x2,
+    0x6,
+    0x2,
+    0x4,
+    0x0,
+    0x1,
+    0xa,
+    0x3f,
+    0x4,
+    0x0,
+    0xd,
+    0x3,
+    0x0,
+    0x5,
+    0x4,
+    0x3,
+    0xb1,
+    0x21,
+    0x0,
+    0x27,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0x1,
+    0x7,
+    0x0,
+    0x0,
+    0x24,
+    0x0,
+    0x0,
+    0xd,
+    0xf,
+    0x0,
+    0x0,
+    0x2,
+    0x17,
+    0x3,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x1,
+    0x0,
+    0x4,
+    0x3,
+    0xa,
+    0x0,
+    0x26,
+    0x0,
+    0x5e,
+    0xa,
+    0x2,
+    0x1,
+    0x23,
+    0xa,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x7,
+    0x4,
+    0x0,
+    0x1b,
+    0x2e,
+    0xf,
+    0x10,
+    0xf,
+    0x19,
+    0x0,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x5,
+    0x0,
+    0x49,
+    0x1b,
+    0x8,
+    0x27,
+    0x0,
+    0x0,
+    0x35,
+    0x11,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x37,
+    0x22,
+    0x33,
+    0x6,
+    0x0,
+    0x1,
+    0x1c,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0x1f,
+    0x2,
+    0x9,
+    0x0,
+    0x11,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x20,
+    0xd,
+    0xf,
+    0x4,
+    0x7,
+    0x5,
+    0x0,
+    0x19,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x5,
+    0x3,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x19,
+    0xe,
+    0x0,
+    0x13,
+    0x0,
+    0x1,
+    0x9,
+    0x7,
+    0x0,
+    0x0,
+    0x7,
+    0x4,
+    0x1,
+    0xc,
+    0x7,
+    0x2,
+    0x11,
+    0x2,
+    0xa,
+    0x5,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x4,
+    0x0,
+    0x5,
+    0x0,
+    0xf,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x15,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x26,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0xb,
+    0x1,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0xb,
+    0x0,
+    0x8,
+    0x9,
+    0x4,
+    0x1,
+    0x1e,
+    0x0,
+    0x1,
+    0x1,
+    0x8,
+    0x4,
+    0x18,
+    0xa,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x5,
+    0xd,
+    0x0,
+    0xc,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x5,
+    0x2,
+    0x1,
+    0x7,
+    0x7,
+    0x11,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x14,
+    0x9,
+    0x1,
+    0x4,
+    0x4,
+    0xd,
+    0x4,
+    0x8,
+    0x4,
+    0x0,
+    0x9,
+    0x8,
+    0x11,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x6,
+    0x7,
+    0x0,
+    0x3,
+    0x2,
+    0xf,
+    0x0,
+    0x4,
+    0x3,
+    0x1,
+    0x15,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0xf,
+    0x0,
+    0x7,
+    0x3,
+    0x9,
+    0x5,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0xb,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x5,
+    0x0,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x5,
+    0x3,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x8,
+    0x1,
+    0x6,
+    0xa,
+    0x3,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x5,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0xa,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x9,
+    0x0,
+    0x8,
+    0x0,
+    0x1,
+    0x1,
+    0x7,
+    0x4,
+    0x3,
+    0x0,
+    0x5,
+    0x7,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x2,
+    0x9,
+    0x8,
+    0x3,
+    0x5,
+    0x6,
+    0xd,
+    0x3,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x10,
+    0x6,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x5,
+    0x9,
+    0x3,
+    0x4,
+    0x0,
+    0x8,
+    0x3,
+    0x1,
+    0x10,
+    0x2,
+    0x0,
+    0x1c,
+    0x2,
+    0x6,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0xd,
+    0x7,
+    0x7,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x3,
+    0x4,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x1,
+    0x2,
+    0xf,
+    0x1,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x7,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x7,
+    0x2,
+    0x4,
+    0x2,
+    0x1,
+    0x4,
+    0x2,
+    0x0,
+    0x7,
+    0x7,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x5,
+    0x5,
+    0x0,
+    0x3,
+    0x5,
+    0x0,
+    0x4,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0xb,
+    0x0,
+    0x1,
+    0x5,
+    0x5,
+    0xa,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x5,
+    0x6,
+    0x6,
+    0x5,
+    0x0,
+    0xd,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x8,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0x2,
+    0x1,
+    0x6,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x4,
+    0x0,
+    0x15,
+    0x2,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x3,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x1,
+    0xc,
+    0x8,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x10,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x5,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x2,
+    0x15,
+    0x0,
+    0x4,
+    0x3,
+    0x4,
+    0x1,
+    0x0,
+    0x9,
+    0x3,
+    0x0,
+    0x2,
+    0x3,
+    0x4,
+    0x0,
+    0x3,
+    0x2,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x5,
+    0x2,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0xa,
+    0x1,
+    0x0,
+    0x8,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0x1,
+    0x3,
+    0x6,
+    0x1,
+    0x2,
+    0x2,
+    0x4,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x3,
+    0x1,
+    0x4,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x6,
+    0x0,
+    0x1,
+    0x4,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x5,
+    0x8,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x8,
+    0x2,
+    0x2,
+    0x2,
+    0x2,
+    0x2,
+    0x3,
+    0x6,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x1,
+    0x3,
+    0x3,
+    0x0,
+    0x1,
+    0x8,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x4,
+    0x1,
+    0x3,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0xd,
+    0x0,
+    0x3,
+    0x4,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x3,
+    0x0,
+    0x4,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0xd,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+];
+pub(crate) const CANONICAL_COMBINING_CLASS_KV: &[u32] = &[
+    0x34AE6,
+    0x348DC,
+    0xA66FE6,
+    0x339DC,
+    0xA67CE6,
+    0xA4D09,
+    0xE496B,
+    0x593E6,
+    0x102E0DC,
+    0x611E6,
+    0xFE26E6,
+    0x20E1E6,
+    0x340E6,
+    0x5C219,
+    0xA6F0E6,
+    0x738DC,
+    0x1BC9E01,
+    0x343E6,
+    0xC4D09,
+    0x741E6,
+    0xF8082,
+    0xFE2DDC,
+    0x1DF2E6,
+    0x1DDEE6,
+    0x1E023E6,
+    0x193BDC,
+    0x1DD5E6,
+    0x17DDE6,
+    0x1A7BE6,
+    0x1B6DE6,
+    0x59ADE,
+    0x30DE6,
+    0xACD09,
+    0x1DD0CA,
+    0x1DCADC,
+    0x1E020E6,
+    0xA8E4E6,
+    0x10A3901,
+    0x2DE3E6,
+    0x1E947E6,
+    0x1A75E6,
+    0x1E02AE6,
+    0x1E028E6,
+    0x11A9909,
+    0x108DDC,
+    0x1DECE6,
+    0x1A7AE6,
+    0x5A3DC,
+    0x2DE9E6,
+    0x8FDE6,
+    0x341E6,
+    0x34BE6,
+    0xA8E2E6,
+    0xE486B,
+    0x1D1ADE6,
+    0x20D801,
+    0xC565B,
+    0x1D18BDC,
+    0x825E6,
+    0x5A9E6,
+    0x328CA,
+    0x820E6,
+    0x306E6,
+    0x2DF1E6,
+    0x6D6E6,
+    0x31FDC,
+    0x20D4E6,
+    0x1CD7DC,
+    0x10A3ADC,
+    0xAAB7E6,
+    0x20EEDC,
+    0x73BDC,
+    0x110B909,
+    0x487E6,
+    0x11370E6,
+    0x1CD0E6,
+    0xFE20E6,
+    0x85ADC,
+    0x5B711,
+    0x819E6,
+    0x355DC,
+    0x16AF301,
+    0x1DE5E6,
+    0x1DDFE6,
+    0x5BF17,
+    0xE4B6B,
+    0x1D165D8,
+    0x744DC,
+    0x327CA,
+    0x5B40E,
+    0x5AEE4,
+    0x331DC,
+    0x33ADC,
+    0x2DF0E6,
+    0x1E016E6,
+    0x11373E6,
+    0x1B6EE6,
+    0x20EA01,
+    0x10EABE6,
+    0x111CA07,
+    0x1D16801,
+    0x1DCFDC,
+    0x1E8D6DC,
+    0x367E6,
+    0x1A78E6,
+    0x1CE0E6,
+    0x6D8E6,
+    0x1CDAE6,
+    0x735E6,
+    0x5C712,
+    0x657E6,
+    0x1AB7DC,
+    0x1E00BE6,
+    0x35EEA,
+    0x116B707,
+    0x20E8DC,
+    0x1DD2E6,
+    0x1DE1E6,
+    0x1A7CE6,
+    0x11D4409,
+    0x1D182DC,
+    0xA675E6,
+    0x85BDC,
+    0xD4D09,
+    0x1CE801,
+    0x746DC,
+    0x8E0E6,
+    0xA67AE6,
+    0x1D1AAE6,
+    0x1D185E6,
+    0x484E6,
+    0x36BE6,
+    0x357E6,
+    0x119E009,
+    0x30BE6,
+    0x33EE6,
+    0x73AE6,
+    0x2DEFE6,
+    0xF8409,
+    0x20F0E6,
+    0x317DC,
+    0x483E6,
+    0x6E8E6,
+    0x326DC,
+    0x35CE9,
+    0x1E005E6,
+    0x1DD6E6,
+    0x319DC,
+    0x1E00DE6,
+    0x20D7E6,
+    0x952DC,
+    0x353DC,
+    0x31CDC,
+    0xA69FE6,
+    0x11102E6,
+    0xA82C09,
+    0x1B73E6,
+    0xEB876,
+    0xABC07,
+    0xF7C82,
+    0x1136AE6,
+    0x1E026E6,
+    0x8FBE6,
+    0x5B20C,
+    0x1E944E6,
+    0x36EE6,
+    0x309908,
+    0x8F8E6,
+    0xA8E0E6,
+    0x35DEA,
+    0x309E6,
+    0x36AE6,
+    0x1DE2E6,
+    0xF86E6,
+    0x1DC0E6,
+    0xA8F1E6,
+    0x10F48E6,
+    0x64E1E,
+    0x318DC,
+    0x8E6DC,
+    0x65121,
+    0x1DF6E8,
+    0x65BE6,
+    0x1D1ABE6,
+    0x592E6,
+    0x6ECE6,
+    0x1113309,
+    0x1D244E6,
+    0x1037AE6,
+    0x20D1E6,
+    0x67023,
+    0x5AADC,
+    0x64C1C,
+    0x10F47DC,
+    0x10376E6,
+    0x30AE6,
+    0x20D6E6,
+    0x1113409,
+    0x1DC6E6,
+    0x1E006E6,
+    0x33601,
+    0x135EE6,
+    0x1DC3E6,
+    0xAAC1E6,
+    0xA8E7E6,
+    0x10AE5E6,
+    0x1CDCDC,
+    0x485E6,
+    0x823E6,
+    0x1DF3E6,
+    0x1DC4E6,
+    0x10F46DC,
+    0x6DCE6,
+    0x1D166D8,
+    0x11A4709,
+    0x1B72E6,
+    0x20DA01,
+    0x1E012E6,
+    0x10F4CE6,
+    0x1DF5E6,
+    0x951E6,
+    0x2DE8E6,
+    0x8D8E6,
+    0xFE2EE6,
+    0x20D901,
+    0x32FDC,
+    0x8F01B,
+    0x1E011E6,
+    0x1DE8E6,
+    0x65020,
+    0x6D7E6,
+    0x16AF401,
+    0x1A77E6,
+    0xFE24E6,
+    0x11D4509,
+    0xF83E6,
+    0x2DF4E6,
+    0x11374E6,
+    0x82CE6,
+    0xFE29DC,
+    0x31EDC,
+    0x2DEDE6,
+    0x653E6,
+    0x17D209,
+    0x65CDC,
+    0x1D171D8,
+    0x1D186E6,
+    0x303E6,
+    0x1E015E6,
+    0x309A08,
+    0x1DE4E6,
+    0x11368E6,
+    0x1CE301,
+    0x6E1E6,
+    0x115C007,
+    0x596DC,
+    0x347DC,
+    0x10F4FDC,
+    0x1104609,
+    0xF7282,
+    0x5C4E6,
+    0x10F49E6,
+    0xA8EAE6,
+    0x32CDC,
+    0xD3B09,
+    0x1A79E6,
+    0x171409,
+    0x1CF8E6,
+    0x2DF2E6,
+    0x8DAE6,
+    0xB3C07,
+    0x7F1E6,
+    0x10AE6DC,
+    0x745E6,
+    0x82AE6,
+    0x10D24E6,
+    0xFE23E6,
+    0x2DE2E6,
+    0x2DFBE6,
+    0x597E6,
+    0x302BE4,
+    0x1E134E6,
+    0x33501,
+    0x1145EE6,
+    0x65AE6,
+    0x8E1E6,
+    0x5A2DC,
+    0xFE2FE6,
+    0x1DC7E6,
+    0x5A7DC,
+    0x6E7E6,
+    0x369E6,
+    0x81CE6,
+    0x31AE8,
+    0x748DC,
+    0x358E8,
+    0x16AF201,
+    0x740E6,
+    0x612E6,
+    0x1CD2E6,
+    0x11D4207,
+    0x1ABADC,
+    0x1AB4E6,
+    0x1E8D2DC,
+    0x1E010E6,
+    0x1E000E6,
+    0x5B00A,
+    0x5C5DC,
+    0x1CD401,
+    0x2D7F09,
+    0x1E01BE6,
+    0x1144607,
+    0x35ADC,
+    0x1DCCE6,
+    0x1DEBE6,
+    0xF7D82,
+    0x1DC8E6,
+    0x103909,
+    0x1D180DC,
+    0x731DC,
+    0x312E6,
+    0x34CE6,
+    0x829E6,
+    0x308E6,
+    0x1E029E6,
+    0x59EE6,
+    0x1AB6DC,
+    0x1E01EE6,
+    0x1E135E6,
+    0x659E6,
+    0x10378E6,
+    0x732E6,
+    0x5BB14,
+    0xF7B82,
+    0x6EBE6,
+    0x36DE6,
+    0x8E7E6,
+    0x1DFCE9,
+    0x73CDC,
+    0x1DEEE6,
+    0x302ADA,
+    0x364E6,
+    0xA92BDC,
+    0x332DC,
+    0x365E6,
+    0xA8EFE6,
+    0x20E7E6,
+    0x1DDCE6,
+    0x59BDC,
+    0x16B32E6,
+    0x953E6,
+    0x1DE0E6,
+    0x20D201,
+    0xA677E6,
+    0x1E003E6,
+    0xDCA09,
+    0x31DDC,
+    0x1E001E6,
+    0xA674E6,
+    0x302EE0,
+    0x1136CE6,
+    0x112EA09,
+    0x2DF8E6,
+    0x33801,
+    0x1E024E6,
+    0xE3967,
+    0x1AB5DC,
+    0xCCD09,
+    0x2DEEE6,
+    0x954E6,
+    0xECA7A,
+    0x486E6,
+    0x5C118,
+    0x135FE6,
+    0x64F1F,
+    0x10EACE6,
+    0x20D301,
+    0x65FDC,
+    0x1E945E6,
+    0x356DC,
+    0x65DE6,
+    0x1172B09,
+    0x71124,
+    0x739DC,
+    0x8F21D,
+    0x93C07,
+    0x747E6,
+    0x324DC,
+    0x1DE7E6,
+    0x10A38E6,
+    0x1CD5DC,
+    0x10F4DDC,
+    0xEC87A,
+    0x1DCDEA,
+    0xAABEE6,
+    0x61A20,
+    0x301E6,
+    0x82DE6,
+    0x1D172D8,
+    0x1E2EEE6,
+    0x1194307,
+    0x16B30E6,
+    0x1CF4E6,
+    0x5BC15,
+    0x2DFAE6,
+    0x11100E6,
+    0xFE28DC,
+    0x1DC2DC,
+    0x615E6,
+    0x342E6,
+    0x1A17E6,
+    0x1D243E6,
+    0xAAB0E6,
+    0x1AB0E6,
+    0x1DC5E6,
+    0x325DC,
+    0x1DDBE6,
+    0x1DE3E6,
+    0x81BE6,
+    0x33CDC,
+    0xEB976,
+    0xA6F1E6,
+    0x8DBE6,
+    0x1E8D0DC,
+    0xF35DC,
+    0xABED09,
+    0xF39D8,
+    0x2DE6E6,
+    0xA8E1E6,
+    0x1D187E6,
+    0x1B6CDC,
+    0xFE25E6,
+    0x1B3407,
+    0x1E8D3DC,
+    0x1163F09,
+    0x8DDE6,
+    0xF87E6,
+    0x2CF1E6,
+    0x300E6,
+    0x1E8D4DC,
+    0x6EDDC,
+    0x1183A07,
+    0x1DF0E6,
+    0x2DFFE6,
+    0x1D17BDC,
+    0x599E6,
+    0x1D16ED8,
+    0x7ECE6,
+    0x1E017E6,
+    0xD3C09,
+    0xA8EDE6,
+    0x614E6,
+    0x111C009,
+    0x1E008E6,
+    0x1DF9DC,
+    0x8E9DC,
+    0x2DF9E6,
+    0x5B610,
+    0x16B31E6,
+    0x1CD1E6,
+    0x1D1ACE6,
+    0x11371E6,
+    0x818E6,
+    0x1D189E6,
+    0x16FF006,
+    0x20D0E6,
+    0x1ABFDC,
+    0x5B50F,
+    0x10F4AE6,
+    0xBCD09,
+    0x1A18DC,
+    0xAAF609,
+    0x1A7FDC,
+    0x20EFDC,
+    0x1CDDDC,
+    0x1D17CDC,
+    0x5AFE6,
+    0x826E6,
+    0x1CDFDC,
+    0x1CD9DC,
+    0x20D5E6,
+    0x1E014E6,
+    0x16B36E6,
+    0x1DFFDC,
+    0xA9B307,
+    0x1D16701,
+    0x1A6009,
+    0x1E949E6,
+    0x10A0DDC,
+    0x1183909,
+    0x1B6FE6,
+    0x1DDDE6,
+    0x742DC,
+    0x36CE6,
+    0x2DFDE6,
+    0x1E018E6,
+    0x34EDC,
+    0xA67BE6,
+    0x8FADC,
+    0x8E5E6,
+    0x11366E6,
+    0x305E6,
+    0x736E6,
+    0x1E946E6,
+    0xFE27DC,
+    0x10A0FE6,
+    0x1E002E6,
+    0x114C209,
+    0x1E01DE6,
+    0xA95309,
+    0x20DBE6,
+    0xA92CDC,
+    0x1193E09,
+    0x610E6,
+    0xFE2CDC,
+    0xA676E6,
+    0x16AF001,
+    0x1D188E6,
+    0x59CE6,
+    0x1D181DC,
+    0x31BD8,
+    0x827E6,
+    0xA8F0E6,
+    0x5A0E6,
+    0x30FE6,
+    0xFB1E1A,
+    0x8DFE6,
+    0x30CE6,
+    0x302E6,
+    0x1A76E6,
+    0x6E2E6,
+    0x2DECE6,
+    0x11D9709,
+    0x1C3707,
+    0x73DE6,
+    0x1CF9E6,
+    0x65EE6,
+    0x616E6,
+    0x1136BE6,
+    0x8F4E6,
+    0x1E2ECE6,
+    0x32DDC,
+    0x1E00CE6,
+    0x1E130E6,
+    0x8FCE6,
+    0x654E6,
+    0x8ECE6,
+    0x1B4409,
+    0x1DD7E6,
+    0x2DFCE6,
+    0x1D16901,
+    0x8E8E6,
+    0x314E6,
+    0xA8EBE6,
+    0x33401,
+    0x1E00AE6,
+    0x613E6,
+    0x10F4EDC,
+    0x16B34E6,
+    0x352E6,
+    0xAABFE6,
+    0x5A8E6,
+    0x1D170D8,
+    0x33BDC,
+    0x1CEDDC,
+    0x360EA,
+    0x9FEE6,
+    0x1E01CE6,
+    0x2DF7E6,
+    0x32BDC,
+    0x1E132E6,
+    0x1DFEE6,
+    0x1BAA09,
+    0x20EB01,
+    0x8F3E6,
+    0x35FE9,
+    0x1123607,
+    0x311E6,
+    0x8DEE6,
+    0x6EADC,
+    0x617E6,
+    0x6D9E6,
+    0x1DE6E6,
+    0x20E9E6,
+    0xA8ECE6,
+    0x6191F,
+    0x10D25E6,
+    0x2DFEE6,
+    0x8F6DC,
+    0x8F7E6,
+    0x1DDAE6,
+    0x1ABDDC,
+    0x1AB9DC,
+    0xA678E6,
+    0x2DE5E6,
+    0x1DEAE6,
+    0x1B6BE6,
+    0x135DE6,
+    0x1AB3E6,
+    0xA8C409,
+    0x1CD6DC,
+    0x8D7E6,
+    0x2DF3E6,
+    0x8DCE6,
+    0x8F5E6,
+    0x1BAB09,
+    0x6E4E6,
+    0x112E907,
+    0x1AC0DC,
+    0xA8E5E6,
+    0xAAB4DC,
+    0x1E8D5DC,
+    0x329DC,
+    0x7EFE6,
+    0xF19DC,
+    0x816E6,
+    0xF37DC,
+    0x8D5E6,
+    0x656DC,
+    0x730E6,
+    0x349DC,
+    0x313E6,
+    0x2DF6E6,
+    0x114C307,
+    0x20E501,
+    0x5B30D,
+    0xE3867,
+    0x361EA,
+    0xB4D09,
+    0x1939DE,
+    0x103707,
+    0x1123509,
+    0x33701,
+    0x1DD4E6,
+    0x9BC07,
+    0x368E6,
+    0x817E6,
+    0x344E6,
+    0x16FF106,
+    0x2DEAE6,
+    0x173409,
+    0x302CE8,
+    0x8FEE6,
+    0x2DE4E6,
+    0x1E00EE6,
+    0xECB7A,
+    0x94D09,
+    0x16AF101,
+    0x1ABCE6,
+    0x81FE6,
+    0x7F3E6,
+    0x32ADC,
+    0x304E6,
+    0x81DE6,
+    0xAAB3E6,
+    0x59DE6,
+    0x1B70E6,
+    0xA92DDC,
+    0x1E8D1DC,
+    0x1DF7E4,
+    0xF18DC,
+    0x1D17EDC,
+    0x20EDDC,
+    0x1E2EFE6,
+    0x1D242E6,
+    0x359DC,
+    0xFE21E6,
+    0x35BE6,
+    0x5B10B,
+    0x82BE6,
+    0x73EDC,
+    0x33FE6,
+    0x115BF09,
+    0x2DEBE6,
+    0x1117307,
+    0xF82E6,
+    0x1E133E6,
+    0x5B812,
+    0x598E6,
+    0xEBA09,
+    0x2DF5E6,
+    0x16B33E6,
+    0x307E6,
+    0x11C3F09,
+    0x351E6,
+    0x116B609,
+    0x1CDBE6,
+    0x1BF209,
+    0x330DC,
+    0xE3A09,
+    0x322CA,
+    0x10F4BDC,
+    0x1E131E6,
+    0xAAB8E6,
+    0x2DE7E6,
+    0x11369E6,
+    0xF7A82,
+    0x7FDDC,
+    0x32EDC,
+    0x1D16DE2,
+    0x1CDEDC,
+    0x749E6,
+    0x8E4E6,
+    0x8F9DC,
+    0xE4A6B,
+    0x36FE6,
+    0x1CE201,
+    0x1134D09,
+    0x103A09,
+    0x1DF1E6,
+    0x1E01FE6,
+    0x1DEFE6,
+    0x743E6,
+    0xFC6DC,
+    0x1E013E6,
+    0x8D4E6,
+    0x8D3DC,
+    0x16B35E6,
+    0x859DC,
+    0x1107F09,
+    0x8D9E6,
+    0x1DD1E6,
+    0x11367E6,
+    0x363E6,
+    0x1DF8E4,
+    0x6181E,
+    0x10A3F09,
+    0x8EAE6,
+    0x8EDDC,
+    0x1ABBE6,
+    0x1CE601,
+    0x1CE401,
+    0x658E6,
+    0x8EBE6,
+    0x5BD16,
+    0x1E004E6,
+    0x7EBE6,
+    0x20E601,
+    0x74AE6,
+    0x1AB8DC,
+    0x1D16FD8,
+    0x1CE701,
+    0x350E6,
+    0x822E6,
+    0x1E94A07,
+    0x310E6,
+    0x821E6,
+    0x5ADDE,
+    0x5A4DC,
+    0xA3C07,
+    0x1DCED6,
+    0x733E6,
+    0x1DE9E6,
+    0x655DC,
+    0x7F0E6,
+    0x2DE0E6,
+    0xA8E3E6,
+    0xA67DE6,
+    0x11101E6,
+    0x2CF0E6,
+    0x1E2EDE6,
+    0xA8E8E6,
+    0x6DAE6,
+    0x5ABE6,
+    0x1CE501,
+    0x737DC,
+    0x65222,
+    0x6E3DC,
+    0x1BF309,
+    0x8F11C,
+    0x1DC1E6,
+    0x1B71E6,
+    0x7EEE6,
+    0x345F0,
+    0x10379E6,
+    0xFE2ADC,
+    0x354DC,
+    0x101FDDC,
+    0x323DC,
+    0x302FE0,
+    0x591DC,
+    0x1CD8DC,
+    0x2DE1E6,
+    0xFE22E6,
+    0x316DC,
+    0x64D1D,
+    0x1E021E6,
+    0x1E00FE6,
+    0x11A3409,
+    0x320DC,
+    0x6DFE6,
+    0x1DC9E6,
+    0x1DFBE6,
+    0xA8E6E6,
+    0x1E009E6,
+    0x8FFE6,
+    0x64B1B,
+    0x59FE6,
+    0x1DF4E6,
+    0x10377E6,
+    0x362E9,
+    0x594E6,
+    0x2CEFE6,
+    0x7F2DC,
+    0x1D18ADC,
+    0x1DCBE6,
+    0x8EFDC,
+    0xEC97A,
+    0x34DDC,
+    0x5A1E6,
+    0xFE2BDC,
+    0xF7484,
+    0x6DBE6,
+    0x1133B07,
+    0x366E6,
+    0xCBC07,
+    0x8D6E6,
+    0xC5554,
+    0x33DE6,
+    0x81EE6,
+    0x1DEDE6,
+    0x1E027E6,
+    0x315E8,
+    0x18A9E4,
+    0x1AB1E6,
+    0x1DD8E6,
+    0x11372E6,
+    0x1144209,
+    0x1DD3E6,
+    0x5A6DC,
+    0xA9C009,
+    0x333DC,
+    0x5BA13,
+    0x8E3DC,
+    0x1133C07,
+    0x193AE6,
+    0x10D27E6,
+    0xA8E9E6,
+    0x5A5DC,
+    0x10F50DC,
+    0x1DFDDC,
+    0xAAB2E6,
+    0xA8EEE6,
+    0x595E6,
+    0x302DDE,
+    0xF7181,
+    0x110BA07,
+    0xA679E6,
+    0x7EDE6,
+    0x5ACE6,
+    0x1DD9E6,
+    0x10D26E6,
+    0x20DCE6,
+    0x73FE6,
+    0x6E0E6,
+    0xA69EE6,
+    0x321CA,
+    0x1E136E6,
+    0x20ECDC,
+    0x1E948E6,
+    0x30EE6,
+    0x8EEDC,
+    0x734DC,
+    0x1D17FDC,
+    0xA80609,
+    0x5B913,
+    0x1D17DDC,
+    0x9CD09,
+    0x1193D09,
+    0x1BE607,
+    0x1AB2E6,
+    0x346E6,
+];
+
+
+pub(crate) const COMPOSITION_TABLE_SALT: &[u16] = &[
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x25d,
+    0x3,
+    0x5d,
+    0x0,
+    0x2,
+    0x9,
+    0x4,
+    0x87,
+    0x6,
+    0x135,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x3,
+    0xe1,
+    0x78,
+    0x0,
+    0x2,
+    0x29,
+    0x8,
+    0x8f,
+    0x24,
+    0x0,
+    0x0,
+    0x0,
+    0x31,
+    0x0,
+    0x0,
+    0x6d,
+    0x0,
+    0x33,
+    0x1,
+    0x4c,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x7c,
+    0x6,
+    0x4c,
+    0x45,
+    0x2a,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x59,
+    0x0,
+    0x10,
+    0x3,
+    0x9,
+    0xe,
+    0x6,
+    0x1,
+    0xc,
+    0x10,
+    0x0,
+    0x0,
+    0x0,
+    0x3d,
+    0x0,
+    0x0,
+    0x2a,
+    0x0,
+    0x0,
+    0x1,
+    0x20,
+    0xa,
+    0x0,
+    0x1,
+    0xe,
+    0x2,
+    0x10,
+    0x22,
+    0x0,
+    0x61,
+    0x0,
+    0x4,
+    0x15,
+    0x0,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0xd,
+    0x1,
+    0x1,
+    0x24,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x18,
+    0x58,
+    0x0,
+    0x0,
+    0xa,
+    0x19,
+    0x10,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x12,
+    0x15,
+    0x0,
+    0xc,
+    0x7,
+    0x3,
+    0x0,
+    0x1a,
+    0x7,
+    0xc,
+    0x1,
+    0x5,
+    0x4,
+    0x21,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0xa,
+    0x0,
+    0xa,
+    0x0,
+    0x4,
+    0x9,
+    0x5,
+    0xd,
+    0x5,
+    0x0,
+    0x3,
+    0x6,
+    0x26,
+    0xb,
+    0x0,
+    0x4,
+    0x6,
+    0x0,
+    0x13,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x24,
+    0x1,
+    0x1d,
+    0x1,
+    0x0,
+    0x0,
+    0x10,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0xa,
+    0x0,
+    0xd,
+    0x0,
+    0x10,
+    0x0,
+    0x6,
+    0x5,
+    0x0,
+    0x0,
+    0x9,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x16,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x1,
+    0x25,
+    0x5,
+    0x0,
+    0xa,
+    0xd,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x12,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x9,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x4,
+    0x1,
+    0x6,
+    0xb,
+    0x3,
+    0x6,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0xd,
+    0xf,
+    0xe,
+    0x0,
+    0x1,
+    0x1,
+    0x4,
+    0xf,
+    0x10,
+    0x0,
+    0x5,
+    0x0,
+    0x19,
+    0x1,
+    0xe,
+    0x0,
+    0x8,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x11,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x5,
+    0x8,
+    0x0,
+    0x0,
+    0xc,
+    0xa,
+    0x0,
+    0x6,
+    0x9,
+    0x3,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x1b,
+    0x1,
+    0xe,
+    0x0,
+    0x8,
+    0x5,
+    0x3,
+    0x15,
+    0x0,
+    0x2,
+    0x7,
+    0xb,
+    0x3,
+    0x0,
+    0xa,
+    0x3,
+    0x0,
+    0x6,
+    0x0,
+    0xa,
+    0x0,
+    0x1,
+    0x3,
+    0x8,
+    0x0,
+    0x9,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x17,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x5,
+    0x16,
+    0x0,
+    0x10,
+    0x3,
+    0x4,
+    0x11,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x12,
+    0x1,
+    0x4,
+    0xa,
+    0xb,
+    0x4,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x11,
+    0x1,
+    0x6,
+    0x6,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x7,
+    0x0,
+    0x3,
+    0xa,
+    0x0,
+    0x1,
+    0xa,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0xd,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x6,
+    0x8,
+    0x4,
+    0x5,
+    0x0,
+    0xb,
+    0x0,
+    0x4,
+    0xb,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0xb,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x7,
+    0x13,
+    0x4,
+    0x19,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x6,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0x2,
+    0x3,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x7,
+    0x1,
+    0x9,
+    0x6,
+    0x4,
+    0x1,
+    0x5,
+    0x0,
+    0x1,
+    0x2,
+    0x8,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0xb,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x6,
+    0x2,
+    0x5,
+    0x8,
+    0x12,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0xd,
+    0x0,
+    0x0,
+    0xb,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0xc,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x8,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x6,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xe,
+    0x10,
+    0x0,
+    0x5,
+    0x4,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x5,
+    0x2,
+    0x3,
+    0x4,
+    0x0,
+    0x3,
+    0x3,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0xe,
+    0x1,
+    0x2,
+    0x1,
+    0x4,
+    0x2,
+    0x5,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x5,
+    0x6,
+    0x6,
+    0x5,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x6,
+    0x2,
+    0x8,
+    0x0,
+    0x0,
+    0x7,
+    0x1,
+    0x2,
+    0x2,
+    0x5,
+    0x4,
+    0x11,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0xb,
+    0x6,
+    0x0,
+    0x6,
+    0x0,
+    0x4,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x6,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0xc,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0x8,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x3,
+    0x4,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x1,
+    0x7,
+    0x0,
+    0x0,
+    0x7,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0xb,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x3,
+    0x6,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x1,
+    0x3,
+    0x3,
+    0xa,
+    0x7,
+    0x0,
+    0x4,
+    0x1,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x2,
+    0x6,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x7,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x5,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x2,
+    0x0,
+    0x8,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x4,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x5,
+    0x5,
+    0x0,
+    0x5,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x6,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+];
+pub(crate) const COMPOSITION_TABLE_KV: &[(u32, char)] = &[
+    (0x64A0654, '\u{0626}'),
+    (0x690309, '\u{1EC9}'),
+    (0x650306, '\u{0115}'),
+    (0x423030B, '\u{04F2}'),
+    (0x47030C, '\u{01E6}'),
+    (0x570301, '\u{1E82}'),
+    (0xC50301, '\u{01FA}'),
+    (0x21D20338, '\u{21CF}'),
+    (0x430307, '\u{010A}'),
+    (0x7A0307, '\u{017C}'),
+    (0x49030C, '\u{01CF}'),
+    (0x720307, '\u{1E59}'),
+    (0x304B3099, '\u{304C}'),
+    (0x1F610345, '\u{1FA1}'),
+    (0x410307, '\u{0226}'),
+    (0x6B0323, '\u{1E33}'),
+    (0x3990304, '\u{1FD9}'),
+    (0x1F490301, '\u{1F4D}'),
+    (0x3CA0342, '\u{1FD7}'),
+    (0x550304, '\u{016A}'),
+    (0x30DB309A, '\u{30DD}'),
+    (0x1F6E0345, '\u{1FAE}'),
+    (0x420331, '\u{1E06}'),
+    (0x41E0308, '\u{04E6}'),
+    (0x410325, '\u{1E00}'),
+    (0x520331, '\u{1E5E}'),
+    (0x1FF60345, '\u{1FF7}'),
+    (0x22720338, '\u{2274}'),
+    (0x22480338, '\u{2249}'),
+    (0x1FBF0301, '\u{1FCE}'),
+    (0x30C63099, '\u{30C7}'),
+    (0x760323, '\u{1E7F}'),
+    (0x700307, '\u{1E57}'),
+    (0x1F510301, '\u{1F55}'),
+    (0x750328, '\u{0173}'),
+    (0x305B3099, '\u{305C}'),
+    (0x41030A, '\u{00C5}'),
+    (0x1A10323, '\u{1EE3}'),
+    (0x550311, '\u{0216}'),
+    (0x530307, '\u{1E60}'),
+    (0xDC030C, '\u{01D9}'),
+    (0x4F0300, '\u{00D2}'),
+    (0x6F0307, '\u{022F}'),
+    (0x470301, '\u{01F4}'),
+    (0x610309, '\u{1EA3}'),
+    (0x1F080301, '\u{1F0C}'),
+    (0x3B90301, '\u{03AF}'),
+    (0x4330301, '\u{0453}'),
+    (0x1F200345, '\u{1F90}'),
+    (0x620307, '\u{1E03}'),
+    (0x1F030345, '\u{1F83}'),
+    (0x570308, '\u{1E84}'),
+    (0x5A0307, '\u{017B}'),
+    (0x30C13099, '\u{30C2}'),
+    (0x1A10309, '\u{1EDF}'),
+    (0x6270655, '\u{0625}'),
+    (0x3BF0314, '\u{1F41}'),
+    (0x670301, '\u{01F5}'),
+    (0x39F0301, '\u{038C}'),
+    (0xEA0301, '\u{1EBF}'),
+    (0x63030C, '\u{010D}'),
+    (0x1F000345, '\u{1F80}'),
+    (0x4130301, '\u{0403}'),
+    (0x4B0323, '\u{1E32}'),
+    (0x790301, '\u{00FD}'),
+    (0x770301, '\u{1E83}'),
+    (0x1F0E0345, '\u{1F8E}'),
+    (0x480308, '\u{1E26}'),
+    (0x30A63099, '\u{30F4}'),
+    (0x1020300, '\u{1EB0}'),
+    (0x6C0301, '\u{013A}'),
+    (0x450309, '\u{1EBA}'),
+    (0x1F390301, '\u{1F3D}'),
+    (0x690311, '\u{020B}'),
+    (0x4230304, '\u{04EE}'),
+    (0x61030C, '\u{01CE}'),
+    (0x1F100300, '\u{1F12}'),
+    (0x4380300, '\u{045D}'),
+    (0x480323, '\u{1E24}'),
+    (0x1B111B35, '\u{1B12}'),
+    (0x430301, '\u{0106}'),
+    (0x540323, '\u{1E6C}'),
+    (0x490303, '\u{0128}'),
+    (0x1EA10302, '\u{1EAD}'),
+    (0x4350308, '\u{0451}'),
+    (0x610307, '\u{0227}'),
+    (0x1F000300, '\u{1F02}'),
+    (0x6D0307, '\u{1E41}'),
+    (0x760303, '\u{1E7D}'),
+    (0x730327, '\u{015F}'),
+    (0x470304, '\u{1E20}'),
+    (0x470306, '\u{011E}'),
+    (0x1F6D0345, '\u{1FAD}'),
+    (0x6F0303, '\u{00F5}'),
+    (0x6B0331, '\u{1E35}'),
+    (0x720331, '\u{1E5F}'),
+    (0x1B00300, '\u{1EEB}'),
+    (0x1B0B1B35, '\u{1B0C}'),
+    (0x55032D, '\u{1E76}'),
+    (0x61030A, '\u{00E5}'),
+    (0x30463099, '\u{3094}'),
+    (0x1B3A1B35, '\u{1B3B}'),
+    (0x55030A, '\u{016E}'),
+    (0x928093C, '\u{0929}'),
+    (0x3C90313, '\u{1F60}'),
+    (0x650330, '\u{1E1B}'),
+    (0x590303, '\u{1EF8}'),
+    (0x450330, '\u{1E1A}'),
+    (0x640331, '\u{1E0F}'),
+    (0x3B90308, '\u{03CA}'),
+    (0x309D3099, '\u{309E}'),
+    (0x443030B, '\u{04F3}'),
+    (0xB470B3E, '\u{0B4B}'),
+    (0x6F030F, '\u{020D}'),
+    (0x6E0323, '\u{1E47}'),
+    (0x690308, '\u{00EF}'),
+    (0x65032D, '\u{1E19}'),
+    (0x15A0307, '\u{1E64}'),
+    (0x1F180301, '\u{1F1C}'),
+    (0x1F090301, '\u{1F0D}'),
+    (0x1F270345, '\u{1F97}'),
+    (0x7A0302, '\u{1E91}'),
+    (0x590301, '\u{00DD}'),
+    (0x4C0331, '\u{1E3A}'),
+    (0x1F640345, '\u{1FA4}'),
+    (0x1EB90302, '\u{1EC7}'),
+    (0x1F240345, '\u{1F94}'),
+    (0x1130300, '\u{1E15}'),
+    (0x69030F, '\u{0209}'),
+    (0x740331, '\u{1E6F}'),
+    (0x1F480301, '\u{1F4C}'),
+    (0x7A0331, '\u{1E95}'),
+    (0x1F290345, '\u{1F99}'),
+    (0xD40301, '\u{1ED0}'),
+    (0xC40304, '\u{01DE}'),
+    (0x3970301, '\u{0389}'),
+    (0x72030C, '\u{0159}'),
+    (0x1F110301, '\u{1F15}'),
+    (0xF40309, '\u{1ED5}'),
+    (0x450327, '\u{0228}'),
+    (0x6F031B, '\u{01A1}'),
+    (0xC60304, '\u{01E2}'),
+    (0x3990308, '\u{03AA}'),
+    (0x3CE0345, '\u{1FF4}'),
+    (0x6D0301, '\u{1E3F}'),
+    (0x1030309, '\u{1EB3}'),
+    (0x6F0302, '\u{00F4}'),
+    (0x73030C, '\u{0161}'),
+    (0x750301, '\u{00FA}'),
+    (0x1F690301, '\u{1F6D}'),
+    (0x3A90301, '\u{038F}'),
+    (0x3D0338, '\u{2260}'),
+    (0x1FC60345, '\u{1FC7}'),
+    (0x770300, '\u{1E81}'),
+    (0x2280306, '\u{1E1C}'),
+    (0x6C0331, '\u{1E3B}'),
+    (0x30AD3099, '\u{30AE}'),
+    (0x1EB80302, '\u{1EC6}'),
+    (0x550302, '\u{00DB}'),
+    (0xDD90DCF, '\u{0DDC}'),
+    (0x3A50304, '\u{1FE9}'),
+    (0x3A90314, '\u{1F69}'),
+    (0x740327, '\u{0163}'),
+    (0x530326, '\u{0218}'),
+    (0x55030B, '\u{0170}'),
+    (0x306F309A, '\u{3071}'),
+    (0x6B0327, '\u{0137}'),
+    (0x750330, '\u{1E75}'),
+    (0x730301, '\u{015B}'),
+    (0x1F300342, '\u{1F36}'),
+    (0x470307, '\u{0120}'),
+    (0xCC60CD5, '\u{0CC7}'),
+    (0x1F690300, '\u{1F6B}'),
+    (0x1030301, '\u{1EAF}'),
+    (0x750311, '\u{0217}'),
+    (0x930093C, '\u{0931}'),
+    (0x30613099, '\u{3062}'),
+    (0x770323, '\u{1E89}'),
+    (0xF50301, '\u{1E4D}'),
+    (0xFC0300, '\u{01DC}'),
+    (0x49030F, '\u{0208}'),
+    (0x690302, '\u{00EE}'),
+    (0x1F230345, '\u{1F93}'),
+    (0xF40300, '\u{1ED3}'),
+    (0x44B0308, '\u{04F9}'),
+    (0x1F2E0345, '\u{1F9E}'),
+    (0x650300, '\u{00E8}'),
+    (0x490308, '\u{00CF}'),
+    (0x1F280301, '\u{1F2C}'),
+    (0x1F180300, '\u{1F1A}'),
+    (0x6270653, '\u{0622}'),
+    (0x1F200301, '\u{1F24}'),
+    (0x22030338, '\u{2204}'),
+    (0x790304, '\u{0233}'),
+    (0x1F390300, '\u{1F3B}'),
+    (0x610325, '\u{1E01}'),
+    (0x790309, '\u{1EF7}'),
+    (0x1AF0303, '\u{1EEE}'),
+    (0x6F0301, '\u{00F3}'),
+    (0x640323, '\u{1E0D}'),
+    (0x304F3099, '\u{3050}'),
+    (0x1F010345, '\u{1F81}'),
+    (0xCA0309, '\u{1EC2}'),
+    (0x3D20308, '\u{03D4}'),
+    (0x1F500301, '\u{1F54}'),
+    (0x1F010300, '\u{1F03}'),
+    (0x3A90345, '\u{1FFC}'),
+    (0x4270308, '\u{04F4}'),
+    (0x530302, '\u{015C}'),
+    (0x520301, '\u{0154}'),
+    (0x450306, '\u{0114}'),
+    (0x530323, '\u{1E62}'),
+    (0x670306, '\u{011F}'),
+    (0x22760338, '\u{2278}'),
+    (0x4350300, '\u{0450}'),
+    (0x30B53099, '\u{30B6}'),
+    (0x6F030B, '\u{0151}'),
+    (0x4180304, '\u{04E2}'),
+    (0x630307, '\u{010B}'),
+    (0x3D20301, '\u{03D3}'),
+    (0x227C0338, '\u{22E0}'),
+    (0x610304, '\u{0101}'),
+    (0xA80300, '\u{1FED}'),
+    (0x440331, '\u{1E0E}'),
+    (0x650311, '\u{0207}'),
+    (0xF80301, '\u{01FF}'),
+    (0x75030C, '\u{01D4}'),
+    (0x530327, '\u{015E}'),
+    (0x30573099, '\u{3058}'),
+    (0x3B70345, '\u{1FC3}'),
+    (0x69030C, '\u{01D0}'),
+    (0x6E0327, '\u{0146}'),
+    (0x780307, '\u{1E8B}'),
+    (0x1F000342, '\u{1F06}'),
+    (0x1B00303, '\u{1EEF}'),
+    (0x470327, '\u{0122}'),
+    (0xC20309, '\u{1EA8}'),
+    (0x6C032D, '\u{1E3D}'),
+    (0x304D3099, '\u{304E}'),
+    (0x690303, '\u{0129}'),
+    (0x1AF0323, '\u{1EF0}'),
+    (0x4F0302, '\u{00D4}'),
+    (0x1020301, '\u{1EAE}'),
+    (0x4470308, '\u{04F5}'),
+    (0x22A80338, '\u{22AD}'),
+    (0x3C50300, '\u{1F7A}'),
+    (0x3910313, '\u{1F08}'),
+    (0x64032D, '\u{1E13}'),
+    (0xCF0301, '\u{1E2E}'),
+    (0x61030F, '\u{0201}'),
+    (0x1EA10306, '\u{1EB7}'),
+    (0x790323, '\u{1EF5}'),
+    (0x21900338, '\u{219A}'),
+    (0x1F250345, '\u{1F95}'),
+    (0x4F0304, '\u{014C}'),
+    (0x4F0306, '\u{014E}'),
+    (0x30B33099, '\u{30B4}'),
+    (0x440327, '\u{1E10}'),
+    (0xB920BD7, '\u{0B94}'),
+    (0x550308, '\u{00DC}'),
+    (0x650323, '\u{1EB9}'),
+    (0x307B3099, '\u{307C}'),
+    (0x4F030C, '\u{01D1}'),
+    (0x670304, '\u{1E21}'),
+    (0x6A030C, '\u{01F0}'),
+    (0x550323, '\u{1EE4}'),
+    (0x1A10301, '\u{1EDB}'),
+    (0x590323, '\u{1EF4}'),
+    (0x410300, '\u{00C0}'),
+    (0x30B93099, '\u{30BA}'),
+    (0x4230308, '\u{04F0}'),
+    (0x530301, '\u{015A}'),
+    (0x30D8309A, '\u{30DA}'),
+    (0x750309, '\u{1EE7}'),
+    (0x550330, '\u{1E74}'),
+    (0x520327, '\u{0156}'),
+    (0x4370308, '\u{04DF}'),
+    (0xCA0300, '\u{1EC0}'),
+    (0x21940338, '\u{21AE}'),
+    (0x3B10306, '\u{1FB0}'),
+    (0x1F610342, '\u{1F67}'),
+    (0x223C0338, '\u{2241}'),
+    (0x30D23099, '\u{30D3}'),
+    (0x1F6B0345, '\u{1FAB}'),
+    (0x490307, '\u{0130}'),
+    (0x410323, '\u{1EA0}'),
+    (0x550309, '\u{1EE6}'),
+    (0x75030B, '\u{0171}'),
+    (0x30533099, '\u{3054}'),
+    (0x305D3099, '\u{305E}'),
+    (0x4C0323, '\u{1E36}'),
+    (0x2260304, '\u{01E0}'),
+    (0x475030F, '\u{0477}'),
+    (0x490328, '\u{012E}'),
+    (0x1F210300, '\u{1F23}'),
+    (0x1F610301, '\u{1F65}'),
+    (0x1F210342, '\u{1F27}'),
+    (0x670302, '\u{011D}'),
+    (0x4E0301, '\u{0143}'),
+    (0x4E0303, '\u{00D1}'),
+    (0x3990300, '\u{1FDA}'),
+    (0x3BF0301, '\u{03CC}'),
+    (0x4150300, '\u{0400}'),
+    (0x3C90314, '\u{1F61}'),
+    (0x22A20338, '\u{22AC}'),
+    (0x30DB3099, '\u{30DC}'),
+    (0x3A50314, '\u{1F59}'),
+    (0x52030F, '\u{0210}'),
+    (0x4E0323, '\u{1E46}'),
+    (0x1F0D0345, '\u{1F8D}'),
+    (0x1ECD0302, '\u{1ED9}'),
+    (0xFC030C, '\u{01DA}'),
+    (0xD60304, '\u{022A}'),
+    (0x1F000301, '\u{1F04}'),
+    (0x30CF3099, '\u{30D0}'),
+    (0x4350306, '\u{04D7}'),
+    (0x220B0338, '\u{220C}'),
+    (0x590300, '\u{1EF2}'),
+    (0x4170308, '\u{04DE}'),
+    (0x6E030C, '\u{0148}'),
+    (0x4C030C, '\u{013D}'),
+    (0x1690301, '\u{1E79}'),
+    (0x4100308, '\u{04D2}'),
+    (0x1A00301, '\u{1EDA}'),
+    (0x41030F, '\u{0200}'),
+    (0x720301, '\u{0155}'),
+    (0x450303, '\u{1EBC}'),
+    (0x1B0D1B35, '\u{1B0E}'),
+    (0x1120301, '\u{1E16}'),
+    (0x4A0302, '\u{0134}'),
+    (0x3BF0300, '\u{1F78}'),
+    (0x30593099, '\u{305A}'),
+    (0x4F030B, '\u{0150}'),
+    (0x610328, '\u{0105}'),
+    (0x30D83099, '\u{30D9}'),
+    (0x1F2B0345, '\u{1F9B}'),
+    (0x1F400301, '\u{1F44}'),
+    (0x65030F, '\u{0205}'),
+    (0x3AE0345, '\u{1FC4}'),
+    (0x1680301, '\u{1E78}'),
+    (0x740326, '\u{021B}'),
+    (0x3B90342, '\u{1FD6}'),
+    (0x1F6F0345, '\u{1FAF}'),
+    (0x3A50301, '\u{038E}'),
+    (0x1F090345, '\u{1F89}'),
+    (0x550300, '\u{00D9}'),
+    (0x41030C, '\u{01CD}'),
+    (0x430327, '\u{00C7}'),
+    (0x460307, '\u{1E1E}'),
+    (0x3B50301, '\u{03AD}'),
+    (0xD470D3E, '\u{0D4B}'),
+    (0x610311, '\u{0203}'),
+    (0xD50308, '\u{1E4E}'),
+    (0x3C90300, '\u{1F7C}'),
+    (0x4430306, '\u{045E}'),
+    (0x1FFE0301, '\u{1FDE}'),
+    (0x3990301, '\u{038A}'),
+    (0x790307, '\u{1E8F}'),
+    (0x1E5A0304, '\u{1E5C}'),
+    (0x75030F, '\u{0215}'),
+    (0x9C709BE, '\u{09CB}'),
+    (0x1B071B35, '\u{1B08}'),
+    (0x690330, '\u{1E2D}'),
+    (0x307B309A, '\u{307D}'),
+    (0x30C83099, '\u{30C9}'),
+    (0x22B30338, '\u{22EB}'),
+    (0x1B00301, '\u{1EE9}'),
+    (0x790300, '\u{1EF3}'),
+    (0x570307, '\u{1E86}'),
+    (0x690328, '\u{012F}'),
+    (0x5A0323, '\u{1E92}'),
+    (0x3C50342, '\u{1FE6}'),
+    (0x4F0309, '\u{1ECE}'),
+    (0x1F290342, '\u{1F2F}'),
+    (0x1A00300, '\u{1EDC}'),
+    (0x1F2A0345, '\u{1F9A}'),
+    (0x14D0301, '\u{1E53}'),
+    (0x21D00338, '\u{21CD}'),
+    (0x550328, '\u{0172}'),
+    (0x680331, '\u{1E96}'),
+    (0x68030C, '\u{021F}'),
+    (0x4C0301, '\u{0139}'),
+    (0x22860338, '\u{2288}'),
+    (0x39F0314, '\u{1F49}'),
+    (0x3A50306, '\u{1FE8}'),
+    (0xB470B56, '\u{0B48}'),
+    (0x30753099, '\u{3076}'),
+    (0x1E5B0304, '\u{1E5D}'),
+    (0x1F6A0345, '\u{1FAA}'),
+    (0x540327, '\u{0162}'),
+    (0x1020303, '\u{1EB4}'),
+    (0x39F0313, '\u{1F48}'),
+    (0x1F090342, '\u{1F0F}'),
+    (0x4100306, '\u{04D0}'),
+    (0x14D0300, '\u{1E51}'),
+    (0x4430304, '\u{04EF}'),
+    (0x21920338, '\u{219B}'),
+    (0x22610338, '\u{2262}'),
+    (0xF50304, '\u{022D}'),
+    (0x3B90313, '\u{1F30}'),
+    (0x6F0308, '\u{00F6}'),
+    (0x730307, '\u{1E61}'),
+    (0x75031B, '\u{01B0}'),
+    (0x30B73099, '\u{30B8}'),
+    (0x1E620307, '\u{1E68}'),
+    (0x410306, '\u{0102}'),
+    (0x3970314, '\u{1F29}'),
+    (0x630302, '\u{0109}'),
+    (0x6A0302, '\u{0135}'),
+    (0xE50301, '\u{01FB}'),
+    (0x730326, '\u{0219}'),
+    (0x1F740345, '\u{1FC2}'),
+    (0x650309, '\u{1EBB}'),
+    (0x5A030C, '\u{017D}'),
+    (0x22250338, '\u{2226}'),
+    (0x3A90313, '\u{1F68}'),
+    (0x720327, '\u{0157}'),
+    (0x1F090300, '\u{1F0B}'),
+    (0x4360308, '\u{04DD}'),
+    (0x1F080345, '\u{1F88}'),
+    (0x620331, '\u{1E07}'),
+    (0x22730338, '\u{2275}'),
+    (0x560323, '\u{1E7E}'),
+    (0x4F0323, '\u{1ECC}'),
+    (0x22E0304, '\u{0230}'),
+    (0x6D50654, '\u{06C0}'),
+    (0x3B10313, '\u{1F00}'),
+    (0x4F0303, '\u{00D5}'),
+    (0x1F010301, '\u{1F05}'),
+    (0x650304, '\u{0113}'),
+    (0x450323, '\u{1EB8}'),
+    (0xBC60BBE, '\u{0BCA}'),
+    (0x22650338, '\u{2271}'),
+    (0x3910314, '\u{1F09}'),
+    (0x1120300, '\u{1E14}'),
+    (0x4E0307, '\u{1E44}'),
+    (0x680308, '\u{1E27}'),
+    (0x4F0311, '\u{020E}'),
+    (0x550303, '\u{0168}'),
+    (0x3A10314, '\u{1FEC}'),
+    (0x3B10301, '\u{03AC}'),
+    (0x55030F, '\u{0214}'),
+    (0x3E0338, '\u{226F}'),
+    (0x1610307, '\u{1E67}'),
+    (0x1F040345, '\u{1F84}'),
+    (0x450300, '\u{00C8}'),
+    (0x1B091B35, '\u{1B0A}'),
+    (0x30FD3099, '\u{30FE}'),
+    (0x1F680301, '\u{1F6C}'),
+    (0x650303, '\u{1EBD}'),
+    (0x3B90304, '\u{1FD1}'),
+    (0x9C709D7, '\u{09CC}'),
+    (0x42B0308, '\u{04F8}'),
+    (0x4E0327, '\u{0145}'),
+    (0x1F630345, '\u{1FA3}'),
+    (0x4380306, '\u{0439}'),
+    (0x3B10314, '\u{1F01}'),
+    (0x540326, '\u{021A}'),
+    (0x740307, '\u{1E6B}'),
+    (0x3C90301, '\u{03CE}'),
+    (0x3990314, '\u{1F39}'),
+    (0x30B13099, '\u{30B2}'),
+    (0x750302, '\u{00FB}'),
+    (0xCC60CD6, '\u{0CC8}'),
+    (0x30BD3099, '\u{30BE}'),
+    (0x6E0300, '\u{01F9}'),
+    (0x1F390342, '\u{1F3F}'),
+    (0x2270304, '\u{01E1}'),
+    (0x22080338, '\u{2209}'),
+    (0x4180306, '\u{0419}'),
+    (0x44030C, '\u{010E}'),
+    (0x75030A, '\u{016F}'),
+    (0x6270654, '\u{0623}'),
+    (0x750306, '\u{016D}'),
+    (0x3B70300, '\u{1F74}'),
+    (0x1F660345, '\u{1FA6}'),
+    (0x1F690345, '\u{1FA9}'),
+    (0x15B0307, '\u{1E65}'),
+    (0x1F280342, '\u{1F2E}'),
+    (0x1F700345, '\u{1FB2}'),
+    (0x1F0F0345, '\u{1F8F}'),
+    (0x540331, '\u{1E6E}'),
+    (0x227B0338, '\u{2281}'),
+    (0x22870338, '\u{2289}'),
+    (0x1F010342, '\u{1F07}'),
+    (0x3A50308, '\u{03AB}'),
+    (0x1F650345, '\u{1FA5}'),
+    (0xD40300, '\u{1ED2}'),
+    (0xF60304, '\u{022B}'),
+    (0xCBF0CD5, '\u{0CC0}'),
+    (0x1F380342, '\u{1F3E}'),
+    (0x22B20338, '\u{22EA}'),
+    (0x72030F, '\u{0211}'),
+    (0x30BF3099, '\u{30C0}'),
+    (0x4E90308, '\u{04EB}'),
+    (0x22830338, '\u{2285}'),
+    (0x3CB0300, '\u{1FE2}'),
+    (0xCA0301, '\u{1EBE}'),
+    (0x590304, '\u{0232}'),
+    (0x690301, '\u{00ED}'),
+    (0x305F3099, '\u{3060}'),
+    (0x440307, '\u{1E0A}'),
+    (0x1ECC0302, '\u{1ED8}'),
+    (0x1F210345, '\u{1F91}'),
+    (0x410311, '\u{0202}'),
+    (0x720311, '\u{0213}'),
+    (0x3A50300, '\u{1FEA}'),
+    (0x1F590300, '\u{1F5B}'),
+    (0xE40304, '\u{01DF}'),
+    (0x1F500300, '\u{1F52}'),
+    (0x224D0338, '\u{226D}'),
+    (0x6E0301, '\u{0144}'),
+    (0x75032D, '\u{1E77}'),
+    (0xF40301, '\u{1ED1}'),
+    (0x3C90342, '\u{1FF6}'),
+    (0x3B70301, '\u{03AE}'),
+    (0x6E0307, '\u{1E45}'),
+    (0x410304, '\u{0100}'),
+    (0x1F190301, '\u{1F1D}'),
+    (0x3B10304, '\u{1FB1}'),
+    (0x3078309A, '\u{307A}'),
+    (0x570323, '\u{1E88}'),
+    (0x4430308, '\u{04F1}'),
+    (0x45032D, '\u{1E18}'),
+    (0x4150308, '\u{0401}'),
+    (0x4F0328, '\u{01EA}'),
+    (0x4D90308, '\u{04DB}'),
+    (0x4060308, '\u{0407}'),
+    (0xF40303, '\u{1ED7}'),
+    (0x3B90306, '\u{1FD0}'),
+    (0x650307, '\u{0117}'),
+    (0x1F680342, '\u{1F6E}'),
+    (0x4380304, '\u{04E3}'),
+    (0x1F410300, '\u{1F43}'),
+    (0x1FFE0300, '\u{1FDD}'),
+    (0x4F0301, '\u{00D3}'),
+    (0x640327, '\u{1E11}'),
+    (0x2290306, '\u{1E1D}'),
+    (0x7A0301, '\u{017A}'),
+    (0x620323, '\u{1E05}'),
+    (0x1F7C0345, '\u{1FF2}'),
+    (0x1B00323, '\u{1EF1}'),
+    (0x1F600301, '\u{1F64}'),
+    (0x30663099, '\u{3067}'),
+    (0x22640338, '\u{2270}'),
+    (0x1F310300, '\u{1F33}'),
+    (0x610323, '\u{1EA1}'),
+    (0x1F480300, '\u{1F4A}'),
+    (0x550301, '\u{00DA}'),
+    (0xC460C56, '\u{0C48}'),
+    (0x3CA0300, '\u{1FD2}'),
+    (0x1B7030C, '\u{01EE}'),
+    (0x720323, '\u{1E5B}'),
+    (0x1F200342, '\u{1F26}'),
+    (0x4300308, '\u{04D3}'),
+    (0x22820338, '\u{2284}'),
+    (0x1F590301, '\u{1F5D}'),
+    (0x1F080342, '\u{1F0E}'),
+    (0x440323, '\u{1E0C}'),
+    (0x1025102E, '\u{1026}'),
+    (0x3910304, '\u{1FB9}'),
+    (0x4B0331, '\u{1E34}'),
+    (0x690300, '\u{00EC}'),
+    (0x48032E, '\u{1E2A}'),
+    (0x630301, '\u{0107}'),
+    (0x1F690342, '\u{1F6F}'),
+    (0x3B50313, '\u{1F10}'),
+    (0x30CF309A, '\u{30D1}'),
+    (0x4E030C, '\u{0147}'),
+    (0xB470B57, '\u{0B4C}'),
+    (0x3910301, '\u{0386}'),
+    (0x650328, '\u{0119}'),
+    (0x1FBF0300, '\u{1FCD}'),
+    (0x3B70342, '\u{1FC6}'),
+    (0x450307, '\u{0116}'),
+    (0x1F380301, '\u{1F3C}'),
+    (0x3075309A, '\u{3077}'),
+    (0x4B0301, '\u{1E30}'),
+    (0x1030300, '\u{1EB1}'),
+    (0xE20303, '\u{1EAB}'),
+    (0x410302, '\u{00C2}'),
+    (0x650308, '\u{00EB}'),
+    (0x580307, '\u{1E8A}'),
+    (0x54030C, '\u{0164}'),
+    (0x3C50313, '\u{1F50}'),
+    (0x3B50314, '\u{1F11}'),
+    (0x1B3E1B35, '\u{1B40}'),
+    (0x1F100301, '\u{1F14}'),
+    (0x3072309A, '\u{3074}'),
+    (0x1F280345, '\u{1F98}'),
+    (0x22770338, '\u{2279}'),
+    (0x227A0338, '\u{2280}'),
+    (0x470302, '\u{011C}'),
+    (0x450308, '\u{00CB}'),
+    (0x550324, '\u{1E72}'),
+    (0x1F2C0345, '\u{1F9C}'),
+    (0x4B0327, '\u{0136}'),
+    (0x490302, '\u{00CE}'),
+    (0x680302, '\u{0125}'),
+    (0x520307, '\u{1E58}'),
+    (0x610301, '\u{00E1}'),
+    (0x4B030C, '\u{01E8}'),
+    (0x490309, '\u{1EC8}'),
+    (0x6C030C, '\u{013E}'),
+    (0x4D0307, '\u{1E40}'),
+    (0x1E360304, '\u{1E38}'),
+    (0x3C50304, '\u{1FE1}'),
+    (0x79030A, '\u{1E99}'),
+    (0x3970313, '\u{1F28}'),
+    (0x54032D, '\u{1E70}'),
+    (0x1F490300, '\u{1F4B}'),
+    (0x1B421B35, '\u{1B43}'),
+    (0x3B70313, '\u{1F20}'),
+    (0xEF0301, '\u{1E2F}'),
+    (0xE70301, '\u{1E09}'),
+    (0x16A0308, '\u{1E7A}'),
+    (0xCA0303, '\u{1EC4}'),
+    (0x3B10300, '\u{1F70}'),
+    (0x6D20654, '\u{06D3}'),
+    (0x30D53099, '\u{30D6}'),
+    (0x1F2F0345, '\u{1F9F}'),
+    (0x3B50300, '\u{1F72}'),
+    (0x750324, '\u{1E73}'),
+    (0x4150306, '\u{04D6}'),
+    (0x65030C, '\u{011B}'),
+    (0x570302, '\u{0174}'),
+    (0x1EA00306, '\u{1EB6}'),
+    (0x1F070345, '\u{1F87}'),
+    (0xA80301, '\u{0385}'),
+    (0x790302, '\u{0177}'),
+    (0x6E032D, '\u{1E4B}'),
+    (0x6F030C, '\u{01D2}'),
+    (0x3C90345, '\u{1FF3}'),
+    (0x430302, '\u{0108}'),
+    (0x790303, '\u{1EF9}'),
+    (0x740323, '\u{1E6D}'),
+    (0xE20309, '\u{1EA9}'),
+    (0x1F300300, '\u{1F32}'),
+    (0x6B0301, '\u{1E31}'),
+    (0x22920338, '\u{22E3}'),
+    (0x3950314, '\u{1F19}'),
+    (0x1F290301, '\u{1F2D}'),
+    (0x450328, '\u{0118}'),
+    (0x1FB60345, '\u{1FB7}'),
+    (0xD50304, '\u{022C}'),
+    (0x4300306, '\u{04D1}'),
+    (0xF50308, '\u{1E4F}'),
+    (0x1EA00302, '\u{1EAC}'),
+    (0x1F680300, '\u{1F6A}'),
+    (0x3970300, '\u{1FCA}'),
+    (0x450301, '\u{00C9}'),
+    (0x690304, '\u{012B}'),
+    (0xBC60BD7, '\u{0BCC}'),
+    (0x6F0304, '\u{014D}'),
+    (0x4F0308, '\u{00D6}'),
+    (0xBC70BBE, '\u{0BCB}'),
+    (0x55030C, '\u{01D3}'),
+    (0x3AC0345, '\u{1FB4}'),
+    (0x1FBF0342, '\u{1FCF}'),
+    (0x30D2309A, '\u{30D4}'),
+    (0x660307, '\u{1E1F}'),
+    (0x4E0300, '\u{01F8}'),
+    (0x790308, '\u{00FF}'),
+    (0x68032E, '\u{1E2B}'),
+    (0x64030C, '\u{010F}'),
+    (0x4F0307, '\u{022E}'),
+    (0x1F590342, '\u{1F5F}'),
+    (0x30AF3099, '\u{30B0}'),
+    (0xE60304, '\u{01E3}'),
+    (0x3C50301, '\u{03CD}'),
+    (0x770308, '\u{1E85}'),
+    (0x3B90314, '\u{1F31}'),
+    (0x750323, '\u{1EE5}'),
+    (0x590309, '\u{1EF6}'),
+    (0x292030C, '\u{01EF}'),
+    (0x550306, '\u{016C}'),
+    (0xE60301, '\u{01FD}'),
+    (0x16B0308, '\u{1E7B}'),
+    (0x4F030F, '\u{020C}'),
+    (0x3BF0313, '\u{1F40}'),
+    (0xD80301, '\u{01FE}'),
+    (0xC20303, '\u{1EAA}'),
+    (0x1F510300, '\u{1F53}'),
+    (0x1B00309, '\u{1EED}'),
+    (0x4E032D, '\u{1E4A}'),
+    (0x6F0309, '\u{1ECF}'),
+    (0x4180300, '\u{040D}'),
+    (0x22A90338, '\u{22AE}'),
+    (0x1F680345, '\u{1FA8}'),
+    (0x1B3C1B35, '\u{1B3D}'),
+    (0x1F400300, '\u{1F42}'),
+    (0x1F0B0345, '\u{1F8B}'),
+    (0x3C50306, '\u{1FE0}'),
+    (0x44032D, '\u{1E12}'),
+    (0xCCA0CD5, '\u{0CCB}'),
+    (0xEA0303, '\u{1EC5}'),
+    (0x4230306, '\u{040E}'),
+    (0xC70301, '\u{1E08}'),
+    (0x7A030C, '\u{017E}'),
+    (0x670307, '\u{0121}'),
+    (0x450311, '\u{0206}'),
+    (0x6F0300, '\u{00F2}'),
+    (0x30BB3099, '\u{30BC}'),
+    (0x4180308, '\u{04E4}'),
+    (0x30513099, '\u{3052}'),
+    (0x6C0323, '\u{1E37}'),
+    (0x3B70314, '\u{1F21}'),
+    (0x77030A, '\u{1E98}'),
+    (0x690323, '\u{1ECB}'),
+    (0x610303, '\u{00E3}'),
+    (0x30F13099, '\u{30F9}'),
+    (0x3B10345, '\u{1FB3}'),
+    (0xD460D3E, '\u{0D4A}'),
+    (0x3B90300, '\u{1F76}'),
+    (0x21D40338, '\u{21CE}'),
+    (0x1F620345, '\u{1FA2}'),
+    (0x770302, '\u{0175}'),
+    (0xFC0304, '\u{01D6}'),
+    (0x1130301, '\u{1E17}'),
+    (0x30683099, '\u{3069}'),
+    (0x1F600342, '\u{1F66}'),
+    (0x680323, '\u{1E25}'),
+    (0x3950313, '\u{1F18}'),
+    (0xEA0300, '\u{1EC1}'),
+    (0x3CB0342, '\u{1FE7}'),
+    (0x22430338, '\u{2244}'),
+    (0x30783099, '\u{3079}'),
+    (0x3990313, '\u{1F38}'),
+    (0x490330, '\u{1E2C}'),
+    (0x770307, '\u{1E87}'),
+    (0x650301, '\u{00E9}'),
+    (0x680327, '\u{1E29}'),
+    (0x22B50338, '\u{22ED}'),
+    (0x3B10342, '\u{1FB6}'),
+    (0x3910306, '\u{1FB8}'),
+    (0x4D0301, '\u{1E3E}'),
+    (0x410309, '\u{1EA2}'),
+    (0x1B051B35, '\u{1B06}'),
+    (0x3C0338, '\u{226E}'),
+    (0x590308, '\u{0178}'),
+    (0x1030303, '\u{1EB5}'),
+    (0x480327, '\u{1E28}'),
+    (0x6D0323, '\u{1E43}'),
+    (0x30643099, '\u{3065}'),
+    (0x4560308, '\u{0457}'),
+    (0x590302, '\u{0176}'),
+    (0x6C10654, '\u{06C2}'),
+    (0x43A0301, '\u{045C}'),
+    (0xE20300, '\u{1EA7}'),
+    (0x3950301, '\u{0388}'),
+    (0x630327, '\u{00E7}'),
+    (0x17F0307, '\u{1E9B}'),
+    (0x6480654, '\u{0624}'),
+    (0x30AB3099, '\u{30AC}'),
+    (0x1A00323, '\u{1EE2}'),
+    (0x4D80308, '\u{04DA}'),
+    (0x5A0331, '\u{1E94}'),
+    (0x67030C, '\u{01E7}'),
+    (0x39F0300, '\u{1FF8}'),
+    (0x650327, '\u{0229}'),
+    (0x490323, '\u{1ECA}'),
+    (0x1F110300, '\u{1F13}'),
+    (0x1F510342, '\u{1F57}'),
+    (0x4D0323, '\u{1E42}'),
+    (0x1F300301, '\u{1F34}'),
+    (0x6C0327, '\u{013C}'),
+    (0x1F050345, '\u{1F85}'),
+    (0x1A10300, '\u{1EDD}'),
+    (0x4160308, '\u{04DC}'),
+    (0x640307, '\u{1E0B}'),
+    (0x4C032D, '\u{1E3C}'),
+    (0x3C10314, '\u{1FE5}'),
+    (0x1EA0304, '\u{01EC}'),
+    (0x1F080300, '\u{1F0A}'),
+    (0x650302, '\u{00EA}'),
+    (0x3910300, '\u{1FBA}'),
+    (0x700301, '\u{1E55}'),
+    (0x1F020345, '\u{1F82}'),
+    (0x1020309, '\u{1EB2}'),
+    (0x750303, '\u{0169}'),
+    (0x1F0C0345, '\u{1F8C}'),
+    (0x3CB0301, '\u{03B0}'),
+    (0x740308, '\u{1E97}'),
+    (0x3950300, '\u{1FC8}'),
+    (0x227D0338, '\u{22E1}'),
+    (0x7A0323, '\u{1E93}'),
+    (0x6F0311, '\u{020F}'),
+    (0x6F0328, '\u{01EB}'),
+    (0x1F200300, '\u{1F22}'),
+    (0x1F190300, '\u{1F1B}'),
+    (0x560303, '\u{1E7C}'),
+    (0x6B030C, '\u{01E9}'),
+    (0x4E80308, '\u{04EA}'),
+    (0x3A90300, '\u{1FFA}'),
+    (0xA80342, '\u{1FC1}'),
+    (0x4360306, '\u{04C2}'),
+    (0xDC0301, '\u{01D7}'),
+    (0x750304, '\u{016B}'),
+    (0x22450338, '\u{2247}'),
+    (0x490304, '\u{012A}'),
+    (0x4380308, '\u{04E5}'),
+    (0xD460D57, '\u{0D4C}'),
+    (0x750300, '\u{00F9}'),
+    (0x22B40338, '\u{22EC}'),
+    (0x750308, '\u{00FC}'),
+    (0x3C50314, '\u{1F51}'),
+    (0x1600307, '\u{1E66}'),
+    (0x4160306, '\u{04C1}'),
+    (0x55031B, '\u{01AF}'),
+    (0x22AB0338, '\u{22AF}'),
+    (0x14C0300, '\u{1E50}'),
+    (0x1F310342, '\u{1F37}'),
+    (0x1F260345, '\u{1F96}'),
+    (0x22910338, '\u{22E2}'),
+    (0x500301, '\u{1E54}'),
+    (0x4C0327, '\u{013B}'),
+    (0x5A0301, '\u{0179}'),
+    (0x420307, '\u{1E02}'),
+    (0x3C10313, '\u{1FE4}'),
+    (0x1F410301, '\u{1F45}'),
+    (0x500307, '\u{1E56}'),
+    (0x43030C, '\u{010C}'),
+    (0x730323, '\u{1E63}'),
+    (0x30553099, '\u{3056}'),
+    (0x306F3099, '\u{3070}'),
+    (0x44D0308, '\u{04ED}'),
+    (0x1F670345, '\u{1FA7}'),
+    (0x1AF0301, '\u{1EE8}'),
+    (0x1F290300, '\u{1F2B}'),
+    (0x1B3F1B35, '\u{1B41}'),
+    (0x450302, '\u{00CA}'),
+    (0x6F0306, '\u{014F}'),
+    (0xFC0301, '\u{01D8}'),
+    (0x30F23099, '\u{30FA}'),
+    (0x1F2D0345, '\u{1F9D}'),
+    (0x14C0301, '\u{1E52}'),
+    (0x610308, '\u{00E4}'),
+    (0x1F600345, '\u{1FA0}'),
+    (0x1F0A0345, '\u{1F8A}'),
+    (0x610306, '\u{0103}'),
+    (0x1F600300, '\u{1F62}'),
+    (0x1AF0300, '\u{1EEA}'),
+    (0x43E0308, '\u{04E7}'),
+    (0x22230338, '\u{2224}'),
+    (0x3CA0301, '\u{0390}'),
+    (0x30D5309A, '\u{30D7}'),
+    (0x1F220345, '\u{1F92}'),
+    (0xD50301, '\u{1E4C}'),
+    (0x1F6C0345, '\u{1FAC}'),
+    (0x540307, '\u{1E6A}'),
+    (0x1E370304, '\u{1E39}'),
+    (0xDD90DCA, '\u{0DDA}'),
+    (0x1A10303, '\u{1EE1}'),
+    (0x48030C, '\u{021E}'),
+    (0xEA0309, '\u{1EC3}'),
+    (0x52030C, '\u{0158}'),
+    (0xD40303, '\u{1ED6}'),
+    (0x45030C, '\u{011A}'),
+    (0x30EF3099, '\u{30F7}'),
+    (0x480302, '\u{0124}'),
+    (0x520323, '\u{1E5A}'),
+    (0xC20300, '\u{1EA6}'),
+    (0x74032D, '\u{1E71}'),
+    (0x42D0308, '\u{04EC}'),
+    (0xDD90DDF, '\u{0DDE}'),
+    (0x410308, '\u{00C4}'),
+    (0x474030F, '\u{0476}'),
+    (0xC60301, '\u{01FC}'),
+    (0x1F310301, '\u{1F35}'),
+    (0x1F610300, '\u{1F63}'),
+    (0xCC60CC2, '\u{0CCA}'),
+    (0xC20301, '\u{1EA4}'),
+    (0x3C50308, '\u{03CB}'),
+    (0xE20301, '\u{1EA5}'),
+    (0x1F500342, '\u{1F56}'),
+    (0x610300, '\u{00E0}'),
+    (0x490311, '\u{020A}'),
+    (0x670327, '\u{0123}'),
+    (0x590307, '\u{1E8E}'),
+    (0x3970345, '\u{1FCC}'),
+    (0xD40309, '\u{1ED4}'),
+    (0x1A00303, '\u{1EE0}'),
+    (0x1FFE0342, '\u{1FDF}'),
+    (0x41A0301, '\u{040C}'),
+    (0x74030C, '\u{0165}'),
+    (0xDC0300, '\u{01DB}'),
+    (0x780308, '\u{1E8D}'),
+    (0xDC0304, '\u{01D5}'),
+    (0x610302, '\u{00E2}'),
+    (0x5A0302, '\u{1E90}'),
+    (0x933093C, '\u{0934}'),
+    (0x4F031B, '\u{01A0}'),
+    (0x520311, '\u{0212}'),
+    (0x6E0303, '\u{00F1}'),
+    (0x45030F, '\u{0204}'),
+    (0x1AF0309, '\u{1EEC}'),
+    (0x450304, '\u{0112}'),
+    (0x1F210301, '\u{1F25}'),
+    (0x22F0304, '\u{0231}'),
+    (0x3990306, '\u{1FD8}'),
+    (0x4E0331, '\u{1E48}'),
+    (0x1F380300, '\u{1F3A}'),
+    (0x490306, '\u{012C}'),
+    (0x690306, '\u{012D}'),
+    (0x1F060345, '\u{1F86}'),
+    (0x490301, '\u{00CD}'),
+    (0x570300, '\u{1E80}'),
+    (0x30F03099, '\u{30F8}'),
+    (0x53030C, '\u{0160}'),
+    (0x490300, '\u{00CC}'),
+    (0x30723099, '\u{3073}'),
+    (0x1F280300, '\u{1F2A}'),
+    (0x480307, '\u{1E22}'),
+    (0x1A00309, '\u{1EDE}'),
+    (0x1EB0304, '\u{01ED}'),
+    (0x1E630307, '\u{1E69}'),
+    (0x6F0323, '\u{1ECD}'),
+    (0x410303, '\u{00C3}'),
+    (0x3910345, '\u{1FBC}'),
+    (0x410328, '\u{0104}'),
+    (0x680307, '\u{1E23}'),
+    (0x6E0331, '\u{1E49}'),
+    (0xDDC0DCA, '\u{0DDD}'),
+    (0x580308, '\u{1E8C}'),
+    (0x410301, '\u{00C1}'),
+    (0x30C43099, '\u{30C5}'),
+    (0x420323, '\u{1E04}'),
+    (0x730302, '\u{015D}'),
+];
+
+pub(crate) fn composition_table_astral(c1: char, c2: char) -> Option<char> {
+    match (c1, c2) {
+        ('\u{11099}', '\u{110BA}') => Some('\u{1109A}'),
+        ('\u{1109B}', '\u{110BA}') => Some('\u{1109C}'),
+        ('\u{110A5}', '\u{110BA}') => Some('\u{110AB}'),
+        ('\u{11131}', '\u{11127}') => Some('\u{1112E}'),
+        ('\u{11132}', '\u{11127}') => Some('\u{1112F}'),
+        ('\u{11347}', '\u{1133E}') => Some('\u{1134B}'),
+        ('\u{11347}', '\u{11357}') => Some('\u{1134C}'),
+        ('\u{114B9}', '\u{114B0}') => Some('\u{114BC}'),
+        ('\u{114B9}', '\u{114BA}') => Some('\u{114BB}'),
+        ('\u{114B9}', '\u{114BD}') => Some('\u{114BE}'),
+        ('\u{115B8}', '\u{115AF}') => Some('\u{115BA}'),
+        ('\u{115B9}', '\u{115AF}') => Some('\u{115BB}'),
+        ('\u{11935}', '\u{11930}') => Some('\u{11938}'),
+        _ => None,
+    }
+}
+
+pub(crate) const CANONICAL_DECOMPOSED_SALT: &[u16] = &[
+    0xcae,
+    0xe,
+    0x0,
+    0x0,
+    0x45a,
+    0x23f,
+    0x0,
+    0x1e8,
+    0x28,
+    0x280,
+    0x0,
+    0x6,
+    0x14c,
+    0x201,
+    0x6,
+    0x20,
+    0x3,
+    0x0,
+    0x71,
+    0x18b,
+    0xd,
+    0x14d,
+    0xd3,
+    0x0,
+    0x2,
+    0x85,
+    0x45,
+    0xa,
+    0x4,
+    0xe9,
+    0x21,
+    0x0,
+    0x0,
+    0xaa,
+    0x2,
+    0x105,
+    0x0,
+    0x1b5,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x67,
+    0x8,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x47,
+    0x32,
+    0x0,
+    0x0,
+    0x3c,
+    0x45,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x10,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xce,
+    0x2c,
+    0x0,
+    0x1d,
+    0x0,
+    0x12,
+    0x0,
+    0x0,
+    0x11,
+    0x3,
+    0x1c,
+    0x7,
+    0x0,
+    0x1,
+    0x6a,
+    0x1,
+    0x16,
+    0x0,
+    0x6f,
+    0x0,
+    0x1,
+    0x25,
+    0x0,
+    0x27,
+    0x10,
+    0x0,
+    0x22,
+    0x0,
+    0xbc,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x15,
+    0x0,
+    0x0,
+    0x13,
+    0x0,
+    0x87,
+    0x0,
+    0x3a,
+    0x27,
+    0x0,
+    0x5,
+    0x16,
+    0x5,
+    0x14,
+    0x12,
+    0x21,
+    0x5,
+    0x2,
+    0x1,
+    0x0,
+    0x15,
+    0x26,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x17,
+    0x19,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x0,
+    0x10,
+    0x1,
+    0x1,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x22,
+    0x0,
+    0x2,
+    0x4,
+    0x13,
+    0x0,
+    0x11,
+    0x5a,
+    0x5,
+    0x13,
+    0xd,
+    0x4e,
+    0x8,
+    0x4,
+    0x18,
+    0x9,
+    0x64,
+    0x26,
+    0x0,
+    0x11,
+    0x0,
+    0x5,
+    0x30,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x3e,
+    0x46,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x37,
+    0x0,
+    0x0,
+    0x5,
+    0x3,
+    0x0,
+    0x13,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0xb,
+    0x1c,
+    0x1,
+    0x0,
+    0x5,
+    0x2f,
+    0x1,
+    0x0,
+    0x8,
+    0x1d,
+    0x30,
+    0x0,
+    0x25,
+    0x2,
+    0x12,
+    0x0,
+    0x0,
+    0x23,
+    0x2,
+    0x0,
+    0x0,
+    0xb,
+    0x18,
+    0xe,
+    0x0,
+    0x11,
+    0xc,
+    0x15,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x8,
+    0x8,
+    0x8,
+    0x0,
+    0x0,
+    0x9,
+    0xe,
+    0x0,
+    0x1,
+    0x9,
+    0x2c,
+    0x3,
+    0x1,
+    0x16,
+    0x11,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x18,
+    0x1,
+    0x30,
+    0x4,
+    0xc,
+    0xe,
+    0x9,
+    0x0,
+    0x3,
+    0xb,
+    0x0,
+    0x2,
+    0x5,
+    0x0,
+    0x10,
+    0x3,
+    0x2,
+    0x6,
+    0xb,
+    0x8,
+    0xa,
+    0x0,
+    0x8,
+    0x3,
+    0x1,
+    0x25,
+    0x3,
+    0x1b,
+    0x2,
+    0x12,
+    0x5,
+    0x7,
+    0x12,
+    0x0,
+    0x10,
+    0x0,
+    0x11,
+    0x0,
+    0x9,
+    0x0,
+    0x9,
+    0x0,
+    0xc,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x17,
+    0x0,
+    0x0,
+    0x3,
+    0xc,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x43,
+    0x0,
+    0x0,
+    0xb,
+    0x5,
+    0x9,
+    0x0,
+    0x0,
+    0x22,
+    0x2,
+    0x4,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x14,
+    0x1,
+    0x31,
+    0x0,
+    0x4,
+    0x20,
+    0x9,
+    0x7,
+    0x1,
+    0x21,
+    0x16,
+    0x1,
+    0x2,
+    0x0,
+    0x6,
+    0x0,
+    0xe,
+    0x0,
+    0x5,
+    0x12,
+    0xe,
+    0x4,
+    0x0,
+    0x0,
+    0x1d,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x0,
+    0x16,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x1,
+    0x0,
+    0xb,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x16,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1d,
+    0x7,
+    0x0,
+    0x1,
+    0x6,
+    0x4,
+    0x1,
+    0x3,
+    0xe,
+    0x9,
+    0x10,
+    0x8,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x2,
+    0x22,
+    0x0,
+    0x0,
+    0x4,
+    0x13,
+    0x11,
+    0x0,
+    0x2,
+    0xd,
+    0x0,
+    0x1,
+    0x4,
+    0xc,
+    0x1,
+    0x16,
+    0xe,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x15,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0x0,
+    0x5,
+    0x4,
+    0x0,
+    0x0,
+    0x11,
+    0xd,
+    0x11,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x1,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x6,
+    0xd,
+    0x1,
+    0x1,
+    0x4,
+    0xc,
+    0x2,
+    0x6,
+    0x0,
+    0x4,
+    0x27,
+    0x1c,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xf,
+    0x7,
+    0x8,
+    0x0,
+    0x3,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xf,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x16,
+    0xb,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x8,
+    0x4,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x4,
+    0x0,
+    0x1,
+    0xb,
+    0x1,
+    0x0,
+    0x0,
+    0x18,
+    0x9,
+    0x4,
+    0x7,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1e,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x3,
+    0xa,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x4,
+    0x1f,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x24,
+    0x7,
+    0x5,
+    0x2,
+    0x2,
+    0xa,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0xc,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0xb,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x6,
+    0x2,
+    0xc,
+    0xe,
+    0x1e,
+    0x0,
+    0x0,
+    0x10,
+    0x0,
+    0x1,
+    0x2,
+    0xd,
+    0x3,
+    0x0,
+    0x6,
+    0x0,
+    0x2,
+    0xa,
+    0x4,
+    0x0,
+    0xf,
+    0x10,
+    0x2,
+    0x1,
+    0x2,
+    0x6,
+    0x0,
+    0x0,
+    0xb,
+    0x0,
+    0x5,
+    0xd,
+    0x2,
+    0x0,
+    0x3,
+    0x7,
+    0x0,
+    0x5,
+    0x4,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x0,
+    0xf,
+    0x3,
+    0x0,
+    0x0,
+    0xc,
+    0x0,
+    0x17,
+    0x2,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0x1,
+    0x3,
+    0xd,
+    0x0,
+    0x5,
+    0x7,
+    0x4,
+    0x8,
+    0x0,
+    0xb,
+    0x8,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x9,
+    0x5,
+    0x0,
+    0x8,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x8,
+    0x0,
+    0x7,
+    0x0,
+    0x2,
+    0x2,
+    0x5,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x13,
+    0x8,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xa,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0x2,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x2,
+    0x7,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x7,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x9,
+    0x2,
+    0x2,
+    0x6,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x6,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x2,
+    0x11,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0xe,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x10,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x6,
+    0x0,
+    0x9,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x6,
+    0x5,
+    0x1,
+    0x1,
+    0x2,
+    0x8,
+    0x2,
+    0x3,
+    0x1,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0xd,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x2f,
+    0x1,
+    0x2,
+    0x1,
+    0x6,
+    0x15,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1a,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x7,
+    0x0,
+    0x9,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xe,
+    0x2,
+    0x2,
+    0x9,
+    0x2,
+    0xb,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0xa,
+    0x3,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x9,
+    0x0,
+    0x0,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x7,
+    0x18,
+    0x1,
+    0x0,
+    0x7,
+    0x1,
+    0x1,
+    0x0,
+    0x19,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xb,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x6,
+    0x2,
+    0x1,
+    0x5,
+    0x1,
+    0x6,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x1c,
+    0x6,
+    0x2,
+    0x2,
+    0x3,
+    0x1,
+    0x8,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x16,
+    0x6,
+    0xb,
+    0x0,
+    0x4,
+    0x4,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x16,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x9,
+    0xf,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x8,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x8,
+    0x1,
+    0x2,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x2,
+    0x4,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0xf,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x9,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x4,
+    0x1,
+    0x0,
+    0x7,
+    0x5,
+    0x3,
+    0x2,
+    0xa,
+    0x2,
+    0x3,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x2,
+    0xa,
+    0x0,
+    0x1,
+    0x6,
+    0x5,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x8,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x14,
+    0x0,
+    0x1,
+    0x2,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x9,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0xd,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0xe,
+    0x0,
+    0x2,
+    0x17,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x8,
+    0x0,
+    0x1,
+    0x9,
+    0x3,
+    0x0,
+    0x1,
+    0x7,
+    0x0,
+    0x4,
+    0x1,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x5,
+    0x0,
+    0x5,
+    0x4,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x2,
+    0x3,
+    0x1,
+    0xf,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0x2,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0xa,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x9,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x10,
+    0x1,
+    0x2,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x6,
+    0x4,
+    0x1,
+    0x1,
+    0x2,
+    0x8,
+    0x3,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x1,
+    0xe,
+    0x20,
+    0x0,
+    0x1,
+    0x1,
+    0xc,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0xa,
+    0x2,
+    0x1,
+    0x4,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x6,
+    0x0,
+    0x3,
+    0x0,
+    0x4,
+    0x1,
+    0x7,
+    0x1,
+    0x6,
+    0x8,
+    0x1,
+    0x7,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x8,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x6,
+    0x2,
+    0x0,
+    0x2,
+    0x4,
+    0x6,
+    0x1,
+    0x4,
+    0x3,
+    0x6,
+    0x1,
+    0x3,
+    0x2,
+    0x4,
+    0x2,
+    0x0,
+    0x6,
+    0x2,
+    0x0,
+    0x5,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x7,
+    0x3,
+    0x3,
+    0x0,
+    0x1,
+    0x7,
+    0x1,
+    0xe,
+    0x0,
+    0x1,
+    0x0,
+    0xb,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x6,
+    0x3,
+    0x2,
+    0x6,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x10,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x5,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0xb,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x7,
+    0x1,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x2,
+    0x5,
+    0x1,
+    0x1,
+    0x9,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x4,
+    0x9,
+    0x6,
+    0x0,
+    0x9,
+    0x6,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x1,
+    0x2,
+    0x4,
+    0x2,
+    0x3,
+    0x2,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x5,
+    0xa,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0x0,
+    0x3,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x3,
+    0x5,
+    0x5,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x1,
+    0x10,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x6,
+    0x5,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x7,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x6,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x7,
+    0x5,
+    0x3,
+    0x1,
+    0x0,
+    0xa,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x3,
+    0x1,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xa,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x3,
+    0x0,
+    0x6,
+    0x1,
+    0x3,
+    0x6,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x5,
+    0x4,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+    0x4,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x4,
+    0xa,
+    0x0,
+    0x3,
+    0x4,
+    0x5,
+    0x5,
+    0x7,
+    0x3,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x9,
+    0x3,
+    0x10,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x5,
+    0x2,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x7,
+    0x6,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x7,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x5,
+    0x2,
+    0x6,
+    0x1,
+    0x2,
+    0x5,
+    0x6,
+    0x2,
+    0x4,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x6,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x2,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x4,
+    0x2,
+    0xb,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x6,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x9,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x4,
+    0x0,
+    0x2,
+    0x7,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x6,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x6,
+    0x1,
+    0x1,
+    0x7,
+    0x0,
+    0x1,
+    0x2,
+    0x5,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x2,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+];
+pub(crate) const CANONICAL_DECOMPOSED_KV: &[(u32, &'static [char])] = &[
+    (0x4ee, &['\u{0423}', '\u{0304}']),
+    (0x2f869, &['\u{5B08}']),
+    (0x30b2, &['\u{30B1}', '\u{3099}']),
+    (0x1f2e, &['\u{0397}', '\u{0313}', '\u{0342}']),
+    (0x120, &['\u{0047}', '\u{0307}']),
+    (0xf905, &['\u{4E32}']),
+    (0xf9e8, &['\u{88E1}']),
+    (0x1e3a, &['\u{004C}', '\u{0331}']),
+    (0xf965, &['\u{4FBF}']),
+    (0x1ebd, &['\u{0065}', '\u{0303}']),
+    (0x2f83a, &['\u{53F1}']),
+    (0x101, &['\u{0061}', '\u{0304}']),
+    (0xf986, &['\u{95AD}']),
+    (0xfa57, &['\u{7DF4}']),
+    (0x1f91, &['\u{03B7}', '\u{0314}', '\u{0345}']),
+    (0x4df, &['\u{0437}', '\u{0308}']),
+    (0x1e2, &['\u{00C6}', '\u{0304}']),
+    (0x229, &['\u{0065}', '\u{0327}']),
+    (0x1af, &['\u{0055}', '\u{031B}']),
+    (0xfa66, &['\u{8FB6}']),
+    (0x1f39, &['\u{0399}', '\u{0314}']),
+    (0x1e7a, &['\u{0055}', '\u{0304}', '\u{0308}']),
+    (0x1f6c, &['\u{03A9}', '\u{0313}', '\u{0301}']),
+    (0xfaa8, &['\u{76F4}']),
+    (0x2f8ce, &['\u{3B19}']),
+    (0x128, &['\u{0049}', '\u{0303}']),
+    (0xfa4b, &['\u{7891}']),
+    (0x2f818, &['\u{51A4}']),
+    (0x2f988, &['\u{267B5}']),
+    (0xf974, &['\u{82E5}']),
+    (0x1ea9, &['\u{0061}', '\u{0302}', '\u{0309}']),
+    (0x1f51, &['\u{03C5}', '\u{0314}']),
+    (0x2f833, &['\u{537F}']),
+    (0x2f8fc, &['\u{6CBF}']),
+    (0x38f, &['\u{03A9}', '\u{0301}']),
+    (0xfa3e, &['\u{6168}']),
+    (0xfa5e, &['\u{8279}']),
+    (0xfa1e, &['\u{7FBD}']),
+    (0x2f9f7, &['\u{2921A}']),
+    (0x15f, &['\u{0073}', '\u{0327}']),
+    (0x1e35, &['\u{006B}', '\u{0331}']),
+    (0xfb47, &['\u{05E7}', '\u{05BC}']),
+    (0x2f962, &['\u{7BC6}']),
+    (0xfa86, &['\u{60D8}']),
+    (0xf92f, &['\u{52DE}']),
+    (0x2f8dd, &['\u{233C3}']),
+    (0xf73, &['\u{0F71}', '\u{0F72}']),
+    (0x1e15, &['\u{0065}', '\u{0304}', '\u{0300}']),
+    (0x1ed0, &['\u{004F}', '\u{0302}', '\u{0301}']),
+    (0xf9ca, &['\u{6D41}']),
+    (0x4e6, &['\u{041E}', '\u{0308}']),
+    (0x1fa2, &['\u{03C9}', '\u{0313}', '\u{0300}', '\u{0345}']),
+    (0x2f999, &['\u{831D}']),
+    (0x1fc2, &['\u{03B7}', '\u{0300}', '\u{0345}']),
+    (0x2f8c7, &['\u{3A6C}']),
+    (0xfabc, &['\u{8B01}']),
+    (0x30b4, &['\u{30B3}', '\u{3099}']),
+    (0x2f9b9, &['\u{870E}']),
+    (0x1e73, &['\u{0075}', '\u{0324}']),
+    (0xf95b, &['\u{62CF}']),
+    (0x2f952, &['\u{25626}']),
+    (0xfa5f, &['\u{8457}']),
+    (0x1b08, &['\u{1B07}', '\u{1B35}']),
+    (0x2204, &['\u{2203}', '\u{0338}']),
+    (0x1ea2, &['\u{0041}', '\u{0309}']),
+    (0x1ea, &['\u{004F}', '\u{0328}']),
+    (0x129, &['\u{0069}', '\u{0303}']),
+    (0xf920, &['\u{9E1E}']),
+    (0x1f85, &['\u{03B1}', '\u{0314}', '\u{0301}', '\u{0345}']),
+    (0x1e93, &['\u{007A}', '\u{0323}']),
+    (0x2f9b2, &['\u{456B}']),
+    (0x2f821, &['\u{5246}']),
+    (0x2f9d6, &['\u{8D1B}']),
+    (0xfa65, &['\u{8D08}']),
+    (0xf971, &['\u{8FB0}']),
+    (0x230, &['\u{004F}', '\u{0307}', '\u{0304}']),
+    (0x16d, &['\u{0075}', '\u{0306}']),
+    (0x21b, &['\u{0074}', '\u{0326}']),
+    (0x2f9d4, &['\u{8CAB}']),
+    (0x1d161, &['\u{1D158}', '\u{1D165}', '\u{1D16F}']),
+    (0xfa94, &['\u{6756}']),
+    (0x403, &['\u{0413}', '\u{0301}']),
+    (0x16a, &['\u{0055}', '\u{0304}']),
+    (0x958, &['\u{0915}', '\u{093C}']),
+    (0x2f922, &['\u{7250}']),
+    (0xf93d, &['\u{7DA0}']),
+    (0x1e39, &['\u{006C}', '\u{0323}', '\u{0304}']),
+    (0x2f870, &['\u{5BF3}']),
+    (0x1eae, &['\u{0041}', '\u{0306}', '\u{0301}']),
+    (0x1f35, &['\u{03B9}', '\u{0314}', '\u{0301}']),
+    (0xfa2f, &['\u{96B7}']),
+    (0x15e, &['\u{0053}', '\u{0327}']),
+    (0x1e43, &['\u{006D}', '\u{0323}']),
+    (0x2f842, &['\u{5510}']),
+    (0xf9b1, &['\u{9234}']),
+    (0xfa5d, &['\u{8279}']),
+    (0xf9d2, &['\u{622E}']),
+    (0x1ed8, &['\u{004F}', '\u{0323}', '\u{0302}']),
+    (0xfaca, &['\u{97FF}']),
+    (0x1edc, &['\u{004F}', '\u{031B}', '\u{0300}']),
+    (0x2f9fd, &['\u{29496}']),
+    (0x2f90b, &['\u{6ECB}']),
+    (0x1ec9, &['\u{0069}', '\u{0309}']),
+    (0x2329, &['\u{3008}']),
+    (0x1e96, &['\u{0068}', '\u{0331}']),
+    (0x2f9a0, &['\u{8353}']),
+    (0xf9d0, &['\u{985E}']),
+    (0x4ed, &['\u{044D}', '\u{0308}']),
+    (0xc2, &['\u{0041}', '\u{0302}']),
+    (0x1e79, &['\u{0075}', '\u{0303}', '\u{0301}']),
+    (0x4f1, &['\u{0443}', '\u{0308}']),
+    (0x1fd0, &['\u{03B9}', '\u{0306}']),
+    (0x1ef5, &['\u{0079}', '\u{0323}']),
+    (0x125, &['\u{0068}', '\u{0302}']),
+    (0xfb2c, &['\u{05E9}', '\u{05BC}', '\u{05C1}']),
+    (0x387, &['\u{00B7}']),
+    (0xf9ef, &['\u{7498}']),
+    (0x2f9f5, &['\u{9723}']),
+    (0x170, &['\u{0055}', '\u{030B}']),
+    (0x2270, &['\u{2264}', '\u{0338}']),
+    (0x2f9cc, &['\u{27966}']),
+    (0xfa6d, &['\u{8218}']),
+    (0xf980, &['\u{5442}']),
+    (0xf907, &['\u{9F9C}']),
+    (0x2f857, &['\u{5831}']),
+    (0x1eb9, &['\u{0065}', '\u{0323}']),
+    (0x2f8d5, &['\u{669C}']),
+    (0xf9f9, &['\u{7C92}']),
+    (0x2f8a2, &['\u{391C}']),
+    (0xf94b, &['\u{5C62}']),
+    (0x2f87e, &['\u{5D6E}']),
+    (0xf91f, &['\u{862D}']),
+    (0xf9ec, &['\u{6EBA}']),
+    (0x4f4, &['\u{0427}', '\u{0308}']),
+    (0x451, &['\u{0435}', '\u{0308}']),
+    (0x22ad, &['\u{22A8}', '\u{0338}']),
+    (0x2f917, &['\u{704A}']),
+    (0x2f861, &['\u{216EA}']),
+    (0xf91d, &['\u{6B04}']),
+    (0xfa96, &['\u{6BBA}']),
+    (0xf6, &['\u{006F}', '\u{0308}']),
+    (0x1e27, &['\u{0068}', '\u{0308}']),
+    (0x1f48, &['\u{039F}', '\u{0313}']),
+    (0x1feb, &['\u{03A5}', '\u{0301}']),
+    (0x1ee5, &['\u{0075}', '\u{0323}']),
+    (0x2f99f, &['\u{8457}']),
+    (0x2f8e8, &['\u{6942}']),
+    (0xf9df, &['\u{5C65}']),
+    (0x1eaf, &['\u{0061}', '\u{0306}', '\u{0301}']),
+    (0xf92a, &['\u{6D6A}']),
+    (0xfa78, &['\u{559D}']),
+    (0xfa6c, &['\u{242EE}']),
+    (0x1e22, &['\u{0048}', '\u{0307}']),
+    (0x1eea, &['\u{0055}', '\u{031B}', '\u{0300}']),
+    (0x2f850, &['\u{5207}']),
+    (0x2f9c9, &['\u{88FA}']),
+    (0xf91c, &['\u{5375}']),
+    (0xa33, &['\u{0A32}', '\u{0A3C}']),
+    (0xe7, &['\u{0063}', '\u{0327}']),
+    (0x2f80b, &['\u{50CF}']),
+    (0xfa91, &['\u{6674}']),
+    (0x9dd, &['\u{09A2}', '\u{09BC}']),
+    (0x2f848, &['\u{55AB}']),
+    (0xf966, &['\u{5FA9}']),
+    (0xfb36, &['\u{05D6}', '\u{05BC}']),
+    (0xf957, &['\u{7DBE}']),
+    (0x2f88a, &['\u{387C}']),
+    (0x305c, &['\u{305B}', '\u{3099}']),
+    (0x2f982, &['\u{80B2}']),
+    (0x122, &['\u{0047}', '\u{0327}']),
+    (0xf95d, &['\u{8AFE}']),
+    (0x2f8cc, &['\u{66F8}']),
+    (0x2f86a, &['\u{5B3E}']),
+    (0x1f81, &['\u{03B1}', '\u{0314}', '\u{0345}']),
+    (0x212a, &['\u{004B}']),
+    (0x17e, &['\u{007A}', '\u{030C}']),
+    (0xf9a9, &['\u{56F9}']),
+    (0xfabd, &['\u{8AFE}']),
+    (0x2f91e, &['\u{719C}']),
+    (0xf9eb, &['\u{533F}']),
+    (0x2f937, &['\u{24C92}']),
+    (0x2f8a6, &['\u{6148}']),
+    (0x1e42, &['\u{004D}', '\u{0323}']),
+    (0x1112f, &['\u{11132}', '\u{11127}']),
+    (0x1fa8, &['\u{03A9}', '\u{0313}', '\u{0345}']),
+    (0xc0, &['\u{0041}', '\u{0300}']),
+    (0x2f8da, &['\u{6721}']),
+    (0x2f9b5, &['\u{8667}']),
+    (0x2f8c1, &['\u{63A9}']),
+    (0xf9b4, &['\u{9818}']),
+    (0x171, &['\u{0075}', '\u{030B}']),
+    (0xf952, &['\u{52D2}']),
+    (0xfa08, &['\u{884C}']),
+    (0x1fac, &['\u{03A9}', '\u{0313}', '\u{0301}', '\u{0345}']),
+    (0x1fb, &['\u{0061}', '\u{030A}', '\u{0301}']),
+    (0xf912, &['\u{88F8}']),
+    (0x1f11, &['\u{03B5}', '\u{0314}']),
+    (0x201, &['\u{0061}', '\u{030F}']),
+    (0x2f8b9, &['\u{633D}']),
+    (0x2fa1c, &['\u{9F3B}']),
+    (0x2f8b5, &['\u{62B1}']),
+    (0x1e88, &['\u{0057}', '\u{0323}']),
+    (0xfab8, &['\u{8996}']),
+    (0xfa43, &['\u{6691}']),
+    (0x144, &['\u{006E}', '\u{0301}']),
+    (0x1e8b, &['\u{0078}', '\u{0307}']),
+    (0x2f9e1, &['\u{285ED}']),
+    (0xf97c, &['\u{826F}']),
+    (0xf985, &['\u{792A}']),
+    (0x1f06, &['\u{03B1}', '\u{0313}', '\u{0342}']),
+    (0x1fb2, &['\u{03B1}', '\u{0300}', '\u{0345}']),
+    (0x2f9db, &['\u{8DBC}']),
+    (0x1fe4, &['\u{03C1}', '\u{0313}']),
+    (0xfac3, &['\u{9072}']),
+    (0x177, &['\u{0079}', '\u{0302}']),
+    (0x2f948, &['\u{774A}']),
+    (0xcb, &['\u{0045}', '\u{0308}']),
+    (0x1f9f, &['\u{0397}', '\u{0314}', '\u{0342}', '\u{0345}']),
+    (0xfa99, &['\u{6ECB}']),
+    (0x2f942, &['\u{250F2}']),
+    (0x2f976, &['\u{7F7A}']),
+    (0xf988, &['\u{9E97}']),
+    (0x1fe6, &['\u{03C5}', '\u{0342}']),
+    (0x156, &['\u{0052}', '\u{0327}']),
+    (0x1e8e, &['\u{0059}', '\u{0307}']),
+    (0x2f8fe, &['\u{6C67}']),
+    (0x1e46, &['\u{004E}', '\u{0323}']),
+    (0x2f81e, &['\u{5203}']),
+    (0x45d, &['\u{0438}', '\u{0300}']),
+    (0x1fcf, &['\u{1FBF}', '\u{0342}']),
+    (0x1ecf, &['\u{006F}', '\u{0309}']),
+    (0x1e48, &['\u{004E}', '\u{0331}']),
+    (0xf9cb, &['\u{6E9C}']),
+    (0x2f946, &['\u{771F}']),
+    (0xfacf, &['\u{2284A}']),
+    (0x109, &['\u{0063}', '\u{0302}']),
+    (0x22e3, &['\u{2292}', '\u{0338}']),
+    (0xf52, &['\u{0F51}', '\u{0FB7}']),
+    (0x304c, &['\u{304B}', '\u{3099}']),
+    (0xf9b2, &['\u{96F6}']),
+    (0x12c, &['\u{0049}', '\u{0306}']),
+    (0x2f969, &['\u{7CE3}']),
+    (0x2f9a5, &['\u{26D6B}']),
+    (0x307a, &['\u{3078}', '\u{309A}']),
+    (0x2f9be, &['\u{8786}']),
+    (0x1f1b, &['\u{0395}', '\u{0314}', '\u{0300}']),
+    (0x1f5d, &['\u{03A5}', '\u{0314}', '\u{0301}']),
+    (0x2f9ab, &['\u{273CA}']),
+    (0x2f8f1, &['\u{6B54}']),
+    (0xf9be, &['\u{6599}']),
+    (0xf9b8, &['\u{96B8}']),
+    (0x1fb4, &['\u{03B1}', '\u{0301}', '\u{0345}']),
+    (0x1edf, &['\u{006F}', '\u{031B}', '\u{0309}']),
+    (0x22f, &['\u{006F}', '\u{0307}']),
+    (0x934, &['\u{0933}', '\u{093C}']),
+    (0x2f98a, &['\u{2339C}']),
+    (0x1fe8, &['\u{03A5}', '\u{0306}']),
+    (0xfaab, &['\u{78CC}']),
+    (0xfa5b, &['\u{8005}']),
+    (0x4d3, &['\u{0430}', '\u{0308}']),
+    (0x2226, &['\u{2225}', '\u{0338}']),
+    (0x2fa03, &['\u{4B33}']),
+    (0xfa12, &['\u{6674}']),
+    (0x1ee4, &['\u{0055}', '\u{0323}']),
+    (0x1fd6, &['\u{03B9}', '\u{0342}']),
+    (0xf931, &['\u{6AD3}']),
+    (0xfaa1, &['\u{7471}']),
+    (0x2f936, &['\u{753E}']),
+    (0x1fe9, &['\u{03A5}', '\u{0304}']),
+    (0x1ff4, &['\u{03C9}', '\u{0301}', '\u{0345}']),
+    (0x2f86c, &['\u{219C8}']),
+    (0x2f911, &['\u{23F8E}']),
+    (0x95f, &['\u{092F}', '\u{093C}']),
+    (0xcd, &['\u{0049}', '\u{0301}']),
+    (0x2f95e, &['\u{25AA7}']),
+    (0xf98f, &['\u{6190}']),
+    (0x1e08, &['\u{0043}', '\u{0327}', '\u{0301}']),
+    (0x30fa, &['\u{30F2}', '\u{3099}']),
+    (0x4da, &['\u{04D8}', '\u{0308}']),
+    (0xf9c5, &['\u{6688}']),
+    (0x1d8, &['\u{0075}', '\u{0308}', '\u{0301}']),
+    (0x1ec, &['\u{004F}', '\u{0328}', '\u{0304}']),
+    (0xf95e, &['\u{4E39}']),
+    (0xfb4e, &['\u{05E4}', '\u{05BF}']),
+    (0xc5, &['\u{0041}', '\u{030A}']),
+    (0x2f87d, &['\u{21DE6}']),
+    (0x1b0c, &['\u{1B0B}', '\u{1B35}']),
+    (0x2f9c6, &['\u{88D7}']),
+    (0x2f879, &['\u{5CC0}']),
+    (0x2f9f2, &['\u{49E6}']),
+    (0x1ece, &['\u{004F}', '\u{0309}']),
+    (0xdda, &['\u{0DD9}', '\u{0DCA}']),
+    (0x1f80, &['\u{03B1}', '\u{0313}', '\u{0345}']),
+    (0x3074, &['\u{3072}', '\u{309A}']),
+    (0x2289, &['\u{2287}', '\u{0338}']),
+    (0x1d0, &['\u{0069}', '\u{030C}']),
+    (0x1eac, &['\u{0041}', '\u{0323}', '\u{0302}']),
+    (0x2f851, &['\u{58EE}']),
+    (0x22c, &['\u{004F}', '\u{0303}', '\u{0304}']),
+    (0x1f9e, &['\u{0397}', '\u{0313}', '\u{0342}', '\u{0345}']),
+    (0x2f9d2, &['\u{8C55}']),
+    (0xfa05, &['\u{6D1E}']),
+    (0x2f88c, &['\u{5EB3}']),
+    (0x1ffd, &['\u{00B4}']),
+    (0x1f0b, &['\u{0391}', '\u{0314}', '\u{0300}']),
+    (0xfaba, &['\u{8AF8}']),
+    (0x1e82, &['\u{0057}', '\u{0301}']),
+    (0x2f8c2, &['\u{3A2E}']),
+    (0x1f30, &['\u{03B9}', '\u{0313}']),
+    (0x1f87, &['\u{03B1}', '\u{0314}', '\u{0342}', '\u{0345}']),
+    (0xfa61, &['\u{8996}']),
+    (0x1b06, &['\u{1B05}', '\u{1B35}']),
+    (0x2f9e8, &['\u{92D7}']),
+    (0x2f80e, &['\u{514D}']),
+    (0x1f00, &['\u{03B1}', '\u{0313}']),
+    (0xfa03, &['\u{7CD6}']),
+    (0x202, &['\u{0041}', '\u{0311}']),
+    (0x1ce, &['\u{0061}', '\u{030C}']),
+    (0x2fa12, &['\u{2A105}']),
+    (0x2f84f, &['\u{5674}']),
+    (0x4c1, &['\u{0416}', '\u{0306}']),
+    (0xfa81, &['\u{5B28}']),
+    (0xfac7, &['\u{96E3}']),
+    (0xf9bb, &['\u{50DA}']),
+    (0x16f, &['\u{0075}', '\u{030A}']),
+    (0x114, &['\u{0045}', '\u{0306}']),
+    (0xcc7, &['\u{0CC6}', '\u{0CD5}']),
+    (0x1b0e, &['\u{1B0D}', '\u{1B35}']),
+    (0x2f9d1, &['\u{8B8A}']),
+    (0x139, &['\u{004C}', '\u{0301}']),
+    (0x2f836, &['\u{53CA}']),
+    (0xb48, &['\u{0B47}', '\u{0B56}']),
+    (0x30f9, &['\u{30F1}', '\u{3099}']),
+    (0xfa79, &['\u{5555}']),
+    (0x3058, &['\u{3057}', '\u{3099}']),
+    (0x2f971, &['\u{4334}']),
+    (0x2f928, &['\u{737A}']),
+    (0x1fc, &['\u{00C6}', '\u{0301}']),
+    (0x2224, &['\u{2223}', '\u{0338}']),
+    (0xfab3, &['\u{8352}']),
+    (0x2f8e7, &['\u{3B9D}']),
+    (0x1fde, &['\u{1FFE}', '\u{0301}']),
+    (0x1e7, &['\u{0067}', '\u{030C}']),
+    (0x1e13, &['\u{0064}', '\u{032D}']),
+    (0xfa5a, &['\u{7F72}']),
+    (0x1fce, &['\u{1FBF}', '\u{0301}']),
+    (0x1e58, &['\u{0052}', '\u{0307}']),
+    (0x2f964, &['\u{4227}']),
+    (0xfabe, &['\u{8AED}']),
+    (0x1e0f, &['\u{0064}', '\u{0331}']),
+    (0x2f938, &['\u{7570}']),
+    (0x11d, &['\u{0067}', '\u{0302}']),
+    (0xf994, &['\u{7489}']),
+    (0xf947, &['\u{78CA}']),
+    (0x3aa, &['\u{0399}', '\u{0308}']),
+    (0xf981, &['\u{5973}']),
+    (0x1e30, &['\u{004B}', '\u{0301}']),
+    (0x1f14, &['\u{03B5}', '\u{0313}', '\u{0301}']),
+    (0xf9f1, &['\u{96A3}']),
+    (0x1fa9, &['\u{03A9}', '\u{0314}', '\u{0345}']),
+    (0x1e62, &['\u{0053}', '\u{0323}']),
+    (0x2f85d, &['\u{591A}']),
+    (0xfa4e, &['\u{7948}']),
+    (0x1f22, &['\u{03B7}', '\u{0313}', '\u{0300}']),
+    (0x2f838, &['\u{20B63}']),
+    (0x2f9a6, &['\u{26CD5}']),
+    (0xf93f, &['\u{9304}']),
+    (0x2f9f3, &['\u{96C3}']),
+    (0xfaad, &['\u{7BC0}']),
+    (0x2f87a, &['\u{5C8D}']),
+    (0x2f830, &['\u{537D}']),
+    (0x2f8c8, &['\u{654F}']),
+    (0x10a, &['\u{0043}', '\u{0307}']),
+    (0x20b, &['\u{0069}', '\u{0311}']),
+    (0x1f77, &['\u{03B9}', '\u{0301}']),
+    (0xfab4, &['\u{83EF}']),
+    (0x2f985, &['\u{813E}']),
+    (0xf9f7, &['\u{7ACB}']),
+    (0x2f94f, &['\u{788C}']),
+    (0xfa40, &['\u{61F2}']),
+    (0x2f968, &['\u{7CE8}']),
+    (0xfa8c, &['\u{6234}']),
+    (0xce, &['\u{0049}', '\u{0302}']),
+    (0xfac0, &['\u{8B8A}']),
+    (0x3062, &['\u{3061}', '\u{3099}']),
+    (0xf9, &['\u{0075}', '\u{0300}']),
+    (0x1fb0, &['\u{03B1}', '\u{0306}']),
+    (0xb94, &['\u{0B92}', '\u{0BD7}']),
+    (0x2f926, &['\u{24735}']),
+    (0x1f84, &['\u{03B1}', '\u{0313}', '\u{0301}', '\u{0345}']),
+    (0x4ef, &['\u{0443}', '\u{0304}']),
+    (0xf9d, &['\u{0F9C}', '\u{0FB7}']),
+    (0x226d, &['\u{224D}', '\u{0338}']),
+    (0x1f28, &['\u{0397}', '\u{0313}']),
+    (0x2f955, &['\u{256C5}']),
+    (0x2279, &['\u{2277}', '\u{0338}']),
+    (0xfab6, &['\u{8941}']),
+    (0xf935, &['\u{8606}']),
+    (0x439, &['\u{0438}', '\u{0306}']),
+    (0x11938, &['\u{11935}', '\u{11930}']),
+    (0xee, &['\u{0069}', '\u{0302}']),
+    (0x17b, &['\u{005A}', '\u{0307}']),
+    (0x1e0c, &['\u{0044}', '\u{0323}']),
+    (0x1e6a, &['\u{0054}', '\u{0307}']),
+    (0x214, &['\u{0055}', '\u{030F}']),
+    (0xf57, &['\u{0F56}', '\u{0FB7}']),
+    (0x2f825, &['\u{52C7}']),
+    (0x114bb, &['\u{114B9}', '\u{114BA}']),
+    (0x100, &['\u{0041}', '\u{0304}']),
+    (0x1e6, &['\u{0047}', '\u{030C}']),
+    (0x2f951, &['\u{40E3}']),
+    (0x2f9ce, &['\u{46C7}']),
+    (0x2f984, &['\u{440B}']),
+    (0x22eb, &['\u{22B3}', '\u{0338}']),
+    (0x1f6b, &['\u{03A9}', '\u{0314}', '\u{0300}']),
+    (0x13b, &['\u{004C}', '\u{0327}']),
+    (0x2f9e9, &['\u{92D8}']),
+    (0x2f8be, &['\u{22BF1}']),
+    (0x2f823, &['\u{5277}']),
+    (0x2f9d3, &['\u{27CA8}']),
+    (0x2f97c, &['\u{26523}']),
+    (0xfa49, &['\u{722B}']),
+    (0x1eb1, &['\u{0061}', '\u{0306}', '\u{0300}']),
+    (0x2f998, &['\u{82E5}']),
+    (0x304e, &['\u{304D}', '\u{3099}']),
+    (0x1f0d, &['\u{0391}', '\u{0314}', '\u{0301}']),
+    (0xd4a, &['\u{0D46}', '\u{0D3E}']),
+    (0xfb39, &['\u{05D9}', '\u{05BC}']),
+    (0x305a, &['\u{3059}', '\u{3099}']),
+    (0xf9b0, &['\u{8046}']),
+    (0x2f8ff, &['\u{6D16}']),
+    (0x30ae, &['\u{30AD}', '\u{3099}']),
+    (0x2f977, &['\u{2633E}']),
+    (0x1fa, &['\u{0041}', '\u{030A}', '\u{0301}']),
+    (0x1e20, &['\u{0047}', '\u{0304}']),
+    (0xf917, &['\u{73DE}']),
+    (0xf989, &['\u{9ECE}']),
+    (0xf90e, &['\u{7669}']),
+    (0xfb34, &['\u{05D4}', '\u{05BC}']),
+    (0x2f889, &['\u{22183}']),
+    (0x2f866, &['\u{5A66}']),
+    (0x2f865, &['\u{59D8}']),
+    (0x12f, &['\u{0069}', '\u{0328}']),
+    (0x2fa0e, &['\u{4CED}']),
+    (0x1e61, &['\u{0073}', '\u{0307}']),
+    (0x1fd, &['\u{00E6}', '\u{0301}']),
+    (0x2f803, &['\u{20122}']),
+    (0x1fe3, &['\u{03C5}', '\u{0308}', '\u{0301}']),
+    (0xfa44, &['\u{6885}']),
+    (0x1fa6, &['\u{03C9}', '\u{0313}', '\u{0342}', '\u{0345}']),
+    (0x20f, &['\u{006F}', '\u{0311}']),
+    (0x1fa4, &['\u{03C9}', '\u{0313}', '\u{0301}', '\u{0345}']),
+    (0xccb, &['\u{0CC6}', '\u{0CC2}', '\u{0CD5}']),
+    (0xfa4f, &['\u{7950}']),
+    (0x2f997, &['\u{26B3C}']),
+    (0x1e4b, &['\u{006E}', '\u{032D}']),
+    (0xfaa2, &['\u{7506}']),
+    (0x2f839, &['\u{53EB}']),
+    (0x1f55, &['\u{03C5}', '\u{0314}', '\u{0301}']),
+    (0x1e32, &['\u{004B}', '\u{0323}']),
+    (0xf9f0, &['\u{85FA}']),
+    (0xea, &['\u{0065}', '\u{0302}']),
+    (0x2f8d4, &['\u{6700}']),
+    (0xf969, &['\u{6578}']),
+    (0xfa, &['\u{0075}', '\u{0301}']),
+    (0x1e33, &['\u{006B}', '\u{0323}']),
+    (0x1e6f, &['\u{0074}', '\u{0331}']),
+    (0xf9aa, &['\u{5BE7}']),
+    (0xf938, &['\u{9732}']),
+    (0x2f826, &['\u{52C9}']),
+    (0xf93c, &['\u{797F}']),
+    (0x4e2, &['\u{0418}', '\u{0304}']),
+    (0x1e5f, &['\u{0072}', '\u{0331}']),
+    (0x4c2, &['\u{0436}', '\u{0306}']),
+    (0x4dd, &['\u{0436}', '\u{0308}']),
+    (0x390, &['\u{03B9}', '\u{0308}', '\u{0301}']),
+    (0x2f923, &['\u{24608}']),
+    (0x419, &['\u{0418}', '\u{0306}']),
+    (0x2f8e9, &['\u{69A3}']),
+    (0x1b3b, &['\u{1B3A}', '\u{1B35}']),
+    (0x2f860, &['\u{216A8}']),
+    (0x1ec0, &['\u{0045}', '\u{0302}', '\u{0300}']),
+    (0x124, &['\u{0048}', '\u{0302}']),
+    (0x2f935, &['\u{24C36}']),
+    (0x21cd, &['\u{21D0}', '\u{0338}']),
+    (0x2f81f, &['\u{34DF}']),
+    (0x1f95, &['\u{03B7}', '\u{0314}', '\u{0301}', '\u{0345}']),
+    (0xfa59, &['\u{7E41}']),
+    (0xfb4a, &['\u{05EA}', '\u{05BC}']),
+    (0x137, &['\u{006B}', '\u{0327}']),
+    (0x2fa19, &['\u{9F05}']),
+    (0x1e8c, &['\u{0058}', '\u{0308}']),
+    (0x2fa11, &['\u{4CF8}']),
+    (0xf992, &['\u{6F23}']),
+    (0xf99b, &['\u{934A}']),
+    (0x226f, &['\u{003E}', '\u{0338}']),
+    (0x2f908, &['\u{6E2F}']),
+    (0x1ea1, &['\u{0061}', '\u{0323}']),
+    (0x30c7, &['\u{30C6}', '\u{3099}']),
+    (0xf5c, &['\u{0F5B}', '\u{0FB7}']),
+    (0x114bc, &['\u{114B9}', '\u{114B0}']),
+    (0xf91a, &['\u{99F1}']),
+    (0xfb49, &['\u{05E9}', '\u{05BC}']),
+    (0x2f892, &['\u{22331}']),
+    (0x1d1bb, &['\u{1D1B9}', '\u{1D165}']),
+    (0x40e, &['\u{0423}', '\u{0306}']),
+    (0x1e7e, &['\u{0056}', '\u{0323}']),
+    (0x1fd3, &['\u{03B9}', '\u{0308}', '\u{0301}']),
+    (0x1fb6, &['\u{03B1}', '\u{0342}']),
+    (0x164, &['\u{0054}', '\u{030C}']),
+    (0x2f92b, &['\u{73A5}']),
+    (0x1f3d, &['\u{0399}', '\u{0314}', '\u{0301}']),
+    (0x386, &['\u{0391}', '\u{0301}']),
+    (0x1f24, &['\u{03B7}', '\u{0313}', '\u{0301}']),
+    (0xfacd, &['\u{9B12}']),
+    (0xfa17, &['\u{76CA}']),
+    (0x1e17, &['\u{0065}', '\u{0304}', '\u{0301}']),
+    (0xfa0b, &['\u{5ED3}']),
+    (0x2f980, &['\u{2335F}']),
+    (0xfa2d, &['\u{9DB4}']),
+    (0x2f88e, &['\u{5ECA}']),
+    (0xfb2e, &['\u{05D0}', '\u{05B7}']),
+    (0xfa31, &['\u{50E7}']),
+    (0x1f09, &['\u{0391}', '\u{0314}']),
+    (0x2f815, &['\u{518D}']),
+    (0x2f9ca, &['\u{34BB}']),
+    (0xfa55, &['\u{7A81}']),
+    (0x2f9f9, &['\u{4A76}']),
+    (0x1f62, &['\u{03C9}', '\u{0313}', '\u{0300}']),
+    (0x106, &['\u{0043}', '\u{0301}']),
+    (0x1ebf, &['\u{0065}', '\u{0302}', '\u{0301}']),
+    (0x1f38, &['\u{0399}', '\u{0313}']),
+    (0x1f20, &['\u{03B7}', '\u{0313}']),
+    (0x2f965, &['\u{25C80}']),
+    (0x2f829, &['\u{5305}']),
+    (0x1ffb, &['\u{03A9}', '\u{0301}']),
+    (0xc9, &['\u{0045}', '\u{0301}']),
+    (0x147, &['\u{004E}', '\u{030C}']),
+    (0x2f9c3, &['\u{8860}']),
+    (0x213, &['\u{0072}', '\u{0311}']),
+    (0x1f9d, &['\u{0397}', '\u{0314}', '\u{0301}', '\u{0345}']),
+    (0x1f25, &['\u{03B7}', '\u{0314}', '\u{0301}']),
+    (0x2f9af, &['\u{4561}']),
+    (0xfa77, &['\u{52FA}']),
+    (0x2209, &['\u{2208}', '\u{0338}']),
+    (0xf76, &['\u{0FB2}', '\u{0F80}']),
+    (0xf956, &['\u{7A1C}']),
+    (0x1fcc, &['\u{0397}', '\u{0345}']),
+    (0x1fa0, &['\u{03C9}', '\u{0313}', '\u{0345}']),
+    (0x13c, &['\u{006C}', '\u{0327}']),
+    (0x1eb3, &['\u{0061}', '\u{0306}', '\u{0309}']),
+    (0x1e5a, &['\u{0052}', '\u{0323}']),
+    (0xfb35, &['\u{05D5}', '\u{05BC}']),
+    (0xf9b5, &['\u{4F8B}']),
+    (0xfa0a, &['\u{898B}']),
+    (0x1fa5, &['\u{03C9}', '\u{0314}', '\u{0301}', '\u{0345}']),
+    (0x22e, &['\u{004F}', '\u{0307}']),
+    (0x1eee, &['\u{0055}', '\u{031B}', '\u{0303}']),
+    (0x1d5, &['\u{0055}', '\u{0308}', '\u{0304}']),
+    (0x15c, &['\u{0053}', '\u{0302}']),
+    (0xe3, &['\u{0061}', '\u{0303}']),
+    (0xfa8b, &['\u{61F2}']),
+    (0x3079, &['\u{3078}', '\u{3099}']),
+    (0xfb38, &['\u{05D8}', '\u{05BC}']),
+    (0x2f855, &['\u{578B}']),
+    (0xfa9e, &['\u{7235}']),
+    (0x14e, &['\u{004F}', '\u{0306}']),
+    (0x1e75, &['\u{0075}', '\u{0330}']),
+    (0xfa46, &['\u{6E1A}']),
+    (0x2fa0a, &['\u{9B12}']),
+    (0x211, &['\u{0072}', '\u{030F}']),
+    (0x2f8a9, &['\u{614C}']),
+    (0x115, &['\u{0065}', '\u{0306}']),
+    (0x30d1, &['\u{30CF}', '\u{309A}']),
+    (0x1e47, &['\u{006E}', '\u{0323}']),
+    (0x2f8e0, &['\u{6785}']),
+    (0xfa7e, &['\u{5944}']),
+    (0x1fd8, &['\u{0399}', '\u{0306}']),
+    (0x1e92, &['\u{005A}', '\u{0323}']),
+    (0x2f867, &['\u{36EE}']),
+    (0xfb1d, &['\u{05D9}', '\u{05B4}']),
+    (0xf97d, &['\u{8AD2}']),
+    (0xfab9, &['\u{8ABF}']),
+    (0x2f846, &['\u{5584}']),
+    (0x1e7d, &['\u{0076}', '\u{0303}']),
+    (0xfac8, &['\u{9756}']),
+    (0x104, &['\u{0041}', '\u{0328}']),
+    (0x4f5, &['\u{0447}', '\u{0308}']),
+    (0x2fa10, &['\u{2A0CE}']),
+    (0xf975, &['\u{63A0}']),
+    (0xf96a, &['\u{7D22}']),
+    (0xfa2b, &['\u{98FC}']),
+    (0x1f73, &['\u{03B5}', '\u{0301}']),
+    (0x2f957, &['\u{79EB}']),
+    (0x1edd, &['\u{006F}', '\u{031B}', '\u{0300}']),
+    (0x3ad, &['\u{03B5}', '\u{0301}']),
+    (0x2f924, &['\u{7280}']),
+    (0xfad4, &['\u{4039}']),
+    (0x2f97b, &['\u{264DA}']),
+    (0x2f853, &['\u{57F4}']),
+    (0xfa3f, &['\u{618E}']),
+    (0xfa8a, &['\u{6160}']),
+    (0xfb4c, &['\u{05D1}', '\u{05BF}']),
+    (0x1f3b, &['\u{0399}', '\u{0314}', '\u{0300}']),
+    (0xc4, &['\u{0041}', '\u{0308}']),
+    (0x1109a, &['\u{11099}', '\u{110BA}']),
+    (0x341, &['\u{0301}']),
+    (0x1e0d, &['\u{0064}', '\u{0323}']),
+    (0x4dc, &['\u{0416}', '\u{0308}']),
+    (0xfa10, &['\u{585A}']),
+    (0x1ef1, &['\u{0075}', '\u{031B}', '\u{0323}']),
+    (0x2f903, &['\u{6D69}']),
+    (0x1fed, &['\u{00A8}', '\u{0300}']),
+    (0x1fef, &['\u{0060}']),
+    (0x1ea4, &['\u{0041}', '\u{0302}', '\u{0301}']),
+    (0x21f, &['\u{0068}', '\u{030C}']),
+    (0xfa92, &['\u{6717}']),
+    (0x2f8a4, &['\u{226D4}']),
+    (0xf9c8, &['\u{677B}']),
+    (0xf9a0, &['\u{88C2}']),
+    (0x1e31, &['\u{006B}', '\u{0301}']),
+    (0xf903, &['\u{8CC8}']),
+    (0x3d4, &['\u{03D2}', '\u{0308}']),
+    (0x2f809, &['\u{5099}']),
+    (0x1e07, &['\u{0062}', '\u{0331}']),
+    (0x1fb1, &['\u{03B1}', '\u{0304}']),
+    (0x2f8d1, &['\u{3AE4}']),
+    (0x1e11, &['\u{0064}', '\u{0327}']),
+    (0x1fd2, &['\u{03B9}', '\u{0308}', '\u{0300}']),
+    (0x1d15e, &['\u{1D157}', '\u{1D165}']),
+    (0x2f941, &['\u{250F3}']),
+    (0xf962, &['\u{7570}']),
+    (0x1ef0, &['\u{0055}', '\u{031B}', '\u{0323}']),
+    (0x1ee0, &['\u{004F}', '\u{031B}', '\u{0303}']),
+    (0x3052, &['\u{3051}', '\u{3099}']),
+    (0x148, &['\u{006E}', '\u{030C}']),
+    (0x1f44, &['\u{03BF}', '\u{0313}', '\u{0301}']),
+    (0x2f930, &['\u{7471}']),
+    (0x1e0b, &['\u{0064}', '\u{0307}']),
+    (0x2f83e, &['\u{5448}']),
+    (0x3094, &['\u{3046}', '\u{3099}']),
+    (0x1e5b, &['\u{0072}', '\u{0323}']),
+    (0xfa54, &['\u{7A40}']),
+    (0xf9fc, &['\u{8B58}']),
+    (0x1de, &['\u{0041}', '\u{0308}', '\u{0304}']),
+    (0x1e02, &['\u{0042}', '\u{0307}']),
+    (0x2f9e4, &['\u{9111}']),
+    (0xf97f, &['\u{52F5}']),
+    (0x1fe1, &['\u{03C5}', '\u{0304}']),
+    (0x1ecb, &['\u{0069}', '\u{0323}']),
+    (0x2f947, &['\u{771F}']),
+    (0x2f82d, &['\u{5351}']),
+    (0x1f6d, &['\u{03A9}', '\u{0314}', '\u{0301}']),
+    (0x1e4c, &['\u{004F}', '\u{0303}', '\u{0301}']),
+    (0x1e00, &['\u{0041}', '\u{0325}']),
+    (0x2f93c, &['\u{24FB8}']),
+    (0x2f9c4, &['\u{8863}']),
+    (0x1f2d, &['\u{0397}', '\u{0314}', '\u{0301}']),
+    (0x38c, &['\u{039F}', '\u{0301}']),
+    (0x115bb, &['\u{115B9}', '\u{115AF}']),
+    (0xfa0c, &['\u{5140}']),
+    (0x2f986, &['\u{5AB5}']),
+    (0x1f0a, &['\u{0391}', '\u{0313}', '\u{0300}']),
+    (0x1f83, &['\u{03B1}', '\u{0314}', '\u{0300}', '\u{0345}']),
+    (0x1ee3, &['\u{006F}', '\u{031B}', '\u{0323}']),
+    (0x2f93e, &['\u{3FFC}']),
+    (0x2f8ed, &['\u{6ADB}']),
+    (0x2f981, &['\u{43D5}']),
+    (0x1f54, &['\u{03C5}', '\u{0313}', '\u{0301}']),
+    (0x1e16, &['\u{0045}', '\u{0304}', '\u{0301}']),
+    (0xfa6a, &['\u{983B}']),
+    (0x179, &['\u{005A}', '\u{0301}']),
+    (0xfb2d, &['\u{05E9}', '\u{05BC}', '\u{05C2}']),
+    (0xf90b, &['\u{5587}']),
+    (0xfb3e, &['\u{05DE}', '\u{05BC}']),
+    (0x2f9b0, &['\u{26FB1}']),
+    (0xf932, &['\u{7210}']),
+    (0x1ee6, &['\u{0055}', '\u{0309}']),
+    (0x2f85e, &['\u{5922}']),
+    (0x2f8d7, &['\u{43D9}']),
+    (0x1e40, &['\u{004D}', '\u{0307}']),
+    (0x22ed, &['\u{22B5}', '\u{0338}']),
+    (0x1f43, &['\u{03BF}', '\u{0314}', '\u{0300}']),
+    (0x4e5, &['\u{0438}', '\u{0308}']),
+    (0xfaa5, &['\u{761F}']),
+    (0x1fa3, &['\u{03C9}', '\u{0314}', '\u{0300}', '\u{0345}']),
+    (0x2f967, &['\u{42A0}']),
+    (0xf993, &['\u{7149}']),
+    (0x2f88d, &['\u{5EB6}']),
+    (0xed, &['\u{0069}', '\u{0301}']),
+    (0x2f906, &['\u{23D1E}']),
+    (0xfa98, &['\u{6EDB}']),
+    (0x2f901, &['\u{6D77}']),
+    (0x1ff7, &['\u{03C9}', '\u{0342}', '\u{0345}']),
+    (0x95c, &['\u{0921}', '\u{093C}']),
+    (0xfa60, &['\u{8910}']),
+    (0x3ca, &['\u{03B9}', '\u{0308}']),
+    (0xfa62, &['\u{8B01}']),
+    (0x2f8c3, &['\u{6469}']),
+    (0x1eca, &['\u{0049}', '\u{0323}']),
+    (0xf950, &['\u{7E37}']),
+    (0x173, &['\u{0075}', '\u{0328}']),
+    (0x2f99a, &['\u{8363}']),
+    (0x2f970, &['\u{7E45}']),
+    (0x2f85a, &['\u{58F2}']),
+    (0x2fa13, &['\u{2A20E}']),
+    (0xf98b, &['\u{66C6}']),
+    (0x2f913, &['\u{7039}']),
+    (0xfb9, &['\u{0F90}', '\u{0FB5}']),
+    (0xf919, &['\u{916A}']),
+    (0x1eba, &['\u{0045}', '\u{0309}']),
+    (0x2f890, &['\u{5EFE}']),
+    (0xf953, &['\u{808B}']),
+    (0x1eb2, &['\u{0041}', '\u{0306}', '\u{0309}']),
+    (0xf904, &['\u{6ED1}']),
+    (0x1dc, &['\u{0075}', '\u{0308}', '\u{0300}']),
+    (0x3ab, &['\u{03A5}', '\u{0308}']),
+    (0xf94e, &['\u{6F0F}']),
+    (0x2f8df, &['\u{67FA}']),
+    (0x1f19, &['\u{0395}', '\u{0314}']),
+    (0x30bc, &['\u{30BB}', '\u{3099}']),
+    (0x305e, &['\u{305D}', '\u{3099}']),
+    (0x1e87, &['\u{0077}', '\u{0307}']),
+    (0xf9fa, &['\u{72C0}']),
+    (0x2f82b, &['\u{5317}']),
+    (0x2f81d, &['\u{51F5}']),
+    (0x2f8a3, &['\u{6094}']),
+    (0x2fa04, &['\u{9929}']),
+    (0xfa3a, &['\u{58A8}']),
+    (0x4e4, &['\u{0418}', '\u{0308}']),
+    (0x2f9d5, &['\u{8CC1}']),
+    (0x2f90d, &['\u{23ED1}']),
+    (0xf967, &['\u{4E0D}']),
+    (0xfad3, &['\u{4018}']),
+    (0x1ff2, &['\u{03C9}', '\u{0300}', '\u{0345}']),
+    (0x1e86, &['\u{0057}', '\u{0307}']),
+    (0xf92d, &['\u{4F86}']),
+    (0x1ef7, &['\u{0079}', '\u{0309}']),
+    (0xfa89, &['\u{618E}']),
+    (0x2f874, &['\u{5F53}']),
+    (0x2f852, &['\u{57CE}']),
+    (0xf9cd, &['\u{7559}']),
+    (0x2f854, &['\u{580D}']),
+    (0x1e25, &['\u{0068}', '\u{0323}']),
+    (0x1ec1, &['\u{0065}', '\u{0302}', '\u{0300}']),
+    (0x1edb, &['\u{006F}', '\u{031B}', '\u{0301}']),
+    (0x205, &['\u{0065}', '\u{030F}']),
+    (0x2f843, &['\u{5553}']),
+    (0x2f8b1, &['\u{61F6}']),
+    (0x1fb8, &['\u{0391}', '\u{0306}']),
+    (0xbcb, &['\u{0BC7}', '\u{0BBE}']),
+    (0x2f84c, &['\u{5606}']),
+    (0xfa30, &['\u{4FAE}']),
+    (0x9cb, &['\u{09C7}', '\u{09BE}']),
+    (0x2f858, &['\u{58AC}']),
+    (0x1f5b, &['\u{03A5}', '\u{0314}', '\u{0300}']),
+    (0x6c2, &['\u{06C1}', '\u{0654}']),
+    (0x2f950, &['\u{78CC}']),
+    (0xb5c, &['\u{0B21}', '\u{0B3C}']),
+    (0xfa4d, &['\u{7949}']),
+    (0x1f93, &['\u{03B7}', '\u{0314}', '\u{0300}', '\u{0345}']),
+    (0xfa74, &['\u{5145}']),
+    (0x1f59, &['\u{03A5}', '\u{0314}']),
+    (0x2fa1d, &['\u{2A600}']),
+    (0xfa70, &['\u{4E26}']),
+    (0xfa18, &['\u{793C}']),
+    (0x2f888, &['\u{3862}']),
+    (0x2f8b7, &['\u{6350}']),
+    (0xf99d, &['\u{52A3}']),
+    (0xf9db, &['\u{7387}']),
+    (0xf940, &['\u{9E7F}']),
+    (0x1f8d, &['\u{0391}', '\u{0314}', '\u{0301}', '\u{0345}']),
+    (0x1f97, &['\u{03B7}', '\u{0314}', '\u{0342}', '\u{0345}']),
+    (0x1e10, &['\u{0044}', '\u{0327}']),
+    (0xf997, &['\u{806F}']),
+    (0x2f956, &['\u{798F}']),
+    (0x2f9aa, &['\u{8516}']),
+    (0x1e41, &['\u{006D}', '\u{0307}']),
+    (0x2f90c, &['\u{6EC7}']),
+    (0x2f862, &['\u{59EC}']),
+    (0x1e66, &['\u{0053}', '\u{030C}', '\u{0307}']),
+    (0x1ef8, &['\u{0059}', '\u{0303}']),
+    (0x2f849, &['\u{55B3}']),
+    (0x2f894, &['\u{5F22}']),
+    (0x1e7f, &['\u{0076}', '\u{0323}']),
+    (0x1f29, &['\u{0397}', '\u{0314}']),
+    (0xfa1c, &['\u{9756}']),
+    (0x1eb0, &['\u{0041}', '\u{0306}', '\u{0300}']),
+    (0x1f74, &['\u{03B7}', '\u{0300}']),
+    (0x1ee9, &['\u{0075}', '\u{031B}', '\u{0301}']),
+    (0x1fbb, &['\u{0391}', '\u{0301}']),
+    (0x162, &['\u{0054}', '\u{0327}']),
+    (0xd2, &['\u{004F}', '\u{0300}']),
+    (0xfa97, &['\u{6D41}']),
+    (0x2f824, &['\u{3515}']),
+    (0x233, &['\u{0079}', '\u{0304}']),
+    (0x22af, &['\u{22AB}', '\u{0338}']),
+    (0x1fec, &['\u{03A1}', '\u{0314}']),
+    (0xfa7f, &['\u{5954}']),
+    (0x2f94a, &['\u{778B}']),
+    (0x2f887, &['\u{5E69}']),
+    (0x2fa17, &['\u{9EF9}']),
+    (0x931, &['\u{0930}', '\u{093C}']),
+    (0x130, &['\u{0049}', '\u{0307}']),
+    (0x135, &['\u{006A}', '\u{0302}']),
+    (0x3076, &['\u{3075}', '\u{3099}']),
+    (0xfa2, &['\u{0FA1}', '\u{0FB7}']),
+    (0x4f8, &['\u{042B}', '\u{0308}']),
+    (0x1f27, &['\u{03B7}', '\u{0314}', '\u{0342}']),
+    (0xf963, &['\u{5317}']),
+    (0xf94d, &['\u{6DDA}']),
+    (0x340, &['\u{0300}']),
+    (0x2f9cd, &['\u{46BE}']),
+    (0x1e01, &['\u{0061}', '\u{0325}']),
+    (0x1ed3, &['\u{006F}', '\u{0302}', '\u{0300}']),
+    (0x103, &['\u{0061}', '\u{0306}']),
+    (0x200, &['\u{0041}', '\u{030F}']),
+    (0x17c, &['\u{007A}', '\u{0307}']),
+    (0xf92c, &['\u{90CE}']),
+    (0x1e12, &['\u{0044}', '\u{032D}']),
+    (0xfb33, &['\u{05D3}', '\u{05BC}']),
+    (0xfa93, &['\u{671B}']),
+    (0xf5, &['\u{006F}', '\u{0303}']),
+    (0x30f8, &['\u{30F0}', '\u{3099}']),
+    (0x210, &['\u{0052}', '\u{030F}']),
+    (0xf3, &['\u{006F}', '\u{0301}']),
+    (0x2f804, &['\u{4F60}']),
+    (0x2f8c0, &['\u{63C5}']),
+    (0x21a, &['\u{0054}', '\u{0326}']),
+    (0x1e1c, &['\u{0045}', '\u{0327}', '\u{0306}']),
+    (0x11e, &['\u{0047}', '\u{0306}']),
+    (0x1f8f, &['\u{0391}', '\u{0314}', '\u{0342}', '\u{0345}']),
+    (0xfa4c, &['\u{793E}']),
+    (0x95b, &['\u{091C}', '\u{093C}']),
+    (0xfa45, &['\u{6D77}']),
+    (0xfad5, &['\u{25249}']),
+    (0x2f82e, &['\u{535A}']),
+    (0xfa5c, &['\u{81ED}']),
+    (0xf9b7, &['\u{91B4}']),
+    (0x206, &['\u{0045}', '\u{0311}']),
+    (0x1fc7, &['\u{03B7}', '\u{0342}', '\u{0345}']),
+    (0x3cb, &['\u{03C5}', '\u{0308}']),
+    (0xf9dc, &['\u{9686}']),
+    (0x22b, &['\u{006F}', '\u{0308}', '\u{0304}']),
+    (0xf92e, &['\u{51B7}']),
+    (0x1ee2, &['\u{004F}', '\u{031B}', '\u{0323}']),
+    (0x2f88f, &['\u{2A392}']),
+    (0x2f94c, &['\u{4096}']),
+    (0xfa84, &['\u{5F69}']),
+    (0x2f9e3, &['\u{90F1}']),
+    (0xf9d6, &['\u{6DEA}']),
+    (0x15d, &['\u{0073}', '\u{0302}']),
+    (0x1e24, &['\u{0048}', '\u{0323}']),
+    (0x2f95c, &['\u{2597C}']),
+    (0x1ea6, &['\u{0041}', '\u{0302}', '\u{0300}']),
+    (0x1ea8, &['\u{0041}', '\u{0302}', '\u{0309}']),
+    (0x30f7, &['\u{30EF}', '\u{3099}']),
+    (0xf977, &['\u{4EAE}']),
+    (0xfac4, &['\u{9199}']),
+    (0xfa3b, &['\u{5C64}']),
+    (0x2f904, &['\u{6D78}']),
+    (0xf9ab, &['\u{5DBA}']),
+    (0x4eb, &['\u{04E9}', '\u{0308}']),
+    (0xfa20, &['\u{8612}']),
+    (0x2f907, &['\u{6D34}']),
+    (0x1ec6, &['\u{0045}', '\u{0323}', '\u{0302}']),
+    (0x2fa05, &['\u{99A7}']),
+    (0x110ab, &['\u{110A5}', '\u{110BA}']),
+    (0x1e3f, &['\u{006D}', '\u{0301}']),
+    (0x2285, &['\u{2283}', '\u{0338}']),
+    (0x343, &['\u{0313}']),
+    (0xf9da, &['\u{6817}']),
+    (0x2fa07, &['\u{99FE}']),
+    (0x2fa15, &['\u{9EBB}']),
+    (0x4f3, &['\u{0443}', '\u{030B}']),
+    (0x113, &['\u{0065}', '\u{0304}']),
+    (0x1f7b, &['\u{03C5}', '\u{0301}']),
+    (0x21cf, &['\u{21D2}', '\u{0338}']),
+    (0x1f7a, &['\u{03C5}', '\u{0300}']),
+    (0xe5, &['\u{0061}', '\u{030A}']),
+    (0x307d, &['\u{307B}', '\u{309A}']),
+    (0x2fa14, &['\u{2A291}']),
+    (0x2f891, &['\u{22331}']),
+    (0x2f9e5, &['\u{2872E}']),
+    (0x2f983, &['\u{8103}']),
+    (0x1f90, &['\u{03B7}', '\u{0313}', '\u{0345}']),
+    (0x1e85, &['\u{0077}', '\u{0308}']),
+    (0xd4, &['\u{004F}', '\u{0302}']),
+    (0x22e0, &['\u{227C}', '\u{0338}']),
+    (0x3ae, &['\u{03B7}', '\u{0301}']),
+    (0x2f8ae, &['\u{61AF}']),
+    (0xf9fb, &['\u{7099}']),
+    (0xf99c, &['\u{5217}']),
+    (0x217, &['\u{0075}', '\u{0311}']),
+    (0x1eb7, &['\u{0061}', '\u{0323}', '\u{0306}']),
+    (0x2f8aa, &['\u{617A}']),
+    (0x385, &['\u{00A8}', '\u{0301}']),
+    (0xfa16, &['\u{732A}']),
+    (0x2f9e2, &['\u{9094}']),
+    (0x1e1, &['\u{0061}', '\u{0307}', '\u{0304}']),
+    (0x2fa00, &['\u{9829}']),
+    (0x154, &['\u{0052}', '\u{0301}']),
+    (0x1fb7, &['\u{03B1}', '\u{0342}', '\u{0345}']),
+    (0x1eef, &['\u{0075}', '\u{031B}', '\u{0303}']),
+    (0xfa02, &['\u{62D3}']),
+    (0x2f990, &['\u{828B}']),
+    (0x1e52, &['\u{004F}', '\u{0304}', '\u{0301}']),
+    (0x624, &['\u{0648}', '\u{0654}']),
+    (0x2f99d, &['\u{83BD}']),
+    (0x2f883, &['\u{382F}']),
+    (0x1fd7, &['\u{03B9}', '\u{0308}', '\u{0342}']),
+    (0xf9cc, &['\u{7409}']),
+    (0xf926, &['\u{81D8}']),
+    (0x1e56, &['\u{0050}', '\u{0307}']),
+    (0xfa06, &['\u{66B4}']),
+    (0xfa51, &['\u{795D}']),
+    (0x1ef4, &['\u{0059}', '\u{0323}']),
+    (0x2f9da, &['\u{8DCB}']),
+    (0x1e36, &['\u{004C}', '\u{0323}']),
+    (0x6d3, &['\u{06D2}', '\u{0654}']),
+    (0x2f9ff, &['\u{980B}']),
+    (0x2f8e2, &['\u{6885}']),
+    (0x1eaa, &['\u{0041}', '\u{0302}', '\u{0303}']),
+    (0x2f8ad, &['\u{61A4}']),
+    (0xfa07, &['\u{8F3B}']),
+    (0x2f97a, &['\u{8005}']),
+    (0x2f966, &['\u{7CD2}']),
+    (0x1e80, &['\u{0057}', '\u{0300}']),
+    (0x1d2, &['\u{006F}', '\u{030C}']),
+    (0x1f63, &['\u{03C9}', '\u{0314}', '\u{0300}']),
+    (0x1fad, &['\u{03A9}', '\u{0314}', '\u{0301}', '\u{0345}']),
+    (0xf91e, &['\u{721B}']),
+    (0xfaa0, &['\u{732A}']),
+    (0x2f863, &['\u{5A1B}']),
+    (0x30dd, &['\u{30DB}', '\u{309A}']),
+    (0x45e, &['\u{0443}', '\u{0306}']),
+    (0x2f91a, &['\u{70AD}']),
+    (0x1e05, &['\u{0062}', '\u{0323}']),
+    (0x11a, &['\u{0045}', '\u{030C}']),
+    (0x1f61, &['\u{03C9}', '\u{0314}']),
+    (0x2fa1b, &['\u{9F16}']),
+    (0x2f9e0, &['\u{285D2}']),
+    (0x13d, &['\u{004C}', '\u{030C}']),
+    (0xfb32, &['\u{05D2}', '\u{05BC}']),
+    (0x1ea5, &['\u{0061}', '\u{0302}', '\u{0301}']),
+    (0xddd, &['\u{0DD9}', '\u{0DCF}', '\u{0DCA}']),
+    (0x118, &['\u{0045}', '\u{0328}']),
+    (0x207, &['\u{0065}', '\u{0311}']),
+    (0x1ffa, &['\u{03A9}', '\u{0300}']),
+    (0x2f93f, &['\u{4008}']),
+    (0x2f886, &['\u{5E3D}']),
+    (0xf9e0, &['\u{6613}']),
+    (0xf970, &['\u{6BBA}']),
+    (0x2f97e, &['\u{265A8}']),
+    (0xf972, &['\u{6C88}']),
+    (0x136, &['\u{004B}', '\u{0327}']),
+    (0x1b0a, &['\u{1B09}', '\u{1B35}']),
+    (0x3073, &['\u{3072}', '\u{3099}']),
+    (0xf916, &['\u{70D9}']),
+    (0x22e2, &['\u{2291}', '\u{0338}']),
+    (0x2f921, &['\u{7235}']),
+    (0x2260, &['\u{003D}', '\u{0338}']),
+    (0x1f66, &['\u{03C9}', '\u{0313}', '\u{0342}']),
+    (0x2f80f, &['\u{5154}']),
+    (0x2001, &['\u{2003}']),
+    (0x1f88, &['\u{0391}', '\u{0313}', '\u{0345}']),
+    (0xfaa6, &['\u{76CA}']),
+    (0x1fae, &['\u{03A9}', '\u{0313}', '\u{0342}', '\u{0345}']),
+    (0xfaa4, &['\u{761D}']),
+    (0x1f3a, &['\u{0399}', '\u{0313}', '\u{0300}']),
+    (0xfac1, &['\u{8D08}']),
+    (0xfa8f, &['\u{6452}']),
+    (0x95d, &['\u{0922}', '\u{093C}']),
+    (0xf9d1, &['\u{516D}']),
+    (0x1b41, &['\u{1B3F}', '\u{1B35}']),
+    (0xf948, &['\u{8CC2}']),
+    (0x1e3c, &['\u{004C}', '\u{032D}']),
+    (0xfad9, &['\u{9F8E}']),
+    (0x400, &['\u{0415}', '\u{0300}']),
+    (0xf96d, &['\u{7701}']),
+    (0x1e7c, &['\u{0056}', '\u{0303}']),
+    (0x3d3, &['\u{03D2}', '\u{0301}']),
+    (0x172, &['\u{0055}', '\u{0328}']),
+    (0x1e1f, &['\u{0066}', '\u{0307}']),
+    (0xfa9f, &['\u{72AF}']),
+    (0x226e, &['\u{003C}', '\u{0338}']),
+    (0x2f822, &['\u{5272}']),
+    (0xf75, &['\u{0F71}', '\u{0F74}']),
+    (0x2f871, &['\u{21B18}']),
+    (0x2f812, &['\u{2051C}']),
+    (0x2275, &['\u{2273}', '\u{0338}']),
+    (0x1f3f, &['\u{0399}', '\u{0314}', '\u{0342}']),
+    (0x30d7, &['\u{30D5}', '\u{309A}']),
+    (0xd9, &['\u{0055}', '\u{0300}']),
+    (0x2f8ab, &['\u{618E}']),
+    (0xfa7a, &['\u{5599}']),
+    (0xf915, &['\u{6D1B}']),
+    (0x1e1d, &['\u{0065}', '\u{0327}', '\u{0306}']),
+    (0x1eb, &['\u{006F}', '\u{0328}']),
+    (0x2f808, &['\u{507A}']),
+    (0x2f98e, &['\u{446B}']),
+    (0xfa53, &['\u{798E}']),
+    (0xf9a6, &['\u{7C3E}']),
+    (0x2f80c, &['\u{349E}']),
+    (0x2f8f5, &['\u{6BBA}']),
+    (0x2fa02, &['\u{98E2}']),
+    (0x1e81, &['\u{0077}', '\u{0300}']),
+    (0xf930, &['\u{64C4}']),
+    (0x3060, &['\u{305F}', '\u{3099}']),
+    (0x1fea, &['\u{03A5}', '\u{0300}']),
+    (0x38a, &['\u{0399}', '\u{0301}']),
+    (0x2f85c, &['\u{5906}']),
+    (0x1fc9, &['\u{0395}', '\u{0301}']),
+    (0x2f86f, &['\u{5BE7}']),
+    (0x2f90a, &['\u{3D33}']),
+    (0x2f902, &['\u{6D41}']),
+    (0x2f835, &['\u{7070}']),
+    (0x14d, &['\u{006F}', '\u{0304}']),
+    (0x1d162, &['\u{1D158}', '\u{1D165}', '\u{1D170}']),
+    (0xf923, &['\u{85CD}']),
+    (0x2f896, &['\u{38C7}']),
+    (0x22d, &['\u{006F}', '\u{0303}', '\u{0304}']),
+    (0xf9f2, &['\u{9C57}']),
+    (0x30c2, &['\u{30C1}', '\u{3099}']),
+    (0x30d4, &['\u{30D2}', '\u{309A}']),
+    (0xf97e, &['\u{91CF}']),
+    (0x1fe2, &['\u{03C5}', '\u{0308}', '\u{0300}']),
+    (0xec, &['\u{0069}', '\u{0300}']),
+    (0x1f49, &['\u{039F}', '\u{0314}']),
+    (0xfa8d, &['\u{63C4}']),
+    (0x2f898, &['\u{261DA}']),
+    (0x1eb5, &['\u{0061}', '\u{0306}', '\u{0303}']),
+    (0x2f994, &['\u{82B3}']),
+    (0x12b, &['\u{0069}', '\u{0304}']),
+    (0x20e, &['\u{004F}', '\u{0311}']),
+    (0x168, &['\u{0055}', '\u{0303}']),
+    (0x1f56, &['\u{03C5}', '\u{0313}', '\u{0342}']),
+    (0x2f8a0, &['\u{6081}']),
+    (0xfa52, &['\u{798D}']),
+    (0x2f93d, &['\u{25044}']),
+    (0xda, &['\u{0055}', '\u{0301}']),
+    (0x1ec4, &['\u{0045}', '\u{0302}', '\u{0303}']),
+    (0x1e95, &['\u{007A}', '\u{0331}']),
+    (0x1f67, &['\u{03C9}', '\u{0314}', '\u{0342}']),
+    (0x2f9c1, &['\u{8801}']),
+    (0xf9de, &['\u{540F}']),
+    (0x2f83d, &['\u{5438}']),
+    (0xf9ed, &['\u{541D}']),
+    (0xfabf, &['\u{8B39}']),
+    (0x457, &['\u{0456}', '\u{0308}']),
+    (0xfa0d, &['\u{55C0}']),
+    (0xfab1, &['\u{7F3E}']),
+    (0x2f8fa, &['\u{6C4E}']),
+    (0x1e49, &['\u{006E}', '\u{0331}']),
+    (0xf91b, &['\u{4E82}']),
+    (0x1e50, &['\u{004F}', '\u{0304}', '\u{0300}']),
+    (0xf94a, &['\u{58D8}']),
+    (0xfa90, &['\u{6556}']),
+    (0x2284, &['\u{2282}', '\u{0338}']),
+    (0x1ea0, &['\u{0041}', '\u{0323}']),
+    (0x169, &['\u{0075}', '\u{0303}']),
+    (0xf900, &['\u{8C48}']),
+    (0x1eeb, &['\u{0075}', '\u{031B}', '\u{0300}']),
+    (0xf9e5, &['\u{75E2}']),
+    (0x2f9ea, &['\u{927C}']),
+    (0x2f8ac, &['\u{61B2}']),
+    (0x2f8f8, &['\u{21D0B}']),
+    (0xcc8, &['\u{0CC6}', '\u{0CD6}']),
+    (0x2f8f6, &['\u{6BBB}']),
+    (0xf968, &['\u{6CCC}']),
+    (0x1e6c, &['\u{0054}', '\u{0323}']),
+    (0x2f8d8, &['\u{6717}']),
+    (0x1eb6, &['\u{0041}', '\u{0323}', '\u{0306}']),
+    (0x2f899, &['\u{5F62}']),
+    (0xc3, &['\u{0041}', '\u{0303}']),
+    (0x1b0, &['\u{0075}', '\u{031B}']),
+    (0x1f13, &['\u{03B5}', '\u{0314}', '\u{0300}']),
+    (0x1e63, &['\u{0073}', '\u{0323}']),
+    (0x112, &['\u{0045}', '\u{0304}']),
+    (0x2f920, &['\u{7228}']),
+    (0xfa04, &['\u{5B85}']),
+    (0x2f8d9, &['\u{671B}']),
+    (0x1e38, &['\u{004C}', '\u{0323}', '\u{0304}']),
+    (0x1f94, &['\u{03B7}', '\u{0313}', '\u{0301}', '\u{0345}']),
+    (0x2f940, &['\u{76F4}']),
+    (0x2f97d, &['\u{8060}']),
+    (0x2f84e, &['\u{5651}']),
+    (0xf9a5, &['\u{6BAE}']),
+    (0x9dc, &['\u{09A1}', '\u{09BC}']),
+    (0xfc, &['\u{0075}', '\u{0308}']),
+    (0x1eec, &['\u{0055}', '\u{031B}', '\u{0309}']),
+    (0x1a0, &['\u{004F}', '\u{031B}']),
+    (0x2f9b4, &['\u{865C}']),
+    (0xbca, &['\u{0BC6}', '\u{0BBE}']),
+    (0x2f834, &['\u{20A2C}']),
+    (0x2fa0b, &['\u{9C40}']),
+    (0xfad8, &['\u{9F43}']),
+    (0x30c5, &['\u{30C4}', '\u{3099}']),
+    (0xf9f5, &['\u{6DCB}']),
+    (0x2f84b, &['\u{5716}']),
+    (0x1e5e, &['\u{0052}', '\u{0331}']),
+    (0x2f8c6, &['\u{6477}']),
+    (0x2f93b, &['\u{24FA1}']),
+    (0x151, &['\u{006F}', '\u{030B}']),
+    (0x1ffc, &['\u{03A9}', '\u{0345}']),
+    (0xfa39, &['\u{5840}']),
+    (0x1e09, &['\u{0063}', '\u{0327}', '\u{0301}']),
+    (0xf999, &['\u{84EE}']),
+    (0x2f8e6, &['\u{6914}']),
+    (0x2f8ba, &['\u{62FC}']),
+    (0x2f876, &['\u{3781}']),
+    (0x123, &['\u{0067}', '\u{0327}']),
+    (0xfb3c, &['\u{05DC}', '\u{05BC}']),
+    (0xf996, &['\u{7DF4}']),
+    (0x1e8d, &['\u{0078}', '\u{0308}']),
+    (0x10c, &['\u{0043}', '\u{030C}']),
+    (0x2f8ee, &['\u{3C18}']),
+    (0xf909, &['\u{5951}']),
+    (0xfa4a, &['\u{7422}']),
+    (0x2f9a9, &['\u{84F3}']),
+    (0x2f806, &['\u{4FBB}']),
+    (0x30d0, &['\u{30CF}', '\u{3099}']),
+    (0x2f9bb, &['\u{8779}']),
+    (0x2f975, &['\u{262D9}']),
+    (0x2fa18, &['\u{9EFE}']),
+    (0x2f989, &['\u{23393}']),
+    (0xf987, &['\u{9A6A}']),
+    (0x2f80a, &['\u{50E7}']),
+    (0xf998, &['\u{8F26}']),
+    (0xf979, &['\u{51C9}']),
+    (0xf90d, &['\u{61F6}']),
+    (0xf922, &['\u{6FEB}']),
+    (0x1f8c, &['\u{0391}', '\u{0313}', '\u{0301}', '\u{0345}']),
+    (0x1f37, &['\u{03B9}', '\u{0314}', '\u{0342}']),
+    (0xfb48, &['\u{05E8}', '\u{05BC}']),
+    (0x3067, &['\u{3066}', '\u{3099}']),
+    (0x2f932, &['\u{74CA}']),
+    (0x1ed2, &['\u{004F}', '\u{0302}', '\u{0300}']),
+    (0xd1, &['\u{004E}', '\u{0303}']),
+    (0x1e28, &['\u{0048}', '\u{0327}']),
+    (0x178, &['\u{0059}', '\u{0308}']),
+    (0x2f9ac, &['\u{8564}']),
+    (0x161, &['\u{0073}', '\u{030C}']),
+    (0xfad0, &['\u{22844}']),
+    (0x401, &['\u{0415}', '\u{0308}']),
+    (0x2241, &['\u{223C}', '\u{0338}']),
+    (0xf9bd, &['\u{5C3F}']),
+    (0x2f8f0, &['\u{238A7}']),
+    (0x1e45, &['\u{006E}', '\u{0307}']),
+    (0xf9d9, &['\u{6144}']),
+    (0xfaa9, &['\u{774A}']),
+    (0xfa35, &['\u{5351}']),
+    (0x4d2, &['\u{0410}', '\u{0308}']),
+    (0x1e34, &['\u{004B}', '\u{0331}']),
+    (0xf927, &['\u{881F}']),
+    (0x1ec3, &['\u{0065}', '\u{0302}', '\u{0309}']),
+    (0x2f8de, &['\u{3B49}']),
+    (0x2f9a2, &['\u{83CC}']),
+    (0xf943, &['\u{5F04}']),
+    (0x1e8f, &['\u{0079}', '\u{0307}']),
+    (0xf9d5, &['\u{5D19}']),
+    (0xf982, &['\u{5EEC}']),
+    (0x1f50, &['\u{03C5}', '\u{0313}']),
+    (0x1f92, &['\u{03B7}', '\u{0313}', '\u{0300}', '\u{0345}']),
+    (0xf81, &['\u{0F71}', '\u{0F80}']),
+    (0xfa87, &['\u{614E}']),
+    (0x2f94e, &['\u{784E}']),
+    (0x1fab, &['\u{03A9}', '\u{0314}', '\u{0300}', '\u{0345}']),
+    (0xfa3d, &['\u{6094}']),
+    (0x1d9, &['\u{0055}', '\u{0308}', '\u{030C}']),
+    (0x2f996, &['\u{82E6}']),
+    (0x1e8a, &['\u{0058}', '\u{0307}']),
+    (0xfa58, &['\u{7E09}']),
+    (0x1fc1, &['\u{00A8}', '\u{0342}']),
+    (0x2f961, &['\u{25BAB}']),
+    (0x344, &['\u{0308}', '\u{0301}']),
+    (0x1f34, &['\u{03B9}', '\u{0313}', '\u{0301}']),
+    (0xf9a8, &['\u{4EE4}']),
+    (0x163, &['\u{0074}', '\u{0327}']),
+    (0xfb4b, &['\u{05D5}', '\u{05B9}']),
+    (0x9cc, &['\u{09C7}', '\u{09D7}']),
+    (0x1e71, &['\u{0074}', '\u{032D}']),
+    (0xe2, &['\u{0061}', '\u{0302}']),
+    (0xf9f3, &['\u{9E9F}']),
+    (0x2f89e, &['\u{5FD7}']),
+    (0x2f8b3, &['\u{621B}']),
+    (0x1f4d, &['\u{039F}', '\u{0314}', '\u{0301}']),
+    (0x1ef9, &['\u{0079}', '\u{0303}']),
+    (0x2f82f, &['\u{5373}']),
+    (0xfa2e, &['\u{90DE}']),
+    (0x2f814, &['\u{5167}']),
+    (0xfad1, &['\u{233D5}']),
+    (0x1ec5, &['\u{0065}', '\u{0302}', '\u{0303}']),
+    (0x9df, &['\u{09AF}', '\u{09BC}']),
+    (0x2f8a1, &['\u{393A}']),
+    (0xf939, &['\u{9B6F}']),
+    (0x228, &['\u{0045}', '\u{0327}']),
+    (0x2f8d2, &['\u{5192}']),
+    (0x1d1bd, &['\u{1D1B9}', '\u{1D165}', '\u{1D16E}']),
+    (0x1f86, &['\u{03B1}', '\u{0313}', '\u{0342}', '\u{0345}']),
+    (0x2f868, &['\u{36FC}']),
+    (0x22a, &['\u{004F}', '\u{0308}', '\u{0304}']),
+    (0x2f8e3, &['\u{2346D}']),
+    (0xa5a, &['\u{0A17}', '\u{0A3C}']),
+    (0x1fc8, &['\u{0395}', '\u{0300}']),
+    (0xfa22, &['\u{8AF8}']),
+    (0x1ed, &['\u{006F}', '\u{0328}', '\u{0304}']),
+    (0xf99f, &['\u{70C8}']),
+    (0x2f9b8, &['\u{8688}']),
+    (0x2f9e7, &['\u{9238}']),
+    (0xfabb, &['\u{8ACB}']),
+    (0x1d6, &['\u{0075}', '\u{0308}', '\u{0304}']),
+    (0xfb31, &['\u{05D1}', '\u{05BC}']),
+    (0x146, &['\u{006E}', '\u{0327}']),
+    (0x1ef2, &['\u{0059}', '\u{0300}']),
+    (0x1fa1, &['\u{03C9}', '\u{0314}', '\u{0345}']),
+    (0x1e18, &['\u{0045}', '\u{032D}']),
+    (0xfa9b, &['\u{701E}']),
+    (0xfa80, &['\u{5A62}']),
+    (0xfacc, &['\u{983B}']),
+    (0x17a, &['\u{007A}', '\u{0301}']),
+    (0x1e3b, &['\u{006C}', '\u{0331}']),
+    (0x1e74, &['\u{0055}', '\u{0330}']),
+    (0x2f86b, &['\u{5B3E}']),
+    (0x1e23, &['\u{0068}', '\u{0307}']),
+    (0x175, &['\u{0077}', '\u{0302}']),
+    (0x1e3e, &['\u{004D}', '\u{0301}']),
+    (0x4db, &['\u{04D9}', '\u{0308}']),
+    (0x219b, &['\u{2192}', '\u{0338}']),
+    (0x1e84, &['\u{0057}', '\u{0308}']),
+    (0xf9cf, &['\u{7D10}']),
+    (0x1e44, &['\u{004E}', '\u{0307}']),
+    (0x1e1a, &['\u{0045}', '\u{0330}']),
+    (0x1f65, &['\u{03C9}', '\u{0314}', '\u{0301}']),
+    (0xf929, &['\u{6717}']),
+    (0x2247, &['\u{2245}', '\u{0338}']),
+    (0x4f2, &['\u{0423}', '\u{030B}']),
+    (0x2f87c, &['\u{5D43}']),
+    (0x1e2f, &['\u{0069}', '\u{0308}', '\u{0301}']),
+    (0x2f84a, &['\u{55C2}']),
+    (0x2f98c, &['\u{8204}']),
+    (0x2f9a1, &['\u{83CA}']),
+    (0x1ec8, &['\u{0049}', '\u{0309}']),
+    (0x157, &['\u{0072}', '\u{0327}']),
+    (0x2f8bf, &['\u{6422}']),
+    (0xfb41, &['\u{05E1}', '\u{05BC}']),
+    (0x4f9, &['\u{044B}', '\u{0308}']),
+    (0x2f995, &['\u{82BD}']),
+    (0x12e, &['\u{0049}', '\u{0328}']),
+    (0xf9b6, &['\u{79AE}']),
+    (0x1ebc, &['\u{0045}', '\u{0303}']),
+    (0x1e21, &['\u{0067}', '\u{0304}']),
+    (0x2f841, &['\u{54F6}']),
+    (0x116, &['\u{0045}', '\u{0307}']),
+    (0x453, &['\u{0433}', '\u{0301}']),
+    (0x2f992, &['\u{52B3}']),
+    (0x1d164, &['\u{1D158}', '\u{1D165}', '\u{1D172}']),
+    (0x2f8e1, &['\u{6852}']),
+    (0xfa75, &['\u{5180}']),
+    (0xf902, &['\u{8ECA}']),
+    (0xf908, &['\u{9F9C}']),
+    (0x2f817, &['\u{5197}']),
+    (0xf95f, &['\u{5BE7}']),
+    (0x2f83b, &['\u{5406}']),
+    (0x10f, &['\u{0064}', '\u{030C}']),
+    (0xd3, &['\u{004F}', '\u{0301}']),
+    (0x3069, &['\u{3068}', '\u{3099}']),
+    (0x1e65, &['\u{0073}', '\u{0301}', '\u{0307}']),
+    (0xfb43, &['\u{05E3}', '\u{05BC}']),
+    (0x30ba, &['\u{30B9}', '\u{3099}']),
+    (0x1f9b, &['\u{0397}', '\u{0314}', '\u{0300}', '\u{0345}']),
+    (0x16c, &['\u{0055}', '\u{0306}']),
+    (0xc7, &['\u{0043}', '\u{0327}']),
+    (0x2f96b, &['\u{25F86}']),
+    (0xf9f8, &['\u{7B20}']),
+    (0x158, &['\u{0052}', '\u{030C}']),
+    (0x1d163, &['\u{1D158}', '\u{1D165}', '\u{1D171}']),
+    (0x1ea7, &['\u{0061}', '\u{0302}', '\u{0300}']),
+    (0x2288, &['\u{2286}', '\u{0338}']),
+    (0xfacb, &['\u{980B}']),
+    (0xf901, &['\u{66F4}']),
+    (0x1f8e, &['\u{0391}', '\u{0313}', '\u{0342}', '\u{0345}']),
+    (0x2fa09, &['\u{29B30}']),
+    (0x2f9c8, &['\u{4635}']),
+    (0x1e0e, &['\u{0044}', '\u{0331}']),
+    (0xf949, &['\u{96F7}']),
+    (0xe8, &['\u{0065}', '\u{0300}']),
+    (0xfa3c, &['\u{5C6E}']),
+    (0x2f8ec, &['\u{236A3}']),
+    (0x2f8db, &['\u{675E}']),
+    (0x218, &['\u{0053}', '\u{0326}']),
+    (0x3065, &['\u{3064}', '\u{3099}']),
+    (0xfa7c, &['\u{585A}']),
+    (0x1f82, &['\u{03B1}', '\u{0313}', '\u{0300}', '\u{0345}']),
+    (0x1e9b, &['\u{017F}', '\u{0307}']),
+    (0x209, &['\u{0069}', '\u{030F}']),
+    (0x1fd1, &['\u{03B9}', '\u{0304}']),
+    (0x2f9fa, &['\u{97E0}']),
+    (0x30f4, &['\u{30A6}', '\u{3099}']),
+    (0x1f1a, &['\u{0395}', '\u{0313}', '\u{0300}']),
+    (0x1e5c, &['\u{0052}', '\u{0323}', '\u{0304}']),
+    (0xfa6b, &['\u{6075}']),
+    (0x2f9de, &['\u{8ED4}']),
+    (0xf9c6, &['\u{962E}']),
+    (0x1da, &['\u{0075}', '\u{0308}', '\u{030C}']),
+    (0x1f0e, &['\u{0391}', '\u{0313}', '\u{0342}']),
+    (0xf97b, &['\u{7CE7}']),
+    (0xf9c3, &['\u{907C}']),
+    (0x117, &['\u{0065}', '\u{0307}']),
+    (0xf945, &['\u{807E}']),
+    (0x2f9fe, &['\u{980B}']),
+    (0x1ed6, &['\u{004F}', '\u{0302}', '\u{0303}']),
+    (0x625, &['\u{0627}', '\u{0655}']),
+    (0x2f9bc, &['\u{8728}']),
+    (0x2249, &['\u{2248}', '\u{0338}']),
+    (0x1d4, &['\u{0075}', '\u{030C}']),
+    (0x2f9f0, &['\u{95B7}']),
+    (0x2f931, &['\u{7485}']),
+    (0x2f92a, &['\u{3EAC}']),
+    (0x1fdb, &['\u{0399}', '\u{0301}']),
+    (0xfa7b, &['\u{55E2}']),
+    (0x2f882, &['\u{5DE2}']),
+    (0x2f8ef, &['\u{6B21}']),
+    (0xf94f, &['\u{7D2F}']),
+    (0xf93, &['\u{0F92}', '\u{0FB7}']),
+    (0x2f945, &['\u{771E}']),
+    (0x3056, &['\u{3055}', '\u{3099}']),
+    (0x959, &['\u{0916}', '\u{093C}']),
+    (0x22ac, &['\u{22A2}', '\u{0338}']),
+    (0x1ff6, &['\u{03C9}', '\u{0342}']),
+    (0x2f801, &['\u{4E38}']),
+    (0xf921, &['\u{5D50}']),
+    (0xfa41, &['\u{654F}']),
+    (0xf9fe, &['\u{8336}']),
+    (0xfaa3, &['\u{753B}']),
+    (0x2f8b4, &['\u{625D}']),
+    (0x20c, &['\u{004F}', '\u{030F}']),
+    (0xf9c1, &['\u{7642}']),
+    (0x2000, &['\u{2002}']),
+    (0x2f905, &['\u{6D85}']),
+    (0x40d, &['\u{0418}', '\u{0300}']),
+    (0x1f79, &['\u{03BF}', '\u{0301}']),
+    (0x2f95b, &['\u{7A4F}']),
+    (0x1e72, &['\u{0055}', '\u{0324}']),
+    (0x2f91b, &['\u{20525}']),
+    (0xf9e1, &['\u{674E}']),
+    (0x2f9cb, &['\u{278AE}']),
+    (0x2f84d, &['\u{5717}']),
+    (0x2f8a7, &['\u{614C}']),
+    (0x1f05, &['\u{03B1}', '\u{0314}', '\u{0301}']),
+    (0xfb30, &['\u{05D0}', '\u{05BC}']),
+    (0xfa01, &['\u{5EA6}']),
+    (0xef, &['\u{0069}', '\u{0308}']),
+    (0x1d1c0, &['\u{1D1BA}', '\u{1D165}', '\u{1D16F}']),
+    (0x2f819, &['\u{4ECC}']),
+    (0xca, &['\u{0045}', '\u{0302}']),
+    (0x21ae, &['\u{2194}', '\u{0338}']),
+    (0x1e2e, &['\u{0049}', '\u{0308}', '\u{0301}']),
+    (0x30da, &['\u{30D8}', '\u{309A}']),
+    (0x2f880, &['\u{5D7C}']),
+    (0x2f832, &['\u{537F}']),
+    (0x1db, &['\u{0055}', '\u{0308}', '\u{0300}']),
+    (0x4e7, &['\u{043E}', '\u{0308}']),
+    (0x2f85b, &['\u{58F7}']),
+    (0x1f0, &['\u{006A}', '\u{030C}']),
+    (0x2f9c7, &['\u{88DE}']),
+    (0x1e68, &['\u{0053}', '\u{0323}', '\u{0307}']),
+    (0xf90c, &['\u{5948}']),
+    (0xfb4d, &['\u{05DB}', '\u{05BF}']),
+    (0x2f8f4, &['\u{6B9F}']),
+    (0x3b0, &['\u{03C5}', '\u{0308}', '\u{0301}']),
+    (0xf90f, &['\u{7F85}']),
+    (0x2f89f, &['\u{5FF9}']),
+    (0x1f9a, &['\u{0397}', '\u{0313}', '\u{0300}', '\u{0345}']),
+    (0xfa88, &['\u{6108}']),
+    (0x1d1bf, &['\u{1D1B9}', '\u{1D165}', '\u{1D16F}']),
+    (0x3071, &['\u{306F}', '\u{309A}']),
+    (0xfa69, &['\u{97FF}']),
+    (0x1026, &['\u{1025}', '\u{102E}']),
+    (0xfa1a, &['\u{7965}']),
+    (0x1e03, &['\u{0062}', '\u{0307}']),
+    (0xf928, &['\u{5ECA}']),
+    (0x2f974, &['\u{4359}']),
+    (0xb4b, &['\u{0B47}', '\u{0B3E}']),
+    (0x1f1d, &['\u{0395}', '\u{0314}', '\u{0301}']),
+    (0x165, &['\u{0074}', '\u{030C}']),
+    (0xfad2, &['\u{3B9D}']),
+    (0xfac9, &['\u{97DB}']),
+    (0x2f897, &['\u{232B8}']),
+    (0x2fa0f, &['\u{9D67}']),
+    (0x2f9ae, &['\u{455D}']),
+    (0xc8, &['\u{0045}', '\u{0300}']),
+    (0x2f8bc, &['\u{6383}']),
+    (0x2f96a, &['\u{7D00}']),
+    (0x2f9fb, &['\u{2940A}']),
+    (0x2f8cd, &['\u{6649}']),
+    (0xfb1f, &['\u{05F2}', '\u{05B7}']),
+    (0x2f94b, &['\u{4046}']),
+    (0x2f811, &['\u{5177}']),
+    (0x95a, &['\u{0917}', '\u{093C}']),
+    (0x30dc, &['\u{30DB}', '\u{3099}']),
+    (0xf78, &['\u{0FB3}', '\u{0F80}']),
+    (0x2f909, &['\u{6E6E}']),
+    (0x22ae, &['\u{22A9}', '\u{0338}']),
+    (0xf9d8, &['\u{5F8B}']),
+    (0xfa8e, &['\u{641C}']),
+    (0x1e2a, &['\u{0048}', '\u{032E}']),
+    (0x108, &['\u{0043}', '\u{0302}']),
+    (0x2f9cf, &['\u{8AA0}']),
+    (0x1e7b, &['\u{0075}', '\u{0304}', '\u{0308}']),
+    (0x2f8cb, &['\u{65E3}']),
+    (0xfac2, &['\u{8F38}']),
+    (0x1d15f, &['\u{1D158}', '\u{1D165}']),
+    (0xf924, &['\u{8964}']),
+    (0xf96f, &['\u{8AAA}']),
+    (0x1ede, &['\u{004F}', '\u{031B}', '\u{0309}']),
+    (0x2f987, &['\u{267A7}']),
+    (0x1f72, &['\u{03B5}', '\u{0300}']),
+    (0x1ed4, &['\u{004F}', '\u{0302}', '\u{0309}']),
+    (0x2f8b2, &['\u{6210}']),
+    (0xfa42, &['\u{65E2}']),
+    (0x626, &['\u{064A}', '\u{0654}']),
+    (0xfa9d, &['\u{77A7}']),
+    (0x2f9b3, &['\u{8650}']),
+    (0x2f919, &['\u{7077}']),
+    (0xf9d3, &['\u{9678}']),
+    (0xfa71, &['\u{51B5}']),
+    (0x1f2f, &['\u{0397}', '\u{0314}', '\u{0342}']),
+    (0x1ed9, &['\u{006F}', '\u{0323}', '\u{0302}']),
+    (0xfb2f, &['\u{05D0}', '\u{05B8}']),
+    (0x2f8dc, &['\u{6753}']),
+    (0x1eb4, &['\u{0041}', '\u{0306}', '\u{0303}']),
+    (0xfa25, &['\u{9038}']),
+    (0x2f86d, &['\u{5BC3}']),
+    (0x4ea, &['\u{04E8}', '\u{0308}']),
+    (0x1ecd, &['\u{006F}', '\u{0323}']),
+    (0x1f01, &['\u{03B1}', '\u{0314}']),
+    (0x2f8d0, &['\u{3B08}']),
+    (0x2f93a, &['\u{7610}']),
+    (0x40c, &['\u{041A}', '\u{0301}']),
+    (0xf93a, &['\u{9DFA}']),
+    (0xf9ff, &['\u{523A}']),
+    (0x1e26, &['\u{0048}', '\u{0308}']),
+    (0x1f08, &['\u{0391}', '\u{0313}']),
+    (0x1f03, &['\u{03B1}', '\u{0314}', '\u{0300}']),
+    (0xfad7, &['\u{27ED3}']),
+    (0x2f884, &['\u{5DFD}']),
+    (0x2f845, &['\u{5584}']),
+    (0x38e, &['\u{03A5}', '\u{0301}']),
+    (0x4d0, &['\u{0410}', '\u{0306}']),
+    (0x30be, &['\u{30BD}', '\u{3099}']),
+    (0x1f32, &['\u{03B9}', '\u{0313}', '\u{0300}']),
+    (0x2fa08, &['\u{4BCE}']),
+    (0x17d, &['\u{005A}', '\u{030C}']),
+    (0x1e3d, &['\u{006C}', '\u{032D}']),
+    (0xfa2c, &['\u{9928}']),
+    (0x2f95f, &['\u{7AEE}']),
+    (0x2f99c, &['\u{8323}']),
+    (0x1f6f, &['\u{03A9}', '\u{0314}', '\u{0342}']),
+    (0xf937, &['\u{8DEF}']),
+    (0xfa34, &['\u{52E4}']),
+    (0x1f2a, &['\u{0397}', '\u{0313}', '\u{0300}']),
+    (0xf69, &['\u{0F40}', '\u{0FB5}']),
+    (0xe0, &['\u{0061}', '\u{0300}']),
+    (0x2f978, &['\u{7F95}']),
+    (0x2f97f, &['\u{8070}']),
+    (0x1ef, &['\u{0292}', '\u{030C}']),
+    (0x1b43, &['\u{1B42}', '\u{1B35}']),
+    (0x155, &['\u{0072}', '\u{0301}']),
+    (0x1fc6, &['\u{03B7}', '\u{0342}']),
+    (0x20a, &['\u{0049}', '\u{0311}']),
+    (0x3077, &['\u{3075}', '\u{309A}']),
+    (0x1e1b, &['\u{0065}', '\u{0330}']),
+    (0x2f885, &['\u{5E28}']),
+    (0x20d, &['\u{006F}', '\u{030F}']),
+    (0xf9c4, &['\u{9F8D}']),
+    (0xf9a7, &['\u{7375}']),
+    (0xf98e, &['\u{5E74}']),
+    (0xf4d, &['\u{0F4C}', '\u{0FB7}']),
+    (0x2f805, &['\u{4FAE}']),
+    (0x159, &['\u{0072}', '\u{030C}']),
+    (0xf4, &['\u{006F}', '\u{0302}']),
+    (0x1f40, &['\u{03BF}', '\u{0313}']),
+    (0xfa00, &['\u{5207}']),
+    (0x2f9f6, &['\u{29145}']),
+    (0xfaae, &['\u{7C7B}']),
+    (0xfa15, &['\u{51DE}']),
+    (0x212b, &['\u{0041}', '\u{030A}']),
+    (0x2fa06, &['\u{99C2}']),
+    (0xd5, &['\u{004F}', '\u{0303}']),
+    (0x1e2d, &['\u{0069}', '\u{0330}']),
+    (0x1f0f, &['\u{0391}', '\u{0314}', '\u{0342}']),
+    (0x2271, &['\u{2265}', '\u{0338}']),
+    (0x1f71, &['\u{03B1}', '\u{0301}']),
+    (0xfa47, &['\u{6F22}']),
+    (0xd4b, &['\u{0D47}', '\u{0D3E}']),
+    (0x2f81c, &['\u{291DF}']),
+    (0x1fb9, &['\u{0391}', '\u{0304}']),
+    (0xfa26, &['\u{90FD}']),
+    (0x1ff9, &['\u{039F}', '\u{0301}']),
+    (0x134, &['\u{004A}', '\u{0302}']),
+    (0xf991, &['\u{649A}']),
+    (0x1d160, &['\u{1D158}', '\u{1D165}', '\u{1D16E}']),
+    (0xf9ac, &['\u{601C}']),
+    (0x2f828, &['\u{52FA}']),
+    (0x1fd9, &['\u{0399}', '\u{0304}']),
+    (0x2f8eb, &['\u{6AA8}']),
+    (0x2f88b, &['\u{5EB0}']),
+    (0x2f9b1, &['\u{270D2}']),
+    (0xf9bc, &['\u{5BEE}']),
+    (0xfa2a, &['\u{98EF}']),
+    (0x307c, &['\u{307B}', '\u{3099}']),
+    (0x1f5, &['\u{0067}', '\u{0301}']),
+    (0x1f78, &['\u{03BF}', '\u{0300}']),
+    (0xfa72, &['\u{5168}']),
+    (0x2280, &['\u{227A}', '\u{0338}']),
+    (0x2f918, &['\u{707D}']),
+    (0xe4, &['\u{0061}', '\u{0308}']),
+    (0x2f802, &['\u{4E41}']),
+    (0x2f8d6, &['\u{80AD}']),
+    (0x388, &['\u{0395}', '\u{0301}']),
+    (0xfac5, &['\u{9276}']),
+    (0x10d, &['\u{0063}', '\u{030C}']),
+    (0xf958, &['\u{83F1}']),
+    (0x1ebe, &['\u{0045}', '\u{0302}', '\u{0301}']),
+    (0xf90a, &['\u{91D1}']),
+    (0x1f9, &['\u{006E}', '\u{0300}']),
+    (0xb4c, &['\u{0B47}', '\u{0B57}']),
+    (0x1f57, &['\u{03C5}', '\u{0314}', '\u{0342}']),
+    (0x1e06, &['\u{0042}', '\u{0331}']),
+    (0x1ed1, &['\u{006F}', '\u{0302}', '\u{0301}']),
+    (0x1ff3, &['\u{03C9}', '\u{0345}']),
+    (0x1e2b, &['\u{0068}', '\u{032E}']),
+    (0x1eb8, &['\u{0045}', '\u{0323}']),
+    (0x2f875, &['\u{5C22}']),
+    (0xf942, &['\u{58DF}']),
+    (0x1f6a, &['\u{03A9}', '\u{0313}', '\u{0300}']),
+    (0x1e0, &['\u{0041}', '\u{0307}', '\u{0304}']),
+    (0x2f94d, &['\u{2541D}']),
+    (0xc48, &['\u{0C46}', '\u{0C56}']),
+    (0x2f810, &['\u{5164}']),
+    (0x1f36, &['\u{03B9}', '\u{0313}', '\u{0342}']),
+    (0x2f8f3, &['\u{6B72}']),
+    (0xfd, &['\u{0079}', '\u{0301}']),
+    (0xf961, &['\u{7387}']),
+    (0x2f873, &['\u{5C06}']),
+    (0x37e, &['\u{003B}']),
+    (0xf911, &['\u{87BA}']),
+    (0xfac6, &['\u{967C}']),
+    (0x2f89d, &['\u{5FCD}']),
+    (0x2f960, &['\u{4202}']),
+    (0xfa82, &['\u{5ED2}']),
+    (0x2f96f, &['\u{7E02}']),
+    (0x1f33, &['\u{03B9}', '\u{0314}', '\u{0300}']),
+    (0x1f5f, &['\u{03A5}', '\u{0314}', '\u{0342}']),
+    (0x1e67, &['\u{0073}', '\u{030C}', '\u{0307}']),
+    (0x30d9, &['\u{30D8}', '\u{3099}']),
+    (0xf99a, &['\u{9023}']),
+    (0x22ec, &['\u{22B4}', '\u{0338}']),
+    (0x204, &['\u{0045}', '\u{030F}']),
+    (0xdc, &['\u{0055}', '\u{0308}']),
+    (0x2f925, &['\u{7295}']),
+    (0xfa68, &['\u{96E3}']),
+    (0x2f840, &['\u{54A2}']),
+    (0x3cd, &['\u{03C5}', '\u{0301}']),
+    (0x1e90, &['\u{005A}', '\u{0302}']),
+    (0x1f75, &['\u{03B7}', '\u{0301}']),
+    (0xddc, &['\u{0DD9}', '\u{0DCF}']),
+    (0x2f83f, &['\u{5468}']),
+    (0xf976, &['\u{7565}']),
+    (0x2f86e, &['\u{5BD8}']),
+    (0x150, &['\u{004F}', '\u{030B}']),
+    (0x1e99, &['\u{0079}', '\u{030A}']),
+    (0x1d1, &['\u{004F}', '\u{030C}']),
+    (0x2f916, &['\u{3D96}']),
+    (0x2f929, &['\u{738B}']),
+    (0x1f04, &['\u{03B1}', '\u{0313}', '\u{0301}']),
+    (0x1fa7, &['\u{03C9}', '\u{0314}', '\u{0342}', '\u{0345}']),
+    (0x1df, &['\u{0061}', '\u{0308}', '\u{0304}']),
+    (0xfb44, &['\u{05E4}', '\u{05BC}']),
+    (0x11c, &['\u{0047}', '\u{0302}']),
+    (0x13a, &['\u{006C}', '\u{0301}']),
+    (0x1f10, &['\u{03B5}', '\u{0313}']),
+    (0x2f8c4, &['\u{647E}']),
+    (0x1e97, &['\u{0074}', '\u{0308}']),
+    (0xf954, &['\u{51DC}']),
+    (0x2f900, &['\u{6D3E}']),
+    (0x30fe, &['\u{30FD}', '\u{3099}']),
+    (0x30b6, &['\u{30B5}', '\u{3099}']),
+    (0x1f69, &['\u{03A9}', '\u{0314}']),
+    (0xf9ad, &['\u{73B2}']),
+    (0x1e77, &['\u{0075}', '\u{032D}']),
+    (0xfa37, &['\u{5606}']),
+    (0xf934, &['\u{8001}']),
+    (0xfab0, &['\u{7DF4}']),
+    (0x22ea, &['\u{22B2}', '\u{0338}']),
+    (0x2f89c, &['\u{5F9A}']),
+    (0x227, &['\u{0061}', '\u{0307}']),
+    (0x1f2b, &['\u{0397}', '\u{0314}', '\u{0300}']),
+    (0x2f979, &['\u{7FFA}']),
+    (0x2f954, &['\u{2569A}']),
+    (0x1e1e, &['\u{0046}', '\u{0307}']),
+    (0xf9ae, &['\u{7469}']),
+    (0x2f8e5, &['\u{681F}']),
+    (0x3af, &['\u{03B9}', '\u{0301}']),
+    (0x1f4c, &['\u{039F}', '\u{0313}', '\u{0301}']),
+    (0xf941, &['\u{8AD6}']),
+    (0x2f934, &['\u{7524}']),
+    (0xf9a3, &['\u{5FF5}']),
+    (0x929, &['\u{0928}', '\u{093C}']),
+    (0x2f89b, &['\u{38E3}']),
+    (0x2f8b0, &['\u{61F2}']),
+    (0x1e83, &['\u{0077}', '\u{0301}']),
+    (0x2f9ec, &['\u{9415}']),
+    (0x1f60, &['\u{03C9}', '\u{0313}']),
+    (0x623, &['\u{0627}', '\u{0654}']),
+    (0x1e6e, &['\u{0054}', '\u{0331}']),
+    (0x1112e, &['\u{11131}', '\u{11127}']),
+    (0xb5d, &['\u{0B22}', '\u{0B3C}']),
+    (0x215, &['\u{0075}', '\u{030F}']),
+    (0x2f9bd, &['\u{876B}']),
+    (0x176, &['\u{0059}', '\u{0302}']),
+    (0x1eab, &['\u{0061}', '\u{0302}', '\u{0303}']),
+    (0x2f9e6, &['\u{911B}']),
+    (0x2f864, &['\u{5A27}']),
+    (0x1f31, &['\u{03B9}', '\u{0314}']),
+    (0x2f92f, &['\u{745C}']),
+    (0x2f820, &['\u{523B}']),
+    (0x1fda, &['\u{0399}', '\u{0300}']),
+    (0x2f82c, &['\u{5349}']),
+    (0x1f45, &['\u{03BF}', '\u{0314}', '\u{0301}']),
+    (0x1f7c, &['\u{03C9}', '\u{0300}']),
+    (0x1e53, &['\u{006F}', '\u{0304}', '\u{0301}']),
+    (0x2f972, &['\u{26228}']),
+    (0x2fa1a, &['\u{9F0F}']),
+    (0xf960, &['\u{6012}']),
+    (0x1d7, &['\u{0055}', '\u{0308}', '\u{0301}']),
+    (0x1ee8, &['\u{0055}', '\u{031B}', '\u{0301}']),
+    (0xcca, &['\u{0CC6}', '\u{0CC2}']),
+    (0x1f42, &['\u{03BF}', '\u{0313}', '\u{0300}']),
+    (0x2f95d, &['\u{25AA7}']),
+    (0x1ee, &['\u{01B7}', '\u{030C}']),
+    (0x2f8d3, &['\u{5195}']),
+    (0x1e4d, &['\u{006F}', '\u{0303}', '\u{0301}']),
+    (0xd6, &['\u{004F}', '\u{0308}']),
+    (0x1f96, &['\u{03B7}', '\u{0313}', '\u{0342}', '\u{0345}']),
+    (0xf918, &['\u{843D}']),
+    (0xf9af, &['\u{7F9A}']),
+    (0x2f8fb, &['\u{23CBC}']),
+    (0x1e60, &['\u{0053}', '\u{0307}']),
+    (0x1b12, &['\u{1B11}', '\u{1B35}']),
+    (0xf9fd, &['\u{4EC0}']),
+    (0x2f9eb, &['\u{93F9}']),
+    (0x1e64, &['\u{0053}', '\u{0301}', '\u{0307}']),
+    (0xfb2b, &['\u{05E9}', '\u{05C2}']),
+    (0x1fe0, &['\u{03C5}', '\u{0306}']),
+    (0x2f915, &['\u{701B}']),
+    (0x2f81b, &['\u{51B5}']),
+    (0x1fdd, &['\u{1FFE}', '\u{0300}']),
+    (0x2f8b6, &['\u{62D4}']),
+    (0x1e89, &['\u{0077}', '\u{0323}']),
+    (0xf9b9, &['\u{60E1}']),
+    (0x1fb3, &['\u{03B1}', '\u{0345}']),
+    (0x1e3, &['\u{00E6}', '\u{0304}']),
+    (0x4e3, &['\u{0438}', '\u{0304}']),
+    (0xcf, &['\u{0049}', '\u{0308}']),
+    (0xf1, &['\u{006E}', '\u{0303}']),
+    (0x2f9bf, &['\u{45D7}']),
+    (0x2f8c9, &['\u{656C}']),
+    (0x2f8a8, &['\u{614E}']),
+    (0x2f95a, &['\u{7A4A}']),
+    (0x2f9a8, &['\u{84F1}']),
+    (0x1a1, &['\u{006F}', '\u{031B}']),
+    (0xf99e, &['\u{54BD}']),
+    (0xfb46, &['\u{05E6}', '\u{05BC}']),
+    (0xf9c7, &['\u{5289}']),
+    (0x476, &['\u{0474}', '\u{030F}']),
+    (0x1cd, &['\u{0041}', '\u{030C}']),
+    (0xf9bf, &['\u{6A02}']),
+    (0x1ead, &['\u{0061}', '\u{0323}', '\u{0302}']),
+    (0x105, &['\u{0061}', '\u{0328}']),
+    (0x2f9a4, &['\u{26C36}']),
+    (0x15b, &['\u{0073}', '\u{0301}']),
+    (0xf9c9, &['\u{67F3}']),
+    (0x119, &['\u{0065}', '\u{0328}']),
+    (0xf946, &['\u{7262}']),
+    (0x3054, &['\u{3053}', '\u{3099}']),
+    (0x2fa0c, &['\u{9CFD}']),
+    (0x1cf, &['\u{0049}', '\u{030C}']),
+    (0xfa7d, &['\u{58B3}']),
+    (0xf944, &['\u{7C60}']),
+    (0xfa1d, &['\u{7CBE}']),
+    (0x2f9c2, &['\u{45F9}']),
+    (0xf964, &['\u{78FB}']),
+    (0x219, &['\u{0073}', '\u{0326}']),
+    (0xf9dd, &['\u{5229}']),
+    (0x1f8b, &['\u{0391}', '\u{0314}', '\u{0300}', '\u{0345}']),
+    (0x2262, &['\u{2261}', '\u{0338}']),
+    (0xf9b3, &['\u{9748}']),
+    (0xf9a2, &['\u{5EC9}']),
+    (0x3050, &['\u{304F}', '\u{3099}']),
+    (0x1e8, &['\u{004B}', '\u{030C}']),
+    (0x30d3, &['\u{30D2}', '\u{3099}']),
+    (0x30c9, &['\u{30C8}', '\u{3099}']),
+    (0xf95a, &['\u{8B80}']),
+    (0xf98a, &['\u{529B}']),
+    (0xfa76, &['\u{52C7}']),
+    (0x2f816, &['\u{2054B}']),
+    (0x1b40, &['\u{1B3E}', '\u{1B35}']),
+    (0x212, &['\u{0052}', '\u{0311}']),
+    (0x1e91, &['\u{007A}', '\u{0302}']),
+    (0xf9e4, &['\u{7406}']),
+    (0x1f98, &['\u{0397}', '\u{0313}', '\u{0345}']),
+    (0xf910, &['\u{863F}']),
+    (0x2f9d8, &['\u{27F2F}']),
+    (0x2f91d, &['\u{24263}']),
+    (0x1f9c, &['\u{0397}', '\u{0313}', '\u{0301}', '\u{0345}']),
+    (0xdb, &['\u{0055}', '\u{0302}']),
+    (0x232, &['\u{0059}', '\u{0304}']),
+    (0xf995, &['\u{79CA}']),
+    (0xf9e2, &['\u{68A8}']),
+    (0x1f23, &['\u{03B7}', '\u{0314}', '\u{0300}']),
+    (0xdde, &['\u{0DD9}', '\u{0DDF}']),
+    (0xf9ce, &['\u{786B}']),
+    (0x1eed, &['\u{0075}', '\u{031B}', '\u{0309}']),
+    (0x1f0c, &['\u{0391}', '\u{0313}', '\u{0301}']),
+    (0x2f91c, &['\u{7145}']),
+    (0x30b0, &['\u{30AF}', '\u{3099}']),
+    (0xf990, &['\u{6200}']),
+    (0x1f68, &['\u{03A9}', '\u{0313}']),
+    (0x1fbc, &['\u{0391}', '\u{0345}']),
+    (0x2f9b7, &['\u{86A9}']),
+    (0xf96b, &['\u{53C3}']),
+    (0xfa09, &['\u{964D}']),
+    (0x1ff, &['\u{00F8}', '\u{0301}']),
+    (0x2f910, &['\u{23F5E}']),
+    (0x2f9f4, &['\u{5DB2}']),
+    (0x2f87f, &['\u{5D6B}']),
+    (0x1e59, &['\u{0072}', '\u{0307}']),
+    (0x114be, &['\u{114B9}', '\u{114BD}']),
+    (0xf96c, &['\u{585E}']),
+    (0xfac, &['\u{0FAB}', '\u{0FB7}']),
+    (0xf913, &['\u{908F}']),
+    (0x2f80d, &['\u{2063A}']),
+    (0x2f927, &['\u{24814}']),
+    (0x2f837, &['\u{53DF}']),
+    (0x30ac, &['\u{30AB}', '\u{3099}']),
+    (0x1fee, &['\u{00A8}', '\u{0301}']),
+    (0xf9a1, &['\u{8AAA}']),
+    (0x1e54, &['\u{0050}', '\u{0301}']),
+    (0x1f6e, &['\u{03A9}', '\u{0313}', '\u{0342}']),
+    (0xfab7, &['\u{8986}']),
+    (0xfb3b, &['\u{05DB}', '\u{05BC}']),
+    (0x2f9f1, &['\u{28D77}']),
+    (0xa36, &['\u{0A38}', '\u{0A3C}']),
+    (0x1f89, &['\u{0391}', '\u{0314}', '\u{0345}']),
+    (0x1ecc, &['\u{004F}', '\u{0323}']),
+    (0x2f958, &['\u{412F}']),
+    (0x16b, &['\u{0075}', '\u{0304}']),
+    (0x2f944, &['\u{25133}']),
+    (0x2f8f9, &['\u{23AFA}']),
+    (0x407, &['\u{0406}', '\u{0308}']),
+    (0x1ef6, &['\u{0059}', '\u{0309}']),
+    (0x2f9a3, &['\u{83DC}']),
+    (0x2f881, &['\u{5DE1}']),
+    (0x1134c, &['\u{11347}', '\u{11357}']),
+    (0x2f81a, &['\u{51AC}']),
+    (0x2f9dd, &['\u{208DE}']),
+    (0xfa64, &['\u{8CD3}']),
+    (0x2f8af, &['\u{61DE}']),
+    (0x2f9ed, &['\u{28BFA}']),
+    (0xf9ea, &['\u{96E2}']),
+    (0x1109c, &['\u{1109B}', '\u{110BA}']),
+    (0x14f, &['\u{006F}', '\u{0306}']),
+    (0xf97a, &['\u{6881}']),
+    (0x2f949, &['\u{4039}']),
+    (0xa5b, &['\u{0A1C}', '\u{0A3C}']),
+    (0xf936, &['\u{865C}']),
+    (0xa5e, &['\u{0A2B}', '\u{0A3C}']),
+    (0x2f89a, &['\u{5F6B}']),
+    (0x1f4b, &['\u{039F}', '\u{0314}', '\u{0300}']),
+    (0xf984, &['\u{6FFE}']),
+    (0x1e6d, &['\u{0074}', '\u{0323}']),
+    (0x2f90e, &['\u{6DF9}']),
+    (0x232a, &['\u{3009}']),
+    (0x2fa0d, &['\u{4CCE}']),
+    (0xfab2, &['\u{8005}']),
+    (0x450, &['\u{0435}', '\u{0300}']),
+    (0x1f02, &['\u{03B1}', '\u{0313}', '\u{0300}']),
+    (0xfa32, &['\u{514D}']),
+    (0x1f76, &['\u{03B9}', '\u{0300}']),
+    (0x2f96d, &['\u{4301}']),
+    (0x2f9a7, &['\u{452B}']),
+    (0x1ea3, &['\u{0061}', '\u{0309}']),
+    (0xf9ba, &['\u{4E86}']),
+    (0x1f15, &['\u{03B5}', '\u{0314}', '\u{0301}']),
+    (0x1faf, &['\u{03A9}', '\u{0314}', '\u{0342}', '\u{0345}']),
+    (0x160, &['\u{0053}', '\u{030C}']),
+    (0x2f963, &['\u{7BC9}']),
+    (0xf925, &['\u{62C9}']),
+    (0xf9f6, &['\u{81E8}']),
+    (0x30c0, &['\u{30BF}', '\u{3099}']),
+    (0x21e, &['\u{0048}', '\u{030C}']),
+    (0xfa9c, &['\u{716E}']),
+    (0xfb3a, &['\u{05DA}', '\u{05BC}']),
+    (0x1fba, &['\u{0391}', '\u{0300}']),
+    (0x374, &['\u{02B9}']),
+    (0x2adc, &['\u{2ADD}', '\u{0338}']),
+    (0x2f91f, &['\u{243AB}']),
+    (0xcc0, &['\u{0CBF}', '\u{0CD5}']),
+    (0x1ef3, &['\u{0079}', '\u{0300}']),
+    (0x1fc3, &['\u{03B7}', '\u{0345}']),
+    (0x2f8bd, &['\u{63E4}']),
+    (0x11f, &['\u{0067}', '\u{0306}']),
+    (0xfa7, &['\u{0FA6}', '\u{0FB7}']),
+    (0xf9f4, &['\u{6797}']),
+    (0xbcc, &['\u{0BC6}', '\u{0BD7}']),
+    (0x2f847, &['\u{5599}']),
+    (0x1f4a, &['\u{039F}', '\u{0313}', '\u{0300}']),
+    (0x2f98f, &['\u{8291}']),
+    (0xf96e, &['\u{8449}']),
+    (0xf9e6, &['\u{7F79}']),
+    (0xf9e3, &['\u{6CE5}']),
+    (0x2f844, &['\u{5563}']),
+    (0x2f813, &['\u{34B9}']),
+    (0xfab5, &['\u{8779}']),
+    (0x1faa, &['\u{03A9}', '\u{0313}', '\u{0300}', '\u{0345}']),
+    (0xc1, &['\u{0041}', '\u{0301}']),
+    (0x1e6b, &['\u{0074}', '\u{0307}']),
+    (0x1fe5, &['\u{03C1}', '\u{0314}']),
+    (0x2f807, &['\u{5002}']),
+    (0x2f85f, &['\u{5962}']),
+    (0xf93b, &['\u{788C}']),
+    (0x1f8, &['\u{004E}', '\u{0300}']),
+    (0x1e69, &['\u{0073}', '\u{0323}', '\u{0307}']),
+    (0x1fe7, &['\u{03C5}', '\u{0308}', '\u{0342}']),
+    (0x1e57, &['\u{0070}', '\u{0307}']),
+    (0xcc, &['\u{0049}', '\u{0300}']),
+    (0x2f99b, &['\u{83AD}']),
+    (0x4f0, &['\u{0423}', '\u{0308}']),
+    (0x2f8fd, &['\u{6CCD}']),
+    (0x121, &['\u{0067}', '\u{0307}']),
+    (0xf2, &['\u{006F}', '\u{0300}']),
+    (0xfa9a, &['\u{6F22}']),
+    (0x2f9ef, &['\u{4995}']),
+    (0x2f878, &['\u{5C6E}']),
+    (0xf959, &['\u{9675}']),
+    (0x1134b, &['\u{11347}', '\u{1133E}']),
+    (0x1fbe, &['\u{03B9}']),
+    (0xfa56, &['\u{7BC0}']),
+    (0x1d1be, &['\u{1D1BA}', '\u{1D165}', '\u{1D16E}']),
+    (0x2f8bb, &['\u{6368}']),
+    (0x2f8e4, &['\u{688E}']),
+    (0x1e19, &['\u{0065}', '\u{032D}']),
+    (0x2f92d, &['\u{3EB8}']),
+    (0x1f2c, &['\u{0397}', '\u{0313}', '\u{0301}']),
+    (0xe1, &['\u{0061}', '\u{0301}']),
+    (0x2f9b6, &['\u{8669}']),
+    (0xf98d, &['\u{8F62}']),
+    (0xf914, &['\u{6A02}']),
+    (0xfa19, &['\u{795E}']),
+    (0xface, &['\u{9F9C}']),
+    (0x15a, &['\u{0053}', '\u{0301}']),
+    (0x2274, &['\u{2272}', '\u{0338}']),
+    (0xf94c, &['\u{6A13}']),
+    (0x1fc4, &['\u{03B7}', '\u{0301}', '\u{0345}']),
+    (0x115ba, &['\u{115B8}', '\u{115AF}']),
+    (0x2f8b8, &['\u{22B0C}']),
+    (0x2fa01, &['\u{295B6}']),
+    (0x2f8ea, &['\u{69EA}']),
+    (0x1e98, &['\u{0077}', '\u{030A}']),
+    (0x2f98b, &['\u{8201}']),
+    (0x2f9dc, &['\u{8DF0}']),
+    (0x1f99, &['\u{0397}', '\u{0314}', '\u{0345}']),
+    (0x1f8a, &['\u{0391}', '\u{0313}', '\u{0300}', '\u{0345}']),
+    (0x1f1c, &['\u{0395}', '\u{0313}', '\u{0301}']),
+    (0xfa38, &['\u{5668}']),
+    (0x2f953, &['\u{7956}']),
+    (0x2f8f7, &['\u{23A8D}']),
+    (0x1f41, &['\u{03BF}', '\u{0314}']),
+    (0x1ec7, &['\u{0065}', '\u{0323}', '\u{0302}']),
+    (0x2fa16, &['\u{4D56}']),
+    (0x2f859, &['\u{214E4}']),
+    (0x2f959, &['\u{7A40}']),
+    (0x2f8cf, &['\u{6691}']),
+    (0x14c, &['\u{004F}', '\u{0304}']),
+    (0x2f993, &['\u{82B1}']),
+    (0x13e, &['\u{006C}', '\u{030C}']),
+    (0x12a, &['\u{0049}', '\u{0304}']),
+    (0x2f991, &['\u{829D}']),
+    (0x1fca, &['\u{0397}', '\u{0300}']),
+    (0x389, &['\u{0397}', '\u{0301}']),
+    (0xfa73, &['\u{4F80}']),
+    (0x2f9d9, &['\u{20804}']),
+    (0x143, &['\u{004E}', '\u{0301}']),
+    (0x2f893, &['\u{8201}']),
+    (0x2f827, &['\u{52E4}']),
+    (0xfa63, &['\u{8B39}']),
+    (0x3ac, &['\u{03B1}', '\u{0301}']),
+    (0x1f07, &['\u{03B1}', '\u{0314}', '\u{0342}']),
+    (0x1ebb, &['\u{0065}', '\u{0309}']),
+    (0x2f943, &['\u{25119}']),
+    (0xfa67, &['\u{9038}']),
+    (0x4d6, &['\u{0415}', '\u{0306}']),
+    (0x1f12, &['\u{03B5}', '\u{0313}', '\u{0300}']),
+    (0x1f4, &['\u{0047}', '\u{0301}']),
+    (0x1e37, &['\u{006C}', '\u{0323}']),
+    (0x2f90f, &['\u{6F6E}']),
+    (0x1f18, &['\u{0395}', '\u{0313}']),
+    (0x477, &['\u{0475}', '\u{030F}']),
+    (0x102, &['\u{0041}', '\u{0306}']),
+    (0x2f800, &['\u{4E3D}']),
+    (0xfaaf, &['\u{7D5B}']),
+    (0x6c0, &['\u{06D5}', '\u{0654}']),
+    (0xeb, &['\u{0065}', '\u{0308}']),
+    (0x1eda, &['\u{004F}', '\u{031B}', '\u{0301}']),
+    (0x1f7d, &['\u{03C9}', '\u{0301}']),
+    (0xa59, &['\u{0A16}', '\u{0A3C}']),
+    (0x2f8f2, &['\u{3C4E}']),
+    (0x309e, &['\u{309D}', '\u{3099}']),
+    (0x30d6, &['\u{30D5}', '\u{3099}']),
+    (0x2f92e, &['\u{7447}']),
+    (0xf933, &['\u{76E7}']),
+    (0x2f96e, &['\u{7DC7}']),
+    (0x1e55, &['\u{0070}', '\u{0301}']),
+    (0x2281, &['\u{227B}', '\u{0338}']),
+    (0x1e4e, &['\u{004F}', '\u{0303}', '\u{0308}']),
+    (0x2f872, &['\u{5BFF}']),
+    (0x2f9fc, &['\u{4AB2}']),
+    (0x1d1bc, &['\u{1D1BA}', '\u{1D165}']),
+    (0xfa50, &['\u{7956}']),
+    (0x2f92c, &['\u{3EB8}']),
+    (0x3070, &['\u{306F}', '\u{3099}']),
+    (0xf9e9, &['\u{91CC}']),
+    (0x2f83c, &['\u{549E}']),
+    (0x2f9f8, &['\u{4A6E}']),
+    (0x1f52, &['\u{03C5}', '\u{0313}', '\u{0300}']),
+    (0xfaac, &['\u{7AB1}']),
+    (0x1e94, &['\u{005A}', '\u{0331}']),
+    (0xfad6, &['\u{25CD0}']),
+    (0x1fcb, &['\u{0397}', '\u{0301}']),
+    (0xfa33, &['\u{52C9}']),
+    (0xfa1b, &['\u{798F}']),
+    (0xf9ee, &['\u{71D0}']),
+    (0x1e2c, &['\u{0049}', '\u{0330}']),
+    (0x203, &['\u{0061}', '\u{0311}']),
+    (0x2f877, &['\u{5C60}']),
+    (0x1ff8, &['\u{039F}', '\u{0300}']),
+    (0x1e9, &['\u{006B}', '\u{030C}']),
+    (0x1fe, &['\u{00D8}', '\u{0301}']),
+    (0x2f96c, &['\u{7D63}']),
+    (0x1e51, &['\u{006F}', '\u{0304}', '\u{0300}']),
+    (0x4de, &['\u{0417}', '\u{0308}']),
+    (0xf9a4, &['\u{637B}']),
+    (0xfb40, &['\u{05E0}', '\u{05BC}']),
+    (0x622, &['\u{0627}', '\u{0653}']),
+    (0x3cc, &['\u{03BF}', '\u{0301}']),
+    (0x2f99e, &['\u{83E7}']),
+    (0xf92b, &['\u{72FC}']),
+    (0x22e1, &['\u{227D}', '\u{0338}']),
+    (0x174, &['\u{0057}', '\u{0302}']),
+    (0x1e4a, &['\u{004E}', '\u{032D}']),
+    (0x2f939, &['\u{2219F}']),
+    (0x3ce, &['\u{03C9}', '\u{0301}']),
+    (0xfaa7, &['\u{76DB}']),
+    (0xfa85, &['\u{5FAD}']),
+    (0xf9e7, &['\u{88CF}']),
+    (0x107, &['\u{0063}', '\u{0301}']),
+    (0xfa95, &['\u{6B79}']),
+    (0xf973, &['\u{62FE}']),
+    (0x2f933, &['\u{3F1B}']),
+    (0xf9c2, &['\u{84FC}']),
+    (0x1ee1, &['\u{006F}', '\u{031B}', '\u{0303}']),
+    (0x1d3, &['\u{0055}', '\u{030C}']),
+    (0x2f9d0, &['\u{8AED}']),
+    (0xfb2a, &['\u{05E9}', '\u{05C1}']),
+    (0xfb, &['\u{0075}', '\u{0302}']),
+    (0x1e4f, &['\u{006F}', '\u{0303}', '\u{0308}']),
+    (0x1f26, &['\u{03B7}', '\u{0313}', '\u{0342}']),
+    (0xdd, &['\u{0059}', '\u{0301}']),
+    (0x226, &['\u{0041}', '\u{0307}']),
+    (0x2f831, &['\u{537F}']),
+    (0x2f9ee, &['\u{958B}']),
+    (0xf955, &['\u{51CC}']),
+    (0x16e, &['\u{0055}', '\u{030A}']),
+    (0x2f8a5, &['\u{60C7}']),
+    (0x11b, &['\u{0065}', '\u{030C}']),
+    (0x1e76, &['\u{0055}', '\u{032D}']),
+    (0xd4c, &['\u{0D46}', '\u{0D57}']),
+    (0x1f3c, &['\u{0399}', '\u{0313}', '\u{0301}']),
+    (0x1e0a, &['\u{0044}', '\u{0307}']),
+    (0x1e78, &['\u{0055}', '\u{0303}', '\u{0301}']),
+    (0x2f82a, &['\u{5306}']),
+    (0x12d, &['\u{0069}', '\u{0306}']),
+    (0x2f8c5, &['\u{649D}']),
+    (0x1f3e, &['\u{0399}', '\u{0313}', '\u{0342}']),
+    (0xf95c, &['\u{6A02}']),
+    (0x1f21, &['\u{03B7}', '\u{0314}']),
+    (0x2f9d7, &['\u{8D77}']),
+    (0x1f70, &['\u{03B1}', '\u{0300}']),
+    (0x2f914, &['\u{701E}']),
+    (0xfa83, &['\u{5ED9}']),
+    (0x1ed5, &['\u{006F}', '\u{0302}', '\u{0309}']),
+    (0x1ee7, &['\u{0075}', '\u{0309}']),
+    (0x2278, &['\u{2276}', '\u{0338}']),
+    (0xf9c0, &['\u{71CE}']),
+    (0x1ed7, &['\u{006F}', '\u{0302}', '\u{0303}']),
+    (0x2f8ca, &['\u{2300A}']),
+    (0x1b3d, &['\u{1B3C}', '\u{1B35}']),
+    (0x2f9ad, &['\u{26F2C}']),
+    (0x95e, &['\u{092B}', '\u{093C}']),
+    (0x220c, &['\u{220B}', '\u{0338}']),
+    (0x1fdf, &['\u{1FFE}', '\u{0342}']),
+    (0xfa48, &['\u{716E}']),
+    (0x1e04, &['\u{0042}', '\u{0323}']),
+    (0x4d7, &['\u{0435}', '\u{0306}']),
+    (0x216, &['\u{0055}', '\u{0311}']),
+    (0x1e70, &['\u{0054}', '\u{032D}']),
+    (0x2f856, &['\u{5832}']),
+    (0xe9, &['\u{0065}', '\u{0301}']),
+    (0xf951, &['\u{964B}']),
+    (0x231, &['\u{006F}', '\u{0307}', '\u{0304}']),
+    (0x1f53, &['\u{03C5}', '\u{0314}', '\u{0300}']),
+    (0x1e14, &['\u{0045}', '\u{0304}', '\u{0300}']),
+    (0xf983, &['\u{65C5}']),
+    (0xf9d4, &['\u{502B}']),
+    (0x2f973, &['\u{26247}']),
+    (0x2f9df, &['\u{8F38}']),
+    (0xf98c, &['\u{6B77}']),
+    (0x208, &['\u{0049}', '\u{030F}']),
+    (0x2f895, &['\u{5F22}']),
+    (0xfaaa, &['\u{7740}']),
+    (0x45c, &['\u{043A}', '\u{0301}']),
+    (0x30b8, &['\u{30B7}', '\u{3099}']),
+    (0x2244, &['\u{2243}', '\u{0338}']),
+    (0xff, &['\u{0079}', '\u{0308}']),
+    (0x4d1, &['\u{0430}', '\u{0306}']),
+    (0x2126, &['\u{03A9}']),
+    (0x10b, &['\u{0063}', '\u{0307}']),
+    (0x145, &['\u{004E}', '\u{0327}']),
+    (0xf978, &['\u{5169}']),
+    (0x1fcd, &['\u{1FBF}', '\u{0300}']),
+    (0x2f912, &['\u{6FC6}']),
+    (0xfa36, &['\u{559D}']),
+    (0x2f9c0, &['\u{87E1}']),
+    (0x4ec, &['\u{042D}', '\u{0308}']),
+    (0x10e, &['\u{0044}', '\u{030C}']),
+    (0x2f98d, &['\u{8F9E}']),
+    (0x1e5d, &['\u{0072}', '\u{0323}', '\u{0304}']),
+    (0xf43, &['\u{0F42}', '\u{0FB7}']),
+    (0x1e29, &['\u{0068}', '\u{0327}']),
+    (0xf93e, &['\u{83C9}']),
+    (0x2f9c5, &['\u{27667}']),
+    (0x21ce, &['\u{21D4}', '\u{0338}']),
+    (0x2f87b, &['\u{21DE4}']),
+    (0x2f9ba, &['\u{86E2}']),
+    (0x1ec2, &['\u{0045}', '\u{0302}', '\u{0309}']),
+    (0x219a, &['\u{2190}', '\u{0338}']),
+    (0x1f64, &['\u{03C9}', '\u{0313}', '\u{0301}']),
+    (0xf906, &['\u{53E5}']),
+    (0xf9d7, &['\u{8F2A}']),
+];
+
+pub(crate) const COMPATIBILITY_DECOMPOSED_SALT: &[u16] = &[
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x33a,
+    0x141,
+    0x376,
+    0x3,
+    0x27,
+    0x9,
+    0x0,
+    0x0,
+    0x12e,
+    0x109,
+    0x2,
+    0x5,
+    0x7,
+    0x0,
+    0x297,
+    0x0,
+    0x1de,
+    0x0,
+    0xa,
+    0x5ec,
+    0x67,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x7,
+    0xf,
+    0x0,
+    0x2ca,
+    0x3,
+    0x2d7,
+    0x0,
+    0x6f,
+    0x0,
+    0x2c,
+    0x3,
+    0x6,
+    0x31,
+    0x0,
+    0x8e,
+    0xd6,
+    0x8,
+    0x11a,
+    0x0,
+    0x0,
+    0x5,
+    0x8,
+    0x0,
+    0x0,
+    0x73,
+    0xc2,
+    0x4,
+    0x62,
+    0x0,
+    0x0,
+    0x8,
+    0x1,
+    0x8d,
+    0x0,
+    0x3,
+    0x129,
+    0x9e,
+    0x5,
+    0x0,
+    0x69,
+    0xa,
+    0xba,
+    0x2b,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x3,
+    0x0,
+    0x2,
+    0x15b,
+    0x54,
+    0x8c,
+    0x0,
+    0x1a,
+    0x1,
+    0x36,
+    0xe,
+    0x0,
+    0x0,
+    0x36,
+    0xd,
+    0x8c,
+    0x4a,
+    0x0,
+    0x52,
+    0x0,
+    0x109,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x44,
+    0x5,
+    0x128,
+    0x3,
+    0xd,
+    0x1c,
+    0x0,
+    0x7,
+    0x5,
+    0x0,
+    0x0,
+    0x13,
+    0xf,
+    0x4f,
+    0x11,
+    0x0,
+    0xf,
+    0x43,
+    0x10,
+    0x121,
+    0x1,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0xe,
+    0x1,
+    0xa6,
+    0x7a,
+    0x35,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x20,
+    0x4d,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x6,
+    0x0,
+    0xa,
+    0xc,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x2,
+    0x1e,
+    0x2,
+    0x3,
+    0x28,
+    0x1,
+    0x1,
+    0x9,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x29,
+    0x1,
+    0x16,
+    0x0,
+    0x21,
+    0xa,
+    0x1c,
+    0x7,
+    0x0,
+    0x2,
+    0x27,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x17,
+    0x1b,
+    0x18,
+    0xc,
+    0x4a,
+    0x6a,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x3,
+    0x0,
+    0xd,
+    0x1,
+    0x0,
+    0x7b,
+    0x0,
+    0x2,
+    0x0,
+    0x1b,
+    0x3e,
+    0xd,
+    0x5,
+    0x39,
+    0x1,
+    0x0,
+    0x3,
+    0x7,
+    0x0,
+    0x0,
+    0x3e,
+    0x84,
+    0x0,
+    0x13,
+    0x0,
+    0x2b,
+    0x3,
+    0x27,
+    0x10,
+    0x0,
+    0x37,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x28,
+    0x0,
+    0x5,
+    0xa,
+    0x0,
+    0x47,
+    0x0,
+    0x5c,
+    0x0,
+    0x0,
+    0x0,
+    0x12,
+    0x9,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x55,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x16,
+    0x11,
+    0x0,
+    0xe,
+    0x0,
+    0x5,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x14,
+    0x10,
+    0x0,
+    0x1,
+    0x13,
+    0x11,
+    0x1,
+    0x0,
+    0x41,
+    0x15,
+    0x1,
+    0x1,
+    0x18,
+    0x26,
+    0x3e,
+    0x1e,
+    0x23,
+    0x22,
+    0xd,
+    0x86,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x0,
+    0x13,
+    0x75,
+    0x0,
+    0x1,
+    0xe,
+    0x0,
+    0x0,
+    0x8,
+    0xc,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x1c,
+    0x0,
+    0x0,
+    0x12,
+    0x0,
+    0x6,
+    0x0,
+    0x7,
+    0x11,
+    0x0,
+    0x14,
+    0x0,
+    0x2c,
+    0x1,
+    0x7,
+    0x16,
+    0x14,
+    0x4,
+    0x18,
+    0x14,
+    0x1,
+    0x18,
+    0x46,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x5,
+    0x7,
+    0xd,
+    0x9,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x1a,
+    0x0,
+    0x19,
+    0xf,
+    0x0,
+    0x0,
+    0x16,
+    0x14,
+    0x0,
+    0x0,
+    0x6,
+    0x7,
+    0xc,
+    0x3,
+    0x49,
+    0x1d,
+    0x3e,
+    0x0,
+    0x6,
+    0x24,
+    0x6,
+    0xf,
+    0xd,
+    0x7,
+    0x5,
+    0x12,
+    0x0,
+    0x33,
+    0xe,
+    0x2a,
+    0x1,
+    0xc,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x6,
+    0x0,
+    0x25,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x8,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x8,
+    0x1,
+    0x1,
+    0x2e,
+    0x0,
+    0x1,
+    0x7,
+    0x7,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1a,
+    0x16,
+    0x0,
+    0xc,
+    0x9,
+    0x1d,
+    0x1,
+    0xa,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0xf,
+    0x7,
+    0x4,
+    0x0,
+    0x7,
+    0x9,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x7,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0x3d,
+    0x1,
+    0x1e,
+    0x7,
+    0x3,
+    0x39,
+    0x27,
+    0xa,
+    0x7,
+    0x0,
+    0x5,
+    0x1,
+    0x22,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1c,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x14,
+    0x0,
+    0x2,
+    0x6,
+    0x2,
+    0x6,
+    0x1,
+    0xc,
+    0x16,
+    0xc,
+    0x0,
+    0x7,
+    0x3,
+    0x6,
+    0x0,
+    0x0,
+    0x14,
+    0x1c,
+    0xf,
+    0x2b,
+    0xa,
+    0x0,
+    0x0,
+    0x6,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1e,
+    0x13,
+    0xf,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2f,
+    0x1,
+    0x1,
+    0x4f,
+    0x2d,
+    0x8,
+    0xc,
+    0x0,
+    0x4,
+    0x7,
+    0x14,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x2d,
+    0x0,
+    0x5,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x15,
+    0x0,
+    0x0,
+    0x14,
+    0x0,
+    0x12,
+    0x0,
+    0x5,
+    0x3,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x24,
+    0x11,
+    0x5,
+    0x6,
+    0x0,
+    0xd,
+    0x13,
+    0xa,
+    0x0,
+    0x2,
+    0x6,
+    0x7,
+    0x48,
+    0x29,
+    0x1,
+    0x2,
+    0xe,
+    0x11,
+    0x2c,
+    0x7,
+    0xa,
+    0x0,
+    0x12,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0xf,
+    0x1,
+    0x6,
+    0x0,
+    0x2,
+    0x6,
+    0x0,
+    0x9,
+    0xd,
+    0x1,
+    0x2,
+    0x2,
+    0x16,
+    0x8,
+    0x2,
+    0xc,
+    0x12,
+    0x1a,
+    0x0,
+    0x2,
+    0x10,
+    0x2,
+    0x1,
+    0xe,
+    0x12,
+    0x4,
+    0x6,
+    0x0,
+    0x4,
+    0x6,
+    0x1,
+    0x0,
+    0x3,
+    0x3,
+    0x0,
+    0x0,
+    0x7,
+    0x0,
+    0x1a,
+    0x0,
+    0x13,
+    0x0,
+    0x6,
+    0x1c,
+    0x0,
+    0xa,
+    0x2,
+    0x0,
+    0x9,
+    0x0,
+    0x14,
+    0x0,
+    0x31,
+    0x0,
+    0x0,
+    0x2,
+    0x6,
+    0x2e,
+    0x1,
+    0xa,
+    0x0,
+    0x2,
+    0x0,
+    0x4,
+    0x0,
+    0x10,
+    0x2,
+    0xc,
+    0xb,
+    0x3,
+    0x0,
+    0x0,
+    0x7,
+    0x0,
+    0x10,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2e,
+    0x1,
+    0x0,
+    0x3,
+    0x5,
+    0x1,
+    0x7,
+    0xc,
+    0x2,
+    0x2,
+    0x6,
+    0x8,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0xf,
+    0xa,
+    0x0,
+    0x0,
+    0x3,
+    0x13,
+    0x0,
+    0x0,
+    0x21,
+    0x6,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x7,
+    0x17,
+    0x7,
+    0x0,
+    0x8,
+    0x6,
+    0x0,
+    0x22,
+    0x0,
+    0x0,
+    0x1,
+    0x6,
+    0x3,
+    0x16,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x4,
+    0x0,
+    0xb,
+    0x2,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x13,
+    0x0,
+    0x2,
+    0x6,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0xc,
+    0x1,
+    0x4,
+    0xa,
+    0x2,
+    0x3,
+    0x0,
+    0x6,
+    0x2,
+    0x4,
+    0x11,
+    0x0,
+    0x7,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x1,
+    0x18,
+    0x7,
+    0x8,
+    0x6,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x9,
+    0x3,
+    0x4,
+    0x0,
+    0x4,
+    0x2,
+    0x1,
+    0x0,
+    0x9,
+    0x0,
+    0x1,
+    0x4,
+    0x1b,
+    0x0,
+    0x5,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x4,
+    0x27,
+    0x1,
+    0x26,
+    0x0,
+    0x4,
+    0xa,
+    0x2,
+    0x0,
+    0x5,
+    0x3b,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x18,
+    0xc,
+    0x1b,
+    0x6,
+    0x2,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x6,
+    0x8,
+    0x0,
+    0x0,
+    0x4,
+    0xc,
+    0x0,
+    0x1,
+    0x1,
+    0xd,
+    0x15,
+    0x3,
+    0x9,
+    0x0,
+    0x8,
+    0x0,
+    0x2,
+    0x1,
+    0xe,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x3,
+    0x0,
+    0xa,
+    0xa,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x12,
+    0x0,
+    0xa,
+    0x1,
+    0x4,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1d,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x4,
+    0x1c,
+    0x6,
+    0x1,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x13,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x11,
+    0x0,
+    0x0,
+    0x1,
+    0x9,
+    0x8,
+    0x4,
+    0x0,
+    0xe,
+    0x5,
+    0xa,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x7,
+    0x0,
+    0x0,
+    0x18,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x8,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x8,
+    0xb,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x6,
+    0x0,
+    0xc,
+    0x0,
+    0x2,
+    0x10,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x5,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x4,
+    0x4,
+    0x1,
+    0x15,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x7,
+    0x3,
+    0x4,
+    0x0,
+    0xa,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x10,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0xd,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x14,
+    0x5,
+    0x3,
+    0x1,
+    0x3d,
+    0x20,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x8,
+    0x6,
+    0x0,
+    0x0,
+    0x3,
+    0x1f,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x7,
+    0x9,
+    0x3,
+    0x8,
+    0x9,
+    0x1,
+    0x6,
+    0xc,
+    0x0,
+    0x1,
+    0x8,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0xd,
+    0x0,
+    0xd,
+    0x7,
+    0x1,
+    0x10,
+    0x1,
+    0x6,
+    0x15,
+    0x9,
+    0x0,
+    0x11,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0xe,
+    0x0,
+    0xc,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x11,
+    0x4,
+    0x0,
+    0x4,
+    0x0,
+    0x18,
+    0x0,
+    0x6,
+    0x6,
+    0x8,
+    0x16,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x9,
+    0x0,
+    0x5,
+    0x3d,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x5,
+    0x5,
+    0x9,
+    0x0,
+    0xe,
+    0x6,
+    0x1,
+    0x0,
+    0x3,
+    0x4,
+    0x2,
+    0x5,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x8,
+    0xa,
+    0x12,
+    0x6,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0xf,
+    0x7,
+    0x2,
+    0x1,
+    0xe,
+    0x0,
+    0x5,
+    0x11,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x4,
+    0x2,
+    0xd,
+    0x0,
+    0x0,
+    0x1,
+    0xb,
+    0x20,
+    0x1,
+    0x0,
+    0x2,
+    0xb,
+    0x0,
+    0x0,
+    0x6,
+    0x5,
+    0x6,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x1d,
+    0x9,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x1d,
+    0x0,
+    0x3,
+    0x2,
+    0x3,
+    0x3,
+    0x0,
+    0x6,
+    0x1,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x8,
+    0x1,
+    0x2,
+    0x2,
+    0x5,
+    0x2,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x6,
+    0x1,
+    0x2,
+    0x7,
+    0x0,
+    0x1,
+    0xb,
+    0x3,
+    0x1,
+    0x3,
+    0x6,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x3,
+    0x14,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0xa,
+    0x2,
+    0x22,
+    0x3,
+    0x16,
+    0x0,
+    0x0,
+    0x2,
+    0x12,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x1,
+    0x8,
+    0x1,
+    0xe,
+    0x3,
+    0x7,
+    0x1,
+    0x1,
+    0x0,
+    0x15,
+    0x4,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0xe,
+    0x7,
+    0x8,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0xf,
+    0x1,
+    0x5,
+    0x4,
+    0x6,
+    0x0,
+    0x8,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0x1,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x10,
+    0x0,
+    0xa,
+    0x0,
+    0xe,
+    0x9,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x4,
+    0x9,
+    0x7,
+    0xe,
+    0x2,
+    0x5,
+    0x1,
+    0x4,
+    0x3,
+    0x6,
+    0x0,
+    0x3,
+    0x2,
+    0x3,
+    0x2,
+    0xa,
+    0x0,
+    0x0,
+    0xa,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x9,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x7,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xb,
+    0xd,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x5,
+    0x7,
+    0x1,
+    0x4,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x8,
+    0x2,
+    0x12,
+    0x6,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x1,
+    0x6,
+    0x2,
+    0x1,
+    0x5,
+    0x5,
+    0x6,
+    0x3,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x6,
+    0xc,
+    0x1,
+    0xf,
+    0x9,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x10,
+    0x1,
+    0x20,
+    0x4,
+    0xb,
+    0x5,
+    0x0,
+    0x1,
+    0xb,
+    0x5,
+    0x0,
+    0xe,
+    0x0,
+    0xe,
+    0x9,
+    0x1,
+    0x6,
+    0x5,
+    0x1,
+    0x0,
+    0x6,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0xc,
+    0x2,
+    0x2,
+    0x1,
+    0x11,
+    0x0,
+    0x0,
+    0x1,
+    0x4,
+    0x3,
+    0x6,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0xe,
+    0x11,
+    0x0,
+    0x5,
+    0x1,
+    0x1,
+    0x8,
+    0x0,
+    0x7,
+    0x2,
+    0x8,
+    0x5,
+    0x0,
+    0x0,
+    0xe,
+    0x0,
+    0x8,
+    0x0,
+    0x11,
+    0x13,
+    0x0,
+    0xf,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x19,
+    0x8,
+    0x6,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x0,
+    0xe,
+    0x3,
+    0x0,
+    0x0,
+    0x5,
+    0x5,
+    0x3,
+    0x3,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x1,
+    0x0,
+    0x8,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x10,
+    0x4,
+    0x9,
+    0x0,
+    0xa,
+    0x3,
+    0xf,
+    0x3,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x10,
+    0xb,
+    0x2,
+    0x3,
+    0x3,
+    0x2,
+    0x4,
+    0x6,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0xa,
+    0x4,
+    0x0,
+    0x0,
+    0xc,
+    0x8,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0xa,
+    0x1,
+    0x1,
+    0x5,
+    0x0,
+    0x4,
+    0x2,
+    0x4,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x5,
+    0x7,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x5,
+    0x5,
+    0xa,
+    0x2,
+    0x9,
+    0x0,
+    0x0,
+    0x8,
+    0x2,
+    0x1,
+    0x5,
+    0xf,
+    0x7,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x4,
+    0x4,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0xb,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x2,
+    0x3,
+    0x2,
+    0xa,
+    0xa,
+    0x0,
+    0x3,
+    0x3,
+    0x2,
+    0x0,
+    0x5,
+    0xc,
+    0x1,
+    0x1,
+    0x7,
+    0x1,
+    0x6,
+    0x5,
+    0x1,
+    0x3,
+    0x0,
+    0xf,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x3,
+    0x3,
+    0x3,
+    0x1,
+    0x18,
+    0x26,
+    0x5,
+    0x0,
+    0x3,
+    0x8,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x14,
+    0x6,
+    0x6,
+    0x0,
+    0x3,
+    0x0,
+    0x3,
+    0x3,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0xe,
+    0x4,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x8,
+    0xa,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x7,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x5,
+    0xc,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x2,
+    0x3,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x4,
+    0x8,
+    0x0,
+    0x12,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x3,
+    0xf,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0xc,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0xc,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x7,
+    0x0,
+    0x1,
+    0x3,
+    0x4,
+    0x1,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x18,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0xa,
+    0x6,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0x0,
+    0x5,
+    0x3,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x0,
+    0x3,
+    0x1,
+    0x5,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0xf,
+    0x0,
+    0x5,
+    0x2,
+    0x4,
+    0x1,
+    0x5,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0xc,
+    0x1,
+    0x0,
+    0x2,
+    0xc,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x5,
+    0x7,
+    0x2,
+    0x8,
+    0x8,
+    0x2,
+    0x6,
+    0x5,
+    0x8,
+    0x4,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0x4,
+    0x7,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x6,
+    0x5,
+    0x3,
+    0x8,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x6,
+    0x2,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x1,
+    0xa,
+    0x5,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0xb,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x5,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x4,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x14,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x11,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x3,
+    0x13,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x3,
+    0x3,
+    0xa,
+    0x4,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x12,
+    0x1,
+    0x2,
+    0x1,
+    0x4,
+    0x6,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x9,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x4,
+    0x6,
+    0x3,
+    0x5,
+    0x0,
+    0x1,
+    0x5,
+    0x0,
+    0x1,
+    0x8,
+    0x0,
+    0x2,
+    0x9,
+    0x0,
+    0x7,
+    0x7,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x4,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x4,
+    0x3,
+    0x2,
+    0xa,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x7,
+    0x7,
+    0x1,
+    0x7,
+    0x0,
+    0x4,
+    0x5,
+    0x2,
+    0x3,
+    0x3,
+    0x5,
+    0x3,
+    0x0,
+    0x5,
+    0x1,
+    0x2,
+    0x4,
+    0x4,
+    0x5,
+    0x2,
+    0x0,
+    0x6,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x7,
+    0x5,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0xf,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0xe,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0x2,
+    0x6,
+    0x4,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x16,
+    0x3,
+    0x0,
+    0x5,
+    0x2,
+    0x2,
+    0x2,
+    0x3,
+    0x4,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x5,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x5,
+    0xa,
+    0x2,
+    0x4,
+    0x1,
+    0xc,
+    0x1,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x5,
+    0x0,
+    0x8,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x3,
+    0x2,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x6,
+    0x2,
+    0x0,
+    0xb,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0xa,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x3,
+    0x3,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x4,
+    0x4,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x9,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x12,
+    0x0,
+    0x1,
+    0x5,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x3,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x4,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x4,
+    0x2,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x5,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x5,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x6,
+    0x0,
+    0x9,
+    0x1,
+    0x2,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x4,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x3,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x2,
+    0x6,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x7,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x1,
+    0xc,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x6,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x5,
+    0x0,
+    0x3,
+    0x3,
+    0x1,
+    0x2,
+    0x8,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x5,
+    0x8,
+    0x3,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x14,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x4,
+    0x1,
+    0x1,
+    0xb,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0xa,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x3,
+    0x3,
+    0x1,
+    0x6,
+    0x1,
+    0x1,
+    0xa,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x2,
+    0x6,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x4,
+    0x0,
+    0xd,
+    0x2,
+    0x3,
+    0x5,
+    0x3,
+    0x3,
+    0x1,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x6,
+    0x0,
+    0xb,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x10,
+    0x1,
+    0x0,
+    0x2,
+    0x5,
+    0x1,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x6,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x8,
+    0x5,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x6,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x1,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x7,
+    0x2,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x6,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x1,
+    0x4,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x2,
+    0x4,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x6,
+    0x0,
+    0x3,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x5,
+    0x1,
+    0x6,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0xb,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x2,
+    0x0,
+    0x5,
+    0x3,
+    0x1,
+    0x3,
+    0x6,
+    0x1,
+    0x1,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x2,
+    0x3,
+    0x8,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x7,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x5,
+    0x5,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x7,
+    0x14,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x7,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x1,
+    0x2,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x8,
+    0x2,
+    0x1,
+    0x4,
+    0x1,
+    0x7,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x3,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x6,
+    0x2,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x8,
+    0x1,
+    0x3,
+    0x5,
+    0x0,
+    0x3,
+    0x2,
+    0x2,
+    0x7,
+    0x0,
+    0x3,
+    0x6,
+    0x8,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0xa,
+    0x2,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x5,
+    0x2,
+    0x1,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x9,
+    0x3,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x1,
+    0x4,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x1,
+    0x8,
+    0x3,
+    0x1,
+    0x6,
+    0x2,
+    0x1,
+    0x0,
+    0x3,
+    0x3,
+    0x0,
+    0x1,
+    0x3,
+    0xb,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0xc,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0xb,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x3,
+    0x0,
+    0x3,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x4,
+    0x3,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x5,
+    0x4,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x4,
+    0x4,
+    0x8,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x2,
+    0x7,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x8,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x5,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x1,
+    0x7,
+    0x1,
+    0x0,
+    0x5,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x9,
+    0x1,
+    0x0,
+    0x1,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x4,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x4,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x2,
+    0x4,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x9,
+    0x1,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x6,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x6,
+    0x1,
+    0x0,
+    0x4,
+    0x5,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x3,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+];
+pub(crate) const COMPATIBILITY_DECOMPOSED_KV: &[(u32, &'static [char])] = &[
+    (0x2f7c, &['\u{8001}']),
+    (0xfef6, &['\u{0644}', '\u{0627}', '\u{0653}']),
+    (0xfca0, &['\u{0628}', '\u{0647}']),
+    (0x24df, &['\u{0070}']),
+    (0xff18, &['\u{0038}']),
+    (0xfd72, &['\u{0637}', '\u{0645}', '\u{062D}']),
+    (0x3195, &['\u{56DB}']),
+    (0x1d4e2, &['\u{0053}']),
+    (0xfbae, &['\u{06D2}']),
+    (0x3197, &['\u{4E2D}']),
+    (0xfc69, &['\u{064A}', '\u{0654}', '\u{064A}']),
+    (0x332c, &['\u{30CF}', '\u{309A}', '\u{30FC}', '\u{30C4}']),
+    (0x1d79a, &['\u{039B}']),
+    (0x24e1, &['\u{0072}']),
+    (0xff07, &['\u{0027}']),
+    (0x1d76b, &['\u{03A6}']),
+    (0xfc71, &['\u{062A}', '\u{0632}']),
+    (0xff47, &['\u{0067}']),
+    (0xfcf6, &['\u{0637}', '\u{064A}']),
+    (0x1f237, &['\u{6708}']),
+    (0x2177, &['\u{0076}', '\u{0069}', '\u{0069}', '\u{0069}']),
+    (0xfd92, &['\u{0645}', '\u{062C}', '\u{062E}']),
+    (0xfd63, &['\u{0633}', '\u{0645}', '\u{0645}']),
+    (0x1d695, &['\u{006C}']),
+    (0xfe84, &['\u{0627}', '\u{0654}']),
+    (0xfb7f, &['\u{0687}']),
+    (0x1d5f4, &['\u{0067}']),
+    (0x2083, &['\u{0033}']),
+    (0x202f, &['\u{0020}']),
+    (0xffac, &['\u{11B2}']),
+    (0xfd14, &['\u{0639}', '\u{064A}']),
+    (0x1d7ec, &['\u{0030}']),
+    (0x1d4cb, &['\u{0076}']),
+    (0x2085, &['\u{0035}']),
+    (0x32c7, &['\u{0038}', '\u{6708}']),
+    (0x1d73c, &['\u{03B7}']),
+    (0xff8c, &['\u{30D5}']),
+    (0x1da8, &['\u{029D}']),
+    (0xfeba, &['\u{0635}']),
+    (0x1d48e, &['\u{006D}']),
+    (0xfc42, &['\u{0644}', '\u{0645}']),
+    (0x32db, &['\u{30B7}']),
+    (0x1d585, &['\u{005A}']),
+    (0x2492, &['\u{0031}', '\u{0031}', '\u{002E}']),
+    (0x1ee9b, &['\u{063A}']),
+    (0x2f4e, &['\u{6BB3}']),
+    (0x1d55, &['\u{1D17}']),
+    (0x3224, &['\u{0028}', '\u{4E94}', '\u{0029}']),
+    (0xffdb, &['\u{1174}']),
+    (0x1d7ff, &['\u{0039}']),
+    (0x2092, &['\u{006F}']),
+    (0x1d4bd, &['\u{0068}']),
+    (0x2fa2, &['\u{9091}']),
+    (0x1d52d, &['\u{0070}']),
+    (0x1d46e, &['\u{0047}']),
+    (0xfda8, &['\u{0633}', '\u{062E}', '\u{0649}']),
+    (0x1d560, &['\u{006F}']),
+    (0xfd05, &['\u{0635}', '\u{0649}']),
+    (0x33d7, &['\u{0050}', '\u{0048}']),
+    (0x1d529, &['\u{006C}']),
+    (0x2170, &['\u{0069}']),
+    (0xff3d, &['\u{005D}']),
+    (0x1d764, &['\u{039F}']),
+    (0xff5d, &['\u{007D}']),
+    (0x1d7b0, &['\u{03B7}']),
+    (0x3325, &['\u{30C6}', '\u{3099}', '\u{30B7}']),
+    (0x1d672, &['\u{0043}']),
+    (0x1d43, &['\u{0061}']),
+    (0xfc59, &['\u{064A}', '\u{0649}']),
+    (0x1d536, &['\u{0079}']),
+    (0x1d453, &['\u{0066}']),
+    (0xfc4a, &['\u{0645}', '\u{064A}']),
+    (0x1d41, &['\u{0055}']),
+    (0x1d7a1, &['\u{0398}']),
+    (0xfb50, &['\u{0671}']),
+    (0xff7d, &['\u{30B9}']),
+    (0x1d4fb, &['\u{0072}']),
+    (0x1d62a, &['\u{0069}']),
+    (0x2128, &['\u{005A}']),
+    (0x1d558, &['\u{0067}']),
+    (0x2f64, &['\u{7528}']),
+    (0x2f07, &['\u{4EA0}']),
+    (0x32ee, &['\u{30DE}']),
+    (0xfc6a, &['\u{0628}', '\u{0631}']),
+    (0x1d466, &['\u{0079}']),
+    (0xfd5c, &['\u{0633}', '\u{062D}', '\u{062C}']),
+    (0x321a, &['\u{0028}', '\u{1111}', '\u{1161}', '\u{0029}']),
+    (0x1ee37, &['\u{062E}']),
+    (0x3148, &['\u{110C}']),
+    (0xfcde, &['\u{064A}', '\u{0647}']),
+    (0x33f4, &['\u{0032}', '\u{0031}', '\u{65E5}']),
+    (0x3363, &['\u{0031}', '\u{0031}', '\u{70B9}']),
+    (0xfc0c, &['\u{062A}', '\u{062D}']),
+    (0xff40, &['\u{0060}']),
+    (0x325e, &['\u{0033}', '\u{0034}']),
+    (0x3146, &['\u{110A}']),
+    (0xfb6e, &['\u{06A6}']),
+    (0x1ee24, &['\u{0647}']),
+    (0xfeda, &['\u{0643}']),
+    (0x1d6eb, &['\u{039A}']),
+    (0x1ee83, &['\u{062F}']),
+    (0x1d467, &['\u{007A}']),
+    (0x325a, &['\u{0033}', '\u{0030}']),
+    (0x3251, &['\u{0032}', '\u{0031}']),
+    (0xfe5b, &['\u{007B}']),
+    (0x1d45e, &['\u{0071}']),
+    (0xfd3b, &['\u{0638}', '\u{0645}']),
+    (0x313e, &['\u{11B4}']),
+    (0xfe98, &['\u{062A}']),
+    (0x1d487, &['\u{0066}']),
+    (0x3271, &['\u{1105}', '\u{1161}']),
+    (0x217d, &['\u{0063}']),
+    (0xfee2, &['\u{0645}']),
+    (0x2112, &['\u{004C}']),
+    (0x2f06, &['\u{4E8C}']),
+    (0x32cf, &['\u{004C}', '\u{0054}', '\u{0044}']),
+    (0x2484, &['\u{0028}', '\u{0031}', '\u{0037}', '\u{0029}']),
+    (0x24bf, &['\u{004A}']),
+    (0x1d49c, &['\u{0041}']),
+    (0xfc34, &['\u{0642}', '\u{0645}']),
+    (0x2f76, &['\u{7C73}']),
+    (0x1f220, &['\u{521D}']),
+    (0xfec1, &['\u{0637}']),
+    (0x2048, &['\u{003F}', '\u{0021}']),
+    (0x3152, &['\u{1164}']),
+    (0x2f89, &['\u{826E}']),
+    (0x2f85, &['\u{81FC}']),
+    (0x1d7bc, &['\u{03C3}']),
+    (0x2f7a, &['\u{7F8A}']),
+    (0x248a, &['\u{0033}', '\u{002E}']),
+    (0x32c6, &['\u{0037}', '\u{6708}']),
+    (0x208c, &['\u{003D}']),
+    (0x1d680, &['\u{0051}']),
+    (0x1d58c, &['\u{0067}']),
+    (0xfb71, &['\u{06A6}']),
+    (0x1d55f, &['\u{006E}']),
+    (0x1d741, &['\u{03BC}']),
+    (0x1d46d, &['\u{0046}']),
+    (0x33a3, &['\u{006D}', '\u{006D}', '\u{0033}']),
+    (0x24b9, &['\u{0044}']),
+    (0x1d772, &['\u{03B3}']),
+    (0x2475, &['\u{0028}', '\u{0032}', '\u{0029}']),
+    (0x1d46b, &['\u{0044}']),
+    (0xfe7a, &['\u{0020}', '\u{0650}']),
+    (0x1db6, &['\u{0289}']),
+    (0xfb8f, &['\u{06A9}']),
+    (0x3261, &['\u{1102}']),
+    (0xfd8b, &['\u{0645}', '\u{062D}', '\u{064A}']),
+    (0x1d51, &['\u{014B}']),
+    (0x2f3c, &['\u{5FC3}']),
+    (0xfc75, &['\u{062A}', '\u{064A}']),
+    (0x1f16c, &['\u{004D}', '\u{0052}']),
+    (0x1d793, &['\u{0394}']),
+    (0x319e, &['\u{5730}']),
+    (0x3282, &['\u{4E09}']),
+    (0x3374, &['\u{0062}', '\u{0061}', '\u{0072}']),
+    (0xffad, &['\u{11B3}']),
+    (0x1ee1a, &['\u{0638}']),
+    (0x1f139, &['\u{004A}']),
+    (0xfcbb, &['\u{0639}', '\u{0645}']),
+    (0x3290, &['\u{65E5}']),
+    (0x321b, &['\u{0028}', '\u{1112}', '\u{1161}', '\u{0029}']),
+    (0x3246, &['\u{6587}']),
+    (0x1d6a1, &['\u{0078}']),
+    (0xaf, &['\u{0020}', '\u{0304}']),
+    (0x33f6, &['\u{0032}', '\u{0033}', '\u{65E5}']),
+    (0x2f11, &['\u{5200}']),
+    (0x1d781, &['\u{03C2}']),
+    (0x1d5c7, &['\u{006E}']),
+    (0x2176, &['\u{0076}', '\u{0069}', '\u{0069}']),
+    (0x33b0, &['\u{0070}', '\u{0073}']),
+    (0x1d5af, &['\u{0050}']),
+    (0x3321, &['\u{30B7}', '\u{30EA}', '\u{30F3}', '\u{30AF}', '\u{3099}']),
+    (0xfef7, &['\u{0644}', '\u{0627}', '\u{0654}']),
+    (0x24be, &['\u{0049}']),
+    (0x249a, &['\u{0031}', '\u{0039}', '\u{002E}']),
+    (0xfc10, &['\u{062A}', '\u{064A}']),
+    (0xfd77, &['\u{0639}', '\u{0645}', '\u{0645}']),
+    (0xfb21, &['\u{05D0}']),
+    (0x1d6ef, &['\u{039E}']),
+    (0x33ee, &['\u{0031}', '\u{0035}', '\u{65E5}']),
+    (0xfc1f, &['\u{0633}', '\u{0645}']),
+    (0x1d4d2, &['\u{0043}']),
+    (0x328a, &['\u{6708}']),
+    (0xfba7, &['\u{06C1}']),
+    (0x1d7b9, &['\u{03C0}']),
+    (0x1d5c4, &['\u{006B}']),
+    (0x1d6b6, &['\u{039F}']),
+    (0x1d78, &['\u{043D}']),
+    (0x1d7ea, &['\u{0038}']),
+    (0x2f15, &['\u{531A}']),
+    (0xfe94, &['\u{0629}']),
+    (0x33d9, &['\u{0050}', '\u{0050}', '\u{004D}']),
+    (0x32e7, &['\u{30CD}']),
+    (0x1d711, &['\u{03C6}']),
+    (0x1d728, &['\u{039D}']),
+    (0x335e, &['\u{0036}', '\u{70B9}']),
+    (0x2a74, &['\u{003A}', '\u{003A}', '\u{003D}']),
+    (0xfc1b, &['\u{062E}', '\u{0645}']),
+    (0x3133, &['\u{11AA}']),
+    (0xfd71, &['\u{0637}', '\u{0645}', '\u{062D}']),
+    (0xff85, &['\u{30CA}']),
+    (0xfdc1, &['\u{0641}', '\u{0645}', '\u{064A}']),
+    (0x1f2, &['\u{0044}', '\u{007A}']),
+    (0xfc72, &['\u{062A}', '\u{0645}']),
+    (0x2157, &['\u{0033}', '\u{2044}', '\u{0035}']),
+    (0x1d705, &['\u{03BA}']),
+    (0xfc78, &['\u{062B}', '\u{0645}']),
+    (0x333e, &['\u{30DB}', '\u{3099}', '\u{30EB}', '\u{30C8}']),
+    (0xfd5b, &['\u{062D}', '\u{0645}', '\u{0649}']),
+    (0x1f11b, &['\u{0028}', '\u{004C}', '\u{0029}']),
+    (0x1f136, &['\u{0047}']),
+    (0x33c9, &['\u{0047}', '\u{0079}']),
+    (0x1d718, &['\u{03BA}']),
+    (0xfeb3, &['\u{0633}']),
+    (0x331d, &['\u{30B3}', '\u{30EB}', '\u{30CA}']),
+    (0xffc6, &['\u{1165}']),
+    (0x315a, &['\u{116C}']),
+    (0x2e0, &['\u{0263}']),
+    (0x1d47a, &['\u{0053}']),
+    (0x1c4, &['\u{0044}', '\u{005A}', '\u{030C}']),
+    (0x2100, &['\u{0061}', '\u{002F}', '\u{0063}']),
+    (0x1d4f3, &['\u{006A}']),
+    (0xfccf, &['\u{0645}', '\u{062D}']),
+    (0x1d475, &['\u{004E}']),
+    (0xfea1, &['\u{062D}']),
+    (0x2b6, &['\u{0281}']),
+    (0x1d6d7, &['\u{03C6}']),
+    (0x1f22e, &['\u{53F3}']),
+    (0x2f55, &['\u{706B}']),
+    (0x2b2, &['\u{006A}']),
+    (0x1d6a2, &['\u{0079}']),
+    (0x2006, &['\u{0020}']),
+    (0x1d763, &['\u{039E}']),
+    (0x1d5fa, &['\u{006D}']),
+    (0x2f0a, &['\u{5165}']),
+    (0xfe4a, &['\u{0020}', '\u{0305}']),
+    (0xfe6a, &['\u{0025}']),
+    (0x1d765, &['\u{03A0}']),
+    (0xfd7d, &['\u{0641}', '\u{062E}', '\u{0645}']),
+    (0x326f, &['\u{1102}', '\u{1161}']),
+    (0x1d478, &['\u{0051}']),
+    (0x2f23, &['\u{5915}']),
+    (0xfc86, &['\u{0644}', '\u{0649}']),
+    (0x2fc6, &['\u{9EA5}']),
+    (0x1d5df, &['\u{004C}']),
+    (0x1ee1b, &['\u{063A}']),
+    (0xffcc, &['\u{1169}']),
+    (0xfc62, &['\u{0020}', '\u{0650}', '\u{0651}']),
+    (0x32a3, &['\u{6B63}']),
+    (0x33d1, &['\u{006C}', '\u{006E}']),
+    (0x2f44, &['\u{65A4}']),
+    (0x1f211, &['\u{5B57}']),
+    (0x3182, &['\u{11F1}']),
+    (0x1d546, &['\u{004F}']),
+    (0x1d6a0, &['\u{0077}']),
+    (0x2076, &['\u{0036}']),
+    (0x1d6d9, &['\u{03C8}']),
+    (0xfb03, &['\u{0066}', '\u{0066}', '\u{0069}']),
+    (0xfb63, &['\u{067F}']),
+    (0x1d4af, &['\u{0054}']),
+    (0x24c7, &['\u{0052}']),
+    (0x1d7ed, &['\u{0031}']),
+    (0x1d484, &['\u{0063}']),
+    (0x33c4, &['\u{0063}', '\u{0063}']),
+    (0x2fa8, &['\u{9580}']),
+    (0x2467, &['\u{0038}']),
+    (0x2fc8, &['\u{9EC3}']),
+    (0x1d4d9, &['\u{004A}']),
+    (0x2f81, &['\u{8089}']),
+    (0xfce9, &['\u{0634}', '\u{0645}']),
+    (0x32cd, &['\u{0065}', '\u{0072}', '\u{0067}']),
+    (0x1d5ec, &['\u{0059}']),
+    (0xff61, &['\u{3002}']),
+    (0x2496, &['\u{0031}', '\u{0035}', '\u{002E}']),
+    (0x1d416, &['\u{0057}']),
+    (0x3390, &['\u{0048}', '\u{007A}']),
+    (0x338b, &['\u{006E}', '\u{0046}']),
+    (0xfd13, &['\u{0639}', '\u{0649}']),
+    (0x1eea8, &['\u{0637}']),
+    (0xfc50, &['\u{0646}', '\u{064A}']),
+    (0x1d572, &['\u{0047}']),
+    (0xfed7, &['\u{0642}']),
+    (0x1d629, &['\u{0068}']),
+    (0xff95, &['\u{30E6}']),
+    (0xfe4f, &['\u{005F}']),
+    (0xfc77, &['\u{062B}', '\u{0632}']),
+    (0x1db3, &['\u{0282}']),
+    (0x3308, &['\u{30A8}', '\u{30FC}', '\u{30AB}', '\u{30FC}']),
+    (0x1f241, &['\u{3014}', '\u{4E09}', '\u{3015}']),
+    (0x1d2e, &['\u{0042}']),
+    (0x1d40f, &['\u{0050}']),
+    (0xfcfe, &['\u{0634}', '\u{064A}']),
+    (0x2078, &['\u{0038}']),
+    (0x1d6cf, &['\u{03BE}']),
+    (0xfb8d, &['\u{0691}']),
+    (0xfc24, &['\u{0636}', '\u{062E}']),
+    (0x3239, &['\u{0028}', '\u{4EE3}', '\u{0029}']),
+    (0x1d460, &['\u{0073}']),
+    (0x1d6c9, &['\u{03B8}']),
+    (0x3330, &['\u{30D2}', '\u{309A}', '\u{30B3}']),
+    (0x1d451, &['\u{0064}']),
+    (0x1fbf4, &['\u{0034}']),
+    (0xff9a, &['\u{30EC}']),
+    (0x1d635, &['\u{0074}']),
+    (0xfc26, &['\u{0637}', '\u{062D}']),
+    (0x2f20, &['\u{58EB}']),
+    (0x24a0, &['\u{0028}', '\u{0065}', '\u{0029}']),
+    (0x327b, &['\u{1112}', '\u{1161}']),
+    (0xfcbc, &['\u{063A}', '\u{062C}']),
+    (0xff39, &['\u{0059}']),
+    (0xfc9c, &['\u{0628}', '\u{062C}']),
+    (0x321e, &['\u{0028}', '\u{110B}', '\u{1169}', '\u{1112}', '\u{116E}', '\u{0029}']),
+    (0x1d685, &['\u{0056}']),
+    (0x212c, &['\u{0042}']),
+    (0x1d7b6, &['\u{03BD}']),
+    (0xfe41, &['\u{300C}']),
+    (0x32ae, &['\u{8CC7}']),
+    (0x1f12a, &['\u{3014}', '\u{0053}', '\u{3015}']),
+    (0xfd55, &['\u{062A}', '\u{0645}', '\u{062C}']),
+    (0x3297, &['\u{795D}']),
+    (0x1f145, &['\u{0056}']),
+    (0x2b1, &['\u{0266}']),
+    (0xff97, &['\u{30E9}']),
+    (0x32d2, &['\u{30A6}']),
+    (0x32cb, &['\u{0031}', '\u{0032}', '\u{6708}']),
+    (0x32ca, &['\u{0031}', '\u{0031}', '\u{6708}']),
+    (0x1eeaf, &['\u{0639}']),
+    (0x24d6, &['\u{0067}']),
+    (0x333d, &['\u{30DB}', '\u{309A}', '\u{30A4}', '\u{30F3}', '\u{30C8}']),
+    (0x1f217, &['\u{5929}']),
+    (0x3369, &['\u{0031}', '\u{0037}', '\u{70B9}']),
+    (0x33c6, &['\u{0043}', '\u{2215}', '\u{006B}', '\u{0067}']),
+    (0x1d66b, &['\u{0076}']),
+    (0xff5a, &['\u{007A}']),
+    (0xfef5, &['\u{0644}', '\u{0627}', '\u{0653}']),
+    (0xfd56, &['\u{062A}', '\u{0645}', '\u{062D}']),
+    (0x1d44c, &['\u{0059}']),
+    (0xff60, &['\u{2986}']),
+    (0xfdb3, &['\u{0646}', '\u{062D}', '\u{064A}']),
+    (0xfb92, &['\u{06AF}']),
+    (0x2098, &['\u{006D}']),
+    (0x1fdf, &['\u{0020}', '\u{0314}', '\u{0342}']),
+    (0x1d60e, &['\u{0047}']),
+    (0xab69, &['\u{028D}']),
+    (0x3164, &['\u{1160}']),
+    (0x3140, &['\u{111A}']),
+    (0xfeac, &['\u{0630}']),
+    (0x3155, &['\u{1167}']),
+    (0x1d48b, &['\u{006A}']),
+    (0x1dbb, &['\u{007A}']),
+    (0x1f125, &['\u{0028}', '\u{0056}', '\u{0029}']),
+    (0x33bd, &['\u{006D}', '\u{0057}']),
+    (0x2124, &['\u{005A}']),
+    (0x3d0, &['\u{03B2}']),
+    (0x33d2, &['\u{006C}', '\u{006F}', '\u{0067}']),
+    (0x1d70c, &['\u{03C1}']),
+    (0x1d37, &['\u{004B}']),
+    (0x1f21a, &['\u{7121}']),
+    (0x32a9, &['\u{533B}']),
+    (0x1f22f, &['\u{6307}']),
+    (0xff64, &['\u{3001}']),
+    (0x32a4, &['\u{4E0A}']),
+    (0x2f71, &['\u{79B8}']),
+    (0x1ee61, &['\u{0628}']),
+    (0x2135, &['\u{05D0}']),
+    (0x2075, &['\u{0035}']),
+    (0x1d7ab, &['\u{03B2}']),
+    (0x3203, &['\u{0028}', '\u{1105}', '\u{0029}']),
+    (0x3339, &['\u{30D8}', '\u{30EB}', '\u{30C4}']),
+    (0x3309, &['\u{30AA}', '\u{30F3}', '\u{30B9}']),
+    (0x1d675, &['\u{0046}']),
+    (0xff49, &['\u{0069}']),
+    (0xfc6e, &['\u{0628}', '\u{0649}']),
+    (0xffb9, &['\u{110D}']),
+    (0x32ac, &['\u{76E3}']),
+    (0x1d5d6, &['\u{0043}']),
+    (0x1d51b, &['\u{0058}']),
+    (0xfd65, &['\u{0635}', '\u{062D}', '\u{062D}']),
+    (0xffc7, &['\u{1166}']),
+    (0x24d3, &['\u{0064}']),
+    (0xa69c, &['\u{044A}']),
+    (0xffee, &['\u{25CB}']),
+    (0x1d777, &['\u{03B8}']),
+    (0x1d5de, &['\u{004B}']),
+    (0x1f251, &['\u{53EF}']),
+    (0x1d593, &['\u{006E}']),
+    (0x1ee2b, &['\u{0644}']),
+    (0x329c, &['\u{9069}']),
+    (0x2fd4, &['\u{9F9C}']),
+    (0xfc05, &['\u{0628}', '\u{062C}']),
+    (0xfb75, &['\u{0684}']),
+    (0x3345, &['\u{30DE}', '\u{30C3}', '\u{30CF}']),
+    (0x1d5f0, &['\u{0063}']),
+    (0x1f250, &['\u{5F97}']),
+    (0x3149, &['\u{110D}']),
+    (0x1d40d, &['\u{004E}']),
+    (0x1f235, &['\u{6E80}']),
+    (0x1d6de, &['\u{03BA}']),
+    (0xfcc8, &['\u{0643}', '\u{0645}']),
+    (0x1d656, &['\u{0061}']),
+    (0x1d3d, &['\u{0222}']),
+    (0xfd59, &['\u{062C}', '\u{0645}', '\u{062D}']),
+    (0x1d69c, &['\u{0073}']),
+    (0xfcfa, &['\u{063A}', '\u{064A}']),
+    (0x1daf, &['\u{0273}']),
+    (0xfe61, &['\u{002A}']),
+    (0x1c5, &['\u{0044}', '\u{007A}', '\u{030C}']),
+    (0xfd15, &['\u{063A}', '\u{0649}']),
+    (0x1d6ed, &['\u{039C}']),
+    (0x1d6d8, &['\u{03C7}']),
+    (0x1d4ac, &['\u{0051}']),
+    (0xfecd, &['\u{063A}']),
+    (0xfdfb, &['\u{062C}', '\u{0644}', '\u{0020}', '\u{062C}', '\u{0644}', '\u{0627}', '\u{0644}', '\u{0647}']),
+    (0x1d7fa, &['\u{0034}']),
+    (0xfb26, &['\u{05DD}']),
+    (0x1d6f3, &['\u{0398}']),
+    (0x1d452, &['\u{0065}']),
+    (0xfce7, &['\u{0633}', '\u{0645}']),
+    (0x316e, &['\u{111C}']),
+    (0x33b1, &['\u{006E}', '\u{0073}']),
+    (0xfe89, &['\u{064A}', '\u{0654}']),
+    (0x1d63f, &['\u{0044}']),
+    (0x1d5c9, &['\u{0070}']),
+    (0x3266, &['\u{1109}']),
+    (0xfd64, &['\u{0635}', '\u{062D}', '\u{062D}']),
+    (0xfed0, &['\u{063A}']),
+    (0x1d7e3, &['\u{0031}']),
+    (0x1d62b, &['\u{006A}']),
+    (0x339c, &['\u{006D}', '\u{006D}']),
+    (0xffda, &['\u{1173}']),
+    (0xfbde, &['\u{06CB}']),
+    (0xfd0a, &['\u{0634}', '\u{062D}']),
+    (0xffe2, &['\u{00AC}']),
+    (0x336d, &['\u{0032}', '\u{0031}', '\u{70B9}']),
+    (0x1d542, &['\u{004B}']),
+    (0x2491, &['\u{0031}', '\u{0030}', '\u{002E}']),
+    (0x2fb3, &['\u{97F3}']),
+    (0x33af, &['\u{0072}', '\u{0061}', '\u{0064}', '\u{2215}', '\u{0073}', '\u{0032}']),
+    (0x1d52a, &['\u{006D}']),
+    (0xfece, &['\u{063A}']),
+    (0xfcb3, &['\u{0635}', '\u{0645}']),
+    (0xfc92, &['\u{064A}', '\u{0632}']),
+    (0x2470, &['\u{0031}', '\u{0037}']),
+    (0x1d50e, &['\u{004B}']),
+    (0xff8b, &['\u{30D2}']),
+    (0x320f, &['\u{0028}', '\u{1102}', '\u{1161}', '\u{0029}']),
+    (0xf77, &['\u{0FB2}', '\u{0F71}', '\u{0F80}']),
+    (0x1f147, &['\u{0058}']),
+    (0xffa0, &['\u{1160}']),
+    (0x1d78c, &['\u{03BA}']),
+    (0xfe19, &['\u{002E}', '\u{002E}', '\u{002E}']),
+    (0x3134, &['\u{1102}']),
+    (0x1d7c0, &['\u{03C7}']),
+    (0x2fa5, &['\u{91CC}']),
+    (0x1d58, &['\u{0075}']),
+    (0xfda1, &['\u{062A}', '\u{062E}', '\u{064A}']),
+    (0xfdbc, &['\u{0644}', '\u{062C}', '\u{0645}']),
+    (0xfc1a, &['\u{062E}', '\u{062D}']),
+    (0x338e, &['\u{006D}', '\u{0067}']),
+    (0x32e2, &['\u{30C6}']),
+    (0x2c7d, &['\u{0056}']),
+    (0x1ee35, &['\u{062A}']),
+    (0xfda5, &['\u{062C}', '\u{0645}', '\u{064A}']),
+    (0x325f, &['\u{0033}', '\u{0035}']),
+    (0x3365, &['\u{0031}', '\u{0033}', '\u{70B9}']),
+    (0x1d4f, &['\u{006B}']),
+    (0x1d5ef, &['\u{0062}']),
+    (0xffe1, &['\u{00A3}']),
+    (0xfe50, &['\u{002C}']),
+    (0xfbd6, &['\u{06AD}']),
+    (0x3354, &['\u{30EB}', '\u{30FC}', '\u{30D5}', '\u{3099}', '\u{30EB}']),
+    (0x1ee89, &['\u{064A}']),
+    (0x1d415, &['\u{0056}']),
+    (0xffd4, &['\u{116F}']),
+    (0x1d4b8, &['\u{0063}']),
+    (0x1d79f, &['\u{03A0}']),
+    (0x1d701, &['\u{03B6}']),
+    (0x3347, &['\u{30DE}', '\u{30F3}', '\u{30B7}', '\u{30E7}', '\u{30F3}']),
+    (0x3253, &['\u{0032}', '\u{0033}']),
+    (0xfc56, &['\u{064A}', '\u{062D}']),
+    (0x1d6b2, &['\u{039B}']),
+    (0xfdfc, &['\u{0631}', '\u{06CC}', '\u{0627}', '\u{0644}']),
+    (0xfbe2, &['\u{06C9}']),
+    (0xfb64, &['\u{067F}']),
+    (0xfcf9, &['\u{063A}', '\u{0649}']),
+    (0x322e, &['\u{0028}', '\u{91D1}', '\u{0029}']),
+    (0x1d62d, &['\u{006C}']),
+    (0x1d7f3, &['\u{0037}']),
+    (0x1d6ad, &['\u{0396}']),
+    (0x1ee32, &['\u{0642}']),
+    (0xff80, &['\u{30BF}']),
+    (0xfcd4, &['\u{0646}', '\u{062E}']),
+    (0x1f141, &['\u{0052}']),
+    (0x1d7ce, &['\u{0030}']),
+    (0xff82, &['\u{30C4}']),
+    (0xfe9d, &['\u{062C}']),
+    (0x1d6dc, &['\u{03B5}']),
+    (0x1d4bf, &['\u{006A}']),
+    (0x1d556, &['\u{0065}']),
+    (0xfdb8, &['\u{0646}', '\u{062C}', '\u{062D}']),
+    (0xfc7b, &['\u{062B}', '\u{064A}']),
+    (0x1d48c, &['\u{006B}']),
+    (0x338f, &['\u{006B}', '\u{0067}']),
+    (0xfe90, &['\u{0628}']),
+    (0x24da, &['\u{006B}']),
+    (0xfb04, &['\u{0066}', '\u{0066}', '\u{006C}']),
+    (0x1d4c2, &['\u{006D}']),
+    (0x1d648, &['\u{004D}']),
+    (0x1d70b, &['\u{03C0}']),
+    (0x328e, &['\u{91D1}']),
+    (0x1d795, &['\u{0396}']),
+    (0xfeab, &['\u{0630}']),
+    (0xff34, &['\u{0054}']),
+    (0x319c, &['\u{4E01}']),
+    (0x1da1, &['\u{025F}']),
+    (0xfcef, &['\u{0646}', '\u{0647}']),
+    (0x1d582, &['\u{0057}']),
+    (0xfc9b, &['\u{064A}', '\u{0654}', '\u{0647}']),
+    (0x1d42c, &['\u{0073}']),
+    (0x1db9, &['\u{028B}']),
+    (0x2097, &['\u{006C}']),
+    (0x1d7da, &['\u{0032}']),
+    (0x317a, &['\u{112D}']),
+    (0x1d5be, &['\u{0065}']),
+    (0x325d, &['\u{0033}', '\u{0033}']),
+    (0xedd, &['\u{0EAB}', '\u{0EA1}']),
+    (0x2f5d, &['\u{72AC}']),
+    (0x1d5f1, &['\u{0064}']),
+    (0xff24, &['\u{0044}']),
+    (0x2140, &['\u{2211}']),
+    (0x1d47f, &['\u{0058}']),
+    (0xffcf, &['\u{116C}']),
+    (0x2f0b, &['\u{516B}']),
+    (0xfdf2, &['\u{0627}', '\u{0644}', '\u{0644}', '\u{0647}']),
+    (0x3327, &['\u{30C8}', '\u{30F3}']),
+    (0x1d616, &['\u{004F}']),
+    (0xfb15, &['\u{0574}', '\u{056B}']),
+    (0xfee7, &['\u{0646}']),
+    (0xff96, &['\u{30E8}']),
+    (0x3d2, &['\u{03A5}']),
+    (0x1d524, &['\u{0067}']),
+    (0x33be, &['\u{006B}', '\u{0057}']),
+    (0x2f2b, &['\u{5C38}']),
+    (0x1f112, &['\u{0028}', '\u{0043}', '\u{0029}']),
+    (0x2f7f, &['\u{8033}']),
+    (0x2f42, &['\u{6587}']),
+    (0x1f133, &['\u{0044}']),
+    (0x1d42e, &['\u{0075}']),
+    (0x212d, &['\u{0043}']),
+    (0x334a, &['\u{30DF}', '\u{30EA}', '\u{30CF}', '\u{3099}', '\u{30FC}', '\u{30EB}']),
+    (0x1f222, &['\u{751F}']),
+    (0xfd62, &['\u{0633}', '\u{0645}', '\u{0645}']),
+    (0x1d57b, &['\u{0050}']),
+    (0x1d608, &['\u{0041}']),
+    (0x309f, &['\u{3088}', '\u{308A}']),
+    (0x2079, &['\u{0039}']),
+    (0x2fac, &['\u{96E8}']),
+    (0x1d62f, &['\u{006E}']),
+    (0xb2, &['\u{0032}']),
+    (0xff3b, &['\u{005B}']),
+    (0xfe42, &['\u{300D}']),
+    (0x1ee70, &['\u{0641}']),
+    (0xffb3, &['\u{1108}']),
+    (0x33e5, &['\u{0036}', '\u{65E5}']),
+    (0xfea7, &['\u{062E}']),
+    (0x1d55d, &['\u{006C}']),
+    (0x1d59e, &['\u{0079}']),
+    (0xfcb9, &['\u{0638}', '\u{0645}']),
+    (0xfd39, &['\u{0634}', '\u{062E}']),
+    (0x1d666, &['\u{0071}']),
+    (0x2f57, &['\u{7236}']),
+    (0x1d4df, &['\u{0050}']),
+    (0x1d45f, &['\u{0072}']),
+    (0x1d7b3, &['\u{03BA}']),
+    (0xfbb0, &['\u{06D2}', '\u{0654}']),
+    (0x1d704, &['\u{03B9}']),
+    (0x1db5, &['\u{01AB}']),
+    (0x1d621, &['\u{005A}']),
+    (0x314a, &['\u{110E}']),
+    (0xfdbf, &['\u{062D}', '\u{062C}', '\u{064A}']),
+    (0x322d, &['\u{0028}', '\u{6728}', '\u{0029}']),
+    (0x33bc, &['\u{03BC}', '\u{0057}']),
+    (0x1d6e8, &['\u{0397}']),
+    (0x248c, &['\u{0035}', '\u{002E}']),
+    (0x3135, &['\u{11AC}']),
+    (0xfcfc, &['\u{0633}', '\u{064A}']),
+    (0x3218, &['\u{0028}', '\u{110F}', '\u{1161}', '\u{0029}']),
+    (0xfdf9, &['\u{0635}', '\u{0644}', '\u{0649}']),
+    (0x1d636, &['\u{0075}']),
+    (0x1c6, &['\u{0064}', '\u{007A}', '\u{030C}']),
+    (0x1d75c, &['\u{0397}']),
+    (0x2f60, &['\u{74DC}']),
+    (0x3368, &['\u{0031}', '\u{0036}', '\u{70B9}']),
+    (0x32e5, &['\u{30CB}']),
+    (0x2134, &['\u{006F}']),
+    (0xfccd, &['\u{0644}', '\u{0647}']),
+    (0x247c, &['\u{0028}', '\u{0039}', '\u{0029}']),
+    (0x1da6, &['\u{026A}']),
+    (0x3237, &['\u{0028}', '\u{795D}', '\u{0029}']),
+    (0xfd03, &['\u{062E}', '\u{0649}']),
+    (0x1d670, &['\u{0041}']),
+    (0x1d7fd, &['\u{0037}']),
+    (0xfc44, &['\u{0644}', '\u{064A}']),
+    (0x1d70d, &['\u{03C2}']),
+    (0xfcf2, &['\u{0640}', '\u{064E}', '\u{0651}']),
+    (0x1d787, &['\u{03C8}']),
+    (0x2f1d, &['\u{53E3}']),
+    (0x1d78b, &['\u{03B8}']),
+    (0x215d, &['\u{0035}', '\u{2044}', '\u{0038}']),
+    (0xff16, &['\u{0036}']),
+    (0x3384, &['\u{006B}', '\u{0041}']),
+    (0x2047, &['\u{003F}', '\u{003F}']),
+    (0x332e, &['\u{30D2}', '\u{309A}', '\u{30A2}', '\u{30B9}', '\u{30C8}', '\u{30EB}']),
+    (0x1d67d, &['\u{004E}']),
+    (0x24cc, &['\u{0057}']),
+    (0xfb99, &['\u{06B3}']),
+    (0x1d5ad, &['\u{004E}']),
+    (0xfb9b, &['\u{06B1}']),
+    (0x1d5d, &['\u{03B2}']),
+    (0x318e, &['\u{11A1}']),
+    (0x33cb, &['\u{0048}', '\u{0050}']),
+    (0x24d9, &['\u{006A}']),
+    (0x319a, &['\u{4E59}']),
+    (0x1d412, &['\u{0053}']),
+    (0xa770, &['\u{A76F}']),
+    (0x3144, &['\u{1121}']),
+    (0xfcb4, &['\u{0636}', '\u{062C}']),
+    (0xff19, &['\u{0039}']),
+    (0x1d538, &['\u{0041}']),
+    (0x1d642, &['\u{0047}']),
+    (0x1f247, &['\u{3014}', '\u{52DD}', '\u{3015}']),
+    (0xff14, &['\u{0034}']),
+    (0x33cd, &['\u{004B}', '\u{004B}']),
+    (0xfedf, &['\u{0644}']),
+    (0x1ee79, &['\u{0636}']),
+    (0x1d480, &['\u{0059}']),
+    (0xfc74, &['\u{062A}', '\u{0649}']),
+    (0x1d490, &['\u{006F}']),
+    (0x1d7c5, &['\u{03B8}']),
+    (0x1d417, &['\u{0058}']),
+    (0x1d7dd, &['\u{0035}']),
+    (0xfb00, &['\u{0066}', '\u{0066}']),
+    (0x2f6e, &['\u{77E2}']),
+    (0x1d44a, &['\u{0057}']),
+    (0xfb95, &['\u{06AF}']),
+    (0xfc0b, &['\u{062A}', '\u{062C}']),
+    (0xfdf3, &['\u{0627}', '\u{0643}', '\u{0628}', '\u{0631}']),
+    (0x33d3, &['\u{006C}', '\u{0078}']),
+    (0x1eea2, &['\u{062C}']),
+    (0x1d5a3, &['\u{0044}']),
+    (0xfe5e, &['\u{3015}']),
+    (0x32e3, &['\u{30C8}']),
+    (0xfe39, &['\u{3014}']),
+    (0x1d69f, &['\u{0076}']),
+    (0x3137, &['\u{1103}']),
+    (0x1d456, &['\u{0069}']),
+    (0x1d439, &['\u{0046}']),
+    (0x1ee22, &['\u{062C}']),
+    (0x1d52b, &['\u{006E}']),
+    (0xff0c, &['\u{002C}']),
+    (0xfb25, &['\u{05DC}']),
+    (0xff50, &['\u{0070}']),
+    (0x33b4, &['\u{0070}', '\u{0056}']),
+    (0x335f, &['\u{0037}', '\u{70B9}']),
+    (0x314e, &['\u{1112}']),
+    (0xfb78, &['\u{0683}']),
+    (0xfee6, &['\u{0646}']),
+    (0xfc93, &['\u{064A}', '\u{0645}']),
+    (0x1f243, &['\u{3014}', '\u{5B89}', '\u{3015}']),
+    (0x1d60, &['\u{03C6}']),
+    (0xfc2c, &['\u{063A}', '\u{0645}']),
+    (0x1d488, &['\u{0067}']),
+    (0xfed2, &['\u{0641}']),
+    (0x1d2d, &['\u{00C6}']),
+    (0x1d730, &['\u{03A5}']),
+    (0x33e0, &['\u{0031}', '\u{65E5}']),
+    (0x2136, &['\u{05D1}']),
+    (0x3336, &['\u{30D8}', '\u{30AF}', '\u{30BF}', '\u{30FC}', '\u{30EB}']),
+    (0x3355, &['\u{30EC}', '\u{30E0}']),
+    (0x1d6f2, &['\u{03A1}']),
+    (0xfe3b, &['\u{3010}']),
+    (0xfbed, &['\u{064A}', '\u{0654}', '\u{06D5}']),
+    (0x24ad, &['\u{0028}', '\u{0072}', '\u{0029}']),
+    (0x1d471, &['\u{004A}']),
+    (0x331f, &['\u{30B5}', '\u{30A4}', '\u{30AF}', '\u{30EB}']),
+    (0xfe71, &['\u{0640}', '\u{064B}']),
+    (0x1d65d, &['\u{0068}']),
+    (0x1d56b, &['\u{007A}']),
+    (0x32d5, &['\u{30AB}']),
+    (0x217c, &['\u{006C}']),
+    (0x1d7e4, &['\u{0032}']),
+    (0x1d586, &['\u{0061}']),
+    (0xbd, &['\u{0031}', '\u{2044}', '\u{0032}']),
+    (0x3274, &['\u{1109}', '\u{1161}']),
+    (0xfd78, &['\u{0639}', '\u{0645}', '\u{0649}']),
+    (0x3299, &['\u{79D8}']),
+    (0x1d517, &['\u{0054}']),
+    (0x1ee6f, &['\u{0639}']),
+    (0x2f25, &['\u{5973}']),
+    (0x328d, &['\u{6728}']),
+    (0x3337, &['\u{30D8}', '\u{309A}', '\u{30BD}']),
+    (0x1d41e, &['\u{0065}']),
+    (0xfb9a, &['\u{06B1}']),
+    (0x1d5f3, &['\u{0066}']),
+    (0xb8, &['\u{0020}', '\u{0327}']),
+    (0xff17, &['\u{0037}']),
+    (0x1d7b7, &['\u{03BE}']),
+    (0xfd73, &['\u{0637}', '\u{0645}', '\u{0645}']),
+    (0xfbf2, &['\u{064A}', '\u{0654}', '\u{06C6}']),
+    (0x1d716, &['\u{03B5}']),
+    (0x33d0, &['\u{006C}', '\u{006D}']),
+    (0xfce2, &['\u{0628}', '\u{0647}']),
+    (0xfc4b, &['\u{0646}', '\u{062C}']),
+    (0x332b, &['\u{30CF}', '\u{309A}', '\u{30FC}', '\u{30BB}', '\u{30F3}', '\u{30C8}']),
+    (0x1d7af, &['\u{03B6}']),
+    (0xfcb5, &['\u{0636}', '\u{062D}']),
+    (0xff6b, &['\u{30A9}']),
+    (0x1d35, &['\u{0049}']),
+    (0x1d72d, &['\u{0398}']),
+    (0x1d6b3, &['\u{039C}']),
+    (0x33f2, &['\u{0031}', '\u{0039}', '\u{65E5}']),
+    (0xfe7e, &['\u{0020}', '\u{0652}']),
+    (0x1d30, &['\u{0044}']),
+    (0x3142, &['\u{1107}']),
+    (0xfc3c, &['\u{0643}', '\u{0645}']),
+    (0x2fb2, &['\u{97ED}']),
+    (0x1d653, &['\u{0058}']),
+    (0xfe36, &['\u{0029}']),
+    (0x3176, &['\u{1127}']),
+    (0x3205, &['\u{0028}', '\u{1107}', '\u{0029}']),
+    (0x1d7dc, &['\u{0034}']),
+    (0x2f00, &['\u{4E00}']),
+    (0x1d658, &['\u{0063}']),
+    (0x1f134, &['\u{0045}']),
+    (0x1ee4f, &['\u{0639}']),
+    (0x2498, &['\u{0031}', '\u{0037}', '\u{002E}']),
+    (0x1d622, &['\u{0061}']),
+    (0x1d6ec, &['\u{039B}']),
+    (0x2f1e, &['\u{56D7}']),
+    (0xfcba, &['\u{0639}', '\u{062C}']),
+    (0x1f21f, &['\u{65B0}']),
+    (0xfd9b, &['\u{0646}', '\u{0645}', '\u{0649}']),
+    (0x1d5bf, &['\u{0066}']),
+    (0xff41, &['\u{0061}']),
+    (0x3395, &['\u{03BC}', '\u{006C}']),
+    (0x1d5f, &['\u{03B4}']),
+    (0x1da7, &['\u{1D7B}']),
+    (0x1d71b, &['\u{03C0}']),
+    (0xfd94, &['\u{0647}', '\u{0645}', '\u{0645}']),
+    (0x1d4fc, &['\u{0073}']),
+    (0xfca6, &['\u{062B}', '\u{0645}']),
+    (0x1d7ef, &['\u{0033}']),
+    (0x2469, &['\u{0031}', '\u{0030}']),
+    (0x1d6dd, &['\u{03B8}']),
+    (0x2f9c, &['\u{8DB3}']),
+    (0x3293, &['\u{793E}']),
+    (0x1f14c, &['\u{0053}', '\u{0044}']),
+    (0xff21, &['\u{0041}']),
+    (0x33a9, &['\u{0050}', '\u{0061}']),
+    (0xff57, &['\u{0077}']),
+    (0xfdaf, &['\u{064A}', '\u{062C}', '\u{064A}']),
+    (0x2f6a, &['\u{76AE}']),
+    (0x3366, &['\u{0031}', '\u{0034}', '\u{70B9}']),
+    (0xfd6a, &['\u{0634}', '\u{0645}', '\u{062E}']),
+    (0x1d6e4, &['\u{0393}']),
+    (0x3223, &['\u{0028}', '\u{56DB}', '\u{0029}']),
+    (0x3329, &['\u{30CE}', '\u{30C3}', '\u{30C8}']),
+    (0x334e, &['\u{30E4}', '\u{30FC}', '\u{30C8}', '\u{3099}']),
+    (0xfefc, &['\u{0644}', '\u{0627}']),
+    (0xfc7d, &['\u{0641}', '\u{064A}']),
+    (0xffba, &['\u{110E}']),
+    (0xfb52, &['\u{067B}']),
+    (0x2fb5, &['\u{98A8}']),
+    (0x1d783, &['\u{03C4}']),
+    (0x1d4aa, &['\u{004F}']),
+    (0xfd8e, &['\u{0645}', '\u{062E}', '\u{062C}']),
+    (0xfcec, &['\u{0643}', '\u{0645}']),
+    (0x249b, &['\u{0032}', '\u{0030}', '\u{002E}']),
+    (0x3348, &['\u{30DF}', '\u{30AF}', '\u{30ED}', '\u{30F3}']),
+    (0x1d75b, &['\u{0396}']),
+    (0x1d411, &['\u{0052}']),
+    (0xfdb9, &['\u{0645}', '\u{062E}', '\u{064A}']),
+    (0x205f, &['\u{0020}']),
+    (0x1d485, &['\u{0064}']),
+    (0x213b, &['\u{0046}', '\u{0041}', '\u{0058}']),
+    (0x2fba, &['\u{99AC}']),
+    (0x1d72f, &['\u{03A4}']),
+    (0x1d527, &['\u{006A}']),
+    (0x1d468, &['\u{0041}']),
+    (0x1d550, &['\u{0059}']),
+    (0x3162, &['\u{1174}']),
+    (0x1d57f, &['\u{0054}']),
+    (0x1f12b, &['\u{0043}']),
+    (0x3236, &['\u{0028}', '\u{8CA1}', '\u{0029}']),
+    (0xff9f, &['\u{309A}']),
+    (0x24cd, &['\u{0058}']),
+    (0x1d7d9, &['\u{0031}']),
+    (0xfcc0, &['\u{0641}', '\u{062E}']),
+    (0x24e8, &['\u{0079}']),
+    (0xfea3, &['\u{062D}']),
+    (0x321d, &['\u{0028}', '\u{110B}', '\u{1169}', '\u{110C}', '\u{1165}', '\u{11AB}', '\u{0029}']),
+    (0x1d6c7, &['\u{03B6}']),
+    (0x3375, &['\u{006F}', '\u{0056}']),
+    (0xfb81, &['\u{0687}']),
+    (0x1ee0f, &['\u{0639}']),
+    (0xfcdf, &['\u{064A}', '\u{0654}', '\u{0645}']),
+    (0x1d501, &['\u{0078}']),
+    (0xfcac, &['\u{062E}', '\u{0645}']),
+    (0x2499, &['\u{0031}', '\u{0038}', '\u{002E}']),
+    (0xfd21, &['\u{0635}', '\u{0649}']),
+    (0x1d598, &['\u{0073}']),
+    (0xfcf7, &['\u{0639}', '\u{0649}']),
+    (0x1ee18, &['\u{0630}']),
+    (0xfdbe, &['\u{062C}', '\u{062D}', '\u{064A}']),
+    (0x2024, &['\u{002E}']),
+    (0xffbd, &['\u{1111}']),
+    (0x1d7d0, &['\u{0032}']),
+    (0xfb01, &['\u{0066}', '\u{0069}']),
+    (0x3295, &['\u{7279}']),
+    (0x1d7f1, &['\u{0035}']),
+    (0x3232, &['\u{0028}', '\u{6709}', '\u{0029}']),
+    (0x249e, &['\u{0028}', '\u{0063}', '\u{0029}']),
+    (0xfe58, &['\u{2014}']),
+    (0x1f210, &['\u{624B}']),
+    (0x1d7e5, &['\u{0033}']),
+    (0x3222, &['\u{0028}', '\u{4E09}', '\u{0029}']),
+    (0x1d782, &['\u{03C3}']),
+    (0xfc91, &['\u{064A}', '\u{0631}']),
+    (0xfd17, &['\u{0633}', '\u{0649}']),
+    (0x246d, &['\u{0031}', '\u{0034}']),
+    (0x1d631, &['\u{0070}']),
+    (0x3199, &['\u{7532}']),
+    (0x1d594, &['\u{006F}']),
+    (0x3247, &['\u{7B8F}']),
+    (0xfc88, &['\u{0645}', '\u{0627}']),
+    (0xfba6, &['\u{06C1}']),
+    (0x1d3c, &['\u{004F}']),
+    (0x1d9c, &['\u{0063}']),
+    (0x1ee6a, &['\u{0643}']),
+    (0xfb8b, &['\u{0698}']),
+    (0xff09, &['\u{0029}']),
+    (0x1d419, &['\u{005A}']),
+    (0x1d6bf, &['\u{03A8}']),
+    (0xfed5, &['\u{0642}']),
+    (0x339e, &['\u{006B}', '\u{006D}']),
+    (0x1d641, &['\u{0046}']),
+    (0xfbe0, &['\u{06C5}']),
+    (0x1d4de, &['\u{004F}']),
+    (0x1d77e, &['\u{03BF}']),
+    (0xfe8d, &['\u{0627}']),
+    (0x2f03, &['\u{4E3F}']),
+    (0xa7f9, &['\u{0153}']),
+    (0xff26, &['\u{0046}']),
+    (0x1d758, &['\u{0393}']),
+    (0x1d54, &['\u{1D16}']),
+    (0x3364, &['\u{0031}', '\u{0032}', '\u{70B9}']),
+    (0x1d4f5, &['\u{006C}']),
+    (0xffec, &['\u{2193}']),
+    (0x1d5dc, &['\u{0049}']),
+    (0xfc5e, &['\u{0020}', '\u{064C}', '\u{0651}']),
+    (0xff36, &['\u{0056}']),
+    (0x24c5, &['\u{0050}']),
+    (0x3168, &['\u{11C8}']),
+    (0x2011, &['\u{2010}']),
+    (0x24b0, &['\u{0028}', '\u{0075}', '\u{0029}']),
+    (0x32e6, &['\u{30CC}']),
+    (0x1f122, &['\u{0028}', '\u{0053}', '\u{0029}']),
+    (0x1d52e, &['\u{0071}']),
+    (0x1d511, &['\u{004E}']),
+    (0x2fb1, &['\u{97CB}']),
+    (0x3320, &['\u{30B5}', '\u{30F3}', '\u{30C1}', '\u{30FC}', '\u{30E0}']),
+    (0xffaa, &['\u{11B0}']),
+    (0x1d40, &['\u{0054}']),
+    (0xff63, &['\u{300D}']),
+    (0x1d553, &['\u{0062}']),
+    (0xaa, &['\u{0061}']),
+    (0x1d4ec, &['\u{0063}']),
+    (0x24de, &['\u{006F}']),
+    (0x1d495, &['\u{0074}']),
+    (0x33ce, &['\u{004B}', '\u{004D}']),
+    (0x1d505, &['\u{0042}']),
+    (0x32bd, &['\u{0034}', '\u{0038}']),
+    (0x2f5a, &['\u{7247}']),
+    (0x1d33, &['\u{0047}']),
+    (0xffa9, &['\u{1105}']),
+    (0x32b7, &['\u{0034}', '\u{0032}']),
+    (0x2103, &['\u{00B0}', '\u{0043}']),
+    (0x3298, &['\u{52B4}']),
+    (0x246e, &['\u{0031}', '\u{0035}']),
+    (0xfdf1, &['\u{0642}', '\u{0644}', '\u{06D2}']),
+    (0xff8d, &['\u{30D8}']),
+    (0x33df, &['\u{0041}', '\u{2215}', '\u{006D}']),
+    (0x1d643, &['\u{0048}']),
+    (0xfba0, &['\u{06BB}']),
+    (0x3157, &['\u{1169}']),
+    (0xfe3e, &['\u{300B}']),
+    (0x1ee8b, &['\u{0644}']),
+    (0x1d70a, &['\u{03BF}']),
+    (0x2f4c, &['\u{6B62}']),
+    (0x2f16, &['\u{5338}']),
+    (0x3138, &['\u{1104}']),
+    (0xfc52, &['\u{0647}', '\u{0645}']),
+    (0xff1e, &['\u{003E}']),
+    (0x33f5, &['\u{0032}', '\u{0032}', '\u{65E5}']),
+    (0xfeef, &['\u{0649}']),
+    (0x2466, &['\u{0037}']),
+    (0x3202, &['\u{0028}', '\u{1103}', '\u{0029}']),
+    (0xfc1c, &['\u{0633}', '\u{062C}']),
+    (0x213f, &['\u{03A0}']),
+    (0xfc39, &['\u{0643}', '\u{062D}']),
+    (0x1d733, &['\u{03A8}']),
+    (0x213d, &['\u{03B3}']),
+    (0x335c, &['\u{0034}', '\u{70B9}']),
+    (0x2122, &['\u{0054}', '\u{004D}']),
+    (0x1d4ae, &['\u{0053}']),
+    (0x32f9, &['\u{30EC}']),
+    (0x3300, &['\u{30A2}', '\u{30CF}', '\u{309A}', '\u{30FC}', '\u{30C8}']),
+    (0x1d493, &['\u{0072}']),
+    (0xfc5d, &['\u{0649}', '\u{0670}']),
+    (0xffe4, &['\u{00A6}']),
+    (0x1d69a, &['\u{0071}']),
+    (0xfeae, &['\u{0631}']),
+    (0x1ee84, &['\u{0647}']),
+    (0x3161, &['\u{1173}']),
+    (0x1d5a0, &['\u{0041}']),
+    (0x2025, &['\u{002E}', '\u{002E}']),
+    (0x1d9e, &['\u{00F0}']),
+    (0x1d619, &['\u{0052}']),
+    (0xff6c, &['\u{30E3}']),
+    (0x1d5c0, &['\u{0067}']),
+    (0xfb58, &['\u{067E}']),
+    (0x1d663, &['\u{006E}']),
+    (0xfceb, &['\u{0643}', '\u{0644}']),
+    (0xfc48, &['\u{0645}', '\u{0645}']),
+    (0xfcf4, &['\u{0640}', '\u{0650}', '\u{0651}']),
+    (0x1d4ce, &['\u{0079}']),
+    (0x1d617, &['\u{0050}']),
+    (0x1d4fd, &['\u{0074}']),
+    (0x1d4f6, &['\u{006D}']),
+    (0x32dd, &['\u{30BB}']),
+    (0x1d652, &['\u{0057}']),
+    (0x3264, &['\u{1106}']),
+    (0x1ee64, &['\u{0647}']),
+    (0x1ee59, &['\u{0636}']),
+    (0x1d790, &['\u{0391}']),
+    (0xff22, &['\u{0042}']),
+    (0x1d576, &['\u{004B}']),
+    (0x1d717, &['\u{03B8}']),
+    (0xfc19, &['\u{062E}', '\u{062C}']),
+    (0x1f232, &['\u{7981}']),
+    (0x24ab, &['\u{0028}', '\u{0070}', '\u{0029}']),
+    (0x1d668, &['\u{0073}']),
+    (0x1d5cd, &['\u{0074}']),
+    (0x32b8, &['\u{0034}', '\u{0033}']),
+    (0x3131, &['\u{1100}']),
+    (0xfed8, &['\u{0642}']),
+    (0xfbfd, &['\u{06CC}']),
+    (0x20a8, &['\u{0052}', '\u{0073}']),
+    (0x1d470, &['\u{0049}']),
+    (0xfc60, &['\u{0020}', '\u{064E}', '\u{0651}']),
+    (0x3356, &['\u{30EC}', '\u{30F3}', '\u{30C8}', '\u{30B1}', '\u{3099}', '\u{30F3}']),
+    (0xfbe7, &['\u{06D0}']),
+    (0xfd6d, &['\u{0634}', '\u{0645}', '\u{0645}']),
+    (0x1fbf8, &['\u{0038}']),
+    (0x1d4db, &['\u{004C}']),
+    (0xfdb2, &['\u{0642}', '\u{0645}', '\u{064A}']),
+    (0x1d518, &['\u{0055}']),
+    (0xfcd9, &['\u{0647}', '\u{0670}']),
+    (0xfd52, &['\u{062A}', '\u{062D}', '\u{062C}']),
+    (0x1dab, &['\u{029F}']),
+    (0x1d775, &['\u{03B6}']),
+    (0xfe8e, &['\u{0627}']),
+    (0x1d496, &['\u{0075}']),
+    (0x32f4, &['\u{30E6}']),
+    (0x337b, &['\u{5E73}', '\u{6210}']),
+    (0x33a0, &['\u{0063}', '\u{006D}', '\u{0032}']),
+    (0xfcaa, &['\u{062D}', '\u{0645}']),
+    (0x1d60a, &['\u{0043}']),
+    (0xfb85, &['\u{068C}']),
+    (0xfb79, &['\u{0683}']),
+    (0x32c4, &['\u{0035}', '\u{6708}']),
+    (0x1eea7, &['\u{062D}']),
+    (0xeb3, &['\u{0ECD}', '\u{0EB2}']),
+    (0xfebd, &['\u{0636}']),
+    (0xfb90, &['\u{06A9}']),
+    (0x2461, &['\u{0032}']),
+    (0x1d7a4, &['\u{03A5}']),
+    (0x1d5f6, &['\u{0069}']),
+    (0x1d77c, &['\u{03BD}']),
+    (0xfe4c, &['\u{0020}', '\u{0305}']),
+    (0x1d7f5, &['\u{0039}']),
+    (0x1d5b6, &['\u{0057}']),
+    (0x24d0, &['\u{0061}']),
+    (0x3188, &['\u{1185}']),
+    (0x1ee0e, &['\u{0633}']),
+    (0x33fe, &['\u{0033}', '\u{0031}', '\u{65E5}']),
+    (0xfe33, &['\u{005F}']),
+    (0xfc47, &['\u{0645}', '\u{062E}']),
+    (0xfd37, &['\u{0634}', '\u{062C}']),
+    (0xfb6c, &['\u{06A4}']),
+    (0x2fc4, &['\u{9E75}']),
+    (0x1d5c1, &['\u{0068}']),
+    (0xfdb0, &['\u{064A}', '\u{0645}', '\u{064A}']),
+    (0x1d48, &['\u{0064}']),
+    (0x330c, &['\u{30AB}', '\u{30E9}', '\u{30C3}', '\u{30C8}']),
+    (0x1fbf6, &['\u{0036}']),
+    (0xfe83, &['\u{0627}', '\u{0654}']),
+    (0xfcb7, &['\u{0636}', '\u{0645}']),
+    (0x3385, &['\u{004B}', '\u{0042}']),
+    (0x2088, &['\u{0038}']),
+    (0x1d68b, &['\u{0062}']),
+    (0xfcad, &['\u{0633}', '\u{062C}']),
+    (0x2169, &['\u{0058}']),
+    (0x32d6, &['\u{30AD}']),
+    (0xfea8, &['\u{062E}']),
+    (0xfbb1, &['\u{06D2}', '\u{0654}']),
+    (0x1f14d, &['\u{0053}', '\u{0053}']),
+    (0x1d531, &['\u{0074}']),
+    (0xff7e, &['\u{30BB}']),
+    (0xfb17, &['\u{0574}', '\u{056D}']),
+    (0x3387, &['\u{0047}', '\u{0042}']),
+    (0x1d761, &['\u{039C}']),
+    (0xfca3, &['\u{062A}', '\u{062E}']),
+    (0xfec4, &['\u{0637}']),
+    (0x33e3, &['\u{0034}', '\u{65E5}']),
+    (0x211a, &['\u{0051}']),
+    (0x1f148, &['\u{0059}']),
+    (0xfc2a, &['\u{0639}', '\u{0645}']),
+    (0x1d55b, &['\u{006A}']),
+    (0x1d68a, &['\u{0061}']),
+    (0xfb62, &['\u{067F}']),
+    (0xffb6, &['\u{110A}']),
+    (0x1ee15, &['\u{062A}']),
+    (0x336a, &['\u{0031}', '\u{0038}', '\u{70B9}']),
+    (0x3186, &['\u{1159}']),
+    (0xfe9f, &['\u{062C}']),
+    (0x210b, &['\u{0048}']),
+    (0x3242, &['\u{0028}', '\u{81EA}', '\u{0029}']),
+    (0x2f51, &['\u{6BDB}']),
+    (0x3f5, &['\u{03B5}']),
+    (0xffb2, &['\u{1107}']),
+    (0xfb7e, &['\u{0687}']),
+    (0xfe12, &['\u{3002}']),
+    (0x2465, &['\u{0036}']),
+    (0xfeb7, &['\u{0634}']),
+    (0xfbab, &['\u{06BE}']),
+    (0x1d7ac, &['\u{03B3}']),
+    (0x1d6ba, &['\u{03A3}']),
+    (0x2f66, &['\u{758B}']),
+    (0x1d51a, &['\u{0057}']),
+    (0xfcc7, &['\u{0643}', '\u{0644}']),
+    (0xe33, &['\u{0E4D}', '\u{0E32}']),
+    (0xff04, &['\u{0024}']),
+    (0xfd5a, &['\u{062D}', '\u{0645}', '\u{064A}']),
+    (0x2494, &['\u{0031}', '\u{0033}', '\u{002E}']),
+    (0x2f80, &['\u{807F}']),
+    (0x32fa, &['\u{30ED}']),
+    (0x328c, &['\u{6C34}']),
+    (0x334f, &['\u{30E4}', '\u{30FC}', '\u{30EB}']),
+    (0x309c, &['\u{0020}', '\u{309A}']),
+    (0x1d7fb, &['\u{0035}']),
+    (0x33a8, &['\u{006D}', '\u{2215}', '\u{0073}', '\u{0032}']),
+    (0xfb61, &['\u{067A}']),
+    (0x33ec, &['\u{0031}', '\u{0033}', '\u{65E5}']),
+    (0x3280, &['\u{4E00}']),
+    (0x33ae, &['\u{0072}', '\u{0061}', '\u{0064}', '\u{2215}', '\u{0073}']),
+    (0xfc89, &['\u{0645}', '\u{0645}']),
+    (0x1d738, &['\u{03B3}']),
+    (0xfdc6, &['\u{0633}', '\u{062E}', '\u{064A}']),
+    (0x1f22a, &['\u{4E09}']),
+    (0x2f4b, &['\u{6B20}']),
+    (0x1d7d6, &['\u{0038}']),
+    (0x1d4d, &['\u{0067}']),
+    (0x32eb, &['\u{30D5}']),
+    (0xfc4d, &['\u{0646}', '\u{062E}']),
+    (0x1d776, &['\u{03B7}']),
+    (0xfe80, &['\u{0621}']),
+    (0x24c8, &['\u{0053}']),
+    (0x322b, &['\u{0028}', '\u{706B}', '\u{0029}']),
+    (0xfc43, &['\u{0644}', '\u{0649}']),
+    (0x1d627, &['\u{0066}']),
+    (0x1d618, &['\u{0051}']),
+    (0xfeb2, &['\u{0633}']),
+    (0x24b5, &['\u{0028}', '\u{007A}', '\u{0029}']),
+    (0xfcb8, &['\u{0637}', '\u{062D}']),
+    (0xff0e, &['\u{002E}']),
+    (0x317f, &['\u{1140}']),
+    (0x1d7e0, &['\u{0038}']),
+    (0x1d5f8, &['\u{006B}']),
+    (0x3150, &['\u{1162}']),
+    (0x1d76c, &['\u{03A7}']),
+    (0x320b, &['\u{0028}', '\u{1110}', '\u{0029}']),
+    (0x1d7bb, &['\u{03C2}']),
+    (0x2479, &['\u{0028}', '\u{0036}', '\u{0029}']),
+    (0x1f245, &['\u{3014}', '\u{6253}', '\u{3015}']),
+    (0x213e, &['\u{0393}']),
+    (0x1d686, &['\u{0057}']),
+    (0x2f1b, &['\u{53B6}']),
+    (0x2488, &['\u{0031}', '\u{002E}']),
+    (0x3234, &['\u{0028}', '\u{540D}', '\u{0029}']),
+    (0x1d498, &['\u{0077}']),
+    (0x1d75a, &['\u{0395}']),
+    (0x3306, &['\u{30A6}', '\u{30A9}', '\u{30F3}']),
+    (0x2473, &['\u{0032}', '\u{0030}']),
+    (0x1dae, &['\u{0272}']),
+    (0xfea9, &['\u{062F}']),
+    (0x3214, &['\u{0028}', '\u{1109}', '\u{1161}', '\u{0029}']),
+    (0x32c2, &['\u{0033}', '\u{6708}']),
+    (0x1d7e2, &['\u{0030}']),
+    (0x24ca, &['\u{0055}']),
+    (0x1fbf5, &['\u{0035}']),
+    (0x33f8, &['\u{0032}', '\u{0035}', '\u{65E5}']),
+    (0x1d4f7, &['\u{006E}']),
+    (0x1d4a5, &['\u{004A}']),
+    (0xffca, &['\u{1167}']),
+    (0x3000, &['\u{0020}']),
+    (0x207d, &['\u{0028}']),
+    (0xfc32, &['\u{0641}', '\u{064A}']),
+    (0xfeed, &['\u{0648}']),
+    (0x1d71a, &['\u{03C1}']),
+    (0x2f9d, &['\u{8EAB}']),
+    (0x1d6d3, &['\u{03C2}']),
+    (0xfb9d, &['\u{06B1}']),
+    (0xfb5d, &['\u{0680}']),
+    (0x2147, &['\u{0065}']),
+    (0x24a5, &['\u{0028}', '\u{006A}', '\u{0029}']),
+    (0x1d4b3, &['\u{0058}']),
+    (0x322f, &['\u{0028}', '\u{571F}', '\u{0029}']),
+    (0x3399, &['\u{0066}', '\u{006D}']),
+    (0x215b, &['\u{0031}', '\u{2044}', '\u{0038}']),
+    (0x1d4e4, &['\u{0055}']),
+    (0x1d5a5, &['\u{0046}']),
+    (0x248e, &['\u{0037}', '\u{002E}']),
+    (0x1d74f, &['\u{2202}']),
+    (0xfd66, &['\u{0635}', '\u{0645}', '\u{0645}']),
+    (0xfb7a, &['\u{0686}']),
+    (0x2d6f, &['\u{2D61}']),
+    (0x1d512, &['\u{004F}']),
+    (0xfee9, &['\u{0647}']),
+    (0x1db2, &['\u{0278}']),
+    (0x1d6b8, &['\u{03A1}']),
+    (0x3194, &['\u{4E09}']),
+    (0x1d5d9, &['\u{0046}']),
+    (0x32e8, &['\u{30CE}']),
+    (0x24af, &['\u{0028}', '\u{0074}', '\u{0029}']),
+    (0x1fbf1, &['\u{0031}']),
+    (0xfbfc, &['\u{06CC}']),
+    (0x1f11d, &['\u{0028}', '\u{004E}', '\u{0029}']),
+    (0xfca8, &['\u{062C}', '\u{0645}']),
+    (0xff42, &['\u{0062}']),
+    (0x2f5c, &['\u{725B}']),
+    (0x1fdd, &['\u{0020}', '\u{0314}', '\u{0300}']),
+    (0x2fb0, &['\u{9769}']),
+    (0x1d6f1, &['\u{03A0}']),
+    (0x1d6e7, &['\u{0396}']),
+    (0x1d6cb, &['\u{03BA}']),
+    (0x1d66e, &['\u{0079}']),
+    (0xfb89, &['\u{0688}']),
+    (0x1d71e, &['\u{0393}']),
+    (0xff52, &['\u{0072}']),
+    (0x1d7b4, &['\u{03BB}']),
+    (0xfc8c, &['\u{0646}', '\u{0645}']),
+    (0xfca9, &['\u{062D}', '\u{062C}']),
+    (0x1d64b, &['\u{0050}']),
+    (0x1d698, &['\u{006F}']),
+    (0x3292, &['\u{6709}']),
+    (0x2167, &['\u{0056}', '\u{0049}', '\u{0049}', '\u{0049}']),
+    (0x1d69d, &['\u{0074}']),
+    (0x1d69, &['\u{03C6}']),
+    (0x1d561, &['\u{0070}']),
+    (0x1d7f4, &['\u{0038}']),
+    (0x1d632, &['\u{0071}']),
+    (0x2f68, &['\u{7676}']),
+    (0x1d5a2, &['\u{0043}']),
+    (0xfb28, &['\u{05EA}']),
+    (0x2161, &['\u{0049}', '\u{0049}']),
+    (0x1d577, &['\u{004C}']),
+    (0xfc9f, &['\u{0628}', '\u{0645}']),
+    (0x3341, &['\u{30DB}', '\u{30FC}', '\u{30EB}']),
+    (0x1d4b9, &['\u{0064}']),
+    (0x33ba, &['\u{0070}', '\u{0057}']),
+    (0x2482, &['\u{0028}', '\u{0031}', '\u{0035}', '\u{0029}']),
+    (0x1d667, &['\u{0072}']),
+    (0x2f30, &['\u{5DF1}']),
+    (0x24d1, &['\u{0062}']),
+    (0x24db, &['\u{006C}']),
+    (0x1d7f0, &['\u{0034}']),
+    (0x316c, &['\u{11D7}']),
+    (0x1d590, &['\u{006B}']),
+    (0x1d5da, &['\u{0047}']),
+    (0x1d454, &['\u{0067}']),
+    (0x2468, &['\u{0039}']),
+    (0x1d7a5, &['\u{03A6}']),
+    (0x327e, &['\u{110B}', '\u{116E}']),
+    (0xfe57, &['\u{0021}']),
+    (0x1d72c, &['\u{03A1}']),
+    (0x1f14a, &['\u{0048}', '\u{0056}']),
+    (0xff69, &['\u{30A5}']),
+    (0x2f0f, &['\u{51E0}']),
+    (0x1d633, &['\u{0072}']),
+    (0x1ee00, &['\u{0627}']),
+    (0x1d54b, &['\u{0054}']),
+    (0x1eeb2, &['\u{0642}']),
+    (0x2f10, &['\u{51F5}']),
+    (0x33c5, &['\u{0063}', '\u{0064}']),
+    (0xfe9a, &['\u{062B}']),
+    (0x2138, &['\u{05D3}']),
+    (0xfe16, &['\u{003F}']),
+    (0x32ad, &['\u{4F01}']),
+    (0x1d714, &['\u{03C9}']),
+    (0x2116, &['\u{004E}', '\u{006F}']),
+    (0x1d6ce, &['\u{03BD}']),
+    (0x2f61, &['\u{74E6}']),
+    (0x1d434, &['\u{0041}']),
+    (0x1d483, &['\u{0062}']),
+    (0x24c1, &['\u{004C}']),
+    (0x1d443, &['\u{0050}']),
+    (0xff1c, &['\u{003C}']),
+    (0x2fcb, &['\u{9EF9}']),
+    (0xfeb0, &['\u{0632}']),
+    (0x1d6a4, &['\u{0131}']),
+    (0x1d465, &['\u{0078}']),
+    (0xfc2b, &['\u{063A}', '\u{062C}']),
+    (0x1d49e, &['\u{0043}']),
+    (0x1d69e, &['\u{0075}']),
+    (0x1d63c, &['\u{0041}']),
+    (0x328b, &['\u{706B}']),
+    (0xfeb9, &['\u{0635}']),
+    (0x330b, &['\u{30AB}', '\u{30A4}', '\u{30EA}']),
+    (0x2f72, &['\u{79BE}']),
+    (0x1d40a, &['\u{004B}']),
+    (0x1d4dc, &['\u{004D}']),
+    (0xfc98, &['\u{064A}', '\u{0654}', '\u{062D}']),
+    (0x1d651, &['\u{0056}']),
+    (0xfb9f, &['\u{06BA}']),
+    (0x216a, &['\u{0058}', '\u{0049}']),
+    (0x1d607, &['\u{007A}']),
+    (0x1d4be, &['\u{0069}']),
+    (0x1ee3b, &['\u{063A}']),
+    (0xfc27, &['\u{0637}', '\u{0645}']),
+    (0x1d644, &['\u{0049}']),
+    (0x216e, &['\u{0044}']),
+    (0x313d, &['\u{11B3}']),
+    (0x1d6b4, &['\u{039D}']),
+    (0xff3c, &['\u{005C}']),
+    (0x1d762, &['\u{039D}']),
+    (0x1ee76, &['\u{062B}']),
+    (0x1d48a, &['\u{0069}']),
+    (0x1d47b, &['\u{0054}']),
+    (0x1d77b, &['\u{03BC}']),
+    (0xfc9a, &['\u{064A}', '\u{0654}', '\u{0645}']),
+    (0x1ee8d, &['\u{0646}']),
+    (0x1d610, &['\u{0049}']),
+    (0xfbe1, &['\u{06C5}']),
+    (0x1d64e, &['\u{0053}']),
+    (0x1d597, &['\u{0072}']),
+    (0x1eea1, &['\u{0628}']),
+    (0x32f2, &['\u{30E2}']),
+    (0xfd96, &['\u{0646}', '\u{062D}', '\u{0649}']),
+    (0xfb6f, &['\u{06A6}']),
+    (0xfda9, &['\u{0635}', '\u{062D}', '\u{064A}']),
+    (0x207a, &['\u{002B}']),
+    (0x3d5, &['\u{03C6}']),
+    (0x1d445, &['\u{0052}']),
+    (0x32d0, &['\u{30A2}']),
+    (0xffe9, &['\u{2190}']),
+    (0x1d5d5, &['\u{0042}']),
+    (0x1eead, &['\u{0646}']),
+    (0xfe6b, &['\u{0040}']),
+    (0x1d32, &['\u{018E}']),
+    (0x1f1, &['\u{0044}', '\u{005A}']),
+    (0x2fa3, &['\u{9149}']),
+    (0xfbf5, &['\u{064A}', '\u{0654}', '\u{06C8}']),
+    (0x316a, &['\u{11CE}']),
+    (0x3174, &['\u{1122}']),
+    (0xfc4e, &['\u{0646}', '\u{0645}']),
+    (0x1ee51, &['\u{0635}']),
+    (0xff3f, &['\u{005F}']),
+    (0x3165, &['\u{1114}']),
+    (0x1d46c, &['\u{0045}']),
+    (0x1d402, &['\u{0043}']),
+    (0x1d676, &['\u{0047}']),
+    (0x2f86, &['\u{820C}']),
+    (0xfc54, &['\u{0647}', '\u{064A}']),
+    (0x332d, &['\u{30CF}', '\u{3099}', '\u{30FC}', '\u{30EC}', '\u{30EB}']),
+    (0x3342, &['\u{30DB}', '\u{30FC}', '\u{30F3}']),
+    (0x2033, &['\u{2032}', '\u{2032}']),
+    (0x3213, &['\u{0028}', '\u{1107}', '\u{1161}', '\u{0029}']),
+    (0x1d5a7, &['\u{0048}']),
+    (0x1d4ff, &['\u{0076}']),
+    (0x1f14e, &['\u{0050}', '\u{0050}', '\u{0056}']),
+    (0xfb96, &['\u{06B3}']),
+    (0x2f96, &['\u{8C46}']),
+    (0x1d5d2, &['\u{0079}']),
+    (0x2f84, &['\u{81F3}']),
+    (0x2e1, &['\u{006C}']),
+    (0x24e4, &['\u{0075}']),
+    (0x2495, &['\u{0031}', '\u{0034}', '\u{002E}']),
+    (0x332f, &['\u{30D2}', '\u{309A}', '\u{30AF}', '\u{30EB}']),
+    (0x3272, &['\u{1106}', '\u{1161}']),
+    (0x2f9a, &['\u{8D64}']),
+    (0xfd61, &['\u{0633}', '\u{0645}', '\u{062C}']),
+    (0x32df, &['\u{30BF}']),
+    (0xfe38, &['\u{007D}']),
+    (0x1eeab, &['\u{0644}']),
+    (0x1d426, &['\u{006D}']),
+    (0x1ee86, &['\u{0632}']),
+    (0x24c3, &['\u{004E}']),
+    (0xfc8e, &['\u{0646}', '\u{0649}']),
+    (0x2f22, &['\u{590A}']),
+    (0x1ee57, &['\u{062E}']),
+    (0x2173, &['\u{0069}', '\u{0076}']),
+    (0xff15, &['\u{0035}']),
+    (0x1d767, &['\u{0398}']),
+    (0xfe32, &['\u{2013}']),
+    (0x1d727, &['\u{039C}']),
+    (0x2f01, &['\u{4E28}']),
+    (0x24e0, &['\u{0071}']),
+    (0x1f126, &['\u{0028}', '\u{0057}', '\u{0029}']),
+    (0x3371, &['\u{0068}', '\u{0050}', '\u{0061}']),
+    (0x3235, &['\u{0028}', '\u{7279}', '\u{0029}']),
+    (0x3335, &['\u{30D5}', '\u{30E9}', '\u{30F3}']),
+    (0x1fbf3, &['\u{0033}']),
+    (0x222f, &['\u{222E}', '\u{222E}']),
+    (0x1d521, &['\u{0064}']),
+    (0x1d6bb, &['\u{03A4}']),
+    (0xfba4, &['\u{06D5}', '\u{0654}']),
+    (0xff03, &['\u{0023}']),
+    (0x249c, &['\u{0028}', '\u{0061}', '\u{0029}']),
+    (0x1ee1f, &['\u{066F}']),
+    (0xfe88, &['\u{0627}', '\u{0655}']),
+    (0x2017, &['\u{0020}', '\u{0333}']),
+    (0x1f121, &['\u{0028}', '\u{0052}', '\u{0029}']),
+    (0x1d41f, &['\u{0066}']),
+    (0x132, &['\u{0049}', '\u{004A}']),
+    (0x1d7ba, &['\u{03C1}']),
+    (0x319b, &['\u{4E19}']),
+    (0x337f, &['\u{682A}', '\u{5F0F}', '\u{4F1A}', '\u{793E}']),
+    (0x1d645, &['\u{004A}']),
+    (0xfe55, &['\u{003A}']),
+    (0xfb7b, &['\u{0686}']),
+    (0xfc95, &['\u{064A}', '\u{0649}']),
+    (0x2f50, &['\u{6BD4}']),
+    (0xfc01, &['\u{064A}', '\u{0654}', '\u{062D}']),
+    (0x1ee29, &['\u{064A}']),
+    (0xfdfa, &['\u{0635}', '\u{0644}', '\u{0649}', '\u{0020}', '\u{0627}', '\u{0644}', '\u{0644}', '\u{0647}', '\u{0020}', '\u{0639}', '\u{0644}', '\u{064A}', '\u{0647}', '\u{0020}', '\u{0648}', '\u{0633}', '\u{0644}', '\u{0645}']),
+    (0xff51, &['\u{0071}']),
+    (0x1d7cf, &['\u{0031}']),
+    (0x1d7c6, &['\u{03BA}']),
+    (0x1d742, &['\u{03BD}']),
+    (0xfeb8, &['\u{0634}']),
+    (0xfeee, &['\u{0648}']),
+    (0xfc14, &['\u{062B}', '\u{064A}']),
+    (0x1f103, &['\u{0032}', '\u{002C}']),
+    (0x33ca, &['\u{0068}', '\u{0061}']),
+    (0x1d54d, &['\u{0056}']),
+    (0xfced, &['\u{0644}', '\u{0645}']),
+    (0xffc5, &['\u{1164}']),
+    (0x1d52c, &['\u{006F}']),
+    (0x24e6, &['\u{0077}']),
+    (0x2faf, &['\u{9762}']),
+    (0x32c1, &['\u{0032}', '\u{6708}']),
+    (0xfb88, &['\u{0688}']),
+    (0x1d5fd, &['\u{0070}']),
+    (0xfb05, &['\u{0073}', '\u{0074}']),
+    (0xffe6, &['\u{20A9}']),
+    (0x2fd0, &['\u{9F3B}']),
+    (0x209c, &['\u{0074}']),
+    (0xff87, &['\u{30CC}']),
+    (0x2165, &['\u{0056}', '\u{0049}']),
+    (0x1f248, &['\u{3014}', '\u{6557}', '\u{3015}']),
+    (0x1d7c2, &['\u{03C9}']),
+    (0x33b5, &['\u{006E}', '\u{0056}']),
+    (0xfef2, &['\u{064A}']),
+    (0x2f6f, &['\u{77F3}']),
+    (0x1ee27, &['\u{062D}']),
+    (0x3207, &['\u{0028}', '\u{110B}', '\u{0029}']),
+    (0xfc21, &['\u{0635}', '\u{0645}']),
+    (0x2f7e, &['\u{8012}']),
+    (0x3258, &['\u{0032}', '\u{0038}']),
+    (0xfc46, &['\u{0645}', '\u{062D}']),
+    (0x3287, &['\u{516B}']),
+    (0x24ae, &['\u{0028}', '\u{0073}', '\u{0029}']),
+    (0x24d5, &['\u{0066}']),
+    (0x1d59d, &['\u{0078}']),
+    (0x1d596, &['\u{0071}']),
+    (0xfeca, &['\u{0639}']),
+    (0xfec9, &['\u{0639}']),
+    (0x1d599, &['\u{0074}']),
+    (0xffbb, &['\u{110F}']),
+    (0x3254, &['\u{0032}', '\u{0034}']),
+    (0x1d6f7, &['\u{03A6}']),
+    (0x1d571, &['\u{0046}']),
+    (0x1d4cf, &['\u{007A}']),
+    (0x2fa7, &['\u{9577}']),
+    (0x1d5ea, &['\u{0057}']),
+    (0x1f115, &['\u{0028}', '\u{0046}', '\u{0029}']),
+    (0x1d4c9, &['\u{0074}']),
+    (0xfcaf, &['\u{0633}', '\u{062E}']),
+    (0x1d473, &['\u{004C}']),
+    (0xffd7, &['\u{1172}']),
+    (0x1d5e0, &['\u{004D}']),
+    (0x1d5a6, &['\u{0047}']),
+    (0x315c, &['\u{116E}']),
+    (0x1d7f8, &['\u{0032}']),
+    (0xfe44, &['\u{300F}']),
+    (0x1d659, &['\u{0064}']),
+    (0x1d5bb, &['\u{0062}']),
+    (0xfd1f, &['\u{062E}', '\u{0649}']),
+    (0x2f9b, &['\u{8D70}']),
+    (0x1d4ee, &['\u{0065}']),
+    (0xffe0, &['\u{00A2}']),
+    (0x1d4e0, &['\u{0051}']),
+    (0x1d5b1, &['\u{0052}']),
+    (0xff27, &['\u{0047}']),
+    (0x33f9, &['\u{0032}', '\u{0036}', '\u{65E5}']),
+    (0x1d766, &['\u{03A1}']),
+    (0x210c, &['\u{0048}']),
+    (0xfd1c, &['\u{062D}', '\u{064A}']),
+    (0xfe35, &['\u{0028}']),
+    (0x1d650, &['\u{0055}']),
+    (0xffea, &['\u{2191}']),
+    (0x1d4dd, &['\u{004E}']),
+    (0x33b2, &['\u{03BC}', '\u{0073}']),
+    (0xfca5, &['\u{062A}', '\u{0647}']),
+    (0x1d464, &['\u{0077}']),
+    (0xfc8a, &['\u{0646}', '\u{0631}']),
+    (0x1d71c, &['\u{0391}']),
+    (0x2007, &['\u{0020}']),
+    (0x1ee9a, &['\u{0638}']),
+    (0x1d6a3, &['\u{007A}']),
+    (0xff71, &['\u{30A2}']),
+    (0x32b1, &['\u{0033}', '\u{0036}']),
+    (0xfef8, &['\u{0644}', '\u{0627}', '\u{0654}']),
+    (0x329d, &['\u{512A}']),
+    (0x1d674, &['\u{0045}']),
+    (0x1d435, &['\u{0042}']),
+    (0x2fb6, &['\u{98DB}']),
+    (0x2036, &['\u{2035}', '\u{2035}']),
+    (0x1fbd, &['\u{0020}', '\u{0313}']),
+    (0xfc40, &['\u{0644}', '\u{062D}']),
+    (0xfd57, &['\u{062A}', '\u{0645}', '\u{062E}']),
+    (0x1ee8c, &['\u{0645}']),
+    (0x318b, &['\u{1192}']),
+    (0xfdf5, &['\u{0635}', '\u{0644}', '\u{0639}', '\u{0645}']),
+    (0x24d7, &['\u{0068}']),
+    (0x2110, &['\u{0049}']),
+    (0x1d6e3, &['\u{0392}']),
+    (0x3166, &['\u{1115}']),
+    (0x338a, &['\u{0070}', '\u{0046}']),
+    (0x1d5ee, &['\u{0061}']),
+    (0x3204, &['\u{0028}', '\u{1106}', '\u{0029}']),
+    (0x1d4c7, &['\u{0072}']),
+    (0x1d540, &['\u{0049}']),
+    (0x1ee17, &['\u{062E}']),
+    (0x33de, &['\u{0056}', '\u{2215}', '\u{006D}']),
+    (0xfdb4, &['\u{0642}', '\u{0645}', '\u{062D}']),
+    (0x3273, &['\u{1107}', '\u{1161}']),
+    (0xfedd, &['\u{0644}']),
+    (0xfe64, &['\u{003C}']),
+    (0x1d67f, &['\u{0050}']),
+    (0xfc07, &['\u{0628}', '\u{062E}']),
+    (0xfb59, &['\u{067E}']),
+    (0xfb69, &['\u{0679}']),
+    (0x3038, &['\u{5341}']),
+    (0x1c9, &['\u{006C}', '\u{006A}']),
+    (0x1f111, &['\u{0028}', '\u{0042}', '\u{0029}']),
+    (0xfce5, &['\u{062B}', '\u{0645}']),
+    (0x1d708, &['\u{03BD}']),
+    (0x1ee0b, &['\u{0644}']),
+    (0x1fde, &['\u{0020}', '\u{0314}', '\u{0301}']),
+    (0x1d64f, &['\u{0054}']),
+    (0x2086, &['\u{0036}']),
+    (0x1eea9, &['\u{064A}']),
+    (0xfc80, &['\u{0643}', '\u{0627}']),
+    (0x1d78a, &['\u{03B5}']),
+    (0x1d502, &['\u{0079}']),
+    (0x1ee75, &['\u{062A}']),
+    (0x1d489, &['\u{0068}']),
+    (0x1d683, &['\u{0054}']),
+    (0xfcc3, &['\u{0642}', '\u{0645}']),
+    (0x33a5, &['\u{006D}', '\u{0033}']),
+    (0x1d6c6, &['\u{03B5}']),
+    (0x1d7d3, &['\u{0035}']),
+    (0x1d5c8, &['\u{006F}']),
+    (0xfbd8, &['\u{06C7}']),
+    (0xfcd0, &['\u{0645}', '\u{062E}']),
+    (0xfc38, &['\u{0643}', '\u{062C}']),
+    (0xfee1, &['\u{0645}']),
+    (0xfc65, &['\u{064A}', '\u{0654}', '\u{0632}']),
+    (0x2dd, &['\u{0020}', '\u{030B}']),
+    (0x1f10a, &['\u{0039}', '\u{002C}']),
+    (0x3388, &['\u{0063}', '\u{0061}', '\u{006C}']),
+    (0xfd12, &['\u{0637}', '\u{064A}']),
+    (0xfc63, &['\u{0020}', '\u{0651}', '\u{0670}']),
+    (0xfcc1, &['\u{0641}', '\u{0645}']),
+    (0x249f, &['\u{0028}', '\u{0064}', '\u{0029}']),
+    (0x1da3, &['\u{0265}']),
+    (0xfe3d, &['\u{300A}']),
+    (0xfbe8, &['\u{0649}']),
+    (0x2f02, &['\u{4E36}']),
+    (0x33f7, &['\u{0032}', '\u{0034}', '\u{65E5}']),
+    (0x3192, &['\u{4E00}']),
+    (0x2f27, &['\u{5B80}']),
+    (0x339d, &['\u{0063}', '\u{006D}']),
+    (0x1d5cf, &['\u{0076}']),
+    (0x1cc, &['\u{006E}', '\u{006A}']),
+    (0x3286, &['\u{4E03}']),
+    (0x2026, &['\u{002E}', '\u{002E}', '\u{002E}']),
+    (0x1f230, &['\u{8D70}']),
+    (0xff88, &['\u{30CD}']),
+    (0x24ce, &['\u{0059}']),
+    (0xfe18, &['\u{3017}']),
+    (0x1f13e, &['\u{004F}']),
+    (0x1f123, &['\u{0028}', '\u{0054}', '\u{0029}']),
+    (0xfe77, &['\u{0640}', '\u{064E}']),
+    (0xfbf0, &['\u{064A}', '\u{0654}', '\u{06C7}']),
+    (0x24a9, &['\u{0028}', '\u{006E}', '\u{0029}']),
+    (0x1d9b, &['\u{0252}']),
+    (0x330f, &['\u{30AB}', '\u{3099}', '\u{30F3}', '\u{30DE}']),
+    (0x1f119, &['\u{0028}', '\u{004A}', '\u{0029}']),
+    (0xfe52, &['\u{002E}']),
+    (0x1d66a, &['\u{0075}']),
+    (0x1d42d, &['\u{0074}']),
+    (0xfc00, &['\u{064A}', '\u{0654}', '\u{062C}']),
+    (0x1f129, &['\u{0028}', '\u{005A}', '\u{0029}']),
+    (0x3f0, &['\u{03BA}']),
+    (0x1d726, &['\u{039B}']),
+    (0xff6d, &['\u{30E5}']),
+    (0xfe59, &['\u{0028}']),
+    (0x33b8, &['\u{006B}', '\u{0056}']),
+    (0x1d724, &['\u{0399}']),
+    (0x3233, &['\u{0028}', '\u{793E}', '\u{0029}']),
+    (0xfb23, &['\u{05D4}']),
+    (0x2f21, &['\u{5902}']),
+    (0xfc15, &['\u{062C}', '\u{062D}']),
+    (0x2faa, &['\u{96B6}']),
+    (0xfce8, &['\u{0633}', '\u{0647}']),
+    (0x1d7aa, &['\u{03B1}']),
+    (0x1d491, &['\u{0070}']),
+    (0x2005, &['\u{0020}']),
+    (0x1d433, &['\u{007A}']),
+    (0xfb6d, &['\u{06A4}']),
+    (0x1d4e9, &['\u{005A}']),
+    (0xfe40, &['\u{3009}']),
+    (0x3141, &['\u{1106}']),
+    (0x32ab, &['\u{5B66}']),
+    (0x2f26, &['\u{5B50}']),
+    (0x1db4, &['\u{0283}']),
+    (0x1f236, &['\u{6709}']),
+    (0x24c2, &['\u{004D}']),
+    (0x329f, &['\u{6CE8}']),
+    (0xfda4, &['\u{062A}', '\u{0645}', '\u{0649}']),
+    (0xfb56, &['\u{067E}']),
+    (0x1d47d, &['\u{0056}']),
+    (0x24e3, &['\u{0074}']),
+    (0x1f138, &['\u{0049}']),
+    (0xfebb, &['\u{0635}']),
+    (0x1d4b7, &['\u{0062}']),
+    (0xa7f8, &['\u{0126}']),
+    (0xfd6c, &['\u{0634}', '\u{0645}', '\u{0645}']),
+    (0xfcff, &['\u{062D}', '\u{0649}']),
+    (0x1d7c7, &['\u{03C6}']),
+    (0x3139, &['\u{1105}']),
+    (0x1d3e, &['\u{0050}']),
+    (0x1d492, &['\u{0071}']),
+    (0x1f102, &['\u{0031}', '\u{002C}']),
+    (0x2034, &['\u{2032}', '\u{2032}', '\u{2032}']),
+    (0xfe54, &['\u{003B}']),
+    (0xffc4, &['\u{1163}']),
+    (0x1d6be, &['\u{03A7}']),
+    (0x1d584, &['\u{0059}']),
+    (0x3156, &['\u{1168}']),
+    (0x3357, &['\u{30EF}', '\u{30C3}', '\u{30C8}']),
+    (0x1d565, &['\u{0074}']),
+    (0xfb02, &['\u{0066}', '\u{006C}']),
+    (0x314c, &['\u{1110}']),
+    (0xfd28, &['\u{0634}', '\u{0645}']),
+    (0x1d67c, &['\u{004D}']),
+    (0x24a7, &['\u{0028}', '\u{006C}', '\u{0029}']),
+    (0x1d53, &['\u{0254}']),
+    (0xfc13, &['\u{062B}', '\u{0649}']),
+    (0x1f13c, &['\u{004D}']),
+    (0x2049, &['\u{0021}', '\u{003F}']),
+    (0x2178, &['\u{0069}', '\u{0078}']),
+    (0x1d751, &['\u{03B8}']),
+    (0xfc3a, &['\u{0643}', '\u{062E}']),
+    (0x334b, &['\u{30E1}', '\u{30AB}', '\u{3099}']),
+    (0xff84, &['\u{30C8}']),
+    (0xff48, &['\u{0068}']),
+    (0x1d43f, &['\u{004C}']),
+    (0x1d7c3, &['\u{2202}']),
+    (0x3359, &['\u{0031}', '\u{70B9}']),
+    (0x1d59, &['\u{1D1D}']),
+    (0x1d65f, &['\u{006A}']),
+    (0x320c, &['\u{0028}', '\u{1111}', '\u{0029}']),
+    (0x24e9, &['\u{007A}']),
+    (0x1f201, &['\u{30B3}', '\u{30B3}']),
+    (0x2f32, &['\u{5E72}']),
+    (0x208a, &['\u{002B}']),
+    (0x1d54c, &['\u{0055}']),
+    (0x1d603, &['\u{0076}']),
+    (0xfd26, &['\u{0634}', '\u{062D}']),
+    (0x1d54a, &['\u{0053}']),
+    (0xfe79, &['\u{0640}', '\u{064F}']),
+    (0xfe92, &['\u{0628}']),
+    (0x1d458, &['\u{006B}']),
+    (0x1d62, &['\u{0069}']),
+    (0x1d7a0, &['\u{03A1}']),
+    (0x1d432, &['\u{0079}']),
+    (0x1d45a, &['\u{006D}']),
+    (0xff4c, &['\u{006C}']),
+    (0x1d789, &['\u{2202}']),
+    (0x1d678, &['\u{0049}']),
+    (0x1d4e3, &['\u{0054}']),
+    (0xff7c, &['\u{30B7}']),
+    (0x24d2, &['\u{0063}']),
+    (0xffa6, &['\u{11AD}']),
+    (0x2f98, &['\u{8C78}']),
+    (0x1d581, &['\u{0056}']),
+    (0xff2d, &['\u{004D}']),
+    (0x1d46f, &['\u{0048}']),
+    (0x1d70f, &['\u{03C4}']),
+    (0x1ee7e, &['\u{06A1}']),
+    (0xfdc5, &['\u{0635}', '\u{0645}', '\u{0645}']),
+    (0x1d7de, &['\u{0036}']),
+    (0x1d499, &['\u{0078}']),
+    (0x1d57c, &['\u{0051}']),
+    (0x33f3, &['\u{0032}', '\u{0030}', '\u{65E5}']),
+    (0x1d5cb, &['\u{0072}']),
+    (0x1d7eb, &['\u{0039}']),
+    (0x1d4e8, &['\u{0059}']),
+    (0x1f105, &['\u{0034}', '\u{002C}']),
+    (0xff0d, &['\u{002D}']),
+    (0x1d474, &['\u{004D}']),
+    (0x3147, &['\u{110B}']),
+    (0x1d7a8, &['\u{03A9}']),
+    (0x1d68e, &['\u{0065}']),
+    (0xfb6b, &['\u{06A4}']),
+    (0x1d504, &['\u{0041}']),
+    (0xff32, &['\u{0052}']),
+    (0x1dac, &['\u{0271}']),
+    (0x32a1, &['\u{4F11}']),
+    (0x2070, &['\u{0030}']),
+    (0xfcc2, &['\u{0642}', '\u{062D}']),
+    (0xfe74, &['\u{0020}', '\u{064D}']),
+    (0x2131, &['\u{0046}']),
+    (0x32f3, &['\u{30E4}']),
+    (0x33bf, &['\u{004D}', '\u{0057}']),
+    (0xff98, &['\u{30EA}']),
+    (0x1f224, &['\u{58F0}']),
+    (0xfecb, &['\u{0639}']),
+    (0xff37, &['\u{0057}']),
+    (0x1d6ac, &['\u{0395}']),
+    (0xfebe, &['\u{0636}']),
+    (0x3370, &['\u{0032}', '\u{0034}', '\u{70B9}']),
+    (0x1d6fb, &['\u{2207}']),
+    (0xfd8c, &['\u{0645}', '\u{062C}', '\u{062D}']),
+    (0x2109, &['\u{00B0}', '\u{0046}']),
+    (0x1d9d, &['\u{0255}']),
+    (0x2f28, &['\u{5BF8}']),
+    (0x1d5dd, &['\u{004A}']),
+    (0x3160, &['\u{1172}']),
+    (0x1d5a1, &['\u{0042}']),
+    (0xfcc9, &['\u{0644}', '\u{062C}']),
+    (0x1d5b5, &['\u{0056}']),
+    (0x1d425, &['\u{006C}']),
+    (0x339f, &['\u{006D}', '\u{006D}', '\u{0032}']),
+    (0x3326, &['\u{30C8}', '\u{3099}', '\u{30EB}']),
+    (0xff08, &['\u{0028}']),
+    (0xfe9e, &['\u{062C}']),
+    (0x1d745, &['\u{03C0}']),
+    (0xfca4, &['\u{062A}', '\u{0645}']),
+    (0x1d743, &['\u{03BE}']),
+    (0x1ee31, &['\u{0635}']),
+    (0x32b2, &['\u{0033}', '\u{0037}']),
+    (0xffcd, &['\u{116A}']),
+    (0xfc30, &['\u{0641}', '\u{0645}']),
+    (0x33fa, &['\u{0032}', '\u{0037}', '\u{65E5}']),
+    (0x1ee5b, &['\u{063A}']),
+    (0xfc7f, &['\u{0642}', '\u{064A}']),
+    (0x1d747, &['\u{03C2}']),
+    (0xfcf8, &['\u{0639}', '\u{064A}']),
+    (0x3392, &['\u{004D}', '\u{0048}', '\u{007A}']),
+    (0x1d796, &['\u{0397}']),
+    (0x2f2a, &['\u{5C22}']),
+    (0xfb8a, &['\u{0698}']),
+    (0xfd3d, &['\u{0627}', '\u{064B}']),
+    (0xfcc5, &['\u{0643}', '\u{062D}']),
+    (0x2474, &['\u{0028}', '\u{0031}', '\u{0029}']),
+    (0x1d68c, &['\u{0063}']),
+    (0xff55, &['\u{0075}']),
+    (0xfdb6, &['\u{0639}', '\u{0645}', '\u{064A}']),
+    (0x1d604, &['\u{0077}']),
+    (0x2095, &['\u{0068}']),
+    (0x3219, &['\u{0028}', '\u{1110}', '\u{1161}', '\u{0029}']),
+    (0x1ee52, &['\u{0642}']),
+    (0x1d6ca, &['\u{03B9}']),
+    (0x210e, &['\u{0068}']),
+    (0xff7a, &['\u{30B3}']),
+    (0x1d567, &['\u{0076}']),
+    (0xfbeb, &['\u{064A}', '\u{0654}', '\u{0627}']),
+    (0x1d702, &['\u{03B7}']),
+    (0x1d615, &['\u{004E}']),
+    (0x2f0c, &['\u{5182}']),
+    (0x3185, &['\u{1158}']),
+    (0x1d42a, &['\u{0071}']),
+    (0x1fce, &['\u{0020}', '\u{0313}', '\u{0301}']),
+    (0xfdb1, &['\u{0645}', '\u{0645}', '\u{064A}']),
+    (0x1d47, &['\u{0062}']),
+    (0x209a, &['\u{0070}']),
+    (0xfb72, &['\u{0684}']),
+    (0x1d503, &['\u{007A}']),
+    (0xfc17, &['\u{062D}', '\u{062C}']),
+    (0x335d, &['\u{0035}', '\u{70B9}']),
+    (0xfbda, &['\u{06C6}']),
+    (0xfc1d, &['\u{0633}', '\u{062D}']),
+    (0x247f, &['\u{0028}', '\u{0031}', '\u{0032}', '\u{0029}']),
+    (0xfee3, &['\u{0645}']),
+    (0x1d79b, &['\u{039C}']),
+    (0x1d720, &['\u{0395}']),
+    (0x2f05, &['\u{4E85}']),
+    (0x3154, &['\u{1166}']),
+    (0x1f137, &['\u{0048}']),
+    (0x1d6bd, &['\u{03A6}']),
+    (0x2f9e, &['\u{8ECA}']),
+    (0xfc84, &['\u{0643}', '\u{064A}']),
+    (0x1ee34, &['\u{0634}']),
+    (0x1d4c1, &['\u{006C}']),
+    (0x2fa0, &['\u{8FB0}']),
+    (0xfd70, &['\u{0636}', '\u{062E}', '\u{0645}']),
+    (0x1f143, &['\u{0054}']),
+    (0x24c9, &['\u{0054}']),
+    (0x1d5b7, &['\u{0058}']),
+    (0x248f, &['\u{0038}', '\u{002E}']),
+    (0x1f132, &['\u{0043}']),
+    (0x317d, &['\u{1132}']),
+    (0x33ef, &['\u{0031}', '\u{0036}', '\u{65E5}']),
+    (0x336b, &['\u{0031}', '\u{0039}', '\u{70B9}']),
+    (0x1f213, &['\u{30C6}', '\u{3099}']),
+    (0xfd16, &['\u{063A}', '\u{064A}']),
+    (0xfdac, &['\u{0644}', '\u{062C}', '\u{064A}']),
+    (0x2f90, &['\u{8863}']),
+    (0x213c, &['\u{03C0}']),
+    (0x1d740, &['\u{03BB}']),
+    (0x2f1c, &['\u{53C8}']),
+    (0x1f22b, &['\u{904A}']),
+    (0xfc6d, &['\u{0628}', '\u{0646}']),
+    (0x2f41, &['\u{6534}']),
+    (0x2fad, &['\u{9751}']),
+    (0xffd3, &['\u{116E}']),
+    (0xedc, &['\u{0EAB}', '\u{0E99}']),
+    (0xfd06, &['\u{0635}', '\u{064A}']),
+    (0x2fca, &['\u{9ED1}']),
+    (0xfbe3, &['\u{06C9}']),
+    (0x32ea, &['\u{30D2}']),
+    (0x3036, &['\u{3012}']),
+    (0x3136, &['\u{11AD}']),
+    (0xfb87, &['\u{068E}']),
+    (0xfe97, &['\u{062A}']),
+    (0x1ee74, &['\u{0634}']),
+    (0xff28, &['\u{0048}']),
+    (0x1d552, &['\u{0061}']),
+    (0x1d423, &['\u{006A}']),
+    (0x3170, &['\u{11DF}']),
+    (0xfd7f, &['\u{0642}', '\u{0645}', '\u{0645}']),
+    (0x1d6d2, &['\u{03C1}']),
+    (0x1d45d, &['\u{0070}']),
+    (0xfbe4, &['\u{06D0}']),
+    (0x2f31, &['\u{5DFE}']),
+    (0x1d5a, &['\u{026F}']),
+    (0xfcdb, &['\u{064A}', '\u{062D}']),
+    (0x1f214, &['\u{4E8C}']),
+    (0xfca7, &['\u{062C}', '\u{062D}']),
+    (0x3380, &['\u{0070}', '\u{0041}']),
+    (0x1ee8f, &['\u{0639}']),
+    (0x1d4f4, &['\u{006B}']),
+    (0x1d4e6, &['\u{0057}']),
+    (0x2f6b, &['\u{76BF}']),
+    (0xfbe6, &['\u{06D0}']),
+    (0xfdae, &['\u{064A}', '\u{062D}', '\u{064A}']),
+    (0x1d7d7, &['\u{0039}']),
+    (0x1d688, &['\u{0059}']),
+    (0x1d413, &['\u{0054}']),
+    (0x246a, &['\u{0031}', '\u{0031}']),
+    (0x1d78f, &['\u{03C0}']),
+    (0x2f7b, &['\u{7FBD}']),
+    (0x337c, &['\u{662D}', '\u{548C}']),
+    (0xfd08, &['\u{0636}', '\u{064A}']),
+    (0x675, &['\u{0627}', '\u{0674}']),
+    (0x1d530, &['\u{0073}']),
+    (0x1d5ff, &['\u{0072}']),
+    (0x1ee80, &['\u{0627}']),
+    (0xfcf3, &['\u{0640}', '\u{064F}', '\u{0651}']),
+    (0x1d4a, &['\u{0259}']),
+    (0xfd99, &['\u{0646}', '\u{062C}', '\u{0649}']),
+    (0x1d6a9, &['\u{0392}']),
+    (0x1d43b, &['\u{0048}']),
+    (0xfd2d, &['\u{0634}', '\u{062C}']),
+    (0x1f11c, &['\u{0028}', '\u{004D}', '\u{0029}']),
+    (0xfcce, &['\u{0645}', '\u{062C}']),
+    (0x3360, &['\u{0038}', '\u{70B9}']),
+    (0x2158, &['\u{0034}', '\u{2044}', '\u{0035}']),
+    (0x1d56d, &['\u{0042}']),
+    (0x1da9, &['\u{026D}']),
+    (0x3209, &['\u{0028}', '\u{110E}', '\u{0029}']),
+    (0x1ee08, &['\u{0637}']),
+    (0x2f1a, &['\u{5382}']),
+    (0x1d5e7, &['\u{0054}']),
+    (0x1d6b1, &['\u{039A}']),
+    (0x1d4cd, &['\u{0078}']),
+    (0x1d472, &['\u{004B}']),
+    (0x1d74c, &['\u{03C7}']),
+    (0x32a2, &['\u{5199}']),
+    (0x2179, &['\u{0078}']),
+    (0x3193, &['\u{4E8C}']),
+    (0xfecf, &['\u{063A}']),
+    (0x2ef3, &['\u{9F9F}']),
+    (0x1f101, &['\u{0030}', '\u{002C}']),
+    (0xfbf9, &['\u{064A}', '\u{0654}', '\u{0649}']),
+    (0x1f127, &['\u{0028}', '\u{0058}', '\u{0029}']),
+    (0x1d679, &['\u{004A}']),
+    (0x315b, &['\u{116D}']),
+    (0x1d712, &['\u{03C7}']),
+    (0xfe99, &['\u{062B}']),
+    (0x1eeb0, &['\u{0641}']),
+    (0x339a, &['\u{006E}', '\u{006D}']),
+    (0xfb98, &['\u{06B3}']),
+    (0xfd0e, &['\u{0633}', '\u{0631}']),
+    (0xfbf7, &['\u{064A}', '\u{0654}', '\u{06D0}']),
+    (0x676, &['\u{0648}', '\u{0674}']),
+    (0x1d541, &['\u{004A}']),
+    (0x1d7e1, &['\u{0039}']),
+    (0x33e4, &['\u{0035}', '\u{65E5}']),
+    (0x2f8c, &['\u{864D}']),
+    (0x2f56, &['\u{722A}']),
+    (0xfcca, &['\u{0644}', '\u{062D}']),
+    (0x33d4, &['\u{006D}', '\u{0062}']),
+    (0xffa4, &['\u{1102}']),
+    (0x1d4d3, &['\u{0044}']),
+    (0xfd67, &['\u{0634}', '\u{062D}', '\u{0645}']),
+    (0x1d710, &['\u{03C5}']),
+    (0xfcda, &['\u{064A}', '\u{062C}']),
+    (0xfd6e, &['\u{0636}', '\u{062D}', '\u{0649}']),
+    (0x1d39, &['\u{004D}']),
+    (0x1d6ff, &['\u{03B4}']),
+    (0x1d63e, &['\u{0043}']),
+    (0xff91, &['\u{30E0}']),
+    (0x1d4a9, &['\u{004E}']),
+    (0x2464, &['\u{0035}']),
+    (0xfc16, &['\u{062C}', '\u{0645}']),
+    (0x1d476, &['\u{004F}']),
+    (0x313c, &['\u{11B2}']),
+    (0x1d64d, &['\u{0052}']),
+    (0x3394, &['\u{0054}', '\u{0048}', '\u{007A}']),
+    (0x2477, &['\u{0028}', '\u{0034}', '\u{0029}']),
+    (0xfe4d, &['\u{005F}']),
+    (0x1ee96, &['\u{062B}']),
+    (0xfdab, &['\u{0636}', '\u{062D}', '\u{064A}']),
+    (0x1f242, &['\u{3014}', '\u{4E8C}', '\u{3015}']),
+    (0x587, &['\u{0565}', '\u{0582}']),
+    (0x1d59b, &['\u{0076}']),
+    (0x3311, &['\u{30AD}', '\u{3099}', '\u{30CB}', '\u{30FC}']),
+    (0x1d73f, &['\u{03BA}']),
+    (0xfe7f, &['\u{0640}', '\u{0652}']),
+    (0x2f69, &['\u{767D}']),
+    (0xff20, &['\u{0040}']),
+    (0x1d4d8, &['\u{0049}']),
+    (0xfe7d, &['\u{0640}', '\u{0651}']),
+    (0xfcea, &['\u{0634}', '\u{0647}']),
+    (0x1d6c1, &['\u{2207}']),
+    (0x323f, &['\u{0028}', '\u{5354}', '\u{0029}']),
+    (0x1d66d, &['\u{0078}']),
+    (0xfbf8, &['\u{064A}', '\u{0654}', '\u{06D0}']),
+    (0x1d429, &['\u{0070}']),
+    (0x1d5ca, &['\u{0071}']),
+    (0x1d5b9, &['\u{005A}']),
+    (0xfd8d, &['\u{0645}', '\u{062C}', '\u{0645}']),
+    (0x1d7b5, &['\u{03BC}']),
+    (0x217a, &['\u{0078}', '\u{0069}']),
+    (0x215a, &['\u{0035}', '\u{2044}', '\u{0036}']),
+    (0x3340, &['\u{30DB}', '\u{309A}', '\u{30F3}', '\u{30C8}', '\u{3099}']),
+    (0x1d507, &['\u{0044}']),
+    (0x326e, &['\u{1100}', '\u{1161}']),
+    (0x1d72e, &['\u{03A3}']),
+    (0x317c, &['\u{112F}']),
+    (0x1d5aa, &['\u{004B}']),
+    (0x1d7a2, &['\u{03A3}']),
+    (0x1d786, &['\u{03C7}']),
+    (0x327d, &['\u{110C}', '\u{116E}', '\u{110B}', '\u{1174}']),
+    (0x24c6, &['\u{0051}']),
+    (0xfdad, &['\u{0644}', '\u{0645}', '\u{064A}']),
+    (0xfe3a, &['\u{3015}']),
+    (0xff13, &['\u{0033}']),
+    (0x1d6ab, &['\u{0394}']),
+    (0x1d79d, &['\u{039E}']),
+    (0xfd7e, &['\u{0642}', '\u{0645}', '\u{062D}']),
+    (0x336f, &['\u{0032}', '\u{0033}', '\u{70B9}']),
+    (0xffe5, &['\u{00A5}']),
+    (0xfb13, &['\u{0574}', '\u{0576}']),
+    (0x3f1, &['\u{03C1}']),
+    (0x1d4e7, &['\u{0058}']),
+    (0xfd0d, &['\u{0634}', '\u{0631}']),
+    (0x33fb, &['\u{0032}', '\u{0038}', '\u{65E5}']),
+    (0xff5b, &['\u{007B}']),
+    (0xfee4, &['\u{0645}']),
+    (0x1d4b0, &['\u{0055}']),
+    (0x1d442, &['\u{004F}']),
+    (0x3183, &['\u{11F2}']),
+    (0x1d6db, &['\u{2202}']),
+    (0x1d6d1, &['\u{03C0}']),
+    (0x1dbc, &['\u{0290}']),
+    (0x3255, &['\u{0032}', '\u{0035}']),
+    (0x1d5f9, &['\u{006C}']),
+    (0x1d557, &['\u{0066}']),
+    (0x2f9f, &['\u{8F9B}']),
+    (0x1ee91, &['\u{0635}']),
+    (0x1d482, &['\u{0061}']),
+    (0x3275, &['\u{110B}', '\u{1161}']),
+    (0x208d, &['\u{0028}']),
+    (0x1d40b, &['\u{004C}']),
+    (0xfed1, &['\u{0641}']),
+    (0xffd6, &['\u{1171}']),
+    (0x2b7, &['\u{0077}']),
+    (0xfce3, &['\u{062A}', '\u{0645}']),
+    (0x1eeb1, &['\u{0635}']),
+    (0x1d6c4, &['\u{03B3}']),
+    (0x3367, &['\u{0031}', '\u{0035}', '\u{70B9}']),
+    (0x1d59c, &['\u{0077}']),
+    (0xbe, &['\u{0033}', '\u{2044}', '\u{0034}']),
+    (0xfe76, &['\u{0020}', '\u{064E}']),
+    (0x2f5f, &['\u{7389}']),
+    (0xff11, &['\u{0031}']),
+    (0xfea6, &['\u{062E}']),
+    (0x1f21b, &['\u{6599}']),
+    (0x1ee90, &['\u{0641}']),
+    (0x247e, &['\u{0028}', '\u{0031}', '\u{0031}', '\u{0029}']),
+    (0xfc85, &['\u{0644}', '\u{0645}']),
+    (0x216b, &['\u{0058}', '\u{0049}', '\u{0049}']),
+    (0x1d68d, &['\u{0064}']),
+    (0x1d438, &['\u{0045}']),
+    (0x1d77f, &['\u{03C0}']),
+    (0x3f2, &['\u{03C2}']),
+    (0x32b3, &['\u{0033}', '\u{0038}']),
+    (0xfd9a, &['\u{0646}', '\u{0645}', '\u{064A}']),
+    (0x1d65, &['\u{0076}']),
+    (0xfe49, &['\u{0020}', '\u{0305}']),
+    (0x1ee94, &['\u{0634}']),
+    (0x1d6ae, &['\u{0397}']),
+    (0x1d40e, &['\u{004F}']),
+    (0x1d60f, &['\u{0048}']),
+    (0x1d67b, &['\u{004C}']),
+    (0x1d6c8, &['\u{03B7}']),
+    (0x1d462, &['\u{0075}']),
+    (0x2099, &['\u{006E}']),
+    (0x1f226, &['\u{6F14}']),
+    (0x1d588, &['\u{0063}']),
+    (0xff29, &['\u{0049}']),
+    (0xfcf0, &['\u{064A}', '\u{0645}']),
+    (0x32d3, &['\u{30A8}']),
+    (0x24aa, &['\u{0028}', '\u{006F}', '\u{0029}']),
+    (0xfbaa, &['\u{06BE}']),
+    (0x319d, &['\u{5929}']),
+    (0x1d410, &['\u{0051}']),
+    (0x3276, &['\u{110C}', '\u{1161}']),
+    (0x1d436, &['\u{0043}']),
+    (0xfc8d, &['\u{0646}', '\u{0646}']),
+    (0x1d778, &['\u{03B9}']),
+    (0x3184, &['\u{1157}']),
+    (0x1d574, &['\u{0049}']),
+    (0xfc7e, &['\u{0642}', '\u{0649}']),
+    (0xfd54, &['\u{062A}', '\u{062E}', '\u{0645}']),
+    (0x3179, &['\u{112C}']),
+    (0x1d5b2, &['\u{0053}']),
+    (0x3267, &['\u{110B}']),
+    (0x1d418, &['\u{0059}']),
+    (0x318a, &['\u{1191}']),
+    (0x1d4c0, &['\u{006B}']),
+    (0xfe13, &['\u{003A}']),
+    (0x33fc, &['\u{0032}', '\u{0039}', '\u{65E5}']),
+    (0x32a5, &['\u{4E2D}']),
+    (0x2f2c, &['\u{5C6E}']),
+    (0xfcd1, &['\u{0645}', '\u{0645}']),
+    (0x336e, &['\u{0032}', '\u{0032}', '\u{70B9}']),
+    (0x1d6aa, &['\u{0393}']),
+    (0x327c, &['\u{110E}', '\u{1161}', '\u{11B7}', '\u{1100}', '\u{1169}']),
+    (0x1d755, &['\u{03C0}']),
+    (0x1d79c, &['\u{039D}']),
+    (0x1d628, &['\u{0067}']),
+    (0x1da4, &['\u{0268}']),
+    (0xfdc3, &['\u{0643}', '\u{0645}', '\u{0645}']),
+    (0x2f95, &['\u{8C37}']),
+    (0x1f113, &['\u{0028}', '\u{0044}', '\u{0029}']),
+    (0x1d481, &['\u{005A}']),
+    (0x1d657, &['\u{0062}']),
+    (0x30ff, &['\u{30B3}', '\u{30C8}']),
+    (0x1d7cb, &['\u{03DD}']),
+    (0x2f2d, &['\u{5C71}']),
+    (0xfb8e, &['\u{06A9}']),
+    (0xfb8c, &['\u{0691}']),
+    (0x2f5b, &['\u{7259}']),
+    (0x1d7d4, &['\u{0036}']),
+    (0x1f114, &['\u{0028}', '\u{0045}', '\u{0029}']),
+    (0x2fd5, &['\u{9FA0}']),
+    (0x1ee88, &['\u{0637}']),
+    (0x1d785, &['\u{03C6}']),
+    (0x1f142, &['\u{0053}']),
+    (0x32cc, &['\u{0048}', '\u{0067}']),
+    (0x1d544, &['\u{004D}']),
+    (0x1d6fa, &['\u{03A9}']),
+    (0x1eeb7, &['\u{062E}']),
+    (0xff54, &['\u{0074}']),
+    (0x678, &['\u{064A}', '\u{0674}']),
+    (0xfbee, &['\u{064A}', '\u{0654}', '\u{0648}']),
+    (0xfc4f, &['\u{0646}', '\u{0649}']),
+    (0xfdbb, &['\u{0643}', '\u{0645}', '\u{0645}']),
+    (0xfead, &['\u{0631}']),
+    (0xfda6, &['\u{062C}', '\u{062D}', '\u{0649}']),
+    (0x1d431, &['\u{0078}']),
+    (0x1d61d, &['\u{0056}']),
+    (0x1ee77, &['\u{062E}']),
+    (0x2172, &['\u{0069}', '\u{0069}', '\u{0069}']),
+    (0x33a2, &['\u{006B}', '\u{006D}', '\u{0032}']),
+    (0x2f24, &['\u{5927}']),
+    (0xfd75, &['\u{0639}', '\u{062C}', '\u{0645}']),
+    (0x3393, &['\u{0047}', '\u{0048}', '\u{007A}']),
+    (0x3338, &['\u{30D8}', '\u{309A}', '\u{30CB}', '\u{30D2}']),
+    (0x2080, &['\u{0030}']),
+    (0x1d4c8, &['\u{0073}']),
+    (0x207e, &['\u{0029}']),
+    (0xfc81, &['\u{0643}', '\u{0644}']),
+    (0x1f234, &['\u{5408}']),
+    (0x313f, &['\u{11B5}']),
+    (0xfd7b, &['\u{063A}', '\u{0645}', '\u{0649}']),
+    (0xfc0f, &['\u{062A}', '\u{0649}']),
+    (0x1d569, &['\u{0078}']),
+    (0x1d750, &['\u{03B5}']),
+    (0x215c, &['\u{0033}', '\u{2044}', '\u{0038}']),
+    (0x1ee4b, &['\u{0644}']),
+    (0x3169, &['\u{11CC}']),
+    (0x313b, &['\u{11B1}']),
+    (0xffa7, &['\u{1103}']),
+    (0xfd35, &['\u{0633}', '\u{062D}']),
+    (0x1d6bc, &['\u{03A5}']),
+    (0x24e7, &['\u{0078}']),
+    (0x1d62e, &['\u{006D}']),
+    (0x3263, &['\u{1105}']),
+    (0xfea5, &['\u{062E}']),
+    (0x2f70, &['\u{793A}']),
+    (0x1ee03, &['\u{062F}']),
+    (0x1d539, &['\u{0042}']),
+    (0xfb27, &['\u{05E8}']),
+    (0x2f5e, &['\u{7384}']),
+    (0x318d, &['\u{119E}']),
+    (0x2a76, &['\u{003D}', '\u{003D}', '\u{003D}']),
+    (0x1d655, &['\u{005A}']),
+    (0x314d, &['\u{1111}']),
+    (0x246f, &['\u{0031}', '\u{0036}']),
+    (0x2f13, &['\u{52F9}']),
+    (0xfccb, &['\u{0644}', '\u{062E}']),
+    (0x1ee81, &['\u{0628}']),
+    (0x2e9f, &['\u{6BCD}']),
+    (0x1d7d8, &['\u{0030}']),
+    (0x3175, &['\u{1123}']),
+    (0xfeaf, &['\u{0632}']),
+    (0x1d4e5, &['\u{0056}']),
+    (0x32e1, &['\u{30C4}']),
+    (0x1d69b, &['\u{0072}']),
+    (0x1f12e, &['\u{0057}', '\u{005A}']),
+    (0x1f100, &['\u{0030}', '\u{002E}']),
+    (0x2f34, &['\u{5E7F}']),
+    (0x329b, &['\u{5973}']),
+    (0x315f, &['\u{1171}']),
+    (0x2f46, &['\u{65E0}']),
+    (0xfba1, &['\u{06BB}']),
+    (0x385, &['\u{0020}', '\u{0308}', '\u{0301}']),
+    (0x1d736, &['\u{03B1}']),
+    (0x2471, &['\u{0031}', '\u{0038}']),
+    (0xfb4f, &['\u{05D0}', '\u{05DC}']),
+    (0xfec3, &['\u{0637}']),
+    (0x2139, &['\u{0069}']),
+    (0x1dbd, &['\u{0291}']),
+    (0x207f, &['\u{006E}']),
+    (0x1d673, &['\u{0044}']),
+    (0x1ee7c, &['\u{066E}']),
+    (0x1d7c1, &['\u{03C8}']),
+    (0x1ee07, &['\u{062D}']),
+    (0xff66, &['\u{30F2}']),
+    (0x1d725, &['\u{039A}']),
+    (0x1d537, &['\u{007A}']),
+    (0xfcd5, &['\u{0646}', '\u{0645}']),
+    (0x1d723, &['\u{0398}']),
+    (0xfcc4, &['\u{0643}', '\u{062C}']),
+    (0xfb5e, &['\u{067A}']),
+    (0x1d47e, &['\u{0057}']),
+    (0x1d707, &['\u{03BC}']),
+    (0xfb68, &['\u{0679}']),
+    (0x1d4d1, &['\u{0042}']),
+    (0x3378, &['\u{0064}', '\u{006D}', '\u{0032}']),
+    (0x32b9, &['\u{0034}', '\u{0034}']),
+    (0x1fc1, &['\u{0020}', '\u{0308}', '\u{0342}']),
+    (0xfebf, &['\u{0636}']),
+    (0x1d463, &['\u{0076}']),
+    (0x1d662, &['\u{006D}']),
+    (0x328f, &['\u{571F}']),
+    (0xfc70, &['\u{062A}', '\u{0631}']),
+    (0x1d31, &['\u{0045}']),
+    (0x1ee39, &['\u{0636}']),
+    (0x1d532, &['\u{0075}']),
+    (0x1d4ed, &['\u{0064}']),
+    (0x1d508, &['\u{0045}']),
+    (0x1d721, &['\u{0396}']),
+    (0xfd58, &['\u{062C}', '\u{0645}', '\u{062D}']),
+    (0x1d5b3, &['\u{0054}']),
+    (0x1d4c, &['\u{025C}']),
+    (0x1d682, &['\u{0053}']),
+    (0x2f0d, &['\u{5196}']),
+    (0x1db8, &['\u{1D1C}']),
+    (0x3332, &['\u{30D5}', '\u{30A1}', '\u{30E9}', '\u{30C3}', '\u{30C8}', '\u{3099}']),
+    (0x33e9, &['\u{0031}', '\u{0030}', '\u{65E5}']),
+    (0x2fa6, &['\u{91D1}']),
+    (0xfdf6, &['\u{0631}', '\u{0633}', '\u{0648}', '\u{0644}']),
+    (0x1d420, &['\u{0067}']),
+    (0x1d4f0, &['\u{0067}']),
+    (0x1d749, &['\u{03C4}']),
+    (0x1d407, &['\u{0048}']),
+    (0xfd33, &['\u{0637}', '\u{0645}']),
+    (0xfc12, &['\u{062B}', '\u{0645}']),
+    (0x3187, &['\u{1184}']),
+    (0x1d71f, &['\u{0394}']),
+    (0x1d50, &['\u{006D}']),
+    (0x3208, &['\u{0028}', '\u{110C}', '\u{0029}']),
+    (0x2b8, &['\u{0079}']),
+    (0x1d4b2, &['\u{0057}']),
+    (0xfb74, &['\u{0684}']),
+    (0xfef9, &['\u{0644}', '\u{0627}', '\u{0655}']),
+    (0x1d689, &['\u{005A}']),
+    (0x1d7b2, &['\u{03B9}']),
+    (0x1ee11, &['\u{0635}']),
+    (0x1da2, &['\u{0261}']),
+    (0x1d7e9, &['\u{0037}']),
+    (0x2f48, &['\u{66F0}']),
+    (0x1cb, &['\u{004E}', '\u{006A}']),
+    (0xfcb6, &['\u{0636}', '\u{062E}']),
+    (0x1d43c, &['\u{0049}']),
+    (0x1f190, &['\u{0044}', '\u{004A}']),
+    (0x322c, &['\u{0028}', '\u{6C34}', '\u{0029}']),
+    (0x3277, &['\u{110E}', '\u{1161}']),
+    (0xfc28, &['\u{0638}', '\u{0645}']),
+    (0x1d45c, &['\u{006F}']),
+    (0x1d51c, &['\u{0059}']),
+    (0x1d62c, &['\u{006B}']),
+    (0x1d600, &['\u{0073}']),
+    (0x1d722, &['\u{0397}']),
+    (0x2f99, &['\u{8C9D}']),
+    (0x1d523, &['\u{0066}']),
+    (0x33a4, &['\u{0063}', '\u{006D}', '\u{0033}']),
+    (0xfea2, &['\u{062D}']),
+    (0x1d5db, &['\u{0048}']),
+    (0x3324, &['\u{30BF}', '\u{3099}', '\u{30FC}', '\u{30B9}']),
+    (0xfec0, &['\u{0636}']),
+    (0x1d73d, &['\u{03B8}']),
+    (0x33a1, &['\u{006D}', '\u{0032}']),
+    (0x1da0, &['\u{0066}']),
+    (0x33dd, &['\u{0057}', '\u{0062}']),
+    (0x1dad, &['\u{0270}']),
+    (0xfcdc, &['\u{064A}', '\u{062E}']),
+    (0x1f200, &['\u{307B}', '\u{304B}']),
+    (0x2e4, &['\u{0295}']),
+    (0x1d75e, &['\u{0399}']),
+    (0x32f0, &['\u{30E0}']),
+    (0x1d620, &['\u{0059}']),
+    (0x1d55e, &['\u{006D}']),
+    (0x1d41a, &['\u{0061}']),
+    (0x1d7ee, &['\u{0032}']),
+    (0xfc64, &['\u{064A}', '\u{0654}', '\u{0631}']),
+    (0xfd93, &['\u{0647}', '\u{0645}', '\u{062C}']),
+    (0x1d602, &['\u{0075}']),
+    (0xfd9d, &['\u{064A}', '\u{0645}', '\u{0645}']),
+    (0x1d405, &['\u{0046}']),
+    (0x2113, &['\u{006C}']),
+    (0xfd85, &['\u{0644}', '\u{062E}', '\u{0645}']),
+    (0x1d64c, &['\u{0051}']),
+    (0xfcfd, &['\u{0634}', '\u{0649}']),
+    (0x3331, &['\u{30D2}', '\u{3099}', '\u{30EB}']),
+    (0x1d5ce, &['\u{0075}']),
+    (0xffd5, &['\u{1170}']),
+    (0x2f93, &['\u{89D2}']),
+    (0x1d595, &['\u{0070}']),
+    (0x2487, &['\u{0028}', '\u{0032}', '\u{0030}', '\u{0029}']),
+    (0xab5f, &['\u{AB52}']),
+    (0xfb5b, &['\u{0680}']),
+    (0x2fb8, &['\u{9996}']),
+    (0x1d6b5, &['\u{039E}']),
+    (0xfe48, &['\u{005D}']),
+    (0x1ffe, &['\u{0020}', '\u{0314}']),
+    (0x24bb, &['\u{0046}']),
+    (0x1d6af, &['\u{0398}']),
+    (0xff0f, &['\u{002F}']),
+    (0xfe17, &['\u{3016}']),
+    (0x1d5f2, &['\u{0065}']),
+    (0x325c, &['\u{0033}', '\u{0032}']),
+    (0x1d76d, &['\u{03A8}']),
+    (0x3383, &['\u{006D}', '\u{0041}']),
+    (0xfb22, &['\u{05D3}']),
+    (0x24a8, &['\u{0028}', '\u{006D}', '\u{0029}']),
+    (0xfc7a, &['\u{062B}', '\u{0649}']),
+    (0x2120, &['\u{0053}', '\u{004D}']),
+    (0x24d8, &['\u{0069}']),
+    (0xfd3a, &['\u{0637}', '\u{0645}']),
+    (0x319f, &['\u{4EBA}']),
+    (0xfe4b, &['\u{0020}', '\u{0305}']),
+    (0x3241, &['\u{0028}', '\u{4F11}', '\u{0029}']),
+    (0x3238, &['\u{0028}', '\u{52B4}', '\u{0029}']),
+    (0x1d41b, &['\u{0062}']),
+    (0x1d408, &['\u{0049}']),
+    (0x32b5, &['\u{0034}', '\u{0030}']),
+    (0xfc79, &['\u{062B}', '\u{0646}']),
+    (0x1ee2a, &['\u{0643}']),
+    (0x1d4d4, &['\u{0045}']),
+    (0x32fb, &['\u{30EF}']),
+    (0x2d8, &['\u{0020}', '\u{0306}']),
+    (0x32da, &['\u{30B5}']),
+    (0x338c, &['\u{03BC}', '\u{0046}']),
+    (0x1d6d5, &['\u{03C4}']),
+    (0x2493, &['\u{0031}', '\u{0032}', '\u{002E}']),
+    (0x1f128, &['\u{0028}', '\u{0059}', '\u{0029}']),
+    (0x1ee95, &['\u{062A}']),
+    (0x2fab, &['\u{96B9}']),
+    (0x2fc7, &['\u{9EBB}']),
+    (0xfcd6, &['\u{0646}', '\u{0647}']),
+    (0x2164, &['\u{0056}']),
+    (0xff83, &['\u{30C6}']),
+    (0x24b4, &['\u{0028}', '\u{0079}', '\u{0029}']),
+    (0x1d4d5, &['\u{0046}']),
+    (0x32ed, &['\u{30DB}']),
+    (0x3350, &['\u{30E6}', '\u{30A2}', '\u{30F3}']),
+    (0x1d737, &['\u{03B2}']),
+    (0x3262, &['\u{1103}']),
+    (0x337d, &['\u{5927}', '\u{6B63}']),
+    (0x3373, &['\u{0041}', '\u{0055}']),
+    (0x2489, &['\u{0032}', '\u{002E}']),
+    (0xfeea, &['\u{0647}']),
+    (0x1ee49, &['\u{064A}']),
+    (0x32f5, &['\u{30E8}']),
+    (0x3305, &['\u{30A4}', '\u{30F3}', '\u{30C1}']),
+    (0x2f8a, &['\u{8272}']),
+    (0xff43, &['\u{0063}']),
+    (0x1d4eb, &['\u{0062}']),
+    (0x33e8, &['\u{0039}', '\u{65E5}']),
+    (0xfe93, &['\u{0629}']),
+    (0x1d6f5, &['\u{03A4}']),
+    (0xfbfb, &['\u{064A}', '\u{0654}', '\u{0649}']),
+    (0x1d6d6, &['\u{03C5}']),
+    (0x2152, &['\u{0031}', '\u{2044}', '\u{0031}', '\u{0030}']),
+    (0x1db7, &['\u{028A}']),
+    (0x3172, &['\u{111E}']),
+    (0xfbdc, &['\u{06C8}']),
+    (0x1d459, &['\u{006C}']),
+    (0xfc41, &['\u{0644}', '\u{062E}']),
+    (0x1d63d, &['\u{0042}']),
+    (0x2101, &['\u{0061}', '\u{002F}', '\u{0073}']),
+    (0xfdc0, &['\u{0645}', '\u{062C}', '\u{064A}']),
+    (0xfe8b, &['\u{064A}', '\u{0654}']),
+    (0xfedc, &['\u{0643}']),
+    (0xff9c, &['\u{30EF}']),
+    (0x3268, &['\u{110C}']),
+    (0x1da5, &['\u{0269}']),
+    (0x1eeb4, &['\u{0634}']),
+    (0x33b9, &['\u{004D}', '\u{0056}']),
+    (0xfb9e, &['\u{06BA}']),
+    (0x1d5d0, &['\u{0077}']),
+    (0x1d422, &['\u{0069}']),
+    (0x3283, &['\u{56DB}']),
+    (0xfc94, &['\u{064A}', '\u{0646}']),
+    (0x1d49b, &['\u{007A}']),
+    (0x2f33, &['\u{5E7A}']),
+    (0xfcf1, &['\u{064A}', '\u{0647}']),
+    (0x1f13d, &['\u{004E}']),
+    (0x1d568, &['\u{0077}']),
+    (0xfc36, &['\u{0642}', '\u{064A}']),
+    (0x3381, &['\u{006E}', '\u{0041}']),
+    (0x331c, &['\u{30B1}', '\u{30FC}', '\u{30B9}']),
+    (0x1d513, &['\u{0050}']),
+    (0xffc3, &['\u{1162}']),
+    (0x32de, &['\u{30BD}']),
+    (0xfd69, &['\u{0634}', '\u{062C}', '\u{064A}']),
+    (0x2a75, &['\u{003D}', '\u{003D}']),
+    (0x2f75, &['\u{7AF9}']),
+    (0x1d7a9, &['\u{2207}']),
+    (0xff2c, &['\u{004C}']),
+    (0x1d5e6, &['\u{0053}']),
+    (0xfd04, &['\u{062E}', '\u{064A}']),
+    (0x1d526, &['\u{0069}']),
+    (0x1d430, &['\u{0077}']),
+    (0x1d5ed, &['\u{005A}']),
+    (0xff4d, &['\u{006D}']),
+    (0x1d5c5, &['\u{006C}']),
+    (0xfe85, &['\u{0648}', '\u{0654}']),
+    (0x1d4f2, &['\u{0069}']),
+    (0x1d65e, &['\u{0069}']),
+    (0x2f6c, &['\u{76EE}']),
+    (0xfd7c, &['\u{0641}', '\u{062E}', '\u{0645}']),
+    (0x1f246, &['\u{3014}', '\u{76D7}', '\u{3015}']),
+    (0xff38, &['\u{0058}']),
+    (0xff8a, &['\u{30CF}']),
+    (0x2074, &['\u{0034}']),
+    (0xff9b, &['\u{30ED}']),
+    (0x32fd, &['\u{30F1}']),
+    (0x1d74b, &['\u{03C6}']),
+    (0x1f149, &['\u{005A}']),
+    (0x339b, &['\u{03BC}', '\u{006D}']),
+    (0x2490, &['\u{0039}', '\u{002E}']),
+    (0x1ee10, &['\u{0641}']),
+    (0x1f106, &['\u{0035}', '\u{002C}']),
+    (0xfe31, &['\u{2014}']),
+    (0x323a, &['\u{0028}', '\u{547C}', '\u{0029}']),
+    (0x3173, &['\u{1120}']),
+    (0x33c0, &['\u{006B}', '\u{03A9}']),
+    (0x1f3, &['\u{0064}', '\u{007A}']),
+    (0x1f11f, &['\u{0028}', '\u{0050}', '\u{0029}']),
+    (0xfe15, &['\u{0021}']),
+    (0x1d768, &['\u{03A3}']),
+    (0x1f219, &['\u{6620}']),
+    (0x1d66, &['\u{03B2}']),
+    (0x32ce, &['\u{0065}', '\u{0056}']),
+    (0x2094, &['\u{0259}']),
+    (0x1d6fc, &['\u{03B1}']),
+    (0x32f6, &['\u{30E9}']),
+    (0x1f135, &['\u{0046}']),
+    (0x1dbe, &['\u{0292}']),
+    (0x3315, &['\u{30AD}', '\u{30ED}', '\u{30AF}', '\u{3099}', '\u{30E9}', '\u{30E0}']),
+    (0xfbd9, &['\u{06C6}']),
+    (0xfdf0, &['\u{0635}', '\u{0644}', '\u{06D2}']),
+    (0x1d7bf, &['\u{03C6}']),
+    (0x3316, &['\u{30AD}', '\u{30ED}', '\u{30E1}', '\u{30FC}', '\u{30C8}', '\u{30EB}']),
+    (0x3391, &['\u{006B}', '\u{0048}', '\u{007A}']),
+    (0x1d516, &['\u{0053}']),
+    (0xfc5b, &['\u{0630}', '\u{0670}']),
+    (0xfee5, &['\u{0646}']),
+    (0xfd31, &['\u{0633}', '\u{0647}']),
+    (0x3244, &['\u{554F}']),
+    (0x1d58d, &['\u{0068}']),
+    (0x2153, &['\u{0031}', '\u{2044}', '\u{0033}']),
+    (0x2fd1, &['\u{9F4A}']),
+    (0x1eebb, &['\u{063A}']),
+    (0x1d522, &['\u{0065}']),
+    (0xfd88, &['\u{0644}', '\u{0645}', '\u{062D}']),
+    (0xfc8f, &['\u{0646}', '\u{064A}']),
+    (0x1d44, &['\u{0250}']),
+    (0x1d605, &['\u{0078}']),
+    (0x330a, &['\u{30AA}', '\u{30FC}', '\u{30E0}']),
+    (0x1d44e, &['\u{0061}']),
+    (0x1d6cd, &['\u{03BC}']),
+    (0x335b, &['\u{0033}', '\u{70B9}']),
+    (0x3307, &['\u{30A8}', '\u{30B9}', '\u{30AF}', '\u{30FC}', '\u{30C8}', '\u{3099}']),
+    (0x1d703, &['\u{03B8}']),
+    (0x1d7df, &['\u{0037}']),
+    (0x1d692, &['\u{0069}']),
+    (0x1d509, &['\u{0046}']),
+    (0x33c3, &['\u{0042}', '\u{0071}']),
+    (0x1e9a, &['\u{0061}', '\u{02BE}']),
+    (0x1d520, &['\u{0063}']),
+    (0xfcf5, &['\u{0637}', '\u{0649}']),
+    (0x1d449, &['\u{0056}']),
+    (0x1d50d, &['\u{004A}']),
+    (0x1d601, &['\u{0074}']),
+    (0xfe4e, &['\u{005F}']),
+    (0xba, &['\u{006F}']),
+    (0x2148, &['\u{0069}']),
+    (0x3377, &['\u{0064}', '\u{006D}']),
+    (0x1ee71, &['\u{0635}']),
+    (0xfc99, &['\u{064A}', '\u{0654}', '\u{062E}']),
+    (0x209b, &['\u{0073}']),
+    (0xffb1, &['\u{1106}']),
+    (0xff56, &['\u{0076}']),
+    (0x1d428, &['\u{006F}']),
+    (0x2486, &['\u{0028}', '\u{0031}', '\u{0039}', '\u{0029}']),
+    (0x2f3d, &['\u{6208}']),
+    (0x2472, &['\u{0031}', '\u{0039}']),
+    (0x217f, &['\u{006D}']),
+    (0x13f, &['\u{004C}', '\u{00B7}']),
+    (0x1d55a, &['\u{0069}']),
+    (0x1d798, &['\u{0399}']),
+    (0x3230, &['\u{0028}', '\u{65E5}', '\u{0029}']),
+    (0x1d68f, &['\u{0066}']),
+    (0x1d41c, &['\u{0063}']),
+    (0x33ed, &['\u{0031}', '\u{0034}', '\u{65E5}']),
+    (0x2f38, &['\u{5F13}']),
+    (0x1f22c, &['\u{5DE6}']),
+    (0x1d773, &['\u{03B4}']),
+    (0x1ee30, &['\u{0641}']),
+    (0x2463, &['\u{0034}']),
+    (0xff81, &['\u{30C1}']),
+    (0xf0c, &['\u{0F0B}']),
+    (0x2e2, &['\u{0073}']),
+    (0x2000, &['\u{0020}']),
+    (0xfdb7, &['\u{0643}', '\u{0645}', '\u{064A}']),
+    (0x1d7e6, &['\u{0034}']),
+    (0x1d634, &['\u{0073}']),
+    (0x1d579, &['\u{004E}']),
+    (0x1eea5, &['\u{0648}']),
+    (0x1d4f1, &['\u{0068}']),
+    (0xffb4, &['\u{1121}']),
+    (0x1d6a8, &['\u{0391}']),
+    (0xfd3c, &['\u{0627}', '\u{064B}']),
+    (0xfec2, &['\u{0637}']),
+    (0xfbec, &['\u{064A}', '\u{0654}', '\u{06D5}']),
+    (0x1d7b1, &['\u{03B8}']),
+    (0xfcbe, &['\u{0641}', '\u{062C}']),
+    (0x1ee6e, &['\u{0633}']),
+    (0x1ee09, &['\u{064A}']),
+    (0x2f74, &['\u{7ACB}']),
+    (0x1eeac, &['\u{0645}']),
+    (0xfe68, &['\u{005C}']),
+    (0x247a, &['\u{0028}', '\u{0037}', '\u{0029}']),
+    (0xff76, &['\u{30AB}']),
+    (0xfc22, &['\u{0636}', '\u{062C}']),
+    (0xfc29, &['\u{0639}', '\u{062C}']),
+    (0x1d6e6, &['\u{0395}']),
+    (0x2077, &['\u{0037}']),
+    (0x1d791, &['\u{0392}']),
+    (0xffbc, &['\u{1110}']),
+    (0x1d5e4, &['\u{0051}']),
+    (0x1f22d, &['\u{4E2D}']),
+    (0x1d447, &['\u{0054}']),
+    (0x2f36, &['\u{5EFE}']),
+    (0x3284, &['\u{4E94}']),
+    (0xfbfa, &['\u{064A}', '\u{0654}', '\u{0649}']),
+    (0x1d4b, &['\u{025B}']),
+    (0xfbf1, &['\u{064A}', '\u{0654}', '\u{06C7}']),
+    (0xfd89, &['\u{0645}', '\u{062D}', '\u{062C}']),
+    (0x3322, &['\u{30BB}', '\u{30F3}', '\u{30C1}']),
+    (0x1ee13, &['\u{0631}']),
+    (0x1d6c3, &['\u{03B2}']),
+    (0x3304, &['\u{30A4}', '\u{30CB}', '\u{30F3}', '\u{30AF}', '\u{3099}']),
+    (0x32d8, &['\u{30B1}']),
+    (0x1d5c3, &['\u{006A}']),
+    (0x1d5d7, &['\u{0044}']),
+    (0x3198, &['\u{4E0B}']),
+    (0xfed3, &['\u{0641}']),
+    (0xfb93, &['\u{06AF}']),
+    (0xfc49, &['\u{0645}', '\u{0649}']),
+    (0x3351, &['\u{30EA}', '\u{30C3}', '\u{30C8}', '\u{30EB}']),
+    (0x333a, &['\u{30D8}', '\u{309A}', '\u{30F3}', '\u{30B9}']),
+    (0xfd5e, &['\u{0633}', '\u{062C}', '\u{0649}']),
+    (0xff73, &['\u{30A6}']),
+    (0xff1f, &['\u{003F}']),
+    (0x3212, &['\u{0028}', '\u{1106}', '\u{1161}', '\u{0029}']),
+    (0x32c0, &['\u{0031}', '\u{6708}']),
+    (0xffb8, &['\u{110C}']),
+    (0xfc04, &['\u{064A}', '\u{0654}', '\u{064A}']),
+    (0xff4e, &['\u{006E}']),
+    (0xfb57, &['\u{067E}']),
+    (0x1f215, &['\u{591A}']),
+    (0x1fbf9, &['\u{0039}']),
+    (0x33bb, &['\u{006E}', '\u{0057}']),
+    (0x2fbf, &['\u{9B2F}']),
+    (0xff06, &['\u{0026}']),
+    (0x1ee85, &['\u{0648}']),
+    (0xfe65, &['\u{003E}']),
+    (0xfe5c, &['\u{007D}']),
+    (0xfe14, &['\u{003B}']),
+    (0x1d409, &['\u{004A}']),
+    (0xfcd7, &['\u{0647}', '\u{062C}']),
+    (0xfe43, &['\u{300E}']),
+    (0x1d7d1, &['\u{0033}']),
+    (0x1d563, &['\u{0072}']),
+    (0xfb86, &['\u{068E}']),
+    (0xfc0d, &['\u{062A}', '\u{062E}']),
+    (0x1d4da, &['\u{004B}']),
+    (0x1d661, &['\u{006C}']),
+    (0x33c7, &['\u{0043}', '\u{006F}', '\u{002E}']),
+    (0x1d58e, &['\u{0069}']),
+    (0xfecc, &['\u{0639}']),
+    (0xfcfb, &['\u{0633}', '\u{0649}']),
+    (0xfd51, &['\u{062A}', '\u{062D}', '\u{062C}']),
+    (0x1ee87, &['\u{062D}']),
+    (0x1d4cc, &['\u{0077}']),
+    (0xff46, &['\u{0066}']),
+    (0x1d638, &['\u{0077}']),
+    (0x200a, &['\u{0020}']),
+    (0x24c0, &['\u{004B}']),
+    (0x2f8f, &['\u{884C}']),
+    (0x1d5fe, &['\u{0071}']),
+    (0x1d510, &['\u{004D}']),
+    (0x2f3f, &['\u{624B}']),
+    (0x1d64, &['\u{0075}']),
+    (0xfb29, &['\u{002B}']),
+    (0x1ee01, &['\u{0628}']),
+    (0x3259, &['\u{0032}', '\u{0039}']),
+    (0x1d623, &['\u{0062}']),
+    (0x32d9, &['\u{30B3}']),
+    (0xfd2a, &['\u{0633}', '\u{0631}']),
+    (0x1d671, &['\u{0042}']),
+    (0x24b3, &['\u{0028}', '\u{0078}', '\u{0029}']),
+    (0x2151, &['\u{0031}', '\u{2044}', '\u{0039}']),
+    (0xfce0, &['\u{064A}', '\u{0654}', '\u{0647}']),
+    (0xfb80, &['\u{0687}']),
+    (0xfeb1, &['\u{0633}']),
+    (0x1d6ee, &['\u{039D}']),
+    (0x32bc, &['\u{0034}', '\u{0037}']),
+    (0xfb7c, &['\u{0686}']),
+    (0x1d6ea, &['\u{0399}']),
+    (0x2fb4, &['\u{9801}']),
+    (0xffc2, &['\u{1161}']),
+    (0x1d693, &['\u{006A}']),
+    (0xfe56, &['\u{003F}']),
+    (0xfee8, &['\u{0646}']),
+    (0xfe8a, &['\u{064A}', '\u{0654}']),
+    (0x1d4d0, &['\u{0041}']),
+    (0x1d38, &['\u{004C}']),
+    (0x1d469, &['\u{0042}']),
+    (0xfd83, &['\u{0644}', '\u{062C}', '\u{062C}']),
+    (0xfb76, &['\u{0683}']),
+    (0xffa5, &['\u{11AC}']),
+    (0xfd22, &['\u{0635}', '\u{064A}']),
+    (0xfd81, &['\u{0644}', '\u{062D}', '\u{064A}']),
+    (0x2107, &['\u{0190}']),
+    (0xfcb0, &['\u{0633}', '\u{0645}']),
+    (0x1f212, &['\u{53CC}']),
+    (0x1ee21, &['\u{0628}']),
+    (0x333f, &['\u{30DB}', '\u{30F3}']),
+    (0x2230, &['\u{222E}', '\u{222E}', '\u{222E}']),
+    (0xff62, &['\u{300C}']),
+    (0x3177, &['\u{1129}']),
+    (0x3372, &['\u{0064}', '\u{0061}']),
+    (0xfd2c, &['\u{0636}', '\u{0631}']),
+    (0x3312, &['\u{30AD}', '\u{30E5}', '\u{30EA}', '\u{30FC}']),
+    (0x2f62, &['\u{7518}']),
+    (0x32b6, &['\u{0034}', '\u{0031}']),
+    (0x1d5a8, &['\u{0049}']),
+    (0xff86, &['\u{30CB}']),
+    (0xfef1, &['\u{064A}']),
+    (0x1d4b5, &['\u{005A}']),
+    (0x1d613, &['\u{004C}']),
+    (0x24b6, &['\u{0041}']),
+    (0x32c3, &['\u{0034}', '\u{6708}']),
+    (0x3301, &['\u{30A2}', '\u{30EB}', '\u{30D5}', '\u{30A1}']),
+    (0x1d57a, &['\u{004F}']),
+    (0x1d58b, &['\u{0066}']),
+    (0xfeaa, &['\u{062F}']),
+    (0xffb0, &['\u{111A}']),
+    (0x3386, &['\u{004D}', '\u{0042}']),
+    (0x2480, &['\u{0028}', '\u{0031}', '\u{0033}', '\u{0029}']),
+    (0x24c4, &['\u{004F}']),
+    (0x1d450, &['\u{0063}']),
+    (0x32be, &['\u{0034}', '\u{0039}']),
+    (0x1d53c, &['\u{0045}']),
+    (0xffb5, &['\u{1109}']),
+    (0xfd29, &['\u{0634}', '\u{0631}']),
+    (0x1d5a9, &['\u{004A}']),
+    (0x24b8, &['\u{0043}']),
+    (0x322a, &['\u{0028}', '\u{6708}', '\u{0029}']),
+    (0x2f08, &['\u{4EBA}']),
+    (0xff44, &['\u{0064}']),
+    (0xff2b, &['\u{004B}']),
+    (0xff90, &['\u{30DF}']),
+    (0x1d55c, &['\u{006B}']),
+    (0x330e, &['\u{30AB}', '\u{3099}', '\u{30ED}', '\u{30F3}']),
+    (0xfd2e, &['\u{0634}', '\u{062D}']),
+    (0xfc35, &['\u{0642}', '\u{0649}']),
+    (0x2f92, &['\u{898B}']),
+    (0x3317, &['\u{30AD}', '\u{30ED}', '\u{30EF}', '\u{30C3}', '\u{30C8}']),
+    (0x33ab, &['\u{004D}', '\u{0050}', '\u{0061}']),
+    (0xfef0, &['\u{0649}']),
+    (0x1f218, &['\u{4EA4}']),
+    (0xfdbd, &['\u{0646}', '\u{062C}', '\u{062D}']),
+    (0x326d, &['\u{1112}']),
+    (0x2c7c, &['\u{006A}']),
+    (0x1d6cc, &['\u{03BB}']),
+    (0x2f97, &['\u{8C55}']),
+    (0x3252, &['\u{0032}', '\u{0032}']),
+    (0x2091, &['\u{0065}']),
+    (0xff12, &['\u{0032}']),
+    (0x1d780, &['\u{03C1}']),
+    (0x1d63b, &['\u{007A}']),
+    (0x217b, &['\u{0078}', '\u{0069}', '\u{0069}']),
+    (0x2084, &['\u{0034}']),
+    (0x1d756, &['\u{0391}']),
+    (0xfc5c, &['\u{0631}', '\u{0670}']),
+    (0x318c, &['\u{1194}']),
+    (0xfd38, &['\u{0634}', '\u{062D}']),
+    (0xfe60, &['\u{0026}']),
+    (0x1d609, &['\u{0042}']),
+    (0x1d624, &['\u{0063}']),
+    (0x1eeb9, &['\u{0636}']),
+    (0x3349, &['\u{30DF}', '\u{30EA}']),
+    (0x1ca, &['\u{004E}', '\u{004A}']),
+    (0x3240, &['\u{0028}', '\u{796D}', '\u{0029}']),
+    (0xfba8, &['\u{06C1}']),
+    (0xffdc, &['\u{1175}']),
+    (0x3225, &['\u{0028}', '\u{516D}', '\u{0029}']),
+    (0xfe63, &['\u{002D}']),
+    (0x1d4ca, &['\u{0075}']),
+    (0x303a, &['\u{5345}']),
+    (0x1ee6d, &['\u{0646}']),
+    (0x3171, &['\u{111D}']),
+    (0x1d592, &['\u{006D}']),
+    (0xfda2, &['\u{062A}', '\u{062E}', '\u{0649}']),
+    (0x24e2, &['\u{0073}']),
+    (0xffcb, &['\u{1168}']),
+    (0x32b0, &['\u{591C}']),
+    (0x1d575, &['\u{004A}']),
+    (0xfc09, &['\u{0628}', '\u{0649}']),
+    (0x24dd, &['\u{006E}']),
+    (0xfd1a, &['\u{0634}', '\u{064A}']),
+    (0xff9d, &['\u{30F3}']),
+    (0xfd27, &['\u{0634}', '\u{062E}']),
+    (0x247b, &['\u{0028}', '\u{0038}', '\u{0029}']),
+    (0xfc57, &['\u{064A}', '\u{062E}']),
+    (0x1d794, &['\u{0395}']),
+    (0xfc3f, &['\u{0644}', '\u{062C}']),
+    (0x1d40c, &['\u{004D}']),
+    (0xfb14, &['\u{0574}', '\u{0565}']),
+    (0xff94, &['\u{30E4}']),
+    (0x32f1, &['\u{30E1}']),
+    (0xfbad, &['\u{06BE}']),
+    (0x212f, &['\u{0065}']),
+    (0x1ee92, &['\u{0642}']),
+    (0x3217, &['\u{0028}', '\u{110E}', '\u{1161}', '\u{0029}']),
+    (0xfcd8, &['\u{0647}', '\u{0645}']),
+    (0x1d647, &['\u{004C}']),
+    (0xfc5f, &['\u{0020}', '\u{064D}', '\u{0651}']),
+    (0xfebc, &['\u{0635}']),
+    (0xfbef, &['\u{064A}', '\u{0654}', '\u{0648}']),
+    (0x32c8, &['\u{0039}', '\u{6708}']),
+    (0x33a6, &['\u{006B}', '\u{006D}', '\u{0033}']),
+    (0x1d759, &['\u{0394}']),
+    (0x1d7a3, &['\u{03A4}']),
+    (0x33c1, &['\u{004D}', '\u{03A9}']),
+    (0xfc03, &['\u{064A}', '\u{0654}', '\u{0649}']),
+    (0xfea0, &['\u{062C}']),
+    (0x1d7f2, &['\u{0036}']),
+    (0x1d6c2, &['\u{03B1}']),
+    (0x1d5e, &['\u{03B3}']),
+    (0x320e, &['\u{0028}', '\u{1100}', '\u{1161}', '\u{0029}']),
+    (0x3145, &['\u{1109}']),
+    (0xfcdd, &['\u{064A}', '\u{0645}']),
+    (0x1ee72, &['\u{0642}']),
+    (0x1d67, &['\u{03B3}']),
+    (0x1d51e, &['\u{0061}']),
+    (0x1d6a5, &['\u{0237}']),
+    (0x2fbe, &['\u{9B25}']),
+    (0x24bd, &['\u{0048}']),
+    (0xfbdf, &['\u{06CB}']),
+    (0xfec7, &['\u{0638}']),
+    (0x1ee16, &['\u{062B}']),
+    (0x1d6e2, &['\u{0391}']),
+    (0x3296, &['\u{8CA1}']),
+    (0xfc66, &['\u{064A}', '\u{0654}', '\u{0645}']),
+    (0x1f23a, &['\u{55B6}']),
+    (0x3291, &['\u{682A}']),
+    (0x1fcd, &['\u{0020}', '\u{0313}', '\u{0300}']),
+    (0x1d534, &['\u{0077}']),
+    (0x32a6, &['\u{4E0B}']),
+    (0x3257, &['\u{0032}', '\u{0037}']),
+    (0xfc0a, &['\u{0628}', '\u{064A}']),
+    (0x331a, &['\u{30AF}', '\u{30EB}', '\u{30BB}', '\u{3099}', '\u{30A4}', '\u{30ED}']),
+    (0x1d50f, &['\u{004C}']),
+    (0x37a, &['\u{0020}', '\u{0345}']),
+    (0xfd0b, &['\u{0634}', '\u{062E}']),
+    (0x1f118, &['\u{0028}', '\u{0049}', '\u{0029}']),
+    (0xfd5f, &['\u{0633}', '\u{0645}', '\u{062D}']),
+    (0xfcd2, &['\u{0646}', '\u{062C}']),
+    (0x2189, &['\u{0030}', '\u{2044}', '\u{0033}']),
+    (0x1d528, &['\u{006B}']),
+    (0x1d61, &['\u{03C7}']),
+    (0xfcc6, &['\u{0643}', '\u{062E}']),
+    (0x2105, &['\u{0063}', '\u{002F}', '\u{006F}']),
+    (0xfbff, &['\u{06CC}']),
+    (0xfe47, &['\u{005B}']),
+    (0x1d71d, &['\u{0392}']),
+    (0x1ee42, &['\u{062C}']),
+    (0x33e1, &['\u{0032}', '\u{65E5}']),
+    (0x33d8, &['\u{0070}', '\u{002E}', '\u{006D}', '\u{002E}']),
+    (0x1d684, &['\u{0055}']),
+    (0x3358, &['\u{0030}', '\u{70B9}']),
+    (0xfd6b, &['\u{0634}', '\u{0645}', '\u{062E}']),
+    (0x1d4fa, &['\u{0071}']),
+    (0x1d7a7, &['\u{03A8}']),
+    (0xfb51, &['\u{0671}']),
+    (0x33fd, &['\u{0033}', '\u{0030}', '\u{65E5}']),
+    (0xfeb6, &['\u{0634}']),
+    (0xa0, &['\u{0020}']),
+    (0x1d46a, &['\u{0043}']),
+    (0x1d404, &['\u{0045}']),
+    (0x1d4a6, &['\u{004B}']),
+    (0xf79, &['\u{0FB3}', '\u{0F71}', '\u{0F80}']),
+    (0x323d, &['\u{0028}', '\u{4F01}', '\u{0029}']),
+    (0x2f54, &['\u{6C34}']),
+    (0x1d52, &['\u{006F}']),
+    (0xfd87, &['\u{0644}', '\u{0645}', '\u{062D}']),
+    (0x1d76f, &['\u{2207}']),
+    (0x1d42, &['\u{0057}']),
+    (0x2145, &['\u{0044}']),
+    (0xfd53, &['\u{062A}', '\u{062D}', '\u{0645}']),
+    (0xfccc, &['\u{0644}', '\u{0645}']),
+    (0xfbaf, &['\u{06D2}']),
+    (0x1d5f5, &['\u{0068}']),
+    (0x1d60c, &['\u{0045}']),
+    (0x2e3, &['\u{0078}']),
+    (0x1f244, &['\u{3014}', '\u{70B9}', '\u{3015}']),
+    (0xffe3, &['\u{0020}', '\u{0304}']),
+    (0x1d5f7, &['\u{006A}']),
+    (0xfd02, &['\u{062C}', '\u{064A}']),
+    (0xfe9b, &['\u{062B}']),
+    (0xffe8, &['\u{2502}']),
+    (0xfd2f, &['\u{0634}', '\u{062E}']),
+    (0x3318, &['\u{30AF}', '\u{3099}', '\u{30E9}', '\u{30E0}']),
+    (0x1f13f, &['\u{0050}']),
+    (0x1d5d3, &['\u{007A}']),
+    (0xfd9f, &['\u{062A}', '\u{062C}', '\u{064A}']),
+    (0x1ee82, &['\u{062C}']),
+    (0x2476, &['\u{0028}', '\u{0033}', '\u{0029}']),
+    (0x248b, &['\u{0034}', '\u{002E}']),
+    (0x1d63, &['\u{0072}']),
+    (0x335a, &['\u{0032}', '\u{70B9}']),
+    (0xfd7a, &['\u{063A}', '\u{0645}', '\u{064A}']),
+    (0xffa2, &['\u{1101}']),
+    (0x1ffd, &['\u{0020}', '\u{0301}']),
+    (0x3303, &['\u{30A2}', '\u{30FC}', '\u{30EB}']),
+    (0xff70, &['\u{30FC}']),
+    (0x1d7ad, &['\u{03B4}']),
+    (0x32a0, &['\u{9805}']),
+    (0x2f52, &['\u{6C0F}']),
+    (0x24a4, &['\u{0028}', '\u{0069}', '\u{0029}']),
+    (0xfce1, &['\u{0628}', '\u{0645}']),
+    (0x1d654, &['\u{0059}']),
+    (0x1d61e, &['\u{0057}']),
+    (0x2f87, &['\u{821B}']),
+    (0xfd86, &['\u{0644}', '\u{062E}', '\u{0645}']),
+    (0x1f11a, &['\u{0028}', '\u{004B}', '\u{0029}']),
+    (0x2096, &['\u{006B}']),
+    (0xfe34, &['\u{005F}']),
+    (0xfb24, &['\u{05DB}']),
+    (0xab5e, &['\u{026B}']),
+    (0x1d543, &['\u{004C}']),
+    (0x2089, &['\u{0039}']),
+    (0x1d48f, &['\u{006E}']),
+    (0xfb83, &['\u{068D}']),
+    (0x1d6b7, &['\u{03A0}']),
+    (0x336c, &['\u{0032}', '\u{0030}', '\u{70B9}']),
+    (0x1d660, &['\u{006B}']),
+    (0x1d6d4, &['\u{03C3}']),
+    (0xff01, &['\u{0021}']),
+    (0x1d769, &['\u{03A4}']),
+    (0x1d74e, &['\u{03C9}']),
+    (0x1d7db, &['\u{0033}']),
+    (0x1d4c5, &['\u{0070}']),
+    (0x1ee99, &['\u{0636}']),
+    (0x2f35, &['\u{5EF4}']),
+    (0xfb9c, &['\u{06B1}']),
+    (0x1ee06, &['\u{0632}']),
+    (0x133, &['\u{0069}', '\u{006A}']),
+    (0xfdc2, &['\u{0628}', '\u{062D}', '\u{064A}']),
+    (0x1d45b, &['\u{006E}']),
+    (0x2b3, &['\u{0072}']),
+    (0xfc25, &['\u{0636}', '\u{0645}']),
+    (0x149, &['\u{02BC}', '\u{006E}']),
+    (0xfd5d, &['\u{0633}', '\u{062C}', '\u{062D}']),
+    (0xfc6f, &['\u{0628}', '\u{064A}']),
+    (0x2485, &['\u{0028}', '\u{0031}', '\u{0038}', '\u{0029}']),
+    (0xfbdd, &['\u{06C7}', '\u{0674}']),
+    (0x2fce, &['\u{9F13}']),
+    (0x1d706, &['\u{03BB}']),
+    (0x2175, &['\u{0076}', '\u{0069}']),
+    (0xfb67, &['\u{0679}']),
+    (0x2fbd, &['\u{9ADF}']),
+    (0x1d7ae, &['\u{03B5}']),
+    (0xfc02, &['\u{064A}', '\u{0654}', '\u{0645}']),
+    (0x24ba, &['\u{0045}']),
+    (0xfc33, &['\u{0642}', '\u{062D}']),
+    (0xfe69, &['\u{0024}']),
+    (0x326c, &['\u{1111}']),
+    (0x24bc, &['\u{0047}']),
+    (0x2fbb, &['\u{9AA8}']),
+    (0x1d514, &['\u{0051}']),
+    (0x1d770, &['\u{03B1}']),
+    (0xfd97, &['\u{0646}', '\u{062C}', '\u{0645}']),
+    (0xfc11, &['\u{062B}', '\u{062C}']),
+    (0xfd1e, &['\u{062C}', '\u{064A}']),
+    (0xfbd3, &['\u{06AD}']),
+    (0x1d669, &['\u{0074}']),
+    (0xfd0f, &['\u{0635}', '\u{0631}']),
+    (0x1f146, &['\u{0057}']),
+    (0x1eeb3, &['\u{0631}']),
+    (0x2121, &['\u{0054}', '\u{0045}', '\u{004C}']),
+    (0x2f82, &['\u{81E3}']),
+    (0x1f144, &['\u{0055}']),
+    (0xfba2, &['\u{06BB}']),
+    (0x1f216, &['\u{89E3}']),
+    (0x2f8e, &['\u{8840}']),
+    (0xfe5a, &['\u{0029}']),
+    (0xfd68, &['\u{0634}', '\u{062D}', '\u{0645}']),
+    (0x2481, &['\u{0028}', '\u{0031}', '\u{0034}', '\u{0029}']),
+    (0x1ee69, &['\u{064A}']),
+    (0xff45, &['\u{0065}']),
+    (0xfc76, &['\u{062B}', '\u{0631}']),
+    (0x1d4ea, &['\u{0061}']),
+    (0xfefb, &['\u{0644}', '\u{0627}']),
+    (0x1d6e1, &['\u{03C0}']),
+    (0x1f117, &['\u{0028}', '\u{0048}', '\u{0029}']),
+    (0x3250, &['\u{0050}', '\u{0054}', '\u{0045}']),
+    (0x1d4b1, &['\u{0056}']),
+    (0xfb77, &['\u{0683}']),
+    (0x1d614, &['\u{004D}']),
+    (0x3346, &['\u{30DE}', '\u{30EB}', '\u{30AF}']),
+    (0x1d67e, &['\u{004F}']),
+    (0x1d4f8, &['\u{006F}']),
+    (0x1f109, &['\u{0038}', '\u{002C}']),
+    (0x32f8, &['\u{30EB}']),
+    (0x3143, &['\u{1108}']),
+    (0x2db, &['\u{0020}', '\u{0328}']),
+    (0xff25, &['\u{0045}']),
+    (0x2137, &['\u{05D2}']),
+    (0x2090, &['\u{0061}']),
+    (0x1d5e5, &['\u{0052}']),
+    (0x2166, &['\u{0056}', '\u{0049}', '\u{0049}']),
+    (0x1d4d7, &['\u{0048}']),
+    (0x2fa9, &['\u{961C}']),
+    (0x3206, &['\u{0028}', '\u{1109}', '\u{0029}']),
+    (0x2f14, &['\u{5315}']),
+    (0x2f19, &['\u{5369}']),
+    (0x1d6f4, &['\u{03A3}']),
+    (0xfd74, &['\u{0637}', '\u{0645}', '\u{064A}']),
+    (0x2037, &['\u{2035}', '\u{2035}', '\u{2035}']),
+    (0x1d559, &['\u{0068}']),
+    (0x2fa4, &['\u{91C6}']),
+    (0x3269, &['\u{110E}']),
+    (0xfc9e, &['\u{0628}', '\u{062E}']),
+    (0xff33, &['\u{0053}']),
+    (0x1d77d, &['\u{03BE}']),
+    (0x33cf, &['\u{006B}', '\u{0074}']),
+    (0x2f67, &['\u{7592}']),
+    (0x3d4, &['\u{03A5}', '\u{0308}']),
+    (0xfc82, &['\u{0643}', '\u{0645}']),
+    (0x1ee98, &['\u{0630}']),
+    (0x2f1f, &['\u{571F}']),
+    (0x3313, &['\u{30AD}', '\u{3099}', '\u{30EB}', '\u{30BF}', '\u{3099}', '\u{30FC}']),
+    (0xfed6, &['\u{0642}']),
+    (0x2f91, &['\u{897E}']),
+    (0x1ee67, &['\u{062D}']),
+    (0xfd32, &['\u{0634}', '\u{0647}']),
+    (0xff53, &['\u{0073}']),
+    (0xff31, &['\u{0051}']),
+    (0xab5c, &['\u{A727}']),
+    (0x2155, &['\u{0031}', '\u{2044}', '\u{0035}']),
+    (0x1eeb6, &['\u{062B}']),
+    (0x24b2, &['\u{0028}', '\u{0077}', '\u{0029}']),
+    (0x333b, &['\u{30D8}', '\u{309A}', '\u{30FC}', '\u{30B7}', '\u{3099}']),
+    (0xff6f, &['\u{30C3}']),
+    (0x3221, &['\u{0028}', '\u{4E8C}', '\u{0029}']),
+    (0x32a7, &['\u{5DE6}']),
+    (0x1d4a2, &['\u{0047}']),
+    (0x203e, &['\u{0020}', '\u{0305}']),
+    (0x3d1, &['\u{03B8}']),
+    (0x323c, &['\u{0028}', '\u{76E3}', '\u{0029}']),
+    (0xfb91, &['\u{06A9}']),
+    (0x3379, &['\u{0064}', '\u{006D}', '\u{0033}']),
+    (0xff4b, &['\u{006B}']),
+    (0x1f231, &['\u{6253}']),
+    (0x24a1, &['\u{0028}', '\u{0066}', '\u{0029}']),
+    (0x2f29, &['\u{5C0F}']),
+    (0xff1d, &['\u{003D}']),
+    (0x1f110, &['\u{0028}', '\u{0041}', '\u{0029}']),
+    (0x1d2c, &['\u{0041}']),
+    (0x1d7b8, &['\u{03BF}']),
+    (0x32ec, &['\u{30D8}']),
+    (0x1d4c3, &['\u{006E}']),
+    (0x1ee7b, &['\u{063A}']),
+    (0x1d5e3, &['\u{0050}']),
+    (0x1d49, &['\u{0065}']),
+    (0xfc67, &['\u{064A}', '\u{0654}', '\u{0646}']),
+    (0xb3, &['\u{0033}']),
+    (0xfc2f, &['\u{0641}', '\u{062E}']),
+    (0x1d65c, &['\u{0067}']),
+    (0x2f94, &['\u{8A00}']),
+    (0x1d444, &['\u{0051}']),
+    (0x33a7, &['\u{006D}', '\u{2215}', '\u{0073}']),
+    (0x1d51f, &['\u{0062}']),
+    (0xfd95, &['\u{0646}', '\u{062D}', '\u{0645}']),
+    (0xff5f, &['\u{2985}']),
+    (0x2174, &['\u{0076}']),
+    (0x337e, &['\u{660E}', '\u{6CBB}']),
+    (0x1d440, &['\u{004D}']),
+    (0x210a, &['\u{0067}']),
+    (0x207c, &['\u{003D}']),
+    (0x1d6fe, &['\u{03B3}']),
+    (0x1ee0d, &['\u{0646}']),
+    (0xfe9c, &['\u{062B}']),
+    (0x3362, &['\u{0031}', '\u{0030}', '\u{70B9}']),
+    (0x3334, &['\u{30D5}', '\u{3099}', '\u{30C3}', '\u{30B7}', '\u{30A7}', '\u{30EB}']),
+    (0x215f, &['\u{0031}', '\u{2044}']),
+    (0xff4a, &['\u{006A}']),
+    (0x1d477, &['\u{0050}']),
+    (0x1d525, &['\u{0068}']),
+    (0xfc2e, &['\u{0641}', '\u{062D}']),
+    (0x216f, &['\u{004D}']),
+    (0xff8e, &['\u{30DB}']),
+    (0x1d744, &['\u{03BF}']),
+    (0x1d709, &['\u{03BE}']),
+    (0x1ee62, &['\u{062C}']),
+    (0xfeb5, &['\u{0634}']),
+    (0x2f4d, &['\u{6B79}']),
+    (0x3f9, &['\u{03A3}']),
+    (0x334d, &['\u{30E1}', '\u{30FC}', '\u{30C8}', '\u{30EB}']),
+    (0x1d497, &['\u{0076}']),
+    (0x33c2, &['\u{0061}', '\u{002E}', '\u{006D}', '\u{002E}']),
+    (0xfd01, &['\u{062C}', '\u{0649}']),
+    (0x1d56f, &['\u{0044}']),
+    (0x2008, &['\u{0020}']),
+    (0xfd8f, &['\u{0645}', '\u{062E}', '\u{0645}']),
+    (0x338d, &['\u{03BC}', '\u{0067}']),
+    (0x3227, &['\u{0028}', '\u{516B}', '\u{0029}']),
+    (0x1d42b, &['\u{0072}']),
+    (0x249d, &['\u{0028}', '\u{0062}', '\u{0029}']),
+    (0x1d53e, &['\u{0047}']),
+    (0x1d50a, &['\u{0047}']),
+    (0xfe81, &['\u{0627}', '\u{0653}']),
+    (0x3397, &['\u{0064}', '\u{006C}']),
+    (0xfd30, &['\u{0634}', '\u{0645}']),
+    (0x2f3a, &['\u{5F61}']),
+    (0x2fc5, &['\u{9E7F}']),
+    (0xfc3e, &['\u{0643}', '\u{064A}']),
+    (0xfe7b, &['\u{0640}', '\u{0650}']),
+    (0x1d56c, &['\u{0041}']),
+    (0xffaf, &['\u{11B5}']),
+    (0xfbfe, &['\u{06CC}']),
+    (0x1d59f, &['\u{007A}']),
+    (0x3376, &['\u{0070}', '\u{0063}']),
+    (0x203c, &['\u{0021}', '\u{0021}']),
+    (0xff78, &['\u{30AF}']),
+    (0x1f104, &['\u{0033}', '\u{002C}']),
+    (0xfce6, &['\u{062B}', '\u{0647}']),
+    (0x1d554, &['\u{0063}']),
+    (0xfd8a, &['\u{0645}', '\u{062D}', '\u{0645}']),
+    (0x2082, &['\u{0032}']),
+    (0xfbf4, &['\u{064A}', '\u{0654}', '\u{06C8}']),
+    (0x1d43d, &['\u{004A}']),
+    (0x1d63a, &['\u{0079}']),
+    (0x1d49a, &['\u{0079}']),
+    (0x33b6, &['\u{03BC}', '\u{0056}']),
+    (0xffce, &['\u{116B}']),
+    (0x1d441, &['\u{004E}']),
+    (0x210f, &['\u{0127}']),
+    (0x1d4ef, &['\u{0066}']),
+    (0x1d5e9, &['\u{0056}']),
+    (0x326b, &['\u{1110}']),
+    (0x1d699, &['\u{0070}']),
+    (0x1ee0c, &['\u{0645}']),
+    (0x1f130, &['\u{0041}']),
+    (0x2fcd, &['\u{9F0E}']),
+    (0x315e, &['\u{1170}']),
+    (0x3d6, &['\u{03C0}']),
+    (0x24e5, &['\u{0076}']),
+    (0xfbf6, &['\u{064A}', '\u{0654}', '\u{06D0}']),
+    (0x32fe, &['\u{30F2}']),
+    (0x3319, &['\u{30AF}', '\u{3099}', '\u{30E9}', '\u{30E0}', '\u{30C8}', '\u{30F3}']),
+    (0xfc51, &['\u{0647}', '\u{062C}']),
+    (0xfda0, &['\u{062A}', '\u{062C}', '\u{0649}']),
+    (0x33f0, &['\u{0031}', '\u{0037}', '\u{65E5}']),
+    (0xfbd7, &['\u{06C7}']),
+    (0x1ee0a, &['\u{0643}']),
+    (0xfc20, &['\u{0635}', '\u{062D}']),
+    (0xfb06, &['\u{0073}', '\u{0074}']),
+    (0xfd24, &['\u{0636}', '\u{064A}']),
+    (0xfeeb, &['\u{0647}']),
+    (0xfc53, &['\u{0647}', '\u{0649}']),
+    (0xfcae, &['\u{0633}', '\u{062D}']),
+    (0x1d76e, &['\u{03A9}']),
+    (0x1d494, &['\u{0073}']),
+    (0x1d61f, &['\u{0058}']),
+    (0x1f107, &['\u{0036}', '\u{002C}']),
+    (0x2102, &['\u{0043}']),
+    (0xff2f, &['\u{004F}']),
+    (0x1d76a, &['\u{03A5}']),
+    (0x1d65b, &['\u{0066}']),
+    (0xfe70, &['\u{0020}', '\u{064B}']),
+    (0x333c, &['\u{30D8}', '\u{3099}', '\u{30FC}', '\u{30BF}']),
+    (0x2b4, &['\u{0279}']),
+    (0xfc55, &['\u{064A}', '\u{062C}']),
+    (0x1d61c, &['\u{0055}']),
+    (0x2f17, &['\u{5341}']),
+    (0x3353, &['\u{30EB}', '\u{30D2}', '\u{309A}', '\u{30FC}']),
+    (0x1d54e, &['\u{0057}']),
+    (0x331b, &['\u{30AF}', '\u{30ED}', '\u{30FC}', '\u{30CD}']),
+    (0x1d7e8, &['\u{0036}']),
+    (0x1d760, &['\u{039B}']),
+    (0xff0b, &['\u{002B}']),
+    (0x1d6f6, &['\u{03A5}']),
+    (0x1d58a, &['\u{0065}']),
+    (0x1d5c2, &['\u{0069}']),
+    (0x2f7d, &['\u{800C}']),
+    (0xfd09, &['\u{0634}', '\u{062C}']),
+    (0x1d68, &['\u{03C1}']),
+    (0x1ee4d, &['\u{0646}']),
+    (0x3229, &['\u{0028}', '\u{5341}', '\u{0029}']),
+    (0x2093, &['\u{0078}']),
+    (0x3228, &['\u{0028}', '\u{4E5D}', '\u{0029}']),
+    (0x1d44f, &['\u{0062}']),
+    (0x1d687, &['\u{0058}']),
+    (0x3281, &['\u{4E8C}']),
+    (0x320d, &['\u{0028}', '\u{1112}', '\u{0029}']),
+    (0x2fa1, &['\u{8FB5}']),
+    (0xfc61, &['\u{0020}', '\u{064F}', '\u{0651}']),
+    (0x1d700, &['\u{03B5}']),
+    (0x1d42f, &['\u{0076}']),
+    (0x2f77, &['\u{7CF8}']),
+    (0x1d73b, &['\u{03B6}']),
+    (0xfba3, &['\u{06BB}']),
+    (0xfe7c, &['\u{0020}', '\u{0651}']),
+    (0xfd60, &['\u{0633}', '\u{0645}', '\u{062D}']),
+    (0x1d6e9, &['\u{0398}']),
+    (0x3279, &['\u{1110}', '\u{1161}']),
+    (0x3294, &['\u{540D}']),
+    (0xfec8, &['\u{0638}']),
+    (0x3200, &['\u{0028}', '\u{1100}', '\u{0029}']),
+    (0x2163, &['\u{0049}', '\u{0056}']),
+    (0x3220, &['\u{0028}', '\u{4E00}', '\u{0029}']),
+    (0x24a2, &['\u{0028}', '\u{0067}', '\u{0029}']),
+    (0xfd50, &['\u{062A}', '\u{062C}', '\u{0645}']),
+    (0x1f131, &['\u{0042}']),
+    (0x1f16a, &['\u{004D}', '\u{0043}']),
+    (0x1d799, &['\u{039A}']),
+    (0xfc9d, &['\u{0628}', '\u{062D}']),
+    (0x1fbf0, &['\u{0030}']),
+    (0x2dc, &['\u{0020}', '\u{0303}']),
+    (0xfdf4, &['\u{0645}', '\u{062D}', '\u{0645}', '\u{062F}']),
+    (0x2fb7, &['\u{98DF}']),
+    (0x2f8d, &['\u{866B}']),
+    (0x1fbf7, &['\u{0037}']),
+    (0x1ee05, &['\u{0648}']),
+    (0x1eea3, &['\u{062F}']),
+    (0x2f79, &['\u{7F51}']),
+    (0x323e, &['\u{0028}', '\u{8CC7}', '\u{0029}']),
+    (0x246c, &['\u{0031}', '\u{0033}']),
+    (0xfd76, &['\u{0639}', '\u{0645}', '\u{0645}']),
+    (0x1d6c0, &['\u{03A9}']),
+    (0x3328, &['\u{30CA}', '\u{30CE}']),
+    (0x24ea, &['\u{0030}']),
+    (0x2fae, &['\u{975E}']),
+    (0x2f6d, &['\u{77DB}']),
+    (0xfe11, &['\u{3001}']),
+    (0xff3a, &['\u{005A}']),
+    (0x3151, &['\u{1163}']),
+    (0x3344, &['\u{30DE}', '\u{30A4}', '\u{30EB}']),
+    (0xfcab, &['\u{062E}', '\u{062C}']),
+    (0x3310, &['\u{30AD}', '\u{3099}', '\u{30AB}', '\u{3099}']),
+    (0x1d48d, &['\u{006C}']),
+    (0x1d626, &['\u{0065}']),
+    (0x1d5ae, &['\u{004F}']),
+    (0xff65, &['\u{30FB}']),
+    (0x33eb, &['\u{0031}', '\u{0032}', '\u{65E5}']),
+    (0x337a, &['\u{0049}', '\u{0055}']),
+    (0xfbd4, &['\u{06AD}']),
+    (0xfec5, &['\u{0638}']),
+    (0x1d7c4, &['\u{03B5}']),
+    (0xfc23, &['\u{0636}', '\u{062D}']),
+    (0x1f108, &['\u{0037}', '\u{002C}']),
+    (0x215e, &['\u{0037}', '\u{2044}', '\u{0038}']),
+    (0xfc73, &['\u{062A}', '\u{0646}']),
+    (0x1d6f9, &['\u{03A8}']),
+    (0x24b1, &['\u{0028}', '\u{0076}', '\u{0029}']),
+    (0x1d664, &['\u{006F}']),
+    (0x2133, &['\u{004D}']),
+    (0x1dbf, &['\u{03B8}']),
+    (0x1ee36, &['\u{062B}']),
+    (0x1d427, &['\u{006E}']),
+    (0xfcee, &['\u{0646}', '\u{0645}']),
+    (0xfd25, &['\u{0634}', '\u{062C}']),
+    (0xff5e, &['\u{007E}']),
+    (0xfd19, &['\u{0634}', '\u{0649}']),
+    (0x1d75f, &['\u{039A}']),
+    (0xfb16, &['\u{057E}', '\u{0576}']),
+    (0x1d4f9, &['\u{0070}']),
+    (0x2f43, &['\u{6597}']),
+    (0xfd1d, &['\u{062C}', '\u{0649}']),
+    (0x3181, &['\u{114C}']),
+    (0x1f239, &['\u{5272}']),
+    (0xff3e, &['\u{005E}']),
+    (0x1d7be, &['\u{03C5}']),
+    (0x1d9f, &['\u{025C}']),
+    (0x2fc3, &['\u{9CE5}']),
+    (0x3256, &['\u{0032}', '\u{0036}']),
+    (0x1d4e1, &['\u{0052}']),
+    (0xff35, &['\u{0055}']),
+    (0x1ee54, &['\u{0634}']),
+    (0xff59, &['\u{0079}']),
+    (0x1f12c, &['\u{0052}']),
+    (0x1d694, &['\u{006B}']),
+    (0xfe37, &['\u{007B}']),
+    (0xff02, &['\u{0022}']),
+    (0xffd2, &['\u{116D}']),
+    (0xffbe, &['\u{1112}']),
+    (0x1ee2f, &['\u{0639}']),
+    (0xfc68, &['\u{064A}', '\u{0654}', '\u{0649}']),
+    (0xffae, &['\u{11B4}']),
+    (0x2003, &['\u{0020}']),
+    (0x1d7a6, &['\u{03A7}']),
+    (0xfb54, &['\u{067B}']),
+    (0x2f12, &['\u{529B}']),
+    (0x222d, &['\u{222B}', '\u{222B}', '\u{222B}']),
+    (0x2da, &['\u{0020}', '\u{030A}']),
+    (0x330d, &['\u{30AB}', '\u{30ED}', '\u{30EA}', '\u{30FC}']),
+    (0x1d5cc, &['\u{0073}']),
+    (0x1d7c8, &['\u{03C1}']),
+    (0x3196, &['\u{4E0A}']),
+    (0x32b4, &['\u{0033}', '\u{0039}']),
+    (0xfc3d, &['\u{0643}', '\u{0649}']),
+    (0xfd18, &['\u{0633}', '\u{064A}']),
+    (0xfe87, &['\u{0627}', '\u{0655}']),
+    (0x1d5b0, &['\u{0051}']),
+    (0x33e2, &['\u{0033}', '\u{65E5}']),
+    (0x1f23b, &['\u{914D}']),
+    (0x1d731, &['\u{03A6}']),
+    (0x2087, &['\u{0037}']),
+    (0x1d75d, &['\u{0398}']),
+    (0x1d5c, &['\u{1D25}']),
+    (0x2f40, &['\u{652F}']),
+    (0x1d690, &['\u{0067}']),
+    (0x1d6c5, &['\u{03B4}']),
+    (0xff2e, &['\u{004E}']),
+    (0x2154, &['\u{0032}', '\u{2044}', '\u{0033}']),
+    (0x1d44d, &['\u{005A}']),
+    (0xfdc4, &['\u{0639}', '\u{062C}', '\u{0645}']),
+    (0x321c, &['\u{0028}', '\u{110C}', '\u{116E}', '\u{0029}']),
+    (0x1fee, &['\u{0020}', '\u{0308}', '\u{0301}']),
+    (0x1d448, &['\u{0055}']),
+    (0x1d788, &['\u{03C9}']),
+    (0x1d5e2, &['\u{004F}']),
+    (0x1d797, &['\u{0398}']),
+    (0x32ef, &['\u{30DF}']),
+    (0x1d7f6, &['\u{0030}']),
+    (0x1d691, &['\u{0068}']),
+    (0x1f11e, &['\u{0028}', '\u{004F}', '\u{0029}']),
+    (0x1d748, &['\u{03C3}']),
+    (0x2f3b, &['\u{5F73}']),
+    (0x3382, &['\u{03BC}', '\u{0041}']),
+    (0x1d746, &['\u{03C1}']),
+    (0xff1b, &['\u{003B}']),
+    (0x3226, &['\u{0028}', '\u{4E03}', '\u{0029}']),
+    (0xff93, &['\u{30E2}']),
+    (0x3314, &['\u{30AD}', '\u{30ED}']),
+    (0x1d6df, &['\u{03C6}']),
+    (0xff8f, &['\u{30DE}']),
+    (0xfb5a, &['\u{0680}']),
+    (0x1d583, &['\u{0058}']),
+    (0x1d578, &['\u{004D}']),
+    (0xb4, &['\u{0020}', '\u{0301}']),
+    (0xfd98, &['\u{0646}', '\u{062C}', '\u{0645}']),
+    (0x1d65a, &['\u{0065}']),
+    (0x334c, &['\u{30E1}', '\u{30AB}', '\u{3099}', '\u{30C8}', '\u{30F3}']),
+    (0xff7f, &['\u{30BD}']),
+    (0x1f240, &['\u{3014}', '\u{672C}', '\u{3015}']),
+    (0x1db0, &['\u{0274}']),
+    (0x1d771, &['\u{03B2}']),
+    (0x1d739, &['\u{03B4}']),
+    (0x33ad, &['\u{0072}', '\u{0061}', '\u{0064}']),
+    (0xfdf7, &['\u{0639}', '\u{0644}', '\u{064A}', '\u{0647}']),
+    (0x1d792, &['\u{0393}']),
+    (0x2fbc, &['\u{9AD8}']),
+    (0x1d7c9, &['\u{03C0}']),
+    (0x1d461, &['\u{0074}']),
+    (0x1ee5d, &['\u{06BA}']),
+    (0x1d555, &['\u{0064}']),
+    (0x32c5, &['\u{0036}', '\u{6708}']),
+    (0x1d7ca, &['\u{03DC}']),
+    (0x1d639, &['\u{0078}']),
+    (0x317e, &['\u{1136}']),
+    (0x3159, &['\u{116B}']),
+    (0xfe95, &['\u{062A}']),
+    (0xff05, &['\u{0025}']),
+    (0x24d4, &['\u{0065}']),
+    (0xfe3c, &['\u{3011}']),
+    (0x1d70e, &['\u{03C3}']),
+    (0x1ee1d, &['\u{06BA}']),
+    (0x2f65, &['\u{7530}']),
+    (0x1d421, &['\u{0068}']),
+    (0xff77, &['\u{30AD}']),
+    (0x10fc, &['\u{10DC}']),
+    (0x33d6, &['\u{006D}', '\u{006F}', '\u{006C}']),
+    (0x329a, &['\u{7537}']),
+    (0xfc2d, &['\u{0641}', '\u{062C}']),
+    (0x1ee19, &['\u{0636}']),
+    (0x1f229, &['\u{4E00}']),
+    (0x1d646, &['\u{004B}']),
+    (0x1d6a, &['\u{03C7}']),
+    (0x3243, &['\u{0028}', '\u{81F3}', '\u{0029}']),
+    (0x33e7, &['\u{0038}', '\u{65E5}']),
+    (0x211c, &['\u{0052}']),
+    (0x2168, &['\u{0049}', '\u{0058}']),
+    (0xfea4, &['\u{062D}']),
+    (0xfdf8, &['\u{0648}', '\u{0633}', '\u{0644}', '\u{0645}']),
+    (0xfe96, &['\u{062A}']),
+    (0xfb60, &['\u{067A}']),
+    (0x1d61a, &['\u{0053}']),
+    (0xfc1e, &['\u{0633}', '\u{062E}']),
+    (0x1d5a4, &['\u{0045}']),
+    (0x3180, &['\u{1147}']),
+    (0x24cb, &['\u{0056}']),
+    (0x1eeba, &['\u{0638}']),
+    (0x1d479, &['\u{0052}']),
+    (0x677, &['\u{06C7}', '\u{0674}']),
+    (0x1ee1e, &['\u{06A1}']),
+    (0x248d, &['\u{0036}', '\u{002E}']),
+    (0xffa8, &['\u{1104}']),
+    (0xfc96, &['\u{064A}', '\u{064A}']),
+    (0x1d566, &['\u{0075}']),
+    (0x2fcc, &['\u{9EFD}']),
+    (0x32ff, &['\u{4EE4}', '\u{548C}']),
+    (0x1ee7a, &['\u{0638}']),
+    (0x1d486, &['\u{0065}']),
+    (0x1d637, &['\u{0076}']),
+    (0xfb5c, &['\u{0680}']),
+    (0x2081, &['\u{0031}']),
+    (0xfc58, &['\u{064A}', '\u{0645}']),
+    (0xfc37, &['\u{0643}', '\u{0627}']),
+    (0x1d5d4, &['\u{0041}']),
+    (0xfda3, &['\u{062A}', '\u{0645}', '\u{064A}']),
+    (0xff68, &['\u{30A3}']),
+    (0x1d64a, &['\u{004F}']),
+    (0x1eeae, &['\u{0633}']),
+    (0x2a0c, &['\u{222B}', '\u{222B}', '\u{222B}', '\u{222B}']),
+    (0x1f228, &['\u{6355}']),
+    (0xfd2b, &['\u{0635}', '\u{0631}']),
+    (0x1d753, &['\u{03C6}']),
+    (0x3398, &['\u{006B}', '\u{006C}']),
+    (0xfc90, &['\u{0649}', '\u{0670}']),
+    (0x2f18, &['\u{535C}']),
+    (0x2d9, &['\u{0020}', '\u{0307}']),
+    (0xfe62, &['\u{002B}']),
+    (0x1d43a, &['\u{0047}']),
+    (0xfd23, &['\u{0636}', '\u{0649}']),
+    (0x2f49, &['\u{6708}']),
+    (0xfe5f, &['\u{0023}']),
+    (0xfb5f, &['\u{067A}']),
+    (0x33aa, &['\u{006B}', '\u{0050}', '\u{0061}']),
+    (0x1d6f0, &['\u{039F}']),
+    (0x316d, &['\u{11D9}']),
+    (0x1d424, &['\u{006B}']),
+    (0x1d677, &['\u{0048}']),
+    (0x1d589, &['\u{0064}']),
+    (0x1d53b, &['\u{0044}']),
+    (0x1d7e7, &['\u{0035}']),
+    (0x1fc0, &['\u{0020}', '\u{0342}']),
+    (0x3132, &['\u{1101}']),
+    (0x2130, &['\u{0045}']),
+    (0xfd9c, &['\u{064A}', '\u{0645}', '\u{0645}']),
+    (0x2fc2, &['\u{9B5A}']),
+    (0x1f233, &['\u{7A7A}']),
+    (0xfc31, &['\u{0641}', '\u{0649}']),
+    (0xfbdb, &['\u{06C8}']),
+    (0x1d67a, &['\u{004B}']),
+    (0x2156, &['\u{0032}', '\u{2044}', '\u{0035}']),
+    (0x1d5b4, &['\u{0055}']),
+    (0x32d1, &['\u{30A4}']),
+    (0x1eeb8, &['\u{0630}']),
+    (0x33ea, &['\u{0031}', '\u{0031}', '\u{65E5}']),
+    (0xfc6c, &['\u{0628}', '\u{0645}']),
+    (0x1f225, &['\u{5439}']),
+    (0x1f202, &['\u{30B5}']),
+    (0xfbf3, &['\u{064A}', '\u{0654}', '\u{06C6}']),
+    (0x2f78, &['\u{7F36}']),
+    (0xfe78, &['\u{0020}', '\u{064F}']),
+    (0x2f2e, &['\u{5DDB}']),
+    (0xfef3, &['\u{064A}']),
+    (0x32af, &['\u{5354}']),
+    (0x24b7, &['\u{0042}']),
+    (0xfc3b, &['\u{0643}', '\u{0644}']),
+    (0xfbac, &['\u{06BE}']),
+    (0x1d56a, &['\u{0079}']),
+    (0xff6a, &['\u{30A7}']),
+    (0x2b5, &['\u{027B}']),
+    (0xfe30, &['\u{002E}', '\u{002E}']),
+    (0x1d757, &['\u{0392}']),
+    (0x3231, &['\u{0028}', '\u{682A}', '\u{0029}']),
+    (0xfdb5, &['\u{0644}', '\u{062D}', '\u{0645}']),
+    (0x1d784, &['\u{03C5}']),
+    (0x316b, &['\u{11D3}']),
+    (0x32e9, &['\u{30CF}']),
+    (0xfba9, &['\u{06C1}']),
+    (0xff7b, &['\u{30B5}']),
+    (0x1d6e0, &['\u{03C1}']),
+    (0x2497, &['\u{0031}', '\u{0036}', '\u{002E}']),
+    (0x17f, &['\u{0073}']),
+    (0xfe3f, &['\u{3008}']),
+    (0x33ac, &['\u{0047}', '\u{0050}', '\u{0061}']),
+    (0x32bb, &['\u{0034}', '\u{0036}']),
+    (0xfe82, &['\u{0627}', '\u{0653}']),
+    (0x3333, &['\u{30D5}', '\u{30A3}', '\u{30FC}', '\u{30C8}']),
+    (0x1d52f, &['\u{0072}']),
+    (0x1d73a, &['\u{03B5}']),
+    (0xfc87, &['\u{0644}', '\u{064A}']),
+    (0xfd00, &['\u{062D}', '\u{064A}']),
+    (0xfe5d, &['\u{3014}']),
+    (0xfe86, &['\u{0648}', '\u{0654}']),
+    (0x1f124, &['\u{0028}', '\u{0055}', '\u{0029}']),
+    (0x1d446, &['\u{0053}']),
+    (0xfc83, &['\u{0643}', '\u{0649}']),
+    (0x2fc0, &['\u{9B32}']),
+    (0xbc, &['\u{0031}', '\u{2044}', '\u{0034}']),
+    (0x3178, &['\u{112B}']),
+    (0x3289, &['\u{5341}']),
+    (0xfd79, &['\u{063A}', '\u{0645}', '\u{0645}']),
+    (0x2f47, &['\u{65E5}']),
+    (0x3210, &['\u{0028}', '\u{1103}', '\u{1161}', '\u{0029}']),
+    (0x2f04, &['\u{4E59}']),
+    (0x1d591, &['\u{006C}']),
+    (0x3163, &['\u{1175}']),
+    (0x2002, &['\u{0020}']),
+    (0x207b, &['\u{2212}']),
+    (0x3039, &['\u{5344}']),
+    (0x1d49f, &['\u{0044}']),
+    (0xfbe9, &['\u{0649}']),
+    (0x3396, &['\u{006D}', '\u{006C}']),
+    (0x1d77a, &['\u{03BB}']),
+    (0x1d437, &['\u{0044}']),
+    (0x329e, &['\u{5370}']),
+    (0x1d697, &['\u{006E}']),
+    (0xfb53, &['\u{067B}']),
+    (0x1d58f, &['\u{006A}']),
+    (0x2fcf, &['\u{9F20}']),
+    (0x2f58, &['\u{723B}']),
+    (0x3201, &['\u{0028}', '\u{1102}', '\u{0029}']),
+    (0xfe8f, &['\u{0628}']),
+    (0x1d6da, &['\u{03C9}']),
+    (0x2150, &['\u{0031}', '\u{2044}', '\u{0037}']),
+    (0x210d, &['\u{0048}']),
+    (0x3323, &['\u{30BB}', '\u{30F3}', '\u{30C8}']),
+    (0x1d5d1, &['\u{0078}']),
+    (0x2f09, &['\u{513F}']),
+    (0x1d5bd, &['\u{0064}']),
+    (0xfbe5, &['\u{06D0}']),
+    (0x1d5b8, &['\u{0059}']),
+    (0xfc45, &['\u{0645}', '\u{062C}']),
+    (0xff58, &['\u{0078}']),
+    (0x32c9, &['\u{0031}', '\u{0030}', '\u{6708}']),
+    (0xfd1b, &['\u{062D}', '\u{0649}']),
+    (0x24dc, &['\u{006D}']),
+    (0xfdba, &['\u{0644}', '\u{062C}', '\u{0645}']),
+    (0x1d612, &['\u{004B}']),
+    (0xfb55, &['\u{067B}']),
+    (0x1f14b, &['\u{004D}', '\u{0056}']),
+    (0xff10, &['\u{0030}']),
+    (0x2fc9, &['\u{9ECD}']),
+    (0x24a3, &['\u{0028}', '\u{0068}', '\u{0029}']),
+    (0xff99, &['\u{30EB}']),
+    (0xfc6b, &['\u{0628}', '\u{0632}']),
+    (0x2159, &['\u{0031}', '\u{2044}', '\u{0036}']),
+    (0x2fb9, &['\u{9999}']),
+    (0x1d4d6, &['\u{0047}']),
+    (0xffed, &['\u{25A0}']),
+    (0xff67, &['\u{30A1}']),
+    (0x1ee8e, &['\u{0633}']),
+    (0x217e, &['\u{0064}']),
+    (0x2f0e, &['\u{51AB}']),
+    (0x1d681, &['\u{0052}']),
+    (0xff0a, &['\u{002A}']),
+    (0xfec6, &['\u{0638}']),
+    (0x1ee6c, &['\u{0645}']),
+    (0x222c, &['\u{222B}', '\u{222B}']),
+    (0xfba5, &['\u{06D5}', '\u{0654}']),
+    (0x1d713, &['\u{03C8}']),
+    (0xfe8c, &['\u{064A}', '\u{0654}']),
+    (0x2fd3, &['\u{9F8D}']),
+    (0x1ee47, &['\u{062D}']),
+    (0xffa3, &['\u{11AA}']),
+    (0xfb70, &['\u{06A6}']),
+    (0x1d640, &['\u{0045}']),
+    (0x1d403, &['\u{0044}']),
+    (0x1d66c, &['\u{0077}']),
+    (0x1d57e, &['\u{0053}']),
+    (0x1d606, &['\u{0079}']),
+    (0x1d6fd, &['\u{03B2}']),
+    (0x1d735, &['\u{2207}']),
+    (0xfcb2, &['\u{0635}', '\u{062E}']),
+    (0x1ee1c, &['\u{066E}']),
+    (0x1d4ab, &['\u{0050}']),
+    (0xff1a, &['\u{003A}']),
+    (0xfca2, &['\u{062A}', '\u{062D}']),
+    (0x211b, &['\u{0052}']),
+    (0x1f116, &['\u{0028}', '\u{0047}', '\u{0029}']),
+    (0x33b3, &['\u{006D}', '\u{0073}']),
+    (0x1ee2e, &['\u{0633}']),
+    (0x2071, &['\u{0069}']),
+    (0x1d4bb, &['\u{0066}']),
+    (0x2f45, &['\u{65B9}']),
+    (0x2fc1, &['\u{9B3C}']),
+    (0x1d533, &['\u{0076}']),
+    (0x2478, &['\u{0028}', '\u{0035}', '\u{0029}']),
+    (0x1d6b0, &['\u{0399}']),
+    (0x1d6f8, &['\u{03A7}']),
+    (0x1d535, &['\u{0078}']),
+    (0x1d5bc, &['\u{0063}']),
+    (0x1ee2c, &['\u{0645}']),
+    (0x1daa, &['\u{1D85}']),
+    (0x1d36, &['\u{004A}']),
+    (0x1f12d, &['\u{0043}', '\u{0044}']),
+    (0x1dba, &['\u{028C}']),
+    (0x1d625, &['\u{0064}']),
+    (0x1d779, &['\u{03BA}']),
+    (0x1eeb5, &['\u{062A}']),
+    (0x1d7f9, &['\u{0033}']),
+    (0x32d7, &['\u{30AF}']),
+    (0x1d649, &['\u{004E}']),
+    (0x2146, &['\u{0064}']),
+    (0x246b, &['\u{0031}', '\u{0032}']),
+    (0xfb97, &['\u{06B3}']),
+    (0x1d734, &['\u{03A9}']),
+    (0xfd07, &['\u{0636}', '\u{0649}']),
+    (0xfd9e, &['\u{0628}', '\u{062E}', '\u{064A}']),
+    (0x2115, &['\u{004E}']),
+    (0x1d715, &['\u{2202}']),
+    (0xfbea, &['\u{064A}', '\u{0654}', '\u{0627}']),
+    (0x1d774, &['\u{03B5}']),
+    (0xfef4, &['\u{064A}']),
+    (0x1d401, &['\u{0042}']),
+    (0xa69d, &['\u{044C}']),
+    (0x211d, &['\u{0052}']),
+    (0x2119, &['\u{0050}']),
+    (0xfb82, &['\u{068D}']),
+    (0x332a, &['\u{30CF}', '\u{30A4}', '\u{30C4}']),
+    (0x1d5c6, &['\u{006D}']),
+    (0xfc97, &['\u{064A}', '\u{0654}', '\u{062C}']),
+    (0x1ee97, &['\u{062E}']),
+    (0xfed4, &['\u{0641}']),
+    (0x3265, &['\u{1107}']),
+    (0x1d5fc, &['\u{006F}']),
+    (0x33d5, &['\u{006D}', '\u{0069}', '\u{006C}']),
+    (0x2f53, &['\u{6C14}']),
+    (0x3215, &['\u{0028}', '\u{110B}', '\u{1161}', '\u{0029}']),
+    (0x2162, &['\u{0049}', '\u{0049}', '\u{0049}']),
+    (0x2f8b, &['\u{8278}']),
+    (0x1d400, &['\u{0041}']),
+    (0x1d61b, &['\u{0054}']),
+    (0x1f14f, &['\u{0057}', '\u{0043}']),
+    (0xffa1, &['\u{1100}']),
+    (0x33e6, &['\u{0037}', '\u{65E5}']),
+    (0x1d53d, &['\u{0046}']),
+    (0x1d74a, &['\u{03C5}']),
+    (0x1fed, &['\u{0020}', '\u{0308}', '\u{0300}']),
+    (0x1f13a, &['\u{004B}']),
+    (0xfbd5, &['\u{06AD}']),
+    (0xfc8b, &['\u{0646}', '\u{0632}']),
+    (0x3158, &['\u{116A}']),
+    (0x1d44b, &['\u{0058}']),
+    (0xfb84, &['\u{068C}']),
+    (0xfb65, &['\u{067F}']),
+    (0x24a6, &['\u{0028}', '\u{006B}', '\u{0029}']),
+    (0x1d519, &['\u{0056}']),
+    (0x32fc, &['\u{30F0}']),
+    (0x1d57, &['\u{0074}']),
+    (0x2f4f, &['\u{6BCB}']),
+    (0x320a, &['\u{0028}', '\u{110F}', '\u{0029}']),
+    (0x1d74d, &['\u{03C8}']),
+    (0x2057, &['\u{2032}', '\u{2032}', '\u{2032}', '\u{2032}']),
+    (0xfe10, &['\u{002C}']),
+    (0x1d5e1, &['\u{004E}']),
+    (0x1d570, &['\u{0045}']),
+    (0x1d66f, &['\u{007A}']),
+    (0xfcbf, &['\u{0641}', '\u{062D}']),
+    (0x2f83, &['\u{81EA}']),
+    (0x1d7f7, &['\u{0031}']),
+    (0xfce4, &['\u{062A}', '\u{0647}']),
+    (0x1f13b, &['\u{004C}']),
+    (0x384, &['\u{0020}', '\u{0301}']),
+    (0x1d665, &['\u{0070}']),
+    (0x327a, &['\u{1111}', '\u{1161}']),
+    (0x3d3, &['\u{03A5}', '\u{0301}']),
+    (0x32f7, &['\u{30EA}']),
+    (0x32a8, &['\u{53F3}']),
+    (0x24ac, &['\u{0028}', '\u{0071}', '\u{0029}']),
+    (0x2f39, &['\u{5F50}']),
+    (0x1f140, &['\u{0051}']),
+    (0x2f88, &['\u{821F}']),
+    (0x1d5ba, &['\u{0061}']),
+    (0x1d4c6, &['\u{0071}']),
+    (0xfe72, &['\u{0020}', '\u{064C}']),
+    (0x314b, &['\u{110F}']),
+    (0xab5d, &['\u{AB37}']),
+    (0x3288, &['\u{4E5D}']),
+    (0x1d414, &['\u{0055}']),
+    (0x3167, &['\u{11C7}']),
+    (0x208e, &['\u{0029}']),
+    (0x1f223, &['\u{8CA9}']),
+    (0x2fd2, &['\u{9F52}']),
+    (0x1d7d2, &['\u{0034}']),
+    (0x1eea6, &['\u{0632}']),
+    (0x140, &['\u{006C}', '\u{00B7}']),
+    (0x1d562, &['\u{0071}']),
+    (0x32bf, &['\u{0035}', '\u{0030}']),
+    (0x1d43e, &['\u{004B}']),
+    (0x1d78d, &['\u{03C6}']),
+    (0x2b0, &['\u{0068}']),
+    (0x33da, &['\u{0050}', '\u{0052}']),
+    (0x1db1, &['\u{0275}']),
+    (0x1ee2d, &['\u{0646}']),
+    (0x3153, &['\u{1165}']),
+    (0xfd20, &['\u{062E}', '\u{064A}']),
+    (0xfed9, &['\u{0643}']),
+    (0x1d3f, &['\u{0052}']),
+    (0xfb6a, &['\u{06A4}']),
+    (0x317b, &['\u{112E}']),
+    (0x32dc, &['\u{30B9}']),
+    (0x3389, &['\u{006B}', '\u{0063}', '\u{0061}', '\u{006C}']),
+    (0x1e9b, &['\u{0073}', '\u{0307}']),
+    (0xfda7, &['\u{062C}', '\u{0645}', '\u{0649}']),
+    (0x1f238, &['\u{7533}']),
+    (0xfc7c, &['\u{0641}', '\u{0649}']),
+    (0x32ba, &['\u{0034}', '\u{0035}']),
+    (0x1d73e, &['\u{03B9}']),
+    (0x1d59a, &['\u{0075}']),
+    (0x3216, &['\u{0028}', '\u{110C}', '\u{1161}', '\u{0029}']),
+    (0x2f3e, &['\u{6236}']),
+    (0xfb20, &['\u{05E2}']),
+    (0xff23, &['\u{0043}']),
+    (0x325b, &['\u{0033}', '\u{0031}']),
+    (0x1d5eb, &['\u{0058}']),
+    (0x1d4fe, &['\u{0075}']),
+    (0x1d79e, &['\u{039F}']),
+    (0x1ee14, &['\u{0634}']),
+    (0x32d4, &['\u{30AA}']),
+    (0xfcbd, &['\u{063A}', '\u{0645}']),
+    (0x1f221, &['\u{7D42}']),
+    (0xfc4c, &['\u{0646}', '\u{062D}']),
+    (0x216c, &['\u{004C}']),
+    (0xfdaa, &['\u{0634}', '\u{062D}', '\u{064A}']),
+    (0x1d56e, &['\u{0043}']),
+    (0x1d46, &['\u{1D02}']),
+    (0x1d72a, &['\u{039F}']),
+    (0x309b, &['\u{0020}', '\u{3099}']),
+    (0xb9, &['\u{0031}']),
+    (0x1f120, &['\u{0028}', '\u{0051}', '\u{0029}']),
+    (0x1d60b, &['\u{0044}']),
+    (0xfd36, &['\u{0633}', '\u{062E}']),
+    (0xffeb, &['\u{2192}']),
+    (0x1d573, &['\u{0048}']),
+    (0xff72, &['\u{30A4}']),
+    (0xfefa, &['\u{0644}', '\u{0627}', '\u{0655}']),
+    (0x1d630, &['\u{006F}']),
+    (0xffab, &['\u{11B1}']),
+    (0xffb7, &['\u{110B}']),
+    (0xfd11, &['\u{0637}', '\u{0649}']),
+    (0x1d45, &['\u{0251}']),
+    (0xff30, &['\u{0050}']),
+    (0xfc08, &['\u{0628}', '\u{0645}']),
+    (0xfee0, &['\u{0644}']),
+    (0x33ff, &['\u{0067}', '\u{0061}', '\u{006C}']),
+    (0xfcd3, &['\u{0646}', '\u{062D}']),
+    (0xfede, &['\u{0644}']),
+    (0x2004, &['\u{0020}']),
+    (0x1d6e5, &['\u{0394}']),
+    (0xfb94, &['\u{06AF}']),
+    (0x1f21e, &['\u{518D}']),
+    (0x2f63, &['\u{751F}']),
+    (0xfc06, &['\u{0628}', '\u{062D}']),
+    (0xfc5a, &['\u{064A}', '\u{064A}']),
+    (0x1d5ab, &['\u{004C}']),
+    (0xff75, &['\u{30AA}']),
+    (0xff79, &['\u{30B1}']),
+    (0xff6e, &['\u{30E7}']),
+    (0x2462, &['\u{0033}']),
+    (0xfca1, &['\u{062A}', '\u{062C}']),
+    (0x2460, &['\u{0031}']),
+    (0x1d719, &['\u{03C6}']),
+    (0x316f, &['\u{11DD}']),
+    (0x1d580, &['\u{0055}']),
+    (0x1d7bd, &['\u{03C4}']),
+    (0x315d, &['\u{116F}']),
+    (0x323b, &['\u{0028}', '\u{5B66}', '\u{0029}']),
+    (0x1c8, &['\u{004C}', '\u{006A}']),
+    (0x1f21c, &['\u{524D}']),
+    (0x1fbf2, &['\u{0032}']),
+    (0x3278, &['\u{110F}', '\u{1161}']),
+    (0xfb73, &['\u{0684}']),
+    (0x1d54f, &['\u{0058}']),
+    (0x33db, &['\u{0073}', '\u{0072}']),
+    (0x1d564, &['\u{0073}']),
+    (0x3352, &['\u{30EA}', '\u{30E9}']),
+    (0x1d500, &['\u{0077}']),
+    (0x1d5d8, &['\u{0045}']),
+    (0xff9e, &['\u{3099}']),
+    (0x1f227, &['\u{6295}']),
+    (0x3260, &['\u{1100}']),
+    (0x1d34, &['\u{0048}']),
+    (0x2149, &['\u{006A}']),
+    (0x2001, &['\u{0020}']),
+    (0xff74, &['\u{30A8}']),
+    (0xfd34, &['\u{0633}', '\u{062C}']),
+    (0xff2a, &['\u{004A}']),
+    (0x314f, &['\u{1161}']),
+    (0x1d47c, &['\u{0055}']),
+    (0x1ee02, &['\u{062C}']),
+    (0xff4f, &['\u{006F}']),
+    (0x1fcf, &['\u{0020}', '\u{0313}', '\u{0342}']),
+    (0x1d60d, &['\u{0046}']),
+    (0x3245, &['\u{5E7C}']),
+    (0x1ee12, &['\u{0642}']),
+    (0x1d457, &['\u{006A}']),
+    (0x1d696, &['\u{006D}']),
+    (0x326a, &['\u{110F}']),
+    (0x1d5e8, &['\u{0055}']),
+    (0x1d6d0, &['\u{03BF}']),
+    (0x1d6b9, &['\u{0398}']),
+    (0xfe91, &['\u{0628}']),
+    (0x1c7, &['\u{004C}', '\u{004A}']),
+    (0x2f4a, &['\u{6728}']),
+    (0x1d7d5, &['\u{0037}']),
+    (0x208b, &['\u{2212}']),
+    (0x3302, &['\u{30A2}', '\u{30F3}', '\u{30D8}', '\u{309A}', '\u{30A2}']),
+    (0x2f2f, &['\u{5DE5}']),
+    (0x1fbf, &['\u{0020}', '\u{0313}']),
+    (0x3189, &['\u{1188}']),
+    (0x1d611, &['\u{004A}']),
+    (0x1d752, &['\u{03BA}']),
+    (0x2483, &['\u{0028}', '\u{0031}', '\u{0036}', '\u{0029}']),
+    (0x2f59, &['\u{723F}']),
+    (0x2009, &['\u{0020}']),
+    (0x3343, &['\u{30DE}', '\u{30A4}', '\u{30AF}', '\u{30ED}']),
+    (0xfedb, &['\u{0643}']),
+    (0x1d3a, &['\u{004E}']),
+    (0x313a, &['\u{11B0}']),
+    (0xfb66, &['\u{0679}']),
+    (0x33cc, &['\u{0069}', '\u{006E}']),
+    (0x1d5ac, &['\u{004D}']),
+    (0x1d406, &['\u{0047}']),
+    (0x3f4, &['\u{0398}']),
+    (0xfe66, &['\u{003D}']),
+    (0x33dc, &['\u{0053}', '\u{0076}']),
+    (0xfd6f, &['\u{0636}', '\u{062E}', '\u{0645}']),
+    (0x1ee4e, &['\u{0633}']),
+    (0x24cf, &['\u{005A}']),
+    (0x32aa, &['\u{5B97}']),
+    (0x1f21d, &['\u{5F8C}']),
+    (0x1d732, &['\u{03A7}']),
+    (0x3270, &['\u{1103}', '\u{1161}']),
+    (0x32e0, &['\u{30C1}']),
+    (0xfd80, &['\u{0644}', '\u{062D}', '\u{0645}']),
+    (0x1d587, &['\u{0062}']),
+    (0x3285, &['\u{516D}']),
+    (0xfd0c, &['\u{0634}', '\u{0645}']),
+    (0x1d78e, &['\u{03C1}']),
+    (0x1d57d, &['\u{0052}']),
+    (0xfd84, &['\u{0644}', '\u{062C}', '\u{062C}']),
+    (0x33c8, &['\u{0064}', '\u{0042}']),
+    (0x32e4, &['\u{30CA}']),
+    (0xfdc7, &['\u{0646}', '\u{062C}', '\u{064A}']),
+    (0x1d4b4, &['\u{0059}']),
+    (0x1d754, &['\u{03C1}']),
+    (0x2160, &['\u{0049}']),
+    (0x3361, &['\u{0039}', '\u{70B9}']),
+    (0x3211, &['\u{0028}', '\u{1105}', '\u{1161}', '\u{0029}']),
+    (0xfc0e, &['\u{062A}', '\u{0645}']),
+    (0x2171, &['\u{0069}', '\u{0069}']),
+    (0xb5, &['\u{03BC}']),
+    (0x1f16b, &['\u{004D}', '\u{0044}']),
+    (0x1d5fb, &['\u{006E}']),
+    (0xfd10, &['\u{0636}', '\u{0631}']),
+    (0x2f37, &['\u{5F0B}']),
+    (0xa8, &['\u{0020}', '\u{0308}']),
+    (0xff5c, &['\u{007C}']),
+    (0x1d72b, &['\u{03A0}']),
+    (0xfeec, &['\u{0647}']),
+    (0x216d, &['\u{0043}']),
+    (0xfeb4, &['\u{0633}']),
+    (0x1d41d, &['\u{0064}']),
+    (0xff92, &['\u{30E1}']),
+    (0x1ee93, &['\u{0631}']),
+    (0xfb7d, &['\u{0686}']),
+    (0x1d56, &['\u{0070}']),
+    (0x2111, &['\u{0049}']),
+    (0x1d729, &['\u{039E}']),
+    (0xfc18, &['\u{062D}', '\u{0645}']),
+    (0x247d, &['\u{0028}', '\u{0031}', '\u{0030}', '\u{0029}']),
+    (0x33f1, &['\u{0031}', '\u{0038}', '\u{65E5}']),
+    (0xfe51, &['\u{3001}']),
+    (0x1d5b, &['\u{0076}']),
+    (0x1d7fc, &['\u{0036}']),
+    (0x1d4b6, &['\u{0061}']),
+    (0x1ee5f, &['\u{066F}']),
+    (0x33b7, &['\u{006D}', '\u{0056}']),
+    (0x1d7fe, &['\u{0038}']),
+    (0xfcb1, &['\u{0635}', '\u{062D}']),
+    (0x331e, &['\u{30B3}', '\u{30FC}', '\u{30DB}', '\u{309A}']),
+    (0xfd82, &['\u{0644}', '\u{062D}', '\u{0649}']),
+    (0x2f73, &['\u{7A74}']),
+    (0x1ee68, &['\u{0637}']),
+    (0xff89, &['\u{30CE}']),
+    (0x2106, &['\u{0063}', '\u{002F}', '\u{0075}']),
+];
+
+pub(crate) const COMBINING_MARK_SALT: &[u16] = &[
+    0x0,
+    0x10,
+    0x0,
+    0x2,
+    0xf,
+    0x3d1,
+    0x4,
+    0x1a,
+    0x9c,
+    0x242,
+    0xb,
+    0x1,
+    0x0,
+    0x0,
+    0x44,
+    0x0,
+    0x188,
+    0x0,
+    0x1,
+    0x15,
+    0x0,
+    0x0,
+    0x2,
+    0x73,
+    0xa,
+    0x0,
+    0x0,
+    0xf,
+    0x164,
+    0x0,
+    0x5d,
+    0x0,
+    0x0,
+    0x3d,
+    0x12,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x152,
+    0x73,
+    0x0,
+    0x0,
+    0x0,
+    0x17,
+    0x1,
+    0x3,
+    0xa,
+    0x0,
+    0xf,
+    0x56,
+    0xb,
+    0x0,
+    0x40,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x6,
+    0x21c,
+    0x2,
+    0x9c,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x1df,
+    0x228,
+    0x0,
+    0x1d3,
+    0x1,
+    0x0,
+    0x1,
+    0x4,
+    0x68,
+    0x0,
+    0x0,
+    0x3c,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x1f,
+    0x0,
+    0x0,
+    0x42,
+    0x3,
+    0x21,
+    0x0,
+    0x1b,
+    0x0,
+    0x1,
+    0xb0,
+    0x0,
+    0x7,
+    0x44,
+    0x9e,
+    0x57,
+    0x1b,
+    0x2,
+    0x5,
+    0x11,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x68,
+    0x0,
+    0x5,
+    0x2,
+    0x9,
+    0x0,
+    0x2,
+    0x5,
+    0x58,
+    0x26,
+    0x0,
+    0x27,
+    0x78,
+    0x7,
+    0x0,
+    0x15,
+    0x0,
+    0x10,
+    0x24,
+    0x3e,
+    0x63,
+    0x2,
+    0x1,
+    0x3,
+    0x31,
+    0x2d,
+    0x0,
+    0x10,
+    0x21,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x46,
+    0x53,
+    0x0,
+    0x29,
+    0x19,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x5,
+    0x1d,
+    0x0,
+    0x3c,
+    0x3,
+    0x40,
+    0x3,
+    0x9,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x7,
+    0x0,
+    0xb,
+    0x0,
+    0x3,
+    0x0,
+    0x3c,
+    0x0,
+    0x0,
+    0x0,
+    0x27,
+    0x6,
+    0x8,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0xb,
+    0x3,
+    0x29,
+    0x0,
+    0x2b,
+    0x0,
+    0x1,
+    0x18,
+    0x0,
+    0x12,
+    0x7a,
+    0x3,
+    0x0,
+    0x11,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x5d,
+    0x5f,
+    0x8,
+    0xd,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x7,
+    0x5,
+    0x2b,
+    0x2,
+    0x2,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x5,
+    0xa,
+    0x4,
+    0x0,
+    0x0,
+    0x1b,
+    0x26,
+    0x0,
+    0x0,
+    0x0,
+    0x31,
+    0x2e,
+    0x1,
+    0x3,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0xb,
+    0x1c,
+    0x0,
+    0x2e,
+    0x9,
+    0x7,
+    0x0,
+    0x1f,
+    0x0,
+    0x0,
+    0x6,
+    0x4,
+    0x2c,
+    0x0,
+    0xe,
+    0x20,
+    0x0,
+    0x50,
+    0x0,
+    0x2,
+    0x5,
+    0x6,
+    0x36,
+    0x0,
+    0x18,
+    0x0,
+    0x16,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x26,
+    0x0,
+    0x1,
+    0xe,
+    0x16,
+    0x12,
+    0x2,
+    0x1c,
+    0x2,
+    0x2,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0x1,
+    0x0,
+    0x4,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x15,
+    0xf,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x4,
+    0x6,
+    0x4,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x18,
+    0x0,
+    0x0,
+    0x9,
+    0x5a,
+    0x6,
+    0x5,
+    0x0,
+    0x4,
+    0x8,
+    0x0,
+    0x1,
+    0x0,
+    0x1f,
+    0x1f,
+    0x1,
+    0x27,
+    0x55,
+    0x0,
+    0x2,
+    0x8,
+    0x14,
+    0x8,
+    0x0,
+    0xd,
+    0x5,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x26,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0xe,
+    0x5,
+    0x0,
+    0x20,
+    0x0,
+    0x0,
+    0x2,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5e,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x1d,
+    0x1,
+    0x0,
+    0xb,
+    0x7,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0xd,
+    0x1e,
+    0x12,
+    0x5,
+    0xd,
+    0x18,
+    0x3,
+    0x18,
+    0x18,
+    0x0,
+    0x1,
+    0xb,
+    0xe,
+    0xb,
+    0x4,
+    0x0,
+    0x0,
+    0x9,
+    0x1,
+    0x4,
+    0x0,
+    0xa,
+    0x2,
+    0x5,
+    0xb,
+    0x1d,
+    0x8,
+    0x0,
+    0x0,
+    0xc,
+    0x5,
+    0x9,
+    0x20,
+    0x3,
+    0x11,
+    0x0,
+    0x11,
+    0x4,
+    0x8,
+    0x1,
+    0x0,
+    0x8,
+    0x0,
+    0xa,
+    0x1,
+    0xa,
+    0x0,
+    0x15,
+    0x9,
+    0x0,
+    0x15,
+    0x14,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x9,
+    0x0,
+    0x0,
+    0x6,
+    0x19,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x6,
+    0x5,
+    0x3,
+    0x30,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x27,
+    0x0,
+    0x3,
+    0x0,
+    0x3,
+    0xf,
+    0x0,
+    0x7,
+    0x2,
+    0x5,
+    0x5,
+    0x0,
+    0x1,
+    0x9,
+    0x0,
+    0x4,
+    0x0,
+    0x19,
+    0x10,
+    0x0,
+    0x0,
+    0x6,
+    0x8,
+    0x0,
+    0x1e,
+    0x3,
+    0x0,
+    0x5,
+    0x0,
+    0x1,
+    0x0,
+    0xb,
+    0x2,
+    0x0,
+    0x0,
+    0x11,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x4,
+    0x0,
+    0x9,
+    0x0,
+    0x9,
+    0x12,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x7,
+    0x4,
+    0x7,
+    0x1,
+    0x9,
+    0x3,
+    0x0,
+    0x0,
+    0xe,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x28,
+    0x0,
+    0x0,
+    0xa,
+    0x3,
+    0x0,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x1b,
+    0x7,
+    0x3,
+    0x2,
+    0xe,
+    0x1,
+    0x9,
+    0xe,
+    0x3,
+    0x1d,
+    0x0,
+    0x0,
+    0x6,
+    0x4,
+    0x1,
+    0x5,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0xd,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x11,
+    0x0,
+    0x0,
+    0x2,
+    0x9,
+    0x13,
+    0x4,
+    0x4,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x16,
+    0x9,
+    0x0,
+    0x23,
+    0x3,
+    0x1,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1b,
+    0x0,
+    0x0,
+    0x7,
+    0xb,
+    0x1,
+    0x0,
+    0x9,
+    0x3,
+    0x0,
+    0x3,
+    0xc,
+    0x0,
+    0xa,
+    0x8,
+    0x6,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x0,
+    0x6,
+    0x1c,
+    0x3,
+    0x0,
+    0x4,
+    0x0,
+    0x5,
+    0x0,
+    0x18,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0xc,
+    0x0,
+    0x0,
+    0xe,
+    0x2,
+    0x0,
+    0x12,
+    0x1,
+    0x3,
+    0xa,
+    0x0,
+    0x0,
+    0x1,
+    0xf,
+    0x0,
+    0x9,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x14,
+    0x1,
+    0x1,
+    0x4,
+    0x2,
+    0x2,
+    0x5,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x6,
+    0x0,
+    0xc,
+    0x2,
+    0x1,
+    0x0,
+    0xb,
+    0x12,
+    0x23,
+    0x10,
+    0x4,
+    0x3,
+    0x14,
+    0x3,
+    0x6,
+    0x9,
+    0xd,
+    0x0,
+    0x1,
+    0x8,
+    0x6,
+    0x1,
+    0xa,
+    0xb,
+    0x1,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0x9,
+    0x4,
+    0xe,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1f,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x3,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0xf,
+    0x2,
+    0x0,
+    0x21,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x3,
+    0x0,
+    0xc,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x9,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x12,
+    0x2,
+    0x3,
+    0x16,
+    0x9,
+    0x4,
+    0xa,
+    0x4,
+    0x9,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x21,
+    0x15,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x9,
+    0x16,
+    0x0,
+    0x5,
+    0x2,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0x2,
+    0x0,
+    0x5,
+    0x0,
+    0x5,
+    0x1,
+    0x1,
+    0x14,
+    0x0,
+    0x1,
+    0x0,
+    0x8,
+    0x9,
+    0x0,
+    0x4,
+    0x0,
+    0xa,
+    0x9,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x0,
+    0x4,
+    0x4,
+    0x0,
+    0x0,
+    0xb,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+    0x5,
+    0x3,
+    0x3,
+    0x5,
+    0x6,
+    0x4,
+    0xa,
+    0xa,
+    0x3,
+    0x0,
+    0x1,
+    0x8,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x25,
+    0x4,
+    0x1,
+    0x1,
+    0x1,
+    0xf,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x11,
+    0x2,
+    0x1,
+    0x6,
+    0x1,
+    0x1,
+    0xa,
+    0x4,
+    0x9,
+    0x7,
+    0x3,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0x4,
+    0x2,
+    0x2,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x6,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0xd,
+    0x0,
+    0x0,
+    0x2,
+    0xa,
+    0x11,
+    0x12,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x8,
+    0x1,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x4,
+    0x1,
+    0x5,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x4,
+    0x6,
+    0x0,
+    0x6,
+    0xe,
+    0x8,
+    0x2,
+    0x1,
+    0x5,
+    0x0,
+    0x6,
+    0x18,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x5,
+    0x2,
+    0x1,
+    0x0,
+    0xd,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x5,
+    0x0,
+    0x1,
+    0x8,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x4,
+    0x4,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0xd,
+    0x1,
+    0x0,
+    0x1,
+    0x7,
+    0x11,
+    0x1,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x6,
+    0x0,
+    0xc,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x14,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x10,
+    0x2,
+    0x3,
+    0xa,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x9,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x4,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0xc,
+    0x1,
+    0x5,
+    0x3,
+    0x2,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x8,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x6,
+    0x5,
+    0x0,
+    0x0,
+    0x5,
+    0x10,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x1,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x3,
+    0x2,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x5,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x9,
+    0x4,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x3,
+    0x6,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x4,
+    0x2,
+    0x3,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x8,
+    0x1,
+    0x1,
+    0x0,
+    0xc,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x1,
+    0x9,
+    0x1,
+    0x1,
+    0x1,
+    0x9,
+    0x0,
+    0x2,
+    0xb,
+    0x0,
+    0x5,
+    0x4,
+    0x1,
+    0x1,
+    0x9,
+    0x1,
+    0x0,
+    0x6,
+    0x2,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x13,
+    0x0,
+    0xc,
+    0x4,
+    0x1,
+    0x3,
+    0x0,
+    0x5,
+    0xd,
+    0x1,
+    0x3,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x1,
+    0xe,
+    0x1,
+    0x1,
+    0x4,
+    0x8,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x3,
+    0x3,
+    0x0,
+    0x1,
+    0xb,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x5,
+    0x0,
+    0x5,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x9,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x3,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x0,
+    0x5,
+    0x0,
+    0x6,
+    0x0,
+    0x2,
+    0xa,
+    0x4,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x6,
+    0x1,
+    0x4,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x2,
+    0xb,
+    0x0,
+    0xb,
+    0x6,
+    0xd,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x3,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x4,
+    0x0,
+    0x6,
+    0x1,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x17,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0xb,
+    0x0,
+    0xf,
+    0x0,
+    0x5,
+    0x3,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x4,
+    0x4,
+    0x1,
+    0x10,
+    0x6,
+    0x5,
+    0x7,
+    0x0,
+    0x4,
+    0x0,
+    0x1,
+    0x6,
+    0x3,
+    0x0,
+    0x7,
+    0x6,
+    0x0,
+    0xb,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x5,
+    0x0,
+    0xa,
+    0x2,
+    0x1,
+    0x5,
+    0x1,
+    0xb,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x8,
+    0x4,
+    0x14,
+    0x0,
+    0x8,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0xa,
+    0x0,
+    0x1,
+    0x5,
+    0x4,
+    0xb,
+    0x2,
+    0x4,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x6,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+    0xf,
+    0x1,
+    0x0,
+    0x4,
+    0x1,
+    0x2,
+    0x9,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x11,
+    0x2,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x7,
+    0x3,
+    0x7,
+    0x2,
+    0x1,
+    0x3,
+    0x5,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x7,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x7,
+    0x2,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x5,
+    0x1,
+    0x2,
+    0x3,
+    0x5,
+    0x0,
+    0x2,
+    0x3,
+    0x6,
+    0x4,
+    0x5,
+    0x9,
+    0x1,
+    0x1,
+    0x5,
+    0x2,
+    0x2,
+    0x1,
+    0x2,
+    0x6,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x3,
+    0x2,
+    0x5,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0xe,
+    0x0,
+    0x6,
+    0x7,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x3,
+    0x3,
+    0x5,
+    0x1,
+    0x0,
+    0x5,
+    0x3,
+    0x1,
+    0x0,
+    0x3,
+    0x2,
+    0x6,
+    0x0,
+    0x2,
+    0x3,
+    0x2,
+    0x0,
+    0x6,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x5,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0xe,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x6,
+    0x7,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x5,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x2,
+    0x4,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x4,
+    0xa,
+    0x2,
+    0x1,
+    0x1,
+    0x5,
+    0x6,
+    0x1,
+    0x9,
+    0x6,
+    0x0,
+    0x1,
+    0x1,
+    0x6,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0xa,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x8,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x4,
+    0x3,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x2,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x4,
+    0x3,
+    0x4,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x4,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x3,
+    0x2,
+    0x0,
+    0x3,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x9,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x7,
+    0x1,
+    0x1,
+    0x2,
+    0x5,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x2,
+    0x0,
+    0x4,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0xc,
+    0x5,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x4,
+    0x7,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x5,
+    0x3,
+    0x1,
+    0x4,
+    0x1,
+    0x4,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x6,
+    0x1,
+    0x0,
+    0x9,
+    0xb,
+    0x3,
+    0x1,
+    0x4,
+    0x1,
+    0x1,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x8,
+    0x3,
+    0x2,
+    0x6,
+    0x0,
+    0x5,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x5,
+    0xc,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0x7,
+    0x0,
+    0x14,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x9,
+    0x1,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0xb,
+    0x1,
+    0x8,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x6,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x4,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x4,
+    0x7,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x3,
+    0x4,
+    0x3,
+    0x3,
+    0x0,
+    0x2,
+    0x3,
+    0x6,
+    0x1,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x4,
+    0x2,
+    0x3,
+    0x0,
+    0x2,
+    0x2,
+    0x3,
+    0x9,
+    0x6,
+    0x2,
+    0x3,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x7,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x14,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x5,
+    0x0,
+    0x2,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x9,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x5,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x4,
+    0x3,
+    0x0,
+    0x10,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0xb,
+    0x4,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x6,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x4,
+    0x1,
+    0x1,
+    0x5,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x5,
+    0x1,
+    0x1,
+    0x5,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x2,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x4,
+    0x6,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x2,
+    0x7,
+    0x1,
+    0x0,
+];
+pub(crate) const COMBINING_MARK_KV: &[u32] = &[
+    0xe01ba,
+    0x115dd,
+    0x111cb,
+    0x0328,
+    0x05b1,
+    0x11cb1,
+    0x11a0a,
+    0x1b82,
+    0xe01dc,
+    0x1da41,
+    0x0652,
+    0x11caf,
+    0xa67c,
+    0x114b8,
+    0x0b42,
+    0xe0101,
+    0xa950,
+    0x08db,
+    0x11d90,
+    0x2dfe,
+    0xa981,
+    0x102e0,
+    0xe017e,
+    0x1083,
+    0x11132,
+    0x1daa6,
+    0x0fa2,
+    0xe015e,
+    0x1a63,
+    0x06e3,
+    0x1dd7,
+    0x1ba4,
+    0x112e7,
+    0x07a7,
+    0x1bf3,
+    0x16f6b,
+    0x103c,
+    0xa675,
+    0x1136a,
+    0x073f,
+    0x0c40,
+    0x0e4a,
+    0xe0186,
+    0xa806,
+    0x1da57,
+    0x0343,
+    0x11631,
+    0xe0188,
+    0x16f5f,
+    0x11cb2,
+    0x105e,
+    0x1da3d,
+    0x1a6d,
+    0x1e006,
+    0x103e,
+    0xa94b,
+    0x1e2ef,
+    0x11938,
+    0x1e020,
+    0xe0148,
+    0x0322,
+    0x1dde,
+    0x0c02,
+    0xe0128,
+    0x11300,
+    0x1d170,
+    0x05bb,
+    0xa802,
+    0x1d242,
+    0x11634,
+    0x0cca,
+    0xa8b7,
+    0x0eb7,
+    0x0dd4,
+    0x1a7b,
+    0xe0154,
+    0x1b6d,
+    0x17ce,
+    0xa8e6,
+    0x0c3f,
+    0x0619,
+    0xe0156,
+    0x030d,
+    0x1daa7,
+    0x11a90,
+    0x11a36,
+    0x11173,
+    0x1a66,
+    0x11a34,
+    0x1da1f,
+    0xe01e9,
+    0x115af,
+    0x1d18a,
+    0xe01ce,
+    0x1134d,
+    0x111be,
+    0x10a01,
+    0xe0141,
+    0x11236,
+    0x0cbf,
+    0x1d165,
+    0x05a1,
+    0x1e947,
+    0x1dc5,
+    0x16f82,
+    0x0b3c,
+    0x11cb5,
+    0x114c2,
+    0x08e9,
+    0x119d4,
+    0x16f5d,
+    0xe01bb,
+    0x11366,
+    0x1da9f,
+    0x0730,
+    0x1036,
+    0x135d,
+    0xe0120,
+    0x1de8,
+    0x116b6,
+    0x1dec,
+    0x0351,
+    0x16f7a,
+    0x16f61,
+    0x1712,
+    0x114b5,
+    0x16f80,
+    0x2de9,
+    0x11caa,
+    0x1ab3,
+    0x1dfb,
+    0x0dd8,
+    0x0eca,
+    0x1938,
+    0xa8c5,
+    0xaa4c,
+    0x08dc,
+    0x1c29,
+    0x0f3f,
+    0x09bc,
+    0x1060,
+    0x1145e,
+    0x0a02,
+    0x10eac,
+    0x110b1,
+    0x0654,
+    0x0f80,
+    0x0486,
+    0x065d,
+    0x0acc,
+    0x10f4d,
+    0xaaed,
+    0x0823,
+    0x030e,
+    0x0bcd,
+    0x0ac7,
+    0xfb1e,
+    0x17be,
+    0x11c9c,
+    0x1da9e,
+    0x11102,
+    0xa9bb,
+    0x1da5b,
+    0x08e8,
+    0x11044,
+    0x1e014,
+    0x08e3,
+    0xe0158,
+    0xe01b2,
+    0x2de4,
+    0x1dd3,
+    0xe0138,
+    0x17b6,
+    0xe011d,
+    0x111ca,
+    0x1171f,
+    0x2cf0,
+    0x0364,
+    0x1c35,
+    0x0a3f,
+    0xfe0a,
+    0x1da11,
+    0x1dc4,
+    0x0dde,
+    0x1e131,
+    0x103a,
+    0xe0149,
+    0x11a5a,
+    0xe018c,
+    0x11357,
+    0x1e8d1,
+    0x119dd,
+    0x0487,
+    0x20e2,
+    0x1da33,
+    0x0bc0,
+    0x1d166,
+    0x11630,
+    0x11c36,
+    0x11cae,
+    0xfe20,
+    0x112e6,
+    0x033d,
+    0xa9b9,
+    0x1773,
+    0x033c,
+    0xa94c,
+    0xe01c2,
+    0x1da54,
+    0x0819,
+    0x1e01f,
+    0x0301,
+    0x119dc,
+    0x031c,
+    0x16af3,
+    0x17b8,
+    0xe015b,
+    0x0bd7,
+    0x0f94,
+    0x0f7f,
+    0x11d32,
+    0x11a8b,
+    0x1dda,
+    0xa9be,
+    0x1be6,
+    0x1da5e,
+    0x1ddd,
+    0x11720,
+    0x0c48,
+    0x1734,
+    0x16f71,
+    0x11c9d,
+    0x1031,
+    0x0327,
+    0x05b4,
+    0x11934,
+    0x0352,
+    0x1da4f,
+    0x16ff1,
+    0x11002,
+    0x2dff,
+    0x1103c,
+    0xe0183,
+    0x103d,
+    0x1da2e,
+    0xe0107,
+    0x1d1aa,
+    0x0337,
+    0x1e2ed,
+    0x1143b,
+    0x11373,
+    0x0747,
+    0x11838,
+    0xaa36,
+    0xe01b0,
+    0x1da1c,
+    0x07ad,
+    0x17cd,
+    0xaa30,
+    0x0fb5,
+    0x10eab,
+    0x07ef,
+    0x1c26,
+    0x11340,
+    0x0323,
+    0x1163f,
+    0x16f56,
+    0x1aba,
+    0x1933,
+    0x110b0,
+    0x1e948,
+    0x10378,
+    0x1932,
+    0x06ed,
+    0x0df2,
+    0x11367,
+    0x1e010,
+    0x302b,
+    0xa8bc,
+    0x11639,
+    0x08ea,
+    0x111bf,
+    0x2df7,
+    0x1da1a,
+    0x1da35,
+    0xa94d,
+    0x114b2,
+    0x1133b,
+    0x0f73,
+    0x05c7,
+    0x20de,
+    0x1bee,
+    0x11942,
+    0x07b0,
+    0xfe0c,
+    0x0598,
+    0x1da0d,
+    0xe01d7,
+    0x1dfd,
+    0x116b4,
+    0xaa2e,
+    0x0d3c,
+    0x05b2,
+    0x1bed,
+    0x20e8,
+    0x11636,
+    0x11d97,
+    0x119d6,
+    0x1de1,
+    0x1a68,
+    0x065b,
+    0x17d3,
+    0x1a59,
+    0x0611,
+    0xa670,
+    0x114c1,
+    0x1e945,
+    0x1927,
+    0x1dd9,
+    0x10a03,
+    0x1103e,
+    0x1da32,
+    0xe01e6,
+    0x11a38,
+    0x0d4d,
+    0x0d63,
+    0x0fa3,
+    0x1cd7,
+    0xe01e8,
+    0x094c,
+    0x114bf,
+    0x0746,
+    0x1cd1,
+    0x17d2,
+    0x0596,
+    0x08f1,
+    0x0334,
+    0x11cb3,
+    0x1da22,
+    0xe01ec,
+    0x17ba,
+    0x0fbc,
+    0x1de3,
+    0x11c97,
+    0xe01a8,
+    0xa8b9,
+    0x11cb4,
+    0x111b3,
+    0x11728,
+    0x0357,
+    0x11833,
+    0x0ce3,
+    0xe0123,
+    0xfe2a,
+    0x1d16d,
+    0x1b41,
+    0x033e,
+    0x0341,
+    0x073a,
+    0x2deb,
+    0x10d27,
+    0x1cf8,
+    0x112e4,
+    0x06e0,
+    0x1163e,
+    0x1b71,
+    0x0cc3,
+    0x11a37,
+    0x1dcb,
+    0xa678,
+    0xa8ff,
+    0x20df,
+    0x09cc,
+    0x0a3c,
+    0x1cf4,
+    0x05af,
+    0x108b,
+    0xe01da,
+    0x1da10,
+    0x11c9e,
+    0x11832,
+    0x08d8,
+    0x0366,
+    0x05c4,
+    0x16af2,
+    0xfe00,
+    0x10a05,
+    0x0330,
+    0x0319,
+    0xfe24,
+    0xa926,
+    0xa824,
+    0x111bc,
+    0x081e,
+    0x0afc,
+    0x1072,
+    0x08e0,
+    0x1bad,
+    0x1da5d,
+    0x115c0,
+    0x1714,
+    0x0363,
+    0x17c2,
+    0xa69f,
+    0x10f49,
+    0xe0196,
+    0x0659,
+    0x1e017,
+    0x1d180,
+    0x1da67,
+    0xaaeb,
+    0x0abe,
+    0x1cdb,
+    0x1da25,
+    0x0ae3,
+    0x0c4d,
+    0x1da34,
+    0xa80b,
+    0x1032,
+    0x1be7,
+    0x1cf7,
+    0xe01ef,
+    0x180d,
+    0x030f,
+    0x1daa1,
+    0x1da28,
+    0x11129,
+    0x08fb,
+    0x1034,
+    0x11368,
+    0x1da84,
+    0xa67b,
+    0x2d7f,
+    0x2dfb,
+    0x0740,
+    0x1e018,
+    0x11ca1,
+    0x0bbe,
+    0x0c42,
+    0x11d8e,
+    0x1e949,
+    0x0a71,
+    0x2dee,
+    0x1da03,
+    0x0e39,
+    0x0c41,
+    0x0dd6,
+    0x2de1,
+    0xe0142,
+    0xe016e,
+    0x1a6f,
+    0x16f83,
+    0xaa43,
+    0x11a91,
+    0x0485,
+    0x1033,
+    0x1a73,
+    0x0f86,
+    0x07f1,
+    0xe018e,
+    0x11a8e,
+    0x11834,
+    0x0b40,
+    0x1da56,
+    0x1b81,
+    0x1dc9,
+    0x1e005,
+    0x11046,
+    0x2df1,
+    0x1163a,
+    0x11c3c,
+    0x08e6,
+    0x0fb7,
+    0x1ce4,
+    0x1e134,
+    0xfe2c,
+    0xfe0f,
+    0x1a55,
+    0x1df6,
+    0x1da1b,
+    0xe01e5,
+    0xe01b6,
+    0xa8ec,
+    0x11a5b,
+    0xa929,
+    0x1c2d,
+    0x11d94,
+    0x06ec,
+    0x0ac8,
+    0x1d16f,
+    0x1da45,
+    0xe01c5,
+    0xe0182,
+    0xa6f1,
+    0x1d244,
+    0x1e002,
+    0x11831,
+    0x1e01d,
+    0xa67a,
+    0xe0169,
+    0x05bd,
+    0x0670,
+    0x1e136,
+    0x0595,
+    0x05aa,
+    0x08d9,
+    0x064c,
+    0x0942,
+    0x0658,
+    0x065c,
+    0xe019b,
+    0x06e1,
+    0x1bac,
+    0xe011b,
+    0x0821,
+    0x1133c,
+    0x1107f,
+    0x1e132,
+    0xe0102,
+    0x16f52,
+    0x11370,
+    0x11836,
+    0xe0151,
+    0x07eb,
+    0xe0117,
+    0x1ab4,
+    0xe0152,
+    0x11d95,
+    0x16f5a,
+    0x1d18b,
+    0xe0119,
+    0x17bf,
+    0xa9bf,
+    0x2df3,
+    0xaac1,
+    0x1da68,
+    0xa953,
+    0x05a0,
+    0x0329,
+    0x0ac2,
+    0x033b,
+    0xe0164,
+    0x11a94,
+    0xfe07,
+    0x11c9b,
+    0x1923,
+    0x0b01,
+    0x119da,
+    0x1da0b,
+    0x11045,
+    0xe0100,
+    0x0dd3,
+    0x1da24,
+    0x102d,
+    0x0314,
+    0x0d42,
+    0x1dce,
+    0x11d3c,
+    0xe0193,
+    0x0f81,
+    0x06dc,
+    0x0cc4,
+    0xe01e2,
+    0x0d00,
+    0x0733,
+    0x11440,
+    0x16f62,
+    0x1b72,
+    0x07af,
+    0xa827,
+    0x11235,
+    0x08d3,
+    0x1da4c,
+    0x065e,
+    0xe012d,
+    0x10f4c,
+    0x0340,
+    0x06d9,
+    0xfe01,
+    0x1de6,
+    0x0951,
+    0x1da40,
+    0x1d182,
+    0x1da17,
+    0x1e023,
+    0x0b44,
+    0x11723,
+    0x1143c,
+    0xfe2e,
+    0xfe25,
+    0x064f,
+    0x20d9,
+    0x05a8,
+    0x11c31,
+    0x032f,
+    0x11d34,
+    0x16f6e,
+    0x1133e,
+    0x034f,
+    0x16f7c,
+    0x1b44,
+    0xa948,
+    0x0bca,
+    0xa9bc,
+    0x0326,
+    0x08f3,
+    0x07a9,
+    0x06d7,
+    0x11943,
+    0x11a3e,
+    0x1da69,
+    0x116b1,
+    0x1dc1,
+    0x11001,
+    0x1d189,
+    0x1da49,
+    0x16f75,
+    0xe01e0,
+    0x1b3c,
+    0xe01be,
+    0xe01a3,
+    0x0952,
+    0x103b,
+    0x2df4,
+    0x119e0,
+    0x1da4d,
+    0x0d57,
+    0x18a9,
+    0x06db,
+    0xfe29,
+    0xa927,
+    0x1b35,
+    0x0cd6,
+    0x0593,
+    0x0d81,
+    0x11080,
+    0xabe8,
+    0x1b01,
+    0x064d,
+    0xe0126,
+    0x1daab,
+    0x1d16e,
+    0x0f87,
+    0x036a,
+    0xa9ba,
+    0x1d171,
+    0x059f,
+    0x1a56,
+    0xe0173,
+    0x0d41,
+    0xe0131,
+    0x10377,
+    0x11a3c,
+    0x0fae,
+    0x0f9f,
+    0x0acd,
+    0xa8c1,
+    0x11633,
+    0xaa7c,
+    0x1be9,
+    0xe017b,
+    0x0f7e,
+    0x0b47,
+    0xe0179,
+    0x16f69,
+    0x1886,
+    0x1085,
+    0xe013b,
+    0x1bf1,
+    0x11230,
+    0xe0145,
+    0x0362,
+    0x1daa9,
+    0x0f84,
+    0x0317,
+    0x0483,
+    0x1da6c,
+    0x0cc6,
+    0x10f4f,
+    0xe0139,
+    0xaaef,
+    0xe01d8,
+    0x11a06,
+    0x0f78,
+    0x05c2,
+    0x2cef,
+    0x1c32,
+    0x0b3e,
+    0x11ca2,
+    0x0b4d,
+    0xa8e4,
+    0x11043,
+    0x0e36,
+    0x108a,
+    0x032c,
+    0x16f5c,
+    0x0d3b,
+    0x1b6b,
+    0x1e029,
+    0xe016d,
+    0x1163c,
+    0x09e3,
+    0x05a7,
+    0x1ddc,
+    0x1de2,
+    0x1934,
+    0x1abb,
+    0x1dcf,
+    0x1da29,
+    0x06e8,
+    0x11c33,
+    0x1dd8,
+    0x1a75,
+    0x1e013,
+    0x111b6,
+    0x0ec8,
+    0x10ae6,
+    0x1da0f,
+    0x1de0,
+    0xe01d9,
+    0x1ab1,
+    0x192a,
+    0x082a,
+    0x0d82,
+    0xe0191,
+    0x20ee,
+    0x11937,
+    0xe0147,
+    0x11a58,
+    0x1dc0,
+    0x11637,
+    0xa8ba,
+    0xe01cc,
+    0x0fb0,
+    0x094b,
+    0x135f,
+    0x0597,
+    0x08d7,
+    0x16f5b,
+    0x1abe,
+    0x0610,
+    0xe014f,
+    0x0901,
+    0x1171d,
+    0x1da2c,
+    0x1c37,
+    0xe0199,
+    0x1753,
+    0x114b1,
+    0x115b2,
+    0xabe7,
+    0x031d,
+    0x0c01,
+    0x111b4,
+    0x0f8d,
+    0x16f68,
+    0x17dd,
+    0x0cbc,
+    0x1a1a,
+    0x1dc7,
+    0xaab2,
+    0x1bab,
+    0x0d62,
+    0x1dc3,
+    0xa8e5,
+    0x17bd,
+    0x11a35,
+    0x0e4b,
+    0x11082,
+    0xa8f0,
+    0xe01a9,
+    0xe0122,
+    0x0ecb,
+    0xaa2d,
+    0x0331,
+    0x2dec,
+    0x11c99,
+    0x0e37,
+    0xa8b5,
+    0x1bc9d,
+    0x035c,
+    0x1112d,
+    0x0309,
+    0x20d3,
+    0x1a70,
+    0xe014b,
+    0x110b4,
+    0x16f6f,
+    0xa674,
+    0x0fb9,
+    0x11d42,
+    0x11a51,
+    0x11d91,
+    0x1d17b,
+    0x1a6b,
+    0xe0136,
+    0x112e9,
+    0x1067,
+    0x115be,
+    0x085b,
+    0x1d169,
+    0x11d93,
+    0x1b04,
+    0x0346,
+    0xe0146,
+    0x17b4,
+    0x11c94,
+    0x05b0,
+    0x11371,
+    0x05c5,
+    0x0361,
+    0xa8eb,
+    0x1cd4,
+    0x16f86,
+    0x114c0,
+    0x1a5b,
+    0x11134,
+    0x11d3a,
+    0x05bf,
+    0x11446,
+    0x16f6d,
+    0xe0180,
+    0x035a,
+    0x11c35,
+    0x0fa4,
+    0x1dcc,
+    0x115bd,
+    0x114ba,
+    0xe0159,
+    0x0f7d,
+    0x0d40,
+    0xe015f,
+    0x0acb,
+    0x111c9,
+    0x11038,
+    0x1da43,
+    0x10a3a,
+    0x20d2,
+    0x09cb,
+    0x1b3a,
+    0x1be8,
+    0x0731,
+    0xe0174,
+    0x0e4d,
+    0x0312,
+    0x119de,
+    0x034c,
+    0x11932,
+    0x0829,
+    0xe012c,
+    0x1daa2,
+    0x11a09,
+    0x0957,
+    0x119d1,
+    0x11ca3,
+    0xe0130,
+    0xe0166,
+    0x0313,
+    0xe01d3,
+    0x1da09,
+    0x1ab6,
+    0x112e5,
+    0x1e01e,
+    0xe019f,
+    0x1e135,
+    0x1da75,
+    0x111cc,
+    0x17c6,
+    0x110b6,
+    0x16f66,
+    0x0a3e,
+    0x1e012,
+    0xe0155,
+    0x1d167,
+    0x07ab,
+    0x0e35,
+    0x1da06,
+    0xe01d0,
+    0xa9b3,
+    0x1cde,
+    0x119d7,
+    0x1b80,
+    0x11437,
+    0x20dc,
+    0x114b0,
+    0x1daae,
+    0x1e8d4,
+    0x1088,
+    0x1772,
+    0x1dfc,
+    0xa952,
+    0x11374,
+    0x1037,
+    0x1171e,
+    0x0b3f,
+    0x05ac,
+    0x1da2d,
+    0x20ef,
+    0x05b6,
+    0xabe5,
+    0x11d8d,
+    0xa8bf,
+    0xa9b5,
+    0x1b3f,
+    0x116ab,
+    0xe010f,
+    0x1a5c,
+    0x1a57,
+    0xa8ef,
+    0xfe21,
+    0x112e0,
+    0x0fa8,
+    0xe0121,
+    0xabed,
+    0x0c04,
+    0x0825,
+    0xa6f0,
+    0x059b,
+    0x0940,
+    0x16b32,
+    0x0faa,
+    0x109c,
+    0x0827,
+    0x11180,
+    0x11a54,
+    0x1925,
+    0x031b,
+    0x11438,
+    0xe014a,
+    0x11130,
+    0xa677,
+    0x1e003,
+    0x193b,
+    0x1112f,
+    0x0dca,
+    0xa8b4,
+    0x11c30,
+    0xaaf5,
+    0xe01af,
+    0x11a56,
+    0x0f8f,
+    0xe018a,
+    0x1c2e,
+    0x1dff,
+    0xe0175,
+    0x2df5,
+    0x0dda,
+    0x1da9d,
+    0x1136c,
+    0x111b8,
+    0x302a,
+    0x2de5,
+    0xe01b9,
+    0x1039,
+    0x16f63,
+    0x0338,
+    0x1baa,
+    0x0c83,
+    0x0743,
+    0x106a,
+    0x1da23,
+    0x1daaa,
+    0x1c31,
+    0x09c4,
+    0xe017f,
+    0xa983,
+    0x1b6e,
+    0x20e5,
+    0x17c4,
+    0x0afe,
+    0xe0167,
+    0x1037a,
+    0x0954,
+    0x11145,
+    0xe0135,
+    0xe016b,
+    0x0cc7,
+    0x1da04,
+    0x0abc,
+    0x1b37,
+    0x0ac5,
+    0xe0187,
+    0x0350,
+    0x1143d,
+    0x2cf1,
+    0x1056,
+    0x08ff,
+    0x119d2,
+    0x11d8c,
+    0xe01df,
+    0xaab4,
+    0x1c34,
+    0x0ac0,
+    0x0305,
+    0x0822,
+    0x11a07,
+    0xaa31,
+    0x0ce2,
+    0x17c8,
+    0x031e,
+    0x0820,
+    0x0aff,
+    0x0945,
+    0x1172b,
+    0x1e009,
+    0x0941,
+    0x1da61,
+    0x17b9,
+    0x1ba7,
+    0x0739,
+    0x1ba1,
+    0x1a5d,
+    0x08f2,
+    0x093c,
+    0x1b6f,
+    0xa92a,
+    0x11729,
+    0x1dd1,
+    0x10a0e,
+    0xaa2a,
+    0x0956,
+    0x0f37,
+    0x0c81,
+    0x10a38,
+    0x07f3,
+    0xe0134,
+    0x20e9,
+    0xe0104,
+    0x032e,
+    0x11c98,
+    0x1071,
+    0x0fab,
+    0x11931,
+    0xe017d,
+    0x16f7b,
+    0x0748,
+    0x116b5,
+    0x0306,
+    0x0b63,
+    0x2dfd,
+    0x061a,
+    0x1ce2,
+    0xa66f,
+    0x1ba3,
+    0x1133f,
+    0x11344,
+    0x082d,
+    0x1e944,
+    0x08eb,
+    0xe010b,
+    0x1d186,
+    0x1082,
+    0x116ae,
+    0x16f74,
+    0x11d47,
+    0x16b30,
+    0x1da4a,
+    0x11a01,
+    0x0d4b,
+    0xaa7b,
+    0xe012b,
+    0x0315,
+    0x16f81,
+    0xe01a0,
+    0x2dfa,
+    0x1e016,
+    0x05ae,
+    0x11100,
+    0x08ed,
+    0xe0109,
+    0x0903,
+    0x0ebc,
+    0x0488,
+    0x0962,
+    0x11d40,
+    0x0615,
+    0x1daa8,
+    0xfe0b,
+    0x11042,
+    0x0308,
+    0x1a17,
+    0x111bb,
+    0xe0115,
+    0x1112a,
+    0x11c3b,
+    0x1a76,
+    0xe0189,
+    0x1ab0,
+    0x1cd0,
+    0xe0165,
+    0x0367,
+    0x0735,
+    0x16f77,
+    0xe01ae,
+    0x11237,
+    0x102e,
+    0x1de5,
+    0xa823,
+    0x114bc,
+    0x0f75,
+    0x1c24,
+    0xe01c9,
+    0xaa2c,
+    0x0dcf,
+    0x1ba8,
+    0x1a74,
+    0x0eb9,
+    0x1da31,
+    0x0484,
+    0x11c9f,
+    0xe0106,
+    0x0318,
+    0x111ce,
+    0xa8c0,
+    0x1e8d0,
+    0x0365,
+    0x05a6,
+    0xe0194,
+    0x093a,
+    0x116b3,
+    0x0bc2,
+    0x106d,
+    0x0f39,
+    0x10a02,
+    0x1e00c,
+    0x094f,
+    0x1cda,
+    0x16f64,
+    0x1c2c,
+    0x1d187,
+    0x0737,
+    0x0cc2,
+    0x1069,
+    0x1dd0,
+    0x11233,
+    0xe017a,
+    0x0a83,
+    0x06d8,
+    0x1b34,
+    0x06d6,
+    0x2dea,
+    0xa880,
+    0x1163d,
+    0x20e4,
+    0xa9b8,
+    0x0f96,
+    0x08dd,
+    0x0f76,
+    0x1dd2,
+    0xe0172,
+    0x0983,
+    0x06da,
+    0x1e130,
+    0x0300,
+    0x1ced,
+    0xe0163,
+    0x073c,
+    0x0a48,
+    0x2df2,
+    0x16f55,
+    0x0dd0,
+    0xe0190,
+    0x1df2,
+    0xe015d,
+    0xe01e4,
+    0x08d4,
+    0x16fe4,
+    0x0f95,
+    0x1daac,
+    0x11cac,
+    0x0fa6,
+    0x0a03,
+    0xe0114,
+    0x1da21,
+    0x1ab7,
+    0x1e01c,
+    0xaa29,
+    0x0cbe,
+    0x034d,
+    0x0336,
+    0x08f6,
+    0x1cdd,
+    0x059d,
+    0x0316,
+    0x05c1,
+    0x109a,
+    0x1e015,
+    0x11101,
+    0x0f7b,
+    0x0614,
+    0x1c33,
+    0x0b02,
+    0xe013a,
+    0x11c3f,
+    0x0bbf,
+    0xe01c8,
+    0xe010d,
+    0x0613,
+    0x1920,
+    0x11302,
+    0x2df9,
+    0xe01c1,
+    0xe01d5,
+    0x0354,
+    0x082c,
+    0x1ce7,
+    0x1030,
+    0x1c36,
+    0x1ce8,
+    0x11c96,
+    0x035e,
+    0x1d1ac,
+    0x115bb,
+    0x11a92,
+    0x16af4,
+    0x0f7c,
+    0x0b43,
+    0x1da55,
+    0x11830,
+    0x11ca4,
+    0xa676,
+    0x11435,
+    0x1182f,
+    0x094e,
+    0x11343,
+    0x1b03,
+    0x1d1ab,
+    0x1abf,
+    0xa8f1,
+    0x05b5,
+    0x0d4a,
+    0xabec,
+    0xe01ed,
+    0x1beb,
+    0x1da0e,
+    0x0948,
+    0x0d44,
+    0x1ce6,
+    0x1087,
+    0x1a5a,
+    0x16f67,
+    0x1da4e,
+    0x0b82,
+    0x1c2b,
+    0x16f78,
+    0x20dd,
+    0x1c2f,
+    0xa94e,
+    0x11a53,
+    0x1b39,
+    0x1da53,
+    0x11ef6,
+    0x1d17c,
+    0xe019a,
+    0x1038,
+    0x16f65,
+    0x1da13,
+    0x0826,
+    0xa82c,
+    0x0df3,
+    0x11d44,
+    0x1da44,
+    0x1cd9,
+    0xa826,
+    0xa8e0,
+    0x302f,
+    0x11933,
+    0x11a8a,
+    0x1b02,
+    0xa9bd,
+    0x11443,
+    0x0f9d,
+    0xfe27,
+    0x1da0c,
+    0xe01d6,
+    0x1b73,
+    0x1da63,
+    0x07ac,
+    0x1134b,
+    0x0d43,
+    0x1da51,
+    0x1a60,
+    0xe010c,
+    0x11d3f,
+    0x0d01,
+    0x0734,
+    0x1928,
+    0x11439,
+    0xe0153,
+    0x11835,
+    0x1da1d,
+    0xa8bd,
+    0x0f9c,
+    0x11a98,
+    0x0f72,
+    0x1a7f,
+    0x112e1,
+    0x119d5,
+    0x1123e,
+    0x1103d,
+    0x11a96,
+    0x114bb,
+    0x0c46,
+    0x08f7,
+    0x11c95,
+    0xe016a,
+    0x16f60,
+    0xe014e,
+    0x0653,
+    0x0344,
+    0x035f,
+    0x11d3d,
+    0x1193c,
+    0x115bc,
+    0x0fba,
+    0x0a75,
+    0x110b8,
+    0x036e,
+    0xe01db,
+    0x1935,
+    0x1122d,
+    0x112e8,
+    0xe0176,
+    0x033f,
+    0x17c0,
+    0x1dc8,
+    0x11640,
+    0xe0127,
+    0x1da2f,
+    0x10d24,
+    0x07f0,
+    0x1ddb,
+    0x116ad,
+    0x16b31,
+    0x1da2a,
+    0x1cd8,
+    0x115dc,
+    0x1de4,
+    0x0749,
+    0xe0184,
+    0x1da3b,
+    0xe01a2,
+    0x114b7,
+    0xe013d,
+    0x1064,
+    0x08f0,
+    0x0c55,
+    0xa92c,
+    0x0ccb,
+    0x10a39,
+    0x093e,
+    0xfe03,
+    0x11a8c,
+    0x16f51,
+    0x059a,
+    0x0d4c,
+    0x11727,
+    0x1daad,
+    0x109b,
+    0x2df8,
+    0x1dd6,
+    0xabe6,
+    0x115b9,
+    0xe01cd,
+    0xaabf,
+    0xe01b4,
+    0x10f4a,
+    0x0963,
+    0x1d181,
+    0x0321,
+    0x1ba2,
+    0xe017c,
+    0x0f35,
+    0x0953,
+    0x0abf,
+    0x108c,
+    0xe012a,
+    0x0d46,
+    0xe0111,
+    0xe01cf,
+    0x1da05,
+    0x1c30,
+    0x302d,
+    0x20d0,
+    0x11d96,
+    0x11ca7,
+    0x1143e,
+    0x0b41,
+    0x0cd5,
+    0x0f82,
+    0x11444,
+    0x111b7,
+    0xaab0,
+    0x10376,
+    0x1dc6,
+    0x102b,
+    0x06e2,
+    0x0311,
+    0xe0157,
+    0xaa4d,
+    0x1b70,
+    0x10f46,
+    0x1b00,
+    0x17c5,
+    0x11a47,
+    0x1a67,
+    0x106b,
+    0x1a61,
+    0xa8be,
+    0xaaec,
+    0x135e,
+    0x1e8d3,
+    0x0dd9,
+    0xe013c,
+    0xa980,
+    0x11a05,
+    0x034a,
+    0xfe0d,
+    0x1136b,
+    0xa8e7,
+    0x110b2,
+    0x1e2ec,
+    0x10ae5,
+    0x0348,
+    0x032d,
+    0x05a4,
+    0x1da26,
+    0x10d26,
+    0x1035,
+    0x0342,
+    0x0cc1,
+    0x0e49,
+    0x08fc,
+    0x0c4c,
+    0x0c47,
+    0x180b,
+    0x111bd,
+    0x1063,
+    0x08ec,
+    0x16f6c,
+    0x16f90,
+    0x0fb1,
+    0xe019c,
+    0x0304,
+    0xe0177,
+    0xaa35,
+    0x0b55,
+    0x20e6,
+    0xa8c3,
+    0x1163b,
+    0x1074,
+    0x11301,
+    0x114b6,
+    0x0f99,
+    0xe01cb,
+    0x11040,
+    0x11a97,
+    0x0ecc,
+    0xa92b,
+    0xe0195,
+    0x110ba,
+    0xe014d,
+    0x1193d,
+    0x1e001,
+    0x16f58,
+    0xaaee,
+    0x10f47,
+    0x10f4e,
+    0xe019e,
+    0xe0112,
+    0x0a4d,
+    0xe01c3,
+    0xe015c,
+    0x110b5,
+    0xa8e3,
+    0x1a65,
+    0x11a8d,
+    0x1e946,
+    0x0902,
+    0x0c56,
+    0x11ef4,
+    0x0a70,
+    0x065a,
+    0x073e,
+    0xe012f,
+    0x16ff0,
+    0x0349,
+    0x11ca5,
+    0x0360,
+    0x116af,
+    0x1112e,
+    0x11c3a,
+    0x09fe,
+    0x1122c,
+    0xe0108,
+    0xe013f,
+    0x0982,
+    0x11081,
+    0x1d172,
+    0x16f92,
+    0x0489,
+    0x11725,
+    0x0302,
+    0x11ef3,
+    0x0741,
+    0x1dfe,
+    0x11a02,
+    0xe019d,
+    0xe0110,
+    0xa672,
+    0x05a5,
+    0xaabe,
+    0x1b36,
+    0x11445,
+    0x115b5,
+    0x0347,
+    0x0c62,
+    0xfe09,
+    0xe01e3,
+    0x11041,
+    0x0eb8,
+    0x08de,
+    0x1da3e,
+    0x0e48,
+    0x1da48,
+    0x1057,
+    0x11a95,
+    0x0d47,
+    0x0bc7,
+    0x0f74,
+    0x0dd2,
+    0x1e00a,
+    0x0711,
+    0x08d6,
+    0x11a52,
+    0xa8ea,
+    0xe01ca,
+    0x0332,
+    0x08e4,
+    0x16af0,
+    0x11638,
+    0x10a0f,
+    0x11146,
+    0x10a0c,
+    0xe01a5,
+    0x11182,
+    0x1dcd,
+    0xe0192,
+    0x1da50,
+    0xa9b7,
+    0x1e011,
+    0x0fb8,
+    0x09be,
+    0xfe0e,
+    0xe011a,
+    0x08e1,
+    0x1df9,
+    0x1936,
+    0x08da,
+    0x1ab9,
+    0x1e02a,
+    0x07ee,
+    0x106c,
+    0x0f7a,
+    0x11ca6,
+    0x1134c,
+    0x20e3,
+    0x0bc6,
+    0x032a,
+    0x0736,
+    0x16f84,
+    0x07aa,
+    0x1df0,
+    0x11cab,
+    0x11039,
+    0x1a62,
+    0x1da02,
+    0xe01b1,
+    0x1089,
+    0x0a40,
+    0x11131,
+    0x034b,
+    0x1d17e,
+    0xabe4,
+    0x10f4b,
+    0x0650,
+    0x1cd5,
+    0x1b6c,
+    0xe0140,
+    0x1058,
+    0x0c03,
+    0x06e4,
+    0x1930,
+    0x0f77,
+    0x11232,
+    0x08fd,
+    0xfe2f,
+    0xe01c0,
+    0xe0144,
+    0x1d188,
+    0x1ac0,
+    0x05ad,
+    0xa982,
+    0x109d,
+    0x16f85,
+    0xa679,
+    0x1885,
+    0x11930,
+    0x064b,
+    0x0fb4,
+    0x1e8d5,
+    0x0e47,
+    0x1cdf,
+    0x20db,
+    0xe0171,
+    0xa8e2,
+    0x1182e,
+    0x0c82,
+    0xa67d,
+    0x11635,
+    0x11cb0,
+    0x1ba9,
+    0x16f8f,
+    0x180c,
+    0x11c92,
+    0x0353,
+    0xe01dd,
+    0x1b3e,
+    0x16b33,
+    0x1062,
+    0x0944,
+    0xaab7,
+    0x11a55,
+    0x1da16,
+    0x112df,
+    0x20d8,
+    0xe014c,
+    0x2df6,
+    0x11c38,
+    0x0946,
+    0xe0162,
+    0x1bf0,
+    0x09c1,
+    0x06e7,
+    0x0fa9,
+    0x114b4,
+    0x0c44,
+    0xe0118,
+    0x05ba,
+    0x059c,
+    0x0e38,
+    0x1da00,
+    0xe01b8,
+    0xe01b5,
+    0x0fc6,
+    0x17cb,
+    0x0947,
+    0x1939,
+    0x0355,
+    0x20f0,
+    0x119d3,
+    0xa9b4,
+    0x0b03,
+    0x1da47,
+    0x20e0,
+    0x0612,
+    0x08e7,
+    0x112e3,
+    0x0ccc,
+    0x16f73,
+    0x09d7,
+    0x102f,
+    0xe01a4,
+    0xfe04,
+    0x1ddf,
+    0x0817,
+    0xe01bd,
+    0x1929,
+    0x0742,
+    0x0ae2,
+    0x16f6a,
+    0x064e,
+    0x11231,
+    0x1c27,
+    0x0656,
+    0x0c3e,
+    0x030c,
+    0x0bcc,
+    0xa94f,
+    0x0949,
+    0x1da6a,
+    0x0ddb,
+    0xe0129,
+    0x0fb3,
+    0x16f7f,
+    0x0cc0,
+    0x09e2,
+    0x116b0,
+    0x1da9c,
+    0x082b,
+    0xa94a,
+    0x1bec,
+    0x17c1,
+    0x1deb,
+    0x0f9e,
+    0xa825,
+    0x1abc,
+    0x1b38,
+    0x081f,
+    0x1da5c,
+    0xe011f,
+    0x0c4a,
+    0x0dd1,
+    0xaa7d,
+    0x0955,
+    0x05a2,
+    0x0ac1,
+    0x17c7,
+    0x0c63,
+    0x20e1,
+    0xa69e,
+    0x1e028,
+    0x17bc,
+    0xaab3,
+    0xe01b7,
+    0xe0133,
+    0x0e4c,
+    0x1da66,
+    0x0325,
+    0x0bcb,
+    0xa92d,
+    0x0f71,
+    0x111b5,
+    0x1a72,
+    0x11a59,
+    0x1cf9,
+    0x1e008,
+    0x2ded,
+    0x0d03,
+    0x1183a,
+    0x0fa0,
+    0x11721,
+    0x030a,
+    0x20ed,
+    0x1182c,
+    0x0ddc,
+    0x036c,
+    0x1da4b,
+    0xe01ab,
+    0x17d0,
+    0x1da9b,
+    0x1da5a,
+    0x11ca0,
+    0x1da01,
+    0x1daa4,
+    0x08ef,
+    0x0591,
+    0x16af1,
+    0xe0161,
+    0x1da12,
+    0x1ce0,
+    0x0faf,
+    0x094a,
+    0x1ba6,
+    0x20d4,
+    0x0d48,
+    0xfe06,
+    0x09c3,
+    0x0b56,
+    0x17b5,
+    0x119db,
+    0x0b62,
+    0x11a03,
+    0x115b3,
+    0x081c,
+    0x0c00,
+    0x08fe,
+    0xe01bf,
+    0x112e2,
+    0x1e133,
+    0x1da52,
+    0x05b8,
+    0xe0105,
+    0xfe2b,
+    0x0cc8,
+    0x20eb,
+    0x16f70,
+    0xe0150,
+    0x0eba,
+    0xaaf6,
+    0x0fac,
+    0xa8ed,
+    0x0fa1,
+    0x16f7e,
+    0x1cd2,
+    0x0307,
+    0x17cf,
+    0x1e026,
+    0x073d,
+    0x1e024,
+    0xe01d2,
+    0x1da08,
+    0xe01b3,
+    0xaa34,
+    0x116ac,
+    0x08e5,
+    0x11127,
+    0x036b,
+    0x1c25,
+    0x0599,
+    0x0eb6,
+    0x11348,
+    0x1e00b,
+    0x1ab5,
+    0x11234,
+    0x10d25,
+    0x0359,
+    0x1cd6,
+    0x115b1,
+    0x1da19,
+    0xe0198,
+    0x0339,
+    0x2de6,
+    0x0fad,
+    0x11d35,
+    0x102c,
+    0x1924,
+    0xfe2d,
+    0x07ec,
+    0x11133,
+    0x11369,
+    0x112ea,
+    0x20e7,
+    0x11a08,
+    0x11c34,
+    0x11347,
+    0x1713,
+    0x1df7,
+    0x11d41,
+    0x0a82,
+    0x2def,
+    0x06df,
+    0x17ca,
+    0xaa2f,
+    0x1bef,
+    0x0616,
+    0xe0178,
+    0x1122e,
+    0x1143f,
+    0x115b4,
+    0xa8b6,
+    0x1103b,
+    0x08f9,
+    0x11940,
+    0x11d33,
+    0x119df,
+    0x036f,
+    0xaa33,
+    0x1dee,
+    0xa9e5,
+    0x1a18,
+    0x2de3,
+    0xe013e,
+    0x114b9,
+    0xe01ea,
+    0x1da20,
+    0x1df1,
+    0x0a47,
+    0x1daa3,
+    0x11a93,
+    0x1b3b,
+    0x192b,
+    0x0f97,
+    0x1def,
+    0x11d31,
+    0x0eb4,
+    0xabe3,
+    0xe0168,
+    0x20ea,
+    0x0ddf,
+    0x111c0,
+    0x1dc2,
+    0x0345,
+    0xa947,
+    0x0bc8,
+    0x1ba5,
+    0xe0116,
+    0x1da0a,
+    0x09bf,
+    0xe01e7,
+    0x11a3b,
+    0x0859,
+    0xe012e,
+    0x1a78,
+    0x0738,
+    0x0592,
+    0x11362,
+    0x05a3,
+    0x0ddd,
+    0xe01ee,
+    0x0bc1,
+    0x1103f,
+    0x1b40,
+    0x0ac3,
+    0x1d1ad,
+    0x1df8,
+    0x16f4f,
+    0x11724,
+    0x0a81,
+    0x1a5e,
+    0x10a3f,
+    0x11a3d,
+    0x1921,
+    0x1b42,
+    0x1b43,
+    0x1a71,
+    0xe016c,
+    0x11722,
+    0xabe9,
+    0x11303,
+    0xe01ad,
+    0x11341,
+    0x11c39,
+    0x0afa,
+    0x1ab2,
+    0x114c3,
+    0xa949,
+    0x0617,
+    0x0f18,
+    0x1daaf,
+    0x16f53,
+    0x0745,
+    0x1da36,
+    0x031f,
+    0x16f54,
+    0x111cf,
+    0x114be,
+    0x081b,
+    0x1da1e,
+    0x0732,
+    0x1df3,
+    0x0a4b,
+    0x1df5,
+    0x074a,
+    0xfe23,
+    0x0afb,
+    0x1ab8,
+    0x0b4c,
+    0x11372,
+    0x081d,
+    0x114bd,
+    0x1ded,
+    0x20d1,
+    0xe018f,
+    0xfe26,
+    0xa8c2,
+    0x1a6e,
+    0x11181,
+    0x302c,
+    0x07fd,
+    0x094d,
+    0x1193e,
+    0x1143a,
+    0xe016f,
+    0x1dd5,
+    0x11ca9,
+    0x1c2a,
+    0x06eb,
+    0x05b7,
+    0x11c3e,
+    0xe018b,
+    0x08f4,
+    0x1da58,
+    0x0f83,
+    0x0a42,
+    0xe01c7,
+    0x16f5e,
+    0x0818,
+    0x11cad,
+    0x1d185,
+    0x16f79,
+    0x05a9,
+    0x0ac4,
+    0xa9b6,
+    0x0900,
+    0x16f7d,
+    0xe0185,
+    0x111b9,
+    0x1dd4,
+    0x032b,
+    0xa8bb,
+    0x3099,
+    0x1e8d2,
+    0x11128,
+    0x11436,
+    0x0f90,
+    0x0369,
+    0x1cdc,
+    0x08df,
+    0x2de8,
+    0x035b,
+    0x0ec9,
+    0x17c3,
+    0x11441,
+    0x1172a,
+    0x1112c,
+    0x1a6c,
+    0x119e4,
+    0xe0137,
+    0x1922,
+    0xe018d,
+    0x1ce5,
+    0x1059,
+    0x11a57,
+    0xaab8,
+    0x1e00d,
+    0x1da3c,
+    0x10a0d,
+    0x11000,
+    0x11363,
+    0x0fa7,
+    0x07a6,
+    0xe01a6,
+    0x0e3a,
+    0x1e00e,
+    0x1da30,
+    0x0eb5,
+    0x1752,
+    0x1a79,
+    0x1733,
+    0x093b,
+    0x1068,
+    0x0ccd,
+    0xfe28,
+    0x1a77,
+    0x05b3,
+    0x1da59,
+    0x110b9,
+    0x1931,
+    0x10379,
+    0x1da6b,
+    0x16b36,
+    0xe0143,
+    0xe01bc,
+    0xe01d4,
+    0x101fd,
+    0xe015a,
+    0x11d36,
+    0x09c0,
+    0x0943,
+    0xa928,
+    0x16f57,
+    0x0ac9,
+    0x0fa5,
+    0xe01a1,
+    0xe01c6,
+    0x0b48,
+    0x11c2f,
+    0x1ce3,
+    0x2dfc,
+    0x11342,
+    0x1da18,
+    0x0f79,
+    0xfe22,
+    0x11d43,
+    0x0618,
+    0x11d45,
+    0x0eb1,
+    0x108f,
+    0x1d243,
+    0x11c3d,
+    0x1e021,
+    0x1da15,
+    0xe01e1,
+    0x0651,
+    0xabea,
+    0x0320,
+    0x10f48,
+    0x115ba,
+    0x09c7,
+    0x0f93,
+    0x09c2,
+    0x0356,
+    0xe0181,
+    0x2de7,
+    0x08ee,
+    0x116b2,
+    0x1ce1,
+    0x16f72,
+    0xe01c4,
+    0xe0160,
+    0x20d5,
+    0x1dea,
+    0x16f59,
+    0x11a99,
+    0x06ea,
+    0x0a41,
+    0x11837,
+    0x093f,
+    0xa881,
+    0x0303,
+    0x1abd,
+    0x1df4,
+    0x0657,
+    0x1bc9e,
+    0x1da2b,
+    0x114b3,
+    0x05bc,
+    0x0594,
+    0x08f5,
+    0xe0125,
+    0x1e8d6,
+    0x1da60,
+    0x07f2,
+    0x0d3f,
+    0x09c8,
+    0x1e00f,
+    0x1da5f,
+    0x0f91,
+    0x111ba,
+    0x0c4b,
+    0x1c28,
+    0xe0197,
+    0x0fb6,
+    0x0c43,
+    0x11726,
+    0x0e4e,
+    0xe0103,
+    0x1193b,
+    0x0a4c,
+    0x08f8,
+    0x11839,
+    0xa8e8,
+    0x108d,
+    0x0324,
+    0x1da46,
+    0x0fbb,
+    0x0816,
+    0xe011c,
+    0x1a64,
+    0x16f76,
+    0x0f9b,
+    0x309a,
+    0x0e31,
+    0x110b3,
+    0x11c9a,
+    0x0b4b,
+    0x0b57,
+    0x07ae,
+    0x1a58,
+    0xaa2b,
+    0x0368,
+    0x1da27,
+    0x0310,
+    0x11a8f,
+    0x20ec,
+    0x065f,
+    0x0335,
+    0x115b8,
+    0x030b,
+    0xe01a7,
+    0x0f9a,
+    0x11d8a,
+    0x1e027,
+    0x1daa5,
+    0x1182d,
+    0x302e,
+    0x1937,
+    0x033a,
+    0x1da65,
+    0x11a04,
+    0xe01ac,
+    0x0f19,
+    0x1d168,
+    0x0f92,
+    0xe0113,
+    0xe01de,
+    0x1da14,
+    0x11442,
+    0x1073,
+    0x0fb2,
+    0x11a33,
+    0x0655,
+    0x1a69,
+    0x0ecd,
+    0x2de2,
+    0xa9c0,
+    0x0333,
+    0xe01eb,
+    0x031a,
+    0xfe05,
+    0xa8b8,
+    0xe0124,
+    0xa951,
+    0x059e,
+    0x11632,
+    0x07a8,
+    0x17bb,
+    0x17b7,
+    0x193a,
+    0x1bf2,
+    0x16f91,
+    0x1e004,
+    0x035d,
+    0x17cc,
+    0xa8e9,
+    0x11c93,
+    0xe011e,
+    0x10f50,
+    0x16b34,
+    0x1084,
+    0x073b,
+    0x1122f,
+    0x05ab,
+    0x0d3e,
+    0x11c32,
+    0xa8e1,
+    0xa8ee,
+    0x0358,
+    0x0744,
+    0x0981,
+    0xe010e,
+    0x1a6a,
+    0x08d5,
+    0x1a1b,
+    0x0ebb,
+    0x20d7,
+    0x11a39,
+    0x2de0,
+    0x08fa,
+    0x11ef5,
+    0xfe02,
+    0x07ed,
+    0x0d83,
+    0x2df0,
+    0x1da62,
+    0x115b0,
+    0x1b3d,
+    0x1de9,
+    0x10a06,
+    0xaa32,
+    0xe01aa,
+    0x20da,
+    0x1e000,
+    0xe0170,
+    0x1dca,
+    0x0f3e,
+    0x17c9,
+    0xfe08,
+    0x110b7,
+    0x1de7,
+    0xa671,
+    0x085a,
+    0x16f87,
+    0x17d1,
+    0x16b35,
+    0x0a51,
+    0x105f,
+    0x11d8b,
+    0x11cb6,
+    0x116b7,
+    0x1112b,
+    0x1e2ee,
+    0x0e34,
+    0x036d,
+    0xe010a,
+    0x1a19,
+    0x1bea,
+    0x1e01b,
+    0x1926,
+    0x1732,
+    0x1da3f,
+    0xa8c4,
+    0x1d17f,
+    0x20d6,
+    0x11935,
+    0x1da64,
+    0x0d02,
+    0x05b9,
+    0x1d17d,
+    0x0f8e,
+    0x1086,
+    0x09cd,
+    0x1da07,
+    0xe01d1,
+    0x034e,
+    0x0afd,
+    0x1a7c,
+    0x1a7a,
+    0x0a01,
+    0xe0132,
+    0x1103a,
+    0x115bf,
+    0x1e94a,
+    0x1da42,
+];
+
+
+#[inline]
+#[allow(ellipsis_inclusive_range_patterns)]
+pub fn qc_nfc(c: char) -> IsNormalized {
+    match c {
+        '\u{0340}'...'\u{0341}' => No,
+        '\u{0343}'...'\u{0344}' => No,
+        '\u{0374}' => No,
+        '\u{037E}' => No,
+        '\u{0387}' => No,
+        '\u{0958}'...'\u{095F}' => No,
+        '\u{09DC}'...'\u{09DD}' => No,
+        '\u{09DF}' => No,
+        '\u{0A33}' => No,
+        '\u{0A36}' => No,
+        '\u{0A59}'...'\u{0A5B}' => No,
+        '\u{0A5E}' => No,
+        '\u{0B5C}'...'\u{0B5D}' => No,
+        '\u{0F43}' => No,
+        '\u{0F4D}' => No,
+        '\u{0F52}' => No,
+        '\u{0F57}' => No,
+        '\u{0F5C}' => No,
+        '\u{0F69}' => No,
+        '\u{0F73}' => No,
+        '\u{0F75}'...'\u{0F76}' => No,
+        '\u{0F78}' => No,
+        '\u{0F81}' => No,
+        '\u{0F93}' => No,
+        '\u{0F9D}' => No,
+        '\u{0FA2}' => No,
+        '\u{0FA7}' => No,
+        '\u{0FAC}' => No,
+        '\u{0FB9}' => No,
+        '\u{1F71}' => No,
+        '\u{1F73}' => No,
+        '\u{1F75}' => No,
+        '\u{1F77}' => No,
+        '\u{1F79}' => No,
+        '\u{1F7B}' => No,
+        '\u{1F7D}' => No,
+        '\u{1FBB}' => No,
+        '\u{1FBE}' => No,
+        '\u{1FC9}' => No,
+        '\u{1FCB}' => No,
+        '\u{1FD3}' => No,
+        '\u{1FDB}' => No,
+        '\u{1FE3}' => No,
+        '\u{1FEB}' => No,
+        '\u{1FEE}'...'\u{1FEF}' => No,
+        '\u{1FF9}' => No,
+        '\u{1FFB}' => No,
+        '\u{1FFD}' => No,
+        '\u{2000}'...'\u{2001}' => No,
+        '\u{2126}' => No,
+        '\u{212A}'...'\u{212B}' => No,
+        '\u{2329}' => No,
+        '\u{232A}' => No,
+        '\u{2ADC}' => No,
+        '\u{F900}'...'\u{FA0D}' => No,
+        '\u{FA10}' => No,
+        '\u{FA12}' => No,
+        '\u{FA15}'...'\u{FA1E}' => No,
+        '\u{FA20}' => No,
+        '\u{FA22}' => No,
+        '\u{FA25}'...'\u{FA26}' => No,
+        '\u{FA2A}'...'\u{FA6D}' => No,
+        '\u{FA70}'...'\u{FAD9}' => No,
+        '\u{FB1D}' => No,
+        '\u{FB1F}' => No,
+        '\u{FB2A}'...'\u{FB36}' => No,
+        '\u{FB38}'...'\u{FB3C}' => No,
+        '\u{FB3E}' => No,
+        '\u{FB40}'...'\u{FB41}' => No,
+        '\u{FB43}'...'\u{FB44}' => No,
+        '\u{FB46}'...'\u{FB4E}' => No,
+        '\u{1D15E}'...'\u{1D164}' => No,
+        '\u{1D1BB}'...'\u{1D1C0}' => No,
+        '\u{2F800}'...'\u{2FA1D}' => No,
+        '\u{0300}'...'\u{0304}' => Maybe,
+        '\u{0306}'...'\u{030C}' => Maybe,
+        '\u{030F}' => Maybe,
+        '\u{0311}' => Maybe,
+        '\u{0313}'...'\u{0314}' => Maybe,
+        '\u{031B}' => Maybe,
+        '\u{0323}'...'\u{0328}' => Maybe,
+        '\u{032D}'...'\u{032E}' => Maybe,
+        '\u{0330}'...'\u{0331}' => Maybe,
+        '\u{0338}' => Maybe,
+        '\u{0342}' => Maybe,
+        '\u{0345}' => Maybe,
+        '\u{0653}'...'\u{0655}' => Maybe,
+        '\u{093C}' => Maybe,
+        '\u{09BE}' => Maybe,
+        '\u{09D7}' => Maybe,
+        '\u{0B3E}' => Maybe,
+        '\u{0B56}' => Maybe,
+        '\u{0B57}' => Maybe,
+        '\u{0BBE}' => Maybe,
+        '\u{0BD7}' => Maybe,
+        '\u{0C56}' => Maybe,
+        '\u{0CC2}' => Maybe,
+        '\u{0CD5}'...'\u{0CD6}' => Maybe,
+        '\u{0D3E}' => Maybe,
+        '\u{0D57}' => Maybe,
+        '\u{0DCA}' => Maybe,
+        '\u{0DCF}' => Maybe,
+        '\u{0DDF}' => Maybe,
+        '\u{102E}' => Maybe,
+        '\u{1161}'...'\u{1175}' => Maybe,
+        '\u{11A8}'...'\u{11C2}' => Maybe,
+        '\u{1B35}' => Maybe,
+        '\u{3099}'...'\u{309A}' => Maybe,
+        '\u{110BA}' => Maybe,
+        '\u{11127}' => Maybe,
+        '\u{1133E}' => Maybe,
+        '\u{11357}' => Maybe,
+        '\u{114B0}' => Maybe,
+        '\u{114BA}' => Maybe,
+        '\u{114BD}' => Maybe,
+        '\u{115AF}' => Maybe,
+        '\u{11930}' => Maybe,
+        _ => Yes,
+    }
+}
+
+#[inline]
+#[allow(ellipsis_inclusive_range_patterns)]
+pub fn qc_nfkc(c: char) -> IsNormalized {
+    match c {
+        '\u{00A0}' => No,
+        '\u{00A8}' => No,
+        '\u{00AA}' => No,
+        '\u{00AF}' => No,
+        '\u{00B2}'...'\u{00B3}' => No,
+        '\u{00B4}' => No,
+        '\u{00B5}' => No,
+        '\u{00B8}' => No,
+        '\u{00B9}' => No,
+        '\u{00BA}' => No,
+        '\u{00BC}'...'\u{00BE}' => No,
+        '\u{0132}'...'\u{0133}' => No,
+        '\u{013F}'...'\u{0140}' => No,
+        '\u{0149}' => No,
+        '\u{017F}' => No,
+        '\u{01C4}'...'\u{01CC}' => No,
+        '\u{01F1}'...'\u{01F3}' => No,
+        '\u{02B0}'...'\u{02B8}' => No,
+        '\u{02D8}'...'\u{02DD}' => No,
+        '\u{02E0}'...'\u{02E4}' => No,
+        '\u{0340}'...'\u{0341}' => No,
+        '\u{0343}'...'\u{0344}' => No,
+        '\u{0374}' => No,
+        '\u{037A}' => No,
+        '\u{037E}' => No,
+        '\u{0384}'...'\u{0385}' => No,
+        '\u{0387}' => No,
+        '\u{03D0}'...'\u{03D6}' => No,
+        '\u{03F0}'...'\u{03F2}' => No,
+        '\u{03F4}'...'\u{03F5}' => No,
+        '\u{03F9}' => No,
+        '\u{0587}' => No,
+        '\u{0675}'...'\u{0678}' => No,
+        '\u{0958}'...'\u{095F}' => No,
+        '\u{09DC}'...'\u{09DD}' => No,
+        '\u{09DF}' => No,
+        '\u{0A33}' => No,
+        '\u{0A36}' => No,
+        '\u{0A59}'...'\u{0A5B}' => No,
+        '\u{0A5E}' => No,
+        '\u{0B5C}'...'\u{0B5D}' => No,
+        '\u{0E33}' => No,
+        '\u{0EB3}' => No,
+        '\u{0EDC}'...'\u{0EDD}' => No,
+        '\u{0F0C}' => No,
+        '\u{0F43}' => No,
+        '\u{0F4D}' => No,
+        '\u{0F52}' => No,
+        '\u{0F57}' => No,
+        '\u{0F5C}' => No,
+        '\u{0F69}' => No,
+        '\u{0F73}' => No,
+        '\u{0F75}'...'\u{0F79}' => No,
+        '\u{0F81}' => No,
+        '\u{0F93}' => No,
+        '\u{0F9D}' => No,
+        '\u{0FA2}' => No,
+        '\u{0FA7}' => No,
+        '\u{0FAC}' => No,
+        '\u{0FB9}' => No,
+        '\u{10FC}' => No,
+        '\u{1D2C}'...'\u{1D2E}' => No,
+        '\u{1D30}'...'\u{1D3A}' => No,
+        '\u{1D3C}'...'\u{1D4D}' => No,
+        '\u{1D4F}'...'\u{1D6A}' => No,
+        '\u{1D78}' => No,
+        '\u{1D9B}'...'\u{1DBF}' => No,
+        '\u{1E9A}'...'\u{1E9B}' => No,
+        '\u{1F71}' => No,
+        '\u{1F73}' => No,
+        '\u{1F75}' => No,
+        '\u{1F77}' => No,
+        '\u{1F79}' => No,
+        '\u{1F7B}' => No,
+        '\u{1F7D}' => No,
+        '\u{1FBB}' => No,
+        '\u{1FBD}' => No,
+        '\u{1FBE}' => No,
+        '\u{1FBF}'...'\u{1FC1}' => No,
+        '\u{1FC9}' => No,
+        '\u{1FCB}' => No,
+        '\u{1FCD}'...'\u{1FCF}' => No,
+        '\u{1FD3}' => No,
+        '\u{1FDB}' => No,
+        '\u{1FDD}'...'\u{1FDF}' => No,
+        '\u{1FE3}' => No,
+        '\u{1FEB}' => No,
+        '\u{1FED}'...'\u{1FEF}' => No,
+        '\u{1FF9}' => No,
+        '\u{1FFB}' => No,
+        '\u{1FFD}'...'\u{1FFE}' => No,
+        '\u{2000}'...'\u{200A}' => No,
+        '\u{2011}' => No,
+        '\u{2017}' => No,
+        '\u{2024}'...'\u{2026}' => No,
+        '\u{202F}' => No,
+        '\u{2033}'...'\u{2034}' => No,
+        '\u{2036}'...'\u{2037}' => No,
+        '\u{203C}' => No,
+        '\u{203E}' => No,
+        '\u{2047}'...'\u{2049}' => No,
+        '\u{2057}' => No,
+        '\u{205F}' => No,
+        '\u{2070}' => No,
+        '\u{2071}' => No,
+        '\u{2074}'...'\u{2079}' => No,
+        '\u{207A}'...'\u{207C}' => No,
+        '\u{207D}' => No,
+        '\u{207E}' => No,
+        '\u{207F}' => No,
+        '\u{2080}'...'\u{2089}' => No,
+        '\u{208A}'...'\u{208C}' => No,
+        '\u{208D}' => No,
+        '\u{208E}' => No,
+        '\u{2090}'...'\u{209C}' => No,
+        '\u{20A8}' => No,
+        '\u{2100}'...'\u{2101}' => No,
+        '\u{2102}' => No,
+        '\u{2103}' => No,
+        '\u{2105}'...'\u{2106}' => No,
+        '\u{2107}' => No,
+        '\u{2109}' => No,
+        '\u{210A}'...'\u{2113}' => No,
+        '\u{2115}' => No,
+        '\u{2116}' => No,
+        '\u{2119}'...'\u{211D}' => No,
+        '\u{2120}'...'\u{2122}' => No,
+        '\u{2124}' => No,
+        '\u{2126}' => No,
+        '\u{2128}' => No,
+        '\u{212A}'...'\u{212D}' => No,
+        '\u{212F}'...'\u{2131}' => No,
+        '\u{2133}'...'\u{2134}' => No,
+        '\u{2135}'...'\u{2138}' => No,
+        '\u{2139}' => No,
+        '\u{213B}' => No,
+        '\u{213C}'...'\u{213F}' => No,
+        '\u{2140}' => No,
+        '\u{2145}'...'\u{2149}' => No,
+        '\u{2150}'...'\u{215F}' => No,
+        '\u{2160}'...'\u{217F}' => No,
+        '\u{2189}' => No,
+        '\u{222C}'...'\u{222D}' => No,
+        '\u{222F}'...'\u{2230}' => No,
+        '\u{2329}' => No,
+        '\u{232A}' => No,
+        '\u{2460}'...'\u{249B}' => No,
+        '\u{249C}'...'\u{24E9}' => No,
+        '\u{24EA}' => No,
+        '\u{2A0C}' => No,
+        '\u{2A74}'...'\u{2A76}' => No,
+        '\u{2ADC}' => No,
+        '\u{2C7C}'...'\u{2C7D}' => No,
+        '\u{2D6F}' => No,
+        '\u{2E9F}' => No,
+        '\u{2EF3}' => No,
+        '\u{2F00}'...'\u{2FD5}' => No,
+        '\u{3000}' => No,
+        '\u{3036}' => No,
+        '\u{3038}'...'\u{303A}' => No,
+        '\u{309B}'...'\u{309C}' => No,
+        '\u{309F}' => No,
+        '\u{30FF}' => No,
+        '\u{3131}'...'\u{318E}' => No,
+        '\u{3192}'...'\u{3195}' => No,
+        '\u{3196}'...'\u{319F}' => No,
+        '\u{3200}'...'\u{321E}' => No,
+        '\u{3220}'...'\u{3229}' => No,
+        '\u{322A}'...'\u{3247}' => No,
+        '\u{3250}' => No,
+        '\u{3251}'...'\u{325F}' => No,
+        '\u{3260}'...'\u{327E}' => No,
+        '\u{3280}'...'\u{3289}' => No,
+        '\u{328A}'...'\u{32B0}' => No,
+        '\u{32B1}'...'\u{32BF}' => No,
+        '\u{32C0}'...'\u{33FF}' => No,
+        '\u{A69C}'...'\u{A69D}' => No,
+        '\u{A770}' => No,
+        '\u{A7F8}'...'\u{A7F9}' => No,
+        '\u{AB5C}'...'\u{AB5F}' => No,
+        '\u{AB69}' => No,
+        '\u{F900}'...'\u{FA0D}' => No,
+        '\u{FA10}' => No,
+        '\u{FA12}' => No,
+        '\u{FA15}'...'\u{FA1E}' => No,
+        '\u{FA20}' => No,
+        '\u{FA22}' => No,
+        '\u{FA25}'...'\u{FA26}' => No,
+        '\u{FA2A}'...'\u{FA6D}' => No,
+        '\u{FA70}'...'\u{FAD9}' => No,
+        '\u{FB00}'...'\u{FB06}' => No,
+        '\u{FB13}'...'\u{FB17}' => No,
+        '\u{FB1D}' => No,
+        '\u{FB1F}'...'\u{FB28}' => No,
+        '\u{FB29}' => No,
+        '\u{FB2A}'...'\u{FB36}' => No,
+        '\u{FB38}'...'\u{FB3C}' => No,
+        '\u{FB3E}' => No,
+        '\u{FB40}'...'\u{FB41}' => No,
+        '\u{FB43}'...'\u{FB44}' => No,
+        '\u{FB46}'...'\u{FBB1}' => No,
+        '\u{FBD3}'...'\u{FD3D}' => No,
+        '\u{FD50}'...'\u{FD8F}' => No,
+        '\u{FD92}'...'\u{FDC7}' => No,
+        '\u{FDF0}'...'\u{FDFB}' => No,
+        '\u{FDFC}' => No,
+        '\u{FE10}'...'\u{FE16}' => No,
+        '\u{FE17}' => No,
+        '\u{FE18}' => No,
+        '\u{FE19}' => No,
+        '\u{FE30}' => No,
+        '\u{FE31}'...'\u{FE32}' => No,
+        '\u{FE33}'...'\u{FE34}' => No,
+        '\u{FE35}' => No,
+        '\u{FE36}' => No,
+        '\u{FE37}' => No,
+        '\u{FE38}' => No,
+        '\u{FE39}' => No,
+        '\u{FE3A}' => No,
+        '\u{FE3B}' => No,
+        '\u{FE3C}' => No,
+        '\u{FE3D}' => No,
+        '\u{FE3E}' => No,
+        '\u{FE3F}' => No,
+        '\u{FE40}' => No,
+        '\u{FE41}' => No,
+        '\u{FE42}' => No,
+        '\u{FE43}' => No,
+        '\u{FE44}' => No,
+        '\u{FE47}' => No,
+        '\u{FE48}' => No,
+        '\u{FE49}'...'\u{FE4C}' => No,
+        '\u{FE4D}'...'\u{FE4F}' => No,
+        '\u{FE50}'...'\u{FE52}' => No,
+        '\u{FE54}'...'\u{FE57}' => No,
+        '\u{FE58}' => No,
+        '\u{FE59}' => No,
+        '\u{FE5A}' => No,
+        '\u{FE5B}' => No,
+        '\u{FE5C}' => No,
+        '\u{FE5D}' => No,
+        '\u{FE5E}' => No,
+        '\u{FE5F}'...'\u{FE61}' => No,
+        '\u{FE62}' => No,
+        '\u{FE63}' => No,
+        '\u{FE64}'...'\u{FE66}' => No,
+        '\u{FE68}' => No,
+        '\u{FE69}' => No,
+        '\u{FE6A}'...'\u{FE6B}' => No,
+        '\u{FE70}'...'\u{FE72}' => No,
+        '\u{FE74}' => No,
+        '\u{FE76}'...'\u{FEFC}' => No,
+        '\u{FF01}'...'\u{FF03}' => No,
+        '\u{FF04}' => No,
+        '\u{FF05}'...'\u{FF07}' => No,
+        '\u{FF08}' => No,
+        '\u{FF09}' => No,
+        '\u{FF0A}' => No,
+        '\u{FF0B}' => No,
+        '\u{FF0C}' => No,
+        '\u{FF0D}' => No,
+        '\u{FF0E}'...'\u{FF0F}' => No,
+        '\u{FF10}'...'\u{FF19}' => No,
+        '\u{FF1A}'...'\u{FF1B}' => No,
+        '\u{FF1C}'...'\u{FF1E}' => No,
+        '\u{FF1F}'...'\u{FF20}' => No,
+        '\u{FF21}'...'\u{FF3A}' => No,
+        '\u{FF3B}' => No,
+        '\u{FF3C}' => No,
+        '\u{FF3D}' => No,
+        '\u{FF3E}' => No,
+        '\u{FF3F}' => No,
+        '\u{FF40}' => No,
+        '\u{FF41}'...'\u{FF5A}' => No,
+        '\u{FF5B}' => No,
+        '\u{FF5C}' => No,
+        '\u{FF5D}' => No,
+        '\u{FF5E}' => No,
+        '\u{FF5F}' => No,
+        '\u{FF60}' => No,
+        '\u{FF61}' => No,
+        '\u{FF62}' => No,
+        '\u{FF63}' => No,
+        '\u{FF64}'...'\u{FF65}' => No,
+        '\u{FF66}'...'\u{FF6F}' => No,
+        '\u{FF70}' => No,
+        '\u{FF71}'...'\u{FF9D}' => No,
+        '\u{FF9E}'...'\u{FF9F}' => No,
+        '\u{FFA0}'...'\u{FFBE}' => No,
+        '\u{FFC2}'...'\u{FFC7}' => No,
+        '\u{FFCA}'...'\u{FFCF}' => No,
+        '\u{FFD2}'...'\u{FFD7}' => No,
+        '\u{FFDA}'...'\u{FFDC}' => No,
+        '\u{FFE0}'...'\u{FFE1}' => No,
+        '\u{FFE2}' => No,
+        '\u{FFE3}' => No,
+        '\u{FFE4}' => No,
+        '\u{FFE5}'...'\u{FFE6}' => No,
+        '\u{FFE8}' => No,
+        '\u{FFE9}'...'\u{FFEC}' => No,
+        '\u{FFED}'...'\u{FFEE}' => No,
+        '\u{1D15E}'...'\u{1D164}' => No,
+        '\u{1D1BB}'...'\u{1D1C0}' => No,
+        '\u{1D400}'...'\u{1D454}' => No,
+        '\u{1D456}'...'\u{1D49C}' => No,
+        '\u{1D49E}'...'\u{1D49F}' => No,
+        '\u{1D4A2}' => No,
+        '\u{1D4A5}'...'\u{1D4A6}' => No,
+        '\u{1D4A9}'...'\u{1D4AC}' => No,
+        '\u{1D4AE}'...'\u{1D4B9}' => No,
+        '\u{1D4BB}' => No,
+        '\u{1D4BD}'...'\u{1D4C3}' => No,
+        '\u{1D4C5}'...'\u{1D505}' => No,
+        '\u{1D507}'...'\u{1D50A}' => No,
+        '\u{1D50D}'...'\u{1D514}' => No,
+        '\u{1D516}'...'\u{1D51C}' => No,
+        '\u{1D51E}'...'\u{1D539}' => No,
+        '\u{1D53B}'...'\u{1D53E}' => No,
+        '\u{1D540}'...'\u{1D544}' => No,
+        '\u{1D546}' => No,
+        '\u{1D54A}'...'\u{1D550}' => No,
+        '\u{1D552}'...'\u{1D6A5}' => No,
+        '\u{1D6A8}'...'\u{1D6C0}' => No,
+        '\u{1D6C1}' => No,
+        '\u{1D6C2}'...'\u{1D6DA}' => No,
+        '\u{1D6DB}' => No,
+        '\u{1D6DC}'...'\u{1D6FA}' => No,
+        '\u{1D6FB}' => No,
+        '\u{1D6FC}'...'\u{1D714}' => No,
+        '\u{1D715}' => No,
+        '\u{1D716}'...'\u{1D734}' => No,
+        '\u{1D735}' => No,
+        '\u{1D736}'...'\u{1D74E}' => No,
+        '\u{1D74F}' => No,
+        '\u{1D750}'...'\u{1D76E}' => No,
+        '\u{1D76F}' => No,
+        '\u{1D770}'...'\u{1D788}' => No,
+        '\u{1D789}' => No,
+        '\u{1D78A}'...'\u{1D7A8}' => No,
+        '\u{1D7A9}' => No,
+        '\u{1D7AA}'...'\u{1D7C2}' => No,
+        '\u{1D7C3}' => No,
+        '\u{1D7C4}'...'\u{1D7CB}' => No,
+        '\u{1D7CE}'...'\u{1D7FF}' => No,
+        '\u{1EE00}'...'\u{1EE03}' => No,
+        '\u{1EE05}'...'\u{1EE1F}' => No,
+        '\u{1EE21}'...'\u{1EE22}' => No,
+        '\u{1EE24}' => No,
+        '\u{1EE27}' => No,
+        '\u{1EE29}'...'\u{1EE32}' => No,
+        '\u{1EE34}'...'\u{1EE37}' => No,
+        '\u{1EE39}' => No,
+        '\u{1EE3B}' => No,
+        '\u{1EE42}' => No,
+        '\u{1EE47}' => No,
+        '\u{1EE49}' => No,
+        '\u{1EE4B}' => No,
+        '\u{1EE4D}'...'\u{1EE4F}' => No,
+        '\u{1EE51}'...'\u{1EE52}' => No,
+        '\u{1EE54}' => No,
+        '\u{1EE57}' => No,
+        '\u{1EE59}' => No,
+        '\u{1EE5B}' => No,
+        '\u{1EE5D}' => No,
+        '\u{1EE5F}' => No,
+        '\u{1EE61}'...'\u{1EE62}' => No,
+        '\u{1EE64}' => No,
+        '\u{1EE67}'...'\u{1EE6A}' => No,
+        '\u{1EE6C}'...'\u{1EE72}' => No,
+        '\u{1EE74}'...'\u{1EE77}' => No,
+        '\u{1EE79}'...'\u{1EE7C}' => No,
+        '\u{1EE7E}' => No,
+        '\u{1EE80}'...'\u{1EE89}' => No,
+        '\u{1EE8B}'...'\u{1EE9B}' => No,
+        '\u{1EEA1}'...'\u{1EEA3}' => No,
+        '\u{1EEA5}'...'\u{1EEA9}' => No,
+        '\u{1EEAB}'...'\u{1EEBB}' => No,
+        '\u{1F100}'...'\u{1F10A}' => No,
+        '\u{1F110}'...'\u{1F12E}' => No,
+        '\u{1F130}'...'\u{1F14F}' => No,
+        '\u{1F16A}'...'\u{1F16C}' => No,
+        '\u{1F190}' => No,
+        '\u{1F200}'...'\u{1F202}' => No,
+        '\u{1F210}'...'\u{1F23B}' => No,
+        '\u{1F240}'...'\u{1F248}' => No,
+        '\u{1F250}'...'\u{1F251}' => No,
+        '\u{1FBF0}'...'\u{1FBF9}' => No,
+        '\u{2F800}'...'\u{2FA1D}' => No,
+        '\u{0300}'...'\u{0304}' => Maybe,
+        '\u{0306}'...'\u{030C}' => Maybe,
+        '\u{030F}' => Maybe,
+        '\u{0311}' => Maybe,
+        '\u{0313}'...'\u{0314}' => Maybe,
+        '\u{031B}' => Maybe,
+        '\u{0323}'...'\u{0328}' => Maybe,
+        '\u{032D}'...'\u{032E}' => Maybe,
+        '\u{0330}'...'\u{0331}' => Maybe,
+        '\u{0338}' => Maybe,
+        '\u{0342}' => Maybe,
+        '\u{0345}' => Maybe,
+        '\u{0653}'...'\u{0655}' => Maybe,
+        '\u{093C}' => Maybe,
+        '\u{09BE}' => Maybe,
+        '\u{09D7}' => Maybe,
+        '\u{0B3E}' => Maybe,
+        '\u{0B56}' => Maybe,
+        '\u{0B57}' => Maybe,
+        '\u{0BBE}' => Maybe,
+        '\u{0BD7}' => Maybe,
+        '\u{0C56}' => Maybe,
+        '\u{0CC2}' => Maybe,
+        '\u{0CD5}'...'\u{0CD6}' => Maybe,
+        '\u{0D3E}' => Maybe,
+        '\u{0D57}' => Maybe,
+        '\u{0DCA}' => Maybe,
+        '\u{0DCF}' => Maybe,
+        '\u{0DDF}' => Maybe,
+        '\u{102E}' => Maybe,
+        '\u{1161}'...'\u{1175}' => Maybe,
+        '\u{11A8}'...'\u{11C2}' => Maybe,
+        '\u{1B35}' => Maybe,
+        '\u{3099}'...'\u{309A}' => Maybe,
+        '\u{110BA}' => Maybe,
+        '\u{11127}' => Maybe,
+        '\u{1133E}' => Maybe,
+        '\u{11357}' => Maybe,
+        '\u{114B0}' => Maybe,
+        '\u{114BA}' => Maybe,
+        '\u{114BD}' => Maybe,
+        '\u{115AF}' => Maybe,
+        '\u{11930}' => Maybe,
+        _ => Yes,
+    }
+}
+
+#[inline]
+#[allow(ellipsis_inclusive_range_patterns)]
+pub fn qc_nfd(c: char) -> IsNormalized {
+    match c {
+        '\u{00C0}'...'\u{00C5}' => No,
+        '\u{00C7}'...'\u{00CF}' => No,
+        '\u{00D1}'...'\u{00D6}' => No,
+        '\u{00D9}'...'\u{00DD}' => No,
+        '\u{00E0}'...'\u{00E5}' => No,
+        '\u{00E7}'...'\u{00EF}' => No,
+        '\u{00F1}'...'\u{00F6}' => No,
+        '\u{00F9}'...'\u{00FD}' => No,
+        '\u{00FF}'...'\u{010F}' => No,
+        '\u{0112}'...'\u{0125}' => No,
+        '\u{0128}'...'\u{0130}' => No,
+        '\u{0134}'...'\u{0137}' => No,
+        '\u{0139}'...'\u{013E}' => No,
+        '\u{0143}'...'\u{0148}' => No,
+        '\u{014C}'...'\u{0151}' => No,
+        '\u{0154}'...'\u{0165}' => No,
+        '\u{0168}'...'\u{017E}' => No,
+        '\u{01A0}'...'\u{01A1}' => No,
+        '\u{01AF}'...'\u{01B0}' => No,
+        '\u{01CD}'...'\u{01DC}' => No,
+        '\u{01DE}'...'\u{01E3}' => No,
+        '\u{01E6}'...'\u{01F0}' => No,
+        '\u{01F4}'...'\u{01F5}' => No,
+        '\u{01F8}'...'\u{021B}' => No,
+        '\u{021E}'...'\u{021F}' => No,
+        '\u{0226}'...'\u{0233}' => No,
+        '\u{0340}'...'\u{0341}' => No,
+        '\u{0343}'...'\u{0344}' => No,
+        '\u{0374}' => No,
+        '\u{037E}' => No,
+        '\u{0385}' => No,
+        '\u{0386}' => No,
+        '\u{0387}' => No,
+        '\u{0388}'...'\u{038A}' => No,
+        '\u{038C}' => No,
+        '\u{038E}'...'\u{0390}' => No,
+        '\u{03AA}'...'\u{03B0}' => No,
+        '\u{03CA}'...'\u{03CE}' => No,
+        '\u{03D3}'...'\u{03D4}' => No,
+        '\u{0400}'...'\u{0401}' => No,
+        '\u{0403}' => No,
+        '\u{0407}' => No,
+        '\u{040C}'...'\u{040E}' => No,
+        '\u{0419}' => No,
+        '\u{0439}' => No,
+        '\u{0450}'...'\u{0451}' => No,
+        '\u{0453}' => No,
+        '\u{0457}' => No,
+        '\u{045C}'...'\u{045E}' => No,
+        '\u{0476}'...'\u{0477}' => No,
+        '\u{04C1}'...'\u{04C2}' => No,
+        '\u{04D0}'...'\u{04D3}' => No,
+        '\u{04D6}'...'\u{04D7}' => No,
+        '\u{04DA}'...'\u{04DF}' => No,
+        '\u{04E2}'...'\u{04E7}' => No,
+        '\u{04EA}'...'\u{04F5}' => No,
+        '\u{04F8}'...'\u{04F9}' => No,
+        '\u{0622}'...'\u{0626}' => No,
+        '\u{06C0}' => No,
+        '\u{06C2}' => No,
+        '\u{06D3}' => No,
+        '\u{0929}' => No,
+        '\u{0931}' => No,
+        '\u{0934}' => No,
+        '\u{0958}'...'\u{095F}' => No,
+        '\u{09CB}'...'\u{09CC}' => No,
+        '\u{09DC}'...'\u{09DD}' => No,
+        '\u{09DF}' => No,
+        '\u{0A33}' => No,
+        '\u{0A36}' => No,
+        '\u{0A59}'...'\u{0A5B}' => No,
+        '\u{0A5E}' => No,
+        '\u{0B48}' => No,
+        '\u{0B4B}'...'\u{0B4C}' => No,
+        '\u{0B5C}'...'\u{0B5D}' => No,
+        '\u{0B94}' => No,
+        '\u{0BCA}'...'\u{0BCC}' => No,
+        '\u{0C48}' => No,
+        '\u{0CC0}' => No,
+        '\u{0CC7}'...'\u{0CC8}' => No,
+        '\u{0CCA}'...'\u{0CCB}' => No,
+        '\u{0D4A}'...'\u{0D4C}' => No,
+        '\u{0DDA}' => No,
+        '\u{0DDC}'...'\u{0DDE}' => No,
+        '\u{0F43}' => No,
+        '\u{0F4D}' => No,
+        '\u{0F52}' => No,
+        '\u{0F57}' => No,
+        '\u{0F5C}' => No,
+        '\u{0F69}' => No,
+        '\u{0F73}' => No,
+        '\u{0F75}'...'\u{0F76}' => No,
+        '\u{0F78}' => No,
+        '\u{0F81}' => No,
+        '\u{0F93}' => No,
+        '\u{0F9D}' => No,
+        '\u{0FA2}' => No,
+        '\u{0FA7}' => No,
+        '\u{0FAC}' => No,
+        '\u{0FB9}' => No,
+        '\u{1026}' => No,
+        '\u{1B06}' => No,
+        '\u{1B08}' => No,
+        '\u{1B0A}' => No,
+        '\u{1B0C}' => No,
+        '\u{1B0E}' => No,
+        '\u{1B12}' => No,
+        '\u{1B3B}' => No,
+        '\u{1B3D}' => No,
+        '\u{1B40}'...'\u{1B41}' => No,
+        '\u{1B43}' => No,
+        '\u{1E00}'...'\u{1E99}' => No,
+        '\u{1E9B}' => No,
+        '\u{1EA0}'...'\u{1EF9}' => No,
+        '\u{1F00}'...'\u{1F15}' => No,
+        '\u{1F18}'...'\u{1F1D}' => No,
+        '\u{1F20}'...'\u{1F45}' => No,
+        '\u{1F48}'...'\u{1F4D}' => No,
+        '\u{1F50}'...'\u{1F57}' => No,
+        '\u{1F59}' => No,
+        '\u{1F5B}' => No,
+        '\u{1F5D}' => No,
+        '\u{1F5F}'...'\u{1F7D}' => No,
+        '\u{1F80}'...'\u{1FB4}' => No,
+        '\u{1FB6}'...'\u{1FBC}' => No,
+        '\u{1FBE}' => No,
+        '\u{1FC1}' => No,
+        '\u{1FC2}'...'\u{1FC4}' => No,
+        '\u{1FC6}'...'\u{1FCC}' => No,
+        '\u{1FCD}'...'\u{1FCF}' => No,
+        '\u{1FD0}'...'\u{1FD3}' => No,
+        '\u{1FD6}'...'\u{1FDB}' => No,
+        '\u{1FDD}'...'\u{1FDF}' => No,
+        '\u{1FE0}'...'\u{1FEC}' => No,
+        '\u{1FED}'...'\u{1FEF}' => No,
+        '\u{1FF2}'...'\u{1FF4}' => No,
+        '\u{1FF6}'...'\u{1FFC}' => No,
+        '\u{1FFD}' => No,
+        '\u{2000}'...'\u{2001}' => No,
+        '\u{2126}' => No,
+        '\u{212A}'...'\u{212B}' => No,
+        '\u{219A}'...'\u{219B}' => No,
+        '\u{21AE}' => No,
+        '\u{21CD}' => No,
+        '\u{21CE}'...'\u{21CF}' => No,
+        '\u{2204}' => No,
+        '\u{2209}' => No,
+        '\u{220C}' => No,
+        '\u{2224}' => No,
+        '\u{2226}' => No,
+        '\u{2241}' => No,
+        '\u{2244}' => No,
+        '\u{2247}' => No,
+        '\u{2249}' => No,
+        '\u{2260}' => No,
+        '\u{2262}' => No,
+        '\u{226D}'...'\u{2271}' => No,
+        '\u{2274}'...'\u{2275}' => No,
+        '\u{2278}'...'\u{2279}' => No,
+        '\u{2280}'...'\u{2281}' => No,
+        '\u{2284}'...'\u{2285}' => No,
+        '\u{2288}'...'\u{2289}' => No,
+        '\u{22AC}'...'\u{22AF}' => No,
+        '\u{22E0}'...'\u{22E3}' => No,
+        '\u{22EA}'...'\u{22ED}' => No,
+        '\u{2329}' => No,
+        '\u{232A}' => No,
+        '\u{2ADC}' => No,
+        '\u{304C}' => No,
+        '\u{304E}' => No,
+        '\u{3050}' => No,
+        '\u{3052}' => No,
+        '\u{3054}' => No,
+        '\u{3056}' => No,
+        '\u{3058}' => No,
+        '\u{305A}' => No,
+        '\u{305C}' => No,
+        '\u{305E}' => No,
+        '\u{3060}' => No,
+        '\u{3062}' => No,
+        '\u{3065}' => No,
+        '\u{3067}' => No,
+        '\u{3069}' => No,
+        '\u{3070}'...'\u{3071}' => No,
+        '\u{3073}'...'\u{3074}' => No,
+        '\u{3076}'...'\u{3077}' => No,
+        '\u{3079}'...'\u{307A}' => No,
+        '\u{307C}'...'\u{307D}' => No,
+        '\u{3094}' => No,
+        '\u{309E}' => No,
+        '\u{30AC}' => No,
+        '\u{30AE}' => No,
+        '\u{30B0}' => No,
+        '\u{30B2}' => No,
+        '\u{30B4}' => No,
+        '\u{30B6}' => No,
+        '\u{30B8}' => No,
+        '\u{30BA}' => No,
+        '\u{30BC}' => No,
+        '\u{30BE}' => No,
+        '\u{30C0}' => No,
+        '\u{30C2}' => No,
+        '\u{30C5}' => No,
+        '\u{30C7}' => No,
+        '\u{30C9}' => No,
+        '\u{30D0}'...'\u{30D1}' => No,
+        '\u{30D3}'...'\u{30D4}' => No,
+        '\u{30D6}'...'\u{30D7}' => No,
+        '\u{30D9}'...'\u{30DA}' => No,
+        '\u{30DC}'...'\u{30DD}' => No,
+        '\u{30F4}' => No,
+        '\u{30F7}'...'\u{30FA}' => No,
+        '\u{30FE}' => No,
+        '\u{AC00}'...'\u{D7A3}' => No,
+        '\u{F900}'...'\u{FA0D}' => No,
+        '\u{FA10}' => No,
+        '\u{FA12}' => No,
+        '\u{FA15}'...'\u{FA1E}' => No,
+        '\u{FA20}' => No,
+        '\u{FA22}' => No,
+        '\u{FA25}'...'\u{FA26}' => No,
+        '\u{FA2A}'...'\u{FA6D}' => No,
+        '\u{FA70}'...'\u{FAD9}' => No,
+        '\u{FB1D}' => No,
+        '\u{FB1F}' => No,
+        '\u{FB2A}'...'\u{FB36}' => No,
+        '\u{FB38}'...'\u{FB3C}' => No,
+        '\u{FB3E}' => No,
+        '\u{FB40}'...'\u{FB41}' => No,
+        '\u{FB43}'...'\u{FB44}' => No,
+        '\u{FB46}'...'\u{FB4E}' => No,
+        '\u{1109A}' => No,
+        '\u{1109C}' => No,
+        '\u{110AB}' => No,
+        '\u{1112E}'...'\u{1112F}' => No,
+        '\u{1134B}'...'\u{1134C}' => No,
+        '\u{114BB}'...'\u{114BC}' => No,
+        '\u{114BE}' => No,
+        '\u{115BA}'...'\u{115BB}' => No,
+        '\u{11938}' => No,
+        '\u{1D15E}'...'\u{1D164}' => No,
+        '\u{1D1BB}'...'\u{1D1C0}' => No,
+        '\u{2F800}'...'\u{2FA1D}' => No,
+        _ => Yes,
+    }
+}
+
+#[inline]
+#[allow(ellipsis_inclusive_range_patterns)]
+pub fn qc_nfkd(c: char) -> IsNormalized {
+    match c {
+        '\u{00A0}' => No,
+        '\u{00A8}' => No,
+        '\u{00AA}' => No,
+        '\u{00AF}' => No,
+        '\u{00B2}'...'\u{00B3}' => No,
+        '\u{00B4}' => No,
+        '\u{00B5}' => No,
+        '\u{00B8}' => No,
+        '\u{00B9}' => No,
+        '\u{00BA}' => No,
+        '\u{00BC}'...'\u{00BE}' => No,
+        '\u{00C0}'...'\u{00C5}' => No,
+        '\u{00C7}'...'\u{00CF}' => No,
+        '\u{00D1}'...'\u{00D6}' => No,
+        '\u{00D9}'...'\u{00DD}' => No,
+        '\u{00E0}'...'\u{00E5}' => No,
+        '\u{00E7}'...'\u{00EF}' => No,
+        '\u{00F1}'...'\u{00F6}' => No,
+        '\u{00F9}'...'\u{00FD}' => No,
+        '\u{00FF}'...'\u{010F}' => No,
+        '\u{0112}'...'\u{0125}' => No,
+        '\u{0128}'...'\u{0130}' => No,
+        '\u{0132}'...'\u{0137}' => No,
+        '\u{0139}'...'\u{0140}' => No,
+        '\u{0143}'...'\u{0149}' => No,
+        '\u{014C}'...'\u{0151}' => No,
+        '\u{0154}'...'\u{0165}' => No,
+        '\u{0168}'...'\u{017F}' => No,
+        '\u{01A0}'...'\u{01A1}' => No,
+        '\u{01AF}'...'\u{01B0}' => No,
+        '\u{01C4}'...'\u{01DC}' => No,
+        '\u{01DE}'...'\u{01E3}' => No,
+        '\u{01E6}'...'\u{01F5}' => No,
+        '\u{01F8}'...'\u{021B}' => No,
+        '\u{021E}'...'\u{021F}' => No,
+        '\u{0226}'...'\u{0233}' => No,
+        '\u{02B0}'...'\u{02B8}' => No,
+        '\u{02D8}'...'\u{02DD}' => No,
+        '\u{02E0}'...'\u{02E4}' => No,
+        '\u{0340}'...'\u{0341}' => No,
+        '\u{0343}'...'\u{0344}' => No,
+        '\u{0374}' => No,
+        '\u{037A}' => No,
+        '\u{037E}' => No,
+        '\u{0384}'...'\u{0385}' => No,
+        '\u{0386}' => No,
+        '\u{0387}' => No,
+        '\u{0388}'...'\u{038A}' => No,
+        '\u{038C}' => No,
+        '\u{038E}'...'\u{0390}' => No,
+        '\u{03AA}'...'\u{03B0}' => No,
+        '\u{03CA}'...'\u{03CE}' => No,
+        '\u{03D0}'...'\u{03D6}' => No,
+        '\u{03F0}'...'\u{03F2}' => No,
+        '\u{03F4}'...'\u{03F5}' => No,
+        '\u{03F9}' => No,
+        '\u{0400}'...'\u{0401}' => No,
+        '\u{0403}' => No,
+        '\u{0407}' => No,
+        '\u{040C}'...'\u{040E}' => No,
+        '\u{0419}' => No,
+        '\u{0439}' => No,
+        '\u{0450}'...'\u{0451}' => No,
+        '\u{0453}' => No,
+        '\u{0457}' => No,
+        '\u{045C}'...'\u{045E}' => No,
+        '\u{0476}'...'\u{0477}' => No,
+        '\u{04C1}'...'\u{04C2}' => No,
+        '\u{04D0}'...'\u{04D3}' => No,
+        '\u{04D6}'...'\u{04D7}' => No,
+        '\u{04DA}'...'\u{04DF}' => No,
+        '\u{04E2}'...'\u{04E7}' => No,
+        '\u{04EA}'...'\u{04F5}' => No,
+        '\u{04F8}'...'\u{04F9}' => No,
+        '\u{0587}' => No,
+        '\u{0622}'...'\u{0626}' => No,
+        '\u{0675}'...'\u{0678}' => No,
+        '\u{06C0}' => No,
+        '\u{06C2}' => No,
+        '\u{06D3}' => No,
+        '\u{0929}' => No,
+        '\u{0931}' => No,
+        '\u{0934}' => No,
+        '\u{0958}'...'\u{095F}' => No,
+        '\u{09CB}'...'\u{09CC}' => No,
+        '\u{09DC}'...'\u{09DD}' => No,
+        '\u{09DF}' => No,
+        '\u{0A33}' => No,
+        '\u{0A36}' => No,
+        '\u{0A59}'...'\u{0A5B}' => No,
+        '\u{0A5E}' => No,
+        '\u{0B48}' => No,
+        '\u{0B4B}'...'\u{0B4C}' => No,
+        '\u{0B5C}'...'\u{0B5D}' => No,
+        '\u{0B94}' => No,
+        '\u{0BCA}'...'\u{0BCC}' => No,
+        '\u{0C48}' => No,
+        '\u{0CC0}' => No,
+        '\u{0CC7}'...'\u{0CC8}' => No,
+        '\u{0CCA}'...'\u{0CCB}' => No,
+        '\u{0D4A}'...'\u{0D4C}' => No,
+        '\u{0DDA}' => No,
+        '\u{0DDC}'...'\u{0DDE}' => No,
+        '\u{0E33}' => No,
+        '\u{0EB3}' => No,
+        '\u{0EDC}'...'\u{0EDD}' => No,
+        '\u{0F0C}' => No,
+        '\u{0F43}' => No,
+        '\u{0F4D}' => No,
+        '\u{0F52}' => No,
+        '\u{0F57}' => No,
+        '\u{0F5C}' => No,
+        '\u{0F69}' => No,
+        '\u{0F73}' => No,
+        '\u{0F75}'...'\u{0F79}' => No,
+        '\u{0F81}' => No,
+        '\u{0F93}' => No,
+        '\u{0F9D}' => No,
+        '\u{0FA2}' => No,
+        '\u{0FA7}' => No,
+        '\u{0FAC}' => No,
+        '\u{0FB9}' => No,
+        '\u{1026}' => No,
+        '\u{10FC}' => No,
+        '\u{1B06}' => No,
+        '\u{1B08}' => No,
+        '\u{1B0A}' => No,
+        '\u{1B0C}' => No,
+        '\u{1B0E}' => No,
+        '\u{1B12}' => No,
+        '\u{1B3B}' => No,
+        '\u{1B3D}' => No,
+        '\u{1B40}'...'\u{1B41}' => No,
+        '\u{1B43}' => No,
+        '\u{1D2C}'...'\u{1D2E}' => No,
+        '\u{1D30}'...'\u{1D3A}' => No,
+        '\u{1D3C}'...'\u{1D4D}' => No,
+        '\u{1D4F}'...'\u{1D6A}' => No,
+        '\u{1D78}' => No,
+        '\u{1D9B}'...'\u{1DBF}' => No,
+        '\u{1E00}'...'\u{1E9B}' => No,
+        '\u{1EA0}'...'\u{1EF9}' => No,
+        '\u{1F00}'...'\u{1F15}' => No,
+        '\u{1F18}'...'\u{1F1D}' => No,
+        '\u{1F20}'...'\u{1F45}' => No,
+        '\u{1F48}'...'\u{1F4D}' => No,
+        '\u{1F50}'...'\u{1F57}' => No,
+        '\u{1F59}' => No,
+        '\u{1F5B}' => No,
+        '\u{1F5D}' => No,
+        '\u{1F5F}'...'\u{1F7D}' => No,
+        '\u{1F80}'...'\u{1FB4}' => No,
+        '\u{1FB6}'...'\u{1FBC}' => No,
+        '\u{1FBD}' => No,
+        '\u{1FBE}' => No,
+        '\u{1FBF}'...'\u{1FC1}' => No,
+        '\u{1FC2}'...'\u{1FC4}' => No,
+        '\u{1FC6}'...'\u{1FCC}' => No,
+        '\u{1FCD}'...'\u{1FCF}' => No,
+        '\u{1FD0}'...'\u{1FD3}' => No,
+        '\u{1FD6}'...'\u{1FDB}' => No,
+        '\u{1FDD}'...'\u{1FDF}' => No,
+        '\u{1FE0}'...'\u{1FEC}' => No,
+        '\u{1FED}'...'\u{1FEF}' => No,
+        '\u{1FF2}'...'\u{1FF4}' => No,
+        '\u{1FF6}'...'\u{1FFC}' => No,
+        '\u{1FFD}'...'\u{1FFE}' => No,
+        '\u{2000}'...'\u{200A}' => No,
+        '\u{2011}' => No,
+        '\u{2017}' => No,
+        '\u{2024}'...'\u{2026}' => No,
+        '\u{202F}' => No,
+        '\u{2033}'...'\u{2034}' => No,
+        '\u{2036}'...'\u{2037}' => No,
+        '\u{203C}' => No,
+        '\u{203E}' => No,
+        '\u{2047}'...'\u{2049}' => No,
+        '\u{2057}' => No,
+        '\u{205F}' => No,
+        '\u{2070}' => No,
+        '\u{2071}' => No,
+        '\u{2074}'...'\u{2079}' => No,
+        '\u{207A}'...'\u{207C}' => No,
+        '\u{207D}' => No,
+        '\u{207E}' => No,
+        '\u{207F}' => No,
+        '\u{2080}'...'\u{2089}' => No,
+        '\u{208A}'...'\u{208C}' => No,
+        '\u{208D}' => No,
+        '\u{208E}' => No,
+        '\u{2090}'...'\u{209C}' => No,
+        '\u{20A8}' => No,
+        '\u{2100}'...'\u{2101}' => No,
+        '\u{2102}' => No,
+        '\u{2103}' => No,
+        '\u{2105}'...'\u{2106}' => No,
+        '\u{2107}' => No,
+        '\u{2109}' => No,
+        '\u{210A}'...'\u{2113}' => No,
+        '\u{2115}' => No,
+        '\u{2116}' => No,
+        '\u{2119}'...'\u{211D}' => No,
+        '\u{2120}'...'\u{2122}' => No,
+        '\u{2124}' => No,
+        '\u{2126}' => No,
+        '\u{2128}' => No,
+        '\u{212A}'...'\u{212D}' => No,
+        '\u{212F}'...'\u{2131}' => No,
+        '\u{2133}'...'\u{2134}' => No,
+        '\u{2135}'...'\u{2138}' => No,
+        '\u{2139}' => No,
+        '\u{213B}' => No,
+        '\u{213C}'...'\u{213F}' => No,
+        '\u{2140}' => No,
+        '\u{2145}'...'\u{2149}' => No,
+        '\u{2150}'...'\u{215F}' => No,
+        '\u{2160}'...'\u{217F}' => No,
+        '\u{2189}' => No,
+        '\u{219A}'...'\u{219B}' => No,
+        '\u{21AE}' => No,
+        '\u{21CD}' => No,
+        '\u{21CE}'...'\u{21CF}' => No,
+        '\u{2204}' => No,
+        '\u{2209}' => No,
+        '\u{220C}' => No,
+        '\u{2224}' => No,
+        '\u{2226}' => No,
+        '\u{222C}'...'\u{222D}' => No,
+        '\u{222F}'...'\u{2230}' => No,
+        '\u{2241}' => No,
+        '\u{2244}' => No,
+        '\u{2247}' => No,
+        '\u{2249}' => No,
+        '\u{2260}' => No,
+        '\u{2262}' => No,
+        '\u{226D}'...'\u{2271}' => No,
+        '\u{2274}'...'\u{2275}' => No,
+        '\u{2278}'...'\u{2279}' => No,
+        '\u{2280}'...'\u{2281}' => No,
+        '\u{2284}'...'\u{2285}' => No,
+        '\u{2288}'...'\u{2289}' => No,
+        '\u{22AC}'...'\u{22AF}' => No,
+        '\u{22E0}'...'\u{22E3}' => No,
+        '\u{22EA}'...'\u{22ED}' => No,
+        '\u{2329}' => No,
+        '\u{232A}' => No,
+        '\u{2460}'...'\u{249B}' => No,
+        '\u{249C}'...'\u{24E9}' => No,
+        '\u{24EA}' => No,
+        '\u{2A0C}' => No,
+        '\u{2A74}'...'\u{2A76}' => No,
+        '\u{2ADC}' => No,
+        '\u{2C7C}'...'\u{2C7D}' => No,
+        '\u{2D6F}' => No,
+        '\u{2E9F}' => No,
+        '\u{2EF3}' => No,
+        '\u{2F00}'...'\u{2FD5}' => No,
+        '\u{3000}' => No,
+        '\u{3036}' => No,
+        '\u{3038}'...'\u{303A}' => No,
+        '\u{304C}' => No,
+        '\u{304E}' => No,
+        '\u{3050}' => No,
+        '\u{3052}' => No,
+        '\u{3054}' => No,
+        '\u{3056}' => No,
+        '\u{3058}' => No,
+        '\u{305A}' => No,
+        '\u{305C}' => No,
+        '\u{305E}' => No,
+        '\u{3060}' => No,
+        '\u{3062}' => No,
+        '\u{3065}' => No,
+        '\u{3067}' => No,
+        '\u{3069}' => No,
+        '\u{3070}'...'\u{3071}' => No,
+        '\u{3073}'...'\u{3074}' => No,
+        '\u{3076}'...'\u{3077}' => No,
+        '\u{3079}'...'\u{307A}' => No,
+        '\u{307C}'...'\u{307D}' => No,
+        '\u{3094}' => No,
+        '\u{309B}'...'\u{309C}' => No,
+        '\u{309E}' => No,
+        '\u{309F}' => No,
+        '\u{30AC}' => No,
+        '\u{30AE}' => No,
+        '\u{30B0}' => No,
+        '\u{30B2}' => No,
+        '\u{30B4}' => No,
+        '\u{30B6}' => No,
+        '\u{30B8}' => No,
+        '\u{30BA}' => No,
+        '\u{30BC}' => No,
+        '\u{30BE}' => No,
+        '\u{30C0}' => No,
+        '\u{30C2}' => No,
+        '\u{30C5}' => No,
+        '\u{30C7}' => No,
+        '\u{30C9}' => No,
+        '\u{30D0}'...'\u{30D1}' => No,
+        '\u{30D3}'...'\u{30D4}' => No,
+        '\u{30D6}'...'\u{30D7}' => No,
+        '\u{30D9}'...'\u{30DA}' => No,
+        '\u{30DC}'...'\u{30DD}' => No,
+        '\u{30F4}' => No,
+        '\u{30F7}'...'\u{30FA}' => No,
+        '\u{30FE}' => No,
+        '\u{30FF}' => No,
+        '\u{3131}'...'\u{318E}' => No,
+        '\u{3192}'...'\u{3195}' => No,
+        '\u{3196}'...'\u{319F}' => No,
+        '\u{3200}'...'\u{321E}' => No,
+        '\u{3220}'...'\u{3229}' => No,
+        '\u{322A}'...'\u{3247}' => No,
+        '\u{3250}' => No,
+        '\u{3251}'...'\u{325F}' => No,
+        '\u{3260}'...'\u{327E}' => No,
+        '\u{3280}'...'\u{3289}' => No,
+        '\u{328A}'...'\u{32B0}' => No,
+        '\u{32B1}'...'\u{32BF}' => No,
+        '\u{32C0}'...'\u{33FF}' => No,
+        '\u{A69C}'...'\u{A69D}' => No,
+        '\u{A770}' => No,
+        '\u{A7F8}'...'\u{A7F9}' => No,
+        '\u{AB5C}'...'\u{AB5F}' => No,
+        '\u{AB69}' => No,
+        '\u{AC00}'...'\u{D7A3}' => No,
+        '\u{F900}'...'\u{FA0D}' => No,
+        '\u{FA10}' => No,
+        '\u{FA12}' => No,
+        '\u{FA15}'...'\u{FA1E}' => No,
+        '\u{FA20}' => No,
+        '\u{FA22}' => No,
+        '\u{FA25}'...'\u{FA26}' => No,
+        '\u{FA2A}'...'\u{FA6D}' => No,
+        '\u{FA70}'...'\u{FAD9}' => No,
+        '\u{FB00}'...'\u{FB06}' => No,
+        '\u{FB13}'...'\u{FB17}' => No,
+        '\u{FB1D}' => No,
+        '\u{FB1F}'...'\u{FB28}' => No,
+        '\u{FB29}' => No,
+        '\u{FB2A}'...'\u{FB36}' => No,
+        '\u{FB38}'...'\u{FB3C}' => No,
+        '\u{FB3E}' => No,
+        '\u{FB40}'...'\u{FB41}' => No,
+        '\u{FB43}'...'\u{FB44}' => No,
+        '\u{FB46}'...'\u{FBB1}' => No,
+        '\u{FBD3}'...'\u{FD3D}' => No,
+        '\u{FD50}'...'\u{FD8F}' => No,
+        '\u{FD92}'...'\u{FDC7}' => No,
+        '\u{FDF0}'...'\u{FDFB}' => No,
+        '\u{FDFC}' => No,
+        '\u{FE10}'...'\u{FE16}' => No,
+        '\u{FE17}' => No,
+        '\u{FE18}' => No,
+        '\u{FE19}' => No,
+        '\u{FE30}' => No,
+        '\u{FE31}'...'\u{FE32}' => No,
+        '\u{FE33}'...'\u{FE34}' => No,
+        '\u{FE35}' => No,
+        '\u{FE36}' => No,
+        '\u{FE37}' => No,
+        '\u{FE38}' => No,
+        '\u{FE39}' => No,
+        '\u{FE3A}' => No,
+        '\u{FE3B}' => No,
+        '\u{FE3C}' => No,
+        '\u{FE3D}' => No,
+        '\u{FE3E}' => No,
+        '\u{FE3F}' => No,
+        '\u{FE40}' => No,
+        '\u{FE41}' => No,
+        '\u{FE42}' => No,
+        '\u{FE43}' => No,
+        '\u{FE44}' => No,
+        '\u{FE47}' => No,
+        '\u{FE48}' => No,
+        '\u{FE49}'...'\u{FE4C}' => No,
+        '\u{FE4D}'...'\u{FE4F}' => No,
+        '\u{FE50}'...'\u{FE52}' => No,
+        '\u{FE54}'...'\u{FE57}' => No,
+        '\u{FE58}' => No,
+        '\u{FE59}' => No,
+        '\u{FE5A}' => No,
+        '\u{FE5B}' => No,
+        '\u{FE5C}' => No,
+        '\u{FE5D}' => No,
+        '\u{FE5E}' => No,
+        '\u{FE5F}'...'\u{FE61}' => No,
+        '\u{FE62}' => No,
+        '\u{FE63}' => No,
+        '\u{FE64}'...'\u{FE66}' => No,
+        '\u{FE68}' => No,
+        '\u{FE69}' => No,
+        '\u{FE6A}'...'\u{FE6B}' => No,
+        '\u{FE70}'...'\u{FE72}' => No,
+        '\u{FE74}' => No,
+        '\u{FE76}'...'\u{FEFC}' => No,
+        '\u{FF01}'...'\u{FF03}' => No,
+        '\u{FF04}' => No,
+        '\u{FF05}'...'\u{FF07}' => No,
+        '\u{FF08}' => No,
+        '\u{FF09}' => No,
+        '\u{FF0A}' => No,
+        '\u{FF0B}' => No,
+        '\u{FF0C}' => No,
+        '\u{FF0D}' => No,
+        '\u{FF0E}'...'\u{FF0F}' => No,
+        '\u{FF10}'...'\u{FF19}' => No,
+        '\u{FF1A}'...'\u{FF1B}' => No,
+        '\u{FF1C}'...'\u{FF1E}' => No,
+        '\u{FF1F}'...'\u{FF20}' => No,
+        '\u{FF21}'...'\u{FF3A}' => No,
+        '\u{FF3B}' => No,
+        '\u{FF3C}' => No,
+        '\u{FF3D}' => No,
+        '\u{FF3E}' => No,
+        '\u{FF3F}' => No,
+        '\u{FF40}' => No,
+        '\u{FF41}'...'\u{FF5A}' => No,
+        '\u{FF5B}' => No,
+        '\u{FF5C}' => No,
+        '\u{FF5D}' => No,
+        '\u{FF5E}' => No,
+        '\u{FF5F}' => No,
+        '\u{FF60}' => No,
+        '\u{FF61}' => No,
+        '\u{FF62}' => No,
+        '\u{FF63}' => No,
+        '\u{FF64}'...'\u{FF65}' => No,
+        '\u{FF66}'...'\u{FF6F}' => No,
+        '\u{FF70}' => No,
+        '\u{FF71}'...'\u{FF9D}' => No,
+        '\u{FF9E}'...'\u{FF9F}' => No,
+        '\u{FFA0}'...'\u{FFBE}' => No,
+        '\u{FFC2}'...'\u{FFC7}' => No,
+        '\u{FFCA}'...'\u{FFCF}' => No,
+        '\u{FFD2}'...'\u{FFD7}' => No,
+        '\u{FFDA}'...'\u{FFDC}' => No,
+        '\u{FFE0}'...'\u{FFE1}' => No,
+        '\u{FFE2}' => No,
+        '\u{FFE3}' => No,
+        '\u{FFE4}' => No,
+        '\u{FFE5}'...'\u{FFE6}' => No,
+        '\u{FFE8}' => No,
+        '\u{FFE9}'...'\u{FFEC}' => No,
+        '\u{FFED}'...'\u{FFEE}' => No,
+        '\u{1109A}' => No,
+        '\u{1109C}' => No,
+        '\u{110AB}' => No,
+        '\u{1112E}'...'\u{1112F}' => No,
+        '\u{1134B}'...'\u{1134C}' => No,
+        '\u{114BB}'...'\u{114BC}' => No,
+        '\u{114BE}' => No,
+        '\u{115BA}'...'\u{115BB}' => No,
+        '\u{11938}' => No,
+        '\u{1D15E}'...'\u{1D164}' => No,
+        '\u{1D1BB}'...'\u{1D1C0}' => No,
+        '\u{1D400}'...'\u{1D454}' => No,
+        '\u{1D456}'...'\u{1D49C}' => No,
+        '\u{1D49E}'...'\u{1D49F}' => No,
+        '\u{1D4A2}' => No,
+        '\u{1D4A5}'...'\u{1D4A6}' => No,
+        '\u{1D4A9}'...'\u{1D4AC}' => No,
+        '\u{1D4AE}'...'\u{1D4B9}' => No,
+        '\u{1D4BB}' => No,
+        '\u{1D4BD}'...'\u{1D4C3}' => No,
+        '\u{1D4C5}'...'\u{1D505}' => No,
+        '\u{1D507}'...'\u{1D50A}' => No,
+        '\u{1D50D}'...'\u{1D514}' => No,
+        '\u{1D516}'...'\u{1D51C}' => No,
+        '\u{1D51E}'...'\u{1D539}' => No,
+        '\u{1D53B}'...'\u{1D53E}' => No,
+        '\u{1D540}'...'\u{1D544}' => No,
+        '\u{1D546}' => No,
+        '\u{1D54A}'...'\u{1D550}' => No,
+        '\u{1D552}'...'\u{1D6A5}' => No,
+        '\u{1D6A8}'...'\u{1D6C0}' => No,
+        '\u{1D6C1}' => No,
+        '\u{1D6C2}'...'\u{1D6DA}' => No,
+        '\u{1D6DB}' => No,
+        '\u{1D6DC}'...'\u{1D6FA}' => No,
+        '\u{1D6FB}' => No,
+        '\u{1D6FC}'...'\u{1D714}' => No,
+        '\u{1D715}' => No,
+        '\u{1D716}'...'\u{1D734}' => No,
+        '\u{1D735}' => No,
+        '\u{1D736}'...'\u{1D74E}' => No,
+        '\u{1D74F}' => No,
+        '\u{1D750}'...'\u{1D76E}' => No,
+        '\u{1D76F}' => No,
+        '\u{1D770}'...'\u{1D788}' => No,
+        '\u{1D789}' => No,
+        '\u{1D78A}'...'\u{1D7A8}' => No,
+        '\u{1D7A9}' => No,
+        '\u{1D7AA}'...'\u{1D7C2}' => No,
+        '\u{1D7C3}' => No,
+        '\u{1D7C4}'...'\u{1D7CB}' => No,
+        '\u{1D7CE}'...'\u{1D7FF}' => No,
+        '\u{1EE00}'...'\u{1EE03}' => No,
+        '\u{1EE05}'...'\u{1EE1F}' => No,
+        '\u{1EE21}'...'\u{1EE22}' => No,
+        '\u{1EE24}' => No,
+        '\u{1EE27}' => No,
+        '\u{1EE29}'...'\u{1EE32}' => No,
+        '\u{1EE34}'...'\u{1EE37}' => No,
+        '\u{1EE39}' => No,
+        '\u{1EE3B}' => No,
+        '\u{1EE42}' => No,
+        '\u{1EE47}' => No,
+        '\u{1EE49}' => No,
+        '\u{1EE4B}' => No,
+        '\u{1EE4D}'...'\u{1EE4F}' => No,
+        '\u{1EE51}'...'\u{1EE52}' => No,
+        '\u{1EE54}' => No,
+        '\u{1EE57}' => No,
+        '\u{1EE59}' => No,
+        '\u{1EE5B}' => No,
+        '\u{1EE5D}' => No,
+        '\u{1EE5F}' => No,
+        '\u{1EE61}'...'\u{1EE62}' => No,
+        '\u{1EE64}' => No,
+        '\u{1EE67}'...'\u{1EE6A}' => No,
+        '\u{1EE6C}'...'\u{1EE72}' => No,
+        '\u{1EE74}'...'\u{1EE77}' => No,
+        '\u{1EE79}'...'\u{1EE7C}' => No,
+        '\u{1EE7E}' => No,
+        '\u{1EE80}'...'\u{1EE89}' => No,
+        '\u{1EE8B}'...'\u{1EE9B}' => No,
+        '\u{1EEA1}'...'\u{1EEA3}' => No,
+        '\u{1EEA5}'...'\u{1EEA9}' => No,
+        '\u{1EEAB}'...'\u{1EEBB}' => No,
+        '\u{1F100}'...'\u{1F10A}' => No,
+        '\u{1F110}'...'\u{1F12E}' => No,
+        '\u{1F130}'...'\u{1F14F}' => No,
+        '\u{1F16A}'...'\u{1F16C}' => No,
+        '\u{1F190}' => No,
+        '\u{1F200}'...'\u{1F202}' => No,
+        '\u{1F210}'...'\u{1F23B}' => No,
+        '\u{1F240}'...'\u{1F248}' => No,
+        '\u{1F250}'...'\u{1F251}' => No,
+        '\u{1FBF0}'...'\u{1FBF9}' => No,
+        '\u{2F800}'...'\u{2FA1D}' => No,
+        _ => Yes,
+    }
+}
+
+#[inline]
+pub fn stream_safe_leading_nonstarters(c: char) -> usize {
+    match c {
+        '\u{0340}' => 1,
+        '\u{0341}' => 1,
+        '\u{0343}' => 1,
+        '\u{0344}' => 2,
+        '\u{0F73}' => 2,
+        '\u{0F75}' => 2,
+        '\u{0F81}' => 2,
+        '\u{FF9E}' => 1,
+        '\u{FF9F}' => 1,
+        _ => 0,
+    }
+}
+
+pub(crate) const TRAILING_NONSTARTERS_SALT: &[u16] = &[
+    0x1bb,
+    0x0,
+    0x8,
+    0x162,
+    0x0,
+    0x5,
+    0x0,
+    0x75,
+    0x4,
+    0x0,
+    0x0,
+    0x5,
+    0x18,
+    0x2,
+    0x0,
+    0x1,
+    0x90,
+    0x0,
+    0x2,
+    0x5f,
+    0xc6,
+    0x0,
+    0x0,
+    0x20,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x0,
+    0x39,
+    0x0,
+    0x0,
+    0x48,
+    0x3,
+    0x0,
+    0x95,
+    0xaf,
+    0x30,
+    0x6f,
+    0x0,
+    0x0,
+    0x4,
+    0x8,
+    0x10b,
+    0x13,
+    0x0,
+    0x2f,
+    0x16,
+    0x6d,
+    0x1,
+    0x3,
+    0xe,
+    0x0,
+    0x2c,
+    0x83,
+    0x37,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x2,
+    0x46,
+    0xa,
+    0xb,
+    0x16,
+    0x4c,
+    0x0,
+    0x0,
+    0x0,
+    0xe,
+    0x1,
+    0x0,
+    0x7,
+    0xf,
+    0x26,
+    0x2,
+    0xb,
+    0xb,
+    0x3,
+    0x6,
+    0x1a,
+    0x0,
+    0x1,
+    0x6,
+    0x5,
+    0x5c,
+    0x6,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x59,
+    0x9,
+    0x20,
+    0x3,
+    0x0,
+    0x4,
+    0x1a,
+    0x1,
+    0x0,
+    0xb,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x23,
+    0x2,
+    0x8,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x29,
+    0x1a,
+    0x20,
+    0x6,
+    0x15,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x13,
+    0x14,
+    0x3,
+    0x1,
+    0x14,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x4,
+    0x0,
+    0x5,
+    0x8,
+    0x3,
+    0x2,
+    0x1c,
+    0x5,
+    0x1,
+    0x0,
+    0x17,
+    0x0,
+    0x0,
+    0x1b,
+    0x0,
+    0x6,
+    0x0,
+    0x3a,
+    0x0,
+    0x23,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x1,
+    0x0,
+    0x0,
+    0x16,
+    0x2d,
+    0x3,
+    0x1,
+    0x4,
+    0x14,
+    0x0,
+    0x0,
+    0x16,
+    0x2,
+    0x3,
+    0x9,
+    0x0,
+    0x56,
+    0x0,
+    0xd,
+    0x0,
+    0x4,
+    0xd,
+    0x0,
+    0x2,
+    0x10,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x23,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x13,
+    0x10,
+    0xd,
+    0x5c,
+    0x0,
+    0x9,
+    0xe,
+    0x5,
+    0x1,
+    0x0,
+    0xc,
+    0xd,
+    0x1,
+    0x4,
+    0x1,
+    0x2,
+    0x13,
+    0x0,
+    0x0,
+    0x1,
+    0xc,
+    0xb,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0xc,
+    0x0,
+    0x7,
+    0x0,
+    0xf,
+    0x0,
+    0x5,
+    0x4,
+    0x4,
+    0x3,
+    0x2,
+    0x4,
+    0x1,
+    0x11,
+    0x11,
+    0xc,
+    0x5,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x2,
+    0xc,
+    0x0,
+    0x0,
+    0x11,
+    0x6,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x8,
+    0x0,
+    0x0,
+    0x2,
+    0x12,
+    0x9,
+    0x1,
+    0x0,
+    0x3,
+    0x9,
+    0x0,
+    0x0,
+    0x3,
+    0x9,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xc,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x2,
+    0x2,
+    0x8,
+    0x0,
+    0x0,
+    0x5,
+    0x13,
+    0x7,
+    0xc,
+    0x0,
+    0x9,
+    0x1,
+    0x3a,
+    0x1,
+    0x1,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0x9,
+    0x1,
+    0x4,
+    0x12,
+    0x0,
+    0x7,
+    0x4,
+    0x5,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x7,
+    0x1,
+    0x0,
+    0x12,
+    0x2,
+    0x1,
+    0x6,
+    0x1a,
+    0x4,
+    0x6,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x9,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x5,
+    0xb,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0xb,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x5,
+    0x4,
+    0xa,
+    0x0,
+    0x0,
+    0x9,
+    0x0,
+    0xa,
+    0x5,
+    0x8,
+    0x1,
+    0x0,
+    0x1c,
+    0x2,
+    0x1,
+    0x3,
+    0x0,
+    0x1a,
+    0x9,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x0,
+    0x5,
+    0x4,
+    0x4,
+    0xe,
+    0x0,
+    0x9,
+    0x1,
+    0x8,
+    0x2,
+    0x0,
+    0x0,
+    0x4,
+    0x3,
+    0x0,
+    0x4,
+    0xf,
+    0x1,
+    0x0,
+    0x2,
+    0x3,
+    0x6,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x10,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x7,
+    0x2,
+    0x5,
+    0x1,
+    0x6,
+    0x0,
+    0x4,
+    0x3,
+    0xa,
+    0x1,
+    0xa,
+    0x1,
+    0x0,
+    0x7,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2b,
+    0x8,
+    0x1,
+    0x0,
+    0xe,
+    0xa,
+    0x0,
+    0xb,
+    0x0,
+    0x0,
+    0x4,
+    0x1,
+    0xb,
+    0x6,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x6,
+    0x2,
+    0x2,
+    0x0,
+    0x1,
+    0x1e,
+    0x5,
+    0xa,
+    0x5,
+    0x7,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0xa,
+    0x3,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x5,
+    0x4,
+    0x4,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x8,
+    0x1,
+    0x5,
+    0x6,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x4,
+    0x6,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x9,
+    0x1,
+    0xb,
+    0x0,
+    0x1,
+    0x0,
+    0x6,
+    0x1,
+    0x2,
+    0x3,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x8,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x5,
+    0xa,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x3,
+    0x1,
+    0x8,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0xc,
+    0x2,
+    0x2,
+    0x8,
+    0xd,
+    0x1,
+    0x1,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x6,
+    0x4,
+    0x0,
+    0x0,
+    0x8,
+    0x6,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0xb,
+    0x3,
+    0x8,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x7,
+    0x1,
+    0x5,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0xd,
+    0x0,
+    0x2,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x4,
+    0x8,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x7,
+    0x0,
+    0x1,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x7,
+    0x0,
+    0x1,
+    0x1,
+    0x9,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x4,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x7,
+    0x6,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x7,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x5,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x5,
+    0xa,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x3,
+    0x2,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x6,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x8,
+    0x0,
+    0x4,
+    0x5,
+    0x0,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x9,
+    0x3,
+    0x0,
+    0x4,
+    0x1,
+    0x1,
+    0xc,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0xa,
+    0x9,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x4,
+    0x0,
+    0x8,
+    0x0,
+    0x8,
+    0x2,
+    0x5,
+    0x6,
+    0x3,
+    0x1,
+    0x0,
+    0x6,
+    0x0,
+    0x6,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x2,
+    0x4,
+    0x0,
+    0x7,
+    0x3,
+    0x0,
+    0xb,
+    0x1,
+    0x0,
+    0x4,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x6,
+    0x6,
+    0x2,
+    0x1,
+    0x2,
+    0x1,
+    0x9,
+    0x0,
+    0x0,
+    0x0,
+    0x8,
+    0x12,
+    0x0,
+    0x9,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x7,
+    0x0,
+    0x2,
+    0x1,
+    0x1,
+    0x3,
+    0x2,
+    0x1,
+    0x2,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x5,
+    0x1,
+    0x0,
+    0x3,
+    0x7,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x6,
+    0x3,
+    0x1,
+    0x0,
+    0x4,
+    0x2,
+    0x0,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x0,
+    0x2,
+    0x0,
+    0x7,
+    0x1,
+    0x1,
+    0x0,
+    0x4,
+    0x3,
+    0x3,
+    0x4,
+    0x6,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x3,
+    0x3,
+    0x2,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x8,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x1,
+    0x2,
+    0x3,
+    0x3,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x3,
+    0x0,
+    0xe,
+    0x4,
+    0x5,
+    0x3,
+    0x0,
+    0x0,
+    0x3,
+    0x7,
+    0x1,
+    0x7,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x3,
+    0x2,
+    0x3,
+    0x3,
+    0x5,
+    0x1,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x0,
+    0x3,
+    0x6,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x6,
+    0x3,
+    0x6,
+    0x4,
+    0x3,
+    0x0,
+    0x0,
+    0x2,
+    0x0,
+    0x3,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x2,
+    0x4,
+    0x1,
+    0x2,
+    0x1,
+    0x0,
+    0x8,
+    0x1,
+    0x1,
+    0x2,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x7,
+    0x6,
+    0x3,
+    0x9,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x5,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x3,
+    0x6,
+    0x0,
+    0x1,
+    0x4,
+    0x8,
+    0x0,
+    0x0,
+    0x5,
+    0x0,
+    0x3,
+    0x3,
+    0x1,
+    0x4,
+    0x1,
+    0x0,
+    0x1,
+    0x0,
+    0x4,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x2,
+    0x2,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x4,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x1,
+    0x0,
+    0x3,
+    0x1,
+    0x3,
+    0x1,
+    0x0,
+    0x0,
+    0x3,
+    0x1,
+    0x0,
+    0x2,
+    0x0,
+    0x1,
+    0x0,
+    0x1,
+    0x1,
+    0x2,
+    0x1,
+    0x1,
+    0x0,
+    0x2,
+    0x1,
+    0x3,
+    0x4,
+    0x0,
+    0x3,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x1,
+    0x1,
+    0x0,
+    0x5,
+    0x0,
+    0x0,
+    0x1,
+    0x3,
+    0x0,
+    0x0,
+    0x1,
+    0x0,
+    0x0,
+    0x2,
+    0x1,
+    0x5,
+    0x0,
+    0x4,
+    0x2,
+    0x1,
+    0x4,
+    0x3,
+    0x1,
+    0x0,
+    0x1,
+    0x2,
+    0x4,
+];
+pub(crate) const TRAILING_NONSTARTERS_KV: &[u32] = &[
+    0x4EE01,
+    0x1E4B01,
+    0x1F1D02,
+    0x1E3C01,
+    0x224901,
+    0x1FB101,
+    0x1E6902,
+    0xFE8401,
+    0x1E1A01,
+    0x22901,
+    0xFC6202,
+    0xFE7101,
+    0x1E5A01,
+    0xEC01,
+    0x15001,
+    0x1E8901,
+    0x21CF01,
+    0x1F1101,
+    0x1E5002,
+    0x1E7201,
+    0x1FB901,
+    0x34301,
+    0x1FD901,
+    0x1FF801,
+    0x1F8C03,
+    0xDA01,
+    0x1E5302,
+    0x1FA203,
+    0x1FC202,
+    0x334E01,
+    0x1F4502,
+    0x12B01,
+    0xFB4401,
+    0x220401,
+    0x13E01,
+    0x12901,
+    0x1E9301,
+    0x1F001,
+    0x307701,
+    0xFE7D01,
+    0x21B01,
+    0x1EA802,
+    0x1E6402,
+    0x40301,
+    0x95801,
+    0x1E3902,
+    0x30AC01,
+    0x1F3502,
+    0x4F501,
+    0x1E7101,
+    0x4E701,
+    0x10801,
+    0x334B01,
+    0x14E01,
+    0x1EC901,
+    0x1FA02,
+    0x4ED01,
+    0x4EB01,
+    0x21701,
+    0x1FD001,
+    0x14601,
+    0x1D101,
+    0x34101,
+    0x1E3401,
+    0x304C01,
+    0xE901,
+    0x1F9403,
+    0x330701,
+    0x1E4001,
+    0x1E3601,
+    0x1E3101,
+    0x22AD01,
+    0x1E0701,
+    0x1F5202,
+    0xF601,
+    0x1FEB01,
+    0x1EE501,
+    0x1F7201,
+    0x1EAF02,
+    0x1F6D02,
+    0x1E2201,
+    0x1EEA02,
+    0x1E4D02,
+    0xA3301,
+    0x4F901,
+    0x17401,
+    0x11D01,
+    0xFB3601,
+    0x305C01,
+    0x12201,
+    0x1F8802,
+    0x1E5D02,
+    0x1EC102,
+    0x13D01,
+    0x1EF102,
+    0x30F401,
+    0x40701,
+    0x1FA802,
+    0x1EB402,
+    0x1E5801,
+    0x1E0501,
+    0xE001,
+    0xFB3301,
+    0xEB01,
+    0xA5E01,
+    0x1F3202,
+    0x20A01,
+    0x20801,
+    0x1FF702,
+    0x1FC901,
+    0x228001,
+    0xE401,
+    0x1F2101,
+    0x21CE01,
+    0xCB01,
+    0x1F9F03,
+    0x14301,
+    0x306701,
+    0x1E601,
+    0x1E4601,
+    0x45D01,
+    0x1E1001,
+    0x1E4801,
+    0x1FF402,
+    0x30D701,
+    0x22E301,
+    0x1EB801,
+    0x12C01,
+    0x331E01,
+    0x1F7001,
+    0x1F5D02,
+    0x21901,
+    0x10D01,
+    0x1FB402,
+    0xA801,
+    0x1FE801,
+    0x15401,
+    0x4D301,
+    0xFC01,
+    0x1EE401,
+    0x1F0901,
+    0x16B01,
+    0x1E1201,
+    0x1E2E02,
+    0x4C201,
+    0xFB1F01,
+    0x1F5602,
+    0x4DA01,
+    0x1EC02,
+    0x228801,
+    0x1ECB01,
+    0x16101,
+    0x1E9101,
+    0x1ECE01,
+    0x1F8002,
+    0x307401,
+    0xFE4901,
+    0x307101,
+    0x1D16202,
+    0x1FC001,
+    0x3CB01,
+    0x1FCF02,
+    0x1FBF01,
+    0x1FBD01,
+    0xFB3501,
+    0x1D15E01,
+    0xFE7F01,
+    0x22E01,
+    0x1E7701,
+    0xFBB001,
+    0xE101,
+    0x30B001,
+    0x22EA01,
+    0x1F3F02,
+    0x1C601,
+    0x1E1E01,
+    0x9DC01,
+    0x1F6302,
+    0x1FC01,
+    0x4D001,
+    0x1FDE02,
+    0x1E1301,
+    0x1FCE02,
+    0x4F101,
+    0x228101,
+    0x1F0101,
+    0xFB1D01,
+    0xDB01,
+    0x1E8701,
+    0x224101,
+    0xFB3A01,
+    0x40101,
+    0x1FC402,
+    0xFE7B01,
+    0x30BA01,
+    0xFBA501,
+    0x30F701,
+    0x1FF301,
+    0x14C01,
+    0x1D16302,
+    0x15701,
+    0x17801,
+    0x1F7901,
+    0x306201,
+    0x1EAE02,
+    0x30B801,
+    0x1F2302,
+    0x1F4D02,
+    0x17C01,
+    0x15601,
+    0x22D02,
+    0xFC9001,
+    0x1E3B01,
+    0x1E6A01,
+    0x1EBE02,
+    0x17301,
+    0x22ED01,
+    0x10E01,
+    0x1E8A01,
+    0x1F6B02,
+    0x6C201,
+    0xFEF901,
+    0x1EB901,
+    0x1EB102,
+    0x1F5702,
+    0x1F0D02,
+    0x305A01,
+    0x1FD702,
+    0x30AE01,
+    0x1E2001,
+    0x17601,
+    0xFB3401,
+    0x1F8E03,
+    0xFB4D01,
+    0xFE8101,
+    0x1E6101,
+    0x1FE302,
+    0x1D201,
+    0x1FA403,
+    0x1EE002,
+    0x1F7A01,
+    0xFB2F01,
+    0x1F5502,
+    0xFEFA01,
+    0x1D602,
+    0xFA01,
+    0xFE8501,
+    0x22F01,
+    0x4DB01,
+    0x1E5F01,
+    0x1E2701,
+    0x39002,
+    0x41901,
+    0x30F801,
+    0x16C01,
+    0x12401,
+    0xC701,
+    0x1F9503,
+    0x228401,
+    0x1E8C01,
+    0xF7502,
+    0x1FC301,
+    0x1F7C01,
+    0xFE7201,
+    0x20C01,
+    0xFB4901,
+    0x1FBB01,
+    0x10F01,
+    0x1FB601,
+    0x1F8902,
+    0x1FF01,
+    0x1F2402,
+    0x1F5302,
+    0x1E1702,
+    0x1D802,
+    0x309E01,
+    0xFE7A01,
+    0x305E01,
+    0x226E01,
+    0x1FE702,
+    0x1EBF02,
+    0x1F3801,
+    0x1E3201,
+    0x1FFB01,
+    0x1E6B01,
+    0x1F9D03,
+    0x222401,
+    0x201701,
+    0xF7601,
+    0x1FCC01,
+    0x1FA002,
+    0x1F7401,
+    0x1F2C02,
+    0x40D01,
+    0x1EEE02,
+    0x15C01,
+    0xE301,
+    0xCC01,
+    0xFB3801,
+    0x333201,
+    0x1E7501,
+    0x334001,
+    0x11501,
+    0x1E3001,
+    0x34402,
+    0x17701,
+    0x1E9201,
+    0x1E2D01,
+    0xCA01,
+    0x1E7D01,
+    0x13001,
+    0x1F6801,
+    0x3AA01,
+    0x309C01,
+    0x1F4001,
+    0x3AC01,
+    0x1EBA01,
+    0x43901,
+    0xFB4C01,
+    0x1E201,
+    0x1109A01,
+    0x1DB02,
+    0x1E4101,
+    0x1FE001,
+    0xCE01,
+    0x21F01,
+    0x4DF01,
+    0x47701,
+    0x1F0302,
+    0x3D401,
+    0x23201,
+    0x1E1101,
+    0x1FD202,
+    0x14401,
+    0x1F4C02,
+    0x1EF301,
+    0x10C01,
+    0x30D001,
+    0x1E4C02,
+    0x1E2C01,
+    0x1F1C02,
+    0xFC5F02,
+    0x1FE101,
+    0x1EC502,
+    0x22801,
+    0x22E101,
+    0x1EC002,
+    0xEA01,
+    0x1E0802,
+    0x95A01,
+    0x1F8303,
+    0x1EE302,
+    0x306901,
+    0x17101,
+    0x1E1602,
+    0x212B01,
+    0x1E6001,
+    0x22EC01,
+    0x219B01,
+    0x1E8F01,
+    0x1F4302,
+    0x4E501,
+    0x1FA303,
+    0x1F3C02,
+    0x16D01,
+    0x30BE01,
+    0x1FA603,
+    0x1E9601,
+    0xFD01,
+    0x1F0602,
+    0x1ED402,
+    0x1D502,
+    0x1A001,
+    0x222601,
+    0x9DF01,
+    0xFB3201,
+    0xFB4701,
+    0x1E6301,
+    0x1DC02,
+    0x1E4701,
+    0x30BC01,
+    0x1D1BB01,
+    0x1FC702,
+    0x1D1BC01,
+    0x309B01,
+    0xF7702,
+    0xFF9E01,
+    0x1EA702,
+    0x95901,
+    0xE501,
+    0x30B601,
+    0xFCF402,
+    0x21601,
+    0x4EA01,
+    0x20501,
+    0x4F001,
+    0xC4801,
+    0x14701,
+    0x1EF801,
+    0x1F5B02,
+    0x1EA001,
+    0xE201,
+    0x1F9303,
+    0x1F5901,
+    0xFB4B01,
+    0x1F3001,
+    0x1E8401,
+    0x62401,
+    0x1F9703,
+    0xDC01,
+    0x1E8B01,
+    0x1EDF02,
+    0x3B002,
+    0x1C401,
+    0x1ED502,
+    0x1F2901,
+    0x1F7D01,
+    0x1EE902,
+    0x30DA01,
+    0xD201,
+    0x1F6A02,
+    0x1EA402,
+    0x1EB01,
+    0xFEF801,
+    0x93101,
+    0x307601,
+    0x1F0A02,
+    0x1F2702,
+    0x1FD601,
+    0x3AB01,
+    0x1E0101,
+    0xFB2C02,
+    0x11C01,
+    0x203E01,
+    0x16001,
+    0x21001,
+    0x1E0B01,
+    0xFE8901,
+    0x1E1C02,
+    0x1E1801,
+    0x1F9102,
+    0x1E9501,
+    0x11901,
+    0x45C01,
+    0x30DC01,
+    0xFB2D02,
+    0x22B02,
+    0x2D901,
+    0x1D001,
+    0xDDA01,
+    0x15D01,
+    0x1E6E01,
+    0x1EA602,
+    0x1E4A01,
+    0x1EDA02,
+    0x306501,
+    0x4F401,
+    0x306001,
+    0x110AB01,
+    0x228501,
+    0x1E8E01,
+    0x227801,
+    0x4F301,
+    0x1F0502,
+    0x1F7101,
+    0x1E5C02,
+    0xAF01,
+    0x1EC302,
+    0xFE8C01,
+    0x1E8501,
+    0x1F9802,
+    0x1EA01,
+    0xFB4801,
+    0xC801,
+    0xFE7901,
+    0x62501,
+    0x16501,
+    0xF101,
+    0x11601,
+    0x1FDF02,
+    0x1FEC01,
+    0x1F3E02,
+    0x331001,
+    0xE701,
+    0x1FB202,
+    0x22601,
+    0x6D301,
+    0x1EAA02,
+    0x1E1B01,
+    0x12301,
+    0x1F7701,
+    0x1FAD03,
+    0x1EDC02,
+    0x11401,
+    0x1F8B03,
+    0x14501,
+    0x1FBC01,
+    0x1E7902,
+    0x95F01,
+    0x1F2801,
+    0xDDD01,
+    0x1FFA01,
+    0x1CD01,
+    0xFE4A01,
+    0xFE7E01,
+    0x1AF01,
+    0x17E01,
+    0x1F8603,
+    0x227401,
+    0x1FB301,
+    0x13401,
+    0xFB4A01,
+    0x1F2502,
+    0x1FD302,
+    0x1F21301,
+    0x20B01,
+    0x38C01,
+    0xFE8701,
+    0x1F3101,
+    0x1F1402,
+    0x1E1F01,
+    0x1FB02,
+    0x1E7E01,
+    0x1E0201,
+    0xFE4B01,
+    0xD901,
+    0x1F0001,
+    0xF7302,
+    0xC501,
+    0x4E401,
+    0xFCF302,
+    0x1F5101,
+    0x1FE601,
+    0x30C001,
+    0x4F801,
+    0x12801,
+    0x1EB202,
+    0x1E0A01,
+    0x1E0C01,
+    0x1E4401,
+    0xEE01,
+    0x30C201,
+    0x16F01,
+    0x1EA502,
+    0x30FA01,
+    0x1EB502,
+    0x1D1BE02,
+    0x22E001,
+    0x22E201,
+    0x1D1C002,
+    0x1EC402,
+    0x1F6702,
+    0x30FE01,
+    0x1F3402,
+    0xFE7001,
+    0x1E2101,
+    0x1F5F02,
+    0x220C01,
+    0x1D902,
+    0x1E0601,
+    0x13B01,
+    0x1ED802,
+    0x1EEB02,
+    0xC201,
+    0x45001,
+    0x1FDD02,
+    0x1E7601,
+    0x1D16402,
+    0x1B001,
+    0x20401,
+    0x11201,
+    0x21301,
+    0x3D301,
+    0x1EC202,
+    0x1EAB02,
+    0x1FAE03,
+    0x1EE01,
+    0x1ED602,
+    0x1E3701,
+    0x309401,
+    0xD401,
+    0x1E5E01,
+    0x1E0D01,
+    0x30D601,
+    0x1ED702,
+    0x1F5001,
+    0x1D401,
+    0x1FFD01,
+    0xFB3C01,
+    0x1E8D01,
+    0x21501,
+    0x3AF01,
+    0x224701,
+    0x1ECA01,
+    0x305801,
+    0x1E7F01,
+    0x22AC01,
+    0x15B01,
+    0x4D601,
+    0x17A01,
+    0x1ED02,
+    0x1E6702,
+    0x1E2801,
+    0x20D01,
+    0x1EBD01,
+    0x1FD01,
+    0xFB2E01,
+    0x1E4501,
+    0x1EF701,
+    0x45E01,
+    0x1F3B02,
+    0x20001,
+    0x1FCD02,
+    0x38502,
+    0x13601,
+    0x20301,
+    0x21201,
+    0x1E9B01,
+    0x1F401,
+    0x1E8001,
+    0x1FC102,
+    0x1F7601,
+    0x3CA01,
+    0x16301,
+    0x1FCB01,
+    0x95C01,
+    0x21101,
+    0x1EF901,
+    0x1E7B02,
+    0x1E901,
+    0x1E1D02,
+    0x1EDE02,
+    0x15F01,
+    0x1F6402,
+    0x10001,
+    0x20F01,
+    0x1E6602,
+    0x40E01,
+    0x38E01,
+    0x1F0801,
+    0x11801,
+    0xFB3101,
+    0x1D702,
+    0x1ED102,
+    0x305201,
+    0x1E2A01,
+    0x227001,
+    0x1F8503,
+    0x1FFE01,
+    0x1EF002,
+    0x4DD01,
+    0x95D01,
+    0x1F6502,
+    0xF401,
+    0x4D701,
+    0x38601,
+    0x2D801,
+    0x1EC801,
+    0x45701,
+    0xFF01,
+    0x22AF01,
+    0x1EBC01,
+    0x11E01,
+    0x45301,
+    0xFE7801,
+    0x21E01,
+    0xB5D01,
+    0x12A01,
+    0xF501,
+    0xD301,
+    0x1E6502,
+    0x21A01,
+    0x1F6E02,
+    0x1FB001,
+    0x62201,
+    0x333B01,
+    0x30D301,
+    0x1EA101,
+    0x226F01,
+    0x1E0E01,
+    0x15E01,
+    0x1FF202,
+    0x21801,
+    0x1F8203,
+    0x20901,
+    0x1FD101,
+    0x2DB01,
+    0xF201,
+    0xF7902,
+    0xA5A01,
+    0x1F0E02,
+    0x1F1801,
+    0x307C01,
+    0xFC5C01,
+    0x2ADC01,
+    0xE801,
+    0x15801,
+    0x1FDB01,
+    0x1F6C02,
+    0x1EB002,
+    0x1E2301,
+    0x1F1502,
+    0x11F01,
+    0xFC6002,
+    0x1FA902,
+    0x1E5501,
+    0x23102,
+    0x1FE01,
+    0x1E3D01,
+    0x21AE01,
+    0xFD3C01,
+    0x38401,
+    0x1EE701,
+    0x13701,
+    0xFB3001,
+    0xEF01,
+    0x1FA703,
+    0x10A01,
+    0x1F2B02,
+    0x1D16002,
+    0xF901,
+    0xFEF501,
+    0x40C01,
+    0x22A02,
+    0xF301,
+    0x12D01,
+    0x1F9A03,
+    0x1E4201,
+    0x1E102,
+    0xA5B01,
+    0x1EAC02,
+    0x1E1502,
+    0x1F9E03,
+    0x1FD801,
+    0x1F4A02,
+    0x20201,
+    0x1E9801,
+    0x1E2401,
+    0x1EE601,
+    0x304E01,
+    0x1E6C01,
+    0xFE8A01,
+    0xFB4001,
+    0x1F2D02,
+    0xFD3D01,
+    0x1FC801,
+    0x1FB801,
+    0x1F3D02,
+    0x1EF501,
+    0x13901,
+    0x1E8101,
+    0x1F9C03,
+    0x10301,
+    0xA5901,
+    0x1F9002,
+    0x1ED902,
+    0x1EF201,
+    0x4E301,
+    0xFEF701,
+    0x1ECD01,
+    0x11A01,
+    0xFB2A01,
+    0x1E301,
+    0x1F6602,
+    0x1FB702,
+    0x1E2501,
+    0x30C701,
+    0x1F8102,
+    0xCF01,
+    0x1EEF02,
+    0x1E9701,
+    0x1F6F02,
+    0x1F2A02,
+    0x10901,
+    0x1E5601,
+    0x1E0001,
+    0xFB4E01,
+    0x1FC601,
+    0xC001,
+    0x220901,
+    0xFE8801,
+    0x1CE01,
+    0xED01,
+    0x15901,
+    0x15A01,
+    0x37A01,
+    0x227501,
+    0xD501,
+    0x4C101,
+    0x1E1901,
+    0x30D101,
+    0x10701,
+    0x1FAC03,
+    0x1EA301,
+    0x1F2E02,
+    0x14D01,
+    0x1F4901,
+    0x1E8801,
+    0x1EB302,
+    0x20701,
+    0x1F7801,
+    0x1F8D03,
+    0xFBA401,
+    0x1F9902,
+    0x38801,
+    0x1F2001,
+    0xFB4101,
+    0x1EC602,
+    0x40001,
+    0x1EB602,
+    0x1E2B01,
+    0x1E3A01,
+    0x1C501,
+    0x16201,
+    0x17D01,
+    0x1E8201,
+    0x1F1B02,
+    0x17001,
+    0x224401,
+    0x23301,
+    0x1E2601,
+    0x1F3302,
+    0x10401,
+    0x30D901,
+    0x30F901,
+    0x1F8A03,
+    0x93401,
+    0x3CD01,
+    0x1FFC01,
+    0x10101,
+    0x1F5402,
+    0xFB4601,
+    0x3AD01,
+    0x1F0402,
+    0x1FF601,
+    0x30B201,
+    0x1F1001,
+    0x1E7301,
+    0x20E01,
+    0x1E0301,
+    0x1F6901,
+    0xFEF601,
+    0x95B01,
+    0x227101,
+    0x22701,
+    0x1E3501,
+    0x34001,
+    0x1F0B02,
+    0x1E701,
+    0x1ED302,
+    0x1F8403,
+    0x1F2F02,
+    0x1E8301,
+    0x1F6001,
+    0x62301,
+    0xFC5D01,
+    0x226001,
+    0x22C02,
+    0x1E3F01,
+    0x1F7501,
+    0x226201,
+    0x1FDA01,
+    0x20601,
+    0xFE7701,
+    0x305601,
+    0x12101,
+    0x1F2602,
+    0x1E9001,
+    0x95E01,
+    0x12F01,
+    0x1F9603,
+    0x1E4901,
+    0x10B01,
+    0x1DF02,
+    0x1D16102,
+    0xFB2B01,
+    0x1E0902,
+    0x11701,
+    0xFF9F01,
+    0x1F7B01,
+    0x1E9901,
+    0x1F9203,
+    0x1FCA01,
+    0xB801,
+    0x1A101,
+    0x1F3901,
+    0xFE7401,
+    0xFC6102,
+    0x1E5B01,
+    0x92901,
+    0xFE8301,
+    0x1FE202,
+    0x305401,
+    0x1CF01,
+    0x2DC01,
+    0xFB01,
+    0x307A01,
+    0xFB3901,
+    0x17501,
+    0x305001,
+    0x1E801,
+    0x1FE901,
+    0x1D301,
+    0x307D01,
+    0x1E2F02,
+    0xFE4C01,
+    0xF8102,
+    0x1FA503,
+    0x1FAB03,
+    0x1EDB02,
+    0x1F4801,
+    0x1EED02,
+    0x1F4402,
+    0x1DA02,
+    0xD101,
+    0x1E6802,
+    0x2DA01,
+    0x30B401,
+    0x1ECF01,
+    0x1E5901,
+    0x1E002,
+    0x1E5701,
+    0x1F0F02,
+    0x17201,
+    0x1FEE02,
+    0x1E5401,
+    0xC901,
+    0xA3601,
+    0x228901,
+    0x1ECC01,
+    0xB401,
+    0x16901,
+    0x1EF601,
+    0x10501,
+    0x1E7C01,
+    0x1F8F03,
+    0x1E3301,
+    0x14F01,
+    0x1EE802,
+    0x1F4202,
+    0x1E3E01,
+    0xFC6302,
+    0x1F501,
+    0x16401,
+    0x4F201,
+    0x1F0202,
+    0x1E0F01,
+    0x1FEA01,
+    0x1F1901,
+    0xFC5B01,
+    0x1D1BD02,
+    0xC101,
+    0x38A01,
+    0x1EE102,
+    0xD601,
+    0x1E7802,
+    0x1F7301,
+    0x1E7A02,
+    0x1EA902,
+    0xFCD901,
+    0x1F9B03,
+    0x1F2202,
+    0x10601,
+    0x38F01,
+    0xF7801,
+    0x1D15F01,
+    0x1F8703,
+    0x1FE501,
+    0x1EE202,
+    0x1F801,
+    0x307901,
+    0xFE8201,
+    0x1ED002,
+    0x4E201,
+    0x13501,
+    0x1109C01,
+    0xFCF202,
+    0x1E6F01,
+    0x21CD01,
+    0x1EB702,
+    0x4EF01,
+    0x1E6201,
+    0x1EDD02,
+    0xFC5E02,
+    0xDD01,
+    0x1F6202,
+    0x1F4B02,
+    0x4E601,
+    0x14801,
+    0x1F3A02,
+    0x1FAF03,
+    0xC401,
+    0x1EEC02,
+    0x1F4101,
+    0x1EC702,
+    0x4DC01,
+    0x16E01,
+    0x1F1A02,
+    0x307301,
+    0x22AE01,
+    0x38901,
+    0x23002,
+    0x13C01,
+    0x1FF901,
+    0x1F0702,
+    0x1EBB01,
+    0x12501,
+    0x1F1202,
+    0x1E2901,
+    0x1E4301,
+    0x10201,
+    0x330401,
+    0x6C001,
+    0x11301,
+    0x1EA201,
+    0x1F3702,
+    0x1FED02,
+    0x4D201,
+    0xFFE301,
+    0x30D401,
+    0x15101,
+    0x307001,
+    0x3AE01,
+    0x1F901,
+    0x1FA102,
+    0x1E9401,
+    0x332101,
+    0xC301,
+    0x17901,
+    0x1DE02,
+    0xFB3E01,
+    0x1E5102,
+    0x4DE01,
+    0x62601,
+    0x3CC01,
+    0x2DD01,
+    0x1F6101,
+    0x15501,
+    0x3CE01,
+    0x30C901,
+    0x1E7001,
+    0x227901,
+    0x30C501,
+    0x12001,
+    0xFE8601,
+    0x1E4F02,
+    0x13A01,
+    0x1E7401,
+    0x1F1302,
+    0x1D1BF02,
+    0x11B01,
+    0x9DD01,
+    0x22EB01,
+    0x1E6D01,
+    0x1E5202,
+    0x1ED202,
+    0x1F3602,
+    0x1EAD02,
+    0x1FE401,
+    0xB5C01,
+    0x1FBA01,
+    0x1E4E02,
+    0x16801,
+    0xFE7C01,
+    0x1FAA03,
+    0x1E0401,
+    0x20101,
+    0x1EF01,
+    0x12E01,
+    0x1F0C02,
+    0x1E1402,
+    0xFE7601,
+    0x1E3802,
+    0xFB3B01,
+    0xCD01,
+    0x226D01,
+    0x4D101,
+    0x1E8601,
+    0x45101,
+    0x17B01,
+    0x47601,
+    0x4EC01,
+    0x21401,
+    0x1EF401,
+    0x16A01,
+    0x30DD01,
+    0xFE8B01,
+    0xFBB101,
+    0x219A01,
+    0xFB4301,
+];
+
+
diff --git a/src/test.rs b/src/test.rs
new file mode 100644
index 0000000..2e87a87
--- /dev/null
+++ b/src/test.rs
@@ -0,0 +1,125 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use super::char::is_combining_mark;
+use super::UnicodeNormalization;
+use core::char;
+
+#[cfg(not(feature = "std"))]
+use crate::no_std_prelude::*;
+
+#[test]
+fn test_nfd() {
+    macro_rules! t {
+        ($input: expr, $expected: expr) => {
+            assert_eq!($input.nfd().to_string(), $expected);
+            // A dummy iterator that is not std::str::Chars directly;
+            // note that `id_func` is used to ensure `Clone` implementation
+            assert_eq!(
+                $input.chars().map(|c| c).nfd().collect::<String>(),
+                $expected
+            );
+        };
+    }
+    t!("abc", "abc");
+    t!("\u{1e0b}\u{1c4}", "d\u{307}\u{1c4}");
+    t!("\u{2026}", "\u{2026}");
+    t!("\u{2126}", "\u{3a9}");
+    t!("\u{1e0b}\u{323}", "d\u{323}\u{307}");
+    t!("\u{1e0d}\u{307}", "d\u{323}\u{307}");
+    t!("a\u{301}", "a\u{301}");
+    t!("\u{301}a", "\u{301}a");
+    t!("\u{d4db}", "\u{1111}\u{1171}\u{11b6}");
+    t!("\u{ac1c}", "\u{1100}\u{1162}");
+}
+
+#[test]
+fn test_nfkd() {
+    macro_rules! t {
+        ($input: expr, $expected: expr) => {
+            assert_eq!($input.nfkd().to_string(), $expected);
+        };
+    }
+    t!("abc", "abc");
+    t!("\u{1e0b}\u{1c4}", "d\u{307}DZ\u{30c}");
+    t!("\u{2026}", "...");
+    t!("\u{2126}", "\u{3a9}");
+    t!("\u{1e0b}\u{323}", "d\u{323}\u{307}");
+    t!("\u{1e0d}\u{307}", "d\u{323}\u{307}");
+    t!("a\u{301}", "a\u{301}");
+    t!("\u{301}a", "\u{301}a");
+    t!("\u{d4db}", "\u{1111}\u{1171}\u{11b6}");
+    t!("\u{ac1c}", "\u{1100}\u{1162}");
+}
+
+#[test]
+fn test_nfc() {
+    macro_rules! t {
+        ($input: expr, $expected: expr) => {
+            assert_eq!($input.nfc().to_string(), $expected);
+        };
+    }
+    t!("abc", "abc");
+    t!("\u{1e0b}\u{1c4}", "\u{1e0b}\u{1c4}");
+    t!("\u{2026}", "\u{2026}");
+    t!("\u{2126}", "\u{3a9}");
+    t!("\u{1e0b}\u{323}", "\u{1e0d}\u{307}");
+    t!("\u{1e0d}\u{307}", "\u{1e0d}\u{307}");
+    t!("a\u{301}", "\u{e1}");
+    t!("\u{301}a", "\u{301}a");
+    t!("\u{d4db}", "\u{d4db}");
+    t!("\u{ac1c}", "\u{ac1c}");
+    t!(
+        "a\u{300}\u{305}\u{315}\u{5ae}b",
+        "\u{e0}\u{5ae}\u{305}\u{315}b"
+    );
+}
+
+#[test]
+fn test_nfkc() {
+    macro_rules! t {
+        ($input: expr, $expected: expr) => {
+            assert_eq!($input.nfkc().to_string(), $expected);
+        };
+    }
+    t!("abc", "abc");
+    t!("\u{1e0b}\u{1c4}", "\u{1e0b}D\u{17d}");
+    t!("\u{2026}", "...");
+    t!("\u{2126}", "\u{3a9}");
+    t!("\u{1e0b}\u{323}", "\u{1e0d}\u{307}");
+    t!("\u{1e0d}\u{307}", "\u{1e0d}\u{307}");
+    t!("a\u{301}", "\u{e1}");
+    t!("\u{301}a", "\u{301}a");
+    t!("\u{d4db}", "\u{d4db}");
+    t!("\u{ac1c}", "\u{ac1c}");
+    t!(
+        "a\u{300}\u{305}\u{315}\u{5ae}b",
+        "\u{e0}\u{5ae}\u{305}\u{315}b"
+    );
+}
+
+#[test]
+fn test_is_combining_mark_ascii() {
+    for cp in 0..0x7f {
+        assert!(!is_combining_mark(char::from_u32(cp).unwrap()));
+    }
+}
+
+#[test]
+fn test_is_combining_mark_misc() {
+    // https://github.com/unicode-rs/unicode-normalization/issues/16
+    // U+11C3A BHAIKSUKI VOWEL SIGN O
+    // Category: Mark, Nonspacing [Mn]
+    assert!(is_combining_mark('\u{11C3A}'));
+
+    // U+11C3F BHAIKSUKI SIGN VIRAMA
+    // Category: Mark, Nonspacing [Mn]
+    assert!(is_combining_mark('\u{11C3F}'));
+}