source: icGREP/icgrep-devel/icgrep/UCD/DerivedNormalizationProps.h @ 5660

Last change on this file since 5660 was 5660, checked in by cameron, 21 months ago

UCD corrections and additional properties

File size: 100.9 KB
Line 
1#ifndef DERIVEDNORMALIZATIONPROPS_H
2#define DERIVEDNORMALIZATIONPROPS_H
3/*
4 *  Copyright (c) 2017 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "unicode_set.h"
15
16namespace UCD {
17    namespace CWKCF_ns {
18        /** Code Point Ranges for CWKCF
19        [0041, 005a], [00a0, 00a0], [00a8, 00a8], [00aa, 00aa],
20        [00ad, 00ad], [00af, 00af], [00b2, 00b5], [00b8, 00ba],
21        [00bc, 00be], [00c0, 00d6], [00d8, 00df], [0100, 0100],
22        [0102, 0102], [0104, 0104], [0106, 0106], [0108, 0108],
23        [010a, 010a], [010c, 010c], [010e, 010e], [0110, 0110],
24        [0112, 0112], [0114, 0114], [0116, 0116], [0118, 0118],
25        [011a, 011a], [011c, 011c], [011e, 011e], [0120, 0120],
26        [0122, 0122], [0124, 0124], [0126, 0126], [0128, 0128],
27        [012a, 012a], [012c, 012c], [012e, 012e], [0130, 0130],
28        [0132, 0134], [0136, 0136], [0139, 0139], [013b, 013b],
29        [013d, 013d], [013f, 0141], [0143, 0143], [0145, 0145],
30        [0147, 0147], [0149, 014a], [014c, 014c], [014e, 014e],
31        [0150, 0150], [0152, 0152], [0154, 0154], [0156, 0156],
32        [0158, 0158], [015a, 015a], [015c, 015c], [015e, 015e],
33        [0160, 0160], [0162, 0162], [0164, 0164], [0166, 0166],
34        [0168, 0168], [016a, 016a], [016c, 016c], [016e, 016e],
35        [0170, 0170], [0172, 0172], [0174, 0174], [0176, 0176],
36        [0178, 0179], [017b, 017b], [017d, 017d], [017f, 017f],
37        [0181, 0182], [0184, 0184], [0186, 0187], [0189, 018b],
38        [018e, 0191], [0193, 0194], [0196, 0198], [019c, 019d],
39        [019f, 01a0], [01a2, 01a2], [01a4, 01a4], [01a6, 01a7],
40        [01a9, 01a9], [01ac, 01ac], [01ae, 01af], [01b1, 01b3],
41        [01b5, 01b5], [01b7, 01b8], [01bc, 01bc], [01c4, 01cd],
42        [01cf, 01cf], [01d1, 01d1], [01d3, 01d3], [01d5, 01d5],
43        [01d7, 01d7], [01d9, 01d9], [01db, 01db], [01de, 01de],
44        [01e0, 01e0], [01e2, 01e2], [01e4, 01e4], [01e6, 01e6],
45        [01e8, 01e8], [01ea, 01ea], [01ec, 01ec], [01ee, 01ee],
46        [01f1, 01f4], [01f6, 01f8], [01fa, 01fa], [01fc, 01fc],
47        [01fe, 01fe], [0200, 0200], [0202, 0202], [0204, 0204],
48        [0206, 0206], [0208, 0208], [020a, 020a], [020c, 020c],
49        [020e, 020e], [0210, 0210], [0212, 0212], [0214, 0214],
50        [0216, 0216], [0218, 0218], [021a, 021a], [021c, 021c],
51        [021e, 021e], [0220, 0220], [0222, 0222], [0224, 0224],
52        [0226, 0226], [0228, 0228], [022a, 022a], [022c, 022c],
53        [022e, 022e], [0230, 0230], [0232, 0232], [023a, 023b],
54        [023d, 023e], [0241, 0241], [0243, 0246], [0248, 0248],
55        [024a, 024a], [024c, 024c], [024e, 024e], [02b0, 02b8],
56        [02d8, 02dd], [02e0, 02e4], [0340, 0341], [0343, 0345],
57        [034f, 034f], [0370, 0370], [0372, 0372], [0374, 0374],
58        [0376, 0376], [037a, 037a], [037e, 037f], [0384, 038a],
59        [038c, 038c], [038e, 038f], [0391, 03a1], [03a3, 03ab],
60        [03c2, 03c2], [03cf, 03d6], [03d8, 03d8], [03da, 03da],
61        [03dc, 03dc], [03de, 03de], [03e0, 03e0], [03e2, 03e2],
62        [03e4, 03e4], [03e6, 03e6], [03e8, 03e8], [03ea, 03ea],
63        [03ec, 03ec], [03ee, 03ee], [03f0, 03f2], [03f4, 03f5],
64        [03f7, 03f7], [03f9, 03fa], [03fd, 042f], [0460, 0460],
65        [0462, 0462], [0464, 0464], [0466, 0466], [0468, 0468],
66        [046a, 046a], [046c, 046c], [046e, 046e], [0470, 0470],
67        [0472, 0472], [0474, 0474], [0476, 0476], [0478, 0478],
68        [047a, 047a], [047c, 047c], [047e, 047e], [0480, 0480],
69        [048a, 048a], [048c, 048c], [048e, 048e], [0490, 0490],
70        [0492, 0492], [0494, 0494], [0496, 0496], [0498, 0498],
71        [049a, 049a], [049c, 049c], [049e, 049e], [04a0, 04a0],
72        [04a2, 04a2], [04a4, 04a4], [04a6, 04a6], [04a8, 04a8],
73        [04aa, 04aa], [04ac, 04ac], [04ae, 04ae], [04b0, 04b0],
74        [04b2, 04b2], [04b4, 04b4], [04b6, 04b6], [04b8, 04b8],
75        [04ba, 04ba], [04bc, 04bc], [04be, 04be], [04c0, 04c1],
76        [04c3, 04c3], [04c5, 04c5], [04c7, 04c7], [04c9, 04c9],
77        [04cb, 04cb], [04cd, 04cd], [04d0, 04d0], [04d2, 04d2],
78        [04d4, 04d4], [04d6, 04d6], [04d8, 04d8], [04da, 04da],
79        [04dc, 04dc], [04de, 04de], [04e0, 04e0], [04e2, 04e2],
80        [04e4, 04e4], [04e6, 04e6], [04e8, 04e8], [04ea, 04ea],
81        [04ec, 04ec], [04ee, 04ee], [04f0, 04f0], [04f2, 04f2],
82        [04f4, 04f4], [04f6, 04f6], [04f8, 04f8], [04fa, 04fa],
83        [04fc, 04fc], [04fe, 04fe], [0500, 0500], [0502, 0502],
84        [0504, 0504], [0506, 0506], [0508, 0508], [050a, 050a],
85        [050c, 050c], [050e, 050e], [0510, 0510], [0512, 0512],
86        [0514, 0514], [0516, 0516], [0518, 0518], [051a, 051a],
87        [051c, 051c], [051e, 051e], [0520, 0520], [0522, 0522],
88        [0524, 0524], [0526, 0526], [0528, 0528], [052a, 052a],
89        [052c, 052c], [052e, 052e], [0531, 0556], [0587, 0587],
90        [061c, 061c], [0675, 0678], [0958, 095f], [09dc, 09dd],
91        [09df, 09df], [0a33, 0a33], [0a36, 0a36], [0a59, 0a5b],
92        [0a5e, 0a5e], [0b5c, 0b5d], [0e33, 0e33], [0eb3, 0eb3],
93        [0edc, 0edd], [0f0c, 0f0c], [0f43, 0f43], [0f4d, 0f4d],
94        [0f52, 0f52], [0f57, 0f57], [0f5c, 0f5c], [0f69, 0f69],
95        [0f73, 0f73], [0f75, 0f79], [0f81, 0f81], [0f93, 0f93],
96        [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac],
97        [0fb9, 0fb9], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
98        [10fc, 10fc], [115f, 1160], [13f8, 13fd], [17b4, 17b5],
99        [180b, 180e], [1c80, 1c88], [1d2c, 1d2e], [1d30, 1d3a],
100        [1d3c, 1d4d], [1d4f, 1d6a], [1d78, 1d78], [1d9b, 1dbf],
101        [1e00, 1e00], [1e02, 1e02], [1e04, 1e04], [1e06, 1e06],
102        [1e08, 1e08], [1e0a, 1e0a], [1e0c, 1e0c], [1e0e, 1e0e],
103        [1e10, 1e10], [1e12, 1e12], [1e14, 1e14], [1e16, 1e16],
104        [1e18, 1e18], [1e1a, 1e1a], [1e1c, 1e1c], [1e1e, 1e1e],
105        [1e20, 1e20], [1e22, 1e22], [1e24, 1e24], [1e26, 1e26],
106        [1e28, 1e28], [1e2a, 1e2a], [1e2c, 1e2c], [1e2e, 1e2e],
107        [1e30, 1e30], [1e32, 1e32], [1e34, 1e34], [1e36, 1e36],
108        [1e38, 1e38], [1e3a, 1e3a], [1e3c, 1e3c], [1e3e, 1e3e],
109        [1e40, 1e40], [1e42, 1e42], [1e44, 1e44], [1e46, 1e46],
110        [1e48, 1e48], [1e4a, 1e4a], [1e4c, 1e4c], [1e4e, 1e4e],
111        [1e50, 1e50], [1e52, 1e52], [1e54, 1e54], [1e56, 1e56],
112        [1e58, 1e58], [1e5a, 1e5a], [1e5c, 1e5c], [1e5e, 1e5e],
113        [1e60, 1e60], [1e62, 1e62], [1e64, 1e64], [1e66, 1e66],
114        [1e68, 1e68], [1e6a, 1e6a], [1e6c, 1e6c], [1e6e, 1e6e],
115        [1e70, 1e70], [1e72, 1e72], [1e74, 1e74], [1e76, 1e76],
116        [1e78, 1e78], [1e7a, 1e7a], [1e7c, 1e7c], [1e7e, 1e7e],
117        [1e80, 1e80], [1e82, 1e82], [1e84, 1e84], [1e86, 1e86],
118        [1e88, 1e88], [1e8a, 1e8a], [1e8c, 1e8c], [1e8e, 1e8e],
119        [1e90, 1e90], [1e92, 1e92], [1e94, 1e94], [1e9a, 1e9b],
120        [1e9e, 1e9e], [1ea0, 1ea0], [1ea2, 1ea2], [1ea4, 1ea4],
121        [1ea6, 1ea6], [1ea8, 1ea8], [1eaa, 1eaa], [1eac, 1eac],
122        [1eae, 1eae], [1eb0, 1eb0], [1eb2, 1eb2], [1eb4, 1eb4],
123        [1eb6, 1eb6], [1eb8, 1eb8], [1eba, 1eba], [1ebc, 1ebc],
124        [1ebe, 1ebe], [1ec0, 1ec0], [1ec2, 1ec2], [1ec4, 1ec4],
125        [1ec6, 1ec6], [1ec8, 1ec8], [1eca, 1eca], [1ecc, 1ecc],
126        [1ece, 1ece], [1ed0, 1ed0], [1ed2, 1ed2], [1ed4, 1ed4],
127        [1ed6, 1ed6], [1ed8, 1ed8], [1eda, 1eda], [1edc, 1edc],
128        [1ede, 1ede], [1ee0, 1ee0], [1ee2, 1ee2], [1ee4, 1ee4],
129        [1ee6, 1ee6], [1ee8, 1ee8], [1eea, 1eea], [1eec, 1eec],
130        [1eee, 1eee], [1ef0, 1ef0], [1ef2, 1ef2], [1ef4, 1ef4],
131        [1ef6, 1ef6], [1ef8, 1ef8], [1efa, 1efa], [1efc, 1efc],
132        [1efe, 1efe], [1f08, 1f0f], [1f18, 1f1d], [1f28, 1f2f],
133        [1f38, 1f3f], [1f48, 1f4d], [1f59, 1f59], [1f5b, 1f5b],
134        [1f5d, 1f5d], [1f5f, 1f5f], [1f68, 1f6f], [1f71, 1f71],
135        [1f73, 1f73], [1f75, 1f75], [1f77, 1f77], [1f79, 1f79],
136        [1f7b, 1f7b], [1f7d, 1f7d], [1f80, 1faf], [1fb2, 1fb4],
137        [1fb7, 1fc4], [1fc7, 1fcf], [1fd3, 1fd3], [1fd8, 1fdb],
138        [1fdd, 1fdf], [1fe3, 1fe3], [1fe8, 1fef], [1ff2, 1ff4],
139        [1ff7, 1ffe], [2000, 200f], [2011, 2011], [2017, 2017],
140        [2024, 2026], [202a, 202f], [2033, 2034], [2036, 2037],
141        [203c, 203c], [203e, 203e], [2047, 2049], [2057, 2057],
142        [205f, 2071], [2074, 208e], [2090, 209c], [20a8, 20a8],
143        [2100, 2103], [2105, 2107], [2109, 2113], [2115, 2116],
144        [2119, 211d], [2120, 2122], [2124, 2124], [2126, 2126],
145        [2128, 2128], [212a, 212d], [212f, 2139], [213b, 2140],
146        [2145, 2149], [2150, 217f], [2183, 2183], [2189, 2189],
147        [222c, 222d], [222f, 2230], [2329, 232a], [2460, 24ea],
148        [2a0c, 2a0c], [2a74, 2a76], [2adc, 2adc], [2c00, 2c2e],
149        [2c60, 2c60], [2c62, 2c64], [2c67, 2c67], [2c69, 2c69],
150        [2c6b, 2c6b], [2c6d, 2c70], [2c72, 2c72], [2c75, 2c75],
151        [2c7c, 2c80], [2c82, 2c82], [2c84, 2c84], [2c86, 2c86],
152        [2c88, 2c88], [2c8a, 2c8a], [2c8c, 2c8c], [2c8e, 2c8e],
153        [2c90, 2c90], [2c92, 2c92], [2c94, 2c94], [2c96, 2c96],
154        [2c98, 2c98], [2c9a, 2c9a], [2c9c, 2c9c], [2c9e, 2c9e],
155        [2ca0, 2ca0], [2ca2, 2ca2], [2ca4, 2ca4], [2ca6, 2ca6],
156        [2ca8, 2ca8], [2caa, 2caa], [2cac, 2cac], [2cae, 2cae],
157        [2cb0, 2cb0], [2cb2, 2cb2], [2cb4, 2cb4], [2cb6, 2cb6],
158        [2cb8, 2cb8], [2cba, 2cba], [2cbc, 2cbc], [2cbe, 2cbe],
159        [2cc0, 2cc0], [2cc2, 2cc2], [2cc4, 2cc4], [2cc6, 2cc6],
160        [2cc8, 2cc8], [2cca, 2cca], [2ccc, 2ccc], [2cce, 2cce],
161        [2cd0, 2cd0], [2cd2, 2cd2], [2cd4, 2cd4], [2cd6, 2cd6],
162        [2cd8, 2cd8], [2cda, 2cda], [2cdc, 2cdc], [2cde, 2cde],
163        [2ce0, 2ce0], [2ce2, 2ce2], [2ceb, 2ceb], [2ced, 2ced],
164        [2cf2, 2cf2], [2d6f, 2d6f], [2e9f, 2e9f], [2ef3, 2ef3],
165        [2f00, 2fd5], [3000, 3000], [3036, 3036], [3038, 303a],
166        [309b, 309c], [309f, 309f], [30ff, 30ff], [3131, 318e],
167        [3192, 319f], [3200, 321e], [3220, 3247], [3250, 327e],
168        [3280, 32fe], [3300, 33ff], [a640, a640], [a642, a642],
169        [a644, a644], [a646, a646], [a648, a648], [a64a, a64a],
170        [a64c, a64c], [a64e, a64e], [a650, a650], [a652, a652],
171        [a654, a654], [a656, a656], [a658, a658], [a65a, a65a],
172        [a65c, a65c], [a65e, a65e], [a660, a660], [a662, a662],
173        [a664, a664], [a666, a666], [a668, a668], [a66a, a66a],
174        [a66c, a66c], [a680, a680], [a682, a682], [a684, a684],
175        [a686, a686], [a688, a688], [a68a, a68a], [a68c, a68c],
176        [a68e, a68e], [a690, a690], [a692, a692], [a694, a694],
177        [a696, a696], [a698, a698], [a69a, a69a], [a69c, a69d],
178        [a722, a722], [a724, a724], [a726, a726], [a728, a728],
179        [a72a, a72a], [a72c, a72c], [a72e, a72e], [a732, a732],
180        [a734, a734], [a736, a736], [a738, a738], [a73a, a73a],
181        [a73c, a73c], [a73e, a73e], [a740, a740], [a742, a742],
182        [a744, a744], [a746, a746], [a748, a748], [a74a, a74a],
183        [a74c, a74c], [a74e, a74e], [a750, a750], [a752, a752],
184        [a754, a754], [a756, a756], [a758, a758], [a75a, a75a],
185        [a75c, a75c], [a75e, a75e], [a760, a760], [a762, a762],
186        [a764, a764], [a766, a766], [a768, a768], [a76a, a76a],
187        [a76c, a76c], [a76e, a76e], [a770, a770], [a779, a779],
188        [a77b, a77b], [a77d, a77e], [a780, a780], [a782, a782],
189        [a784, a784], [a786, a786], [a78b, a78b], [a78d, a78d],
190        [a790, a790], [a792, a792], [a796, a796], [a798, a798],
191        [a79a, a79a], [a79c, a79c], [a79e, a79e], [a7a0, a7a0],
192        [a7a2, a7a2], [a7a4, a7a4], [a7a6, a7a6], [a7a8, a7a8],
193        [a7aa, a7ae], [a7b0, a7b4], [a7b6, a7b6], [a7f8, a7f9],
194        [ab5c, ab5f], [ab70, abbf], [f900, fa0d], [fa10, fa10],
195        [fa12, fa12], [fa15, fa1e], [fa20, fa20], [fa22, fa22],
196        [fa25, fa26], [fa2a, fa6d], [fa70, fad9], [fb00, fb06],
197        [fb13, fb17], [fb1d, fb1d], [fb1f, fb36], [fb38, fb3c],
198        [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fbb1],
199        [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfc],
200        [fe00, fe19], [fe30, fe44], [fe47, fe52], [fe54, fe66],
201        [fe68, fe6b], [fe70, fe72], [fe74, fe74], [fe76, fefc],
202        [feff, feff], [ff01, ffbe], [ffc2, ffc7], [ffca, ffcf],
203        [ffd2, ffd7], [ffda, ffdc], [ffe0, ffe6], [ffe8, ffee],
204        [fff0, fff8], [10400, 10427], [104b0, 104d3], [10c80, 10cb2],
205        [118a0, 118bf], [1bca0, 1bca3], [1d15e, 1d164], [1d173, 1d17a],
206        [1d1bb, 1d1c0], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
207        [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
208        [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
209        [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
210        [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
211        [1d6a8, 1d7cb], [1d7ce, 1d7ff], [1e900, 1e921], [1ee00, 1ee03],
212        [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27],
213        [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b],
214        [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b],
215        [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57],
216        [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f],
217        [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72],
218        [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89],
219        [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb],
220        [1f100, 1f10a], [1f110, 1f12e], [1f130, 1f14f], [1f16a, 1f16b],
221        [1f190, 1f190], [1f200, 1f202], [1f210, 1f23b], [1f240, 1f248],
222        [1f250, 1f251], [2f800, 2fa1d], [e0000, e0fff]**/
223        const UnicodeSet codepoint_set
224            {{{Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
225              {Mixed, 11}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 6},
226              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 8}, {Empty, 1},
227              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
228              {Empty, 22}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
229              {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 22}, {Mixed, 1},
230              {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
231              {Mixed, 4}, {Empty, 7}, {Full, 1}, {Mixed, 2}, {Empty, 2},
232              {Mixed, 2}, {Empty, 19}, {Mixed, 1}, {Empty, 29}, {Mixed, 1},
233              {Empty, 2}, {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 4},
234              {Mixed, 4}, {Full, 1}, {Empty, 2}, {Mixed, 12}, {Full, 1},
235              {Mixed, 9}, {Empty, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
236              {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 9},
237              {Full, 4}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2},
238              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 9}, {Full, 1},
239              {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 3}, {Mixed, 1},
240              {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 6},
241              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
242              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2},
243              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
244              {Full, 3}, {Mixed, 1}, {Full, 8}, {Empty, 914}, {Mixed, 3},
245              {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 26},
246              {Mixed, 2}, {Full, 2}, {Empty, 618}, {Full, 8}, {Mixed, 2},
247              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
248              {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
249              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6}, {Full, 3},
250              {Mixed, 2}, {Full, 4}, {Mixed, 3}, {Empty, 32}, {Full, 1},
251              {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 61}, {Full, 1},
252              {Mixed, 1}, {Empty, 95}, {Full, 1}, {Empty, 1311}, {Mixed, 1},
253              {Empty, 164}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 17},
254              {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
255              {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
256              {Full, 1}, {Empty, 136}, {Full, 1}, {Mixed, 1}, {Empty, 38},
257              {Mixed, 6}, {Empty, 18}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
258              {Empty, 2093}, {Full, 16}, {Mixed, 1}, {Empty, 22575},
259              {Full, 128}, {Empty, 6016}},
260             {0x07fffffe, 0x773ca501, 0xff7fffff, 0x55555555, 0xaa5d5555,
261              0x555556ab, 0xab555555, 0xb1dbced6, 0x11aed2d5, 0x4aaabff0,
262              0x55de5555, 0x55555555, 0x6c055555, 0x0000557a, 0x01ff0000,
263              0x3f000000, 0x0000001f, 0x0000803b, 0xc4550000, 0xfffed7f0,
264              0x00000ffb, 0x557f8004, 0xe6b75555, 0x0000ffff, 0x55555555,
265              0x55555401, 0x55555555, 0x55552aab, 0x55555555, 0x55555555,
266              0xfffe5555, 0x007fffff, 0x00000080, 0x10000000, 0x01e00000,
267              0xff000000, 0xb0000000, 0x00480000, 0x4e000000, 0x30000000,
268              0x00080000, 0x00080000, 0x30000000, 0x00001000, 0x10842008,
269              0x03e80200, 0x20080002, 0x02001084, 0x000020bf, 0x10000000,
270              0x80000000, 0x00000001, 0x3f000000, 0x00300000, 0x00007800,
271              0x000001ff, 0xf7ff7000, 0xffffbfff, 0x010007ff, 0xf8000000,
272              0x55555555, 0x55555555, 0x55555555, 0x55555555, 0x4c155555,
273              0x55555555, 0x55555555, 0x55555555, 0x3f00ff00, 0xff00ff00,
274              0xaa003f00, 0x2aaaff00, 0xff9cffff, 0xef08ff9f, 0x7f9cff08,
275              0x0082ffff, 0x50d8fc70, 0x80800380, 0xfff3ffff, 0x1fff7fff,
276              0x00000100, 0x3e6ffeef, 0xfbffbd57, 0xffff03e1, 0x00000208,
277              0x0001b000, 0x00000600, 0x000007ff, 0x00001000, 0x00700000,
278              0x10000000, 0x00007fff, 0xf025ea9d, 0x55555555, 0x55555555,
279              0x55555555, 0x00042805, 0x00008000, 0x80000000, 0x00080000,
280              0x003fffff, 0x00000001, 0x07400000, 0x98000000, 0x80000000,
281              0xfffe0000, 0xfffc7fff, 0x7fffffff, 0xffff00ff, 0x7fffffff,
282              0x7fffffff, 0x55555555, 0x00001555, 0x35555555, 0x55545554,
283              0x55555555, 0x6a015555, 0x55452855, 0x005f7d55, 0x03000000,
284              0xf0000000, 0xffff0000, 0x7fe53fff, 0xfffffc65, 0xffff3fff,
285              0x03ffffff, 0xa0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff,
286              0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
287              0x1fff0000, 0x03ffffff, 0xffff0000, 0xfff7ff9f, 0xffd70f7f,
288              0x9fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x01ff7f7f,
289              0x000000ff, 0xffff0000, 0x000fffff, 0x0007ffff, 0x0000000f,
290              0xc0000000, 0x07f8001f, 0xf8000000, 0x00000001, 0xffdfffff,
291              0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
292              0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0x00000003, 0xffffffef,
293              0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
294              0xffff07ff, 0xffff7fff, 0x0000ffff, 0x00000c00, 0x00010000,
295              0xffff0007, 0x0fffffff, 0x000301ff, 0x3fffffff}};
296        static BinaryPropertyObject property_object{CWKCF, codepoint_set};
297    }
298    namespace COMP_EX_ns {
299        /** Code Point Ranges for Comp_Ex
300        [0340, 0341], [0343, 0344], [0374, 0374], [037e, 037e],
301        [0387, 0387], [0958, 095f], [09dc, 09dd], [09df, 09df],
302        [0a33, 0a33], [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e],
303        [0b5c, 0b5d], [0f43, 0f43], [0f4d, 0f4d], [0f52, 0f52],
304        [0f57, 0f57], [0f5c, 0f5c], [0f69, 0f69], [0f73, 0f73],
305        [0f75, 0f76], [0f78, 0f78], [0f81, 0f81], [0f93, 0f93],
306        [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac],
307        [0fb9, 0fb9], [1f71, 1f71], [1f73, 1f73], [1f75, 1f75],
308        [1f77, 1f77], [1f79, 1f79], [1f7b, 1f7b], [1f7d, 1f7d],
309        [1fbb, 1fbb], [1fbe, 1fbe], [1fc9, 1fc9], [1fcb, 1fcb],
310        [1fd3, 1fd3], [1fdb, 1fdb], [1fe3, 1fe3], [1feb, 1feb],
311        [1fee, 1fef], [1ff9, 1ff9], [1ffb, 1ffb], [1ffd, 1ffd],
312        [2000, 2001], [2126, 2126], [212a, 212b], [2329, 232a],
313        [2adc, 2adc], [f900, fa0d], [fa10, fa10], [fa12, fa12],
314        [fa15, fa1e], [fa20, fa20], [fa22, fa22], [fa25, fa26],
315        [fa2a, fa6d], [fa70, fad9], [fb1d, fb1d], [fb1f, fb1f],
316        [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
317        [fb43, fb44], [fb46, fb4e], [1d15e, 1d164], [1d1bb, 1d1c0],
318        [2f800, 2fa1d]**/
319        const UnicodeSet codepoint_set
320            {{{Empty, 26}, {Mixed, 3}, {Empty, 45}, {Mixed, 1}, {Empty, 3},
321              {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
322              {Empty, 31}, {Mixed, 4}, {Empty, 125}, {Mixed, 1}, {Empty, 1},
323              {Mixed, 4}, {Empty, 8}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
324              {Empty, 60}, {Mixed, 1}, {Empty, 1649}, {Full, 8}, {Mixed, 2},
325              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
326              {Mixed, 3}, {Empty, 1711}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
327              {Empty, 2353}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
328             {0x0000001b, 0x40100000, 0x00000080, 0xff000000, 0xb0000000,
329              0x00480000, 0x4e000000, 0x30000000, 0x10842008, 0x01680200,
330              0x20080002, 0x02001084, 0x2aaa0000, 0x48000000, 0x08080a00,
331              0x2a00c808, 0x00000003, 0x00000c40, 0x00000600, 0x10000000,
332              0x7fe53fff, 0xfffffc65, 0xffff3fff, 0x03ffffff, 0xa0000000,
333              0x5f7ffc00, 0x00007fdb, 0xc0000000, 0x0000001f, 0xf8000000,
334              0x00000001, 0x3fffffff}};
335        static BinaryPropertyObject property_object{Comp_Ex, codepoint_set};
336    }
337  namespace NFC_QC_ns {
338    const unsigned independent_prop_values = 3;
339    /** Code Point Ranges for Y
340    [0000, 02ff], [0305, 0305], [030d, 030e], [0310, 0310], [0312, 0312],
341    [0315, 031a], [031c, 0322], [0329, 032c], [032f, 032f], [0332, 0337],
342    [0339, 033f], [0346, 0373], [0375, 037d], [037f, 0386], [0388, 0652],
343    [0656, 093b], [093d, 0957], [0960, 09bd], [09bf, 09d6], [09d8, 09db],
344    [09de, 09de], [09e0, 0a32], [0a34, 0a35], [0a37, 0a58], [0a5c, 0a5d],
345    [0a5f, 0b3d], [0b3f, 0b55], [0b58, 0b5b], [0b5e, 0bbd], [0bbf, 0bd6],
346    [0bd8, 0c55], [0c57, 0cc1], [0cc3, 0cd4], [0cd7, 0d3d], [0d3f, 0d56],
347    [0d58, 0dc9], [0dcb, 0dce], [0dd0, 0dde], [0de0, 0f42], [0f44, 0f4c],
348    [0f4e, 0f51], [0f53, 0f56], [0f58, 0f5b], [0f5d, 0f68], [0f6a, 0f72],
349    [0f74, 0f74], [0f77, 0f77], [0f79, 0f80], [0f82, 0f92], [0f94, 0f9c],
350    [0f9e, 0fa1], [0fa3, 0fa6], [0fa8, 0fab], [0fad, 0fb8], [0fba, 102d],
351    [102f, 1160], [1176, 11a7], [11c3, 1b34], [1b36, 1f70], [1f72, 1f72],
352    [1f74, 1f74], [1f76, 1f76], [1f78, 1f78], [1f7a, 1f7a], [1f7c, 1f7c],
353    [1f7e, 1fba], [1fbc, 1fbd], [1fbf, 1fc8], [1fca, 1fca], [1fcc, 1fd2],
354    [1fd4, 1fda], [1fdc, 1fe2], [1fe4, 1fea], [1fec, 1fed], [1ff0, 1ff8],
355    [1ffa, 1ffa], [1ffc, 1ffc], [1ffe, 1fff], [2002, 2125], [2127, 2129],
356    [212c, 2328], [232b, 2adb], [2add, 3098], [309b, f8ff], [fa0e, fa0f],
357    [fa11, fa11], [fa13, fa14], [fa1f, fa1f], [fa21, fa21], [fa23, fa24],
358    [fa27, fa29], [fa6e, fa6f], [fada, fb1c], [fb1e, fb1e], [fb20, fb29],
359    [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42], [fb45, fb45],
360    [fb4f, 110b9], [110bb, 11126], [11128, 1133d], [1133f, 11356],
361    [11358, 114af], [114b1, 114b9], [114bb, 114bc], [114be, 115ae],
362    [115b0, 1d15d], [1d165, 1d1ba], [1d1c1, 2f7ff], [2fa1e, 10ffff]**/
363    const UnicodeSet y_Set
364        {{{Full, 24}, {Mixed, 5}, {Full, 21}, {Mixed, 1}, {Full, 22},
365          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
366          {Full, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 3},
367          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
368          {Full, 3}, {Mixed, 1}, {Full, 11}, {Mixed, 4}, {Full, 3},
369          {Mixed, 1}, {Full, 9}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
370          {Full, 74}, {Mixed, 1}, {Full, 33}, {Mixed, 1}, {Full, 1},
371          {Mixed, 4}, {Full, 8}, {Mixed, 1}, {Full, 15}, {Mixed, 1},
372          {Full, 60}, {Mixed, 1}, {Full, 45}, {Mixed, 1}, {Full, 1603},
373          {Empty, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
374          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 170}, {Mixed, 1},
375          {Full, 3}, {Mixed, 1}, {Full, 15}, {Mixed, 2}, {Full, 10},
376          {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Full, 1500}, {Mixed, 2},
377          {Full, 1}, {Mixed, 2}, {Full, 2353}, {Empty, 16}, {Mixed, 1},
378          {Full, 28719}},
379         {0xf7e56020, 0xfefc9e07, 0xffffffc0, 0xbfefffff, 0xffffff7f,
380          0xffc7ffff, 0xefffffff, 0x00ffffff, 0xbfffffff, 0x4f7fffff,
381          0xffb7ffff, 0xb1ffffff, 0xbfffffff, 0xcf3fffff, 0xbfffffff,
382          0xff7fffff, 0xffbfffff, 0xff9ffffb, 0xbfffffff, 0xff7fffff,
383          0x7fff7bff, 0xef7bdff7, 0xfe97fdff, 0xdff7fffd, 0xfdffef7b,
384          0xffffbfff, 0xffc00001, 0x000000ff, 0xfffffff8, 0xffdfffff,
385          0xd555ffff, 0xb7ffffff, 0xf7f7f5ff, 0xd5ff37f7, 0xfffffffc,
386          0xfffff3bf, 0xfffff9ff, 0xefffffff, 0xf9ffffff, 0x801ac000,
387          0x0000039a, 0x0000c000, 0xfc000000, 0x5fffffff, 0xa08003ff,
388          0xffff8024, 0xfbffffff, 0xffffff7f, 0xbfffffff, 0xff7fffff,
389          0xdbfeffff, 0xffff7fff, 0x3fffffff, 0xffffffe0, 0x07ffffff,
390          0xfffffffe, 0xc0000000}};
391    /** Code Point Ranges for N
392    [0340, 0341], [0343, 0344], [0374, 0374], [037e, 037e], [0387, 0387],
393    [0958, 095f], [09dc, 09dd], [09df, 09df], [0a33, 0a33], [0a36, 0a36],
394    [0a59, 0a5b], [0a5e, 0a5e], [0b5c, 0b5d], [0f43, 0f43], [0f4d, 0f4d],
395    [0f52, 0f52], [0f57, 0f57], [0f5c, 0f5c], [0f69, 0f69], [0f73, 0f73],
396    [0f75, 0f76], [0f78, 0f78], [0f81, 0f81], [0f93, 0f93], [0f9d, 0f9d],
397    [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac], [0fb9, 0fb9], [1f71, 1f71],
398    [1f73, 1f73], [1f75, 1f75], [1f77, 1f77], [1f79, 1f79], [1f7b, 1f7b],
399    [1f7d, 1f7d], [1fbb, 1fbb], [1fbe, 1fbe], [1fc9, 1fc9], [1fcb, 1fcb],
400    [1fd3, 1fd3], [1fdb, 1fdb], [1fe3, 1fe3], [1feb, 1feb], [1fee, 1fef],
401    [1ff9, 1ff9], [1ffb, 1ffb], [1ffd, 1ffd], [2000, 2001], [2126, 2126],
402    [212a, 212b], [2329, 232a], [2adc, 2adc], [f900, fa0d], [fa10, fa10],
403    [fa12, fa12], [fa15, fa1e], [fa20, fa20], [fa22, fa22], [fa25, fa26],
404    [fa2a, fa6d], [fa70, fad9], [fb1d, fb1d], [fb1f, fb1f], [fb2a, fb36],
405    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4e],
406    [1d15e, 1d164], [1d1bb, 1d1c0], [2f800, 2fa1d]**/
407    const UnicodeSet n_Set
408        {{{Empty, 26}, {Mixed, 3}, {Empty, 45}, {Mixed, 1}, {Empty, 3},
409          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
410          {Empty, 31}, {Mixed, 4}, {Empty, 125}, {Mixed, 1}, {Empty, 1},
411          {Mixed, 4}, {Empty, 8}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
412          {Empty, 60}, {Mixed, 1}, {Empty, 1649}, {Full, 8}, {Mixed, 2},
413          {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
414          {Mixed, 3}, {Empty, 1711}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
415          {Empty, 2353}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
416         {0x0000001b, 0x40100000, 0x00000080, 0xff000000, 0xb0000000,
417          0x00480000, 0x4e000000, 0x30000000, 0x10842008, 0x01680200,
418          0x20080002, 0x02001084, 0x2aaa0000, 0x48000000, 0x08080a00,
419          0x2a00c808, 0x00000003, 0x00000c40, 0x00000600, 0x10000000,
420          0x7fe53fff, 0xfffffc65, 0xffff3fff, 0x03ffffff, 0xa0000000,
421          0x5f7ffc00, 0x00007fdb, 0xc0000000, 0x0000001f, 0xf8000000,
422          0x00000001, 0x3fffffff}};
423    /** Code Point Ranges for M
424    [0300, 0304], [0306, 030c], [030f, 030f], [0311, 0311], [0313, 0314],
425    [031b, 031b], [0323, 0328], [032d, 032e], [0330, 0331], [0338, 0338],
426    [0342, 0342], [0345, 0345], [0653, 0655], [093c, 093c], [09be, 09be],
427    [09d7, 09d7], [0b3e, 0b3e], [0b56, 0b57], [0bbe, 0bbe], [0bd7, 0bd7],
428    [0c56, 0c56], [0cc2, 0cc2], [0cd5, 0cd6], [0d3e, 0d3e], [0d57, 0d57],
429    [0dca, 0dca], [0dcf, 0dcf], [0ddf, 0ddf], [102e, 102e], [1161, 1175],
430    [11a8, 11c2], [1b35, 1b35], [3099, 309a], [110ba, 110ba],
431    [11127, 11127], [1133e, 1133e], [11357, 11357], [114b0, 114b0],
432    [114ba, 114ba], [114bd, 114bd], [115af, 115af]**/
433    const UnicodeSet m_Set
434        {{{Empty, 24}, {Mixed, 3}, {Empty, 23}, {Mixed, 1}, {Empty, 22},
435          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 10}, {Mixed, 2},
436          {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
437          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
438          {Empty, 18}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1},
439          {Mixed, 2}, {Empty, 74}, {Mixed, 1}, {Empty, 170}, {Mixed, 1},
440          {Empty, 1792}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 15},
441          {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
442          {Empty, 32594}},
443         {0x081a9fdf, 0x010361f8, 0x00000024, 0x00380000, 0x10000000,
444          0x40000000, 0x00800000, 0x40000000, 0x00c00000, 0x40000000,
445          0x00800000, 0x00400000, 0x00600004, 0x40000000, 0x00800000,
446          0x80008400, 0x00004000, 0x003ffffe, 0xffffff00, 0x00000007,
447          0x00200000, 0x06000000, 0x04000000, 0x00000080, 0x40000000,
448          0x00800000, 0x24010000, 0x00008000}};
449    static EnumeratedPropertyObject property_object
450        {NFC_QC,
451         NFC_QC_ns::independent_prop_values,
452         NFC_QC_ns::enum_names,
453         NFC_QC_ns::value_names,
454         NFC_QC_ns::aliases_only_map,
455         {&y_Set, &n_Set, &m_Set
456         }};
457    }
458  namespace NFD_QC_ns {
459    const unsigned independent_prop_values = 2;
460    /** Code Point Ranges for Y
461    [0000, 00bf], [00c6, 00c6], [00d0, 00d0], [00d7, 00d8], [00de, 00df],
462    [00e6, 00e6], [00f0, 00f0], [00f7, 00f8], [00fe, 00fe], [0110, 0111],
463    [0126, 0127], [0131, 0133], [0138, 0138], [013f, 0142], [0149, 014b],
464    [0152, 0153], [0166, 0167], [017f, 019f], [01a2, 01ae], [01b1, 01cc],
465    [01dd, 01dd], [01e4, 01e5], [01f1, 01f3], [01f6, 01f7], [021c, 021d],
466    [0220, 0225], [0234, 033f], [0342, 0342], [0345, 0373], [0375, 037d],
467    [037f, 0384], [038b, 038b], [038d, 038d], [0391, 03a9], [03b1, 03c9],
468    [03cf, 03d2], [03d5, 03ff], [0402, 0402], [0404, 0406], [0408, 040b],
469    [040f, 0418], [041a, 0438], [043a, 044f], [0452, 0452], [0454, 0456],
470    [0458, 045b], [045f, 0475], [0478, 04c0], [04c3, 04cf], [04d4, 04d5],
471    [04d8, 04d9], [04e0, 04e1], [04e8, 04e9], [04f6, 04f7], [04fa, 0621],
472    [0627, 06bf], [06c1, 06c1], [06c3, 06d2], [06d4, 0928], [092a, 0930],
473    [0932, 0933], [0935, 0957], [0960, 09ca], [09cd, 09db], [09de, 09de],
474    [09e0, 0a32], [0a34, 0a35], [0a37, 0a58], [0a5c, 0a5d], [0a5f, 0b47],
475    [0b49, 0b4a], [0b4d, 0b5b], [0b5e, 0b93], [0b95, 0bc9], [0bcd, 0c47],
476    [0c49, 0cbf], [0cc1, 0cc6], [0cc9, 0cc9], [0ccc, 0d49], [0d4d, 0dd9],
477    [0ddb, 0ddb], [0ddf, 0f42], [0f44, 0f4c], [0f4e, 0f51], [0f53, 0f56],
478    [0f58, 0f5b], [0f5d, 0f68], [0f6a, 0f72], [0f74, 0f74], [0f77, 0f77],
479    [0f79, 0f80], [0f82, 0f92], [0f94, 0f9c], [0f9e, 0fa1], [0fa3, 0fa6],
480    [0fa8, 0fab], [0fad, 0fb8], [0fba, 1025], [1027, 1b05], [1b07, 1b07],
481    [1b09, 1b09], [1b0b, 1b0b], [1b0d, 1b0d], [1b0f, 1b11], [1b13, 1b3a],
482    [1b3c, 1b3c], [1b3e, 1b3f], [1b42, 1b42], [1b44, 1dff], [1e9a, 1e9a],
483    [1e9c, 1e9f], [1efa, 1eff], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47],
484    [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e],
485    [1f7e, 1f7f], [1fb5, 1fb5], [1fbd, 1fbd], [1fbf, 1fc0], [1fc5, 1fc5],
486    [1fd4, 1fd5], [1fdc, 1fdc], [1ff0, 1ff1], [1ff5, 1ff5], [1ffe, 1fff],
487    [2002, 2125], [2127, 2129], [212c, 2199], [219c, 21ad], [21af, 21cc],
488    [21d0, 2203], [2205, 2208], [220a, 220b], [220d, 2223], [2225, 2225],
489    [2227, 2240], [2242, 2243], [2245, 2246], [2248, 2248], [224a, 225f],
490    [2261, 2261], [2263, 226c], [2272, 2273], [2276, 2277], [227a, 227f],
491    [2282, 2283], [2286, 2287], [228a, 22ab], [22b0, 22df], [22e4, 22e9],
492    [22ee, 2328], [232b, 2adb], [2add, 304b], [304d, 304d], [304f, 304f],
493    [3051, 3051], [3053, 3053], [3055, 3055], [3057, 3057], [3059, 3059],
494    [305b, 305b], [305d, 305d], [305f, 305f], [3061, 3061], [3063, 3064],
495    [3066, 3066], [3068, 3068], [306a, 306f], [3072, 3072], [3075, 3075],
496    [3078, 3078], [307b, 307b], [307e, 3093], [3095, 309d], [309f, 30ab],
497    [30ad, 30ad], [30af, 30af], [30b1, 30b1], [30b3, 30b3], [30b5, 30b5],
498    [30b7, 30b7], [30b9, 30b9], [30bb, 30bb], [30bd, 30bd], [30bf, 30bf],
499    [30c1, 30c1], [30c3, 30c4], [30c6, 30c6], [30c8, 30c8], [30ca, 30cf],
500    [30d2, 30d2], [30d5, 30d5], [30d8, 30d8], [30db, 30db], [30de, 30f3],
501    [30f5, 30f6], [30fb, 30fd], [30ff, abff], [d7a4, f8ff], [fa0e, fa0f],
502    [fa11, fa11], [fa13, fa14], [fa1f, fa1f], [fa21, fa21], [fa23, fa24],
503    [fa27, fa29], [fa6e, fa6f], [fada, fb1c], [fb1e, fb1e], [fb20, fb29],
504    [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42], [fb45, fb45],
505    [fb4f, 11099], [1109b, 1109b], [1109d, 110aa], [110ac, 1112d],
506    [11130, 1134a], [1134d, 114ba], [114bd, 114bd], [114bf, 115b9],
507    [115bc, 1d15d], [1d165, 1d1ba], [1d1c1, 2f7ff], [2fa1e, 10ffff]**/
508    const UnicodeSet y_Set
509        {{{Full, 6}, {Mixed, 6}, {Full, 1}, {Mixed, 5}, {Full, 8},
510          {Mixed, 5}, {Full, 1}, {Mixed, 4}, {Full, 2}, {Mixed, 2},
511          {Full, 9}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 18},
512          {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
513          {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
514          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
515          {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 11},
516          {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 86}, {Mixed, 3},
517          {Full, 21}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
518          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Full, 8},
519          {Mixed, 1}, {Full, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 6},
520          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 60},
521          {Mixed, 1}, {Full, 43}, {Mixed, 6}, {Full, 984}, {Empty, 349},
522          {Mixed, 1}, {Full, 266}, {Empty, 8}, {Mixed, 2}, {Empty, 1},
523          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
524          {Full, 169}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 16},
525          {Mixed, 1}, {Full, 10}, {Mixed, 1}, {Full, 7}, {Mixed, 1},
526          {Full, 1500}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 2353},
527          {Empty, 16}, {Mixed, 1}, {Full, 28719}},
528         {0xc1810040, 0x41810040, 0x00030000, 0x810e00c0, 0x000c0e07,
529          0x800000c0, 0xfffe7ffc, 0x20001fff, 0x00ce0030, 0x30000000,
530          0xfff0003f, 0xffffffe4, 0xbfefffff, 0xfffe281f, 0xfffe03ff,
531          0xffe783ff, 0xfdff8f74, 0xfdffffff, 0x8f74ffff, 0xff3fffff,
532          0x0330fff9, 0xfcc00303, 0xffffff83, 0xfff7fffa, 0xffedfdff,
533          0x00ffffff, 0x4fffe7ff, 0xffb7ffff, 0xb1ffffff, 0xcfffe6ff,
534          0xffefffff, 0xffffe3ff, 0xfffffeff, 0xfffff27e, 0xffffe3ff,
535          0x8bffffff, 0xef7bdff7, 0xfe97fdff, 0xdff7fffd, 0xfdffef7b,
536          0xffffffbf, 0xfffbaabf, 0xd7ffffff, 0xfffffff4, 0xf4000000,
537          0xfc000000, 0xc0c00000, 0x5500c0c0, 0xc0000000, 0xa0200000,
538          0x10300021, 0xc0230000, 0xfffffffc, 0xfffff3bf, 0xf3ffffff,
539          0xffffbfff, 0xffff1fff, 0xffffedef, 0xffffffaf, 0xfffffd6d,
540          0xfccc1ffa, 0xfffffccc, 0xffff0fff, 0xffffc3f0, 0xfffff9ff,
541          0xefffffff, 0xaaaaafff, 0xc924fd5a, 0xbfefffff, 0xaaaaafff,
542          0xc924fd5a, 0xb86fffff, 0xfffffff0, 0x801ac000, 0x0000039a,
543          0x0000c000, 0xfc000000, 0x5fffffff, 0xa08003ff, 0xffff8024,
544          0xebffffff, 0xfffff7ff, 0xffff3fff, 0xffffe7ff, 0xa7ffffff,
545          0xf3ffffff, 0x3fffffff, 0xffffffe0, 0x07ffffff, 0xfffffffe,
546          0xc0000000}};
547    /** Code Point Ranges for N
548    [00c0, 00c5], [00c7, 00cf], [00d1, 00d6], [00d9, 00dd], [00e0, 00e5],
549    [00e7, 00ef], [00f1, 00f6], [00f9, 00fd], [00ff, 010f], [0112, 0125],
550    [0128, 0130], [0134, 0137], [0139, 013e], [0143, 0148], [014c, 0151],
551    [0154, 0165], [0168, 017e], [01a0, 01a1], [01af, 01b0], [01cd, 01dc],
552    [01de, 01e3], [01e6, 01f0], [01f4, 01f5], [01f8, 021b], [021e, 021f],
553    [0226, 0233], [0340, 0341], [0343, 0344], [0374, 0374], [037e, 037e],
554    [0385, 038a], [038c, 038c], [038e, 0390], [03aa, 03b0], [03ca, 03ce],
555    [03d3, 03d4], [0400, 0401], [0403, 0403], [0407, 0407], [040c, 040e],
556    [0419, 0419], [0439, 0439], [0450, 0451], [0453, 0453], [0457, 0457],
557    [045c, 045e], [0476, 0477], [04c1, 04c2], [04d0, 04d3], [04d6, 04d7],
558    [04da, 04df], [04e2, 04e7], [04ea, 04f5], [04f8, 04f9], [0622, 0626],
559    [06c0, 06c0], [06c2, 06c2], [06d3, 06d3], [0929, 0929], [0931, 0931],
560    [0934, 0934], [0958, 095f], [09cb, 09cc], [09dc, 09dd], [09df, 09df],
561    [0a33, 0a33], [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e], [0b48, 0b48],
562    [0b4b, 0b4c], [0b5c, 0b5d], [0b94, 0b94], [0bca, 0bcc], [0c48, 0c48],
563    [0cc0, 0cc0], [0cc7, 0cc8], [0cca, 0ccb], [0d4a, 0d4c], [0dda, 0dda],
564    [0ddc, 0dde], [0f43, 0f43], [0f4d, 0f4d], [0f52, 0f52], [0f57, 0f57],
565    [0f5c, 0f5c], [0f69, 0f69], [0f73, 0f73], [0f75, 0f76], [0f78, 0f78],
566    [0f81, 0f81], [0f93, 0f93], [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7],
567    [0fac, 0fac], [0fb9, 0fb9], [1026, 1026], [1b06, 1b06], [1b08, 1b08],
568    [1b0a, 1b0a], [1b0c, 1b0c], [1b0e, 1b0e], [1b12, 1b12], [1b3b, 1b3b],
569    [1b3d, 1b3d], [1b40, 1b41], [1b43, 1b43], [1e00, 1e99], [1e9b, 1e9b],
570    [1ea0, 1ef9], [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d],
571    [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d],
572    [1f80, 1fb4], [1fb6, 1fbc], [1fbe, 1fbe], [1fc1, 1fc4], [1fc6, 1fd3],
573    [1fd6, 1fdb], [1fdd, 1fef], [1ff2, 1ff4], [1ff6, 1ffd], [2000, 2001],
574    [2126, 2126], [212a, 212b], [219a, 219b], [21ae, 21ae], [21cd, 21cf],
575    [2204, 2204], [2209, 2209], [220c, 220c], [2224, 2224], [2226, 2226],
576    [2241, 2241], [2244, 2244], [2247, 2247], [2249, 2249], [2260, 2260],
577    [2262, 2262], [226d, 2271], [2274, 2275], [2278, 2279], [2280, 2281],
578    [2284, 2285], [2288, 2289], [22ac, 22af], [22e0, 22e3], [22ea, 22ed],
579    [2329, 232a], [2adc, 2adc], [304c, 304c], [304e, 304e], [3050, 3050],
580    [3052, 3052], [3054, 3054], [3056, 3056], [3058, 3058], [305a, 305a],
581    [305c, 305c], [305e, 305e], [3060, 3060], [3062, 3062], [3065, 3065],
582    [3067, 3067], [3069, 3069], [3070, 3071], [3073, 3074], [3076, 3077],
583    [3079, 307a], [307c, 307d], [3094, 3094], [309e, 309e], [30ac, 30ac],
584    [30ae, 30ae], [30b0, 30b0], [30b2, 30b2], [30b4, 30b4], [30b6, 30b6],
585    [30b8, 30b8], [30ba, 30ba], [30bc, 30bc], [30be, 30be], [30c0, 30c0],
586    [30c2, 30c2], [30c5, 30c5], [30c7, 30c7], [30c9, 30c9], [30d0, 30d1],
587    [30d3, 30d4], [30d6, 30d7], [30d9, 30da], [30dc, 30dd], [30f4, 30f4],
588    [30f7, 30fa], [30fe, 30fe], [ac00, d7a3], [f900, fa0d], [fa10, fa10],
589    [fa12, fa12], [fa15, fa1e], [fa20, fa20], [fa22, fa22], [fa25, fa26],
590    [fa2a, fa6d], [fa70, fad9], [fb1d, fb1d], [fb1f, fb1f], [fb2a, fb36],
591    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4e],
592    [1109a, 1109a], [1109c, 1109c], [110ab, 110ab], [1112e, 1112f],
593    [1134b, 1134c], [114bb, 114bc], [114be, 114be], [115ba, 115bb],
594    [1d15e, 1d164], [1d1bb, 1d1c0], [2f800, 2fa1d]**/
595    const UnicodeSet n_Set
596        {{{Empty, 6}, {Mixed, 6}, {Empty, 1}, {Mixed, 5}, {Empty, 8},
597          {Mixed, 5}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 2},
598          {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
599          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
600          {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
601          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
602          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
603          {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 86}, {Mixed, 3},
604          {Empty, 21}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
605          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 8},
606          {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 6},
607          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 60},
608          {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 984}, {Full, 349},
609          {Mixed, 1}, {Empty, 266}, {Full, 8}, {Mixed, 2}, {Full, 1},
610          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
611          {Empty, 169}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
612          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
613          {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 2353},
614          {Full, 16}, {Mixed, 1}, {Empty, 28719}},
615         {0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0x7ef1ff3f, 0xfff3f1f8,
616          0x7fffff3f, 0x00018003, 0xdfffe000, 0xff31ffcf, 0xcfffffff,
617          0x000fffc0, 0x0000001b, 0x40100000, 0x0001d7e0, 0x0001fc00,
618          0x00187c00, 0x0200708b, 0x02000000, 0x708b0000, 0x00c00000,
619          0xfccf0006, 0x033ffcfc, 0x0000007c, 0x00080005, 0x00120200,
620          0xff000000, 0xb0001800, 0x00480000, 0x4e000000, 0x30001900,
621          0x00100000, 0x00001c00, 0x00000100, 0x00000d81, 0x00001c00,
622          0x74000000, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
623          0x00000040, 0x00045540, 0x28000000, 0x0000000b, 0x0bffffff,
624          0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff,
625          0xefcfffde, 0x3fdcffff, 0x00000003, 0x00000c40, 0x0c000000,
626          0x00004000, 0x0000e000, 0x00001210, 0x00000050, 0x00000292,
627          0x0333e005, 0x00000333, 0x0000f000, 0x00003c0f, 0x00000600,
628          0x10000000, 0x55555000, 0x36db02a5, 0x40100000, 0x55555000,
629          0x36db02a5, 0x47900000, 0x0000000f, 0x7fe53fff, 0xfffffc65,
630          0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffc00, 0x00007fdb,
631          0x14000000, 0x00000800, 0x0000c000, 0x00001800, 0x58000000,
632          0x0c000000, 0xc0000000, 0x0000001f, 0xf8000000, 0x00000001,
633          0x3fffffff}};
634    static EnumeratedPropertyObject property_object
635        {NFD_QC,
636         NFD_QC_ns::independent_prop_values,
637         NFD_QC_ns::enum_names,
638         NFD_QC_ns::value_names,
639         NFD_QC_ns::aliases_only_map,
640         {&y_Set, &n_Set
641         }};
642    }
643  namespace NFKC_QC_ns {
644    const unsigned independent_prop_values = 3;
645    /** Code Point Ranges for Y
646    [0000, 009f], [00a1, 00a7], [00a9, 00a9], [00ab, 00ae], [00b0, 00b1],
647    [00b6, 00b7], [00bb, 00bb], [00bf, 0131], [0134, 013e], [0141, 0148],
648    [014a, 017e], [0180, 01c3], [01cd, 01f0], [01f4, 02af], [02b9, 02d7],
649    [02de, 02df], [02e5, 02ff], [0305, 0305], [030d, 030e], [0310, 0310],
650    [0312, 0312], [0315, 031a], [031c, 0322], [0329, 032c], [032f, 032f],
651    [0332, 0337], [0339, 033f], [0346, 0373], [0375, 0379], [037b, 037d],
652    [037f, 0383], [0386, 0386], [0388, 03cf], [03d7, 03ef], [03f3, 03f3],
653    [03f6, 03f8], [03fa, 0586], [0588, 0652], [0656, 0674], [0679, 093b],
654    [093d, 0957], [0960, 09bd], [09bf, 09d6], [09d8, 09db], [09de, 09de],
655    [09e0, 0a32], [0a34, 0a35], [0a37, 0a58], [0a5c, 0a5d], [0a5f, 0b3d],
656    [0b3f, 0b55], [0b58, 0b5b], [0b5e, 0bbd], [0bbf, 0bd6], [0bd8, 0c55],
657    [0c57, 0cc1], [0cc3, 0cd4], [0cd7, 0d3d], [0d3f, 0d56], [0d58, 0dc9],
658    [0dcb, 0dce], [0dd0, 0dde], [0de0, 0e32], [0e34, 0eb2], [0eb4, 0edb],
659    [0ede, 0f0b], [0f0d, 0f42], [0f44, 0f4c], [0f4e, 0f51], [0f53, 0f56],
660    [0f58, 0f5b], [0f5d, 0f68], [0f6a, 0f72], [0f74, 0f74], [0f7a, 0f80],
661    [0f82, 0f92], [0f94, 0f9c], [0f9e, 0fa1], [0fa3, 0fa6], [0fa8, 0fab],
662    [0fad, 0fb8], [0fba, 102d], [102f, 10fb], [10fd, 1160], [1176, 11a7],
663    [11c3, 1b34], [1b36, 1d2b], [1d2f, 1d2f], [1d3b, 1d3b], [1d4e, 1d4e],
664    [1d6b, 1d77], [1d79, 1d9a], [1dc0, 1e99], [1e9c, 1f70], [1f72, 1f72],
665    [1f74, 1f74], [1f76, 1f76], [1f78, 1f78], [1f7a, 1f7a], [1f7c, 1f7c],
666    [1f7e, 1fba], [1fbc, 1fbc], [1fc2, 1fc8], [1fca, 1fca], [1fcc, 1fcc],
667    [1fd0, 1fd2], [1fd4, 1fda], [1fdc, 1fdc], [1fe0, 1fe2], [1fe4, 1fea],
668    [1fec, 1fec], [1ff0, 1ff8], [1ffa, 1ffa], [1ffc, 1ffc], [1fff, 1fff],
669    [200b, 2010], [2012, 2016], [2018, 2023], [2027, 202e], [2030, 2032],
670    [2035, 2035], [2038, 203b], [203d, 203d], [203f, 2046], [204a, 2056],
671    [2058, 205e], [2060, 206f], [2072, 2073], [208f, 208f], [209d, 20a7],
672    [20a9, 20ff], [2104, 2104], [2108, 2108], [2114, 2114], [2117, 2118],
673    [211e, 211f], [2123, 2123], [2125, 2125], [2127, 2127], [2129, 2129],
674    [212e, 212e], [2132, 2132], [213a, 213a], [2141, 2144], [214a, 214f],
675    [2180, 2188], [218a, 222b], [222e, 222e], [2231, 2328], [232b, 245f],
676    [24eb, 2a0b], [2a0d, 2a73], [2a77, 2adb], [2add, 2c7b], [2c7e, 2d6e],
677    [2d70, 2e9e], [2ea0, 2ef2], [2ef4, 2eff], [2fd6, 2fff], [3001, 3035],
678    [3037, 3037], [303b, 3098], [309d, 309e], [30a0, 30fe], [3100, 3130],
679    [318f, 3191], [31a0, 31ff], [321f, 321f], [3248, 324f], [327f, 327f],
680    [32ff, 32ff], [3400, a69b], [a69e, a76f], [a771, a7f7], [a7fa, ab5b],
681    [ab60, f8ff], [fa0e, fa0f], [fa11, fa11], [fa13, fa14], [fa1f, fa1f],
682    [fa21, fa21], [fa23, fa24], [fa27, fa29], [fa6e, fa6f], [fada, faff],
683    [fb07, fb12], [fb18, fb1c], [fb1e, fb1e], [fb37, fb37], [fb3d, fb3d],
684    [fb3f, fb3f], [fb42, fb42], [fb45, fb45], [fbb2, fbd2], [fd3e, fd4f],
685    [fd90, fd91], [fdc8, fdef], [fdfd, fe0f], [fe1a, fe2f], [fe45, fe46],
686    [fe53, fe53], [fe67, fe67], [fe6c, fe6f], [fe73, fe73], [fe75, fe75],
687    [fefd, ff00], [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9],
688    [ffdd, ffdf], [ffe7, ffe7], [ffef, 110b9], [110bb, 11126],
689    [11128, 1133d], [1133f, 11356], [11358, 114af], [114b1, 114b9],
690    [114bb, 114bc], [114be, 115ae], [115b0, 1d15d], [1d165, 1d1ba],
691    [1d1c1, 1d3ff], [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1],
692    [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba],
693    [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c],
694    [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f],
695    [1d545, 1d545], [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7],
696    [1d7cc, 1d7cd], [1d800, 1edff], [1ee04, 1ee04], [1ee20, 1ee20],
697    [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33],
698    [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46],
699    [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50],
700    [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a],
701    [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63],
702    [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78],
703    [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0],
704    [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1f0ff], [1f10b, 1f10f],
705    [1f12f, 1f12f], [1f150, 1f169], [1f16c, 1f18f], [1f191, 1f1ff],
706    [1f203, 1f20f], [1f23c, 1f23f], [1f249, 1f24f], [1f252, 2f7ff],
707    [2fa1e, 10ffff]**/
708    const UnicodeSet y_Set
709        {{{Full, 5}, {Mixed, 1}, {Full, 3}, {Mixed, 3}, {Full, 2},
710          {Mixed, 2}, {Full, 5}, {Mixed, 8}, {Full, 1}, {Mixed, 2},
711          {Full, 12}, {Mixed, 1}, {Full, 5}, {Mixed, 2}, {Full, 21},
712          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
713          {Full, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 3},
714          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
715          {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 3},
716          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
717          {Full, 3}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 3},
718          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 74}, {Mixed, 1},
719          {Full, 15}, {Mixed, 4}, {Empty, 1}, {Full, 6}, {Mixed, 1},
720          {Full, 6}, {Mixed, 1}, {Full, 1}, {Mixed, 9}, {Full, 2},
721          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 1},
722          {Full, 7}, {Mixed, 1}, {Full, 9}, {Empty, 4}, {Mixed, 1},
723          {Full, 40}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 2},
724          {Mixed, 1}, {Full, 12}, {Mixed, 1}, {Full, 7}, {Mixed, 1},
725          {Full, 8}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 6},
726          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
727          {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
728          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
729          {Empty, 3}, {Mixed, 1}, {Empty, 8}, {Full, 916}, {Mixed, 1},
730          {Full, 6}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 26},
731          {Mixed, 1}, {Full, 621}, {Empty, 8}, {Mixed, 2}, {Empty, 1},
732          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
733          {Empty, 2}, {Mixed, 2}, {Empty, 10}, {Mixed, 2}, {Empty, 1},
734          {Mixed, 1}, {Empty, 1}, {Mixed, 6}, {Empty, 3}, {Mixed, 2},
735          {Empty, 4}, {Mixed, 3}, {Full, 133}, {Mixed, 1}, {Full, 3},
736          {Mixed, 1}, {Full, 15}, {Mixed, 2}, {Full, 10}, {Mixed, 1},
737          {Full, 7}, {Mixed, 1}, {Full, 1500}, {Mixed, 2}, {Full, 1},
738          {Mixed, 2}, {Full, 17}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
739          {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1},
740          {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Full, 176}, {Mixed, 6},
741          {Full, 18}, {Mixed, 5}, {Full, 3}, {Mixed, 3}, {Full, 2093},
742          {Empty, 16}, {Mixed, 1}, {Full, 28719}},
743         {0x88c37afe, 0x7ff3ffff, 0xfffffdfe, 0x7fffffff, 0xffffe00f,
744          0xfff1ffff, 0xfe00ffff, 0xc0ffffff, 0xffffffe0, 0xf7e56020,
745          0xfefc9e07, 0xffffffc0, 0xbbefffff, 0xffffff4f, 0xff80ffff,
746          0xfdc8ffff, 0xffffff7f, 0xffc7ffff, 0xfe1fffff, 0xefffffff,
747          0x00ffffff, 0xbfffffff, 0x4f7fffff, 0xffb7ffff, 0xb1ffffff,
748          0xbfffffff, 0xcf3fffff, 0xbfffffff, 0xff7fffff, 0xffbfffff,
749          0xff9ffffb, 0xbfffffff, 0xff7fffff, 0x7fff7bff, 0xfff7ffff,
750          0xfff7ffff, 0xcfffffff, 0xffffefff, 0xef7bdff7, 0xfc17fdff,
751          0xdff7fffd, 0xfdffef7b, 0xffffbfff, 0xefffffff, 0xffc00001,
752          0x000000ff, 0xfffffff8, 0xffdfffff, 0x08008fff, 0x00004000,
753          0xfefff800, 0x07ffffff, 0xf3ffffff, 0xd555ffff, 0x17ffffff,
754          0x17f715fc, 0x95ff17f7, 0xff7df800, 0xaf277f8f, 0x7f7ffc7f,
755          0x000cffff, 0xe0008000, 0xfffffeff, 0xc1900110, 0x040442a8,
756          0x0000fc1e, 0xfffffdff, 0xfffe4fff, 0xfffff9ff, 0xfffff800,
757          0xffffefff, 0xff8fffff, 0xefffffff, 0xcfffffff, 0xffff7fff,
758          0x7fffffff, 0xfff7ffff, 0xffc00000, 0xfffffffe, 0xf8bfffff,
759          0x61ffffff, 0x7fffffff, 0x0001ffff, 0x00038000, 0x80000000,
760          0x0000ff00, 0x80000000, 0x80000000, 0xcfffffff, 0xfffeffff,
761          0xfcffffff, 0x0fffffff, 0x801ac000, 0x0000039a, 0x0000c000,
762          0xfc000000, 0x5f07ff80, 0xa0800000, 0x00000024, 0xfffc0000,
763          0x0007ffff, 0xc0000000, 0x0000ffff, 0x00030000, 0xffffff00,
764          0xe000ffff, 0xfc00ffff, 0x0000ffff, 0x00080060, 0x0028f080,
765          0xe0000000, 0x00000001, 0x80000000, 0xe3030303, 0xffff8080,
766          0xfbffffff, 0xffffff7f, 0xbfffffff, 0xff7fffff, 0xdbfeffff,
767          0xffff7fff, 0x3fffffff, 0xffffffe0, 0x07ffffff, 0xfffffffe,
768          0x00200000, 0x20000000, 0x1400219b, 0x00000010, 0x20201840,
769          0x84000000, 0x000203a0, 0x000000c0, 0x00003000, 0x00000010,
770          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
771          0x0000f800, 0x00008000, 0xffff0000, 0xfffff3ff, 0xfffeffff,
772          0x0000fff8, 0xf0000000, 0xfffcfe00, 0xc0000000}};
773    /** Code Point Ranges for N
774    [00a0, 00a0], [00a8, 00a8], [00aa, 00aa], [00af, 00af], [00b2, 00b5],
775    [00b8, 00ba], [00bc, 00be], [0132, 0133], [013f, 0140], [0149, 0149],
776    [017f, 017f], [01c4, 01cc], [01f1, 01f3], [02b0, 02b8], [02d8, 02dd],
777    [02e0, 02e4], [0340, 0341], [0343, 0344], [0374, 0374], [037a, 037a],
778    [037e, 037e], [0384, 0385], [0387, 0387], [03d0, 03d6], [03f0, 03f2],
779    [03f4, 03f5], [03f9, 03f9], [0587, 0587], [0675, 0678], [0958, 095f],
780    [09dc, 09dd], [09df, 09df], [0a33, 0a33], [0a36, 0a36], [0a59, 0a5b],
781    [0a5e, 0a5e], [0b5c, 0b5d], [0e33, 0e33], [0eb3, 0eb3], [0edc, 0edd],
782    [0f0c, 0f0c], [0f43, 0f43], [0f4d, 0f4d], [0f52, 0f52], [0f57, 0f57],
783    [0f5c, 0f5c], [0f69, 0f69], [0f73, 0f73], [0f75, 0f79], [0f81, 0f81],
784    [0f93, 0f93], [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac],
785    [0fb9, 0fb9], [10fc, 10fc], [1d2c, 1d2e], [1d30, 1d3a], [1d3c, 1d4d],
786    [1d4f, 1d6a], [1d78, 1d78], [1d9b, 1dbf], [1e9a, 1e9b], [1f71, 1f71],
787    [1f73, 1f73], [1f75, 1f75], [1f77, 1f77], [1f79, 1f79], [1f7b, 1f7b],
788    [1f7d, 1f7d], [1fbb, 1fbb], [1fbd, 1fc1], [1fc9, 1fc9], [1fcb, 1fcb],
789    [1fcd, 1fcf], [1fd3, 1fd3], [1fdb, 1fdb], [1fdd, 1fdf], [1fe3, 1fe3],
790    [1feb, 1feb], [1fed, 1fef], [1ff9, 1ff9], [1ffb, 1ffb], [1ffd, 1ffe],
791    [2000, 200a], [2011, 2011], [2017, 2017], [2024, 2026], [202f, 202f],
792    [2033, 2034], [2036, 2037], [203c, 203c], [203e, 203e], [2047, 2049],
793    [2057, 2057], [205f, 205f], [2070, 2071], [2074, 208e], [2090, 209c],
794    [20a8, 20a8], [2100, 2103], [2105, 2107], [2109, 2113], [2115, 2116],
795    [2119, 211d], [2120, 2122], [2124, 2124], [2126, 2126], [2128, 2128],
796    [212a, 212d], [212f, 2131], [2133, 2139], [213b, 2140], [2145, 2149],
797    [2150, 217f], [2189, 2189], [222c, 222d], [222f, 2230], [2329, 232a],
798    [2460, 24ea], [2a0c, 2a0c], [2a74, 2a76], [2adc, 2adc], [2c7c, 2c7d],
799    [2d6f, 2d6f], [2e9f, 2e9f], [2ef3, 2ef3], [2f00, 2fd5], [3000, 3000],
800    [3036, 3036], [3038, 303a], [309b, 309c], [309f, 309f], [30ff, 30ff],
801    [3131, 318e], [3192, 319f], [3200, 321e], [3220, 3247], [3250, 327e],
802    [3280, 32fe], [3300, 33ff], [a69c, a69d], [a770, a770], [a7f8, a7f9],
803    [ab5c, ab5f], [f900, fa0d], [fa10, fa10], [fa12, fa12], [fa15, fa1e],
804    [fa20, fa20], [fa22, fa22], [fa25, fa26], [fa2a, fa6d], [fa70, fad9],
805    [fb00, fb06], [fb13, fb17], [fb1d, fb1d], [fb1f, fb36], [fb38, fb3c],
806    [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fbb1], [fbd3, fd3d],
807    [fd50, fd8f], [fd92, fdc7], [fdf0, fdfc], [fe10, fe19], [fe30, fe44],
808    [fe47, fe52], [fe54, fe66], [fe68, fe6b], [fe70, fe72], [fe74, fe74],
809    [fe76, fefc], [ff01, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
810    [ffda, ffdc], [ffe0, ffe6], [ffe8, ffee], [1d15e, 1d164],
811    [1d1bb, 1d1c0], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
812    [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
813    [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
814    [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
815    [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
816    [1d6a8, 1d7cb], [1d7ce, 1d7ff], [1ee00, 1ee03], [1ee05, 1ee1f],
817    [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
818    [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
819    [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
820    [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
821    [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
822    [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
823    [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
824    [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1f100, 1f10a],
825    [1f110, 1f12e], [1f130, 1f14f], [1f16a, 1f16b], [1f190, 1f190],
826    [1f200, 1f202], [1f210, 1f23b], [1f240, 1f248], [1f250, 1f251],
827    [2f800, 2fa1d]**/
828    const UnicodeSet n_Set
829        {{{Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
830          {Mixed, 2}, {Empty, 5}, {Mixed, 3}, {Empty, 2}, {Mixed, 3},
831          {Empty, 1}, {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 6},
832          {Mixed, 1}, {Empty, 22}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
833          {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 22},
834          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
835          {Empty, 1}, {Mixed, 4}, {Empty, 9}, {Mixed, 1}, {Empty, 97},
836          {Mixed, 4}, {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 6},
837          {Mixed, 1}, {Empty, 1}, {Mixed, 9}, {Empty, 2}, {Mixed, 3},
838          {Full, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
839          {Mixed, 1}, {Empty, 9}, {Full, 4}, {Mixed, 1}, {Empty, 40},
840          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
841          {Empty, 12}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
842          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
843          {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
844          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
845          {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 3},
846          {Mixed, 1}, {Full, 8}, {Empty, 916}, {Mixed, 1}, {Empty, 6},
847          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
848          {Empty, 621}, {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
849          {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 2},
850          {Mixed, 2}, {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
851          {Full, 1}, {Mixed, 6}, {Full, 3}, {Mixed, 2}, {Full, 4},
852          {Mixed, 3}, {Empty, 1674}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
853          {Empty, 17}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
854          {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8},
855          {Mixed, 1}, {Full, 1}, {Empty, 176}, {Mixed, 6}, {Empty, 18},
856          {Mixed, 5}, {Empty, 3}, {Mixed, 3}, {Empty, 2093}, {Full, 16},
857          {Mixed, 1}, {Empty, 28719}},
858         {0x773c8501, 0x800c0000, 0x00000201, 0x80000000, 0x00001ff0,
859          0x000e0000, 0x01ff0000, 0x3f000000, 0x0000001f, 0x0000001b,
860          0x44100000, 0x000000b0, 0x007f0000, 0x02370000, 0x00000080,
861          0x01e00000, 0xff000000, 0xb0000000, 0x00480000, 0x4e000000,
862          0x30000000, 0x00080000, 0x00080000, 0x30000000, 0x00001000,
863          0x10842008, 0x03e80200, 0x20080002, 0x02001084, 0x10000000,
864          0xf7ff7000, 0xffffbfff, 0x010007ff, 0xf8000000, 0x0c000000,
865          0x2aaa0000, 0xe8000000, 0xe808ea03, 0x6a00e808, 0x008207ff,
866          0x50d88070, 0x80800380, 0xfff30000, 0x1fff7fff, 0x00000100,
867          0x3e6ffeef, 0xfbfbbd57, 0xffff03e1, 0x00000200, 0x0001b000,
868          0x00000600, 0x000007ff, 0x00001000, 0x00700000, 0x10000000,
869          0x30000000, 0x00008000, 0x80000000, 0x00080000, 0x003fffff,
870          0x00000001, 0x07400000, 0x98000000, 0x80000000, 0xfffe0000,
871          0xfffc7fff, 0x7fffffff, 0xffff00ff, 0x7fffffff, 0x7fffffff,
872          0x30000000, 0x00010000, 0x03000000, 0xf0000000, 0x7fe53fff,
873          0xfffffc65, 0xffff3fff, 0x03ffffff, 0xa0f8007f, 0x5f7fffff,
874          0xffffffdb, 0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000,
875          0xfffcffff, 0x000000ff, 0x1fff0000, 0x03ff0000, 0xffff0000,
876          0xfff7ff9f, 0xffd70f7f, 0x1fffffff, 0xfffffffe, 0x7fffffff,
877          0x1cfcfcfc, 0x00007f7f, 0xc0000000, 0x0000001f, 0xf8000000,
878          0x00000001, 0xffdfffff, 0xdfffffff, 0xebffde64, 0xffffffef,
879          0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f, 0xffffcfff,
880          0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff,
881          0x0ffffbee, 0xffff07ff, 0xffff7fff, 0x0000ffff, 0x00000c00,
882          0x00010000, 0xffff0007, 0x0fffffff, 0x000301ff, 0x3fffffff}};
883    /** Code Point Ranges for M
884    [0300, 0304], [0306, 030c], [030f, 030f], [0311, 0311], [0313, 0314],
885    [031b, 031b], [0323, 0328], [032d, 032e], [0330, 0331], [0338, 0338],
886    [0342, 0342], [0345, 0345], [0653, 0655], [093c, 093c], [09be, 09be],
887    [09d7, 09d7], [0b3e, 0b3e], [0b56, 0b57], [0bbe, 0bbe], [0bd7, 0bd7],
888    [0c56, 0c56], [0cc2, 0cc2], [0cd5, 0cd6], [0d3e, 0d3e], [0d57, 0d57],
889    [0dca, 0dca], [0dcf, 0dcf], [0ddf, 0ddf], [102e, 102e], [1161, 1175],
890    [11a8, 11c2], [1b35, 1b35], [3099, 309a], [110ba, 110ba],
891    [11127, 11127], [1133e, 1133e], [11357, 11357], [114b0, 114b0],
892    [114ba, 114ba], [114bd, 114bd], [115af, 115af]**/
893    const UnicodeSet m_Set
894        {{{Empty, 24}, {Mixed, 3}, {Empty, 23}, {Mixed, 1}, {Empty, 22},
895          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 10}, {Mixed, 2},
896          {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
897          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
898          {Empty, 18}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1},
899          {Mixed, 2}, {Empty, 74}, {Mixed, 1}, {Empty, 170}, {Mixed, 1},
900          {Empty, 1792}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 15},
901          {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
902          {Empty, 32594}},
903         {0x081a9fdf, 0x010361f8, 0x00000024, 0x00380000, 0x10000000,
904          0x40000000, 0x00800000, 0x40000000, 0x00c00000, 0x40000000,
905          0x00800000, 0x00400000, 0x00600004, 0x40000000, 0x00800000,
906          0x80008400, 0x00004000, 0x003ffffe, 0xffffff00, 0x00000007,
907          0x00200000, 0x06000000, 0x04000000, 0x00000080, 0x40000000,
908          0x00800000, 0x24010000, 0x00008000}};
909    static EnumeratedPropertyObject property_object
910        {NFKC_QC,
911         NFKC_QC_ns::independent_prop_values,
912         NFKC_QC_ns::enum_names,
913         NFKC_QC_ns::value_names,
914         NFKC_QC_ns::aliases_only_map,
915         {&y_Set, &n_Set, &m_Set
916         }};
917    }
918  namespace NFKD_QC_ns {
919    const unsigned independent_prop_values = 2;
920    /** Code Point Ranges for Y
921    [0000, 009f], [00a1, 00a7], [00a9, 00a9], [00ab, 00ae], [00b0, 00b1],
922    [00b6, 00b7], [00bb, 00bb], [00bf, 00bf], [00c6, 00c6], [00d0, 00d0],
923    [00d7, 00d8], [00de, 00df], [00e6, 00e6], [00f0, 00f0], [00f7, 00f8],
924    [00fe, 00fe], [0110, 0111], [0126, 0127], [0131, 0131], [0138, 0138],
925    [0141, 0142], [014a, 014b], [0152, 0153], [0166, 0167], [0180, 019f],
926    [01a2, 01ae], [01b1, 01c3], [01dd, 01dd], [01e4, 01e5], [01f6, 01f7],
927    [021c, 021d], [0220, 0225], [0234, 02af], [02b9, 02d7], [02de, 02df],
928    [02e5, 033f], [0342, 0342], [0345, 0373], [0375, 0379], [037b, 037d],
929    [037f, 0383], [038b, 038b], [038d, 038d], [0391, 03a9], [03b1, 03c9],
930    [03cf, 03cf], [03d7, 03ef], [03f3, 03f3], [03f6, 03f8], [03fa, 03ff],
931    [0402, 0402], [0404, 0406], [0408, 040b], [040f, 0418], [041a, 0438],
932    [043a, 044f], [0452, 0452], [0454, 0456], [0458, 045b], [045f, 0475],
933    [0478, 04c0], [04c3, 04cf], [04d4, 04d5], [04d8, 04d9], [04e0, 04e1],
934    [04e8, 04e9], [04f6, 04f7], [04fa, 0586], [0588, 0621], [0627, 0674],
935    [0679, 06bf], [06c1, 06c1], [06c3, 06d2], [06d4, 0928], [092a, 0930],
936    [0932, 0933], [0935, 0957], [0960, 09ca], [09cd, 09db], [09de, 09de],
937    [09e0, 0a32], [0a34, 0a35], [0a37, 0a58], [0a5c, 0a5d], [0a5f, 0b47],
938    [0b49, 0b4a], [0b4d, 0b5b], [0b5e, 0b93], [0b95, 0bc9], [0bcd, 0c47],
939    [0c49, 0cbf], [0cc1, 0cc6], [0cc9, 0cc9], [0ccc, 0d49], [0d4d, 0dd9],
940    [0ddb, 0ddb], [0ddf, 0e32], [0e34, 0eb2], [0eb4, 0edb], [0ede, 0f0b],
941    [0f0d, 0f42], [0f44, 0f4c], [0f4e, 0f51], [0f53, 0f56], [0f58, 0f5b],
942    [0f5d, 0f68], [0f6a, 0f72], [0f74, 0f74], [0f7a, 0f80], [0f82, 0f92],
943    [0f94, 0f9c], [0f9e, 0fa1], [0fa3, 0fa6], [0fa8, 0fab], [0fad, 0fb8],
944    [0fba, 1025], [1027, 10fb], [10fd, 1b05], [1b07, 1b07], [1b09, 1b09],
945    [1b0b, 1b0b], [1b0d, 1b0d], [1b0f, 1b11], [1b13, 1b3a], [1b3c, 1b3c],
946    [1b3e, 1b3f], [1b42, 1b42], [1b44, 1d2b], [1d2f, 1d2f], [1d3b, 1d3b],
947    [1d4e, 1d4e], [1d6b, 1d77], [1d79, 1d9a], [1dc0, 1dff], [1e9c, 1e9f],
948    [1efa, 1eff], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47], [1f4e, 1f4f],
949    [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e], [1f7e, 1f7f],
950    [1fb5, 1fb5], [1fc5, 1fc5], [1fd4, 1fd5], [1fdc, 1fdc], [1ff0, 1ff1],
951    [1ff5, 1ff5], [1fff, 1fff], [200b, 2010], [2012, 2016], [2018, 2023],
952    [2027, 202e], [2030, 2032], [2035, 2035], [2038, 203b], [203d, 203d],
953    [203f, 2046], [204a, 2056], [2058, 205e], [2060, 206f], [2072, 2073],
954    [208f, 208f], [209d, 20a7], [20a9, 20ff], [2104, 2104], [2108, 2108],
955    [2114, 2114], [2117, 2118], [211e, 211f], [2123, 2123], [2125, 2125],
956    [2127, 2127], [2129, 2129], [212e, 212e], [2132, 2132], [213a, 213a],
957    [2141, 2144], [214a, 214f], [2180, 2188], [218a, 2199], [219c, 21ad],
958    [21af, 21cc], [21d0, 2203], [2205, 2208], [220a, 220b], [220d, 2223],
959    [2225, 2225], [2227, 222b], [222e, 222e], [2231, 2240], [2242, 2243],
960    [2245, 2246], [2248, 2248], [224a, 225f], [2261, 2261], [2263, 226c],
961    [2272, 2273], [2276, 2277], [227a, 227f], [2282, 2283], [2286, 2287],
962    [228a, 22ab], [22b0, 22df], [22e4, 22e9], [22ee, 2328], [232b, 245f],
963    [24eb, 2a0b], [2a0d, 2a73], [2a77, 2adb], [2add, 2c7b], [2c7e, 2d6e],
964    [2d70, 2e9e], [2ea0, 2ef2], [2ef4, 2eff], [2fd6, 2fff], [3001, 3035],
965    [3037, 3037], [303b, 304b], [304d, 304d], [304f, 304f], [3051, 3051],
966    [3053, 3053], [3055, 3055], [3057, 3057], [3059, 3059], [305b, 305b],
967    [305d, 305d], [305f, 305f], [3061, 3061], [3063, 3064], [3066, 3066],
968    [3068, 3068], [306a, 306f], [3072, 3072], [3075, 3075], [3078, 3078],
969    [307b, 307b], [307e, 3093], [3095, 309a], [309d, 309d], [30a0, 30ab],
970    [30ad, 30ad], [30af, 30af], [30b1, 30b1], [30b3, 30b3], [30b5, 30b5],
971    [30b7, 30b7], [30b9, 30b9], [30bb, 30bb], [30bd, 30bd], [30bf, 30bf],
972    [30c1, 30c1], [30c3, 30c4], [30c6, 30c6], [30c8, 30c8], [30ca, 30cf],
973    [30d2, 30d2], [30d5, 30d5], [30d8, 30d8], [30db, 30db], [30de, 30f3],
974    [30f5, 30f6], [30fb, 30fd], [3100, 3130], [318f, 3191], [31a0, 31ff],
975    [321f, 321f], [3248, 324f], [327f, 327f], [32ff, 32ff], [3400, a69b],
976    [a69e, a76f], [a771, a7f7], [a7fa, ab5b], [ab60, abff], [d7a4, f8ff],
977    [fa0e, fa0f], [fa11, fa11], [fa13, fa14], [fa1f, fa1f], [fa21, fa21],
978    [fa23, fa24], [fa27, fa29], [fa6e, fa6f], [fada, faff], [fb07, fb12],
979    [fb18, fb1c], [fb1e, fb1e], [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f],
980    [fb42, fb42], [fb45, fb45], [fbb2, fbd2], [fd3e, fd4f], [fd90, fd91],
981    [fdc8, fdef], [fdfd, fe0f], [fe1a, fe2f], [fe45, fe46], [fe53, fe53],
982    [fe67, fe67], [fe6c, fe6f], [fe73, fe73], [fe75, fe75], [fefd, ff00],
983    [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9], [ffdd, ffdf],
984    [ffe7, ffe7], [ffef, 11099], [1109b, 1109b], [1109d, 110aa],
985    [110ac, 1112d], [11130, 1134a], [1134d, 114ba], [114bd, 114bd],
986    [114bf, 115b9], [115bc, 1d15d], [1d165, 1d1ba], [1d1c1, 1d3ff],
987    [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4],
988    [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc],
989    [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515],
990    [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545],
991    [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7], [1d7cc, 1d7cd],
992    [1d800, 1edff], [1ee04, 1ee04], [1ee20, 1ee20], [1ee23, 1ee23],
993    [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33], [1ee38, 1ee38],
994    [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46], [1ee48, 1ee48],
995    [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50], [1ee53, 1ee53],
996    [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a], [1ee5c, 1ee5c],
997    [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63], [1ee65, 1ee66],
998    [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78], [1ee7d, 1ee7d],
999    [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0], [1eea4, 1eea4],
1000    [1eeaa, 1eeaa], [1eebc, 1f0ff], [1f10b, 1f10f], [1f12f, 1f12f],
1001    [1f150, 1f169], [1f16c, 1f18f], [1f191, 1f1ff], [1f203, 1f20f],
1002    [1f23c, 1f23f], [1f249, 1f24f], [1f252, 2f7ff], [2fa1e, 10ffff]**/
1003    const UnicodeSet y_Set
1004        {{{Full, 5}, {Mixed, 7}, {Full, 1}, {Mixed, 5}, {Full, 3},
1005          {Mixed, 3}, {Full, 2}, {Mixed, 10}, {Full, 2}, {Mixed, 2},
1006          {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 1},
1007          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 18}, {Mixed, 2},
1008          {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 7},
1009          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1010          {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3},
1011          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
1012          {Full, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
1013          {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 5}, {Mixed, 1},
1014          {Full, 80}, {Mixed, 3}, {Full, 14}, {Mixed, 4}, {Empty, 1},
1015          {Full, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
1016          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 9}, {Full, 2},
1017          {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 6},
1018          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 9},
1019          {Empty, 4}, {Mixed, 1}, {Full, 40}, {Mixed, 1}, {Full, 2},
1020          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 12}, {Mixed, 1},
1021          {Full, 7}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 2},
1022          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Mixed, 8},
1023          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 3},
1024          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1025          {Empty, 8}, {Full, 916}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
1026          {Full, 3}, {Mixed, 1}, {Full, 26}, {Mixed, 1}, {Full, 5},
1027          {Empty, 349}, {Mixed, 1}, {Full, 266}, {Empty, 8}, {Mixed, 2},
1028          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
1029          {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Empty, 10}, {Mixed, 2},
1030          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 6}, {Empty, 3},
1031          {Mixed, 2}, {Empty, 4}, {Mixed, 3}, {Full, 132}, {Mixed, 2},
1032          {Full, 3}, {Mixed, 1}, {Full, 16}, {Mixed, 1}, {Full, 10},
1033          {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Full, 1500}, {Mixed, 2},
1034          {Full, 1}, {Mixed, 2}, {Full, 17}, {Empty, 2}, {Mixed, 1},
1035          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 10},
1036          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Full, 176},
1037          {Mixed, 6}, {Full, 18}, {Mixed, 5}, {Full, 3}, {Mixed, 3},
1038          {Full, 2093}, {Empty, 16}, {Mixed, 1}, {Full, 28719}},
1039         {0x88c37afe, 0xc1810040, 0x41810040, 0x00030000, 0x010200c0,
1040          0x000c0c06, 0x000000c0, 0xfffe7ffc, 0x2000000f, 0x00c00030,
1041          0x30000000, 0xfff0003f, 0xfe00ffff, 0xc0ffffff, 0xffffffe0,
1042          0xffffffe4, 0xbbefffff, 0xfffe280f, 0xfffe03ff, 0xff8083ff,
1043          0xfdc8ffff, 0xfdff8f74, 0xfdffffff, 0x8f74ffff, 0xff3fffff,
1044          0x0330fff9, 0xfcc00303, 0xffffff7f, 0xffffff83, 0xfe1fffff,
1045          0xfff7fffa, 0xffedfdff, 0x00ffffff, 0x4fffe7ff, 0xffb7ffff,
1046          0xb1ffffff, 0xcfffe6ff, 0xffefffff, 0xffffe3ff, 0xfffffeff,
1047          0xfffff27e, 0xffffe3ff, 0x8bffffff, 0xfff7ffff, 0xfff7ffff,
1048          0xcfffffff, 0xffffefff, 0xef7bdff7, 0xfc17fdff, 0xdff7fffd,
1049          0xfdffef7b, 0xffffffbf, 0xefffffff, 0xfffbaabf, 0xd7ffffff,
1050          0xfffffff4, 0x08008fff, 0x00004000, 0xfefff800, 0x07ffffff,
1051          0xf0000000, 0xfc000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
1052          0x00200000, 0x10300020, 0x80230000, 0xff7df800, 0xaf277f8f,
1053          0x7f7ffc7f, 0x000cffff, 0xe0008000, 0xfffffeff, 0xc1900110,
1054          0x040442a8, 0x0000fc1e, 0xf3fffdff, 0xffffbfff, 0xffff1fff,
1055          0xffffedef, 0xfffe4faf, 0xfffffd6d, 0xfccc1ffa, 0xfffffccc,
1056          0xffff0fff, 0xffffc3f0, 0xfffff9ff, 0xfffff800, 0xffffefff,
1057          0xff8fffff, 0xefffffff, 0xcfffffff, 0xffff7fff, 0x7fffffff,
1058          0xfff7ffff, 0xffc00000, 0xfffffffe, 0xf8bfffff, 0xaaaaafff,
1059          0xc924fd5a, 0x27efffff, 0xaaaaafff, 0xc924fd5a, 0x386fffff,
1060          0x0001ffff, 0x00038000, 0x80000000, 0x0000ff00, 0x80000000,
1061          0x80000000, 0xcfffffff, 0xfffeffff, 0xfcffffff, 0x0fffffff,
1062          0xfffffff0, 0x801ac000, 0x0000039a, 0x0000c000, 0xfc000000,
1063          0x5f07ff80, 0xa0800000, 0x00000024, 0xfffc0000, 0x0007ffff,
1064          0xc0000000, 0x0000ffff, 0x00030000, 0xffffff00, 0xe000ffff,
1065          0xfc00ffff, 0x0000ffff, 0x00080060, 0x0028f080, 0xe0000000,
1066          0x00000001, 0x80000000, 0xe3030303, 0xffff8080, 0xebffffff,
1067          0xfffff7ff, 0xffff3fff, 0xffffe7ff, 0xa7ffffff, 0xf3ffffff,
1068          0x3fffffff, 0xffffffe0, 0x07ffffff, 0xfffffffe, 0x00200000,
1069          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
1070          0x000203a0, 0x000000c0, 0x00003000, 0x00000010, 0xf5080169,
1071          0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411, 0x0000f800,
1072          0x00008000, 0xffff0000, 0xfffff3ff, 0xfffeffff, 0x0000fff8,
1073          0xf0000000, 0xfffcfe00, 0xc0000000}};
1074    /** Code Point Ranges for N
1075    [00a0, 00a0], [00a8, 00a8], [00aa, 00aa], [00af, 00af], [00b2, 00b5],
1076    [00b8, 00ba], [00bc, 00be], [00c0, 00c5], [00c7, 00cf], [00d1, 00d6],
1077    [00d9, 00dd], [00e0, 00e5], [00e7, 00ef], [00f1, 00f6], [00f9, 00fd],
1078    [00ff, 010f], [0112, 0125], [0128, 0130], [0132, 0137], [0139, 0140],
1079    [0143, 0149], [014c, 0151], [0154, 0165], [0168, 017f], [01a0, 01a1],
1080    [01af, 01b0], [01c4, 01dc], [01de, 01e3], [01e6, 01f5], [01f8, 021b],
1081    [021e, 021f], [0226, 0233], [02b0, 02b8], [02d8, 02dd], [02e0, 02e4],
1082    [0340, 0341], [0343, 0344], [0374, 0374], [037a, 037a], [037e, 037e],
1083    [0384, 038a], [038c, 038c], [038e, 0390], [03aa, 03b0], [03ca, 03ce],
1084    [03d0, 03d6], [03f0, 03f2], [03f4, 03f5], [03f9, 03f9], [0400, 0401],
1085    [0403, 0403], [0407, 0407], [040c, 040e], [0419, 0419], [0439, 0439],
1086    [0450, 0451], [0453, 0453], [0457, 0457], [045c, 045e], [0476, 0477],
1087    [04c1, 04c2], [04d0, 04d3], [04d6, 04d7], [04da, 04df], [04e2, 04e7],
1088    [04ea, 04f5], [04f8, 04f9], [0587, 0587], [0622, 0626], [0675, 0678],
1089    [06c0, 06c0], [06c2, 06c2], [06d3, 06d3], [0929, 0929], [0931, 0931],
1090    [0934, 0934], [0958, 095f], [09cb, 09cc], [09dc, 09dd], [09df, 09df],
1091    [0a33, 0a33], [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e], [0b48, 0b48],
1092    [0b4b, 0b4c], [0b5c, 0b5d], [0b94, 0b94], [0bca, 0bcc], [0c48, 0c48],
1093    [0cc0, 0cc0], [0cc7, 0cc8], [0cca, 0ccb], [0d4a, 0d4c], [0dda, 0dda],
1094    [0ddc, 0dde], [0e33, 0e33], [0eb3, 0eb3], [0edc, 0edd], [0f0c, 0f0c],
1095    [0f43, 0f43], [0f4d, 0f4d], [0f52, 0f52], [0f57, 0f57], [0f5c, 0f5c],
1096    [0f69, 0f69], [0f73, 0f73], [0f75, 0f79], [0f81, 0f81], [0f93, 0f93],
1097    [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac], [0fb9, 0fb9],
1098    [1026, 1026], [10fc, 10fc], [1b06, 1b06], [1b08, 1b08], [1b0a, 1b0a],
1099    [1b0c, 1b0c], [1b0e, 1b0e], [1b12, 1b12], [1b3b, 1b3b], [1b3d, 1b3d],
1100    [1b40, 1b41], [1b43, 1b43], [1d2c, 1d2e], [1d30, 1d3a], [1d3c, 1d4d],
1101    [1d4f, 1d6a], [1d78, 1d78], [1d9b, 1dbf], [1e00, 1e9b], [1ea0, 1ef9],
1102    [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57],
1103    [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
1104    [1fb6, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fef], [1ff2, 1ff4],
1105    [1ff6, 1ffe], [2000, 200a], [2011, 2011], [2017, 2017], [2024, 2026],
1106    [202f, 202f], [2033, 2034], [2036, 2037], [203c, 203c], [203e, 203e],
1107    [2047, 2049], [2057, 2057], [205f, 205f], [2070, 2071], [2074, 208e],
1108    [2090, 209c], [20a8, 20a8], [2100, 2103], [2105, 2107], [2109, 2113],
1109    [2115, 2116], [2119, 211d], [2120, 2122], [2124, 2124], [2126, 2126],
1110    [2128, 2128], [212a, 212d], [212f, 2131], [2133, 2139], [213b, 2140],
1111    [2145, 2149], [2150, 217f], [2189, 2189], [219a, 219b], [21ae, 21ae],
1112    [21cd, 21cf], [2204, 2204], [2209, 2209], [220c, 220c], [2224, 2224],
1113    [2226, 2226], [222c, 222d], [222f, 2230], [2241, 2241], [2244, 2244],
1114    [2247, 2247], [2249, 2249], [2260, 2260], [2262, 2262], [226d, 2271],
1115    [2274, 2275], [2278, 2279], [2280, 2281], [2284, 2285], [2288, 2289],
1116    [22ac, 22af], [22e0, 22e3], [22ea, 22ed], [2329, 232a], [2460, 24ea],
1117    [2a0c, 2a0c], [2a74, 2a76], [2adc, 2adc], [2c7c, 2c7d], [2d6f, 2d6f],
1118    [2e9f, 2e9f], [2ef3, 2ef3], [2f00, 2fd5], [3000, 3000], [3036, 3036],
1119    [3038, 303a], [304c, 304c], [304e, 304e], [3050, 3050], [3052, 3052],
1120    [3054, 3054], [3056, 3056], [3058, 3058], [305a, 305a], [305c, 305c],
1121    [305e, 305e], [3060, 3060], [3062, 3062], [3065, 3065], [3067, 3067],
1122    [3069, 3069], [3070, 3071], [3073, 3074], [3076, 3077], [3079, 307a],
1123    [307c, 307d], [3094, 3094], [309b, 309c], [309e, 309f], [30ac, 30ac],
1124    [30ae, 30ae], [30b0, 30b0], [30b2, 30b2], [30b4, 30b4], [30b6, 30b6],
1125    [30b8, 30b8], [30ba, 30ba], [30bc, 30bc], [30be, 30be], [30c0, 30c0],
1126    [30c2, 30c2], [30c5, 30c5], [30c7, 30c7], [30c9, 30c9], [30d0, 30d1],
1127    [30d3, 30d4], [30d6, 30d7], [30d9, 30da], [30dc, 30dd], [30f4, 30f4],
1128    [30f7, 30fa], [30fe, 30ff], [3131, 318e], [3192, 319f], [3200, 321e],
1129    [3220, 3247], [3250, 327e], [3280, 32fe], [3300, 33ff], [a69c, a69d],
1130    [a770, a770], [a7f8, a7f9], [ab5c, ab5f], [ac00, d7a3], [f900, fa0d],
1131    [fa10, fa10], [fa12, fa12], [fa15, fa1e], [fa20, fa20], [fa22, fa22],
1132    [fa25, fa26], [fa2a, fa6d], [fa70, fad9], [fb00, fb06], [fb13, fb17],
1133    [fb1d, fb1d], [fb1f, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
1134    [fb43, fb44], [fb46, fbb1], [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7],
1135    [fdf0, fdfc], [fe10, fe19], [fe30, fe44], [fe47, fe52], [fe54, fe66],
1136    [fe68, fe6b], [fe70, fe72], [fe74, fe74], [fe76, fefc], [ff01, ffbe],
1137    [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc], [ffe0, ffe6],
1138    [ffe8, ffee], [1109a, 1109a], [1109c, 1109c], [110ab, 110ab],
1139    [1112e, 1112f], [1134b, 1134c], [114bb, 114bc], [114be, 114be],
1140    [115ba, 115bb], [1d15e, 1d164], [1d1bb, 1d1c0], [1d400, 1d454],
1141    [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
1142    [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
1143    [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
1144    [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
1145    [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d7cb], [1d7ce, 1d7ff],
1146    [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
1147    [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
1148    [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
1149    [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
1150    [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
1151    [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
1152    [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
1153    [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
1154    [1eeab, 1eebb], [1f100, 1f10a], [1f110, 1f12e], [1f130, 1f14f],
1155    [1f16a, 1f16b], [1f190, 1f190], [1f200, 1f202], [1f210, 1f23b],
1156    [1f240, 1f248], [1f250, 1f251], [2f800, 2fa1d]**/
1157    const UnicodeSet n_Set
1158        {{{Empty, 5}, {Mixed, 7}, {Empty, 1}, {Mixed, 5}, {Empty, 3},
1159          {Mixed, 3}, {Empty, 2}, {Mixed, 10}, {Empty, 2}, {Mixed, 2},
1160          {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
1161          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 18}, {Mixed, 2},
1162          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7},
1163          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1164          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1165          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1166          {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1167          {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1168          {Empty, 80}, {Mixed, 3}, {Empty, 14}, {Mixed, 4}, {Full, 1},
1169          {Empty, 2}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
1170          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 9}, {Empty, 2},
1171          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 6},
1172          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
1173          {Full, 4}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2},
1174          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1175          {Empty, 7}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2},
1176          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 8},
1177          {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 3},
1178          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
1179          {Full, 8}, {Empty, 916}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
1180          {Empty, 3}, {Mixed, 1}, {Empty, 26}, {Mixed, 1}, {Empty, 5},
1181          {Full, 349}, {Mixed, 1}, {Empty, 266}, {Full, 8}, {Mixed, 2},
1182          {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
1183          {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
1184          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6}, {Full, 3},
1185          {Mixed, 2}, {Full, 4}, {Mixed, 3}, {Empty, 132}, {Mixed, 2},
1186          {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 10},
1187          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1500}, {Mixed, 2},
1188          {Empty, 1}, {Mixed, 2}, {Empty, 17}, {Full, 2}, {Mixed, 1},
1189          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10},
1190          {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 176},
1191          {Mixed, 6}, {Empty, 18}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
1192          {Empty, 2093}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
1193         {0x773c8501, 0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0xfefdff3f,
1194          0xfff3f3f9, 0xffffff3f, 0x00018003, 0xdffffff0, 0xff3fffcf,
1195          0xcfffffff, 0x000fffc0, 0x01ff0000, 0x3f000000, 0x0000001f,
1196          0x0000001b, 0x44100000, 0x0001d7f0, 0x0001fc00, 0x007f7c00,
1197          0x02370000, 0x0200708b, 0x02000000, 0x708b0000, 0x00c00000,
1198          0xfccf0006, 0x033ffcfc, 0x00000080, 0x0000007c, 0x01e00000,
1199          0x00080005, 0x00120200, 0xff000000, 0xb0001800, 0x00480000,
1200          0x4e000000, 0x30001900, 0x00100000, 0x00001c00, 0x00000100,
1201          0x00000d81, 0x00001c00, 0x74000000, 0x00080000, 0x00080000,
1202          0x30000000, 0x00001000, 0x10842008, 0x03e80200, 0x20080002,
1203          0x02001084, 0x00000040, 0x10000000, 0x00045540, 0x28000000,
1204          0x0000000b, 0xf7ff7000, 0xffffbfff, 0x010007ff, 0xf8000000,
1205          0x0fffffff, 0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff,
1206          0xffdfffff, 0xefcfffdf, 0x7fdcffff, 0x008207ff, 0x50d88070,
1207          0x80800380, 0xfff30000, 0x1fff7fff, 0x00000100, 0x3e6ffeef,
1208          0xfbfbbd57, 0xffff03e1, 0x0c000200, 0x00004000, 0x0000e000,
1209          0x00001210, 0x0001b050, 0x00000292, 0x0333e005, 0x00000333,
1210          0x0000f000, 0x00003c0f, 0x00000600, 0x000007ff, 0x00001000,
1211          0x00700000, 0x10000000, 0x30000000, 0x00008000, 0x80000000,
1212          0x00080000, 0x003fffff, 0x00000001, 0x07400000, 0x55555000,
1213          0x36db02a5, 0xd8100000, 0x55555000, 0x36db02a5, 0xc7900000,
1214          0xfffe0000, 0xfffc7fff, 0x7fffffff, 0xffff00ff, 0x7fffffff,
1215          0x7fffffff, 0x30000000, 0x00010000, 0x03000000, 0xf0000000,
1216          0x0000000f, 0x7fe53fff, 0xfffffc65, 0xffff3fff, 0x03ffffff,
1217          0xa0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff, 0xfff80000,
1218          0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x1fff0000,
1219          0x03ff0000, 0xffff0000, 0xfff7ff9f, 0xffd70f7f, 0x1fffffff,
1220          0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x00007f7f, 0x14000000,
1221          0x00000800, 0x0000c000, 0x00001800, 0x58000000, 0x0c000000,
1222          0xc0000000, 0x0000001f, 0xf8000000, 0x00000001, 0xffdfffff,
1223          0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
1224          0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0xffffffef, 0x0af7fe96,
1225          0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0xffff07ff,
1226          0xffff7fff, 0x0000ffff, 0x00000c00, 0x00010000, 0xffff0007,
1227          0x0fffffff, 0x000301ff, 0x3fffffff}};
1228    static EnumeratedPropertyObject property_object
1229        {NFKD_QC,
1230         NFKD_QC_ns::independent_prop_values,
1231         NFKD_QC_ns::enum_names,
1232         NFKD_QC_ns::value_names,
1233         NFKD_QC_ns::aliases_only_map,
1234         {&y_Set, &n_Set
1235         }};
1236    }
1237    namespace XO_NFC_ns {
1238        /** Code Point Ranges for XO_NFC
1239        [0344, 0344], [0958, 095f], [09dc, 09dd], [09df, 09df],
1240        [0a33, 0a33], [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e],
1241        [0b5c, 0b5d], [0f43, 0f43], [0f4d, 0f4d], [0f52, 0f52],
1242        [0f57, 0f57], [0f5c, 0f5c], [0f69, 0f69], [0f73, 0f73],
1243        [0f75, 0f76], [0f78, 0f78], [0f81, 0f81], [0f93, 0f93],
1244        [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac],
1245        [0fb9, 0fb9], [2adc, 2adc], [fb1d, fb1d], [fb1f, fb1f],
1246        [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
1247        [fb43, fb44], [fb46, fb4e], [1d15e, 1d164], [1d1bb, 1d1c0]**/
1248        const UnicodeSet codepoint_set
1249            {{{Empty, 26}, {Mixed, 1}, {Empty, 47}, {Mixed, 1}, {Empty, 3},
1250              {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
1251              {Empty, 31}, {Mixed, 4}, {Empty, 216}, {Mixed, 1},
1252              {Empty, 1665}, {Mixed, 3}, {Empty, 1711}, {Mixed, 2},
1253              {Empty, 1}, {Mixed, 2}, {Empty, 31089}},
1254             {0x00000010, 0xff000000, 0xb0000000, 0x00480000, 0x4e000000,
1255              0x30000000, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
1256              0x10000000, 0xa0000000, 0x5f7ffc00, 0x00007fdb, 0xc0000000,
1257              0x0000001f, 0xf8000000, 0x00000001}};
1258        static BinaryPropertyObject property_object{XO_NFC, codepoint_set};
1259    }
1260    namespace XO_NFD_ns {
1261        /** Code Point Ranges for XO_NFD
1262        [00c0, 00c5], [00c7, 00cf], [00d1, 00d6], [00d9, 00dd],
1263        [00e0, 00e5], [00e7, 00ef], [00f1, 00f6], [00f9, 00fd],
1264        [00ff, 010f], [0112, 0125], [0128, 0130], [0134, 0137],
1265        [0139, 013e], [0143, 0148], [014c, 0151], [0154, 0165],
1266        [0168, 017e], [01a0, 01a1], [01af, 01b0], [01cd, 01dc],
1267        [01de, 01e3], [01e6, 01f0], [01f4, 01f5], [01f8, 021b],
1268        [021e, 021f], [0226, 0233], [0344, 0344], [0385, 0386],
1269        [0388, 038a], [038c, 038c], [038e, 0390], [03aa, 03b0],
1270        [03ca, 03ce], [03d3, 03d4], [0400, 0401], [0403, 0403],
1271        [0407, 0407], [040c, 040e], [0419, 0419], [0439, 0439],
1272        [0450, 0451], [0453, 0453], [0457, 0457], [045c, 045e],
1273        [0476, 0477], [04c1, 04c2], [04d0, 04d3], [04d6, 04d7],
1274        [04da, 04df], [04e2, 04e7], [04ea, 04f5], [04f8, 04f9],
1275        [0622, 0626], [06c0, 06c0], [06c2, 06c2], [06d3, 06d3],
1276        [0929, 0929], [0931, 0931], [0934, 0934], [0958, 095f],
1277        [09cb, 09cc], [09dc, 09dd], [09df, 09df], [0a33, 0a33],
1278        [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e], [0b48, 0b48],
1279        [0b4b, 0b4c], [0b5c, 0b5d], [0b94, 0b94], [0bca, 0bcc],
1280        [0c48, 0c48], [0cc0, 0cc0], [0cc7, 0cc8], [0cca, 0ccb],
1281        [0d4a, 0d4c], [0dda, 0dda], [0ddc, 0dde], [0f43, 0f43],
1282        [0f4d, 0f4d], [0f52, 0f52], [0f57, 0f57], [0f5c, 0f5c],
1283        [0f69, 0f69], [0f73, 0f73], [0f75, 0f76], [0f78, 0f78],
1284        [0f81, 0f81], [0f93, 0f93], [0f9d, 0f9d], [0fa2, 0fa2],
1285        [0fa7, 0fa7], [0fac, 0fac], [0fb9, 0fb9], [1026, 1026],
1286        [1b06, 1b06], [1b08, 1b08], [1b0a, 1b0a], [1b0c, 1b0c],
1287        [1b0e, 1b0e], [1b12, 1b12], [1b3b, 1b3b], [1b3d, 1b3d],
1288        [1b40, 1b41], [1b43, 1b43], [1e00, 1e99], [1e9b, 1e9b],
1289        [1ea0, 1ef9], [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45],
1290        [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b],
1291        [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc],
1292        [1fc1, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fee],
1293        [1ff2, 1ff4], [1ff6, 1ffc], [212b, 212b], [219a, 219b],
1294        [21ae, 21ae], [21cd, 21cf], [2204, 2204], [2209, 2209],
1295        [220c, 220c], [2224, 2224], [2226, 2226], [2241, 2241],
1296        [2244, 2244], [2247, 2247], [2249, 2249], [2260, 2260],
1297        [2262, 2262], [226d, 2271], [2274, 2275], [2278, 2279],
1298        [2280, 2281], [2284, 2285], [2288, 2289], [22ac, 22af],
1299        [22e0, 22e3], [22ea, 22ed], [2adc, 2adc], [304c, 304c],
1300        [304e, 304e], [3050, 3050], [3052, 3052], [3054, 3054],
1301        [3056, 3056], [3058, 3058], [305a, 305a], [305c, 305c],
1302        [305e, 305e], [3060, 3060], [3062, 3062], [3065, 3065],
1303        [3067, 3067], [3069, 3069], [3070, 3071], [3073, 3074],
1304        [3076, 3077], [3079, 307a], [307c, 307d], [3094, 3094],
1305        [309e, 309e], [30ac, 30ac], [30ae, 30ae], [30b0, 30b0],
1306        [30b2, 30b2], [30b4, 30b4], [30b6, 30b6], [30b8, 30b8],
1307        [30ba, 30ba], [30bc, 30bc], [30be, 30be], [30c0, 30c0],
1308        [30c2, 30c2], [30c5, 30c5], [30c7, 30c7], [30c9, 30c9],
1309        [30d0, 30d1], [30d3, 30d4], [30d6, 30d7], [30d9, 30da],
1310        [30dc, 30dd], [30f4, 30f4], [30f7, 30fa], [30fe, 30fe],
1311        [ac00, d7a3], [fb1d, fb1d], [fb1f, fb1f], [fb2a, fb36],
1312        [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
1313        [fb46, fb4e], [1109a, 1109a], [1109c, 1109c], [110ab, 110ab],
1314        [1112e, 1112f], [1134b, 1134c], [114bb, 114bc], [114be, 114be],
1315        [115ba, 115bb], [1d15e, 1d164], [1d1bb, 1d1c0]**/
1316        const UnicodeSet codepoint_set
1317            {{{Empty, 6}, {Mixed, 6}, {Empty, 1}, {Mixed, 5}, {Empty, 8},
1318              {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 4},
1319              {Empty, 2}, {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 4},
1320              {Mixed, 1}, {Empty, 18}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1321              {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 1},
1322              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1323              {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1324              {Mixed, 1}, {Empty, 11}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
1325              {Empty, 86}, {Mixed, 3}, {Empty, 21}, {Full, 4}, {Mixed, 1},
1326              {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1},
1327              {Mixed, 3}, {Empty, 9}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
1328              {Empty, 1}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 62},
1329              {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 984},
1330              {Full, 349}, {Mixed, 1}, {Empty, 282}, {Mixed, 3},
1331              {Empty, 169}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
1332              {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1333              {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1334              {Empty, 31089}},
1335             {0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0x7ef1ff3f, 0xfff3f1f8,
1336              0x7fffff3f, 0x00018003, 0xdfffe000, 0xff31ffcf, 0xcfffffff,
1337              0x000fffc0, 0x00000010, 0x0001d760, 0x0001fc00, 0x00187c00,
1338              0x0200708b, 0x02000000, 0x708b0000, 0x00c00000, 0xfccf0006,
1339              0x033ffcfc, 0x0000007c, 0x00080005, 0x00120200, 0xff000000,
1340              0xb0001800, 0x00480000, 0x4e000000, 0x30001900, 0x00100000,
1341              0x00001c00, 0x00000100, 0x00000d81, 0x00001c00, 0x74000000,
1342              0x10842008, 0x01680200, 0x20080002, 0x02001084, 0x00000040,
1343              0x00045540, 0x28000000, 0x0000000b, 0x0bffffff, 0x03ffffff,
1344              0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x1fdfffff, 0xefcfffde,
1345              0x1fdc7fff, 0x00000800, 0x0c000000, 0x00004000, 0x0000e000,
1346              0x00001210, 0x00000050, 0x00000292, 0x0333e005, 0x00000333,
1347              0x0000f000, 0x00003c0f, 0x10000000, 0x55555000, 0x36db02a5,
1348              0x40100000, 0x55555000, 0x36db02a5, 0x47900000, 0x0000000f,
1349              0xa0000000, 0x5f7ffc00, 0x00007fdb, 0x14000000, 0x00000800,
1350              0x0000c000, 0x00001800, 0x58000000, 0x0c000000, 0xc0000000,
1351              0x0000001f, 0xf8000000, 0x00000001}};
1352        static BinaryPropertyObject property_object{XO_NFD, codepoint_set};
1353    }
1354    namespace XO_NFKC_ns {
1355        /** Code Point Ranges for XO_NFKC
1356        [00a8, 00a8], [00af, 00af], [00b4, 00b4], [00b8, 00b8],
1357        [00bc, 00be], [0132, 0133], [013f, 0140], [0149, 0149],
1358        [01c4, 01cc], [01f1, 01f3], [02d8, 02dd], [0344, 0344],
1359        [037a, 037a], [0384, 0385], [0587, 0587], [0675, 0678],
1360        [0958, 095f], [09dc, 09dd], [09df, 09df], [0a33, 0a33],
1361        [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e], [0b5c, 0b5d],
1362        [0e33, 0e33], [0eb3, 0eb3], [0edc, 0edd], [0f43, 0f43],
1363        [0f4d, 0f4d], [0f52, 0f52], [0f57, 0f57], [0f5c, 0f5c],
1364        [0f69, 0f69], [0f73, 0f73], [0f75, 0f79], [0f81, 0f81],
1365        [0f93, 0f93], [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7],
1366        [0fac, 0fac], [0fb9, 0fb9], [1e9a, 1e9a], [1fbd, 1fbd],
1367        [1fbf, 1fc1], [1fcd, 1fcf], [1fdd, 1fdf], [1fed, 1fee],
1368        [1ffd, 1ffe], [2017, 2017], [2025, 2026], [2033, 2034],
1369        [2036, 2037], [203c, 203c], [203e, 203e], [2047, 2049],
1370        [2057, 2057], [20a8, 20a8], [2100, 2101], [2103, 2103],
1371        [2105, 2106], [2109, 2109], [2116, 2116], [2120, 2122],
1372        [213b, 213b], [2150, 215f], [2161, 2163], [2165, 2168],
1373        [216a, 216b], [2171, 2173], [2175, 2178], [217a, 217b],
1374        [2189, 2189], [222c, 222d], [222f, 2230], [2469, 24b5],
1375        [2a0c, 2a0c], [2a74, 2a76], [2adc, 2adc], [309b, 309c],
1376        [309f, 309f], [30ff, 30ff], [3200, 321e], [3220, 3243],
1377        [3250, 325f], [327c, 327d], [32b1, 32cf], [3300, 33ff],
1378        [fb00, fb06], [fb13, fb17], [fb1d, fb1d], [fb1f, fb1f],
1379        [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
1380        [fb43, fb44], [fb46, fb4f], [fbdd, fbdd], [fbea, fbfb],
1381        [fc00, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfc],
1382        [fe19, fe19], [fe30, fe30], [fe49, fe4c], [fe70, fe72],
1383        [fe74, fe74], [fe76, fe7f], [fef5, fefc], [ffe3, ffe3],
1384        [1d15e, 1d164], [1d1bb, 1d1c0], [1f100, 1f10a], [1f110, 1f12a],
1385        [1f12d, 1f12e], [1f14a, 1f14f], [1f16a, 1f16b], [1f190, 1f190],
1386        [1f200, 1f201], [1f240, 1f248]**/
1387        const UnicodeSet codepoint_set
1388            {{{Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
1389              {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 3},
1390              {Empty, 15}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 22},
1391              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
1392              {Empty, 7}, {Mixed, 1}, {Empty, 22}, {Mixed, 1}, {Empty, 3},
1393              {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 118}, {Mixed, 1},
1394              {Empty, 8}, {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
1395              {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 17}, {Mixed, 1},
1396              {Full, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 2},
1397              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 45}, {Mixed, 1},
1398              {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Full, 1},
1399              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Full, 8},
1400              {Empty, 1592}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Full, 9},
1401              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6},
1402              {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1674},
1403              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 249}, {Mixed, 5},
1404              {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1405              {Empty, 30829}},
1406             {0x71108100, 0x800c0000, 0x00000201, 0x00001ff0, 0x000e0000,
1407              0x3f000000, 0x00000010, 0x04000000, 0x00000030, 0x00000080,
1408              0x01e00000, 0xff000000, 0xb0000000, 0x00480000, 0x4e000000,
1409              0x30000000, 0x00080000, 0x00080000, 0x30000000, 0x10842008,
1410              0x03e80200, 0x20080002, 0x02001084, 0x04000000, 0xa0000000,
1411              0xe000e003, 0x60006000, 0x00800000, 0x50d80060, 0x00800380,
1412              0x00000100, 0x0040026b, 0x08000007, 0xffff0000, 0x0dee0dee,
1413              0x00000200, 0x0001b000, 0xfffffe00, 0x003fffff, 0x00001000,
1414              0x00700000, 0x10000000, 0x98000000, 0x80000000, 0x7fffffff,
1415              0xffff000f, 0x30000000, 0xfffe0000, 0x0000ffff, 0xa0f8007f,
1416              0x5f7ffc00, 0x0000ffdb, 0x20000000, 0x0ffffc00, 0x3fffffff,
1417              0xffff0000, 0xfffcffff, 0x000000ff, 0x1fff0000, 0x02000000,
1418              0x00010000, 0x00001e00, 0xffd70000, 0x1fe00000, 0x00000008,
1419              0xc0000000, 0x0000001f, 0xf8000000, 0x00000001, 0xffff07ff,
1420              0x000067ff, 0x0000fc00, 0x00000c00, 0x00010000, 0x00000003,
1421              0x000001ff}};
1422        static BinaryPropertyObject property_object{XO_NFKC, codepoint_set};
1423    }
1424    namespace XO_NFKD_ns {
1425        /** Code Point Ranges for XO_NFKD
1426        [00a8, 00a8], [00af, 00af], [00b4, 00b4], [00b8, 00b8],
1427        [00bc, 00be], [00c0, 00c5], [00c7, 00cf], [00d1, 00d6],
1428        [00d9, 00dd], [00e0, 00e5], [00e7, 00ef], [00f1, 00f6],
1429        [00f9, 00fd], [00ff, 010f], [0112, 0125], [0128, 0130],
1430        [0132, 0137], [0139, 0140], [0143, 0149], [014c, 0151],
1431        [0154, 0165], [0168, 017e], [01a0, 01a1], [01af, 01b0],
1432        [01c4, 01dc], [01de, 01e3], [01e6, 01f5], [01f8, 021b],
1433        [021e, 021f], [0226, 0233], [02d8, 02dd], [0344, 0344],
1434        [037a, 037a], [0384, 0386], [0388, 038a], [038c, 038c],
1435        [038e, 0390], [03aa, 03b0], [03ca, 03ce], [03d3, 03d4],
1436        [0400, 0401], [0403, 0403], [0407, 0407], [040c, 040e],
1437        [0419, 0419], [0439, 0439], [0450, 0451], [0453, 0453],
1438        [0457, 0457], [045c, 045e], [0476, 0477], [04c1, 04c2],
1439        [04d0, 04d3], [04d6, 04d7], [04da, 04df], [04e2, 04e7],
1440        [04ea, 04f5], [04f8, 04f9], [0587, 0587], [0622, 0626],
1441        [0675, 0678], [06c0, 06c0], [06c2, 06c2], [06d3, 06d3],
1442        [0929, 0929], [0931, 0931], [0934, 0934], [0958, 095f],
1443        [09cb, 09cc], [09dc, 09dd], [09df, 09df], [0a33, 0a33],
1444        [0a36, 0a36], [0a59, 0a5b], [0a5e, 0a5e], [0b48, 0b48],
1445        [0b4b, 0b4c], [0b5c, 0b5d], [0b94, 0b94], [0bca, 0bcc],
1446        [0c48, 0c48], [0cc0, 0cc0], [0cc7, 0cc8], [0cca, 0ccb],
1447        [0d4a, 0d4c], [0dda, 0dda], [0ddc, 0dde], [0e33, 0e33],
1448        [0eb3, 0eb3], [0edc, 0edd], [0f43, 0f43], [0f4d, 0f4d],
1449        [0f52, 0f52], [0f57, 0f57], [0f5c, 0f5c], [0f69, 0f69],
1450        [0f73, 0f73], [0f75, 0f79], [0f81, 0f81], [0f93, 0f93],
1451        [0f9d, 0f9d], [0fa2, 0fa2], [0fa7, 0fa7], [0fac, 0fac],
1452        [0fb9, 0fb9], [1026, 1026], [1b06, 1b06], [1b08, 1b08],
1453        [1b0a, 1b0a], [1b0c, 1b0c], [1b0e, 1b0e], [1b12, 1b12],
1454        [1b3b, 1b3b], [1b3d, 1b3d], [1b40, 1b41], [1b43, 1b43],
1455        [1e00, 1e9b], [1ea0, 1ef9], [1f00, 1f15], [1f18, 1f1d],
1456        [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
1457        [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
1458        [1fb6, 1fbd], [1fbf, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb],
1459        [1fdd, 1fee], [1ff2, 1ff4], [1ff6, 1ffe], [2017, 2017],
1460        [2025, 2026], [2033, 2034], [2036, 2037], [203c, 203c],
1461        [203e, 203e], [2047, 2049], [2057, 2057], [20a8, 20a8],
1462        [2100, 2101], [2103, 2103], [2105, 2106], [2109, 2109],
1463        [2116, 2116], [2120, 2122], [212b, 212b], [213b, 213b],
1464        [2150, 215f], [2161, 2163], [2165, 2168], [216a, 216b],
1465        [2171, 2173], [2175, 2178], [217a, 217b], [2189, 2189],
1466        [219a, 219b], [21ae, 21ae], [21cd, 21cf], [2204, 2204],
1467        [2209, 2209], [220c, 220c], [2224, 2224], [2226, 2226],
1468        [222c, 222d], [222f, 2230], [2241, 2241], [2244, 2244],
1469        [2247, 2247], [2249, 2249], [2260, 2260], [2262, 2262],
1470        [226d, 2271], [2274, 2275], [2278, 2279], [2280, 2281],
1471        [2284, 2285], [2288, 2289], [22ac, 22af], [22e0, 22e3],
1472        [22ea, 22ed], [2469, 24b5], [2a0c, 2a0c], [2a74, 2a76],
1473        [2adc, 2adc], [304c, 304c], [304e, 304e], [3050, 3050],
1474        [3052, 3052], [3054, 3054], [3056, 3056], [3058, 3058],
1475        [305a, 305a], [305c, 305c], [305e, 305e], [3060, 3060],
1476        [3062, 3062], [3065, 3065], [3067, 3067], [3069, 3069],
1477        [3070, 3071], [3073, 3074], [3076, 3077], [3079, 307a],
1478        [307c, 307d], [3094, 3094], [309b, 309c], [309e, 309f],
1479        [30ac, 30ac], [30ae, 30ae], [30b0, 30b0], [30b2, 30b2],
1480        [30b4, 30b4], [30b6, 30b6], [30b8, 30b8], [30ba, 30ba],
1481        [30bc, 30bc], [30be, 30be], [30c0, 30c0], [30c2, 30c2],
1482        [30c5, 30c5], [30c7, 30c7], [30c9, 30c9], [30d0, 30d1],
1483        [30d3, 30d4], [30d6, 30d7], [30d9, 30da], [30dc, 30dd],
1484        [30f4, 30f4], [30f7, 30fa], [30fe, 30ff], [3200, 321e],
1485        [3220, 3243], [3250, 325f], [326e, 327e], [32b1, 32cf],
1486        [3300, 33ff], [ac00, d7a3], [fb00, fb06], [fb13, fb17],
1487        [fb1d, fb1d], [fb1f, fb1f], [fb2a, fb36], [fb38, fb3c],
1488        [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4f],
1489        [fba4, fba5], [fbb0, fbb1], [fbdd, fbdd], [fbea, fbfb],
1490        [fc00, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfc],
1491        [fe19, fe19], [fe30, fe30], [fe49, fe4c], [fe70, fe72],
1492        [fe74, fe74], [fe76, fe7f], [fe81, fe8c], [fef5, fefc],
1493        [ffe3, ffe3], [1109a, 1109a], [1109c, 1109c], [110ab, 110ab],
1494        [1112e, 1112f], [1134b, 1134c], [114bb, 114bc], [114be, 114be],
1495        [115ba, 115bb], [1d15e, 1d164], [1d1bb, 1d1c0], [1f100, 1f10a],
1496        [1f110, 1f12a], [1f12d, 1f12e], [1f14a, 1f14f], [1f16a, 1f16b],
1497        [1f190, 1f190], [1f200, 1f201], [1f213, 1f213], [1f240, 1f248]**/
1498        const UnicodeSet codepoint_set
1499            {{{Empty, 5}, {Mixed, 7}, {Empty, 1}, {Mixed, 5}, {Empty, 4},
1500              {Mixed, 1}, {Empty, 3}, {Mixed, 5}, {Empty, 1}, {Mixed, 4},
1501              {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 4},
1502              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1503              {Empty, 18}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
1504              {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1505              {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1506              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1507              {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
1508              {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 86}, {Mixed, 3},
1509              {Empty, 21}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
1510              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 6}, {Empty, 2},
1511              {Mixed, 1}, {Empty, 2}, {Mixed, 7}, {Empty, 1}, {Mixed, 6},
1512              {Empty, 1}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 1},
1513              {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1514              {Empty, 2}, {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 8},
1515              {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1516              {Empty, 1}, {Full, 8}, {Empty, 960}, {Full, 349}, {Mixed, 1},
1517              {Empty, 282}, {Mixed, 3}, {Empty, 2}, {Mixed, 3}, {Full, 9},
1518              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 7},
1519              {Empty, 2}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 132},
1520              {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
1521              {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1522              {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1523              {Empty, 249}, {Mixed, 5}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1524              {Mixed, 1}, {Empty, 30829}},
1525             {0x71108100, 0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0xfefdff3f,
1526              0xfff3f3f9, 0x7fffff3f, 0x00018003, 0xdffffff0, 0xff3fffcf,
1527              0xcfffffff, 0x000fffc0, 0x3f000000, 0x00000010, 0x04000000,
1528              0x0001d770, 0x0001fc00, 0x00187c00, 0x0200708b, 0x02000000,
1529              0x708b0000, 0x00c00000, 0xfccf0006, 0x033ffcfc, 0x00000080,
1530              0x0000007c, 0x01e00000, 0x00080005, 0x00120200, 0xff000000,
1531              0xb0001800, 0x00480000, 0x4e000000, 0x30001900, 0x00100000,
1532              0x00001c00, 0x00000100, 0x00000d81, 0x00001c00, 0x74000000,
1533              0x00080000, 0x00080000, 0x30000000, 0x10842008, 0x03e80200,
1534              0x20080002, 0x02001084, 0x00000040, 0x00045540, 0x28000000,
1535              0x0000000b, 0x0fffffff, 0x03ffffff, 0x3f3fffff, 0xaaff3f3f,
1536              0x3fffffff, 0xbfdfffff, 0xefcfffdf, 0x7fdc7fff, 0x00800000,
1537              0x50d80060, 0x00800380, 0x00000100, 0x0040026b, 0x08000807,
1538              0xffff0000, 0x0dee0dee, 0x0c000200, 0x00004000, 0x0000e000,
1539              0x00001210, 0x0001b050, 0x00000292, 0x0333e005, 0x00000333,
1540              0x0000f000, 0x00003c0f, 0xfffffe00, 0x003fffff, 0x00001000,
1541              0x00700000, 0x10000000, 0x55555000, 0x36db02a5, 0xd8100000,
1542              0x55555000, 0x36db02a5, 0xc7900000, 0x7fffffff, 0xffff000f,
1543              0x7fffc000, 0xfffe0000, 0x0000ffff, 0x0000000f, 0xa0f8007f,
1544              0x5f7ffc00, 0x0000ffdb, 0x00030030, 0x20000000, 0x0ffffc00,
1545              0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x1fff0000,
1546              0x02000000, 0x00010000, 0x00001e00, 0xffd70000, 0x00001ffe,
1547              0x1fe00000, 0x00000008, 0x14000000, 0x00000800, 0x0000c000,
1548              0x00001800, 0x58000000, 0x0c000000, 0xc0000000, 0x0000001f,
1549              0xf8000000, 0x00000001, 0xffff07ff, 0x000067ff, 0x0000fc00,
1550              0x00000c00, 0x00010000, 0x00080003, 0x000001ff}};
1551        static BinaryPropertyObject property_object{XO_NFKD, codepoint_set};
1552    }
1553}
1554
1555
1556#endif
Note: See TracBrowser for help on using the repository browser.