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

Last change on this file since 5641 was 5159, checked in by cameron, 3 years ago

Support for enumeration basis sets

File size: 94.9 KB
Line 
1#ifndef DERIVEDNORMALIZATIONPROPS_H
2#define DERIVEDNORMALIZATIONPROPS_H
3/*
4 *  Copyright (c) 2016 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 "unicode_set.h"
13#include <vector>
14
15namespace UCD {
16    namespace CWKCF_ns {
17        /** Code Point Ranges for CWKCF
18        [65, 90], [160, 160], [168, 168], [170, 170], [173, 173],
19        [175, 175], [178, 181], [184, 186], [188, 190], [192, 214],
20        [216, 223], [256, 256], [258, 258], [260, 260], [262, 262],
21        [264, 264], [266, 266], [268, 268], [270, 270], [272, 272],
22        [274, 274], [276, 276], [278, 278], [280, 280], [282, 282],
23        [284, 284], [286, 286], [288, 288], [290, 290], [292, 292],
24        [294, 294], [296, 296], [298, 298], [300, 300], [302, 302],
25        [304, 304], [306, 308], [310, 310], [313, 313], [315, 315],
26        [317, 317], [319, 321], [323, 323], [325, 325], [327, 327],
27        [329, 330], [332, 332], [334, 334], [336, 336], [338, 338],
28        [340, 340], [342, 342], [344, 344], [346, 346], [348, 348],
29        [350, 350], [352, 352], [354, 354], [356, 356], [358, 358],
30        [360, 360], [362, 362], [364, 364], [366, 366], [368, 368],
31        [370, 370], [372, 372], [374, 374], [376, 377], [379, 379],
32        [381, 381], [383, 383], [385, 386], [388, 388], [390, 391],
33        [393, 395], [398, 401], [403, 404], [406, 408], [412, 413],
34        [415, 416], [418, 418], [420, 420], [422, 423], [425, 425],
35        [428, 428], [430, 431], [433, 435], [437, 437], [439, 440],
36        [444, 444], [452, 461], [463, 463], [465, 465], [467, 467],
37        [469, 469], [471, 471], [473, 473], [475, 475], [478, 478],
38        [480, 480], [482, 482], [484, 484], [486, 486], [488, 488],
39        [490, 490], [492, 492], [494, 494], [497, 500], [502, 504],
40        [506, 506], [508, 508], [510, 510], [512, 512], [514, 514],
41        [516, 516], [518, 518], [520, 520], [522, 522], [524, 524],
42        [526, 526], [528, 528], [530, 530], [532, 532], [534, 534],
43        [536, 536], [538, 538], [540, 540], [542, 542], [544, 544],
44        [546, 546], [548, 548], [550, 550], [552, 552], [554, 554],
45        [556, 556], [558, 558], [560, 560], [562, 562], [570, 571],
46        [573, 574], [577, 577], [579, 582], [584, 584], [586, 586],
47        [588, 588], [590, 590], [688, 696], [728, 733], [736, 740],
48        [832, 833], [835, 837], [847, 847], [880, 880], [882, 882],
49        [884, 884], [886, 886], [890, 890], [894, 895], [900, 906],
50        [908, 908], [910, 911], [913, 929], [931, 939], [962, 962],
51        [975, 982], [984, 984], [986, 986], [988, 988], [990, 990],
52        [992, 992], [994, 994], [996, 996], [998, 998], [1000, 1000],
53        [1002, 1002], [1004, 1004], [1006, 1006], [1008, 1010],
54        [1012, 1013], [1015, 1015], [1017, 1018], [1021, 1071],
55        [1120, 1120], [1122, 1122], [1124, 1124], [1126, 1126],
56        [1128, 1128], [1130, 1130], [1132, 1132], [1134, 1134],
57        [1136, 1136], [1138, 1138], [1140, 1140], [1142, 1142],
58        [1144, 1144], [1146, 1146], [1148, 1148], [1150, 1150],
59        [1152, 1152], [1162, 1162], [1164, 1164], [1166, 1166],
60        [1168, 1168], [1170, 1170], [1172, 1172], [1174, 1174],
61        [1176, 1176], [1178, 1178], [1180, 1180], [1182, 1182],
62        [1184, 1184], [1186, 1186], [1188, 1188], [1190, 1190],
63        [1192, 1192], [1194, 1194], [1196, 1196], [1198, 1198],
64        [1200, 1200], [1202, 1202], [1204, 1204], [1206, 1206],
65        [1208, 1208], [1210, 1210], [1212, 1212], [1214, 1214],
66        [1216, 1217], [1219, 1219], [1221, 1221], [1223, 1223],
67        [1225, 1225], [1227, 1227], [1229, 1229], [1232, 1232],
68        [1234, 1234], [1236, 1236], [1238, 1238], [1240, 1240],
69        [1242, 1242], [1244, 1244], [1246, 1246], [1248, 1248],
70        [1250, 1250], [1252, 1252], [1254, 1254], [1256, 1256],
71        [1258, 1258], [1260, 1260], [1262, 1262], [1264, 1264],
72        [1266, 1266], [1268, 1268], [1270, 1270], [1272, 1272],
73        [1274, 1274], [1276, 1276], [1278, 1278], [1280, 1280],
74        [1282, 1282], [1284, 1284], [1286, 1286], [1288, 1288],
75        [1290, 1290], [1292, 1292], [1294, 1294], [1296, 1296],
76        [1298, 1298], [1300, 1300], [1302, 1302], [1304, 1304],
77        [1306, 1306], [1308, 1308], [1310, 1310], [1312, 1312],
78        [1314, 1314], [1316, 1316], [1318, 1318], [1320, 1320],
79        [1322, 1322], [1324, 1324], [1326, 1326], [1329, 1366],
80        [1415, 1415], [1564, 1564], [1653, 1656], [2392, 2399],
81        [2524, 2525], [2527, 2527], [2611, 2611], [2614, 2614],
82        [2649, 2651], [2654, 2654], [2908, 2909], [3635, 3635],
83        [3763, 3763], [3804, 3805], [3852, 3852], [3907, 3907],
84        [3917, 3917], [3922, 3922], [3927, 3927], [3932, 3932],
85        [3945, 3945], [3955, 3955], [3957, 3961], [3969, 3969],
86        [3987, 3987], [3997, 3997], [4002, 4002], [4007, 4007],
87        [4012, 4012], [4025, 4025], [4256, 4293], [4295, 4295],
88        [4301, 4301], [4348, 4348], [4447, 4448], [5112, 5117],
89        [6068, 6069], [6155, 6158], [7296, 7304], [7468, 7470],
90        [7472, 7482], [7484, 7501], [7503, 7530], [7544, 7544],
91        [7579, 7615], [7680, 7680], [7682, 7682], [7684, 7684],
92        [7686, 7686], [7688, 7688], [7690, 7690], [7692, 7692],
93        [7694, 7694], [7696, 7696], [7698, 7698], [7700, 7700],
94        [7702, 7702], [7704, 7704], [7706, 7706], [7708, 7708],
95        [7710, 7710], [7712, 7712], [7714, 7714], [7716, 7716],
96        [7718, 7718], [7720, 7720], [7722, 7722], [7724, 7724],
97        [7726, 7726], [7728, 7728], [7730, 7730], [7732, 7732],
98        [7734, 7734], [7736, 7736], [7738, 7738], [7740, 7740],
99        [7742, 7742], [7744, 7744], [7746, 7746], [7748, 7748],
100        [7750, 7750], [7752, 7752], [7754, 7754], [7756, 7756],
101        [7758, 7758], [7760, 7760], [7762, 7762], [7764, 7764],
102        [7766, 7766], [7768, 7768], [7770, 7770], [7772, 7772],
103        [7774, 7774], [7776, 7776], [7778, 7778], [7780, 7780],
104        [7782, 7782], [7784, 7784], [7786, 7786], [7788, 7788],
105        [7790, 7790], [7792, 7792], [7794, 7794], [7796, 7796],
106        [7798, 7798], [7800, 7800], [7802, 7802], [7804, 7804],
107        [7806, 7806], [7808, 7808], [7810, 7810], [7812, 7812],
108        [7814, 7814], [7816, 7816], [7818, 7818], [7820, 7820],
109        [7822, 7822], [7824, 7824], [7826, 7826], [7828, 7828],
110        [7834, 7835], [7838, 7838], [7840, 7840], [7842, 7842],
111        [7844, 7844], [7846, 7846], [7848, 7848], [7850, 7850],
112        [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
113        [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866],
114        [7868, 7868], [7870, 7870], [7872, 7872], [7874, 7874],
115        [7876, 7876], [7878, 7878], [7880, 7880], [7882, 7882],
116        [7884, 7884], [7886, 7886], [7888, 7888], [7890, 7890],
117        [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
118        [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906],
119        [7908, 7908], [7910, 7910], [7912, 7912], [7914, 7914],
120        [7916, 7916], [7918, 7918], [7920, 7920], [7922, 7922],
121        [7924, 7924], [7926, 7926], [7928, 7928], [7930, 7930],
122        [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
123        [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025],
124        [8027, 8027], [8029, 8029], [8031, 8031], [8040, 8047],
125        [8049, 8049], [8051, 8051], [8053, 8053], [8055, 8055],
126        [8057, 8057], [8059, 8059], [8061, 8061], [8064, 8111],
127        [8114, 8116], [8119, 8132], [8135, 8143], [8147, 8147],
128        [8152, 8155], [8157, 8159], [8163, 8163], [8168, 8175],
129        [8178, 8180], [8183, 8190], [8192, 8207], [8209, 8209],
130        [8215, 8215], [8228, 8230], [8234, 8239], [8243, 8244],
131        [8246, 8247], [8252, 8252], [8254, 8254], [8263, 8265],
132        [8279, 8279], [8287, 8305], [8308, 8334], [8336, 8348],
133        [8360, 8360], [8448, 8451], [8453, 8455], [8457, 8467],
134        [8469, 8470], [8473, 8477], [8480, 8482], [8484, 8484],
135        [8486, 8486], [8488, 8488], [8490, 8493], [8495, 8505],
136        [8507, 8512], [8517, 8521], [8528, 8575], [8579, 8579],
137        [8585, 8585], [8748, 8749], [8751, 8752], [9001, 9002],
138        [9312, 9450], [10764, 10764], [10868, 10870], [10972, 10972],
139        [11264, 11310], [11360, 11360], [11362, 11364], [11367, 11367],
140        [11369, 11369], [11371, 11371], [11373, 11376], [11378, 11378],
141        [11381, 11381], [11388, 11392], [11394, 11394], [11396, 11396],
142        [11398, 11398], [11400, 11400], [11402, 11402], [11404, 11404],
143        [11406, 11406], [11408, 11408], [11410, 11410], [11412, 11412],
144        [11414, 11414], [11416, 11416], [11418, 11418], [11420, 11420],
145        [11422, 11422], [11424, 11424], [11426, 11426], [11428, 11428],
146        [11430, 11430], [11432, 11432], [11434, 11434], [11436, 11436],
147        [11438, 11438], [11440, 11440], [11442, 11442], [11444, 11444],
148        [11446, 11446], [11448, 11448], [11450, 11450], [11452, 11452],
149        [11454, 11454], [11456, 11456], [11458, 11458], [11460, 11460],
150        [11462, 11462], [11464, 11464], [11466, 11466], [11468, 11468],
151        [11470, 11470], [11472, 11472], [11474, 11474], [11476, 11476],
152        [11478, 11478], [11480, 11480], [11482, 11482], [11484, 11484],
153        [11486, 11486], [11488, 11488], [11490, 11490], [11499, 11499],
154        [11501, 11501], [11506, 11506], [11631, 11631], [11935, 11935],
155        [12019, 12019], [12032, 12245], [12288, 12288], [12342, 12342],
156        [12344, 12346], [12443, 12444], [12447, 12447], [12543, 12543],
157        [12593, 12686], [12690, 12703], [12800, 12830], [12832, 12871],
158        [12880, 12926], [12928, 13054], [13056, 13311], [42560, 42560],
159        [42562, 42562], [42564, 42564], [42566, 42566], [42568, 42568],
160        [42570, 42570], [42572, 42572], [42574, 42574], [42576, 42576],
161        [42578, 42578], [42580, 42580], [42582, 42582], [42584, 42584],
162        [42586, 42586], [42588, 42588], [42590, 42590], [42592, 42592],
163        [42594, 42594], [42596, 42596], [42598, 42598], [42600, 42600],
164        [42602, 42602], [42604, 42604], [42624, 42624], [42626, 42626],
165        [42628, 42628], [42630, 42630], [42632, 42632], [42634, 42634],
166        [42636, 42636], [42638, 42638], [42640, 42640], [42642, 42642],
167        [42644, 42644], [42646, 42646], [42648, 42648], [42650, 42650],
168        [42652, 42653], [42786, 42786], [42788, 42788], [42790, 42790],
169        [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
170        [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
171        [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
172        [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
173        [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
174        [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
175        [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
176        [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
177        [42858, 42858], [42860, 42860], [42862, 42862], [42864, 42864],
178        [42873, 42873], [42875, 42875], [42877, 42878], [42880, 42880],
179        [42882, 42882], [42884, 42884], [42886, 42886], [42891, 42891],
180        [42893, 42893], [42896, 42896], [42898, 42898], [42902, 42902],
181        [42904, 42904], [42906, 42906], [42908, 42908], [42910, 42910],
182        [42912, 42912], [42914, 42914], [42916, 42916], [42918, 42918],
183        [42920, 42920], [42922, 42926], [42928, 42932], [42934, 42934],
184        [43000, 43001], [43868, 43871], [43888, 43967], [63744, 64013],
185        [64016, 64016], [64018, 64018], [64021, 64030], [64032, 64032],
186        [64034, 64034], [64037, 64038], [64042, 64109], [64112, 64217],
187        [64256, 64262], [64275, 64279], [64285, 64285], [64287, 64310],
188        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
189        [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
190        [65008, 65020], [65024, 65049], [65072, 65092], [65095, 65106],
191        [65108, 65126], [65128, 65131], [65136, 65138], [65140, 65140],
192        [65142, 65276], [65279, 65279], [65281, 65470], [65474, 65479],
193        [65482, 65487], [65490, 65495], [65498, 65500], [65504, 65510],
194        [65512, 65518], [65520, 65528], [66560, 66599], [66736, 66771],
195        [68736, 68786], [71840, 71871], [113824, 113827], [119134, 119140],
196        [119155, 119162], [119227, 119232], [119808, 119892],
197        [119894, 119964], [119966, 119967], [119970, 119970],
198        [119973, 119974], [119977, 119980], [119982, 119993],
199        [119995, 119995], [119997, 120003], [120005, 120069],
200        [120071, 120074], [120077, 120084], [120086, 120092],
201        [120094, 120121], [120123, 120126], [120128, 120132],
202        [120134, 120134], [120138, 120144], [120146, 120485],
203        [120488, 120779], [120782, 120831], [125184, 125217],
204        [126464, 126467], [126469, 126495], [126497, 126498],
205        [126500, 126500], [126503, 126503], [126505, 126514],
206        [126516, 126519], [126521, 126521], [126523, 126523],
207        [126530, 126530], [126535, 126535], [126537, 126537],
208        [126539, 126539], [126541, 126543], [126545, 126546],
209        [126548, 126548], [126551, 126551], [126553, 126553],
210        [126555, 126555], [126557, 126557], [126559, 126559],
211        [126561, 126562], [126564, 126564], [126567, 126570],
212        [126572, 126578], [126580, 126583], [126585, 126588],
213        [126590, 126590], [126592, 126601], [126603, 126619],
214        [126625, 126627], [126629, 126633], [126635, 126651],
215        [127232, 127242], [127248, 127278], [127280, 127311],
216        [127338, 127339], [127376, 127376], [127488, 127490],
217        [127504, 127547], [127552, 127560], [127568, 127569],
218        [194560, 195101], [917504, 921599]**/
219        const UnicodeSet codepoint_set
220            {{{Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
221              {Mixed, 11}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 6},
222              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 8}, {Empty, 1},
223              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
224              {Empty, 22}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
225              {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 22}, {Mixed, 1},
226              {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
227              {Mixed, 4}, {Empty, 7}, {Full, 1}, {Mixed, 2}, {Empty, 2},
228              {Mixed, 2}, {Empty, 19}, {Mixed, 1}, {Empty, 29}, {Mixed, 1},
229              {Empty, 2}, {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 4},
230              {Mixed, 4}, {Full, 1}, {Empty, 2}, {Mixed, 12}, {Full, 1},
231              {Mixed, 9}, {Empty, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
232              {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 9},
233              {Full, 4}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2},
234              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 9}, {Full, 1},
235              {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 3}, {Mixed, 1},
236              {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 6},
237              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
238              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2},
239              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
240              {Full, 3}, {Mixed, 1}, {Full, 8}, {Empty, 914}, {Mixed, 3},
241              {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 26},
242              {Mixed, 2}, {Full, 2}, {Empty, 618}, {Full, 8}, {Mixed, 2},
243              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
244              {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
245              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6}, {Full, 3},
246              {Mixed, 2}, {Full, 4}, {Mixed, 3}, {Empty, 32}, {Full, 1},
247              {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 61}, {Full, 1},
248              {Mixed, 1}, {Empty, 95}, {Full, 1}, {Empty, 1311}, {Mixed, 1},
249              {Empty, 164}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 17},
250              {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
251              {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
252              {Full, 1}, {Empty, 136}, {Full, 1}, {Mixed, 1}, {Empty, 38},
253              {Mixed, 6}, {Empty, 18}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
254              {Empty, 2093}, {Full, 16}, {Mixed, 1}, {Empty, 22575},
255              {Full, 128}, {Empty, 6016}},
256             {0x07fffffe, 0x773ca501, 0xff7fffff, 0x55555555, 0xaa5d5555,
257              0x555556ab, 0xab555555, 0xb1dbced6, 0x11aed2d5, 0x4aaabff0,
258              0x55de5555, 0x55555555, 0x6c055555, 0x0000557a, 0x01ff0000,
259              0x3f000000, 0x0000001f, 0x0000803b, 0xc4550000, 0xfffed7f0,
260              0x00000ffb, 0x557f8004, 0xe6b75555, 0x0000ffff, 0x55555555,
261              0x55555401, 0x55555555, 0x55552aab, 0x55555555, 0x55555555,
262              0xfffe5555, 0x007fffff, 0x00000080, 0x10000000, 0x01e00000,
263              0xff000000, 0xb0000000, 0x00480000, 0x4e000000, 0x30000000,
264              0x00080000, 0x00080000, 0x30000000, 0x00001000, 0x10842008,
265              0x03e80200, 0x20080002, 0x02001084, 0x000020bf, 0x10000000,
266              0x80000000, 0x00000001, 0x3f000000, 0x00300000, 0x00007800,
267              0x000001ff, 0xf7ff7000, 0xffffbfff, 0x010007ff, 0xf8000000,
268              0x55555555, 0x55555555, 0x55555555, 0x55555555, 0x4c155555,
269              0x55555555, 0x55555555, 0x55555555, 0x3f00ff00, 0xff00ff00,
270              0xaa003f00, 0x2aaaff00, 0xff9cffff, 0xef08ff9f, 0x7f9cff08,
271              0x0082ffff, 0x50d8fc70, 0x80800380, 0xfff3ffff, 0x1fff7fff,
272              0x00000100, 0x3e6ffeef, 0xfbffbd57, 0xffff03e1, 0x00000208,
273              0x0001b000, 0x00000600, 0x000007ff, 0x00001000, 0x00700000,
274              0x10000000, 0x00007fff, 0xf025ea9d, 0x55555555, 0x55555555,
275              0x55555555, 0x00042805, 0x00008000, 0x80000000, 0x00080000,
276              0x003fffff, 0x00000001, 0x07400000, 0x98000000, 0x80000000,
277              0xfffe0000, 0xfffc7fff, 0x7fffffff, 0xffff00ff, 0x7fffffff,
278              0x7fffffff, 0x55555555, 0x00001555, 0x35555555, 0x55545554,
279              0x55555555, 0x6a015555, 0x55452855, 0x005f7d55, 0x03000000,
280              0xf0000000, 0xffff0000, 0x7fe53fff, 0xfffffc65, 0xffff3fff,
281              0x03ffffff, 0xa0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff,
282              0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
283              0x1fff0000, 0x03ffffff, 0xffff0000, 0xfff7ff9f, 0xffd70f7f,
284              0x9fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x01ff7f7f,
285              0x000000ff, 0xffff0000, 0x000fffff, 0x0007ffff, 0x0000000f,
286              0xc0000000, 0x07f8001f, 0xf8000000, 0x00000001, 0xffdfffff,
287              0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
288              0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0x00000003, 0xffffffef,
289              0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
290              0xffff07ff, 0xffff7fff, 0x0000ffff, 0x00000c00, 0x00010000,
291              0xffff0007, 0x0fffffff, 0x000301ff, 0x3fffffff}};
292        static BinaryPropertyObject property_object{CWKCF, codepoint_set};
293    }
294    namespace COMP_EX_ns {
295        /** Code Point Ranges for Comp_Ex
296        [832, 833], [835, 836], [884, 884], [894, 894], [903, 903],
297        [2392, 2399], [2524, 2525], [2527, 2527], [2611, 2611],
298        [2614, 2614], [2649, 2651], [2654, 2654], [2908, 2909],
299        [3907, 3907], [3917, 3917], [3922, 3922], [3927, 3927],
300        [3932, 3932], [3945, 3945], [3955, 3955], [3957, 3958],
301        [3960, 3960], [3969, 3969], [3987, 3987], [3997, 3997],
302        [4002, 4002], [4007, 4007], [4012, 4012], [4025, 4025],
303        [8049, 8049], [8051, 8051], [8053, 8053], [8055, 8055],
304        [8057, 8057], [8059, 8059], [8061, 8061], [8123, 8123],
305        [8126, 8126], [8137, 8137], [8139, 8139], [8147, 8147],
306        [8155, 8155], [8163, 8163], [8171, 8171], [8174, 8175],
307        [8185, 8185], [8187, 8187], [8189, 8189], [8192, 8193],
308        [8486, 8486], [8490, 8491], [9001, 9002], [10972, 10972],
309        [63744, 64013], [64016, 64016], [64018, 64018], [64021, 64030],
310        [64032, 64032], [64034, 64034], [64037, 64038], [64042, 64109],
311        [64112, 64217], [64285, 64285], [64287, 64287], [64298, 64310],
312        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
313        [64326, 64334], [119134, 119140], [119227, 119232],
314        [194560, 195101]**/
315        const UnicodeSet codepoint_set
316            {{{Empty, 26}, {Mixed, 3}, {Empty, 45}, {Mixed, 1}, {Empty, 3},
317              {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
318              {Empty, 31}, {Mixed, 4}, {Empty, 125}, {Mixed, 1}, {Empty, 1},
319              {Mixed, 4}, {Empty, 8}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
320              {Empty, 60}, {Mixed, 1}, {Empty, 1649}, {Full, 8}, {Mixed, 2},
321              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
322              {Mixed, 3}, {Empty, 1711}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
323              {Empty, 2353}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
324             {0x0000001b, 0x40100000, 0x00000080, 0xff000000, 0xb0000000,
325              0x00480000, 0x4e000000, 0x30000000, 0x10842008, 0x01680200,
326              0x20080002, 0x02001084, 0x2aaa0000, 0x48000000, 0x08080a00,
327              0x2a00c808, 0x00000003, 0x00000c40, 0x00000600, 0x10000000,
328              0x7fe53fff, 0xfffffc65, 0xffff3fff, 0x03ffffff, 0xa0000000,
329              0x5f7ffc00, 0x00007fdb, 0xc0000000, 0x0000001f, 0xf8000000,
330              0x00000001, 0x3fffffff}};
331        static BinaryPropertyObject property_object{Comp_Ex, codepoint_set};
332    }
333    namespace FC_NFKC_ns {
334        /** Code Point Ranges for FC_NFKC
335        [890, 890], [978, 980], [1010, 1010], [1017, 1017], [7468, 7470],
336        [7472, 7482], [7484, 7490], [8360, 8360], [8450, 8451],
337        [8455, 8455], [8457, 8457], [8459, 8461], [8464, 8466],
338        [8469, 8470], [8473, 8477], [8480, 8482], [8484, 8484],
339        [8488, 8488], [8492, 8493], [8496, 8497], [8499, 8499],
340        [8507, 8507], [8510, 8511], [8517, 8517], [11389, 11389],
341        [12880, 12880], [13004, 13004], [13006, 13007], [13169, 13169],
342        [13171, 13171], [13173, 13173], [13178, 13178], [13184, 13191],
343        [13194, 13196], [13200, 13204], [13225, 13228], [13236, 13249],
344        [13251, 13251], [13254, 13257], [13259, 13259], [13261, 13262],
345        [13271, 13271], [13273, 13274], [13276, 13279], [43000, 43000],
346        [119808, 119833], [119860, 119885], [119912, 119937],
347        [119964, 119964], [119966, 119967], [119970, 119970],
348        [119973, 119974], [119977, 119980], [119982, 119989],
349        [120016, 120041], [120068, 120069], [120071, 120074],
350        [120077, 120084], [120086, 120092], [120120, 120121],
351        [120123, 120126], [120128, 120132], [120134, 120134],
352        [120138, 120144], [120172, 120197], [120224, 120249],
353        [120276, 120301], [120328, 120353], [120380, 120405],
354        [120432, 120457], [120488, 120512], [120531, 120531],
355        [120546, 120570], [120589, 120589], [120604, 120628],
356        [120647, 120647], [120662, 120686], [120705, 120705],
357        [120720, 120744], [120763, 120763], [120778, 120778],
358        [127248, 127278], [127280, 127311], [127338, 127339],
359        [127376, 127376]**/
360        const UnicodeSet codepoint_set
361            {{{Empty, 27}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 201},
362              {Mixed, 2}, {Empty, 26}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
363              {Empty, 88}, {Mixed, 1}, {Empty, 46}, {Mixed, 1}, {Empty, 3},
364              {Mixed, 1}, {Empty, 4}, {Mixed, 4}, {Empty, 928}, {Mixed, 1},
365              {Empty, 2400}, {Mixed, 31}, {Empty, 201}, {Mixed, 5},
366              {Empty, 30835}},
367             {0x04000000, 0x001c0000, 0x02040000, 0xf7ff7000, 0x00000007,
368              0x00000100, 0x3e673a8c, 0xc80b3117, 0x00000020, 0x20000000,
369              0x00010000, 0x0000d000, 0x042a0000, 0x001f1cff, 0xfff01e00,
370              0xf6806bcb, 0x01000000, 0x03ffffff, 0xfff00000, 0x00003fff,
371              0xffffff00, 0xd0000003, 0x003fde64, 0xffff0000, 0x000003ff,
372              0x1fdfe7b0, 0x7b000000, 0x0001fc5f, 0xfffff000, 0x0000003f,
373              0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00, 0xf0000003,
374              0x003fffff, 0xffff0000, 0x000003ff, 0xffffff00, 0x00080001,
375              0x07fffffc, 0xf0002000, 0x001fffff, 0xffc00080, 0x00007fff,
376              0xffff0002, 0x080001ff, 0x00000400, 0xffff0000, 0xffff7fff,
377              0x0000ffff, 0x00000c00, 0x00010000}};
378        static BinaryPropertyObject property_object{FC_NFKC, codepoint_set};
379    }
380    namespace NFC_QC_ns {
381        /** Code Point Ranges for NFC_QC
382        [768, 772], [774, 780], [783, 783], [785, 785], [787, 788],
383        [795, 795], [803, 808], [813, 814], [816, 817], [824, 824],
384        [832, 837], [884, 884], [894, 894], [903, 903], [1619, 1621],
385        [2364, 2364], [2392, 2399], [2494, 2494], [2519, 2519],
386        [2524, 2525], [2527, 2527], [2611, 2611], [2614, 2614],
387        [2649, 2651], [2654, 2654], [2878, 2878], [2902, 2903],
388        [2908, 2909], [3006, 3006], [3031, 3031], [3158, 3158],
389        [3266, 3266], [3285, 3286], [3390, 3390], [3415, 3415],
390        [3530, 3530], [3535, 3535], [3551, 3551], [3907, 3907],
391        [3917, 3917], [3922, 3922], [3927, 3927], [3932, 3932],
392        [3945, 3945], [3955, 3955], [3957, 3958], [3960, 3960],
393        [3969, 3969], [3987, 3987], [3997, 3997], [4002, 4002],
394        [4007, 4007], [4012, 4012], [4025, 4025], [4142, 4142],
395        [4449, 4469], [4520, 4546], [6965, 6965], [8049, 8049],
396        [8051, 8051], [8053, 8053], [8055, 8055], [8057, 8057],
397        [8059, 8059], [8061, 8061], [8123, 8123], [8126, 8126],
398        [8137, 8137], [8139, 8139], [8147, 8147], [8155, 8155],
399        [8163, 8163], [8171, 8171], [8174, 8175], [8185, 8185],
400        [8187, 8187], [8189, 8189], [8192, 8193], [8486, 8486],
401        [8490, 8491], [9001, 9002], [10972, 10972], [12441, 12442],
402        [63744, 64013], [64016, 64016], [64018, 64018], [64021, 64030],
403        [64032, 64032], [64034, 64034], [64037, 64038], [64042, 64109],
404        [64112, 64217], [64285, 64285], [64287, 64287], [64298, 64310],
405        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
406        [64326, 64334], [69818, 69818], [69927, 69927], [70462, 70462],
407        [70487, 70487], [70832, 70832], [70842, 70842], [70845, 70845],
408        [71087, 71087], [119134, 119140], [119227, 119232],
409        [194560, 195101]**/
410        const UnicodeSet codepoint_set
411            {{{Empty, 24}, {Mixed, 5}, {Empty, 21}, {Mixed, 1}, {Empty, 22},
412              {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
413              {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
414              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
415              {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 4}, {Empty, 3},
416              {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
417              {Empty, 74}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 1},
418              {Mixed, 4}, {Empty, 8}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
419              {Empty, 60}, {Mixed, 1}, {Empty, 45}, {Mixed, 1},
420              {Empty, 1603}, {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
421              {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 170},
422              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 15}, {Mixed, 2},
423              {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
424              {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
425              {Empty, 2353}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
426             {0x081a9fdf, 0x010361f8, 0x0000003f, 0x40100000, 0x00000080,
427              0x00380000, 0x10000000, 0xff000000, 0x40000000, 0xb0800000,
428              0x00480000, 0x4e000000, 0x40000000, 0x30c00000, 0x40000000,
429              0x00800000, 0x00400000, 0x00600004, 0x40000000, 0x00800000,
430              0x80008400, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
431              0x00004000, 0x003ffffe, 0xffffff00, 0x00000007, 0x00200000,
432              0x2aaa0000, 0x48000000, 0x08080a00, 0x2a00c808, 0x00000003,
433              0x00000c40, 0x00000600, 0x10000000, 0x06000000, 0x7fe53fff,
434              0xfffffc65, 0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffc00,
435              0x00007fdb, 0x04000000, 0x00000080, 0x40000000, 0x00800000,
436              0x24010000, 0x00008000, 0xc0000000, 0x0000001f, 0xf8000000,
437              0x00000001, 0x3fffffff}};
438        static BinaryPropertyObject property_object{NFC_QC, codepoint_set};
439    }
440    namespace NFD_QC_ns {
441        /** Code Point Ranges for NFD_QC
442        [192, 197], [199, 207], [209, 214], [217, 221], [224, 229],
443        [231, 239], [241, 246], [249, 253], [255, 271], [274, 293],
444        [296, 304], [308, 311], [313, 318], [323, 328], [332, 337],
445        [340, 357], [360, 382], [416, 417], [431, 432], [461, 476],
446        [478, 483], [486, 496], [500, 501], [504, 539], [542, 543],
447        [550, 563], [832, 833], [835, 836], [884, 884], [894, 894],
448        [901, 906], [908, 908], [910, 912], [938, 944], [970, 974],
449        [979, 980], [1024, 1025], [1027, 1027], [1031, 1031], [1036, 1038],
450        [1049, 1049], [1081, 1081], [1104, 1105], [1107, 1107],
451        [1111, 1111], [1116, 1118], [1142, 1143], [1217, 1218],
452        [1232, 1235], [1238, 1239], [1242, 1247], [1250, 1255],
453        [1258, 1269], [1272, 1273], [1570, 1574], [1728, 1728],
454        [1730, 1730], [1747, 1747], [2345, 2345], [2353, 2353],
455        [2356, 2356], [2392, 2399], [2507, 2508], [2524, 2525],
456        [2527, 2527], [2611, 2611], [2614, 2614], [2649, 2651],
457        [2654, 2654], [2888, 2888], [2891, 2892], [2908, 2909],
458        [2964, 2964], [3018, 3020], [3144, 3144], [3264, 3264],
459        [3271, 3272], [3274, 3275], [3402, 3404], [3546, 3546],
460        [3548, 3550], [3907, 3907], [3917, 3917], [3922, 3922],
461        [3927, 3927], [3932, 3932], [3945, 3945], [3955, 3955],
462        [3957, 3958], [3960, 3960], [3969, 3969], [3987, 3987],
463        [3997, 3997], [4002, 4002], [4007, 4007], [4012, 4012],
464        [4025, 4025], [4134, 4134], [6918, 6918], [6920, 6920],
465        [6922, 6922], [6924, 6924], [6926, 6926], [6930, 6930],
466        [6971, 6971], [6973, 6973], [6976, 6977], [6979, 6979],
467        [7680, 7833], [7835, 7835], [7840, 7929], [7936, 7957],
468        [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
469        [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061],
470        [8064, 8116], [8118, 8124], [8126, 8126], [8129, 8132],
471        [8134, 8147], [8150, 8155], [8157, 8175], [8178, 8180],
472        [8182, 8189], [8192, 8193], [8486, 8486], [8490, 8491],
473        [8602, 8603], [8622, 8622], [8653, 8655], [8708, 8708],
474        [8713, 8713], [8716, 8716], [8740, 8740], [8742, 8742],
475        [8769, 8769], [8772, 8772], [8775, 8775], [8777, 8777],
476        [8800, 8800], [8802, 8802], [8813, 8817], [8820, 8821],
477        [8824, 8825], [8832, 8833], [8836, 8837], [8840, 8841],
478        [8876, 8879], [8928, 8931], [8938, 8941], [9001, 9002],
479        [10972, 10972], [12364, 12364], [12366, 12366], [12368, 12368],
480        [12370, 12370], [12372, 12372], [12374, 12374], [12376, 12376],
481        [12378, 12378], [12380, 12380], [12382, 12382], [12384, 12384],
482        [12386, 12386], [12389, 12389], [12391, 12391], [12393, 12393],
483        [12400, 12401], [12403, 12404], [12406, 12407], [12409, 12410],
484        [12412, 12413], [12436, 12436], [12446, 12446], [12460, 12460],
485        [12462, 12462], [12464, 12464], [12466, 12466], [12468, 12468],
486        [12470, 12470], [12472, 12472], [12474, 12474], [12476, 12476],
487        [12478, 12478], [12480, 12480], [12482, 12482], [12485, 12485],
488        [12487, 12487], [12489, 12489], [12496, 12497], [12499, 12500],
489        [12502, 12503], [12505, 12506], [12508, 12509], [12532, 12532],
490        [12535, 12538], [12542, 12542], [44032, 55203], [63744, 64013],
491        [64016, 64016], [64018, 64018], [64021, 64030], [64032, 64032],
492        [64034, 64034], [64037, 64038], [64042, 64109], [64112, 64217],
493        [64285, 64285], [64287, 64287], [64298, 64310], [64312, 64316],
494        [64318, 64318], [64320, 64321], [64323, 64324], [64326, 64334],
495        [69786, 69786], [69788, 69788], [69803, 69803], [69934, 69935],
496        [70475, 70476], [70843, 70844], [70846, 70846], [71098, 71099],
497        [119134, 119140], [119227, 119232], [194560, 195101]**/
498        const UnicodeSet codepoint_set
499            {{{Empty, 6}, {Mixed, 6}, {Empty, 1}, {Mixed, 5}, {Empty, 8},
500              {Mixed, 5}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 2},
501              {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
502              {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
503              {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
504              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
505              {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
506              {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 86}, {Mixed, 3},
507              {Empty, 21}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
508              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 8},
509              {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 6},
510              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 60},
511              {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 984},
512              {Full, 349}, {Mixed, 1}, {Empty, 266}, {Full, 8}, {Mixed, 2},
513              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
514              {Mixed, 3}, {Empty, 169}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
515              {Empty, 16}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7},
516              {Mixed, 1}, {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
517              {Empty, 2353}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
518             {0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0x7ef1ff3f, 0xfff3f1f8,
519              0x7fffff3f, 0x00018003, 0xdfffe000, 0xff31ffcf, 0xcfffffff,
520              0x000fffc0, 0x0000001b, 0x40100000, 0x0001d7e0, 0x0001fc00,
521              0x00187c00, 0x0200708b, 0x02000000, 0x708b0000, 0x00c00000,
522              0xfccf0006, 0x033ffcfc, 0x0000007c, 0x00080005, 0x00120200,
523              0xff000000, 0xb0001800, 0x00480000, 0x4e000000, 0x30001900,
524              0x00100000, 0x00001c00, 0x00000100, 0x00000d81, 0x00001c00,
525              0x74000000, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
526              0x00000040, 0x00045540, 0x28000000, 0x0000000b, 0x0bffffff,
527              0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff,
528              0xefcfffde, 0x3fdcffff, 0x00000003, 0x00000c40, 0x0c000000,
529              0x00004000, 0x0000e000, 0x00001210, 0x00000050, 0x00000292,
530              0x0333e005, 0x00000333, 0x0000f000, 0x00003c0f, 0x00000600,
531              0x10000000, 0x55555000, 0x36db02a5, 0x40100000, 0x55555000,
532              0x36db02a5, 0x47900000, 0x0000000f, 0x7fe53fff, 0xfffffc65,
533              0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffc00, 0x00007fdb,
534              0x14000000, 0x00000800, 0x0000c000, 0x00001800, 0x58000000,
535              0x0c000000, 0xc0000000, 0x0000001f, 0xf8000000, 0x00000001,
536              0x3fffffff}};
537        static BinaryPropertyObject property_object{NFD_QC, codepoint_set};
538    }
539    namespace NFKC_CF_ns {
540        /** Code Point Ranges for NFKC_CF
541        [65, 90], [160, 160], [168, 168], [170, 170], [173, 173],
542        [175, 175], [178, 181], [184, 186], [188, 190], [192, 214],
543        [216, 223], [256, 256], [258, 258], [260, 260], [262, 262],
544        [264, 264], [266, 266], [268, 268], [270, 270], [272, 272],
545        [274, 274], [276, 276], [278, 278], [280, 280], [282, 282],
546        [284, 284], [286, 286], [288, 288], [290, 290], [292, 292],
547        [294, 294], [296, 296], [298, 298], [300, 300], [302, 302],
548        [304, 304], [306, 308], [310, 310], [313, 313], [315, 315],
549        [317, 317], [319, 321], [323, 323], [325, 325], [327, 327],
550        [329, 330], [332, 332], [334, 334], [336, 336], [338, 338],
551        [340, 340], [342, 342], [344, 344], [346, 346], [348, 348],
552        [350, 350], [352, 352], [354, 354], [356, 356], [358, 358],
553        [360, 360], [362, 362], [364, 364], [366, 366], [368, 368],
554        [370, 370], [372, 372], [374, 374], [376, 377], [379, 379],
555        [381, 381], [383, 383], [385, 386], [388, 388], [390, 391],
556        [393, 395], [398, 401], [403, 404], [406, 408], [412, 413],
557        [415, 416], [418, 418], [420, 420], [422, 423], [425, 425],
558        [428, 428], [430, 431], [433, 435], [437, 437], [439, 440],
559        [444, 444], [452, 461], [463, 463], [465, 465], [467, 467],
560        [469, 469], [471, 471], [473, 473], [475, 475], [478, 478],
561        [480, 480], [482, 482], [484, 484], [486, 486], [488, 488],
562        [490, 490], [492, 492], [494, 494], [497, 500], [502, 504],
563        [506, 506], [508, 508], [510, 510], [512, 512], [514, 514],
564        [516, 516], [518, 518], [520, 520], [522, 522], [524, 524],
565        [526, 526], [528, 528], [530, 530], [532, 532], [534, 534],
566        [536, 536], [538, 538], [540, 540], [542, 542], [544, 544],
567        [546, 546], [548, 548], [550, 550], [552, 552], [554, 554],
568        [556, 556], [558, 558], [560, 560], [562, 562], [570, 571],
569        [573, 574], [577, 577], [579, 582], [584, 584], [586, 586],
570        [588, 588], [590, 590], [688, 696], [728, 733], [736, 740],
571        [832, 833], [835, 837], [847, 847], [880, 880], [882, 882],
572        [884, 884], [886, 886], [890, 890], [894, 895], [900, 906],
573        [908, 908], [910, 911], [913, 929], [931, 939], [962, 962],
574        [975, 982], [984, 984], [986, 986], [988, 988], [990, 990],
575        [992, 992], [994, 994], [996, 996], [998, 998], [1000, 1000],
576        [1002, 1002], [1004, 1004], [1006, 1006], [1008, 1010],
577        [1012, 1013], [1015, 1015], [1017, 1018], [1021, 1071],
578        [1120, 1120], [1122, 1122], [1124, 1124], [1126, 1126],
579        [1128, 1128], [1130, 1130], [1132, 1132], [1134, 1134],
580        [1136, 1136], [1138, 1138], [1140, 1140], [1142, 1142],
581        [1144, 1144], [1146, 1146], [1148, 1148], [1150, 1150],
582        [1152, 1152], [1162, 1162], [1164, 1164], [1166, 1166],
583        [1168, 1168], [1170, 1170], [1172, 1172], [1174, 1174],
584        [1176, 1176], [1178, 1178], [1180, 1180], [1182, 1182],
585        [1184, 1184], [1186, 1186], [1188, 1188], [1190, 1190],
586        [1192, 1192], [1194, 1194], [1196, 1196], [1198, 1198],
587        [1200, 1200], [1202, 1202], [1204, 1204], [1206, 1206],
588        [1208, 1208], [1210, 1210], [1212, 1212], [1214, 1214],
589        [1216, 1217], [1219, 1219], [1221, 1221], [1223, 1223],
590        [1225, 1225], [1227, 1227], [1229, 1229], [1232, 1232],
591        [1234, 1234], [1236, 1236], [1238, 1238], [1240, 1240],
592        [1242, 1242], [1244, 1244], [1246, 1246], [1248, 1248],
593        [1250, 1250], [1252, 1252], [1254, 1254], [1256, 1256],
594        [1258, 1258], [1260, 1260], [1262, 1262], [1264, 1264],
595        [1266, 1266], [1268, 1268], [1270, 1270], [1272, 1272],
596        [1274, 1274], [1276, 1276], [1278, 1278], [1280, 1280],
597        [1282, 1282], [1284, 1284], [1286, 1286], [1288, 1288],
598        [1290, 1290], [1292, 1292], [1294, 1294], [1296, 1296],
599        [1298, 1298], [1300, 1300], [1302, 1302], [1304, 1304],
600        [1306, 1306], [1308, 1308], [1310, 1310], [1312, 1312],
601        [1314, 1314], [1316, 1316], [1318, 1318], [1320, 1320],
602        [1322, 1322], [1324, 1324], [1326, 1326], [1329, 1366],
603        [1415, 1415], [1564, 1564], [1653, 1656], [2392, 2399],
604        [2524, 2525], [2527, 2527], [2611, 2611], [2614, 2614],
605        [2649, 2651], [2654, 2654], [2908, 2909], [3635, 3635],
606        [3763, 3763], [3804, 3805], [3852, 3852], [3907, 3907],
607        [3917, 3917], [3922, 3922], [3927, 3927], [3932, 3932],
608        [3945, 3945], [3955, 3955], [3957, 3961], [3969, 3969],
609        [3987, 3987], [3997, 3997], [4002, 4002], [4007, 4007],
610        [4012, 4012], [4025, 4025], [4256, 4293], [4295, 4295],
611        [4301, 4301], [4348, 4348], [4447, 4448], [5112, 5117],
612        [6068, 6069], [6155, 6158], [7296, 7304], [7468, 7470],
613        [7472, 7482], [7484, 7501], [7503, 7530], [7544, 7544],
614        [7579, 7615], [7680, 7680], [7682, 7682], [7684, 7684],
615        [7686, 7686], [7688, 7688], [7690, 7690], [7692, 7692],
616        [7694, 7694], [7696, 7696], [7698, 7698], [7700, 7700],
617        [7702, 7702], [7704, 7704], [7706, 7706], [7708, 7708],
618        [7710, 7710], [7712, 7712], [7714, 7714], [7716, 7716],
619        [7718, 7718], [7720, 7720], [7722, 7722], [7724, 7724],
620        [7726, 7726], [7728, 7728], [7730, 7730], [7732, 7732],
621        [7734, 7734], [7736, 7736], [7738, 7738], [7740, 7740],
622        [7742, 7742], [7744, 7744], [7746, 7746], [7748, 7748],
623        [7750, 7750], [7752, 7752], [7754, 7754], [7756, 7756],
624        [7758, 7758], [7760, 7760], [7762, 7762], [7764, 7764],
625        [7766, 7766], [7768, 7768], [7770, 7770], [7772, 7772],
626        [7774, 7774], [7776, 7776], [7778, 7778], [7780, 7780],
627        [7782, 7782], [7784, 7784], [7786, 7786], [7788, 7788],
628        [7790, 7790], [7792, 7792], [7794, 7794], [7796, 7796],
629        [7798, 7798], [7800, 7800], [7802, 7802], [7804, 7804],
630        [7806, 7806], [7808, 7808], [7810, 7810], [7812, 7812],
631        [7814, 7814], [7816, 7816], [7818, 7818], [7820, 7820],
632        [7822, 7822], [7824, 7824], [7826, 7826], [7828, 7828],
633        [7834, 7835], [7838, 7838], [7840, 7840], [7842, 7842],
634        [7844, 7844], [7846, 7846], [7848, 7848], [7850, 7850],
635        [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
636        [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866],
637        [7868, 7868], [7870, 7870], [7872, 7872], [7874, 7874],
638        [7876, 7876], [7878, 7878], [7880, 7880], [7882, 7882],
639        [7884, 7884], [7886, 7886], [7888, 7888], [7890, 7890],
640        [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
641        [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906],
642        [7908, 7908], [7910, 7910], [7912, 7912], [7914, 7914],
643        [7916, 7916], [7918, 7918], [7920, 7920], [7922, 7922],
644        [7924, 7924], [7926, 7926], [7928, 7928], [7930, 7930],
645        [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
646        [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025],
647        [8027, 8027], [8029, 8029], [8031, 8031], [8040, 8047],
648        [8049, 8049], [8051, 8051], [8053, 8053], [8055, 8055],
649        [8057, 8057], [8059, 8059], [8061, 8061], [8064, 8111],
650        [8114, 8116], [8119, 8132], [8135, 8143], [8147, 8147],
651        [8152, 8155], [8157, 8159], [8163, 8163], [8168, 8175],
652        [8178, 8180], [8183, 8190], [8192, 8207], [8209, 8209],
653        [8215, 8215], [8228, 8230], [8234, 8239], [8243, 8244],
654        [8246, 8247], [8252, 8252], [8254, 8254], [8263, 8265],
655        [8279, 8279], [8287, 8305], [8308, 8334], [8336, 8348],
656        [8360, 8360], [8448, 8451], [8453, 8455], [8457, 8467],
657        [8469, 8470], [8473, 8477], [8480, 8482], [8484, 8484],
658        [8486, 8486], [8488, 8488], [8490, 8493], [8495, 8505],
659        [8507, 8512], [8517, 8521], [8528, 8575], [8579, 8579],
660        [8585, 8585], [8748, 8749], [8751, 8752], [9001, 9002],
661        [9312, 9450], [10764, 10764], [10868, 10870], [10972, 10972],
662        [11264, 11310], [11360, 11360], [11362, 11364], [11367, 11367],
663        [11369, 11369], [11371, 11371], [11373, 11376], [11378, 11378],
664        [11381, 11381], [11388, 11392], [11394, 11394], [11396, 11396],
665        [11398, 11398], [11400, 11400], [11402, 11402], [11404, 11404],
666        [11406, 11406], [11408, 11408], [11410, 11410], [11412, 11412],
667        [11414, 11414], [11416, 11416], [11418, 11418], [11420, 11420],
668        [11422, 11422], [11424, 11424], [11426, 11426], [11428, 11428],
669        [11430, 11430], [11432, 11432], [11434, 11434], [11436, 11436],
670        [11438, 11438], [11440, 11440], [11442, 11442], [11444, 11444],
671        [11446, 11446], [11448, 11448], [11450, 11450], [11452, 11452],
672        [11454, 11454], [11456, 11456], [11458, 11458], [11460, 11460],
673        [11462, 11462], [11464, 11464], [11466, 11466], [11468, 11468],
674        [11470, 11470], [11472, 11472], [11474, 11474], [11476, 11476],
675        [11478, 11478], [11480, 11480], [11482, 11482], [11484, 11484],
676        [11486, 11486], [11488, 11488], [11490, 11490], [11499, 11499],
677        [11501, 11501], [11506, 11506], [11631, 11631], [11935, 11935],
678        [12019, 12019], [12032, 12245], [12288, 12288], [12342, 12342],
679        [12344, 12346], [12443, 12444], [12447, 12447], [12543, 12543],
680        [12593, 12686], [12690, 12703], [12800, 12830], [12832, 12871],
681        [12880, 12926], [12928, 13054], [13056, 13311], [42560, 42560],
682        [42562, 42562], [42564, 42564], [42566, 42566], [42568, 42568],
683        [42570, 42570], [42572, 42572], [42574, 42574], [42576, 42576],
684        [42578, 42578], [42580, 42580], [42582, 42582], [42584, 42584],
685        [42586, 42586], [42588, 42588], [42590, 42590], [42592, 42592],
686        [42594, 42594], [42596, 42596], [42598, 42598], [42600, 42600],
687        [42602, 42602], [42604, 42604], [42624, 42624], [42626, 42626],
688        [42628, 42628], [42630, 42630], [42632, 42632], [42634, 42634],
689        [42636, 42636], [42638, 42638], [42640, 42640], [42642, 42642],
690        [42644, 42644], [42646, 42646], [42648, 42648], [42650, 42650],
691        [42652, 42653], [42786, 42786], [42788, 42788], [42790, 42790],
692        [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
693        [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
694        [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
695        [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
696        [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
697        [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
698        [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
699        [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
700        [42858, 42858], [42860, 42860], [42862, 42862], [42864, 42864],
701        [42873, 42873], [42875, 42875], [42877, 42878], [42880, 42880],
702        [42882, 42882], [42884, 42884], [42886, 42886], [42891, 42891],
703        [42893, 42893], [42896, 42896], [42898, 42898], [42902, 42902],
704        [42904, 42904], [42906, 42906], [42908, 42908], [42910, 42910],
705        [42912, 42912], [42914, 42914], [42916, 42916], [42918, 42918],
706        [42920, 42920], [42922, 42926], [42928, 42932], [42934, 42934],
707        [43000, 43001], [43868, 43871], [43888, 43967], [63744, 64013],
708        [64016, 64016], [64018, 64018], [64021, 64030], [64032, 64032],
709        [64034, 64034], [64037, 64038], [64042, 64109], [64112, 64217],
710        [64256, 64262], [64275, 64279], [64285, 64285], [64287, 64310],
711        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
712        [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
713        [65008, 65020], [65024, 65049], [65072, 65092], [65095, 65106],
714        [65108, 65126], [65128, 65131], [65136, 65138], [65140, 65140],
715        [65142, 65276], [65279, 65279], [65281, 65470], [65474, 65479],
716        [65482, 65487], [65490, 65495], [65498, 65500], [65504, 65510],
717        [65512, 65518], [65520, 65528], [66560, 66599], [66736, 66771],
718        [68736, 68786], [71840, 71871], [113824, 113827], [119134, 119140],
719        [119155, 119162], [119227, 119232], [119808, 119892],
720        [119894, 119964], [119966, 119967], [119970, 119970],
721        [119973, 119974], [119977, 119980], [119982, 119993],
722        [119995, 119995], [119997, 120003], [120005, 120069],
723        [120071, 120074], [120077, 120084], [120086, 120092],
724        [120094, 120121], [120123, 120126], [120128, 120132],
725        [120134, 120134], [120138, 120144], [120146, 120485],
726        [120488, 120779], [120782, 120831], [125184, 125217],
727        [126464, 126467], [126469, 126495], [126497, 126498],
728        [126500, 126500], [126503, 126503], [126505, 126514],
729        [126516, 126519], [126521, 126521], [126523, 126523],
730        [126530, 126530], [126535, 126535], [126537, 126537],
731        [126539, 126539], [126541, 126543], [126545, 126546],
732        [126548, 126548], [126551, 126551], [126553, 126553],
733        [126555, 126555], [126557, 126557], [126559, 126559],
734        [126561, 126562], [126564, 126564], [126567, 126570],
735        [126572, 126578], [126580, 126583], [126585, 126588],
736        [126590, 126590], [126592, 126601], [126603, 126619],
737        [126625, 126627], [126629, 126633], [126635, 126651],
738        [127232, 127242], [127248, 127278], [127280, 127311],
739        [127338, 127339], [127376, 127376], [127488, 127490],
740        [127504, 127547], [127552, 127560], [127568, 127569],
741        [194560, 195101], [917504, 921599]**/
742        const UnicodeSet codepoint_set
743            {{{Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
744              {Mixed, 11}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 6},
745              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 8}, {Empty, 1},
746              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
747              {Empty, 22}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
748              {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 22}, {Mixed, 1},
749              {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
750              {Mixed, 4}, {Empty, 7}, {Full, 1}, {Mixed, 2}, {Empty, 2},
751              {Mixed, 2}, {Empty, 19}, {Mixed, 1}, {Empty, 29}, {Mixed, 1},
752              {Empty, 2}, {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 4},
753              {Mixed, 4}, {Full, 1}, {Empty, 2}, {Mixed, 12}, {Full, 1},
754              {Mixed, 9}, {Empty, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
755              {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 9},
756              {Full, 4}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2},
757              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 9}, {Full, 1},
758              {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 3}, {Mixed, 1},
759              {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 6},
760              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
761              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2},
762              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
763              {Full, 3}, {Mixed, 1}, {Full, 8}, {Empty, 914}, {Mixed, 3},
764              {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 26},
765              {Mixed, 2}, {Full, 2}, {Empty, 618}, {Full, 8}, {Mixed, 2},
766              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
767              {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
768              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6}, {Full, 3},
769              {Mixed, 2}, {Full, 4}, {Mixed, 3}, {Empty, 32}, {Full, 1},
770              {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 61}, {Full, 1},
771              {Mixed, 1}, {Empty, 95}, {Full, 1}, {Empty, 1311}, {Mixed, 1},
772              {Empty, 164}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 17},
773              {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
774              {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
775              {Full, 1}, {Empty, 136}, {Full, 1}, {Mixed, 1}, {Empty, 38},
776              {Mixed, 6}, {Empty, 18}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
777              {Empty, 2093}, {Full, 16}, {Mixed, 1}, {Empty, 22575},
778              {Full, 128}, {Empty, 6016}},
779             {0x07fffffe, 0x773ca501, 0xff7fffff, 0x55555555, 0xaa5d5555,
780              0x555556ab, 0xab555555, 0xb1dbced6, 0x11aed2d5, 0x4aaabff0,
781              0x55de5555, 0x55555555, 0x6c055555, 0x0000557a, 0x01ff0000,
782              0x3f000000, 0x0000001f, 0x0000803b, 0xc4550000, 0xfffed7f0,
783              0x00000ffb, 0x557f8004, 0xe6b75555, 0x0000ffff, 0x55555555,
784              0x55555401, 0x55555555, 0x55552aab, 0x55555555, 0x55555555,
785              0xfffe5555, 0x007fffff, 0x00000080, 0x10000000, 0x01e00000,
786              0xff000000, 0xb0000000, 0x00480000, 0x4e000000, 0x30000000,
787              0x00080000, 0x00080000, 0x30000000, 0x00001000, 0x10842008,
788              0x03e80200, 0x20080002, 0x02001084, 0x000020bf, 0x10000000,
789              0x80000000, 0x00000001, 0x3f000000, 0x00300000, 0x00007800,
790              0x000001ff, 0xf7ff7000, 0xffffbfff, 0x010007ff, 0xf8000000,
791              0x55555555, 0x55555555, 0x55555555, 0x55555555, 0x4c155555,
792              0x55555555, 0x55555555, 0x55555555, 0x3f00ff00, 0xff00ff00,
793              0xaa003f00, 0x2aaaff00, 0xff9cffff, 0xef08ff9f, 0x7f9cff08,
794              0x0082ffff, 0x50d8fc70, 0x80800380, 0xfff3ffff, 0x1fff7fff,
795              0x00000100, 0x3e6ffeef, 0xfbffbd57, 0xffff03e1, 0x00000208,
796              0x0001b000, 0x00000600, 0x000007ff, 0x00001000, 0x00700000,
797              0x10000000, 0x00007fff, 0xf025ea9d, 0x55555555, 0x55555555,
798              0x55555555, 0x00042805, 0x00008000, 0x80000000, 0x00080000,
799              0x003fffff, 0x00000001, 0x07400000, 0x98000000, 0x80000000,
800              0xfffe0000, 0xfffc7fff, 0x7fffffff, 0xffff00ff, 0x7fffffff,
801              0x7fffffff, 0x55555555, 0x00001555, 0x35555555, 0x55545554,
802              0x55555555, 0x6a015555, 0x55452855, 0x005f7d55, 0x03000000,
803              0xf0000000, 0xffff0000, 0x7fe53fff, 0xfffffc65, 0xffff3fff,
804              0x03ffffff, 0xa0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff,
805              0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
806              0x1fff0000, 0x03ffffff, 0xffff0000, 0xfff7ff9f, 0xffd70f7f,
807              0x9fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x01ff7f7f,
808              0x000000ff, 0xffff0000, 0x000fffff, 0x0007ffff, 0x0000000f,
809              0xc0000000, 0x07f8001f, 0xf8000000, 0x00000001, 0xffdfffff,
810              0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
811              0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0x00000003, 0xffffffef,
812              0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
813              0xffff07ff, 0xffff7fff, 0x0000ffff, 0x00000c00, 0x00010000,
814              0xffff0007, 0x0fffffff, 0x000301ff, 0x3fffffff}};
815        static BinaryPropertyObject property_object{NFKC_CF, codepoint_set};
816    }
817    namespace NFKC_QC_ns {
818        /** Code Point Ranges for NFKC_QC
819        [160, 160], [168, 168], [170, 170], [175, 175], [178, 181],
820        [184, 186], [188, 190], [306, 307], [319, 320], [329, 329],
821        [383, 383], [452, 460], [497, 499], [688, 696], [728, 733],
822        [736, 740], [768, 772], [774, 780], [783, 783], [785, 785],
823        [787, 788], [795, 795], [803, 808], [813, 814], [816, 817],
824        [824, 824], [832, 837], [884, 884], [890, 890], [894, 894],
825        [900, 901], [903, 903], [976, 982], [1008, 1010], [1012, 1013],
826        [1017, 1017], [1415, 1415], [1619, 1621], [1653, 1656],
827        [2364, 2364], [2392, 2399], [2494, 2494], [2519, 2519],
828        [2524, 2525], [2527, 2527], [2611, 2611], [2614, 2614],
829        [2649, 2651], [2654, 2654], [2878, 2878], [2902, 2903],
830        [2908, 2909], [3006, 3006], [3031, 3031], [3158, 3158],
831        [3266, 3266], [3285, 3286], [3390, 3390], [3415, 3415],
832        [3530, 3530], [3535, 3535], [3551, 3551], [3635, 3635],
833        [3763, 3763], [3804, 3805], [3852, 3852], [3907, 3907],
834        [3917, 3917], [3922, 3922], [3927, 3927], [3932, 3932],
835        [3945, 3945], [3955, 3955], [3957, 3961], [3969, 3969],
836        [3987, 3987], [3997, 3997], [4002, 4002], [4007, 4007],
837        [4012, 4012], [4025, 4025], [4142, 4142], [4348, 4348],
838        [4449, 4469], [4520, 4546], [6965, 6965], [7468, 7470],
839        [7472, 7482], [7484, 7501], [7503, 7530], [7544, 7544],
840        [7579, 7615], [7834, 7835], [8049, 8049], [8051, 8051],
841        [8053, 8053], [8055, 8055], [8057, 8057], [8059, 8059],
842        [8061, 8061], [8123, 8123], [8125, 8129], [8137, 8137],
843        [8139, 8139], [8141, 8143], [8147, 8147], [8155, 8155],
844        [8157, 8159], [8163, 8163], [8171, 8171], [8173, 8175],
845        [8185, 8185], [8187, 8187], [8189, 8190], [8192, 8202],
846        [8209, 8209], [8215, 8215], [8228, 8230], [8239, 8239],
847        [8243, 8244], [8246, 8247], [8252, 8252], [8254, 8254],
848        [8263, 8265], [8279, 8279], [8287, 8287], [8304, 8305],
849        [8308, 8334], [8336, 8348], [8360, 8360], [8448, 8451],
850        [8453, 8455], [8457, 8467], [8469, 8470], [8473, 8477],
851        [8480, 8482], [8484, 8484], [8486, 8486], [8488, 8488],
852        [8490, 8493], [8495, 8497], [8499, 8505], [8507, 8512],
853        [8517, 8521], [8528, 8575], [8585, 8585], [8748, 8749],
854        [8751, 8752], [9001, 9002], [9312, 9450], [10764, 10764],
855        [10868, 10870], [10972, 10972], [11388, 11389], [11631, 11631],
856        [11935, 11935], [12019, 12019], [12032, 12245], [12288, 12288],
857        [12342, 12342], [12344, 12346], [12441, 12444], [12447, 12447],
858        [12543, 12543], [12593, 12686], [12690, 12703], [12800, 12830],
859        [12832, 12871], [12880, 12926], [12928, 13054], [13056, 13311],
860        [42652, 42653], [42864, 42864], [43000, 43001], [43868, 43871],
861        [63744, 64013], [64016, 64016], [64018, 64018], [64021, 64030],
862        [64032, 64032], [64034, 64034], [64037, 64038], [64042, 64109],
863        [64112, 64217], [64256, 64262], [64275, 64279], [64285, 64285],
864        [64287, 64310], [64312, 64316], [64318, 64318], [64320, 64321],
865        [64323, 64324], [64326, 64433], [64467, 64829], [64848, 64911],
866        [64914, 64967], [65008, 65020], [65040, 65049], [65072, 65092],
867        [65095, 65106], [65108, 65126], [65128, 65131], [65136, 65138],
868        [65140, 65140], [65142, 65276], [65281, 65470], [65474, 65479],
869        [65482, 65487], [65490, 65495], [65498, 65500], [65504, 65510],
870        [65512, 65518], [69818, 69818], [69927, 69927], [70462, 70462],
871        [70487, 70487], [70832, 70832], [70842, 70842], [70845, 70845],
872        [71087, 71087], [119134, 119140], [119227, 119232],
873        [119808, 119892], [119894, 119964], [119966, 119967],
874        [119970, 119970], [119973, 119974], [119977, 119980],
875        [119982, 119993], [119995, 119995], [119997, 120003],
876        [120005, 120069], [120071, 120074], [120077, 120084],
877        [120086, 120092], [120094, 120121], [120123, 120126],
878        [120128, 120132], [120134, 120134], [120138, 120144],
879        [120146, 120485], [120488, 120779], [120782, 120831],
880        [126464, 126467], [126469, 126495], [126497, 126498],
881        [126500, 126500], [126503, 126503], [126505, 126514],
882        [126516, 126519], [126521, 126521], [126523, 126523],
883        [126530, 126530], [126535, 126535], [126537, 126537],
884        [126539, 126539], [126541, 126543], [126545, 126546],
885        [126548, 126548], [126551, 126551], [126553, 126553],
886        [126555, 126555], [126557, 126557], [126559, 126559],
887        [126561, 126562], [126564, 126564], [126567, 126570],
888        [126572, 126578], [126580, 126583], [126585, 126588],
889        [126590, 126590], [126592, 126601], [126603, 126619],
890        [126625, 126627], [126629, 126633], [126635, 126651],
891        [127232, 127242], [127248, 127278], [127280, 127311],
892        [127338, 127339], [127376, 127376], [127488, 127490],
893        [127504, 127547], [127552, 127560], [127568, 127569],
894        [194560, 195101]**/
895        const UnicodeSet codepoint_set
896            {{{Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
897              {Mixed, 2}, {Empty, 5}, {Mixed, 8}, {Empty, 1}, {Mixed, 2},
898              {Empty, 12}, {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 21},
899              {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
900              {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
901              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
902              {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3},
903              {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
904              {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 3},
905              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 74}, {Mixed, 1},
906              {Empty, 15}, {Mixed, 4}, {Full, 1}, {Empty, 6}, {Mixed, 1},
907              {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 9}, {Empty, 2},
908              {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
909              {Empty, 7}, {Mixed, 1}, {Empty, 9}, {Full, 4}, {Mixed, 1},
910              {Empty, 40}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
911              {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
912              {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 6},
913              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
914              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2},
915              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
916              {Full, 3}, {Mixed, 1}, {Full, 8}, {Empty, 916}, {Mixed, 1},
917              {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 26},
918              {Mixed, 1}, {Empty, 621}, {Full, 8}, {Mixed, 2}, {Full, 1},
919              {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
920              {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2}, {Full, 1},
921              {Mixed, 1}, {Full, 1}, {Mixed, 6}, {Full, 3}, {Mixed, 2},
922              {Full, 4}, {Mixed, 3}, {Empty, 133}, {Mixed, 1}, {Empty, 3},
923              {Mixed, 1}, {Empty, 15}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
924              {Empty, 7}, {Mixed, 1}, {Empty, 1500}, {Mixed, 2}, {Empty, 1},
925              {Mixed, 2}, {Empty, 17}, {Full, 2}, {Mixed, 1}, {Full, 1},
926              {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1},
927              {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 176}, {Mixed, 6},
928              {Empty, 18}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
929              {Empty, 2093}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
930             {0x773c8501, 0x800c0000, 0x00000201, 0x80000000, 0x00001ff0,
931              0x000e0000, 0x01ff0000, 0x3f000000, 0x0000001f, 0x081a9fdf,
932              0x010361f8, 0x0000003f, 0x44100000, 0x000000b0, 0x007f0000,
933              0x02370000, 0x00000080, 0x00380000, 0x01e00000, 0x10000000,
934              0xff000000, 0x40000000, 0xb0800000, 0x00480000, 0x4e000000,
935              0x40000000, 0x30c00000, 0x40000000, 0x00800000, 0x00400000,
936              0x00600004, 0x40000000, 0x00800000, 0x80008400, 0x00080000,
937              0x00080000, 0x30000000, 0x00001000, 0x10842008, 0x03e80200,
938              0x20080002, 0x02001084, 0x00004000, 0x10000000, 0x003ffffe,
939              0xffffff00, 0x00000007, 0x00200000, 0xf7ff7000, 0xffffbfff,
940              0x010007ff, 0xf8000000, 0x0c000000, 0x2aaa0000, 0xe8000000,
941              0xe808ea03, 0x6a00e808, 0x008207ff, 0x50d88070, 0x80800380,
942              0xfff30000, 0x1fff7fff, 0x00000100, 0x3e6ffeef, 0xfbfbbd57,
943              0xffff03e1, 0x00000200, 0x0001b000, 0x00000600, 0x000007ff,
944              0x00001000, 0x00700000, 0x10000000, 0x30000000, 0x00008000,
945              0x80000000, 0x00080000, 0x003fffff, 0x00000001, 0x07400000,
946              0x9e000000, 0x80000000, 0xfffe0000, 0xfffc7fff, 0x7fffffff,
947              0xffff00ff, 0x7fffffff, 0x7fffffff, 0x30000000, 0x00010000,
948              0x03000000, 0xf0000000, 0x7fe53fff, 0xfffffc65, 0xffff3fff,
949              0x03ffffff, 0xa0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff,
950              0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
951              0x1fff0000, 0x03ff0000, 0xffff0000, 0xfff7ff9f, 0xffd70f7f,
952              0x1fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x00007f7f,
953              0x04000000, 0x00000080, 0x40000000, 0x00800000, 0x24010000,
954              0x00008000, 0xc0000000, 0x0000001f, 0xf8000000, 0x00000001,
955              0xffdfffff, 0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf,
956              0x7bffffff, 0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0xffffffef,
957              0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
958              0xffff07ff, 0xffff7fff, 0x0000ffff, 0x00000c00, 0x00010000,
959              0xffff0007, 0x0fffffff, 0x000301ff, 0x3fffffff}};
960        static BinaryPropertyObject property_object{NFKC_QC, codepoint_set};
961    }
962    namespace NFKD_QC_ns {
963        /** Code Point Ranges for NFKD_QC
964        [160, 160], [168, 168], [170, 170], [175, 175], [178, 181],
965        [184, 186], [188, 190], [192, 197], [199, 207], [209, 214],
966        [217, 221], [224, 229], [231, 239], [241, 246], [249, 253],
967        [255, 271], [274, 293], [296, 304], [306, 311], [313, 320],
968        [323, 329], [332, 337], [340, 357], [360, 383], [416, 417],
969        [431, 432], [452, 476], [478, 483], [486, 501], [504, 539],
970        [542, 543], [550, 563], [688, 696], [728, 733], [736, 740],
971        [832, 833], [835, 836], [884, 884], [890, 890], [894, 894],
972        [900, 906], [908, 908], [910, 912], [938, 944], [970, 974],
973        [976, 982], [1008, 1010], [1012, 1013], [1017, 1017], [1024, 1025],
974        [1027, 1027], [1031, 1031], [1036, 1038], [1049, 1049],
975        [1081, 1081], [1104, 1105], [1107, 1107], [1111, 1111],
976        [1116, 1118], [1142, 1143], [1217, 1218], [1232, 1235],
977        [1238, 1239], [1242, 1247], [1250, 1255], [1258, 1269],
978        [1272, 1273], [1415, 1415], [1570, 1574], [1653, 1656],
979        [1728, 1728], [1730, 1730], [1747, 1747], [2345, 2345],
980        [2353, 2353], [2356, 2356], [2392, 2399], [2507, 2508],
981        [2524, 2525], [2527, 2527], [2611, 2611], [2614, 2614],
982        [2649, 2651], [2654, 2654], [2888, 2888], [2891, 2892],
983        [2908, 2909], [2964, 2964], [3018, 3020], [3144, 3144],
984        [3264, 3264], [3271, 3272], [3274, 3275], [3402, 3404],
985        [3546, 3546], [3548, 3550], [3635, 3635], [3763, 3763],
986        [3804, 3805], [3852, 3852], [3907, 3907], [3917, 3917],
987        [3922, 3922], [3927, 3927], [3932, 3932], [3945, 3945],
988        [3955, 3955], [3957, 3961], [3969, 3969], [3987, 3987],
989        [3997, 3997], [4002, 4002], [4007, 4007], [4012, 4012],
990        [4025, 4025], [4134, 4134], [4348, 4348], [6918, 6918],
991        [6920, 6920], [6922, 6922], [6924, 6924], [6926, 6926],
992        [6930, 6930], [6971, 6971], [6973, 6973], [6976, 6977],
993        [6979, 6979], [7468, 7470], [7472, 7482], [7484, 7501],
994        [7503, 7530], [7544, 7544], [7579, 7615], [7680, 7835],
995        [7840, 7929], [7936, 7957], [7960, 7965], [7968, 8005],
996        [8008, 8013], [8016, 8023], [8025, 8025], [8027, 8027],
997        [8029, 8029], [8031, 8061], [8064, 8116], [8118, 8132],
998        [8134, 8147], [8150, 8155], [8157, 8175], [8178, 8180],
999        [8182, 8190], [8192, 8202], [8209, 8209], [8215, 8215],
1000        [8228, 8230], [8239, 8239], [8243, 8244], [8246, 8247],
1001        [8252, 8252], [8254, 8254], [8263, 8265], [8279, 8279],
1002        [8287, 8287], [8304, 8305], [8308, 8334], [8336, 8348],
1003        [8360, 8360], [8448, 8451], [8453, 8455], [8457, 8467],
1004        [8469, 8470], [8473, 8477], [8480, 8482], [8484, 8484],
1005        [8486, 8486], [8488, 8488], [8490, 8493], [8495, 8497],
1006        [8499, 8505], [8507, 8512], [8517, 8521], [8528, 8575],
1007        [8585, 8585], [8602, 8603], [8622, 8622], [8653, 8655],
1008        [8708, 8708], [8713, 8713], [8716, 8716], [8740, 8740],
1009        [8742, 8742], [8748, 8749], [8751, 8752], [8769, 8769],
1010        [8772, 8772], [8775, 8775], [8777, 8777], [8800, 8800],
1011        [8802, 8802], [8813, 8817], [8820, 8821], [8824, 8825],
1012        [8832, 8833], [8836, 8837], [8840, 8841], [8876, 8879],
1013        [8928, 8931], [8938, 8941], [9001, 9002], [9312, 9450],
1014        [10764, 10764], [10868, 10870], [10972, 10972], [11388, 11389],
1015        [11631, 11631], [11935, 11935], [12019, 12019], [12032, 12245],
1016        [12288, 12288], [12342, 12342], [12344, 12346], [12364, 12364],
1017        [12366, 12366], [12368, 12368], [12370, 12370], [12372, 12372],
1018        [12374, 12374], [12376, 12376], [12378, 12378], [12380, 12380],
1019        [12382, 12382], [12384, 12384], [12386, 12386], [12389, 12389],
1020        [12391, 12391], [12393, 12393], [12400, 12401], [12403, 12404],
1021        [12406, 12407], [12409, 12410], [12412, 12413], [12436, 12436],
1022        [12443, 12444], [12446, 12447], [12460, 12460], [12462, 12462],
1023        [12464, 12464], [12466, 12466], [12468, 12468], [12470, 12470],
1024        [12472, 12472], [12474, 12474], [12476, 12476], [12478, 12478],
1025        [12480, 12480], [12482, 12482], [12485, 12485], [12487, 12487],
1026        [12489, 12489], [12496, 12497], [12499, 12500], [12502, 12503],
1027        [12505, 12506], [12508, 12509], [12532, 12532], [12535, 12538],
1028        [12542, 12543], [12593, 12686], [12690, 12703], [12800, 12830],
1029        [12832, 12871], [12880, 12926], [12928, 13054], [13056, 13311],
1030        [42652, 42653], [42864, 42864], [43000, 43001], [43868, 43871],
1031        [44032, 55203], [63744, 64013], [64016, 64016], [64018, 64018],
1032        [64021, 64030], [64032, 64032], [64034, 64034], [64037, 64038],
1033        [64042, 64109], [64112, 64217], [64256, 64262], [64275, 64279],
1034        [64285, 64285], [64287, 64310], [64312, 64316], [64318, 64318],
1035        [64320, 64321], [64323, 64324], [64326, 64433], [64467, 64829],
1036        [64848, 64911], [64914, 64967], [65008, 65020], [65040, 65049],
1037        [65072, 65092], [65095, 65106], [65108, 65126], [65128, 65131],
1038        [65136, 65138], [65140, 65140], [65142, 65276], [65281, 65470],
1039        [65474, 65479], [65482, 65487], [65490, 65495], [65498, 65500],
1040        [65504, 65510], [65512, 65518], [69786, 69786], [69788, 69788],
1041        [69803, 69803], [69934, 69935], [70475, 70476], [70843, 70844],
1042        [70846, 70846], [71098, 71099], [119134, 119140], [119227, 119232],
1043        [119808, 119892], [119894, 119964], [119966, 119967],
1044        [119970, 119970], [119973, 119974], [119977, 119980],
1045        [119982, 119993], [119995, 119995], [119997, 120003],
1046        [120005, 120069], [120071, 120074], [120077, 120084],
1047        [120086, 120092], [120094, 120121], [120123, 120126],
1048        [120128, 120132], [120134, 120134], [120138, 120144],
1049        [120146, 120485], [120488, 120779], [120782, 120831],
1050        [126464, 126467], [126469, 126495], [126497, 126498],
1051        [126500, 126500], [126503, 126503], [126505, 126514],
1052        [126516, 126519], [126521, 126521], [126523, 126523],
1053        [126530, 126530], [126535, 126535], [126537, 126537],
1054        [126539, 126539], [126541, 126543], [126545, 126546],
1055        [126548, 126548], [126551, 126551], [126553, 126553],
1056        [126555, 126555], [126557, 126557], [126559, 126559],
1057        [126561, 126562], [126564, 126564], [126567, 126570],
1058        [126572, 126578], [126580, 126583], [126585, 126588],
1059        [126590, 126590], [126592, 126601], [126603, 126619],
1060        [126625, 126627], [126629, 126633], [126635, 126651],
1061        [127232, 127242], [127248, 127278], [127280, 127311],
1062        [127338, 127339], [127376, 127376], [127488, 127490],
1063        [127504, 127547], [127552, 127560], [127568, 127569],
1064        [194560, 195101]**/
1065        const UnicodeSet codepoint_set
1066            {{{Empty, 5}, {Mixed, 7}, {Empty, 1}, {Mixed, 5}, {Empty, 3},
1067              {Mixed, 3}, {Empty, 2}, {Mixed, 10}, {Empty, 2}, {Mixed, 2},
1068              {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
1069              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 18}, {Mixed, 2},
1070              {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7},
1071              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1072              {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1073              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1074              {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1075              {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1076              {Empty, 80}, {Mixed, 3}, {Empty, 14}, {Mixed, 4}, {Full, 1},
1077              {Empty, 2}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
1078              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 9}, {Empty, 2},
1079              {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 6},
1080              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
1081              {Full, 4}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2},
1082              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1083              {Empty, 7}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2},
1084              {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 8},
1085              {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 3},
1086              {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
1087              {Full, 8}, {Empty, 916}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
1088              {Empty, 3}, {Mixed, 1}, {Empty, 26}, {Mixed, 1}, {Empty, 5},
1089              {Full, 349}, {Mixed, 1}, {Empty, 266}, {Full, 8}, {Mixed, 2},
1090              {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
1091              {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
1092              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6}, {Full, 3},
1093              {Mixed, 2}, {Full, 4}, {Mixed, 3}, {Empty, 132}, {Mixed, 2},
1094              {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 10},
1095              {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1500}, {Mixed, 2},
1096              {Empty, 1}, {Mixed, 2}, {Empty, 17}, {Full, 2}, {Mixed, 1},
1097              {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10},
1098              {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 176},
1099              {Mixed, 6}, {Empty, 18}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
1100              {Empty, 2093}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
1101             {0x773c8501, 0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0xfefdff3f,
1102              0xfff3f3f9, 0xffffff3f, 0x00018003, 0xdffffff0, 0xff3fffcf,
1103              0xcfffffff, 0x000fffc0, 0x01ff0000, 0x3f000000, 0x0000001f,
1104              0x0000001b, 0x44100000, 0x0001d7f0, 0x0001fc00, 0x007f7c00,
1105              0x02370000, 0x0200708b, 0x02000000, 0x708b0000, 0x00c00000,
1106              0xfccf0006, 0x033ffcfc, 0x00000080, 0x0000007c, 0x01e00000,
1107              0x00080005, 0x00120200, 0xff000000, 0xb0001800, 0x00480000,
1108              0x4e000000, 0x30001900, 0x00100000, 0x00001c00, 0x00000100,
1109              0x00000d81, 0x00001c00, 0x74000000, 0x00080000, 0x00080000,
1110              0x30000000, 0x00001000, 0x10842008, 0x03e80200, 0x20080002,
1111              0x02001084, 0x00000040, 0x10000000, 0x00045540, 0x28000000,
1112              0x0000000b, 0xf7ff7000, 0xffffbfff, 0x010007ff, 0xf8000000,
1113              0x0fffffff, 0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff,
1114              0xffdfffff, 0xefcfffdf, 0x7fdcffff, 0x008207ff, 0x50d88070,
1115              0x80800380, 0xfff30000, 0x1fff7fff, 0x00000100, 0x3e6ffeef,
1116              0xfbfbbd57, 0xffff03e1, 0x0c000200, 0x00004000, 0x0000e000,
1117              0x00001210, 0x0001b050, 0x00000292, 0x0333e005, 0x00000333,
1118              0x0000f000, 0x00003c0f, 0x00000600, 0x000007ff, 0x00001000,
1119              0x00700000, 0x10000000, 0x30000000, 0x00008000, 0x80000000,
1120              0x00080000, 0x003fffff, 0x00000001, 0x07400000, 0x55555000,
1121              0x36db02a5, 0xd8100000, 0x55555000, 0x36db02a5, 0xc7900000,
1122              0xfffe0000, 0xfffc7fff, 0x7fffffff, 0xffff00ff, 0x7fffffff,
1123              0x7fffffff, 0x30000000, 0x00010000, 0x03000000, 0xf0000000,
1124              0x0000000f, 0x7fe53fff, 0xfffffc65, 0xffff3fff, 0x03ffffff,
1125              0xa0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff, 0xfff80000,
1126              0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x1fff0000,
1127              0x03ff0000, 0xffff0000, 0xfff7ff9f, 0xffd70f7f, 0x1fffffff,
1128              0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x00007f7f, 0x14000000,
1129              0x00000800, 0x0000c000, 0x00001800, 0x58000000, 0x0c000000,
1130              0xc0000000, 0x0000001f, 0xf8000000, 0x00000001, 0xffdfffff,
1131              0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
1132              0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0xffffffef, 0x0af7fe96,
1133              0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0xffff07ff,
1134              0xffff7fff, 0x0000ffff, 0x00000c00, 0x00010000, 0xffff0007,
1135              0x0fffffff, 0x000301ff, 0x3fffffff}};
1136        static BinaryPropertyObject property_object{NFKD_QC, codepoint_set};
1137    }
1138    namespace XO_NFC_ns {
1139        /** Code Point Ranges for XO_NFC
1140        [836, 836], [2392, 2399], [2524, 2525], [2527, 2527], [2611, 2611],
1141        [2614, 2614], [2649, 2651], [2654, 2654], [2908, 2909],
1142        [3907, 3907], [3917, 3917], [3922, 3922], [3927, 3927],
1143        [3932, 3932], [3945, 3945], [3955, 3955], [3957, 3958],
1144        [3960, 3960], [3969, 3969], [3987, 3987], [3997, 3997],
1145        [4002, 4002], [4007, 4007], [4012, 4012], [4025, 4025],
1146        [10972, 10972], [64285, 64285], [64287, 64287], [64298, 64310],
1147        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
1148        [64326, 64334], [119134, 119140], [119227, 119232]**/
1149        const UnicodeSet codepoint_set
1150            {{{Empty, 26}, {Mixed, 1}, {Empty, 47}, {Mixed, 1}, {Empty, 3},
1151              {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
1152              {Empty, 31}, {Mixed, 4}, {Empty, 216}, {Mixed, 1},
1153              {Empty, 1665}, {Mixed, 3}, {Empty, 1711}, {Mixed, 2},
1154              {Empty, 1}, {Mixed, 2}, {Empty, 31089}},
1155             {0x00000010, 0xff000000, 0xb0000000, 0x00480000, 0x4e000000,
1156              0x30000000, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
1157              0x10000000, 0xa0000000, 0x5f7ffc00, 0x00007fdb, 0xc0000000,
1158              0x0000001f, 0xf8000000, 0x00000001}};
1159        static BinaryPropertyObject property_object{XO_NFC, codepoint_set};
1160    }
1161    namespace XO_NFD_ns {
1162        /** Code Point Ranges for XO_NFD
1163        [192, 197], [199, 207], [209, 214], [217, 221], [224, 229],
1164        [231, 239], [241, 246], [249, 253], [255, 271], [274, 293],
1165        [296, 304], [308, 311], [313, 318], [323, 328], [332, 337],
1166        [340, 357], [360, 382], [416, 417], [431, 432], [461, 476],
1167        [478, 483], [486, 496], [500, 501], [504, 539], [542, 543],
1168        [550, 563], [836, 836], [901, 902], [904, 906], [908, 908],
1169        [910, 912], [938, 944], [970, 974], [979, 980], [1024, 1025],
1170        [1027, 1027], [1031, 1031], [1036, 1038], [1049, 1049],
1171        [1081, 1081], [1104, 1105], [1107, 1107], [1111, 1111],
1172        [1116, 1118], [1142, 1143], [1217, 1218], [1232, 1235],
1173        [1238, 1239], [1242, 1247], [1250, 1255], [1258, 1269],
1174        [1272, 1273], [1570, 1574], [1728, 1728], [1730, 1730],
1175        [1747, 1747], [2345, 2345], [2353, 2353], [2356, 2356],
1176        [2392, 2399], [2507, 2508], [2524, 2525], [2527, 2527],
1177        [2611, 2611], [2614, 2614], [2649, 2651], [2654, 2654],
1178        [2888, 2888], [2891, 2892], [2908, 2909], [2964, 2964],
1179        [3018, 3020], [3144, 3144], [3264, 3264], [3271, 3272],
1180        [3274, 3275], [3402, 3404], [3546, 3546], [3548, 3550],
1181        [3907, 3907], [3917, 3917], [3922, 3922], [3927, 3927],
1182        [3932, 3932], [3945, 3945], [3955, 3955], [3957, 3958],
1183        [3960, 3960], [3969, 3969], [3987, 3987], [3997, 3997],
1184        [4002, 4002], [4007, 4007], [4012, 4012], [4025, 4025],
1185        [4134, 4134], [6918, 6918], [6920, 6920], [6922, 6922],
1186        [6924, 6924], [6926, 6926], [6930, 6930], [6971, 6971],
1187        [6973, 6973], [6976, 6977], [6979, 6979], [7680, 7833],
1188        [7835, 7835], [7840, 7929], [7936, 7957], [7960, 7965],
1189        [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
1190        [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
1191        [8118, 8124], [8129, 8132], [8134, 8147], [8150, 8155],
1192        [8157, 8174], [8178, 8180], [8182, 8188], [8491, 8491],
1193        [8602, 8603], [8622, 8622], [8653, 8655], [8708, 8708],
1194        [8713, 8713], [8716, 8716], [8740, 8740], [8742, 8742],
1195        [8769, 8769], [8772, 8772], [8775, 8775], [8777, 8777],
1196        [8800, 8800], [8802, 8802], [8813, 8817], [8820, 8821],
1197        [8824, 8825], [8832, 8833], [8836, 8837], [8840, 8841],
1198        [8876, 8879], [8928, 8931], [8938, 8941], [10972, 10972],
1199        [12364, 12364], [12366, 12366], [12368, 12368], [12370, 12370],
1200        [12372, 12372], [12374, 12374], [12376, 12376], [12378, 12378],
1201        [12380, 12380], [12382, 12382], [12384, 12384], [12386, 12386],
1202        [12389, 12389], [12391, 12391], [12393, 12393], [12400, 12401],
1203        [12403, 12404], [12406, 12407], [12409, 12410], [12412, 12413],
1204        [12436, 12436], [12446, 12446], [12460, 12460], [12462, 12462],
1205        [12464, 12464], [12466, 12466], [12468, 12468], [12470, 12470],
1206        [12472, 12472], [12474, 12474], [12476, 12476], [12478, 12478],
1207        [12480, 12480], [12482, 12482], [12485, 12485], [12487, 12487],
1208        [12489, 12489], [12496, 12497], [12499, 12500], [12502, 12503],
1209        [12505, 12506], [12508, 12509], [12532, 12532], [12535, 12538],
1210        [12542, 12542], [44032, 55203], [64285, 64285], [64287, 64287],
1211        [64298, 64310], [64312, 64316], [64318, 64318], [64320, 64321],
1212        [64323, 64324], [64326, 64334], [69786, 69786], [69788, 69788],
1213        [69803, 69803], [69934, 69935], [70475, 70476], [70843, 70844],
1214        [70846, 70846], [71098, 71099], [119134, 119140], [119227, 119232]**/
1215        const UnicodeSet codepoint_set
1216            {{{Empty, 6}, {Mixed, 6}, {Empty, 1}, {Mixed, 5}, {Empty, 8},
1217              {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 4},
1218              {Empty, 2}, {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 4},
1219              {Mixed, 1}, {Empty, 18}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1220              {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 1},
1221              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1222              {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1223              {Mixed, 1}, {Empty, 11}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
1224              {Empty, 86}, {Mixed, 3}, {Empty, 21}, {Full, 4}, {Mixed, 1},
1225              {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1},
1226              {Mixed, 3}, {Empty, 9}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
1227              {Empty, 1}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 62},
1228              {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 984},
1229              {Full, 349}, {Mixed, 1}, {Empty, 282}, {Mixed, 3},
1230              {Empty, 169}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
1231              {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1232              {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1233              {Empty, 31089}},
1234             {0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0x7ef1ff3f, 0xfff3f1f8,
1235              0x7fffff3f, 0x00018003, 0xdfffe000, 0xff31ffcf, 0xcfffffff,
1236              0x000fffc0, 0x00000010, 0x0001d760, 0x0001fc00, 0x00187c00,
1237              0x0200708b, 0x02000000, 0x708b0000, 0x00c00000, 0xfccf0006,
1238              0x033ffcfc, 0x0000007c, 0x00080005, 0x00120200, 0xff000000,
1239              0xb0001800, 0x00480000, 0x4e000000, 0x30001900, 0x00100000,
1240              0x00001c00, 0x00000100, 0x00000d81, 0x00001c00, 0x74000000,
1241              0x10842008, 0x01680200, 0x20080002, 0x02001084, 0x00000040,
1242              0x00045540, 0x28000000, 0x0000000b, 0x0bffffff, 0x03ffffff,
1243              0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x1fdfffff, 0xefcfffde,
1244              0x1fdc7fff, 0x00000800, 0x0c000000, 0x00004000, 0x0000e000,
1245              0x00001210, 0x00000050, 0x00000292, 0x0333e005, 0x00000333,
1246              0x0000f000, 0x00003c0f, 0x10000000, 0x55555000, 0x36db02a5,
1247              0x40100000, 0x55555000, 0x36db02a5, 0x47900000, 0x0000000f,
1248              0xa0000000, 0x5f7ffc00, 0x00007fdb, 0x14000000, 0x00000800,
1249              0x0000c000, 0x00001800, 0x58000000, 0x0c000000, 0xc0000000,
1250              0x0000001f, 0xf8000000, 0x00000001}};
1251        static BinaryPropertyObject property_object{XO_NFD, codepoint_set};
1252    }
1253    namespace XO_NFKC_ns {
1254        /** Code Point Ranges for XO_NFKC
1255        [168, 168], [175, 175], [180, 180], [184, 184], [188, 190],
1256        [306, 307], [319, 320], [329, 329], [452, 460], [497, 499],
1257        [728, 733], [836, 836], [890, 890], [900, 901], [1415, 1415],
1258        [1653, 1656], [2392, 2399], [2524, 2525], [2527, 2527],
1259        [2611, 2611], [2614, 2614], [2649, 2651], [2654, 2654],
1260        [2908, 2909], [3635, 3635], [3763, 3763], [3804, 3805],
1261        [3907, 3907], [3917, 3917], [3922, 3922], [3927, 3927],
1262        [3932, 3932], [3945, 3945], [3955, 3955], [3957, 3961],
1263        [3969, 3969], [3987, 3987], [3997, 3997], [4002, 4002],
1264        [4007, 4007], [4012, 4012], [4025, 4025], [7834, 7834],
1265        [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159],
1266        [8173, 8174], [8189, 8190], [8215, 8215], [8229, 8230],
1267        [8243, 8244], [8246, 8247], [8252, 8252], [8254, 8254],
1268        [8263, 8265], [8279, 8279], [8360, 8360], [8448, 8449],
1269        [8451, 8451], [8453, 8454], [8457, 8457], [8470, 8470],
1270        [8480, 8482], [8507, 8507], [8528, 8543], [8545, 8547],
1271        [8549, 8552], [8554, 8555], [8561, 8563], [8565, 8568],
1272        [8570, 8571], [8585, 8585], [8748, 8749], [8751, 8752],
1273        [9321, 9397], [10764, 10764], [10868, 10870], [10972, 10972],
1274        [12443, 12444], [12447, 12447], [12543, 12543], [12800, 12830],
1275        [12832, 12867], [12880, 12895], [12924, 12925], [12977, 13007],
1276        [13056, 13311], [64256, 64262], [64275, 64279], [64285, 64285],
1277        [64287, 64287], [64298, 64310], [64312, 64316], [64318, 64318],
1278        [64320, 64321], [64323, 64324], [64326, 64335], [64477, 64477],
1279        [64490, 64507], [64512, 64829], [64848, 64911], [64914, 64967],
1280        [65008, 65020], [65049, 65049], [65072, 65072], [65097, 65100],
1281        [65136, 65138], [65140, 65140], [65142, 65151], [65269, 65276],
1282        [65507, 65507], [119134, 119140], [119227, 119232],
1283        [127232, 127242], [127248, 127274], [127277, 127278],
1284        [127306, 127311], [127338, 127339], [127376, 127376],
1285        [127488, 127489], [127552, 127560]**/
1286        const UnicodeSet codepoint_set
1287            {{{Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
1288              {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 3},
1289              {Empty, 15}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 22},
1290              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
1291              {Empty, 7}, {Mixed, 1}, {Empty, 22}, {Mixed, 1}, {Empty, 3},
1292              {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 118}, {Mixed, 1},
1293              {Empty, 8}, {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
1294              {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 17}, {Mixed, 1},
1295              {Full, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 2},
1296              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 45}, {Mixed, 1},
1297              {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Full, 1},
1298              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Full, 8},
1299              {Empty, 1592}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Full, 9},
1300              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6},
1301              {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1674},
1302              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 249}, {Mixed, 5},
1303              {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1304              {Empty, 30829}},
1305             {0x71108100, 0x800c0000, 0x00000201, 0x00001ff0, 0x000e0000,
1306              0x3f000000, 0x00000010, 0x04000000, 0x00000030, 0x00000080,
1307              0x01e00000, 0xff000000, 0xb0000000, 0x00480000, 0x4e000000,
1308              0x30000000, 0x00080000, 0x00080000, 0x30000000, 0x10842008,
1309              0x03e80200, 0x20080002, 0x02001084, 0x04000000, 0xa0000000,
1310              0xe000e003, 0x60006000, 0x00800000, 0x50d80060, 0x00800380,
1311              0x00000100, 0x0040026b, 0x08000007, 0xffff0000, 0x0dee0dee,
1312              0x00000200, 0x0001b000, 0xfffffe00, 0x003fffff, 0x00001000,
1313              0x00700000, 0x10000000, 0x98000000, 0x80000000, 0x7fffffff,
1314              0xffff000f, 0x30000000, 0xfffe0000, 0x0000ffff, 0xa0f8007f,
1315              0x5f7ffc00, 0x0000ffdb, 0x20000000, 0x0ffffc00, 0x3fffffff,
1316              0xffff0000, 0xfffcffff, 0x000000ff, 0x1fff0000, 0x02000000,
1317              0x00010000, 0x00001e00, 0xffd70000, 0x1fe00000, 0x00000008,
1318              0xc0000000, 0x0000001f, 0xf8000000, 0x00000001, 0xffff07ff,
1319              0x000067ff, 0x0000fc00, 0x00000c00, 0x00010000, 0x00000003,
1320              0x000001ff}};
1321        static BinaryPropertyObject property_object{XO_NFKC, codepoint_set};
1322    }
1323    namespace XO_NFKD_ns {
1324        /** Code Point Ranges for XO_NFKD
1325        [168, 168], [175, 175], [180, 180], [184, 184], [188, 190],
1326        [192, 197], [199, 207], [209, 214], [217, 221], [224, 229],
1327        [231, 239], [241, 246], [249, 253], [255, 271], [274, 293],
1328        [296, 304], [306, 311], [313, 320], [323, 329], [332, 337],
1329        [340, 357], [360, 382], [416, 417], [431, 432], [452, 476],
1330        [478, 483], [486, 501], [504, 539], [542, 543], [550, 563],
1331        [728, 733], [836, 836], [890, 890], [900, 902], [904, 906],
1332        [908, 908], [910, 912], [938, 944], [970, 974], [979, 980],
1333        [1024, 1025], [1027, 1027], [1031, 1031], [1036, 1038],
1334        [1049, 1049], [1081, 1081], [1104, 1105], [1107, 1107],
1335        [1111, 1111], [1116, 1118], [1142, 1143], [1217, 1218],
1336        [1232, 1235], [1238, 1239], [1242, 1247], [1250, 1255],
1337        [1258, 1269], [1272, 1273], [1415, 1415], [1570, 1574],
1338        [1653, 1656], [1728, 1728], [1730, 1730], [1747, 1747],
1339        [2345, 2345], [2353, 2353], [2356, 2356], [2392, 2399],
1340        [2507, 2508], [2524, 2525], [2527, 2527], [2611, 2611],
1341        [2614, 2614], [2649, 2651], [2654, 2654], [2888, 2888],
1342        [2891, 2892], [2908, 2909], [2964, 2964], [3018, 3020],
1343        [3144, 3144], [3264, 3264], [3271, 3272], [3274, 3275],
1344        [3402, 3404], [3546, 3546], [3548, 3550], [3635, 3635],
1345        [3763, 3763], [3804, 3805], [3907, 3907], [3917, 3917],
1346        [3922, 3922], [3927, 3927], [3932, 3932], [3945, 3945],
1347        [3955, 3955], [3957, 3961], [3969, 3969], [3987, 3987],
1348        [3997, 3997], [4002, 4002], [4007, 4007], [4012, 4012],
1349        [4025, 4025], [4134, 4134], [6918, 6918], [6920, 6920],
1350        [6922, 6922], [6924, 6924], [6926, 6926], [6930, 6930],
1351        [6971, 6971], [6973, 6973], [6976, 6977], [6979, 6979],
1352        [7680, 7835], [7840, 7929], [7936, 7957], [7960, 7965],
1353        [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
1354        [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
1355        [8118, 8125], [8127, 8132], [8134, 8147], [8150, 8155],
1356        [8157, 8174], [8178, 8180], [8182, 8190], [8215, 8215],
1357        [8229, 8230], [8243, 8244], [8246, 8247], [8252, 8252],
1358        [8254, 8254], [8263, 8265], [8279, 8279], [8360, 8360],
1359        [8448, 8449], [8451, 8451], [8453, 8454], [8457, 8457],
1360        [8470, 8470], [8480, 8482], [8491, 8491], [8507, 8507],
1361        [8528, 8543], [8545, 8547], [8549, 8552], [8554, 8555],
1362        [8561, 8563], [8565, 8568], [8570, 8571], [8585, 8585],
1363        [8602, 8603], [8622, 8622], [8653, 8655], [8708, 8708],
1364        [8713, 8713], [8716, 8716], [8740, 8740], [8742, 8742],
1365        [8748, 8749], [8751, 8752], [8769, 8769], [8772, 8772],
1366        [8775, 8775], [8777, 8777], [8800, 8800], [8802, 8802],
1367        [8813, 8817], [8820, 8821], [8824, 8825], [8832, 8833],
1368        [8836, 8837], [8840, 8841], [8876, 8879], [8928, 8931],
1369        [8938, 8941], [9321, 9397], [10764, 10764], [10868, 10870],
1370        [10972, 10972], [12364, 12364], [12366, 12366], [12368, 12368],
1371        [12370, 12370], [12372, 12372], [12374, 12374], [12376, 12376],
1372        [12378, 12378], [12380, 12380], [12382, 12382], [12384, 12384],
1373        [12386, 12386], [12389, 12389], [12391, 12391], [12393, 12393],
1374        [12400, 12401], [12403, 12404], [12406, 12407], [12409, 12410],
1375        [12412, 12413], [12436, 12436], [12443, 12444], [12446, 12447],
1376        [12460, 12460], [12462, 12462], [12464, 12464], [12466, 12466],
1377        [12468, 12468], [12470, 12470], [12472, 12472], [12474, 12474],
1378        [12476, 12476], [12478, 12478], [12480, 12480], [12482, 12482],
1379        [12485, 12485], [12487, 12487], [12489, 12489], [12496, 12497],
1380        [12499, 12500], [12502, 12503], [12505, 12506], [12508, 12509],
1381        [12532, 12532], [12535, 12538], [12542, 12543], [12800, 12830],
1382        [12832, 12867], [12880, 12895], [12910, 12926], [12977, 13007],
1383        [13056, 13311], [44032, 55203], [64256, 64262], [64275, 64279],
1384        [64285, 64285], [64287, 64287], [64298, 64310], [64312, 64316],
1385        [64318, 64318], [64320, 64321], [64323, 64324], [64326, 64335],
1386        [64420, 64421], [64432, 64433], [64477, 64477], [64490, 64507],
1387        [64512, 64829], [64848, 64911], [64914, 64967], [65008, 65020],
1388        [65049, 65049], [65072, 65072], [65097, 65100], [65136, 65138],
1389        [65140, 65140], [65142, 65151], [65153, 65164], [65269, 65276],
1390        [65507, 65507], [69786, 69786], [69788, 69788], [69803, 69803],
1391        [69934, 69935], [70475, 70476], [70843, 70844], [70846, 70846],
1392        [71098, 71099], [119134, 119140], [119227, 119232],
1393        [127232, 127242], [127248, 127274], [127277, 127278],
1394        [127306, 127311], [127338, 127339], [127376, 127376],
1395        [127488, 127489], [127507, 127507], [127552, 127560]**/
1396        const UnicodeSet codepoint_set
1397            {{{Empty, 5}, {Mixed, 7}, {Empty, 1}, {Mixed, 5}, {Empty, 4},
1398              {Mixed, 1}, {Empty, 3}, {Mixed, 5}, {Empty, 1}, {Mixed, 4},
1399              {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 4},
1400              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1401              {Empty, 18}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
1402              {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1403              {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1404              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1405              {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
1406              {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 86}, {Mixed, 3},
1407              {Empty, 21}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
1408              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 6}, {Empty, 2},
1409              {Mixed, 1}, {Empty, 2}, {Mixed, 7}, {Empty, 1}, {Mixed, 6},
1410              {Empty, 1}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 1},
1411              {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1412              {Empty, 2}, {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 8},
1413              {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1414              {Empty, 1}, {Full, 8}, {Empty, 960}, {Full, 349}, {Mixed, 1},
1415              {Empty, 282}, {Mixed, 3}, {Empty, 2}, {Mixed, 3}, {Full, 9},
1416              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 7},
1417              {Empty, 2}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 132},
1418              {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
1419              {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1420              {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1421              {Empty, 249}, {Mixed, 5}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1422              {Mixed, 1}, {Empty, 30829}},
1423             {0x71108100, 0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0xfefdff3f,
1424              0xfff3f3f9, 0x7fffff3f, 0x00018003, 0xdffffff0, 0xff3fffcf,
1425              0xcfffffff, 0x000fffc0, 0x3f000000, 0x00000010, 0x04000000,
1426              0x0001d770, 0x0001fc00, 0x00187c00, 0x0200708b, 0x02000000,
1427              0x708b0000, 0x00c00000, 0xfccf0006, 0x033ffcfc, 0x00000080,
1428              0x0000007c, 0x01e00000, 0x00080005, 0x00120200, 0xff000000,
1429              0xb0001800, 0x00480000, 0x4e000000, 0x30001900, 0x00100000,
1430              0x00001c00, 0x00000100, 0x00000d81, 0x00001c00, 0x74000000,
1431              0x00080000, 0x00080000, 0x30000000, 0x10842008, 0x03e80200,
1432              0x20080002, 0x02001084, 0x00000040, 0x00045540, 0x28000000,
1433              0x0000000b, 0x0fffffff, 0x03ffffff, 0x3f3fffff, 0xaaff3f3f,
1434              0x3fffffff, 0xbfdfffff, 0xefcfffdf, 0x7fdc7fff, 0x00800000,
1435              0x50d80060, 0x00800380, 0x00000100, 0x0040026b, 0x08000807,
1436              0xffff0000, 0x0dee0dee, 0x0c000200, 0x00004000, 0x0000e000,
1437              0x00001210, 0x0001b050, 0x00000292, 0x0333e005, 0x00000333,
1438              0x0000f000, 0x00003c0f, 0xfffffe00, 0x003fffff, 0x00001000,
1439              0x00700000, 0x10000000, 0x55555000, 0x36db02a5, 0xd8100000,
1440              0x55555000, 0x36db02a5, 0xc7900000, 0x7fffffff, 0xffff000f,
1441              0x7fffc000, 0xfffe0000, 0x0000ffff, 0x0000000f, 0xa0f8007f,
1442              0x5f7ffc00, 0x0000ffdb, 0x00030030, 0x20000000, 0x0ffffc00,
1443              0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x1fff0000,
1444              0x02000000, 0x00010000, 0x00001e00, 0xffd70000, 0x00001ffe,
1445              0x1fe00000, 0x00000008, 0x14000000, 0x00000800, 0x0000c000,
1446              0x00001800, 0x58000000, 0x0c000000, 0xc0000000, 0x0000001f,
1447              0xf8000000, 0x00000001, 0xffff07ff, 0x000067ff, 0x0000fc00,
1448              0x00000c00, 0x00010000, 0x00080003, 0x000001ff}};
1449        static BinaryPropertyObject property_object{XO_NFKD, codepoint_set};
1450    }
1451}
1452
1453
1454#endif
Note: See TracBrowser for help on using the repository browser.