source: icGREP/icgrep-devel/icgrep/UCD/DerivedGeneralCategory.h @ 5620

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

Support for enumeration basis sets

File size: 184.1 KB
Line 
1#ifndef DERIVEDGENERALCATEGORY_H
2#define DERIVEDGENERALCATEGORY_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 "PropertyObjects.h"
12#include "PropertyValueAliases.h"
13#include "unicode_set.h"
14
15namespace UCD {
16  namespace GC_ns {
17    const unsigned independent_prop_values = 30;
18    /** Code Point Ranges for Cn
19    [888, 889], [896, 899], [907, 907], [909, 909], [930, 930],
20    [1328, 1328], [1367, 1368], [1376, 1376], [1416, 1416], [1419, 1420],
21    [1424, 1424], [1480, 1487], [1515, 1519], [1525, 1535], [1565, 1565],
22    [1806, 1806], [1867, 1868], [1970, 1983], [2043, 2047], [2094, 2095],
23    [2111, 2111], [2140, 2141], [2143, 2207], [2229, 2229], [2238, 2259],
24    [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473], [2481, 2481],
25    [2483, 2485], [2490, 2491], [2501, 2502], [2505, 2506], [2511, 2518],
26    [2520, 2523], [2526, 2526], [2532, 2533], [2556, 2560], [2564, 2564],
27    [2571, 2574], [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612],
28    [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630], [2633, 2634],
29    [2638, 2640], [2642, 2648], [2653, 2653], [2655, 2661], [2678, 2688],
30    [2692, 2692], [2702, 2702], [2706, 2706], [2729, 2729], [2737, 2737],
31    [2740, 2740], [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767],
32    [2769, 2783], [2788, 2789], [2802, 2808], [2810, 2816], [2820, 2820],
33    [2829, 2830], [2833, 2834], [2857, 2857], [2865, 2865], [2868, 2868],
34    [2874, 2875], [2885, 2886], [2889, 2890], [2894, 2901], [2904, 2907],
35    [2910, 2910], [2916, 2917], [2936, 2945], [2948, 2948], [2955, 2957],
36    [2961, 2961], [2966, 2968], [2971, 2971], [2973, 2973], [2976, 2978],
37    [2981, 2983], [2987, 2989], [3002, 3005], [3011, 3013], [3017, 3017],
38    [3022, 3023], [3025, 3030], [3032, 3045], [3067, 3071], [3076, 3076],
39    [3085, 3085], [3089, 3089], [3113, 3113], [3130, 3132], [3141, 3141],
40    [3145, 3145], [3150, 3156], [3159, 3159], [3163, 3167], [3172, 3173],
41    [3184, 3191], [3204, 3204], [3213, 3213], [3217, 3217], [3241, 3241],
42    [3252, 3252], [3258, 3259], [3269, 3269], [3273, 3273], [3278, 3284],
43    [3287, 3293], [3295, 3295], [3300, 3301], [3312, 3312], [3315, 3328],
44    [3332, 3332], [3341, 3341], [3345, 3345], [3387, 3388], [3397, 3397],
45    [3401, 3401], [3408, 3411], [3428, 3429], [3456, 3457], [3460, 3460],
46    [3479, 3481], [3506, 3506], [3516, 3516], [3518, 3519], [3527, 3529],
47    [3531, 3534], [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569],
48    [3573, 3584], [3643, 3646], [3676, 3712], [3715, 3715], [3717, 3718],
49    [3721, 3721], [3723, 3724], [3726, 3731], [3736, 3736], [3744, 3744],
50    [3748, 3748], [3750, 3750], [3752, 3753], [3756, 3756], [3770, 3770],
51    [3774, 3775], [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803],
52    [3808, 3839], [3912, 3912], [3949, 3952], [3992, 3992], [4029, 4029],
53    [4045, 4045], [4059, 4095], [4294, 4294], [4296, 4300], [4302, 4303],
54    [4681, 4681], [4686, 4687], [4695, 4695], [4697, 4697], [4702, 4703],
55    [4745, 4745], [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799],
56    [4801, 4801], [4806, 4807], [4823, 4823], [4881, 4881], [4886, 4887],
57    [4955, 4956], [4989, 4991], [5018, 5023], [5110, 5111], [5118, 5119],
58    [5789, 5791], [5881, 5887], [5901, 5901], [5909, 5919], [5943, 5951],
59    [5972, 5983], [5997, 5997], [6001, 6001], [6004, 6015], [6110, 6111],
60    [6122, 6127], [6138, 6143], [6159, 6159], [6170, 6175], [6264, 6271],
61    [6315, 6319], [6390, 6399], [6431, 6431], [6444, 6447], [6460, 6463],
62    [6465, 6467], [6510, 6511], [6517, 6527], [6572, 6575], [6602, 6607],
63    [6619, 6621], [6684, 6685], [6751, 6751], [6781, 6782], [6794, 6799],
64    [6810, 6815], [6830, 6831], [6847, 6911], [6988, 6991], [7037, 7039],
65    [7156, 7163], [7224, 7226], [7242, 7244], [7305, 7359], [7368, 7375],
66    [7415, 7415], [7418, 7423], [7670, 7674], [7958, 7959], [7966, 7967],
67    [8006, 8007], [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028],
68    [8030, 8030], [8062, 8063], [8117, 8117], [8133, 8133], [8148, 8149],
69    [8156, 8156], [8176, 8177], [8181, 8181], [8191, 8191], [8293, 8293],
70    [8306, 8307], [8335, 8335], [8349, 8351], [8383, 8399], [8433, 8447],
71    [8588, 8591], [9215, 9215], [9255, 9279], [9291, 9311], [11124, 11125],
72    [11158, 11159], [11194, 11196], [11209, 11209], [11218, 11243],
73    [11248, 11263], [11311, 11311], [11359, 11359], [11508, 11512],
74    [11558, 11558], [11560, 11564], [11566, 11567], [11624, 11630],
75    [11633, 11646], [11671, 11679], [11687, 11687], [11695, 11695],
76    [11703, 11703], [11711, 11711], [11719, 11719], [11727, 11727],
77    [11735, 11735], [11743, 11743], [11845, 11903], [11930, 11930],
78    [12020, 12031], [12246, 12271], [12284, 12287], [12352, 12352],
79    [12439, 12440], [12544, 12548], [12590, 12592], [12687, 12687],
80    [12731, 12735], [12772, 12783], [12831, 12831], [13055, 13055],
81    [19894, 19903], [40918, 40959], [42125, 42127], [42183, 42191],
82    [42540, 42559], [42744, 42751], [42927, 42927], [42936, 42998],
83    [43052, 43055], [43066, 43071], [43128, 43135], [43206, 43213],
84    [43226, 43231], [43262, 43263], [43348, 43358], [43389, 43391],
85    [43470, 43470], [43482, 43485], [43519, 43519], [43575, 43583],
86    [43598, 43599], [43610, 43611], [43715, 43738], [43767, 43776],
87    [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
88    [43823, 43823], [43878, 43887], [44014, 44015], [44026, 44031],
89    [55204, 55215], [55239, 55242], [55292, 55295], [64110, 64111],
90    [64218, 64255], [64263, 64274], [64280, 64284], [64311, 64311],
91    [64317, 64317], [64319, 64319], [64322, 64322], [64325, 64325],
92    [64450, 64466], [64832, 64847], [64912, 64913], [64968, 65007],
93    [65022, 65023], [65050, 65055], [65107, 65107], [65127, 65127],
94    [65132, 65135], [65141, 65141], [65277, 65278], [65280, 65280],
95    [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497],
96    [65501, 65503], [65511, 65511], [65519, 65528], [65534, 65535],
97    [65548, 65548], [65575, 65575], [65595, 65595], [65598, 65598],
98    [65614, 65615], [65630, 65663], [65787, 65791], [65795, 65798],
99    [65844, 65846], [65935, 65935], [65948, 65951], [65953, 65999],
100    [66046, 66175], [66205, 66207], [66257, 66271], [66300, 66303],
101    [66340, 66351], [66379, 66383], [66427, 66431], [66462, 66462],
102    [66500, 66503], [66518, 66559], [66718, 66719], [66730, 66735],
103    [66772, 66775], [66812, 66815], [66856, 66863], [66916, 66926],
104    [66928, 67071], [67383, 67391], [67414, 67423], [67432, 67583],
105    [67590, 67591], [67593, 67593], [67638, 67638], [67641, 67643],
106    [67645, 67646], [67670, 67670], [67743, 67750], [67760, 67807],
107    [67827, 67827], [67830, 67834], [67868, 67870], [67898, 67902],
108    [67904, 67967], [68024, 68027], [68048, 68049], [68100, 68100],
109    [68103, 68107], [68116, 68116], [68120, 68120], [68148, 68151],
110    [68155, 68158], [68168, 68175], [68185, 68191], [68256, 68287],
111    [68327, 68330], [68343, 68351], [68406, 68408], [68438, 68439],
112    [68467, 68471], [68498, 68504], [68509, 68520], [68528, 68607],
113    [68681, 68735], [68787, 68799], [68851, 68857], [68864, 69215],
114    [69247, 69631], [69710, 69713], [69744, 69758], [69826, 69839],
115    [69865, 69871], [69882, 69887], [69941, 69941], [69956, 69967],
116    [70007, 70015], [70094, 70095], [70112, 70112], [70133, 70143],
117    [70162, 70162], [70207, 70271], [70279, 70279], [70281, 70281],
118    [70286, 70286], [70302, 70302], [70314, 70319], [70379, 70383],
119    [70394, 70399], [70404, 70404], [70413, 70414], [70417, 70418],
120    [70441, 70441], [70449, 70449], [70452, 70452], [70458, 70459],
121    [70469, 70470], [70473, 70474], [70478, 70479], [70481, 70486],
122    [70488, 70492], [70500, 70501], [70509, 70511], [70517, 70655],
123    [70746, 70746], [70748, 70748], [70750, 70783], [70856, 70863],
124    [70874, 71039], [71094, 71095], [71134, 71167], [71237, 71247],
125    [71258, 71263], [71277, 71295], [71352, 71359], [71370, 71423],
126    [71450, 71452], [71468, 71471], [71488, 71839], [71923, 71934],
127    [71936, 72383], [72441, 72703], [72713, 72713], [72759, 72759],
128    [72774, 72783], [72813, 72815], [72848, 72849], [72872, 72872],
129    [72887, 73727], [74650, 74751], [74863, 74863], [74869, 74879],
130    [75076, 77823], [78895, 82943], [83527, 92159], [92729, 92735],
131    [92767, 92767], [92778, 92781], [92784, 92879], [92910, 92911],
132    [92918, 92927], [92998, 93007], [93018, 93018], [93026, 93026],
133    [93048, 93052], [93072, 93951], [94021, 94031], [94079, 94094],
134    [94112, 94175], [94177, 94207], [100333, 100351], [101107, 110591],
135    [110594, 113663], [113771, 113775], [113789, 113791], [113801, 113807],
136    [113818, 113819], [113828, 118783], [119030, 119039], [119079, 119080],
137    [119273, 119295], [119366, 119551], [119639, 119647], [119666, 119807],
138    [119893, 119893], [119965, 119965], [119968, 119969], [119971, 119972],
139    [119975, 119976], [119981, 119981], [119994, 119994], [119996, 119996],
140    [120004, 120004], [120070, 120070], [120075, 120076], [120085, 120085],
141    [120093, 120093], [120122, 120122], [120127, 120127], [120133, 120133],
142    [120135, 120137], [120145, 120145], [120486, 120487], [120780, 120781],
143    [121484, 121498], [121504, 121504], [121520, 122879], [122887, 122887],
144    [122905, 122906], [122914, 122914], [122917, 122917], [122923, 124927],
145    [125125, 125126], [125143, 125183], [125259, 125263], [125274, 125277],
146    [125280, 126463], [126468, 126468], [126496, 126496], [126499, 126499],
147    [126501, 126502], [126504, 126504], [126515, 126515], [126520, 126520],
148    [126522, 126522], [126524, 126529], [126531, 126534], [126536, 126536],
149    [126538, 126538], [126540, 126540], [126544, 126544], [126547, 126547],
150    [126549, 126550], [126552, 126552], [126554, 126554], [126556, 126556],
151    [126558, 126558], [126560, 126560], [126563, 126563], [126565, 126566],
152    [126571, 126571], [126579, 126579], [126584, 126584], [126589, 126589],
153    [126591, 126591], [126602, 126602], [126620, 126624], [126628, 126628],
154    [126634, 126634], [126652, 126703], [126706, 126975], [127020, 127023],
155    [127124, 127135], [127151, 127152], [127168, 127168], [127184, 127184],
156    [127222, 127231], [127245, 127247], [127279, 127279], [127340, 127343],
157    [127405, 127461], [127491, 127503], [127548, 127551], [127561, 127567],
158    [127570, 127743], [128723, 128735], [128749, 128751], [128759, 128767],
159    [128884, 128895], [128981, 129023], [129036, 129039], [129096, 129103],
160    [129114, 129119], [129160, 129167], [129198, 129295], [129311, 129311],
161    [129320, 129327], [129329, 129330], [129343, 129343], [129356, 129359],
162    [129375, 129407], [129426, 129471], [129473, 131071], [173783, 173823],
163    [177973, 177983], [178206, 178207], [183970, 194559], [195102, 917504],
164    [917506, 917535], [917632, 917759], [918000, 983039],
165    [1048574, 1048575], [1114110, 1114111]**/
166    const UnicodeSet cn_Set
167        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
168          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
169          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
170          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
171          {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
172          {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
173          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
174          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
175          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
176          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
177          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
178          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
179          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
180          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
181          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
182          {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
183          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
184          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
185          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
186          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
187          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
188          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
189          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
190          {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
191          {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
192          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
193          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
194          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
195          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
196          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
197          {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
198          {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
199          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
200          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
201          {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
202          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
203          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
204          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
205          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
206          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
207          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
208          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
209          {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
210          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
211          {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
212          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
213          {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
214          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
215          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
216          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
217          {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1}, {Mixed, 1},
218          {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28}, {Mixed, 1},
219          {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
220          {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
221          {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
222          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
223          {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
224          {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1}, {Full, 95},
225          {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
226          {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
227          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
228          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
229          {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
230          {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
231          {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
232          {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
233          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
234          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
235          {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
236          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
237          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
238          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 49},
239          {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129}, {Mixed, 1},
240          {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1}, {Full, 330},
241          {Empty, 16}, {Mixed, 1}, {Full, 22575}, {Mixed, 1}, {Empty, 3},
242          {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 2032}, {Empty, 2047},
243          {Mixed, 1}, {Empty, 2047}, {Mixed, 1}},
244         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
245          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
246          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
247          0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
248          0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
249          0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
250          0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
251          0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
252          0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
253          0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
254          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
255          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
256          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
257          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
258          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
259          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
260          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
261          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
262          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
263          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
264          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
265          0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
266          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
267          0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
268          0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
269          0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
270          0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
271          0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
272          0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
273          0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
274          0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
275          0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
276          0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
277          0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
278          0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
279          0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
280          0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0xffffff00,
281          0xc000ffff, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
282          0x00000001, 0x80000000, 0xe3030303, 0xc1ff8080, 0x00001000,
283          0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
284          0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
285          0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
286          0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
287          0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
288          0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
289          0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
290          0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
291          0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
292          0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
293          0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
294          0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
295          0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
296          0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
297          0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
298          0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
299          0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
300          0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
301          0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
302          0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
303          0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
304          0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
305          0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
306          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
307          0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
308          0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
309          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
310          0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
311          0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
312          0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
313          0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
314          0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
315          0xfffc0000, 0xfffffffe, 0xff800000, 0xffe00000, 0xc0000000,
316          0xfffffffc, 0xc0000000, 0xfffffffd, 0xffff0000, 0xc0000000,
317          0xc0000000}};
318    /** Code Point Ranges for Lu
319    [65, 90], [192, 214], [216, 222], [256, 256], [258, 258], [260, 260],
320    [262, 262], [264, 264], [266, 266], [268, 268], [270, 270], [272, 272],
321    [274, 274], [276, 276], [278, 278], [280, 280], [282, 282], [284, 284],
322    [286, 286], [288, 288], [290, 290], [292, 292], [294, 294], [296, 296],
323    [298, 298], [300, 300], [302, 302], [304, 304], [306, 306], [308, 308],
324    [310, 310], [313, 313], [315, 315], [317, 317], [319, 319], [321, 321],
325    [323, 323], [325, 325], [327, 327], [330, 330], [332, 332], [334, 334],
326    [336, 336], [338, 338], [340, 340], [342, 342], [344, 344], [346, 346],
327    [348, 348], [350, 350], [352, 352], [354, 354], [356, 356], [358, 358],
328    [360, 360], [362, 362], [364, 364], [366, 366], [368, 368], [370, 370],
329    [372, 372], [374, 374], [376, 377], [379, 379], [381, 381], [385, 386],
330    [388, 388], [390, 391], [393, 395], [398, 401], [403, 404], [406, 408],
331    [412, 413], [415, 416], [418, 418], [420, 420], [422, 423], [425, 425],
332    [428, 428], [430, 431], [433, 435], [437, 437], [439, 440], [444, 444],
333    [452, 452], [455, 455], [458, 458], [461, 461], [463, 463], [465, 465],
334    [467, 467], [469, 469], [471, 471], [473, 473], [475, 475], [478, 478],
335    [480, 480], [482, 482], [484, 484], [486, 486], [488, 488], [490, 490],
336    [492, 492], [494, 494], [497, 497], [500, 500], [502, 504], [506, 506],
337    [508, 508], [510, 510], [512, 512], [514, 514], [516, 516], [518, 518],
338    [520, 520], [522, 522], [524, 524], [526, 526], [528, 528], [530, 530],
339    [532, 532], [534, 534], [536, 536], [538, 538], [540, 540], [542, 542],
340    [544, 544], [546, 546], [548, 548], [550, 550], [552, 552], [554, 554],
341    [556, 556], [558, 558], [560, 560], [562, 562], [570, 571], [573, 574],
342    [577, 577], [579, 582], [584, 584], [586, 586], [588, 588], [590, 590],
343    [880, 880], [882, 882], [886, 886], [895, 895], [902, 902], [904, 906],
344    [908, 908], [910, 911], [913, 929], [931, 939], [975, 975], [978, 980],
345    [984, 984], [986, 986], [988, 988], [990, 990], [992, 992], [994, 994],
346    [996, 996], [998, 998], [1000, 1000], [1002, 1002], [1004, 1004],
347    [1006, 1006], [1012, 1012], [1015, 1015], [1017, 1018], [1021, 1071],
348    [1120, 1120], [1122, 1122], [1124, 1124], [1126, 1126], [1128, 1128],
349    [1130, 1130], [1132, 1132], [1134, 1134], [1136, 1136], [1138, 1138],
350    [1140, 1140], [1142, 1142], [1144, 1144], [1146, 1146], [1148, 1148],
351    [1150, 1150], [1152, 1152], [1162, 1162], [1164, 1164], [1166, 1166],
352    [1168, 1168], [1170, 1170], [1172, 1172], [1174, 1174], [1176, 1176],
353    [1178, 1178], [1180, 1180], [1182, 1182], [1184, 1184], [1186, 1186],
354    [1188, 1188], [1190, 1190], [1192, 1192], [1194, 1194], [1196, 1196],
355    [1198, 1198], [1200, 1200], [1202, 1202], [1204, 1204], [1206, 1206],
356    [1208, 1208], [1210, 1210], [1212, 1212], [1214, 1214], [1216, 1217],
357    [1219, 1219], [1221, 1221], [1223, 1223], [1225, 1225], [1227, 1227],
358    [1229, 1229], [1232, 1232], [1234, 1234], [1236, 1236], [1238, 1238],
359    [1240, 1240], [1242, 1242], [1244, 1244], [1246, 1246], [1248, 1248],
360    [1250, 1250], [1252, 1252], [1254, 1254], [1256, 1256], [1258, 1258],
361    [1260, 1260], [1262, 1262], [1264, 1264], [1266, 1266], [1268, 1268],
362    [1270, 1270], [1272, 1272], [1274, 1274], [1276, 1276], [1278, 1278],
363    [1280, 1280], [1282, 1282], [1284, 1284], [1286, 1286], [1288, 1288],
364    [1290, 1290], [1292, 1292], [1294, 1294], [1296, 1296], [1298, 1298],
365    [1300, 1300], [1302, 1302], [1304, 1304], [1306, 1306], [1308, 1308],
366    [1310, 1310], [1312, 1312], [1314, 1314], [1316, 1316], [1318, 1318],
367    [1320, 1320], [1322, 1322], [1324, 1324], [1326, 1326], [1329, 1366],
368    [4256, 4293], [4295, 4295], [4301, 4301], [5024, 5109], [7680, 7680],
369    [7682, 7682], [7684, 7684], [7686, 7686], [7688, 7688], [7690, 7690],
370    [7692, 7692], [7694, 7694], [7696, 7696], [7698, 7698], [7700, 7700],
371    [7702, 7702], [7704, 7704], [7706, 7706], [7708, 7708], [7710, 7710],
372    [7712, 7712], [7714, 7714], [7716, 7716], [7718, 7718], [7720, 7720],
373    [7722, 7722], [7724, 7724], [7726, 7726], [7728, 7728], [7730, 7730],
374    [7732, 7732], [7734, 7734], [7736, 7736], [7738, 7738], [7740, 7740],
375    [7742, 7742], [7744, 7744], [7746, 7746], [7748, 7748], [7750, 7750],
376    [7752, 7752], [7754, 7754], [7756, 7756], [7758, 7758], [7760, 7760],
377    [7762, 7762], [7764, 7764], [7766, 7766], [7768, 7768], [7770, 7770],
378    [7772, 7772], [7774, 7774], [7776, 7776], [7778, 7778], [7780, 7780],
379    [7782, 7782], [7784, 7784], [7786, 7786], [7788, 7788], [7790, 7790],
380    [7792, 7792], [7794, 7794], [7796, 7796], [7798, 7798], [7800, 7800],
381    [7802, 7802], [7804, 7804], [7806, 7806], [7808, 7808], [7810, 7810],
382    [7812, 7812], [7814, 7814], [7816, 7816], [7818, 7818], [7820, 7820],
383    [7822, 7822], [7824, 7824], [7826, 7826], [7828, 7828], [7838, 7838],
384    [7840, 7840], [7842, 7842], [7844, 7844], [7846, 7846], [7848, 7848],
385    [7850, 7850], [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
386    [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866], [7868, 7868],
387    [7870, 7870], [7872, 7872], [7874, 7874], [7876, 7876], [7878, 7878],
388    [7880, 7880], [7882, 7882], [7884, 7884], [7886, 7886], [7888, 7888],
389    [7890, 7890], [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
390    [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906], [7908, 7908],
391    [7910, 7910], [7912, 7912], [7914, 7914], [7916, 7916], [7918, 7918],
392    [7920, 7920], [7922, 7922], [7924, 7924], [7926, 7926], [7928, 7928],
393    [7930, 7930], [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
394    [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025], [8027, 8027],
395    [8029, 8029], [8031, 8031], [8040, 8047], [8120, 8123], [8136, 8139],
396    [8152, 8155], [8168, 8172], [8184, 8187], [8450, 8450], [8455, 8455],
397    [8459, 8461], [8464, 8466], [8469, 8469], [8473, 8477], [8484, 8484],
398    [8486, 8486], [8488, 8488], [8490, 8493], [8496, 8499], [8510, 8511],
399    [8517, 8517], [8579, 8579], [11264, 11310], [11360, 11360],
400    [11362, 11364], [11367, 11367], [11369, 11369], [11371, 11371],
401    [11373, 11376], [11378, 11378], [11381, 11381], [11390, 11392],
402    [11394, 11394], [11396, 11396], [11398, 11398], [11400, 11400],
403    [11402, 11402], [11404, 11404], [11406, 11406], [11408, 11408],
404    [11410, 11410], [11412, 11412], [11414, 11414], [11416, 11416],
405    [11418, 11418], [11420, 11420], [11422, 11422], [11424, 11424],
406    [11426, 11426], [11428, 11428], [11430, 11430], [11432, 11432],
407    [11434, 11434], [11436, 11436], [11438, 11438], [11440, 11440],
408    [11442, 11442], [11444, 11444], [11446, 11446], [11448, 11448],
409    [11450, 11450], [11452, 11452], [11454, 11454], [11456, 11456],
410    [11458, 11458], [11460, 11460], [11462, 11462], [11464, 11464],
411    [11466, 11466], [11468, 11468], [11470, 11470], [11472, 11472],
412    [11474, 11474], [11476, 11476], [11478, 11478], [11480, 11480],
413    [11482, 11482], [11484, 11484], [11486, 11486], [11488, 11488],
414    [11490, 11490], [11499, 11499], [11501, 11501], [11506, 11506],
415    [42560, 42560], [42562, 42562], [42564, 42564], [42566, 42566],
416    [42568, 42568], [42570, 42570], [42572, 42572], [42574, 42574],
417    [42576, 42576], [42578, 42578], [42580, 42580], [42582, 42582],
418    [42584, 42584], [42586, 42586], [42588, 42588], [42590, 42590],
419    [42592, 42592], [42594, 42594], [42596, 42596], [42598, 42598],
420    [42600, 42600], [42602, 42602], [42604, 42604], [42624, 42624],
421    [42626, 42626], [42628, 42628], [42630, 42630], [42632, 42632],
422    [42634, 42634], [42636, 42636], [42638, 42638], [42640, 42640],
423    [42642, 42642], [42644, 42644], [42646, 42646], [42648, 42648],
424    [42650, 42650], [42786, 42786], [42788, 42788], [42790, 42790],
425    [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
426    [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
427    [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
428    [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
429    [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
430    [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
431    [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
432    [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
433    [42858, 42858], [42860, 42860], [42862, 42862], [42873, 42873],
434    [42875, 42875], [42877, 42878], [42880, 42880], [42882, 42882],
435    [42884, 42884], [42886, 42886], [42891, 42891], [42893, 42893],
436    [42896, 42896], [42898, 42898], [42902, 42902], [42904, 42904],
437    [42906, 42906], [42908, 42908], [42910, 42910], [42912, 42912],
438    [42914, 42914], [42916, 42916], [42918, 42918], [42920, 42920],
439    [42922, 42926], [42928, 42932], [42934, 42934], [65313, 65338],
440    [66560, 66599], [66736, 66771], [68736, 68786], [71840, 71871],
441    [119808, 119833], [119860, 119885], [119912, 119937], [119964, 119964],
442    [119966, 119967], [119970, 119970], [119973, 119974], [119977, 119980],
443    [119982, 119989], [120016, 120041], [120068, 120069], [120071, 120074],
444    [120077, 120084], [120086, 120092], [120120, 120121], [120123, 120126],
445    [120128, 120132], [120134, 120134], [120138, 120144], [120172, 120197],
446    [120224, 120249], [120276, 120301], [120328, 120353], [120380, 120405],
447    [120432, 120457], [120488, 120512], [120546, 120570], [120604, 120628],
448    [120662, 120686], [120720, 120744], [120778, 120778], [125184, 125217]**/
449    const UnicodeSet lu_Set
450        {{{Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
451          {Mixed, 11}, {Empty, 8}, {Mixed, 5}, {Full, 1}, {Mixed, 1},
452          {Empty, 1}, {Mixed, 8}, {Empty, 90}, {Full, 1}, {Mixed, 1},
453          {Empty, 22}, {Full, 2}, {Mixed, 1}, {Empty, 80}, {Mixed, 12},
454          {Empty, 1}, {Mixed, 3}, {Empty, 8}, {Mixed, 3}, {Empty, 1},
455          {Mixed, 1}, {Empty, 83}, {Full, 1}, {Mixed, 1}, {Empty, 1},
456          {Mixed, 5}, {Empty, 970}, {Mixed, 3}, {Empty, 4}, {Mixed, 5},
457          {Empty, 699}, {Mixed, 1}, {Empty, 38}, {Full, 1}, {Mixed, 1},
458          {Empty, 3}, {Mixed, 2}, {Empty, 61}, {Full, 1}, {Mixed, 1},
459          {Empty, 95}, {Full, 1}, {Empty, 1498}, {Mixed, 31}, {Empty, 137},
460          {Full, 1}, {Mixed, 1}, {Empty, 30902}},
461         {0x07fffffe, 0x7f7fffff, 0x55555555, 0xaa555555, 0x555554aa,
462          0x2b555555, 0xb1dbced6, 0x11aed2d5, 0x4aaaa490, 0x55d25555,
463          0x55555555, 0x6c055555, 0x0000557a, 0x80450000, 0xfffed740,
464          0x00000ffb, 0x551c8000, 0xe6905555, 0x0000ffff, 0x55555555,
465          0x55555401, 0x55555555, 0x55552aab, 0x55555555, 0x55555555,
466          0xfffe5555, 0x007fffff, 0x000020bf, 0x003fffff, 0x55555555,
467          0x55555555, 0x55555555, 0x55555555, 0x40155555, 0x55555555,
468          0x55555555, 0x55555555, 0x3f00ff00, 0xff00ff00, 0xaa003f00,
469          0x0000ff00, 0x0f000000, 0x0f000f00, 0x0f001f00, 0x3e273884,
470          0xc00f3d50, 0x00000020, 0x00000008, 0x00007fff, 0xc025ea9d,
471          0x55555555, 0x55555555, 0x55555555, 0x00042805, 0x55555555,
472          0x00001555, 0x05555555, 0x55545554, 0x55555555, 0x6a005555,
473          0x55452855, 0x005f7d55, 0x07fffffe, 0x000000ff, 0xffff0000,
474          0x000fffff, 0x0007ffff, 0x03ffffff, 0xfff00000, 0x00003fff,
475          0xffffff00, 0xd0000003, 0x003fde64, 0xffff0000, 0x000003ff,
476          0x1fdfe7b0, 0x7b000000, 0x0001fc5f, 0xfffff000, 0x0000003f,
477          0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00, 0xf0000003,
478          0x003fffff, 0xffff0000, 0x000003ff, 0xffffff00, 0x00000001,
479          0x07fffffc, 0xf0000000, 0x001fffff, 0xffc00000, 0x00007fff,
480          0xffff0000, 0x000001ff, 0x00000400, 0x00000003}};
481    /** Code Point Ranges for Ll
482    [97, 122], [181, 181], [223, 246], [248, 255], [257, 257], [259, 259],
483    [261, 261], [263, 263], [265, 265], [267, 267], [269, 269], [271, 271],
484    [273, 273], [275, 275], [277, 277], [279, 279], [281, 281], [283, 283],
485    [285, 285], [287, 287], [289, 289], [291, 291], [293, 293], [295, 295],
486    [297, 297], [299, 299], [301, 301], [303, 303], [305, 305], [307, 307],
487    [309, 309], [311, 312], [314, 314], [316, 316], [318, 318], [320, 320],
488    [322, 322], [324, 324], [326, 326], [328, 329], [331, 331], [333, 333],
489    [335, 335], [337, 337], [339, 339], [341, 341], [343, 343], [345, 345],
490    [347, 347], [349, 349], [351, 351], [353, 353], [355, 355], [357, 357],
491    [359, 359], [361, 361], [363, 363], [365, 365], [367, 367], [369, 369],
492    [371, 371], [373, 373], [375, 375], [378, 378], [380, 380], [382, 384],
493    [387, 387], [389, 389], [392, 392], [396, 397], [402, 402], [405, 405],
494    [409, 411], [414, 414], [417, 417], [419, 419], [421, 421], [424, 424],
495    [426, 427], [429, 429], [432, 432], [436, 436], [438, 438], [441, 442],
496    [445, 447], [454, 454], [457, 457], [460, 460], [462, 462], [464, 464],
497    [466, 466], [468, 468], [470, 470], [472, 472], [474, 474], [476, 477],
498    [479, 479], [481, 481], [483, 483], [485, 485], [487, 487], [489, 489],
499    [491, 491], [493, 493], [495, 496], [499, 499], [501, 501], [505, 505],
500    [507, 507], [509, 509], [511, 511], [513, 513], [515, 515], [517, 517],
501    [519, 519], [521, 521], [523, 523], [525, 525], [527, 527], [529, 529],
502    [531, 531], [533, 533], [535, 535], [537, 537], [539, 539], [541, 541],
503    [543, 543], [545, 545], [547, 547], [549, 549], [551, 551], [553, 553],
504    [555, 555], [557, 557], [559, 559], [561, 561], [563, 569], [572, 572],
505    [575, 576], [578, 578], [583, 583], [585, 585], [587, 587], [589, 589],
506    [591, 659], [661, 687], [881, 881], [883, 883], [887, 887], [891, 893],
507    [912, 912], [940, 974], [976, 977], [981, 983], [985, 985], [987, 987],
508    [989, 989], [991, 991], [993, 993], [995, 995], [997, 997], [999, 999],
509    [1001, 1001], [1003, 1003], [1005, 1005], [1007, 1011], [1013, 1013],
510    [1016, 1016], [1019, 1020], [1072, 1119], [1121, 1121], [1123, 1123],
511    [1125, 1125], [1127, 1127], [1129, 1129], [1131, 1131], [1133, 1133],
512    [1135, 1135], [1137, 1137], [1139, 1139], [1141, 1141], [1143, 1143],
513    [1145, 1145], [1147, 1147], [1149, 1149], [1151, 1151], [1153, 1153],
514    [1163, 1163], [1165, 1165], [1167, 1167], [1169, 1169], [1171, 1171],
515    [1173, 1173], [1175, 1175], [1177, 1177], [1179, 1179], [1181, 1181],
516    [1183, 1183], [1185, 1185], [1187, 1187], [1189, 1189], [1191, 1191],
517    [1193, 1193], [1195, 1195], [1197, 1197], [1199, 1199], [1201, 1201],
518    [1203, 1203], [1205, 1205], [1207, 1207], [1209, 1209], [1211, 1211],
519    [1213, 1213], [1215, 1215], [1218, 1218], [1220, 1220], [1222, 1222],
520    [1224, 1224], [1226, 1226], [1228, 1228], [1230, 1231], [1233, 1233],
521    [1235, 1235], [1237, 1237], [1239, 1239], [1241, 1241], [1243, 1243],
522    [1245, 1245], [1247, 1247], [1249, 1249], [1251, 1251], [1253, 1253],
523    [1255, 1255], [1257, 1257], [1259, 1259], [1261, 1261], [1263, 1263],
524    [1265, 1265], [1267, 1267], [1269, 1269], [1271, 1271], [1273, 1273],
525    [1275, 1275], [1277, 1277], [1279, 1279], [1281, 1281], [1283, 1283],
526    [1285, 1285], [1287, 1287], [1289, 1289], [1291, 1291], [1293, 1293],
527    [1295, 1295], [1297, 1297], [1299, 1299], [1301, 1301], [1303, 1303],
528    [1305, 1305], [1307, 1307], [1309, 1309], [1311, 1311], [1313, 1313],
529    [1315, 1315], [1317, 1317], [1319, 1319], [1321, 1321], [1323, 1323],
530    [1325, 1325], [1327, 1327], [1377, 1415], [5112, 5117], [7296, 7304],
531    [7424, 7467], [7531, 7543], [7545, 7578], [7681, 7681], [7683, 7683],
532    [7685, 7685], [7687, 7687], [7689, 7689], [7691, 7691], [7693, 7693],
533    [7695, 7695], [7697, 7697], [7699, 7699], [7701, 7701], [7703, 7703],
534    [7705, 7705], [7707, 7707], [7709, 7709], [7711, 7711], [7713, 7713],
535    [7715, 7715], [7717, 7717], [7719, 7719], [7721, 7721], [7723, 7723],
536    [7725, 7725], [7727, 7727], [7729, 7729], [7731, 7731], [7733, 7733],
537    [7735, 7735], [7737, 7737], [7739, 7739], [7741, 7741], [7743, 7743],
538    [7745, 7745], [7747, 7747], [7749, 7749], [7751, 7751], [7753, 7753],
539    [7755, 7755], [7757, 7757], [7759, 7759], [7761, 7761], [7763, 7763],
540    [7765, 7765], [7767, 7767], [7769, 7769], [7771, 7771], [7773, 7773],
541    [7775, 7775], [7777, 7777], [7779, 7779], [7781, 7781], [7783, 7783],
542    [7785, 7785], [7787, 7787], [7789, 7789], [7791, 7791], [7793, 7793],
543    [7795, 7795], [7797, 7797], [7799, 7799], [7801, 7801], [7803, 7803],
544    [7805, 7805], [7807, 7807], [7809, 7809], [7811, 7811], [7813, 7813],
545    [7815, 7815], [7817, 7817], [7819, 7819], [7821, 7821], [7823, 7823],
546    [7825, 7825], [7827, 7827], [7829, 7837], [7839, 7839], [7841, 7841],
547    [7843, 7843], [7845, 7845], [7847, 7847], [7849, 7849], [7851, 7851],
548    [7853, 7853], [7855, 7855], [7857, 7857], [7859, 7859], [7861, 7861],
549    [7863, 7863], [7865, 7865], [7867, 7867], [7869, 7869], [7871, 7871],
550    [7873, 7873], [7875, 7875], [7877, 7877], [7879, 7879], [7881, 7881],
551    [7883, 7883], [7885, 7885], [7887, 7887], [7889, 7889], [7891, 7891],
552    [7893, 7893], [7895, 7895], [7897, 7897], [7899, 7899], [7901, 7901],
553    [7903, 7903], [7905, 7905], [7907, 7907], [7909, 7909], [7911, 7911],
554    [7913, 7913], [7915, 7915], [7917, 7917], [7919, 7919], [7921, 7921],
555    [7923, 7923], [7925, 7925], [7927, 7927], [7929, 7929], [7931, 7931],
556    [7933, 7933], [7935, 7943], [7952, 7957], [7968, 7975], [7984, 7991],
557    [8000, 8005], [8016, 8023], [8032, 8039], [8048, 8061], [8064, 8071],
558    [8080, 8087], [8096, 8103], [8112, 8116], [8118, 8119], [8126, 8126],
559    [8130, 8132], [8134, 8135], [8144, 8147], [8150, 8151], [8160, 8167],
560    [8178, 8180], [8182, 8183], [8458, 8458], [8462, 8463], [8467, 8467],
561    [8495, 8495], [8500, 8500], [8505, 8505], [8508, 8509], [8518, 8521],
562    [8526, 8526], [8580, 8580], [11312, 11358], [11361, 11361],
563    [11365, 11366], [11368, 11368], [11370, 11370], [11372, 11372],
564    [11377, 11377], [11379, 11380], [11382, 11387], [11393, 11393],
565    [11395, 11395], [11397, 11397], [11399, 11399], [11401, 11401],
566    [11403, 11403], [11405, 11405], [11407, 11407], [11409, 11409],
567    [11411, 11411], [11413, 11413], [11415, 11415], [11417, 11417],
568    [11419, 11419], [11421, 11421], [11423, 11423], [11425, 11425],
569    [11427, 11427], [11429, 11429], [11431, 11431], [11433, 11433],
570    [11435, 11435], [11437, 11437], [11439, 11439], [11441, 11441],
571    [11443, 11443], [11445, 11445], [11447, 11447], [11449, 11449],
572    [11451, 11451], [11453, 11453], [11455, 11455], [11457, 11457],
573    [11459, 11459], [11461, 11461], [11463, 11463], [11465, 11465],
574    [11467, 11467], [11469, 11469], [11471, 11471], [11473, 11473],
575    [11475, 11475], [11477, 11477], [11479, 11479], [11481, 11481],
576    [11483, 11483], [11485, 11485], [11487, 11487], [11489, 11489],
577    [11491, 11492], [11500, 11500], [11502, 11502], [11507, 11507],
578    [11520, 11557], [11559, 11559], [11565, 11565], [42561, 42561],
579    [42563, 42563], [42565, 42565], [42567, 42567], [42569, 42569],
580    [42571, 42571], [42573, 42573], [42575, 42575], [42577, 42577],
581    [42579, 42579], [42581, 42581], [42583, 42583], [42585, 42585],
582    [42587, 42587], [42589, 42589], [42591, 42591], [42593, 42593],
583    [42595, 42595], [42597, 42597], [42599, 42599], [42601, 42601],
584    [42603, 42603], [42605, 42605], [42625, 42625], [42627, 42627],
585    [42629, 42629], [42631, 42631], [42633, 42633], [42635, 42635],
586    [42637, 42637], [42639, 42639], [42641, 42641], [42643, 42643],
587    [42645, 42645], [42647, 42647], [42649, 42649], [42651, 42651],
588    [42787, 42787], [42789, 42789], [42791, 42791], [42793, 42793],
589    [42795, 42795], [42797, 42797], [42799, 42801], [42803, 42803],
590    [42805, 42805], [42807, 42807], [42809, 42809], [42811, 42811],
591    [42813, 42813], [42815, 42815], [42817, 42817], [42819, 42819],
592    [42821, 42821], [42823, 42823], [42825, 42825], [42827, 42827],
593    [42829, 42829], [42831, 42831], [42833, 42833], [42835, 42835],
594    [42837, 42837], [42839, 42839], [42841, 42841], [42843, 42843],
595    [42845, 42845], [42847, 42847], [42849, 42849], [42851, 42851],
596    [42853, 42853], [42855, 42855], [42857, 42857], [42859, 42859],
597    [42861, 42861], [42863, 42863], [42865, 42872], [42874, 42874],
598    [42876, 42876], [42879, 42879], [42881, 42881], [42883, 42883],
599    [42885, 42885], [42887, 42887], [42892, 42892], [42894, 42894],
600    [42897, 42897], [42899, 42901], [42903, 42903], [42905, 42905],
601    [42907, 42907], [42909, 42909], [42911, 42911], [42913, 42913],
602    [42915, 42915], [42917, 42917], [42919, 42919], [42921, 42921],
603    [42933, 42933], [42935, 42935], [43002, 43002], [43824, 43866],
604    [43872, 43877], [43888, 43967], [64256, 64262], [64275, 64279],
605    [65345, 65370], [66600, 66639], [66776, 66811], [68800, 68850],
606    [71872, 71903], [119834, 119859], [119886, 119892], [119894, 119911],
607    [119938, 119963], [119990, 119993], [119995, 119995], [119997, 120003],
608    [120005, 120015], [120042, 120067], [120094, 120119], [120146, 120171],
609    [120198, 120223], [120250, 120275], [120302, 120327], [120354, 120379],
610    [120406, 120431], [120458, 120485], [120514, 120538], [120540, 120545],
611    [120572, 120596], [120598, 120603], [120630, 120654], [120656, 120661],
612    [120688, 120712], [120714, 120719], [120746, 120770], [120772, 120777],
613    [120779, 120779], [125218, 125251]**/
614    const UnicodeSet ll_Set
615        {{{Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 14}, {Full, 1},
616          {Mixed, 2}, {Empty, 5}, {Mixed, 5}, {Empty, 1}, {Mixed, 1},
617          {Full, 1}, {Mixed, 7}, {Empty, 1}, {Mixed, 2}, {Empty, 114},
618          {Mixed, 1}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Full, 1},
619          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 16},
620          {Empty, 8}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 84},
621          {Mixed, 7}, {Full, 1}, {Mixed, 1}, {Empty, 968}, {Mixed, 3},
622          {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 25},
623          {Mixed, 3}, {Full, 2}, {Empty, 634}, {Mixed, 1}, {Empty, 33},
624          {Mixed, 1}, {Empty, 38}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
625          {Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 94}, {Full, 1},
626          {Empty, 1497}, {Mixed, 31}, {Empty, 138}, {Mixed, 2},
627          {Empty, 30901}},
628         {0x07fffffe, 0x00200000, 0x80000000, 0xff7fffff, 0xaaaaaaaa,
629          0x55aaaaaa, 0xaaaaab55, 0xd4aaaaaa, 0x4e243129, 0xe6512d2a,
630          0xb5555240, 0xaa29aaaa, 0xaaaaaaaa, 0x93faaaaa, 0xffffaa85,
631          0xffefffff, 0x0000ffff, 0x388a0000, 0x00010000, 0xfffff000,
632          0xaae37fff, 0x192faaaa, 0xffff0000, 0xaaaaaaaa, 0xaaaaa802,
633          0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa, 0xaaaaaaaa, 0x0000aaaa,
634          0xfffffffe, 0x000000ff, 0x3f000000, 0x000001ff, 0x00000fff,
635          0xfefff800, 0x07ffffff, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
636          0xaaaaaaaa, 0xbfeaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
637          0x003f00ff, 0x00ff00ff, 0x00ff003f, 0x3fff00ff, 0x00ff00ff,
638          0x40df00ff, 0x00cf00dc, 0x00dc00ff, 0x0008c400, 0x32108000,
639          0x000043c0, 0x00000010, 0xffff0000, 0x7fffffff, 0x0fda1562,
640          0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0x0008501a, 0x000020bf,
641          0xaaaaaaaa, 0x00002aaa, 0x0aaaaaaa, 0xaaabaaa8, 0xaaaaaaaa,
642          0x95feaaaa, 0xaaba50aa, 0x00a002aa, 0x04000000, 0xffff0000,
643          0x07ffffff, 0xffff003f, 0x00f8007f, 0x07fffffe, 0xffffff00,
644          0x0000ffff, 0xff000000, 0x0fffffff, 0x0007ffff, 0xfc000000,
645          0x000fffff, 0xffdfc000, 0x000000ff, 0x0ffffffc, 0xebc00000,
646          0x0000ffef, 0xfffffc00, 0xc000000f, 0x00ffffff, 0xfffc0000,
647          0x00000fff, 0xffffffc0, 0xfc000000, 0x000fffff, 0xffffc000,
648          0x000000ff, 0x0ffffffc, 0xffc00000, 0x0000ffff, 0xfffffc00,
649          0x0000003f, 0xf7fffffc, 0xf0000003, 0x0fdfffff, 0xffc00000,
650          0x003f7fff, 0xffff0000, 0x0000fdff, 0xfffffc00, 0x00000bf7,
651          0xfffffffc, 0x0000000f}};
652    /** Code Point Ranges for Lt
653    [453, 453], [456, 456], [459, 459], [498, 498], [8072, 8079],
654    [8088, 8095], [8104, 8111], [8124, 8124], [8140, 8140], [8188, 8188]**/
655    const UnicodeSet lt_Set
656        {{{Empty, 14}, {Mixed, 2}, {Empty, 236}, {Mixed, 4}, {Empty, 34560}},
657         {0x00000920, 0x00040000, 0xff00ff00, 0x1000ff00, 0x00001000,
658          0x10000000}};
659    /** Code Point Ranges for Lm
660    [688, 705], [710, 721], [736, 740], [748, 748], [750, 750], [884, 884],
661    [890, 890], [1369, 1369], [1600, 1600], [1765, 1766], [2036, 2037],
662    [2042, 2042], [2074, 2074], [2084, 2084], [2088, 2088], [2417, 2417],
663    [3654, 3654], [3782, 3782], [4348, 4348], [6103, 6103], [6211, 6211],
664    [6823, 6823], [7288, 7293], [7468, 7530], [7544, 7544], [7579, 7615],
665    [8305, 8305], [8319, 8319], [8336, 8348], [11388, 11389],
666    [11631, 11631], [11823, 11823], [12293, 12293], [12337, 12341],
667    [12347, 12347], [12445, 12446], [12540, 12542], [40981, 40981],
668    [42232, 42237], [42508, 42508], [42623, 42623], [42652, 42653],
669    [42775, 42783], [42864, 42864], [42888, 42888], [43000, 43001],
670    [43471, 43471], [43494, 43494], [43632, 43632], [43741, 43741],
671    [43763, 43764], [43868, 43871], [65392, 65392], [65438, 65439],
672    [92992, 92995], [94099, 94111], [94176, 94176]**/
673    const UnicodeSet lm_Set
674        {{{Empty, 21}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 14},
675          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
676          {Empty, 7}, {Mixed, 3}, {Empty, 9}, {Mixed, 1}, {Empty, 38},
677          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
678          {Empty, 54}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 18},
679          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
680          {Full, 1}, {Mixed, 2}, {Full, 1}, {Empty, 21}, {Mixed, 2},
681          {Empty, 94}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 5},
682          {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
683          {Empty, 2}, {Mixed, 1}, {Empty, 888}, {Mixed, 1}, {Empty, 38},
684          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
685          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
686          {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
687          {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 672},
688          {Mixed, 2}, {Empty, 861}, {Mixed, 1}, {Empty, 33}, {Mixed, 1},
689          {Empty, 2}, {Mixed, 1}, {Empty, 31872}},
690         {0xffff0000, 0x0003ffc3, 0x0000501f, 0x04100000, 0x02000000,
691          0x00000001, 0x00000060, 0x04300000, 0x04000000, 0x00000110,
692          0x00020000, 0x00000040, 0x00000040, 0x10000000, 0x00800000,
693          0x00000008, 0x00000080, 0x3f000000, 0xfffff000, 0x010007ff,
694          0xf8000000, 0x80020000, 0x1fff0000, 0x30000000, 0x00008000,
695          0x00008000, 0x00000020, 0x083e0000, 0x60000000, 0x70000000,
696          0x00200000, 0x3f000000, 0x00001000, 0x80000000, 0x30000000,
697          0xff800000, 0x00010000, 0x00000100, 0x03000000, 0x00008000,
698          0x00000040, 0x00010000, 0x20000000, 0x00180000, 0xf0000000,
699          0x00010000, 0xc0000000, 0x0000000f, 0xfff80000, 0x00000001}};
700    /** Code Point Ranges for Lo
701    [170, 170], [186, 186], [443, 443], [448, 451], [660, 660],
702    [1488, 1514], [1520, 1522], [1568, 1599], [1601, 1610], [1646, 1647],
703    [1649, 1747], [1749, 1749], [1774, 1775], [1786, 1788], [1791, 1791],
704    [1808, 1808], [1810, 1839], [1869, 1957], [1969, 1969], [1994, 2026],
705    [2048, 2069], [2112, 2136], [2208, 2228], [2230, 2237], [2308, 2361],
706    [2365, 2365], [2384, 2384], [2392, 2401], [2418, 2432], [2437, 2444],
707    [2447, 2448], [2451, 2472], [2474, 2480], [2482, 2482], [2486, 2489],
708    [2493, 2493], [2510, 2510], [2524, 2525], [2527, 2529], [2544, 2545],
709    [2565, 2570], [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
710    [2613, 2614], [2616, 2617], [2649, 2652], [2654, 2654], [2674, 2676],
711    [2693, 2701], [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
712    [2741, 2745], [2749, 2749], [2768, 2768], [2784, 2785], [2809, 2809],
713    [2821, 2828], [2831, 2832], [2835, 2856], [2858, 2864], [2866, 2867],
714    [2869, 2873], [2877, 2877], [2908, 2909], [2911, 2913], [2929, 2929],
715    [2947, 2947], [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970],
716    [2972, 2972], [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
717    [3024, 3024], [3077, 3084], [3086, 3088], [3090, 3112], [3114, 3129],
718    [3133, 3133], [3160, 3162], [3168, 3169], [3200, 3200], [3205, 3212],
719    [3214, 3216], [3218, 3240], [3242, 3251], [3253, 3257], [3261, 3261],
720    [3294, 3294], [3296, 3297], [3313, 3314], [3333, 3340], [3342, 3344],
721    [3346, 3386], [3389, 3389], [3406, 3406], [3412, 3414], [3423, 3425],
722    [3450, 3455], [3461, 3478], [3482, 3505], [3507, 3515], [3517, 3517],
723    [3520, 3526], [3585, 3632], [3634, 3635], [3648, 3653], [3713, 3714],
724    [3716, 3716], [3719, 3720], [3722, 3722], [3725, 3725], [3732, 3735],
725    [3737, 3743], [3745, 3747], [3749, 3749], [3751, 3751], [3754, 3755],
726    [3757, 3760], [3762, 3763], [3773, 3773], [3776, 3780], [3804, 3807],
727    [3840, 3840], [3904, 3911], [3913, 3948], [3976, 3980], [4096, 4138],
728    [4159, 4159], [4176, 4181], [4186, 4189], [4193, 4193], [4197, 4198],
729    [4206, 4208], [4213, 4225], [4238, 4238], [4304, 4346], [4349, 4680],
730    [4682, 4685], [4688, 4694], [4696, 4696], [4698, 4701], [4704, 4744],
731    [4746, 4749], [4752, 4784], [4786, 4789], [4792, 4798], [4800, 4800],
732    [4802, 4805], [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954],
733    [4992, 5007], [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
734    [5873, 5880], [5888, 5900], [5902, 5905], [5920, 5937], [5952, 5969],
735    [5984, 5996], [5998, 6000], [6016, 6067], [6108, 6108], [6176, 6210],
736    [6212, 6263], [6272, 6276], [6279, 6312], [6314, 6314], [6320, 6389],
737    [6400, 6430], [6480, 6509], [6512, 6516], [6528, 6571], [6576, 6601],
738    [6656, 6678], [6688, 6740], [6917, 6963], [6981, 6987], [7043, 7072],
739    [7086, 7087], [7098, 7141], [7168, 7203], [7245, 7247], [7258, 7287],
740    [7401, 7404], [7406, 7409], [7413, 7414], [8501, 8504], [11568, 11623],
741    [11648, 11670], [11680, 11686], [11688, 11694], [11696, 11702],
742    [11704, 11710], [11712, 11718], [11720, 11726], [11728, 11734],
743    [11736, 11742], [12294, 12294], [12348, 12348], [12353, 12438],
744    [12447, 12447], [12449, 12538], [12543, 12543], [12549, 12589],
745    [12593, 12686], [12704, 12730], [12784, 12799], [13312, 19893],
746    [19968, 40917], [40960, 40980], [40982, 42124], [42192, 42231],
747    [42240, 42507], [42512, 42527], [42538, 42539], [42606, 42606],
748    [42656, 42725], [42895, 42895], [42999, 42999], [43003, 43009],
749    [43011, 43013], [43015, 43018], [43020, 43042], [43072, 43123],
750    [43138, 43187], [43250, 43255], [43259, 43259], [43261, 43261],
751    [43274, 43301], [43312, 43334], [43360, 43388], [43396, 43442],
752    [43488, 43492], [43495, 43503], [43514, 43518], [43520, 43560],
753    [43584, 43586], [43588, 43595], [43616, 43631], [43633, 43638],
754    [43642, 43642], [43646, 43695], [43697, 43697], [43701, 43702],
755    [43705, 43709], [43712, 43712], [43714, 43714], [43739, 43740],
756    [43744, 43754], [43762, 43762], [43777, 43782], [43785, 43790],
757    [43793, 43798], [43808, 43814], [43816, 43822], [43968, 44002],
758    [44032, 55203], [55216, 55238], [55243, 55291], [63744, 64109],
759    [64112, 64217], [64285, 64285], [64287, 64296], [64298, 64310],
760    [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
761    [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
762    [65008, 65019], [65136, 65140], [65142, 65276], [65382, 65391],
763    [65393, 65437], [65440, 65470], [65474, 65479], [65482, 65487],
764    [65490, 65495], [65498, 65500], [65536, 65547], [65549, 65574],
765    [65576, 65594], [65596, 65597], [65599, 65613], [65616, 65629],
766    [65664, 65786], [66176, 66204], [66208, 66256], [66304, 66335],
767    [66352, 66368], [66370, 66377], [66384, 66421], [66432, 66461],
768    [66464, 66499], [66504, 66511], [66640, 66717], [66816, 66855],
769    [66864, 66915], [67072, 67382], [67392, 67413], [67424, 67431],
770    [67584, 67589], [67592, 67592], [67594, 67637], [67639, 67640],
771    [67644, 67644], [67647, 67669], [67680, 67702], [67712, 67742],
772    [67808, 67826], [67828, 67829], [67840, 67861], [67872, 67897],
773    [67968, 68023], [68030, 68031], [68096, 68096], [68112, 68115],
774    [68117, 68119], [68121, 68147], [68192, 68220], [68224, 68252],
775    [68288, 68295], [68297, 68324], [68352, 68405], [68416, 68437],
776    [68448, 68466], [68480, 68497], [68608, 68680], [69635, 69687],
777    [69763, 69807], [69840, 69864], [69891, 69926], [69968, 70002],
778    [70006, 70006], [70019, 70066], [70081, 70084], [70106, 70106],
779    [70108, 70108], [70144, 70161], [70163, 70187], [70272, 70278],
780    [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70312],
781    [70320, 70366], [70405, 70412], [70415, 70416], [70419, 70440],
782    [70442, 70448], [70450, 70451], [70453, 70457], [70461, 70461],
783    [70480, 70480], [70493, 70497], [70656, 70708], [70727, 70730],
784    [70784, 70831], [70852, 70853], [70855, 70855], [71040, 71086],
785    [71128, 71131], [71168, 71215], [71236, 71236], [71296, 71338],
786    [71424, 71449], [71935, 71935], [72384, 72440], [72704, 72712],
787    [72714, 72750], [72768, 72768], [72818, 72847], [73728, 74649],
788    [74880, 75075], [77824, 78894], [82944, 83526], [92160, 92728],
789    [92736, 92766], [92880, 92909], [92928, 92975], [93027, 93047],
790    [93053, 93071], [93952, 94020], [94032, 94032], [94208, 100332],
791    [100352, 101106], [110592, 110593], [113664, 113770], [113776, 113788],
792    [113792, 113800], [113808, 113817], [124928, 125124], [126464, 126467],
793    [126469, 126495], [126497, 126498], [126500, 126500], [126503, 126503],
794    [126505, 126514], [126516, 126519], [126521, 126521], [126523, 126523],
795    [126530, 126530], [126535, 126535], [126537, 126537], [126539, 126539],
796    [126541, 126543], [126545, 126546], [126548, 126548], [126551, 126551],
797    [126553, 126553], [126555, 126555], [126557, 126557], [126559, 126559],
798    [126561, 126562], [126564, 126564], [126567, 126570], [126572, 126578],
799    [126580, 126583], [126585, 126588], [126590, 126590], [126592, 126601],
800    [126603, 126619], [126625, 126627], [126629, 126633], [126635, 126651],
801    [131072, 173782], [173824, 177972], [177984, 178205], [178208, 183969],
802    [194560, 195101]**/
803    const UnicodeSet lo_Set
804        {{{Empty, 5}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 5},
805          {Mixed, 1}, {Empty, 25}, {Mixed, 2}, {Empty, 1}, {Full, 1},
806          {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 4},
807          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
808          {Mixed, 23}, {Empty, 1}, {Mixed, 15}, {Empty, 1}, {Mixed, 3},
809          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
810          {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4}, {Empty, 1},
811          {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
812          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
813          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 18}, {Mixed, 2},
814          {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Empty, 2},
815          {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
816          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
817          {Full, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 3}, {Empty, 1},
818          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
819          {Empty, 3}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 95},
820          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 17}, {Mixed, 3},
821          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
822          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Full, 205},
823          {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1}, {Empty, 1},
824          {Mixed, 1}, {Full, 35}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
825          {Full, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
826          {Full, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 2},
827          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 7},
828          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
829          {Mixed, 5}, {Empty, 4}, {Full, 1}, {Mixed, 1}, {Full, 349},
830          {Mixed, 3}, {Empty, 264}, {Full, 11}, {Mixed, 1}, {Full, 2},
831          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 2}, {Mixed, 2},
832          {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
833          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
834          {Empty, 3}, {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
835          {Full, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 1},
836          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1},
837          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
838          {Empty, 3}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
839          {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 5},
840          {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 1},
841          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
842          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 3}, {Full, 2},
843          {Mixed, 1}, {Empty, 29}, {Mixed, 2}, {Empty, 2}, {Mixed, 11},
844          {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
845          {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
846          {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2},
847          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
848          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
849          {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5},
850          {Empty, 27}, {Full, 28}, {Mixed, 1}, {Empty, 7}, {Full, 6},
851          {Mixed, 1}, {Empty, 85}, {Full, 33}, {Mixed, 1}, {Empty, 126},
852          {Full, 18}, {Mixed, 1}, {Empty, 269}, {Full, 17}, {Mixed, 2},
853          {Empty, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1},
854          {Mixed, 2}, {Empty, 27}, {Full, 2}, {Mixed, 1}, {Empty, 5},
855          {Full, 191}, {Mixed, 1}, {Full, 23}, {Mixed, 1}, {Empty, 296},
856          {Mixed, 1}, {Empty, 95}, {Full, 3}, {Mixed, 2}, {Empty, 347},
857          {Full, 6}, {Mixed, 1}, {Empty, 41}, {Mixed, 6}, {Empty, 138},
858          {Full, 1334}, {Mixed, 1}, {Empty, 1}, {Full, 129}, {Mixed, 1},
859          {Full, 6}, {Mixed, 1}, {Full, 180}, {Mixed, 1}, {Empty, 330},
860          {Full, 16}, {Mixed, 1}, {Empty, 28719}},
861         {0x04000400, 0x08000000, 0x0000000f, 0x00100000, 0xffff0000,
862          0x000707ff, 0x000007fe, 0xfffec000, 0x002fffff, 0x9c00c000,
863          0xfffd0000, 0x0000ffff, 0xffffe000, 0x0002003f, 0xfffffc00,
864          0x000007ff, 0x003fffff, 0x01ffffff, 0x3fdfffff, 0xfffffff0,
865          0x23ffffff, 0xff010000, 0xfffc0003, 0xfff99fe1, 0x23c5fdff,
866          0xb0004000, 0x00030003, 0xfff987e0, 0x036dfdff, 0x5e000000,
867          0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02000003,
868          0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8,
869          0x03ffc718, 0x00010000, 0xfffddfe0, 0x23fffdff, 0x07000000,
870          0x00000003, 0xfffddfe1, 0x23effdff, 0x40000000, 0x00060003,
871          0xfffddfe0, 0x27ffffff, 0x80704000, 0xfc000003, 0xfc7fffe0,
872          0x2ffbffff, 0x0000007f, 0xfffffffe, 0x000dffff, 0x0000003f,
873          0xfef02596, 0x200decae, 0xf000001f, 0x00000001, 0xfffffeff,
874          0x00001fff, 0x00001f00, 0x800007ff, 0x3c3f0000, 0xffe1c062,
875          0x00004003, 0xffff0000, 0xe7ffffff, 0x3d7f3dff, 0xffff3dff,
876          0x7f3dffff, 0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x0000ffff,
877          0xfffffffe, 0xffff9fff, 0x07fffffe, 0x01fe07ff, 0x0003dfff,
878          0x0003ffff, 0x0003ffff, 0x0001dfff, 0x000fffff, 0x10000000,
879          0xfffffff7, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
880          0x7fffffff, 0xffff0000, 0x001f3fff, 0xffff0fff, 0x000003ff,
881          0x007fffff, 0x001fffff, 0xffffffe0, 0x000fffff, 0x00000fe0,
882          0xfffffff8, 0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000,
883          0x00ffffff, 0x0063de00, 0x01e00000, 0xffff0000, 0x000000ff,
884          0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00000040, 0x10000000,
885          0xfffffffe, 0x807fffff, 0xfffffffe, 0x87ffffff, 0xffffffe0,
886          0xfffe3fff, 0x00007fff, 0x07ffffff, 0xffff0000, 0x003fffff,
887          0x003fffff, 0xffdfffff, 0x00001fff, 0xffff0000, 0x00ffffff,
888          0xffff0fff, 0x00000c00, 0x00004000, 0x0000003f, 0x00008000,
889          0xf8800000, 0xfffff7bb, 0x00000007, 0x000fffff, 0xfffffffc,
890          0x000fffff, 0x28fc0000, 0xfffffc00, 0xffff003f, 0x0000007f,
891          0x1fffffff, 0xfffffff0, 0x0007ffff, 0x7c00ff9f, 0x000001ff,
892          0x00000ff7, 0xc47effff, 0x3e62ffff, 0x18000005, 0x000407ff,
893          0x007e7e7e, 0x00007f7f, 0x00000007, 0xffff000f, 0xfffff87f,
894          0x0fffffff, 0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffdff,
895          0xffffffdb, 0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000,
896          0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000, 0x1fffffff,
897          0xfffeffc0, 0x3fffffff, 0x7fffffff, 0x1cfcfcfc, 0xffffefff,
898          0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x1fffffff, 0x0001ffff,
899          0xffff0000, 0xffff03fd, 0x003fffff, 0x3fffffff, 0x0000ff0f,
900          0xffff0000, 0x3fffffff, 0xffff00ff, 0x0000000f, 0x007fffff,
901          0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff, 0x003fffff,
902          0x007fffff, 0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff,
903          0xc0ffffff, 0xfeef0001, 0x000fffff, 0x1fffffff, 0x1fffffff,
904          0xfffffeff, 0x0000001f, 0x003fffff, 0x003fffff, 0x0007ffff,
905          0x0003ffff, 0x000001ff, 0xfffffff8, 0x00ffffff, 0xfffffff8,
906          0x0000ffff, 0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f,
907          0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff, 0x1400001e,
908          0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff,
909          0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff,
910          0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000,
911          0x0000ffff, 0x00000010, 0x000007ff, 0x03ffffff, 0x80000000,
912          0x01ffffff, 0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000,
913          0x0000ffff, 0x03ffffff, 0x0000000f, 0x00007fff, 0x0000007f,
914          0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0x0000ffff,
915          0xe0fffff8, 0x0000ffff, 0x0001001f, 0x00001fff, 0x0007ffff,
916          0x00000003, 0x1fff07ff, 0x03ff01ff, 0x0000001f, 0xffffffef,
917          0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
918          0x007fffff, 0x001fffff, 0x3fffffff, 0x00000003, 0x3fffffff}};
919    /** Code Point Ranges for Mn
920    [768, 879], [1155, 1159], [1425, 1469], [1471, 1471], [1473, 1474],
921    [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631], [1648, 1648],
922    [1750, 1756], [1759, 1764], [1767, 1768], [1770, 1773], [1809, 1809],
923    [1840, 1866], [1958, 1968], [2027, 2035], [2070, 2073], [2075, 2083],
924    [2085, 2087], [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2306],
925    [2362, 2362], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2391],
926    [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509],
927    [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632],
928    [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2690],
929    [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787],
930    [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2884], [2893, 2893],
931    [2902, 2902], [2914, 2915], [2946, 2946], [3008, 3008], [3021, 3021],
932    [3072, 3072], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158],
933    [3170, 3171], [3201, 3201], [3260, 3260], [3263, 3263], [3270, 3270],
934    [3276, 3277], [3298, 3299], [3329, 3329], [3393, 3396], [3405, 3405],
935    [3426, 3427], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633],
936    [3636, 3642], [3655, 3662], [3761, 3761], [3764, 3769], [3771, 3772],
937    [3784, 3789], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897],
938    [3953, 3966], [3968, 3972], [3974, 3975], [3981, 3991], [3993, 4028],
939    [4038, 4038], [4141, 4144], [4146, 4151], [4153, 4154], [4157, 4158],
940    [4184, 4185], [4190, 4192], [4209, 4212], [4226, 4226], [4229, 4230],
941    [4237, 4237], [4253, 4253], [4957, 4959], [5906, 5908], [5938, 5940],
942    [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086],
943    [6089, 6099], [6109, 6109], [6155, 6157], [6277, 6278], [6313, 6313],
944    [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680],
945    [6683, 6683], [6742, 6742], [6744, 6750], [6752, 6752], [6754, 6754],
946    [6757, 6764], [6771, 6780], [6783, 6783], [6832, 6845], [6912, 6915],
947    [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027],
948    [7040, 7041], [7074, 7077], [7080, 7081], [7083, 7085], [7142, 7142],
949    [7144, 7145], [7149, 7149], [7151, 7153], [7212, 7219], [7222, 7223],
950    [7376, 7378], [7380, 7392], [7394, 7400], [7405, 7405], [7412, 7412],
951    [7416, 7417], [7616, 7669], [7675, 7679], [8400, 8412], [8417, 8417],
952    [8421, 8432], [11503, 11505], [11647, 11647], [11744, 11775],
953    [12330, 12333], [12441, 12442], [42607, 42607], [42612, 42621],
954    [42654, 42655], [42736, 42737], [43010, 43010], [43014, 43014],
955    [43019, 43019], [43045, 43046], [43204, 43205], [43232, 43249],
956    [43302, 43309], [43335, 43345], [43392, 43394], [43443, 43443],
957    [43446, 43449], [43452, 43452], [43493, 43493], [43561, 43566],
958    [43569, 43570], [43573, 43574], [43587, 43587], [43596, 43596],
959    [43644, 43644], [43696, 43696], [43698, 43700], [43703, 43704],
960    [43710, 43711], [43713, 43713], [43756, 43757], [43766, 43766],
961    [44005, 44005], [44008, 44008], [44013, 44013], [64286, 64286],
962    [65024, 65039], [65056, 65071], [66045, 66045], [66272, 66272],
963    [66422, 66426], [68097, 68099], [68101, 68102], [68108, 68111],
964    [68152, 68154], [68159, 68159], [68325, 68326], [69633, 69633],
965    [69688, 69702], [69759, 69761], [69811, 69814], [69817, 69818],
966    [69888, 69890], [69927, 69931], [69933, 69940], [70003, 70003],
967    [70016, 70017], [70070, 70078], [70090, 70092], [70191, 70193],
968    [70196, 70196], [70198, 70199], [70206, 70206], [70367, 70367],
969    [70371, 70378], [70400, 70401], [70460, 70460], [70464, 70464],
970    [70502, 70508], [70512, 70516], [70712, 70719], [70722, 70724],
971    [70726, 70726], [70835, 70840], [70842, 70842], [70847, 70848],
972    [70850, 70851], [71090, 71093], [71100, 71101], [71103, 71104],
973    [71132, 71133], [71219, 71226], [71229, 71229], [71231, 71232],
974    [71339, 71339], [71341, 71341], [71344, 71349], [71351, 71351],
975    [71453, 71455], [71458, 71461], [71463, 71467], [72752, 72758],
976    [72760, 72765], [72767, 72767], [72850, 72871], [72874, 72880],
977    [72882, 72883], [72885, 72886], [92912, 92916], [92976, 92982],
978    [94095, 94098], [113821, 113822], [119143, 119145], [119163, 119170],
979    [119173, 119179], [119210, 119213], [119362, 119364], [121344, 121398],
980    [121403, 121452], [121461, 121461], [121476, 121476], [121499, 121503],
981    [121505, 121519], [122880, 122886], [122888, 122904], [122907, 122913],
982    [122915, 122916], [122918, 122922], [125136, 125142], [125252, 125258],
983    [917760, 917999]**/
984    const UnicodeSet mn_Set
985        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
986          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
987          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
988          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 23}, {Empty, 1},
989          {Mixed, 1}, {Empty, 1}, {Mixed, 9}, {Empty, 1}, {Mixed, 2},
990          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
991          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
992          {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1}, {Empty, 29},
993          {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
994          {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
995          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
996          {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
997          {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6}, {Full, 1},
998          {Mixed, 1}, {Empty, 22}, {Mixed, 2}, {Empty, 95}, {Mixed, 1},
999          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17},
1000          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942}, {Mixed, 2},
1001          {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 4},
1002          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1003          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
1004          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632}, {Mixed, 1},
1005          {Empty, 23}, {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 7},
1006          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
1007          {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
1008          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
1009          {Empty, 4}, {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
1010          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
1011          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 39},
1012          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 625}, {Mixed, 1},
1013          {Empty, 1}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 615},
1014          {Mixed, 1}, {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
1015          {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
1016          {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3},
1017          {Mixed, 1}, {Empty, 24765}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
1018         {0x0000ffff, 0x000000f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
1019          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
1020          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
1021          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
1022          0x00000007, 0x14000000, 0x00fe21fe, 0x0000000c, 0x00000002,
1023          0x10000000, 0x0000201e, 0x0000000c, 0x00000006, 0x10000000,
1024          0x00023986, 0x00230000, 0x00000006, 0x10000000, 0x000021be,
1025          0x0000000c, 0x00000002, 0x90000000, 0x0040201e, 0x0000000c,
1026          0x00000004, 0x00002001, 0x00000001, 0xc0000000, 0x00603dc1,
1027          0x0000000c, 0x00000002, 0x90000000, 0x00003040, 0x0000000c,
1028          0x00000002, 0x0000201e, 0x0000000c, 0x005c0400, 0x07f20000,
1029          0x00007f80, 0x1bf20000, 0x00003f00, 0x03000000, 0x02a00000,
1030          0x7ffe0000, 0xfeffe0df, 0x1fffffff, 0x00000040, 0x66fde000,
1031          0xc3000000, 0x001e0001, 0x20002064, 0xe0000000, 0x001c0000,
1032          0x001c0000, 0x000c0000, 0x000c0000, 0x3fb00000, 0x200ffe40,
1033          0x00003800, 0x00000060, 0x00000200, 0x0e040187, 0x09800000,
1034          0x7f400000, 0x9ff81fe5, 0x3fff0000, 0x0000000f, 0x17d00000,
1035          0x00000004, 0x000ff800, 0x00000003, 0x00003b3c, 0x0003a340,
1036          0x00cff000, 0xfff70000, 0x031021fd, 0xf83fffff, 0x1fff0000,
1037          0x0001ffe2, 0x00038000, 0x80000000, 0x00003c00, 0x06000000,
1038          0x3ff08000, 0xc0000000, 0x00030000, 0x00000844, 0x00000060,
1039          0x00000030, 0x0003ffff, 0x00003fc0, 0x0003ff80, 0x00000007,
1040          0x13c80000, 0x00000020, 0x00667e00, 0x00001008, 0x10000000,
1041          0xc19d0000, 0x00000002, 0x00403000, 0x00002120, 0x40000000,
1042          0x0000ffff, 0x0000ffff, 0x20000000, 0x00000001, 0x07c00000,
1043          0x0000f06e, 0x87000000, 0x00000060, 0x00000002, 0xff000000,
1044          0x0000007f, 0x80000000, 0x00000003, 0x06780000, 0x00000007,
1045          0x001fef80, 0x00080000, 0x00000003, 0x7fc00000, 0x00001c00,
1046          0x40d38000, 0x80000000, 0x000007f8, 0x00000003, 0x10000000,
1047          0x00000001, 0x001f1fc0, 0xff000000, 0x0000005c, 0x85f80000,
1048          0x0000000d, 0xb03c0000, 0x30000001, 0xa7f80000, 0x00000001,
1049          0x00bf2800, 0xe0000000, 0x00000fbc, 0xbf7f0000, 0xfffc0000,
1050          0x006dfcff, 0x001f0000, 0x007f0000, 0x00078000, 0x60000000,
1051          0xf8000380, 0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff,
1052          0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db,
1053          0x007f0000, 0x000007f0, 0x0000ffff}};
1054    /** Code Point Ranges for Me
1055    [1160, 1161], [6846, 6846], [8413, 8416], [8418, 8420], [42608, 42610]**/
1056    const UnicodeSet me_Set
1057        {{{Empty, 36}, {Mixed, 1}, {Empty, 176}, {Mixed, 1}, {Empty, 48},
1058          {Mixed, 2}, {Empty, 1067}, {Mixed, 1}, {Empty, 33484}},
1059         {0x00000300, 0x40000000, 0xe0000000, 0x0000001d, 0x00070000}};
1060    /** Code Point Ranges for Mc
1061    [2307, 2307], [2363, 2363], [2366, 2368], [2377, 2380], [2382, 2383],
1062    [2434, 2435], [2494, 2496], [2503, 2504], [2507, 2508], [2519, 2519],
1063    [2563, 2563], [2622, 2624], [2691, 2691], [2750, 2752], [2761, 2761],
1064    [2763, 2764], [2818, 2819], [2878, 2878], [2880, 2880], [2887, 2888],
1065    [2891, 2892], [2903, 2903], [3006, 3007], [3009, 3010], [3014, 3016],
1066    [3018, 3020], [3031, 3031], [3073, 3075], [3137, 3140], [3202, 3203],
1067    [3262, 3262], [3264, 3268], [3271, 3272], [3274, 3275], [3285, 3286],
1068    [3330, 3331], [3390, 3392], [3398, 3400], [3402, 3404], [3415, 3415],
1069    [3458, 3459], [3535, 3537], [3544, 3551], [3570, 3571], [3902, 3903],
1070    [3967, 3967], [4139, 4140], [4145, 4145], [4152, 4152], [4155, 4156],
1071    [4182, 4183], [4194, 4196], [4199, 4205], [4227, 4228], [4231, 4236],
1072    [4239, 4239], [4250, 4252], [6070, 6070], [6078, 6085], [6087, 6088],
1073    [6435, 6438], [6441, 6443], [6448, 6449], [6451, 6456], [6681, 6682],
1074    [6741, 6741], [6743, 6743], [6753, 6753], [6755, 6756], [6765, 6770],
1075    [6916, 6916], [6965, 6965], [6971, 6971], [6973, 6977], [6979, 6980],
1076    [7042, 7042], [7073, 7073], [7078, 7079], [7082, 7082], [7143, 7143],
1077    [7146, 7148], [7150, 7150], [7154, 7155], [7204, 7211], [7220, 7221],
1078    [7393, 7393], [7410, 7411], [12334, 12335], [43043, 43044],
1079    [43047, 43047], [43136, 43137], [43188, 43203], [43346, 43347],
1080    [43395, 43395], [43444, 43445], [43450, 43451], [43453, 43456],
1081    [43567, 43568], [43571, 43572], [43597, 43597], [43643, 43643],
1082    [43645, 43645], [43755, 43755], [43758, 43759], [43765, 43765],
1083    [44003, 44004], [44006, 44007], [44009, 44010], [44012, 44012],
1084    [69632, 69632], [69634, 69634], [69762, 69762], [69808, 69810],
1085    [69815, 69816], [69932, 69932], [70018, 70018], [70067, 70069],
1086    [70079, 70080], [70188, 70190], [70194, 70195], [70197, 70197],
1087    [70368, 70370], [70402, 70403], [70462, 70463], [70465, 70468],
1088    [70471, 70472], [70475, 70477], [70487, 70487], [70498, 70499],
1089    [70709, 70711], [70720, 70721], [70725, 70725], [70832, 70834],
1090    [70841, 70841], [70843, 70846], [70849, 70849], [71087, 71089],
1091    [71096, 71099], [71102, 71102], [71216, 71218], [71227, 71228],
1092    [71230, 71230], [71340, 71340], [71342, 71343], [71350, 71350],
1093    [71456, 71457], [71462, 71462], [72751, 72751], [72766, 72766],
1094    [72873, 72873], [72881, 72881], [72884, 72884], [94033, 94078],
1095    [119141, 119142], [119149, 119154]**/
1096    const UnicodeSet mc_Set
1097        {{{Empty, 72}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
1098          {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
1099          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1100          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
1101          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 9},
1102          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 4},
1103          {Empty, 56}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 6},
1104          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 3},
1105          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1106          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 153}, {Mixed, 1},
1107          {Empty, 959}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 3},
1108          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 3},
1109          {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 800},
1110          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1111          {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 5},
1112          {Mixed, 5}, {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
1113          {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1114          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 39}, {Mixed, 1},
1115          {Empty, 3}, {Mixed, 1}, {Empty, 660}, {Mixed, 2}, {Empty, 783},
1116          {Mixed, 1}, {Empty, 31092}},
1117         {0x00000008, 0xc8000000, 0x0000de01, 0x0000000c, 0xc0000000,
1118          0x00801981, 0x00000008, 0xc0000000, 0x00000001, 0x00000008,
1119          0xc0000000, 0x00001a01, 0x0000000c, 0x40000000, 0x00801981,
1120          0xc0000000, 0x00801dc6, 0x0000000e, 0x0000001e, 0x0000000c,
1121          0x40000000, 0x00600d9f, 0x0000000c, 0xc0000000, 0x00801dc1,
1122          0x0000000c, 0xff038000, 0x000c0000, 0xc0000000, 0x80000000,
1123          0x19021800, 0x00c00000, 0x00003f9c, 0x1c009f98, 0xc0400000,
1124          0x000001bf, 0x01fb0e78, 0x06000000, 0x00a00000, 0x0007e01a,
1125          0x00000010, 0xe8200000, 0x0000001b, 0x00000004, 0x000004c2,
1126          0x000c5c80, 0x00300ff0, 0x000c0002, 0x0000c000, 0x00000098,
1127          0x00000003, 0xfff00000, 0x0000000f, 0x000c0000, 0x00000008,
1128          0xec300000, 0x00000001, 0x00198000, 0x00002000, 0x28000000,
1129          0x0020c800, 0x000016d8, 0x00000005, 0x00000004, 0x01870000,
1130          0x00001000, 0x00000004, 0x80380000, 0x00000001, 0x002c7000,
1131          0x00000007, 0x0000000c, 0xc0000000, 0x0080399e, 0x0000000c,
1132          0x00e00000, 0x00000023, 0x7a070000, 0x00000002, 0x4f038000,
1133          0x58070000, 0x0040d000, 0x00000043, 0x40008000, 0x00120200,
1134          0xfffe0000, 0x7fffffff, 0x0007e060}};
1135    /** Code Point Ranges for Nd
1136    [48, 57], [1632, 1641], [1776, 1785], [1984, 1993], [2406, 2415],
1137    [2534, 2543], [2662, 2671], [2790, 2799], [2918, 2927], [3046, 3055],
1138    [3174, 3183], [3302, 3311], [3430, 3439], [3558, 3567], [3664, 3673],
1139    [3792, 3801], [3872, 3881], [4160, 4169], [4240, 4249], [6112, 6121],
1140    [6160, 6169], [6470, 6479], [6608, 6617], [6784, 6793], [6800, 6809],
1141    [6992, 7001], [7088, 7097], [7232, 7241], [7248, 7257], [42528, 42537],
1142    [43216, 43225], [43264, 43273], [43472, 43481], [43504, 43513],
1143    [43600, 43609], [44016, 44025], [65296, 65305], [66720, 66729],
1144    [69734, 69743], [69872, 69881], [69942, 69951], [70096, 70105],
1145    [70384, 70393], [70736, 70745], [70864, 70873], [71248, 71257],
1146    [71360, 71369], [71472, 71481], [71904, 71913], [72784, 72793],
1147    [92768, 92777], [93008, 93017], [120782, 120831], [125264, 125273]**/
1148    const UnicodeSet nd_Set
1149        {{{Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3},
1150          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1151          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1152          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1153          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1154          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1155          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
1156          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2},
1157          {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
1158          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1159          {Empty, 4}, {Mixed, 1}, {Empty, 1102}, {Mixed, 1}, {Empty, 20},
1160          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
1161          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 664},
1162          {Mixed, 1}, {Empty, 44}, {Mixed, 1}, {Empty, 93}, {Mixed, 1},
1163          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4},
1164          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
1165          {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
1166          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 13}, {Mixed, 1},
1167          {Empty, 26}, {Mixed, 1}, {Empty, 624}, {Mixed, 1}, {Empty, 6},
1168          {Mixed, 1}, {Empty, 867}, {Mixed, 1}, {Full, 1}, {Empty, 138},
1169          {Mixed, 1}, {Empty, 30901}},
1170         {0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
1171          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
1172          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
1173          0x03ff0000, 0x000003ff, 0x000003ff, 0x03ff0000, 0x000003ff,
1174          0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff, 0x03ff0000,
1175          0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
1176          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000,
1177          0x000003ff, 0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000,
1178          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
1179          0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000,
1180          0xffffc000, 0x03ff0000}};
1181    /** Code Point Ranges for Nl
1182    [5870, 5872], [8544, 8578], [8581, 8584], [12295, 12295],
1183    [12321, 12329], [12344, 12346], [42726, 42735], [65856, 65908],
1184    [66369, 66369], [66378, 66378], [66513, 66517], [74752, 74862]**/
1185    const UnicodeSet nl_Set
1186        {{{Empty, 183}, {Mixed, 1}, {Empty, 83}, {Full, 1}, {Mixed, 1},
1187          {Empty, 115}, {Mixed, 2}, {Empty, 949}, {Mixed, 1}, {Empty, 722},
1188          {Full, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 3},
1189          {Mixed, 1}, {Empty, 257}, {Full, 3}, {Mixed, 1}, {Empty, 32476}},
1190         {0x0001c000, 0x000001e7, 0x00000080, 0x070003fe, 0x0000ffc0,
1191          0x001fffff, 0x00000402, 0x003e0000, 0x00007fff}};
1192    /** Code Point Ranges for No
1193    [178, 179], [185, 185], [188, 190], [2548, 2553], [2930, 2935],
1194    [3056, 3058], [3192, 3198], [3416, 3422], [3440, 3448], [3882, 3891],
1195    [4969, 4988], [6128, 6137], [6618, 6618], [8304, 8304], [8308, 8313],
1196    [8320, 8329], [8528, 8543], [8585, 8585], [9312, 9371], [9450, 9471],
1197    [10102, 10131], [11517, 11517], [12690, 12693], [12832, 12841],
1198    [12872, 12879], [12881, 12895], [12928, 12937], [12977, 12991],
1199    [43056, 43061], [65799, 65843], [65909, 65912], [65930, 65931],
1200    [66273, 66299], [66336, 66339], [67672, 67679], [67705, 67711],
1201    [67751, 67759], [67835, 67839], [67862, 67867], [68028, 68029],
1202    [68032, 68047], [68050, 68095], [68160, 68167], [68221, 68222],
1203    [68253, 68255], [68331, 68335], [68440, 68447], [68472, 68479],
1204    [68521, 68527], [68858, 68863], [69216, 69246], [69714, 69733],
1205    [70113, 70132], [71482, 71483], [71914, 71922], [72794, 72812],
1206    [93019, 93025], [119648, 119665], [125127, 125135], [127232, 127244]**/
1207    const UnicodeSet no_Set
1208        {{{Empty, 5}, {Mixed, 1}, {Empty, 73}, {Mixed, 1}, {Empty, 11},
1209          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1210          {Empty, 6}, {Mixed, 2}, {Empty, 13}, {Mixed, 1}, {Empty, 33},
1211          {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
1212          {Empty, 52}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
1213          {Mixed, 1}, {Empty, 22}, {Full, 1}, {Mixed, 1}, {Empty, 2},
1214          {Mixed, 1}, {Empty, 19}, {Mixed, 2}, {Empty, 42}, {Mixed, 1},
1215          {Empty, 36}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 1},
1216          {Mixed, 2}, {Empty, 939}, {Mixed, 1}, {Empty, 710}, {Mixed, 2},
1217          {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 1},
1218          {Mixed, 1}, {Empty, 40}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
1219          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Full, 1},
1220          {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
1221          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
1222          {Empty, 11}, {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 11},
1223          {Mixed, 1}, {Empty, 41}, {Mixed, 1}, {Empty, 13}, {Mixed, 1},
1224          {Empty, 26}, {Mixed, 2}, {Empty, 630}, {Mixed, 2}, {Empty, 831},
1225          {Mixed, 1}, {Empty, 170}, {Mixed, 1}, {Empty, 65}, {Mixed, 1},
1226          {Empty, 30839}},
1227         {0x720c0000, 0x03f00000, 0x00fc0000, 0x00070000, 0x7f000000,
1228          0x7f000000, 0x01ff0000, 0x000ffc00, 0x1ffffe00, 0x03ff0000,
1229          0x04000000, 0x03f10000, 0x000003ff, 0xffff0000, 0x00000200,
1230          0x0fffffff, 0xfffffc00, 0xffc00000, 0x000fffff, 0x20000000,
1231          0x003c0000, 0x000003ff, 0xfffeff00, 0x000003ff, 0xfffe0000,
1232          0x003f0000, 0xffffff80, 0x000fffff, 0x01e00000, 0x00000c00,
1233          0x0ffffffe, 0x0000000f, 0xff000000, 0xfe000000, 0x0000ff80,
1234          0xf8000000, 0x0fc00000, 0x30000000, 0xfffcffff, 0x000000ff,
1235          0x60000000, 0xe0000000, 0x0000f800, 0xff000000, 0xff000000,
1236          0x0000fe00, 0xfc000000, 0x7fffffff, 0xfffc0000, 0x0000003f,
1237          0x001ffffe, 0x0c000000, 0x0007fc00, 0xfc000000, 0x00001fff,
1238          0xf8000000, 0x00000003, 0x0003ffff, 0x0000ff80, 0x00001fff}};
1239    /** Code Point Ranges for Zs
1240    [32, 32], [160, 160], [5760, 5760], [8192, 8202], [8239, 8239],
1241    [8287, 8287], [12288, 12288]**/
1242    const UnicodeSet zs_Set
1243        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 174},
1244          {Mixed, 1}, {Empty, 75}, {Mixed, 3}, {Empty, 125}, {Mixed, 1},
1245          {Empty, 34431}},
1246         {0x00000001, 0x00000001, 0x00000001, 0x000007ff, 0x00008000,
1247          0x80000000, 0x00000001}};
1248    /** Code Point Ranges for Zl
1249    [8232, 8232]**/
1250    const UnicodeSet zl_Set
1251        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
1252         {0x00000100}};
1253    /** Code Point Ranges for Zp
1254    [8233, 8233]**/
1255    const UnicodeSet zp_Set
1256        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
1257         {0x00000200}};
1258    /** Code Point Ranges for Cc
1259    [0, 31], [127, 159]**/
1260    const UnicodeSet cc_Set
1261        {{{Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 34811}},
1262         {0x80000000}};
1263    /** Code Point Ranges for Cf
1264    [173, 173], [1536, 1541], [1564, 1564], [1757, 1757], [1807, 1807],
1265    [2274, 2274], [6158, 6158], [8203, 8207], [8234, 8238], [8288, 8292],
1266    [8294, 8303], [65279, 65279], [65529, 65531], [69821, 69821],
1267    [113824, 113827], [119155, 119162], [917505, 917505], [917536, 917631]**/
1268    const UnicodeSet cf_Set
1269        {{{Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5},
1270          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
1271          {Empty, 120}, {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1},
1272          {Mixed, 1}, {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1273          {Empty, 133}, {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165},
1274          {Mixed, 1}, {Empty, 24948}, {Mixed, 1}, {Full, 3}, {Empty, 6140}},
1275         {0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004,
1276          0x00004000, 0x0000f800, 0x00007c00, 0x0000ffdf, 0x80000000,
1277          0x0e000000, 0x20000000, 0x0000000f, 0x07f80000, 0x00000002}};
1278    /** Code Point Ranges for Co
1279    [57344, 63743], [983040, 1048573], [1048576, 1114109]**/
1280    const UnicodeSet co_Set
1281        {{{Empty, 1792}, {Full, 200}, {Empty, 28728}, {Full, 2047},
1282          {Mixed, 1}, {Full, 2047}, {Mixed, 1}},
1283         {0x3fffffff, 0x3fffffff}};
1284    /** Code Point Ranges for Cs
1285    [55296, 57343]**/
1286    const UnicodeSet cs_Set
1287        {{{Empty, 1728}, {Full, 64}, {Empty, 33024}},
1288         {}};
1289    /** Code Point Ranges for Pd
1290    [45, 45], [1418, 1418], [1470, 1470], [5120, 5120], [6150, 6150],
1291    [8208, 8213], [11799, 11799], [11802, 11802], [11834, 11835],
1292    [11840, 11840], [12316, 12316], [12336, 12336], [12448, 12448],
1293    [65073, 65074], [65112, 65112], [65123, 65123], [65293, 65293]**/
1294    const UnicodeSet pd_Set
1295        {{{Empty, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 2}, {Empty, 114},
1296          {Mixed, 1}, {Empty, 31}, {Mixed, 1}, {Empty, 63}, {Mixed, 1},
1297          {Empty, 111}, {Mixed, 3}, {Empty, 13}, {Mixed, 2}, {Empty, 3},
1298          {Mixed, 1}, {Empty, 1643}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
1299          {Empty, 32775}},
1300         {0x00002000, 0x00000400, 0x40000000, 0x00000001, 0x00000040,
1301          0x003f0000, 0x04800000, 0x0c000000, 0x00000001, 0x10000000,
1302          0x00010000, 0x00000001, 0x00060000, 0x01000000, 0x00000008,
1303          0x00002000}};
1304    /** Code Point Ranges for Ps
1305    [40, 40], [91, 91], [123, 123], [3898, 3898], [3900, 3900],
1306    [5787, 5787], [8218, 8218], [8222, 8222], [8261, 8261], [8317, 8317],
1307    [8333, 8333], [8968, 8968], [8970, 8970], [9001, 9001], [10088, 10088],
1308    [10090, 10090], [10092, 10092], [10094, 10094], [10096, 10096],
1309    [10098, 10098], [10100, 10100], [10181, 10181], [10214, 10214],
1310    [10216, 10216], [10218, 10218], [10220, 10220], [10222, 10222],
1311    [10627, 10627], [10629, 10629], [10631, 10631], [10633, 10633],
1312    [10635, 10635], [10637, 10637], [10639, 10639], [10641, 10641],
1313    [10643, 10643], [10645, 10645], [10647, 10647], [10712, 10712],
1314    [10714, 10714], [10748, 10748], [11810, 11810], [11812, 11812],
1315    [11814, 11814], [11816, 11816], [11842, 11842], [12296, 12296],
1316    [12298, 12298], [12300, 12300], [12302, 12302], [12304, 12304],
1317    [12308, 12308], [12310, 12310], [12312, 12312], [12314, 12314],
1318    [12317, 12317], [64831, 64831], [65047, 65047], [65077, 65077],
1319    [65079, 65079], [65081, 65081], [65083, 65083], [65085, 65085],
1320    [65087, 65087], [65089, 65089], [65091, 65091], [65095, 65095],
1321    [65113, 65113], [65115, 65115], [65117, 65117], [65288, 65288],
1322    [65339, 65339], [65371, 65371], [65375, 65375], [65378, 65378]**/
1323    const UnicodeSet ps_Set
1324        {{{Empty, 1}, {Mixed, 3}, {Empty, 117}, {Mixed, 1}, {Empty, 58},
1325          {Mixed, 1}, {Empty, 75}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
1326          {Empty, 19}, {Mixed, 2}, {Empty, 33}, {Mixed, 1}, {Empty, 2},
1327          {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1328          {Empty, 33}, {Mixed, 2}, {Empty, 13}, {Mixed, 1}, {Empty, 1640},
1329          {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 5}, {Mixed, 4},
1330          {Empty, 32772}},
1331         {0x00000100, 0x08000000, 0x08000000, 0x14000000, 0x08000000,
1332          0x44000000, 0x00000020, 0x20000000, 0x00002000, 0x00000500,
1333          0x00000200, 0x00155500, 0x00000020, 0x00005540, 0x00aaaaa8,
1334          0x05000000, 0x10000000, 0x00000154, 0x00000004, 0x25515500,
1335          0x80000000, 0x00800000, 0xaaa00000, 0x2a00008a, 0x00000100,
1336          0x08000000, 0x88000000, 0x00000004}};
1337    /** Code Point Ranges for Pe
1338    [41, 41], [93, 93], [125, 125], [3899, 3899], [3901, 3901],
1339    [5788, 5788], [8262, 8262], [8318, 8318], [8334, 8334], [8969, 8969],
1340    [8971, 8971], [9002, 9002], [10089, 10089], [10091, 10091],
1341    [10093, 10093], [10095, 10095], [10097, 10097], [10099, 10099],
1342    [10101, 10101], [10182, 10182], [10215, 10215], [10217, 10217],
1343    [10219, 10219], [10221, 10221], [10223, 10223], [10628, 10628],
1344    [10630, 10630], [10632, 10632], [10634, 10634], [10636, 10636],
1345    [10638, 10638], [10640, 10640], [10642, 10642], [10644, 10644],
1346    [10646, 10646], [10648, 10648], [10713, 10713], [10715, 10715],
1347    [10749, 10749], [11811, 11811], [11813, 11813], [11815, 11815],
1348    [11817, 11817], [12297, 12297], [12299, 12299], [12301, 12301],
1349    [12303, 12303], [12305, 12305], [12309, 12309], [12311, 12311],
1350    [12313, 12313], [12315, 12315], [12318, 12319], [64830, 64830],
1351    [65048, 65048], [65078, 65078], [65080, 65080], [65082, 65082],
1352    [65084, 65084], [65086, 65086], [65088, 65088], [65090, 65090],
1353    [65092, 65092], [65096, 65096], [65114, 65114], [65116, 65116],
1354    [65118, 65118], [65289, 65289], [65341, 65341], [65373, 65373],
1355    [65376, 65376], [65379, 65379]**/
1356    const UnicodeSet pe_Set
1357        {{{Empty, 1}, {Mixed, 3}, {Empty, 117}, {Mixed, 1}, {Empty, 58},
1358          {Mixed, 1}, {Empty, 77}, {Mixed, 3}, {Empty, 19}, {Mixed, 2},
1359          {Empty, 33}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 12},
1360          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 33}, {Mixed, 1},
1361          {Empty, 14}, {Mixed, 1}, {Empty, 1640}, {Mixed, 1}, {Empty, 6},
1362          {Mixed, 3}, {Empty, 5}, {Mixed, 4}, {Empty, 32772}},
1363         {0x00000200, 0x20000000, 0x20000000, 0x28000000, 0x10000000,
1364          0x00000040, 0x40000000, 0x00004000, 0x00000a00, 0x00000400,
1365          0x002aaa00, 0x00000040, 0x0000aa80, 0x01555550, 0x0a000000,
1366          0x20000000, 0x000002a8, 0xcaa2aa00, 0x40000000, 0x01000000,
1367          0x55400000, 0x54000115, 0x00000200, 0x20000000, 0x20000000,
1368          0x00000009}};
1369    /** Code Point Ranges for Pc
1370    [95, 95], [8255, 8256], [8276, 8276], [65075, 65076], [65101, 65103],
1371    [65343, 65343]**/
1372    const UnicodeSet pc_Set
1373        {{{Empty, 2}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1774},
1374          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 32774}},
1375         {0x80000000, 0x80000000, 0x00100001, 0x00180000, 0x0000e000,
1376          0x80000000}};
1377    /** Code Point Ranges for Po
1378    [33, 35], [37, 39], [42, 42], [44, 44], [46, 47], [58, 59], [63, 64],
1379    [92, 92], [161, 161], [167, 167], [182, 183], [191, 191], [894, 894],
1380    [903, 903], [1370, 1375], [1417, 1417], [1472, 1472], [1475, 1475],
1381    [1478, 1478], [1523, 1524], [1545, 1546], [1548, 1549], [1563, 1563],
1382    [1566, 1567], [1642, 1645], [1748, 1748], [1792, 1805], [2039, 2041],
1383    [2096, 2110], [2142, 2142], [2404, 2405], [2416, 2416], [2800, 2800],
1384    [3572, 3572], [3663, 3663], [3674, 3675], [3844, 3858], [3860, 3860],
1385    [3973, 3973], [4048, 4052], [4057, 4058], [4170, 4175], [4347, 4347],
1386    [4960, 4968], [5741, 5742], [5867, 5869], [5941, 5942], [6100, 6102],
1387    [6104, 6106], [6144, 6149], [6151, 6154], [6468, 6469], [6686, 6687],
1388    [6816, 6822], [6824, 6829], [7002, 7008], [7164, 7167], [7227, 7231],
1389    [7294, 7295], [7360, 7367], [7379, 7379], [8214, 8215], [8224, 8231],
1390    [8240, 8248], [8251, 8254], [8257, 8259], [8263, 8273], [8275, 8275],
1391    [8277, 8286], [11513, 11516], [11518, 11519], [11632, 11632],
1392    [11776, 11777], [11782, 11784], [11787, 11787], [11790, 11798],
1393    [11800, 11801], [11803, 11803], [11806, 11807], [11818, 11822],
1394    [11824, 11833], [11836, 11839], [11841, 11841], [11843, 11844],
1395    [12289, 12291], [12349, 12349], [12539, 12539], [42238, 42239],
1396    [42509, 42511], [42611, 42611], [42622, 42622], [42738, 42743],
1397    [43124, 43127], [43214, 43215], [43256, 43258], [43260, 43260],
1398    [43310, 43311], [43359, 43359], [43457, 43469], [43486, 43487],
1399    [43612, 43615], [43742, 43743], [43760, 43761], [44011, 44011],
1400    [65040, 65046], [65049, 65049], [65072, 65072], [65093, 65094],
1401    [65097, 65100], [65104, 65106], [65108, 65111], [65119, 65121],
1402    [65128, 65128], [65130, 65131], [65281, 65283], [65285, 65287],
1403    [65290, 65290], [65292, 65292], [65294, 65295], [65306, 65307],
1404    [65311, 65312], [65340, 65340], [65377, 65377], [65380, 65381],
1405    [65792, 65794], [66463, 66463], [66512, 66512], [66927, 66927],
1406    [67671, 67671], [67871, 67871], [67903, 67903], [68176, 68184],
1407    [68223, 68223], [68336, 68342], [68409, 68415], [68505, 68508],
1408    [69703, 69709], [69819, 69820], [69822, 69825], [69952, 69955],
1409    [70004, 70005], [70085, 70089], [70093, 70093], [70107, 70107],
1410    [70109, 70111], [70200, 70205], [70313, 70313], [70731, 70735],
1411    [70747, 70747], [70749, 70749], [70854, 70854], [71105, 71127],
1412    [71233, 71235], [71264, 71276], [71484, 71486], [72769, 72773],
1413    [72816, 72817], [74864, 74868], [92782, 92783], [92917, 92917],
1414    [92983, 92987], [92996, 92996], [113823, 113823], [121479, 121483],
1415    [125278, 125279]**/
1416    const UnicodeSet po_Set
1417        {{{Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 21},
1418          {Mixed, 2}, {Empty, 13}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1419          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
1420          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
1421          {Empty, 1}, {Mixed, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 11},
1422          {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1423          {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1424          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
1425          {Empty, 19}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 3},
1426          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
1427          {Empty, 1}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 5},
1428          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
1429          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1430          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 25}, {Mixed, 3},
1431          {Empty, 100}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
1432          {Mixed, 3}, {Empty, 13}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
1433          {Empty, 927}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2},
1434          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
1435          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
1436          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
1437          {Empty, 7}, {Mixed, 1}, {Empty, 656}, {Mixed, 4}, {Empty, 4},
1438          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1439          {Empty, 19}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 12},
1440          {Mixed, 1}, {Empty, 22}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
1441          {Empty, 8}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1442          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 37}, {Mixed, 1},
1443          {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
1444          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1445          {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7},
1446          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
1447          {Empty, 40}, {Mixed, 2}, {Empty, 63}, {Mixed, 1}, {Empty, 559},
1448          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1449          {Empty, 649}, {Mixed, 1}, {Empty, 239}, {Mixed, 1}, {Empty, 117},
1450          {Mixed, 1}, {Empty, 30901}},
1451         {0x8c00d4ee, 0x10000001, 0x80c00082, 0x40000000, 0x00000080,
1452          0xfc000000, 0x00000200, 0x00000049, 0x00180000, 0xc8003600,
1453          0x00003c00, 0x00100000, 0x00003fff, 0x03800000, 0x7fff0000,
1454          0x40000000, 0x00010030, 0x00010000, 0x00100000, 0x0c008000,
1455          0x0017fff0, 0x00000020, 0x061f0000, 0x0000fc00, 0x08000000,
1456          0x000001ff, 0x00006000, 0x00003800, 0x00600000, 0x07700000,
1457          0x000007bf, 0x00000030, 0xc0000000, 0x00003f7f, 0xfc000000,
1458          0x00000001, 0xf0000000, 0xf8000000, 0xc0000000, 0x000800ff,
1459          0x00c00000, 0x79ff00ff, 0x7febff8e, 0xde000000, 0x00010000,
1460          0xcb7fc9c3, 0xf3ff7c00, 0x0000001a, 0x0000000e, 0x20000000,
1461          0x08000000, 0xc0000000, 0x0000e000, 0x40080000, 0x00fc0000,
1462          0x00f00000, 0x0000c000, 0x17000000, 0x0000c000, 0x80000000,
1463          0xc0003ffe, 0xf0000000, 0xc0000000, 0x00030000, 0x00000800,
1464          0x027f0000, 0x00010000, 0x80f71e60, 0x00000d03, 0x8c00d4ee,
1465          0x10000001, 0x00000032, 0x00000007, 0x80000000, 0x00010000,
1466          0x00008000, 0x00800000, 0x80000000, 0x80000000, 0x01ff0000,
1467          0x80000000, 0x007f0000, 0xfe000000, 0x1e000000, 0x00003f80,
1468          0xd8000000, 0x00000003, 0x0000000f, 0x00300000, 0xe80023e0,
1469          0x3f000000, 0x00000200, 0x2800f800, 0x00000040, 0x00fffffe,
1470          0x0000000e, 0x00001fff, 0x70000000, 0x0000003e, 0x00030000,
1471          0x001f0000, 0x0000c000, 0x00200000, 0x0f800000, 0x00000010,
1472          0x80000000, 0x00000f80, 0xc0000000}};
1473    /** Code Point Ranges for Sm
1474    [43, 43], [60, 62], [124, 124], [126, 126], [172, 172], [177, 177],
1475    [215, 215], [247, 247], [1014, 1014], [1542, 1544], [8260, 8260],
1476    [8274, 8274], [8314, 8316], [8330, 8332], [8472, 8472], [8512, 8516],
1477    [8523, 8523], [8592, 8596], [8602, 8603], [8608, 8608], [8611, 8611],
1478    [8614, 8614], [8622, 8622], [8654, 8655], [8658, 8658], [8660, 8660],
1479    [8692, 8959], [8992, 8993], [9084, 9084], [9115, 9139], [9180, 9185],
1480    [9655, 9655], [9665, 9665], [9720, 9727], [9839, 9839], [10176, 10180],
1481    [10183, 10213], [10224, 10239], [10496, 10626], [10649, 10711],
1482    [10716, 10747], [10750, 11007], [11056, 11076], [11079, 11084],
1483    [64297, 64297], [65122, 65122], [65124, 65126], [65291, 65291],
1484    [65308, 65310], [65372, 65372], [65374, 65374], [65506, 65506],
1485    [65513, 65516], [120513, 120513], [120539, 120539], [120571, 120571],
1486    [120597, 120597], [120629, 120629], [120655, 120655], [120687, 120687],
1487    [120713, 120713], [120745, 120745], [120771, 120771], [126704, 126705]**/
1488    const UnicodeSet sm_Set
1489        {{{Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1490          {Mixed, 3}, {Empty, 23}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
1491          {Empty, 209}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1492          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 8}, {Empty, 1},
1493          {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 13}, {Mixed, 3},
1494          {Empty, 3}, {Mixed, 1}, {Empty, 10}, {Mixed, 2}, {Empty, 8},
1495          {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 8},
1496          {Empty, 1}, {Mixed, 2}, {Empty, 1662}, {Mixed, 1}, {Empty, 25},
1497          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1498          {Empty, 4}, {Mixed, 1}, {Empty, 1718}, {Mixed, 9}, {Empty, 184},
1499          {Mixed, 1}, {Empty, 30856}},
1500         {0x70000800, 0x50000000, 0x00021000, 0x00800000, 0x00800000,
1501          0x00400000, 0x000001c0, 0x00040010, 0x1c000000, 0x00001c00,
1502          0x01000000, 0x0000081f, 0x0c1f0000, 0x00004049, 0x0014c000,
1503          0xfff00000, 0x00000003, 0x10000000, 0xf8000000, 0x000fffff,
1504          0xf0000000, 0x00000003, 0x00800000, 0x00000002, 0xff000000,
1505          0x00008000, 0xffffff9f, 0xffff003f, 0xfe000007, 0xf0ffffff,
1506          0xcfffffff, 0xffff0000, 0x00001f9f, 0x00000200, 0x00000074,
1507          0x70000800, 0x50000000, 0x00001e04, 0x08000002, 0x08000000,
1508          0x00200000, 0x00200000, 0x00008000, 0x00008000, 0x00000200,
1509          0x00000200, 0x00000008, 0x00030000}};
1510    /** Code Point Ranges for Sc
1511    [36, 36], [162, 165], [1423, 1423], [1547, 1547], [2546, 2547],
1512    [2555, 2555], [2801, 2801], [3065, 3065], [3647, 3647], [6107, 6107],
1513    [8352, 8382], [43064, 43064], [65020, 65020], [65129, 65129],
1514    [65284, 65284], [65504, 65505], [65509, 65510]**/
1515    const UnicodeSet sc_Set
1516        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 38},
1517          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 30}, {Mixed, 1},
1518          {Empty, 7}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 17},
1519          {Mixed, 1}, {Empty, 76}, {Mixed, 1}, {Empty, 70}, {Mixed, 1},
1520          {Empty, 1083}, {Mixed, 1}, {Empty, 685}, {Mixed, 1}, {Empty, 3},
1521          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
1522          {Empty, 32768}},
1523         {0x00000010, 0x0000003c, 0x00008000, 0x00000800, 0x080c0000,
1524          0x00020000, 0x02000000, 0x80000000, 0x08000000, 0x7fffffff,
1525          0x01000000, 0x10000000, 0x00000200, 0x00000010, 0x00000063}};
1526    /** Code Point Ranges for Sk
1527    [94, 94], [96, 96], [168, 168], [175, 175], [180, 180], [184, 184],
1528    [706, 709], [722, 735], [741, 747], [749, 749], [751, 767], [885, 885],
1529    [900, 901], [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159],
1530    [8173, 8175], [8189, 8190], [12443, 12444], [42752, 42774],
1531    [42784, 42785], [42889, 42890], [43867, 43867], [64434, 64449],
1532    [65342, 65342], [65344, 65344], [65507, 65507], [127995, 127999]**/
1533    const UnicodeSet sk_Set
1534        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16},
1535          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 224}, {Mixed, 3},
1536          {Empty, 132}, {Mixed, 1}, {Empty, 947}, {Mixed, 2}, {Empty, 2},
1537          {Mixed, 1}, {Empty, 29}, {Mixed, 1}, {Empty, 642}, {Mixed, 2},
1538          {Empty, 26}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1951},
1539          {Mixed, 1}, {Empty, 30816}},
1540         {0x40000000, 0x00000001, 0x01108100, 0xfffc003c, 0xffffafe0,
1541          0x00200000, 0x00000030, 0xa0000000, 0xe000e003, 0x6000e000,
1542          0x18000000, 0x007fffff, 0x00000003, 0x00000600, 0x08000000,
1543          0xfffc0000, 0x00000003, 0x40000000, 0x00000001, 0x00000008,
1544          0xf8000000}};
1545    /** Code Point Ranges for So
1546    [166, 166], [169, 169], [174, 174], [176, 176], [1154, 1154],
1547    [1421, 1422], [1550, 1551], [1758, 1758], [1769, 1769], [1789, 1790],
1548    [2038, 2038], [2554, 2554], [2928, 2928], [3059, 3064], [3066, 3066],
1549    [3199, 3199], [3407, 3407], [3449, 3449], [3841, 3843], [3859, 3859],
1550    [3861, 3863], [3866, 3871], [3892, 3892], [3894, 3894], [3896, 3896],
1551    [4030, 4037], [4039, 4044], [4046, 4047], [4053, 4056], [4254, 4255],
1552    [5008, 5017], [6464, 6464], [6622, 6655], [7009, 7018], [7028, 7036],
1553    [8448, 8449], [8451, 8454], [8456, 8457], [8468, 8468], [8470, 8471],
1554    [8478, 8483], [8485, 8485], [8487, 8487], [8489, 8489], [8494, 8494],
1555    [8506, 8507], [8522, 8522], [8524, 8525], [8527, 8527], [8586, 8587],
1556    [8597, 8601], [8604, 8607], [8609, 8610], [8612, 8613], [8615, 8621],
1557    [8623, 8653], [8656, 8657], [8659, 8659], [8661, 8691], [8960, 8967],
1558    [8972, 8991], [8994, 9000], [9003, 9083], [9085, 9114], [9140, 9179],
1559    [9186, 9214], [9216, 9254], [9280, 9290], [9372, 9449], [9472, 9654],
1560    [9656, 9664], [9666, 9719], [9728, 9838], [9840, 10087], [10132, 10175],
1561    [10240, 10495], [11008, 11055], [11077, 11078], [11085, 11123],
1562    [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
1563    [11244, 11247], [11493, 11498], [11904, 11929], [11931, 12019],
1564    [12032, 12245], [12272, 12283], [12292, 12292], [12306, 12307],
1565    [12320, 12320], [12342, 12343], [12350, 12351], [12688, 12689],
1566    [12694, 12703], [12736, 12771], [12800, 12830], [12842, 12871],
1567    [12880, 12880], [12896, 12927], [12938, 12976], [12992, 13054],
1568    [13056, 13311], [19904, 19967], [42128, 42182], [43048, 43051],
1569    [43062, 43063], [43065, 43065], [43639, 43641], [65021, 65021],
1570    [65508, 65508], [65512, 65512], [65517, 65518], [65532, 65533],
1571    [65847, 65855], [65913, 65929], [65932, 65934], [65936, 65947],
1572    [65952, 65952], [66000, 66044], [67703, 67704], [68296, 68296],
1573    [71487, 71487], [92988, 92991], [92997, 92997], [113820, 113820],
1574    [118784, 119029], [119040, 119078], [119081, 119140], [119146, 119148],
1575    [119171, 119172], [119180, 119209], [119214, 119272], [119296, 119361],
1576    [119365, 119365], [119552, 119638], [120832, 121343], [121399, 121402],
1577    [121453, 121460], [121462, 121475], [121477, 121478], [126976, 127019],
1578    [127024, 127123], [127136, 127150], [127153, 127167], [127169, 127183],
1579    [127185, 127221], [127248, 127278], [127280, 127339], [127344, 127404],
1580    [127462, 127490], [127504, 127547], [127552, 127560], [127568, 127569],
1581    [127744, 127994], [128000, 128722], [128736, 128748], [128752, 128758],
1582    [128768, 128883], [128896, 128980], [129024, 129035], [129040, 129095],
1583    [129104, 129113], [129120, 129159], [129168, 129197], [129296, 129310],
1584    [129312, 129319], [129328, 129328], [129331, 129342], [129344, 129355],
1585    [129360, 129374], [129408, 129425], [129472, 129472]**/
1586    const UnicodeSet so_Set
1587        {{{Empty, 5}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 7},
1588          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
1589          {Empty, 7}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 11},
1590          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1591          {Empty, 6}, {Mixed, 2}, {Empty, 12}, {Mixed, 2}, {Empty, 3},
1592          {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
1593          {Empty, 45}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1},
1594          {Empty, 11}, {Mixed, 1}, {Empty, 44}, {Mixed, 3}, {Empty, 1},
1595          {Mixed, 4}, {Empty, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 5},
1596          {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2},
1597          {Mixed, 1}, {Full, 5}, {Mixed, 3}, {Full, 3}, {Mixed, 1},
1598          {Full, 7}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Full, 8},
1599          {Empty, 16}, {Full, 1}, {Mixed, 7}, {Empty, 7}, {Mixed, 1},
1600          {Empty, 12}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
1601          {Mixed, 4}, {Empty, 10}, {Mixed, 1}, {Empty, 1}, {Full, 1},
1602          {Mixed, 4}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
1603          {Full, 8}, {Empty, 206}, {Full, 2}, {Empty, 692}, {Mixed, 1},
1604          {Full, 1}, {Mixed, 1}, {Empty, 26}, {Mixed, 1}, {Empty, 17},
1605          {Mixed, 1}, {Empty, 667}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
1606          {Empty, 9}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 51},
1607          {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 98}, {Mixed, 1},
1608          {Empty, 671}, {Mixed, 2}, {Empty, 649}, {Mixed, 1}, {Empty, 155},
1609          {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
1610          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
1611          {Empty, 5}, {Full, 2}, {Mixed, 1}, {Empty, 37}, {Full, 16},
1612          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 171},
1613          {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 6}, {Full, 1},
1614          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
1615          {Empty, 5}, {Full, 7}, {Mixed, 1}, {Full, 22}, {Mixed, 2},
1616          {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
1617          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
1618          {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1619          {Mixed, 1}, {Empty, 30769}},
1620         {0x00014240, 0x00000004, 0x00006000, 0x0000c000, 0x40000000,
1621          0x60000200, 0x00400000, 0x04000000, 0x00010000, 0x05f80000,
1622          0x80000000, 0x00008000, 0x02000000, 0xfce8000e, 0x01500000,
1623          0xc0000000, 0x01e0dfbf, 0xc0000000, 0x03ff0000, 0x00000001,
1624          0xc0000000, 0x1ff007fe, 0xc0d0037b, 0x0c0042af, 0x0000b400,
1625          0xf3e00c00, 0xffffbfb6, 0xffeb3fff, 0x000fffff, 0xfffff0ff,
1626          0xfffff9fc, 0xefffffff, 0x07ffffff, 0xfff00000, 0x0fffffff,
1627          0x7ffffffc, 0x0000007f, 0x000007ff, 0xf0000000, 0x000003ff,
1628          0xff7fffff, 0xfffffffd, 0x00ffffff, 0xffff7fff, 0x000000ff,
1629          0xfff00000, 0x0000ffff, 0xffffe060, 0xffcfffff, 0xff3fffff,
1630          0xe3ffffff, 0x0003fdff, 0x0000f000, 0x000007e0, 0xfbffffff,
1631          0x000fffff, 0x003fffff, 0x0fff0000, 0x000c0010, 0xc0c00001,
1632          0xffc30000, 0x0000000f, 0x7fffffff, 0xfffffc00, 0x000100ff,
1633          0xfffffc00, 0x0001ffff, 0x7fffffff, 0xffff0000, 0x0000007f,
1634          0x02c00f00, 0x03800000, 0x20000000, 0x30006110, 0xff800000,
1635          0xfe000000, 0x0fff73ff, 0x00000001, 0xffff0000, 0x1fffffff,
1636          0x01800000, 0x00000100, 0x80000000, 0xf0000000, 0x00000020,
1637          0x10000000, 0x003fffff, 0xfffffe7f, 0x00001c1f, 0xfffff018,
1638          0xffffc3ff, 0x000001ff, 0x00000023, 0x007fffff, 0x07800000,
1639          0xffdfe000, 0x0000006f, 0xffff0fff, 0x000fffff, 0xfffe7fff,
1640          0xfffefffe, 0x003fffff, 0xffff0000, 0xffff7fff, 0xffff0fff,
1641          0x00001fff, 0xffffffc0, 0xffff0007, 0x0fffffff, 0x000301ff,
1642          0x07ffffff, 0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff,
1643          0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000,
1644          0x7ff900ff, 0x7fff0fff, 0x0003ffff, 0x00000001}};
1645    /** Code Point Ranges for Pi
1646    [171, 171], [8216, 8216], [8219, 8220], [8223, 8223], [8249, 8249],
1647    [11778, 11778], [11780, 11780], [11785, 11785], [11788, 11788],
1648    [11804, 11804], [11808, 11808]**/
1649    const UnicodeSet pi_Set
1650        {{{Empty, 5}, {Mixed, 1}, {Empty, 250}, {Mixed, 2}, {Empty, 110},
1651          {Mixed, 2}, {Empty, 34446}},
1652         {0x00000800, 0x99000000, 0x02000000, 0x10001214, 0x00000001}};
1653    /** Code Point Ranges for Pf
1654    [187, 187], [8217, 8217], [8221, 8221], [8250, 8250], [11779, 11779],
1655    [11781, 11781], [11786, 11786], [11789, 11789], [11805, 11805],
1656    [11809, 11809]**/
1657    const UnicodeSet pf_Set
1658        {{{Empty, 5}, {Mixed, 1}, {Empty, 250}, {Mixed, 2}, {Empty, 110},
1659          {Mixed, 2}, {Empty, 34446}},
1660         {0x08000000, 0x22000000, 0x04000000, 0x20002428, 0x00000002}};
1661    /** Code Point Ranges for C
1662    [0, 31], [127, 159], [173, 173], [888, 889], [896, 899], [907, 907],
1663    [909, 909], [930, 930], [1328, 1328], [1367, 1368], [1376, 1376],
1664    [1416, 1416], [1419, 1420], [1424, 1424], [1480, 1487], [1515, 1519],
1665    [1525, 1541], [1564, 1565], [1757, 1757], [1806, 1807], [1867, 1868],
1666    [1970, 1983], [2043, 2047], [2094, 2095], [2111, 2111], [2140, 2141],
1667    [2143, 2207], [2229, 2229], [2238, 2259], [2274, 2274], [2436, 2436],
1668    [2445, 2446], [2449, 2450], [2473, 2473], [2481, 2481], [2483, 2485],
1669    [2490, 2491], [2501, 2502], [2505, 2506], [2511, 2518], [2520, 2523],
1670    [2526, 2526], [2532, 2533], [2556, 2560], [2564, 2564], [2571, 2574],
1671    [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612], [2615, 2615],
1672    [2618, 2619], [2621, 2621], [2627, 2630], [2633, 2634], [2638, 2640],
1673    [2642, 2648], [2653, 2653], [2655, 2661], [2678, 2688], [2692, 2692],
1674    [2702, 2702], [2706, 2706], [2729, 2729], [2737, 2737], [2740, 2740],
1675    [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767], [2769, 2783],
1676    [2788, 2789], [2802, 2808], [2810, 2816], [2820, 2820], [2829, 2830],
1677    [2833, 2834], [2857, 2857], [2865, 2865], [2868, 2868], [2874, 2875],
1678    [2885, 2886], [2889, 2890], [2894, 2901], [2904, 2907], [2910, 2910],
1679    [2916, 2917], [2936, 2945], [2948, 2948], [2955, 2957], [2961, 2961],
1680    [2966, 2968], [2971, 2971], [2973, 2973], [2976, 2978], [2981, 2983],
1681    [2987, 2989], [3002, 3005], [3011, 3013], [3017, 3017], [3022, 3023],
1682    [3025, 3030], [3032, 3045], [3067, 3071], [3076, 3076], [3085, 3085],
1683    [3089, 3089], [3113, 3113], [3130, 3132], [3141, 3141], [3145, 3145],
1684    [3150, 3156], [3159, 3159], [3163, 3167], [3172, 3173], [3184, 3191],
1685    [3204, 3204], [3213, 3213], [3217, 3217], [3241, 3241], [3252, 3252],
1686    [3258, 3259], [3269, 3269], [3273, 3273], [3278, 3284], [3287, 3293],
1687    [3295, 3295], [3300, 3301], [3312, 3312], [3315, 3328], [3332, 3332],
1688    [3341, 3341], [3345, 3345], [3387, 3388], [3397, 3397], [3401, 3401],
1689    [3408, 3411], [3428, 3429], [3456, 3457], [3460, 3460], [3479, 3481],
1690    [3506, 3506], [3516, 3516], [3518, 3519], [3527, 3529], [3531, 3534],
1691    [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569], [3573, 3584],
1692    [3643, 3646], [3676, 3712], [3715, 3715], [3717, 3718], [3721, 3721],
1693    [3723, 3724], [3726, 3731], [3736, 3736], [3744, 3744], [3748, 3748],
1694    [3750, 3750], [3752, 3753], [3756, 3756], [3770, 3770], [3774, 3775],
1695    [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803], [3808, 3839],
1696    [3912, 3912], [3949, 3952], [3992, 3992], [4029, 4029], [4045, 4045],
1697    [4059, 4095], [4294, 4294], [4296, 4300], [4302, 4303], [4681, 4681],
1698    [4686, 4687], [4695, 4695], [4697, 4697], [4702, 4703], [4745, 4745],
1699    [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799], [4801, 4801],
1700    [4806, 4807], [4823, 4823], [4881, 4881], [4886, 4887], [4955, 4956],
1701    [4989, 4991], [5018, 5023], [5110, 5111], [5118, 5119], [5789, 5791],
1702    [5881, 5887], [5901, 5901], [5909, 5919], [5943, 5951], [5972, 5983],
1703    [5997, 5997], [6001, 6001], [6004, 6015], [6110, 6111], [6122, 6127],
1704    [6138, 6143], [6158, 6159], [6170, 6175], [6264, 6271], [6315, 6319],
1705    [6390, 6399], [6431, 6431], [6444, 6447], [6460, 6463], [6465, 6467],
1706    [6510, 6511], [6517, 6527], [6572, 6575], [6602, 6607], [6619, 6621],
1707    [6684, 6685], [6751, 6751], [6781, 6782], [6794, 6799], [6810, 6815],
1708    [6830, 6831], [6847, 6911], [6988, 6991], [7037, 7039], [7156, 7163],
1709    [7224, 7226], [7242, 7244], [7305, 7359], [7368, 7375], [7415, 7415],
1710    [7418, 7423], [7670, 7674], [7958, 7959], [7966, 7967], [8006, 8007],
1711    [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028], [8030, 8030],
1712    [8062, 8063], [8117, 8117], [8133, 8133], [8148, 8149], [8156, 8156],
1713    [8176, 8177], [8181, 8181], [8191, 8191], [8203, 8207], [8234, 8238],
1714    [8288, 8303], [8306, 8307], [8335, 8335], [8349, 8351], [8383, 8399],
1715    [8433, 8447], [8588, 8591], [9215, 9215], [9255, 9279], [9291, 9311],
1716    [11124, 11125], [11158, 11159], [11194, 11196], [11209, 11209],
1717    [11218, 11243], [11248, 11263], [11311, 11311], [11359, 11359],
1718    [11508, 11512], [11558, 11558], [11560, 11564], [11566, 11567],
1719    [11624, 11630], [11633, 11646], [11671, 11679], [11687, 11687],
1720    [11695, 11695], [11703, 11703], [11711, 11711], [11719, 11719],
1721    [11727, 11727], [11735, 11735], [11743, 11743], [11845, 11903],
1722    [11930, 11930], [12020, 12031], [12246, 12271], [12284, 12287],
1723    [12352, 12352], [12439, 12440], [12544, 12548], [12590, 12592],
1724    [12687, 12687], [12731, 12735], [12772, 12783], [12831, 12831],
1725    [13055, 13055], [19894, 19903], [40918, 40959], [42125, 42127],
1726    [42183, 42191], [42540, 42559], [42744, 42751], [42927, 42927],
1727    [42936, 42998], [43052, 43055], [43066, 43071], [43128, 43135],
1728    [43206, 43213], [43226, 43231], [43262, 43263], [43348, 43358],
1729    [43389, 43391], [43470, 43470], [43482, 43485], [43519, 43519],
1730    [43575, 43583], [43598, 43599], [43610, 43611], [43715, 43738],
1731    [43767, 43776], [43783, 43784], [43791, 43792], [43799, 43807],
1732    [43815, 43815], [43823, 43823], [43878, 43887], [44014, 44015],
1733    [44026, 44031], [55204, 55215], [55239, 55242], [55292, 63743],
1734    [64110, 64111], [64218, 64255], [64263, 64274], [64280, 64284],
1735    [64311, 64311], [64317, 64317], [64319, 64319], [64322, 64322],
1736    [64325, 64325], [64450, 64466], [64832, 64847], [64912, 64913],
1737    [64968, 65007], [65022, 65023], [65050, 65055], [65107, 65107],
1738    [65127, 65127], [65132, 65135], [65141, 65141], [65277, 65280],
1739    [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497],
1740    [65501, 65503], [65511, 65511], [65519, 65531], [65534, 65535],
1741    [65548, 65548], [65575, 65575], [65595, 65595], [65598, 65598],
1742    [65614, 65615], [65630, 65663], [65787, 65791], [65795, 65798],
1743    [65844, 65846], [65935, 65935], [65948, 65951], [65953, 65999],
1744    [66046, 66175], [66205, 66207], [66257, 66271], [66300, 66303],
1745    [66340, 66351], [66379, 66383], [66427, 66431], [66462, 66462],
1746    [66500, 66503], [66518, 66559], [66718, 66719], [66730, 66735],
1747    [66772, 66775], [66812, 66815], [66856, 66863], [66916, 66926],
1748    [66928, 67071], [67383, 67391], [67414, 67423], [67432, 67583],
1749    [67590, 67591], [67593, 67593], [67638, 67638], [67641, 67643],
1750    [67645, 67646], [67670, 67670], [67743, 67750], [67760, 67807],
1751    [67827, 67827], [67830, 67834], [67868, 67870], [67898, 67902],
1752    [67904, 67967], [68024, 68027], [68048, 68049], [68100, 68100],
1753    [68103, 68107], [68116, 68116], [68120, 68120], [68148, 68151],
1754    [68155, 68158], [68168, 68175], [68185, 68191], [68256, 68287],
1755    [68327, 68330], [68343, 68351], [68406, 68408], [68438, 68439],
1756    [68467, 68471], [68498, 68504], [68509, 68520], [68528, 68607],
1757    [68681, 68735], [68787, 68799], [68851, 68857], [68864, 69215],
1758    [69247, 69631], [69710, 69713], [69744, 69758], [69821, 69821],
1759    [69826, 69839], [69865, 69871], [69882, 69887], [69941, 69941],
1760    [69956, 69967], [70007, 70015], [70094, 70095], [70112, 70112],
1761    [70133, 70143], [70162, 70162], [70207, 70271], [70279, 70279],
1762    [70281, 70281], [70286, 70286], [70302, 70302], [70314, 70319],
1763    [70379, 70383], [70394, 70399], [70404, 70404], [70413, 70414],
1764    [70417, 70418], [70441, 70441], [70449, 70449], [70452, 70452],
1765    [70458, 70459], [70469, 70470], [70473, 70474], [70478, 70479],
1766    [70481, 70486], [70488, 70492], [70500, 70501], [70509, 70511],
1767    [70517, 70655], [70746, 70746], [70748, 70748], [70750, 70783],
1768    [70856, 70863], [70874, 71039], [71094, 71095], [71134, 71167],
1769    [71237, 71247], [71258, 71263], [71277, 71295], [71352, 71359],
1770    [71370, 71423], [71450, 71452], [71468, 71471], [71488, 71839],
1771    [71923, 71934], [71936, 72383], [72441, 72703], [72713, 72713],
1772    [72759, 72759], [72774, 72783], [72813, 72815], [72848, 72849],
1773    [72872, 72872], [72887, 73727], [74650, 74751], [74863, 74863],
1774    [74869, 74879], [75076, 77823], [78895, 82943], [83527, 92159],
1775    [92729, 92735], [92767, 92767], [92778, 92781], [92784, 92879],
1776    [92910, 92911], [92918, 92927], [92998, 93007], [93018, 93018],
1777    [93026, 93026], [93048, 93052], [93072, 93951], [94021, 94031],
1778    [94079, 94094], [94112, 94175], [94177, 94207], [100333, 100351],
1779    [101107, 110591], [110594, 113663], [113771, 113775], [113789, 113791],
1780    [113801, 113807], [113818, 113819], [113824, 118783], [119030, 119039],
1781    [119079, 119080], [119155, 119162], [119273, 119295], [119366, 119551],
1782    [119639, 119647], [119666, 119807], [119893, 119893], [119965, 119965],
1783    [119968, 119969], [119971, 119972], [119975, 119976], [119981, 119981],
1784    [119994, 119994], [119996, 119996], [120004, 120004], [120070, 120070],
1785    [120075, 120076], [120085, 120085], [120093, 120093], [120122, 120122],
1786    [120127, 120127], [120133, 120133], [120135, 120137], [120145, 120145],
1787    [120486, 120487], [120780, 120781], [121484, 121498], [121504, 121504],
1788    [121520, 122879], [122887, 122887], [122905, 122906], [122914, 122914],
1789    [122917, 122917], [122923, 124927], [125125, 125126], [125143, 125183],
1790    [125259, 125263], [125274, 125277], [125280, 126463], [126468, 126468],
1791    [126496, 126496], [126499, 126499], [126501, 126502], [126504, 126504],
1792    [126515, 126515], [126520, 126520], [126522, 126522], [126524, 126529],
1793    [126531, 126534], [126536, 126536], [126538, 126538], [126540, 126540],
1794    [126544, 126544], [126547, 126547], [126549, 126550], [126552, 126552],
1795    [126554, 126554], [126556, 126556], [126558, 126558], [126560, 126560],
1796    [126563, 126563], [126565, 126566], [126571, 126571], [126579, 126579],
1797    [126584, 126584], [126589, 126589], [126591, 126591], [126602, 126602],
1798    [126620, 126624], [126628, 126628], [126634, 126634], [126652, 126703],
1799    [126706, 126975], [127020, 127023], [127124, 127135], [127151, 127152],
1800    [127168, 127168], [127184, 127184], [127222, 127231], [127245, 127247],
1801    [127279, 127279], [127340, 127343], [127405, 127461], [127491, 127503],
1802    [127548, 127551], [127561, 127567], [127570, 127743], [128723, 128735],
1803    [128749, 128751], [128759, 128767], [128884, 128895], [128981, 129023],
1804    [129036, 129039], [129096, 129103], [129114, 129119], [129160, 129167],
1805    [129198, 129295], [129311, 129311], [129320, 129327], [129329, 129330],
1806    [129343, 129343], [129356, 129359], [129375, 129407], [129426, 129471],
1807    [129473, 131071], [173783, 173823], [177973, 177983], [178206, 178207],
1808    [183970, 194559], [195102, 917759], [918000, 1114111]**/
1809    const UnicodeSet c_Set
1810        {{{Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1811          {Empty, 21}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
1812          {Mixed, 3}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1813          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
1814          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
1815          {Empty, 4}, {Mixed, 39}, {Full, 1}, {Mixed, 3}, {Full, 1},
1816          {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1},
1817          {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
1818          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1},
1819          {Empty, 20}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2},
1820          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1821          {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
1822          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2},
1823          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1824          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7},
1825          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1826          {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 5}, {Empty, 4},
1827          {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1828          {Empty, 56}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
1829          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
1830          {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
1831          {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
1832          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
1833          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
1834          {Empty, 213}, {Mixed, 1}, {Empty, 656}, {Mixed, 1}, {Full, 1},
1835          {Empty, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10},
1836          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1837          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1838          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
1839          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
1840          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1841          {Empty, 349}, {Mixed, 3}, {Full, 264}, {Empty, 11}, {Mixed, 1},
1842          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 3},
1843          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1844          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
1845          {Mixed, 2}, {Empty, 4}, {Mixed, 6}, {Full, 1}, {Empty, 3},
1846          {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 4}, {Mixed, 1},
1847          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1},
1848          {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4}, {Empty, 1},
1849          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4}, {Empty, 9},
1850          {Mixed, 3}, {Full, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
1851          {Full, 1}, {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 2},
1852          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Empty, 1},
1853          {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Full, 2}, {Empty, 2},
1854          {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1855          {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Full, 12}, {Empty, 2},
1856          {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
1857          {Empty, 2}, {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1},
1858          {Mixed, 5}, {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1},
1859          {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 1}, {Mixed, 2},
1860          {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1861          {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1},
1862          {Full, 14}, {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6},
1863          {Full, 26}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3},
1864          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33},
1865          {Mixed, 1}, {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269},
1866          {Empty, 17}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 2},
1867          {Mixed, 3}, {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2},
1868          {Mixed, 1}, {Empty, 191}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
1869          {Full, 296}, {Mixed, 1}, {Full, 95}, {Empty, 3}, {Mixed, 2},
1870          {Full, 155}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1871          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
1872          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
1873          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
1874          {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
1875          {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
1876          {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
1877          {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
1878          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
1879          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
1880          {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1881          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
1882          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
1883          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 49},
1884          {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129}, {Mixed, 1},
1885          {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1}, {Full, 330},
1886          {Empty, 16}, {Mixed, 1}, {Full, 22583}, {Empty, 7}, {Mixed, 1},
1887          {Full, 6128}},
1888         {0x80000000, 0x00002000, 0x03000000, 0x0000280f, 0x00000004,
1889          0x00010000, 0x01800000, 0x00000001, 0x00011900, 0x0000ff00,
1890          0xffe0f800, 0x3000003f, 0x20000000, 0x0000c000, 0x00001800,
1891          0xfffc0000, 0xf8000000, 0x8000c000, 0xb0000000, 0xc0200000,
1892          0x000fffff, 0x00000004, 0x00066010, 0x0c3a0200, 0x4f7f8660,
1893          0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678, 0xffc0003f,
1894          0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030, 0x00066011,
1895          0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813, 0x3c0038e7,
1896          0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200, 0xf89fc220,
1897          0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220, 0xfff90030,
1898          0x00022011, 0x18000000, 0x000f0220, 0x00000030, 0x03800013,
1899          0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001, 0x78000000,
1900          0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0, 0x00000100,
1901          0x0001e000, 0x01000000, 0x20000000, 0xf8002000, 0x0000df40,
1902          0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2, 0x00c20000,
1903          0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000, 0xe0000000,
1904          0xfe000000, 0xffe02000, 0xff800000, 0xfff00000, 0xfff22000,
1905          0xc0000000, 0xfc00fc00, 0xfc00c000, 0xff000000, 0x0000f800,
1906          0xffc00000, 0x80000000, 0xf000f000, 0x0000000e, 0xffe0c000,
1907          0x0000f000, 0x3800fc00, 0x30000000, 0x80000000, 0x60000000,
1908          0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000, 0x0ff00000,
1909          0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00, 0xfc800000,
1910          0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000, 0x00200000,
1911          0x10300020, 0x80230000, 0x0000f800, 0x00007c00, 0x000cffff,
1912          0xe0008000, 0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000,
1913          0x80000000, 0xffffff80, 0xfffff800, 0x00300000, 0x00c00000,
1914          0x1c000000, 0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000,
1915          0x01f00000, 0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080,
1916          0x80808080, 0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000,
1917          0xf000ffff, 0x00000001, 0x01800000, 0x0000001f, 0x0001c000,
1918          0x00008000, 0xf8000000, 0x0000fff0, 0x80000000, 0x80000000,
1919          0xffc00000, 0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000,
1920          0xff000000, 0xff008000, 0x007fffff, 0xfc00f000, 0xff000000,
1921          0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000,
1922          0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000,
1923          0xff818181, 0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0,
1924          0x00000780, 0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80,
1925          0xa0800000, 0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000,
1926          0xffffff00, 0xc000ffff, 0xfc000000, 0x00080000, 0x0020f080,
1927          0xe0000000, 0x00000001, 0x80000000, 0xe3030303, 0xcfff8080,
1928          0x00001000, 0x48000080, 0xc000c000, 0xf8000000, 0x00000078,
1929          0x00700000, 0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000,
1930          0xe0000000, 0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800,
1931          0xf8000000, 0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00,
1932          0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000,
1933          0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000, 0x00400000,
1934          0x80000000, 0xffff007f, 0x07c80000, 0x70000000, 0x7c000000,
1935          0x0f000000, 0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00,
1936          0xff800780, 0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000,
1937          0xffff01ff, 0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000,
1938          0x0003c000, 0x7fff0000, 0x20000000, 0x0000fffc, 0xfc00fe00,
1939          0x00200000, 0x0000fff0, 0xff800000, 0x0000c000, 0xffe00001,
1940          0x00040000, 0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800,
1941          0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xd4000000,
1942          0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0, 0xffffe000,
1943          0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000, 0x7ff80000,
1944          0xfe000000, 0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000,
1945          0x00030000, 0xff800100, 0xfc000000, 0xffe08000, 0xfffffff0,
1946          0xffff8000, 0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00,
1947          0x0000ffff, 0xffc0c000, 0x0400ffc0, 0x1f000004, 0xffff0000,
1948          0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffe, 0xffffe000,
1949          0xfff80000, 0xfffffffc, 0xe000f800, 0x0c00fe00, 0xffc00000,
1950          0x00000180, 0x07f80000, 0xfffffe00, 0xffffffc0, 0xff800000,
1951          0xfffc0000, 0x00200000, 0x20000000, 0x1400219b, 0x00000010,
1952          0x20201840, 0x84000000, 0x000203a0, 0x000000c0, 0x00003000,
1953          0x07fff000, 0xffff0001, 0x06000080, 0xfffff824, 0xff800060,
1954          0x3c00f800, 0x00000010, 0xf5080169, 0x5569157b, 0xa1080869,
1955          0xf0000400, 0xf0000411, 0xfffcffff, 0x0000f000, 0xfff00000,
1956          0x00018000, 0x00010001, 0xffc00000, 0x0000e000, 0x00008000,
1957          0x0000f000, 0xffffe000, 0x0000003f, 0x0000fff8, 0xf0000000,
1958          0xfffcfe00, 0xfff80000, 0xff80e000, 0xfff00000, 0xffe00000,
1959          0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000, 0x8000ffff,
1960          0x8006ff00, 0x8000f000, 0xfffc0000, 0xfffffffe, 0xff800000,
1961          0xffe00000, 0xc0000000, 0xfffffffc, 0xc0000000, 0xffff0000}};
1962    /** Code Point Ranges for L
1963    [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
1964    [216, 246], [248, 705], [710, 721], [736, 740], [748, 748], [750, 750],
1965    [880, 884], [886, 887], [890, 893], [895, 895], [902, 902], [904, 906],
1966    [908, 908], [910, 929], [931, 1013], [1015, 1153], [1162, 1327],
1967    [1329, 1366], [1369, 1369], [1377, 1415], [1488, 1514], [1520, 1522],
1968    [1568, 1610], [1646, 1647], [1649, 1747], [1749, 1749], [1765, 1766],
1969    [1774, 1775], [1786, 1788], [1791, 1791], [1808, 1808], [1810, 1839],
1970    [1869, 1957], [1969, 1969], [1994, 2026], [2036, 2037], [2042, 2042],
1971    [2048, 2069], [2074, 2074], [2084, 2084], [2088, 2088], [2112, 2136],
1972    [2208, 2228], [2230, 2237], [2308, 2361], [2365, 2365], [2384, 2384],
1973    [2392, 2401], [2417, 2432], [2437, 2444], [2447, 2448], [2451, 2472],
1974    [2474, 2480], [2482, 2482], [2486, 2489], [2493, 2493], [2510, 2510],
1975    [2524, 2525], [2527, 2529], [2544, 2545], [2565, 2570], [2575, 2576],
1976    [2579, 2600], [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617],
1977    [2649, 2652], [2654, 2654], [2674, 2676], [2693, 2701], [2703, 2705],
1978    [2707, 2728], [2730, 2736], [2738, 2739], [2741, 2745], [2749, 2749],
1979    [2768, 2768], [2784, 2785], [2809, 2809], [2821, 2828], [2831, 2832],
1980    [2835, 2856], [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2877],
1981    [2908, 2909], [2911, 2913], [2929, 2929], [2947, 2947], [2949, 2954],
1982    [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972], [2974, 2975],
1983    [2979, 2980], [2984, 2986], [2990, 3001], [3024, 3024], [3077, 3084],
1984    [3086, 3088], [3090, 3112], [3114, 3129], [3133, 3133], [3160, 3162],
1985    [3168, 3169], [3200, 3200], [3205, 3212], [3214, 3216], [3218, 3240],
1986    [3242, 3251], [3253, 3257], [3261, 3261], [3294, 3294], [3296, 3297],
1987    [3313, 3314], [3333, 3340], [3342, 3344], [3346, 3386], [3389, 3389],
1988    [3406, 3406], [3412, 3414], [3423, 3425], [3450, 3455], [3461, 3478],
1989    [3482, 3505], [3507, 3515], [3517, 3517], [3520, 3526], [3585, 3632],
1990    [3634, 3635], [3648, 3654], [3713, 3714], [3716, 3716], [3719, 3720],
1991    [3722, 3722], [3725, 3725], [3732, 3735], [3737, 3743], [3745, 3747],
1992    [3749, 3749], [3751, 3751], [3754, 3755], [3757, 3760], [3762, 3763],
1993    [3773, 3773], [3776, 3780], [3782, 3782], [3804, 3807], [3840, 3840],
1994    [3904, 3911], [3913, 3948], [3976, 3980], [4096, 4138], [4159, 4159],
1995    [4176, 4181], [4186, 4189], [4193, 4193], [4197, 4198], [4206, 4208],
1996    [4213, 4225], [4238, 4238], [4256, 4293], [4295, 4295], [4301, 4301],
1997    [4304, 4346], [4348, 4680], [4682, 4685], [4688, 4694], [4696, 4696],
1998    [4698, 4701], [4704, 4744], [4746, 4749], [4752, 4784], [4786, 4789],
1999    [4792, 4798], [4800, 4800], [4802, 4805], [4808, 4822], [4824, 4880],
2000    [4882, 4885], [4888, 4954], [4992, 5007], [5024, 5109], [5112, 5117],
2001    [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866], [5873, 5880],
2002    [5888, 5900], [5902, 5905], [5920, 5937], [5952, 5969], [5984, 5996],
2003    [5998, 6000], [6016, 6067], [6103, 6103], [6108, 6108], [6176, 6263],
2004    [6272, 6276], [6279, 6312], [6314, 6314], [6320, 6389], [6400, 6430],
2005    [6480, 6509], [6512, 6516], [6528, 6571], [6576, 6601], [6656, 6678],
2006    [6688, 6740], [6823, 6823], [6917, 6963], [6981, 6987], [7043, 7072],
2007    [7086, 7087], [7098, 7141], [7168, 7203], [7245, 7247], [7258, 7293],
2008    [7296, 7304], [7401, 7404], [7406, 7409], [7413, 7414], [7424, 7615],
2009    [7680, 7957], [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
2010    [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
2011    [8118, 8124], [8126, 8126], [8130, 8132], [8134, 8140], [8144, 8147],
2012    [8150, 8155], [8160, 8172], [8178, 8180], [8182, 8188], [8305, 8305],
2013    [8319, 8319], [8336, 8348], [8450, 8450], [8455, 8455], [8458, 8467],
2014    [8469, 8469], [8473, 8477], [8484, 8484], [8486, 8486], [8488, 8488],
2015    [8490, 8493], [8495, 8505], [8508, 8511], [8517, 8521], [8526, 8526],
2016    [8579, 8580], [11264, 11310], [11312, 11358], [11360, 11492],
2017    [11499, 11502], [11506, 11507], [11520, 11557], [11559, 11559],
2018    [11565, 11565], [11568, 11623], [11631, 11631], [11648, 11670],
2019    [11680, 11686], [11688, 11694], [11696, 11702], [11704, 11710],
2020    [11712, 11718], [11720, 11726], [11728, 11734], [11736, 11742],
2021    [11823, 11823], [12293, 12294], [12337, 12341], [12347, 12348],
2022    [12353, 12438], [12445, 12447], [12449, 12538], [12540, 12543],
2023    [12549, 12589], [12593, 12686], [12704, 12730], [12784, 12799],
2024    [13312, 19893], [19968, 40917], [40960, 42124], [42192, 42237],
2025    [42240, 42508], [42512, 42527], [42538, 42539], [42560, 42606],
2026    [42623, 42653], [42656, 42725], [42775, 42783], [42786, 42888],
2027    [42891, 42926], [42928, 42935], [42999, 43009], [43011, 43013],
2028    [43015, 43018], [43020, 43042], [43072, 43123], [43138, 43187],
2029    [43250, 43255], [43259, 43259], [43261, 43261], [43274, 43301],
2030    [43312, 43334], [43360, 43388], [43396, 43442], [43471, 43471],
2031    [43488, 43492], [43494, 43503], [43514, 43518], [43520, 43560],
2032    [43584, 43586], [43588, 43595], [43616, 43638], [43642, 43642],
2033    [43646, 43695], [43697, 43697], [43701, 43702], [43705, 43709],
2034    [43712, 43712], [43714, 43714], [43739, 43741], [43744, 43754],
2035    [43762, 43764], [43777, 43782], [43785, 43790], [43793, 43798],
2036    [43808, 43814], [43816, 43822], [43824, 43866], [43868, 43877],
2037    [43888, 44002], [44032, 55203], [55216, 55238], [55243, 55291],
2038    [63744, 64109], [64112, 64217], [64256, 64262], [64275, 64279],
2039    [64285, 64285], [64287, 64296], [64298, 64310], [64312, 64316],
2040    [64318, 64318], [64320, 64321], [64323, 64324], [64326, 64433],
2041    [64467, 64829], [64848, 64911], [64914, 64967], [65008, 65019],
2042    [65136, 65140], [65142, 65276], [65313, 65338], [65345, 65370],
2043    [65382, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
2044    [65498, 65500], [65536, 65547], [65549, 65574], [65576, 65594],
2045    [65596, 65597], [65599, 65613], [65616, 65629], [65664, 65786],
2046    [66176, 66204], [66208, 66256], [66304, 66335], [66352, 66368],
2047    [66370, 66377], [66384, 66421], [66432, 66461], [66464, 66499],
2048    [66504, 66511], [66560, 66717], [66736, 66771], [66776, 66811],
2049    [66816, 66855], [66864, 66915], [67072, 67382], [67392, 67413],
2050    [67424, 67431], [67584, 67589], [67592, 67592], [67594, 67637],
2051    [67639, 67640], [67644, 67644], [67647, 67669], [67680, 67702],
2052    [67712, 67742], [67808, 67826], [67828, 67829], [67840, 67861],
2053    [67872, 67897], [67968, 68023], [68030, 68031], [68096, 68096],
2054    [68112, 68115], [68117, 68119], [68121, 68147], [68192, 68220],
2055    [68224, 68252], [68288, 68295], [68297, 68324], [68352, 68405],
2056    [68416, 68437], [68448, 68466], [68480, 68497], [68608, 68680],
2057    [68736, 68786], [68800, 68850], [69635, 69687], [69763, 69807],
2058    [69840, 69864], [69891, 69926], [69968, 70002], [70006, 70006],
2059    [70019, 70066], [70081, 70084], [70106, 70106], [70108, 70108],
2060    [70144, 70161], [70163, 70187], [70272, 70278], [70280, 70280],
2061    [70282, 70285], [70287, 70301], [70303, 70312], [70320, 70366],
2062    [70405, 70412], [70415, 70416], [70419, 70440], [70442, 70448],
2063    [70450, 70451], [70453, 70457], [70461, 70461], [70480, 70480],
2064    [70493, 70497], [70656, 70708], [70727, 70730], [70784, 70831],
2065    [70852, 70853], [70855, 70855], [71040, 71086], [71128, 71131],
2066    [71168, 71215], [71236, 71236], [71296, 71338], [71424, 71449],
2067    [71840, 71903], [71935, 71935], [72384, 72440], [72704, 72712],
2068    [72714, 72750], [72768, 72768], [72818, 72847], [73728, 74649],
2069    [74880, 75075], [77824, 78894], [82944, 83526], [92160, 92728],
2070    [92736, 92766], [92880, 92909], [92928, 92975], [92992, 92995],
2071    [93027, 93047], [93053, 93071], [93952, 94020], [94032, 94032],
2072    [94099, 94111], [94176, 94176], [94208, 100332], [100352, 101106],
2073    [110592, 110593], [113664, 113770], [113776, 113788], [113792, 113800],
2074    [113808, 113817], [119808, 119892], [119894, 119964], [119966, 119967],
2075    [119970, 119970], [119973, 119974], [119977, 119980], [119982, 119993],
2076    [119995, 119995], [119997, 120003], [120005, 120069], [120071, 120074],
2077    [120077, 120084], [120086, 120092], [120094, 120121], [120123, 120126],
2078    [120128, 120132], [120134, 120134], [120138, 120144], [120146, 120485],
2079    [120488, 120512], [120514, 120538], [120540, 120570], [120572, 120596],
2080    [120598, 120628], [120630, 120654], [120656, 120686], [120688, 120712],
2081    [120714, 120744], [120746, 120770], [120772, 120779], [124928, 125124],
2082    [125184, 125251], [126464, 126467], [126469, 126495], [126497, 126498],
2083    [126500, 126500], [126503, 126503], [126505, 126514], [126516, 126519],
2084    [126521, 126521], [126523, 126523], [126530, 126530], [126535, 126535],
2085    [126537, 126537], [126539, 126539], [126541, 126543], [126545, 126546],
2086    [126548, 126548], [126551, 126551], [126553, 126553], [126555, 126555],
2087    [126557, 126557], [126559, 126559], [126561, 126562], [126564, 126564],
2088    [126567, 126570], [126572, 126578], [126580, 126583], [126585, 126588],
2089    [126590, 126590], [126592, 126601], [126603, 126619], [126625, 126627],
2090    [126629, 126633], [126635, 126651], [131072, 173782], [173824, 177972],
2091    [177984, 178205], [178208, 183969], [194560, 195101]**/
2092    const UnicodeSet l_Set
2093        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14},
2094          {Mixed, 2}, {Empty, 3}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
2095          {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 4}, {Empty, 1},
2096          {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
2097          {Mixed, 5}, {Full, 2}, {Mixed, 6}, {Empty, 2}, {Mixed, 1},
2098          {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15}, {Empty, 1},
2099          {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
2100          {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4},
2101          {Full, 1}, {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1},
2102          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
2103          {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 18},
2104          {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2},
2105          {Empty, 2}, {Full, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 2},
2106          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1},
2107          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
2108          {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1},
2109          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
2110          {Full, 6}, {Empty, 2}, {Full, 8}, {Mixed, 1}, {Full, 1},
2111          {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2},
2112          {Empty, 3}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 83},
2113          {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 1},
2114          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
2115          {Empty, 14}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Full, 1},
2116          {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
2117          {Empty, 16}, {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 654},
2118          {Mixed, 1}, {Empty, 1}, {Full, 36}, {Mixed, 1}, {Empty, 1},
2119          {Mixed, 2}, {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
2120          {Full, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1},
2121          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 9},
2122          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Full, 3},
2123          {Mixed, 1}, {Full, 349}, {Mixed, 3}, {Empty, 264}, {Full, 11},
2124          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
2125          {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2}, {Full, 1},
2126          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
2127          {Full, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
2128          {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Full, 3},
2129          {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
2130          {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1},
2131          {Empty, 1}, {Full, 4}, {Mixed, 4}, {Full, 1}, {Mixed, 1},
2132          {Full, 1}, {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3},
2133          {Empty, 4}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
2134          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
2135          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4},
2136          {Empty, 3}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1},
2137          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2},
2138          {Empty, 2}, {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
2139          {Mixed, 3}, {Empty, 1}, {Mixed, 4}, {Empty, 4}, {Full, 1},
2140          {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 5},
2141          {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2},
2142          {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
2143          {Empty, 12}, {Full, 2}, {Mixed, 1}, {Empty, 14}, {Full, 1},
2144          {Mixed, 1}, {Empty, 8}, {Mixed, 5}, {Empty, 27}, {Full, 28},
2145          {Mixed, 1}, {Empty, 7}, {Full, 6}, {Mixed, 1}, {Empty, 85},
2146          {Full, 33}, {Mixed, 1}, {Empty, 126}, {Full, 18}, {Mixed, 1},
2147          {Empty, 269}, {Full, 17}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
2148          {Full, 1}, {Mixed, 4}, {Empty, 27}, {Full, 2}, {Mixed, 1},
2149          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 191},
2150          {Mixed, 1}, {Full, 23}, {Mixed, 1}, {Empty, 296}, {Mixed, 1},
2151          {Empty, 95}, {Full, 3}, {Mixed, 2}, {Empty, 187}, {Full, 2},
2152          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3},
2153          {Full, 10}, {Mixed, 10}, {Empty, 129}, {Full, 6}, {Mixed, 1},
2154          {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 37}, {Mixed, 6},
2155          {Empty, 138}, {Full, 1334}, {Mixed, 1}, {Empty, 1}, {Full, 129},
2156          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180}, {Mixed, 1},
2157          {Empty, 330}, {Full, 16}, {Mixed, 1}, {Empty, 28719}},
2158         {0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff,
2159          0x0003ffc3, 0x0000501f, 0xbcdf0000, 0xffffd740, 0xfffffffb,
2160          0xffbfffff, 0xfffffc03, 0xfffeffff, 0x027fffff, 0xfffffffe,
2161          0x000000ff, 0xffff0000, 0x000707ff, 0x000007ff, 0xfffec000,
2162          0x002fffff, 0x9c00c060, 0xfffd0000, 0x0000ffff, 0xffffe000,
2163          0x0002003f, 0xfffffc00, 0x043007ff, 0x043fffff, 0x00000110,
2164          0x01ffffff, 0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000,
2165          0xfffe0003, 0xfff99fe1, 0x23c5fdff, 0xb0004000, 0x00030003,
2166          0xfff987e0, 0x036dfdff, 0x5e000000, 0x001c0000, 0xfffbbfe0,
2167          0x23edfdff, 0x00010000, 0x02000003, 0xfff99fe0, 0x23edfdff,
2168          0xb0000000, 0x00020003, 0xd63dc7e8, 0x03ffc718, 0x00010000,
2169          0xfffddfe0, 0x23fffdff, 0x07000000, 0x00000003, 0xfffddfe1,
2170          0x23effdff, 0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff,
2171          0x80704000, 0xfc000003, 0xfc7fffe0, 0x2ffbffff, 0x0000007f,
2172          0xfffffffe, 0x000dffff, 0x0000007f, 0xfef02596, 0x200decae,
2173          0xf000005f, 0x00000001, 0xfffffeff, 0x00001fff, 0x00001f00,
2174          0x800007ff, 0x3c3f0000, 0xffe1c062, 0x00004003, 0xffff20bf,
2175          0xf7ffffff, 0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d,
2176          0xff3dffff, 0x07ffffff, 0x0000ffff, 0x3f3fffff, 0xfffffffe,
2177          0xffff9fff, 0x07fffffe, 0x01fe07ff, 0x0003dfff, 0x0003ffff,
2178          0x0003ffff, 0x0001dfff, 0x000fffff, 0x10800000, 0x00ffffff,
2179          0xffffff9f, 0xffff05ff, 0x003fffff, 0x7fffffff, 0xffff0000,
2180          0x001f3fff, 0xffff0fff, 0x000003ff, 0x007fffff, 0x001fffff,
2181          0x00000080, 0xffffffe0, 0x000fffff, 0x00000fe0, 0xfffffff8,
2182          0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000, 0x3fffffff,
2183          0x000001ff, 0x0063de00, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff,
2184          0x5fdfffff, 0x0fcf1fdc, 0x1fdc1fff, 0x80020000, 0x1fff0000,
2185          0x3e2ffc84, 0xf3ffbd50, 0x000043e0, 0x00000018, 0xffff7fff,
2186          0x7fffffff, 0x000c781f, 0xffff20bf, 0x000080ff, 0x007fffff,
2187          0x7f7f7f7f, 0x7f7f7f7f, 0x00008000, 0x00000060, 0x183e0000,
2188          0xfffffffe, 0xe07fffff, 0xfffffffe, 0xf7ffffff, 0xffffffe0,
2189          0xfffe3fff, 0x00007fff, 0x07ffffff, 0xffff0000, 0x003fffff,
2190          0x003fffff, 0x00001fff, 0xffff0000, 0x3fffffff, 0xffff1fff,
2191          0x00000c00, 0x80007fff, 0x3fffffff, 0x0000003f, 0xff800000,
2192          0xfffffffc, 0xfffff9ff, 0x00ff7fff, 0xff800000, 0xfffff7bb,
2193          0x00000007, 0x000fffff, 0xfffffffc, 0x000fffff, 0x28fc0000,
2194          0xfffffc00, 0xffff003f, 0x0000007f, 0x1fffffff, 0xfffffff0,
2195          0x0007ffff, 0x00008000, 0x7c00ffdf, 0x000001ff, 0x00000ff7,
2196          0xc47fffff, 0x3e62ffff, 0x38000005, 0x001c07ff, 0x007e7e7e,
2197          0xffff7f7f, 0xf7ffffff, 0xffff003f, 0x00000007, 0xffff000f,
2198          0xfffff87f, 0x0fffffff, 0xffff3fff, 0x03ffffff, 0xa0f8007f,
2199          0x5f7ffdff, 0xffffffdb, 0x0003ffff, 0xfff80000, 0x3fffffff,
2200          0xffff0000, 0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000,
2201          0x1fffffff, 0x07fffffe, 0x07fffffe, 0xffffffc0, 0x7fffffff,
2202          0x1cfcfcfc, 0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff,
2203          0x1fffffff, 0x0001ffff, 0xffff0000, 0xffff03fd, 0x003fffff,
2204          0x3fffffff, 0x0000ff0f, 0x3fffffff, 0xffff0000, 0xff0fffff,
2205          0x0fffffff, 0xffff00ff, 0x0000000f, 0x007fffff, 0x003fffff,
2206          0x000000ff, 0xfffffd3f, 0x91bfffff, 0x003fffff, 0x007fffff,
2207          0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff, 0xc0ffffff,
2208          0xfeef0001, 0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff,
2209          0x0000001f, 0x003fffff, 0x003fffff, 0x0007ffff, 0x0003ffff,
2210          0x000001ff, 0x0007ffff, 0x0007ffff, 0xfffffff8, 0x00ffffff,
2211          0xfffffff8, 0x0000ffff, 0xffff0000, 0x000001ff, 0xfffffff8,
2212          0x0000007f, 0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff,
2213          0x1400001e, 0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff,
2214          0x7fffffff, 0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003,
2215          0x001fffff, 0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff,
2216          0x0f000000, 0x0000ffff, 0x00000010, 0x000007ff, 0x03ffffff,
2217          0x80000000, 0x01ffffff, 0xfffffdff, 0x00007fff, 0x00000001,
2218          0xfffc0000, 0x0000ffff, 0x03ffffff, 0x0000000f, 0x00007fff,
2219          0x0000007f, 0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff,
2220          0x0000ffff, 0x0000000f, 0xe0fffff8, 0x0000ffff, 0x0001001f,
2221          0xfff80000, 0x00000001, 0x00001fff, 0x0007ffff, 0x00000003,
2222          0x1fff07ff, 0x03ff01ff, 0xffdfffff, 0xdfffffff, 0xebffde64,
2223          0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f,
2224          0xf7fffffd, 0xf7ffffff, 0xffdfffff, 0xffdfffff, 0xffff7fff,
2225          0xffff7fff, 0xfffffdff, 0xfffffdff, 0x00000ff7, 0x0000001f,
2226          0x0000000f, 0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796,
2227          0x0ffffbff, 0x0ffffbee, 0x007fffff, 0x001fffff, 0x3fffffff,
2228          0x00000003, 0x3fffffff}};
2229    /** Code Point Ranges for LC
2230    [65, 90], [97, 122], [181, 181], [192, 214], [216, 246], [248, 442],
2231    [444, 447], [452, 659], [661, 687], [880, 883], [886, 887], [891, 893],
2232    [895, 895], [902, 902], [904, 906], [908, 908], [910, 929], [931, 1013],
2233    [1015, 1153], [1162, 1327], [1329, 1366], [1377, 1415], [4256, 4293],
2234    [4295, 4295], [4301, 4301], [5024, 5109], [5112, 5117], [7296, 7304],
2235    [7424, 7467], [7531, 7543], [7545, 7578], [7680, 7957], [7960, 7965],
2236    [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025], [8027, 8027],
2237    [8029, 8029], [8031, 8061], [8064, 8116], [8118, 8124], [8126, 8126],
2238    [8130, 8132], [8134, 8140], [8144, 8147], [8150, 8155], [8160, 8172],
2239    [8178, 8180], [8182, 8188], [8450, 8450], [8455, 8455], [8458, 8467],
2240    [8469, 8469], [8473, 8477], [8484, 8484], [8486, 8486], [8488, 8488],
2241    [8490, 8493], [8495, 8500], [8505, 8505], [8508, 8511], [8517, 8521],
2242    [8526, 8526], [8579, 8580], [11264, 11310], [11312, 11358],
2243    [11360, 11387], [11390, 11492], [11499, 11502], [11506, 11507],
2244    [11520, 11557], [11559, 11559], [11565, 11565], [42560, 42605],
2245    [42624, 42651], [42786, 42863], [42865, 42887], [42891, 42894],
2246    [42896, 42926], [42928, 42935], [43002, 43002], [43824, 43866],
2247    [43872, 43877], [43888, 43967], [64256, 64262], [64275, 64279],
2248    [65313, 65338], [65345, 65370], [66560, 66639], [66736, 66771],
2249    [66776, 66811], [68736, 68786], [68800, 68850], [71840, 71903],
2250    [119808, 119892], [119894, 119964], [119966, 119967], [119970, 119970],
2251    [119973, 119974], [119977, 119980], [119982, 119993], [119995, 119995],
2252    [119997, 120003], [120005, 120069], [120071, 120074], [120077, 120084],
2253    [120086, 120092], [120094, 120121], [120123, 120126], [120128, 120132],
2254    [120134, 120134], [120138, 120144], [120146, 120485], [120488, 120512],
2255    [120514, 120538], [120540, 120570], [120572, 120596], [120598, 120628],
2256    [120630, 120654], [120656, 120686], [120688, 120712], [120714, 120744],
2257    [120746, 120770], [120772, 120779], [125184, 125251]**/
2258    const UnicodeSet lc_Set
2259        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 5},
2260          {Mixed, 2}, {Full, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 3},
2261          {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 4},
2262          {Mixed, 4}, {Empty, 88}, {Full, 1}, {Mixed, 1}, {Empty, 22},
2263          {Full, 2}, {Mixed, 1}, {Empty, 68}, {Mixed, 1}, {Empty, 3},
2264          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
2265          {Full, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
2266          {Mixed, 3}, {Empty, 8}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
2267          {Empty, 83}, {Full, 1}, {Mixed, 3}, {Full, 3}, {Mixed, 1},
2268          {Full, 1}, {Mixed, 1}, {Empty, 968}, {Full, 1}, {Mixed, 2},
2269          {Empty, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 1},
2270          {Mixed, 1}, {Empty, 25}, {Mixed, 3}, {Full, 2}, {Empty, 634},
2271          {Mixed, 1}, {Empty, 32}, {Mixed, 2}, {Empty, 37}, {Full, 2},
2272          {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 60}, {Full, 1},
2273          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 93}, {Full, 2},
2274          {Empty, 1497}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
2275          {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 10}, {Empty, 137},
2276          {Full, 2}, {Mixed, 1}, {Empty, 30901}},
2277         {0x07fffffe, 0x07fffffe, 0x00200000, 0xff7fffff, 0xff7fffff,
2278          0xf7ffffff, 0xfffffff0, 0xffefffff, 0x0000ffff, 0xb8cf0000,
2279          0xffffd740, 0xfffffffb, 0xffbfffff, 0xfffffc03, 0xfffeffff,
2280          0x007fffff, 0xfffffffe, 0x000000ff, 0x000020bf, 0x3f3fffff,
2281          0x000001ff, 0x00000fff, 0xfefff800, 0x07ffffff, 0x3f3fffff,
2282          0xaaff3f3f, 0x3fffffff, 0x5fdfffff, 0x0fcf1fdc, 0x1fdc1fff,
2283          0x3e2ffc84, 0xf21fbd50, 0x000043e0, 0x00000018, 0xffff7fff,
2284          0x7fffffff, 0xcfffffff, 0x000c781f, 0x000020bf, 0x00003fff,
2285          0x0fffffff, 0xfffffffc, 0xfffeffff, 0xffff78ff, 0x00ff7fff,
2286          0x04000000, 0xffff0000, 0x07ffffff, 0xffff003f, 0x00f8007f,
2287          0x07fffffe, 0x07fffffe, 0x0000ffff, 0xffff0000, 0xff0fffff,
2288          0x0fffffff, 0x0007ffff, 0x0007ffff, 0xffdfffff, 0xdfffffff,
2289          0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
2290          0xffffff3f, 0xf7fffffd, 0xf7ffffff, 0xffdfffff, 0xffdfffff,
2291          0xffff7fff, 0xffff7fff, 0xfffffdff, 0xfffffdff, 0x00000ff7,
2292          0x0000000f}};
2293    /** Code Point Ranges for M
2294    [768, 879], [1155, 1161], [1425, 1469], [1471, 1471], [1473, 1474],
2295    [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631], [1648, 1648],
2296    [1750, 1756], [1759, 1764], [1767, 1768], [1770, 1773], [1809, 1809],
2297    [1840, 1866], [1958, 1968], [2027, 2035], [2070, 2073], [2075, 2083],
2298    [2085, 2087], [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2307],
2299    [2362, 2364], [2366, 2383], [2385, 2391], [2402, 2403], [2433, 2435],
2300    [2492, 2492], [2494, 2500], [2503, 2504], [2507, 2509], [2519, 2519],
2301    [2530, 2531], [2561, 2563], [2620, 2620], [2622, 2626], [2631, 2632],
2302    [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2691],
2303    [2748, 2748], [2750, 2757], [2759, 2761], [2763, 2765], [2786, 2787],
2304    [2817, 2819], [2876, 2876], [2878, 2884], [2887, 2888], [2891, 2893],
2305    [2902, 2903], [2914, 2915], [2946, 2946], [3006, 3010], [3014, 3016],
2306    [3018, 3021], [3031, 3031], [3072, 3075], [3134, 3140], [3142, 3144],
2307    [3146, 3149], [3157, 3158], [3170, 3171], [3201, 3203], [3260, 3260],
2308    [3262, 3268], [3270, 3272], [3274, 3277], [3285, 3286], [3298, 3299],
2309    [3329, 3331], [3390, 3396], [3398, 3400], [3402, 3405], [3415, 3415],
2310    [3426, 3427], [3458, 3459], [3530, 3530], [3535, 3540], [3542, 3542],
2311    [3544, 3551], [3570, 3571], [3633, 3633], [3636, 3642], [3655, 3662],
2312    [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865],
2313    [3893, 3893], [3895, 3895], [3897, 3897], [3902, 3903], [3953, 3972],
2314    [3974, 3975], [3981, 3991], [3993, 4028], [4038, 4038], [4139, 4158],
2315    [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], [4209, 4212],
2316    [4226, 4237], [4239, 4239], [4250, 4253], [4957, 4959], [5906, 5908],
2317    [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6099], [6109, 6109],
2318    [6155, 6157], [6277, 6278], [6313, 6313], [6432, 6443], [6448, 6459],
2319    [6679, 6683], [6741, 6750], [6752, 6780], [6783, 6783], [6832, 6846],
2320    [6912, 6916], [6964, 6980], [7019, 7027], [7040, 7042], [7073, 7085],
2321    [7142, 7155], [7204, 7223], [7376, 7378], [7380, 7400], [7405, 7405],
2322    [7410, 7412], [7416, 7417], [7616, 7669], [7675, 7679], [8400, 8432],
2323    [11503, 11505], [11647, 11647], [11744, 11775], [12330, 12335],
2324    [12441, 12442], [42607, 42610], [42612, 42621], [42654, 42655],
2325    [42736, 42737], [43010, 43010], [43014, 43014], [43019, 43019],
2326    [43043, 43047], [43136, 43137], [43188, 43205], [43232, 43249],
2327    [43302, 43309], [43335, 43347], [43392, 43395], [43443, 43456],
2328    [43493, 43493], [43561, 43574], [43587, 43587], [43596, 43597],
2329    [43643, 43645], [43696, 43696], [43698, 43700], [43703, 43704],
2330    [43710, 43711], [43713, 43713], [43755, 43759], [43765, 43766],
2331    [44003, 44010], [44012, 44013], [64286, 64286], [65024, 65039],
2332    [65056, 65071], [66045, 66045], [66272, 66272], [66422, 66426],
2333    [68097, 68099], [68101, 68102], [68108, 68111], [68152, 68154],
2334    [68159, 68159], [68325, 68326], [69632, 69634], [69688, 69702],
2335    [69759, 69762], [69808, 69818], [69888, 69890], [69927, 69940],
2336    [70003, 70003], [70016, 70018], [70067, 70080], [70090, 70092],
2337    [70188, 70199], [70206, 70206], [70367, 70378], [70400, 70403],
2338    [70460, 70460], [70462, 70468], [70471, 70472], [70475, 70477],
2339    [70487, 70487], [70498, 70499], [70502, 70508], [70512, 70516],
2340    [70709, 70726], [70832, 70851], [71087, 71093], [71096, 71104],
2341    [71132, 71133], [71216, 71232], [71339, 71351], [71453, 71467],
2342    [72751, 72758], [72760, 72767], [72850, 72871], [72873, 72886],
2343    [92912, 92916], [92976, 92982], [94033, 94078], [94095, 94098],
2344    [113821, 113822], [119141, 119145], [119149, 119154], [119163, 119170],
2345    [119173, 119179], [119210, 119213], [119362, 119364], [121344, 121398],
2346    [121403, 121452], [121461, 121461], [121476, 121476], [121499, 121503],
2347    [121505, 121519], [122880, 122886], [122888, 122904], [122907, 122913],
2348    [122915, 122916], [122918, 122922], [125136, 125142], [125252, 125258],
2349    [917760, 917999]**/
2350    const UnicodeSet m_Set
2351        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
2352          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
2353          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
2354          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 25}, {Empty, 1},
2355          {Mixed, 13}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
2356          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
2357          {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
2358          {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
2359          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
2360          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
2361          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
2362          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
2363          {Full, 1}, {Mixed, 1}, {Empty, 22}, {Mixed, 2}, {Empty, 95},
2364          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1},
2365          {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942},
2366          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
2367          {Empty, 2}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
2368          {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
2369          {Empty, 7}, {Mixed, 1}, {Empty, 632}, {Mixed, 1}, {Empty, 23},
2370          {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
2371          {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2}, {Empty, 5},
2372          {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2},
2373          {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
2374          {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
2375          {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
2376          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 39}, {Mixed, 1},
2377          {Empty, 2}, {Mixed, 2}, {Empty, 625}, {Mixed, 1}, {Empty, 1},
2378          {Mixed, 1}, {Empty, 32}, {Mixed, 3}, {Empty, 615}, {Mixed, 1},
2379          {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 61},
2380          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42},
2381          {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2382          {Empty, 24765}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
2383         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
2384          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
2385          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
2386          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
2387          0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c, 0x0000000e,
2388          0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
2389          0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf,
2390          0x0000000c, 0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c,
2391          0x00000004, 0xc0000000, 0x00803dc7, 0x0000000f, 0xc0000000,
2392          0x00603ddf, 0x0000000c, 0x0000000e, 0xd0000000, 0x00603ddf,
2393          0x0000000c, 0x0000000e, 0xc0000000, 0x00803ddf, 0x0000000c,
2394          0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
2395          0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000,
2396          0xfeffe0df, 0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000,
2397          0x001e3f9d, 0x3c00bffc, 0xe0000000, 0x001c0000, 0x001c0000,
2398          0x000c0000, 0x000c0000, 0xfff00000, 0x200fffff, 0x00003800,
2399          0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000, 0x7fe00000,
2400          0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
2401          0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0,
2402          0xfff70000, 0x031c21ff, 0xf83fffff, 0xffff0000, 0x0001ffff,
2403          0x00038000, 0x80000000, 0x0000fc00, 0x06000000, 0x3ff78000,
2404          0xc0000000, 0x00030000, 0x00000844, 0x000000f8, 0x00000003,
2405          0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0, 0x000fff80,
2406          0x0000000f, 0xfff80000, 0x00000001, 0x00000020, 0x007ffe00,
2407          0x00003008, 0x38000000, 0xc19d0000, 0x00000002, 0x0060f800,
2408          0x000037f8, 0x40000000, 0x0000ffff, 0x0000ffff, 0x20000000,
2409          0x00000001, 0x07c00000, 0x0000f06e, 0x87000000, 0x00000060,
2410          0x00000007, 0xff000000, 0x0000007f, 0x80000000, 0x00000007,
2411          0x07ff0000, 0x00000007, 0x001fff80, 0x00080000, 0x00000007,
2412          0xfff80000, 0x00001c01, 0x40fff000, 0x80000000, 0x000007ff,
2413          0x0000000f, 0xd0000000, 0x0080399f, 0x001f1fcc, 0xffe00000,
2414          0x0000007f, 0xffff0000, 0x0000000f, 0xff3f8000, 0x30000001,
2415          0xffff0000, 0x00000001, 0x00fff800, 0xe0000000, 0x00000fff,
2416          0xff7f8000, 0xfffc0000, 0x007ffeff, 0x001f0000, 0x007f0000,
2417          0xfffe0000, 0x7fffffff, 0x00078000, 0x60000000, 0xf807e3e0,
2418          0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff, 0x00201fff,
2419          0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db, 0x007f0000,
2420          0x000007f0, 0x0000ffff}};
2421    /** Code Point Ranges for N
2422    [48, 57], [178, 179], [185, 185], [188, 190], [1632, 1641],
2423    [1776, 1785], [1984, 1993], [2406, 2415], [2534, 2543], [2548, 2553],
2424    [2662, 2671], [2790, 2799], [2918, 2927], [2930, 2935], [3046, 3058],
2425    [3174, 3183], [3192, 3198], [3302, 3311], [3416, 3422], [3430, 3448],
2426    [3558, 3567], [3664, 3673], [3792, 3801], [3872, 3891], [4160, 4169],
2427    [4240, 4249], [4969, 4988], [5870, 5872], [6112, 6121], [6128, 6137],
2428    [6160, 6169], [6470, 6479], [6608, 6618], [6784, 6793], [6800, 6809],
2429    [6992, 7001], [7088, 7097], [7232, 7241], [7248, 7257], [8304, 8304],
2430    [8308, 8313], [8320, 8329], [8528, 8578], [8581, 8585], [9312, 9371],
2431    [9450, 9471], [10102, 10131], [11517, 11517], [12295, 12295],
2432    [12321, 12329], [12344, 12346], [12690, 12693], [12832, 12841],
2433    [12872, 12879], [12881, 12895], [12928, 12937], [12977, 12991],
2434    [42528, 42537], [42726, 42735], [43056, 43061], [43216, 43225],
2435    [43264, 43273], [43472, 43481], [43504, 43513], [43600, 43609],
2436    [44016, 44025], [65296, 65305], [65799, 65843], [65856, 65912],
2437    [65930, 65931], [66273, 66299], [66336, 66339], [66369, 66369],
2438    [66378, 66378], [66513, 66517], [66720, 66729], [67672, 67679],
2439    [67705, 67711], [67751, 67759], [67835, 67839], [67862, 67867],
2440    [68028, 68029], [68032, 68047], [68050, 68095], [68160, 68167],
2441    [68221, 68222], [68253, 68255], [68331, 68335], [68440, 68447],
2442    [68472, 68479], [68521, 68527], [68858, 68863], [69216, 69246],
2443    [69714, 69743], [69872, 69881], [69942, 69951], [70096, 70105],
2444    [70113, 70132], [70384, 70393], [70736, 70745], [70864, 70873],
2445    [71248, 71257], [71360, 71369], [71472, 71483], [71904, 71922],
2446    [72784, 72812], [74752, 74862], [92768, 92777], [93008, 93017],
2447    [93019, 93025], [119648, 119665], [120782, 120831], [125127, 125135],
2448    [125264, 125273], [127232, 127244]**/
2449    const UnicodeSet n_Set
2450        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 45},
2451          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
2452          {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
2453          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2454          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
2455          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
2456          {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
2457          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2458          {Empty, 22}, {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 7},
2459          {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2460          {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
2461          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 32}, {Mixed, 2},
2462          {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 22},
2463          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 19},
2464          {Mixed, 2}, {Empty, 42}, {Mixed, 1}, {Empty, 24}, {Mixed, 2},
2465          {Empty, 10}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 1},
2466          {Mixed, 2}, {Empty, 923}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
2467          {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
2468          {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
2469          {Empty, 12}, {Mixed, 1}, {Empty, 664}, {Mixed, 1}, {Empty, 15},
2470          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
2471          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
2472          {Mixed, 1}, {Empty, 28}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
2473          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Full, 1},
2474          {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
2475          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
2476          {Empty, 11}, {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 3},
2477          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
2478          {Empty, 7}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3},
2479          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2480          {Empty, 2}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26},
2481          {Mixed, 2}, {Empty, 60}, {Full, 3}, {Mixed, 1}, {Empty, 559},
2482          {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 831}, {Mixed, 1},
2483          {Empty, 34}, {Mixed, 1}, {Full, 1}, {Empty, 134}, {Mixed, 1},
2484          {Empty, 3}, {Mixed, 1}, {Empty, 61}, {Mixed, 1}, {Empty, 30839}},
2485         {0x03ff0000, 0x720c0000, 0x000003ff, 0x03ff0000, 0x000003ff,
2486          0x0000ffc0, 0x03f0ffc0, 0x0000ffc0, 0x0000ffc0, 0x00fcffc0,
2487          0x0007ffc0, 0x7f00ffc0, 0x0000ffc0, 0x7f000000, 0x01ffffc0,
2488          0x0000ffc0, 0x03ff0000, 0x03ff0000, 0x000fffff, 0x000003ff,
2489          0x03ff0000, 0x1ffffe00, 0x0001c000, 0x03ff03ff, 0x03ff0000,
2490          0x0000ffc0, 0x07ff0000, 0x03ff03ff, 0x03ff0000, 0x03ff0000,
2491          0x03ff03ff, 0x03f10000, 0x000003ff, 0xffff0000, 0x000003e7,
2492          0x0fffffff, 0xfffffc00, 0xffc00000, 0x000fffff, 0x20000000,
2493          0x00000080, 0x070003fe, 0x003c0000, 0x000003ff, 0xfffeff00,
2494          0x000003ff, 0xfffe0000, 0x000003ff, 0x0000ffc0, 0x003f0000,
2495          0x03ff0000, 0x000003ff, 0x03ff0000, 0x03ff0000, 0x03ff0000,
2496          0x03ff0000, 0x03ff0000, 0xffffff80, 0x000fffff, 0x01ffffff,
2497          0x00000c00, 0x0ffffffe, 0x0000000f, 0x00000402, 0x003e0000,
2498          0x000003ff, 0xff000000, 0xfe000000, 0x0000ff80, 0xf8000000,
2499          0x0fc00000, 0x30000000, 0xfffcffff, 0x000000ff, 0x60000000,
2500          0xe0000000, 0x0000f800, 0xff000000, 0xff000000, 0x0000fe00,
2501          0xfc000000, 0x7fffffff, 0xfffc0000, 0x0000ffff, 0x03ff0000,
2502          0xffc00000, 0x03ff0000, 0x001ffffe, 0x03ff0000, 0x03ff0000,
2503          0x03ff0000, 0x03ff0000, 0x000003ff, 0x0fff0000, 0x0007ffff,
2504          0xffff0000, 0x00001fff, 0x00007fff, 0x000003ff, 0xfbff0000,
2505          0x00000003, 0x0003ffff, 0xffffc000, 0x0000ff80, 0x03ff0000,
2506          0x00001fff}};
2507    /** Code Point Ranges for P
2508    [33, 35], [37, 42], [44, 47], [58, 59], [63, 64], [91, 93], [95, 95],
2509    [123, 123], [125, 125], [161, 161], [167, 167], [171, 171], [182, 183],
2510    [187, 187], [191, 191], [894, 894], [903, 903], [1370, 1375],
2511    [1417, 1418], [1470, 1470], [1472, 1472], [1475, 1475], [1478, 1478],
2512    [1523, 1524], [1545, 1546], [1548, 1549], [1563, 1563], [1566, 1567],
2513    [1642, 1645], [1748, 1748], [1792, 1805], [2039, 2041], [2096, 2110],
2514    [2142, 2142], [2404, 2405], [2416, 2416], [2800, 2800], [3572, 3572],
2515    [3663, 3663], [3674, 3675], [3844, 3858], [3860, 3860], [3898, 3901],
2516    [3973, 3973], [4048, 4052], [4057, 4058], [4170, 4175], [4347, 4347],
2517    [4960, 4968], [5120, 5120], [5741, 5742], [5787, 5788], [5867, 5869],
2518    [5941, 5942], [6100, 6102], [6104, 6106], [6144, 6154], [6468, 6469],
2519    [6686, 6687], [6816, 6822], [6824, 6829], [7002, 7008], [7164, 7167],
2520    [7227, 7231], [7294, 7295], [7360, 7367], [7379, 7379], [8208, 8231],
2521    [8240, 8259], [8261, 8273], [8275, 8286], [8317, 8318], [8333, 8334],
2522    [8968, 8971], [9001, 9002], [10088, 10101], [10181, 10182],
2523    [10214, 10223], [10627, 10648], [10712, 10715], [10748, 10749],
2524    [11513, 11516], [11518, 11519], [11632, 11632], [11776, 11822],
2525    [11824, 11844], [12289, 12291], [12296, 12305], [12308, 12319],
2526    [12336, 12336], [12349, 12349], [12448, 12448], [12539, 12539],
2527    [42238, 42239], [42509, 42511], [42611, 42611], [42622, 42622],
2528    [42738, 42743], [43124, 43127], [43214, 43215], [43256, 43258],
2529    [43260, 43260], [43310, 43311], [43359, 43359], [43457, 43469],
2530    [43486, 43487], [43612, 43615], [43742, 43743], [43760, 43761],
2531    [44011, 44011], [64830, 64831], [65040, 65049], [65072, 65106],
2532    [65108, 65121], [65123, 65123], [65128, 65128], [65130, 65131],
2533    [65281, 65283], [65285, 65290], [65292, 65295], [65306, 65307],
2534    [65311, 65312], [65339, 65341], [65343, 65343], [65371, 65371],
2535    [65373, 65373], [65375, 65381], [65792, 65794], [66463, 66463],
2536    [66512, 66512], [66927, 66927], [67671, 67671], [67871, 67871],
2537    [67903, 67903], [68176, 68184], [68223, 68223], [68336, 68342],
2538    [68409, 68415], [68505, 68508], [69703, 69709], [69819, 69820],
2539    [69822, 69825], [69952, 69955], [70004, 70005], [70085, 70089],
2540    [70093, 70093], [70107, 70107], [70109, 70111], [70200, 70205],
2541    [70313, 70313], [70731, 70735], [70747, 70747], [70749, 70749],
2542    [70854, 70854], [71105, 71127], [71233, 71235], [71264, 71276],
2543    [71484, 71486], [72769, 72773], [72816, 72817], [74864, 74868],
2544    [92782, 92783], [92917, 92917], [92983, 92987], [92996, 92996],
2545    [113823, 113823], [121479, 121483], [125278, 125279]**/
2546    const UnicodeSet p_Set
2547        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 21},
2548          {Mixed, 2}, {Empty, 13}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
2549          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
2550          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
2551          {Empty, 8}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 23},
2552          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
2553          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
2554          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
2555          {Empty, 4}, {Mixed, 1}, {Empty, 18}, {Mixed, 2}, {Empty, 2},
2556          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
2557          {Empty, 1}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 5},
2558          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
2559          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
2560          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 25}, {Mixed, 5},
2561          {Empty, 19}, {Mixed, 2}, {Empty, 33}, {Mixed, 1}, {Empty, 2},
2562          {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
2563          {Empty, 23}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
2564          {Full, 1}, {Mixed, 2}, {Empty, 13}, {Mixed, 2}, {Empty, 3},
2565          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 927}, {Mixed, 1},
2566          {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3},
2567          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
2568          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
2569          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
2570          {Empty, 649}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 4},
2571          {Mixed, 4}, {Empty, 12}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
2572          {Empty, 1}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 22},
2573          {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 8}, {Mixed, 2},
2574          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
2575          {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
2576          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
2577          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
2578          {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
2579          {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 2},
2580          {Empty, 63}, {Mixed, 1}, {Empty, 559}, {Mixed, 1}, {Empty, 3},
2581          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 649}, {Mixed, 1},
2582          {Empty, 239}, {Mixed, 1}, {Empty, 117}, {Mixed, 1},
2583          {Empty, 30901}},
2584         {0x8c00f7ee, 0xb8000001, 0x28000000, 0x88c00882, 0x40000000,
2585          0x00000080, 0xfc000000, 0x00000600, 0x40000000, 0x00000049,
2586          0x00180000, 0xc8003600, 0x00003c00, 0x00100000, 0x00003fff,
2587          0x03800000, 0x7fff0000, 0x40000000, 0x00010030, 0x00010000,
2588          0x00100000, 0x0c008000, 0x0017fff0, 0x3c000000, 0x00000020,
2589          0x061f0000, 0x0000fc00, 0x08000000, 0x000001ff, 0x00000001,
2590          0x00006000, 0x18000000, 0x00003800, 0x00600000, 0x07700000,
2591          0x000007ff, 0x00000030, 0xc0000000, 0x00003f7f, 0xfc000000,
2592          0x00000001, 0xf0000000, 0xf8000000, 0xc0000000, 0x000800ff,
2593          0xffff0000, 0xffff00ff, 0x7ffbffef, 0x60000000, 0x00006000,
2594          0x00000f00, 0x00000600, 0x003fff00, 0x00000060, 0x0000ffc0,
2595          0x01fffff8, 0x0f000000, 0x30000000, 0xde000000, 0x00010000,
2596          0xffff7fff, 0x0000001f, 0xfff3ff0e, 0x20010000, 0x00000001,
2597          0x08000000, 0xc0000000, 0x0000e000, 0x40080000, 0x00fc0000,
2598          0x00f00000, 0x0000c000, 0x17000000, 0x0000c000, 0x80000000,
2599          0xc0003ffe, 0xf0000000, 0xc0000000, 0x00030000, 0x00000800,
2600          0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ffff, 0x00000d0b,
2601          0x8c00f7ee, 0xb8000001, 0xa8000000, 0x0000003f, 0x00000007,
2602          0x80000000, 0x00010000, 0x00008000, 0x00800000, 0x80000000,
2603          0x80000000, 0x01ff0000, 0x80000000, 0x007f0000, 0xfe000000,
2604          0x1e000000, 0x00003f80, 0xd8000000, 0x00000003, 0x0000000f,
2605          0x00300000, 0xe80023e0, 0x3f000000, 0x00000200, 0x2800f800,
2606          0x00000040, 0x00fffffe, 0x0000000e, 0x00001fff, 0x70000000,
2607          0x0000003e, 0x00030000, 0x001f0000, 0x0000c000, 0x00200000,
2608          0x0f800000, 0x00000010, 0x80000000, 0x00000f80, 0xc0000000}};
2609    /** Code Point Ranges for S
2610    [36, 36], [43, 43], [60, 62], [94, 94], [96, 96], [124, 124],
2611    [126, 126], [162, 166], [168, 169], [172, 172], [174, 177], [180, 180],
2612    [184, 184], [215, 215], [247, 247], [706, 709], [722, 735], [741, 747],
2613    [749, 749], [751, 767], [885, 885], [900, 901], [1014, 1014],
2614    [1154, 1154], [1421, 1423], [1542, 1544], [1547, 1547], [1550, 1551],
2615    [1758, 1758], [1769, 1769], [1789, 1790], [2038, 2038], [2546, 2547],
2616    [2554, 2555], [2801, 2801], [2928, 2928], [3059, 3066], [3199, 3199],
2617    [3407, 3407], [3449, 3449], [3647, 3647], [3841, 3843], [3859, 3859],
2618    [3861, 3863], [3866, 3871], [3892, 3892], [3894, 3894], [3896, 3896],
2619    [4030, 4037], [4039, 4044], [4046, 4047], [4053, 4056], [4254, 4255],
2620    [5008, 5017], [6107, 6107], [6464, 6464], [6622, 6655], [7009, 7018],
2621    [7028, 7036], [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159],
2622    [8173, 8175], [8189, 8190], [8260, 8260], [8274, 8274], [8314, 8316],
2623    [8330, 8332], [8352, 8382], [8448, 8449], [8451, 8454], [8456, 8457],
2624    [8468, 8468], [8470, 8472], [8478, 8483], [8485, 8485], [8487, 8487],
2625    [8489, 8489], [8494, 8494], [8506, 8507], [8512, 8516], [8522, 8525],
2626    [8527, 8527], [8586, 8587], [8592, 8967], [8972, 9000], [9003, 9214],
2627    [9216, 9254], [9280, 9290], [9372, 9449], [9472, 10087], [10132, 10180],
2628    [10183, 10213], [10224, 10626], [10649, 10711], [10716, 10747],
2629    [10750, 11123], [11126, 11157], [11160, 11193], [11197, 11208],
2630    [11210, 11217], [11244, 11247], [11493, 11498], [11904, 11929],
2631    [11931, 12019], [12032, 12245], [12272, 12283], [12292, 12292],
2632    [12306, 12307], [12320, 12320], [12342, 12343], [12350, 12351],
2633    [12443, 12444], [12688, 12689], [12694, 12703], [12736, 12771],
2634    [12800, 12830], [12842, 12871], [12880, 12880], [12896, 12927],
2635    [12938, 12976], [12992, 13054], [13056, 13311], [19904, 19967],
2636    [42128, 42182], [42752, 42774], [42784, 42785], [42889, 42890],
2637    [43048, 43051], [43062, 43065], [43639, 43641], [43867, 43867],
2638    [64297, 64297], [64434, 64449], [65020, 65021], [65122, 65122],
2639    [65124, 65126], [65129, 65129], [65284, 65284], [65291, 65291],
2640    [65308, 65310], [65342, 65342], [65344, 65344], [65372, 65372],
2641    [65374, 65374], [65504, 65510], [65512, 65518], [65532, 65533],
2642    [65847, 65855], [65913, 65929], [65932, 65934], [65936, 65947],
2643    [65952, 65952], [66000, 66044], [67703, 67704], [68296, 68296],
2644    [71487, 71487], [92988, 92991], [92997, 92997], [113820, 113820],
2645    [118784, 119029], [119040, 119078], [119081, 119140], [119146, 119148],
2646    [119171, 119172], [119180, 119209], [119214, 119272], [119296, 119361],
2647    [119365, 119365], [119552, 119638], [120513, 120513], [120539, 120539],
2648    [120571, 120571], [120597, 120597], [120629, 120629], [120655, 120655],
2649    [120687, 120687], [120713, 120713], [120745, 120745], [120771, 120771],
2650    [120832, 121343], [121399, 121402], [121453, 121460], [121462, 121475],
2651    [121477, 121478], [126704, 126705], [126976, 127019], [127024, 127123],
2652    [127136, 127150], [127153, 127167], [127169, 127183], [127185, 127221],
2653    [127248, 127278], [127280, 127339], [127344, 127404], [127462, 127490],
2654    [127504, 127547], [127552, 127560], [127568, 127569], [127744, 128722],
2655    [128736, 128748], [128752, 128758], [128768, 128883], [128896, 128980],
2656    [129024, 129035], [129040, 129095], [129104, 129113], [129120, 129159],
2657    [129168, 129197], [129296, 129310], [129312, 129319], [129328, 129328],
2658    [129331, 129342], [129344, 129355], [129360, 129374], [129408, 129425],
2659    [129472, 129472]**/
2660    const UnicodeSet s_Set
2661        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 14},
2662          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
2663          {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
2664          {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
2665          {Empty, 15}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
2666          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2667          {Empty, 6}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 6},
2668          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
2669          {Empty, 23}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 11},
2670          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Empty, 11},
2671          {Mixed, 1}, {Empty, 33}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
2672          {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Full, 11},
2673          {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
2674          {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 19},
2675          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 12}, {Mixed, 1},
2676          {Full, 1}, {Mixed, 2}, {Full, 11}, {Mixed, 5}, {Empty, 7},
2677          {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
2678          {Full, 6}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 7},
2679          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1},
2680          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 206},
2681          {Full, 2}, {Empty, 692}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
2682          {Empty, 17}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
2683          {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
2684          {Empty, 638}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 16},
2685          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 3},
2686          {Empty, 4}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1},
2687          {Mixed, 5}, {Empty, 51}, {Mixed, 1}, {Empty, 18}, {Mixed, 1},
2688          {Empty, 98}, {Mixed, 1}, {Empty, 671}, {Mixed, 2}, {Empty, 649},
2689          {Mixed, 1}, {Empty, 155}, {Full, 7}, {Mixed, 1}, {Full, 1},
2690          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
2691          {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2}, {Mixed, 1},
2692          {Empty, 27}, {Mixed, 9}, {Empty, 1}, {Full, 16}, {Empty, 1},
2693          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 162}, {Mixed, 1},
2694          {Empty, 8}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 6},
2695          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
2696          {Mixed, 4}, {Empty, 5}, {Full, 30}, {Mixed, 2}, {Full, 3},
2697          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2698          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 2},
2699          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2700          {Empty, 30769}},
2701         {0x70000810, 0x40000000, 0x50000001, 0x0113d37c, 0x00800000,
2702          0x00800000, 0xfffc003c, 0xffffafe0, 0x00200000, 0x00000030,
2703          0x00400000, 0x00000004, 0x0000e000, 0x0000c9c0, 0x40000000,
2704          0x60000200, 0x00400000, 0x0c0c0000, 0x00020000, 0x00010000,
2705          0x07f80000, 0x80000000, 0x00008000, 0x02000000, 0x80000000,
2706          0xfce8000e, 0x01500000, 0xc0000000, 0x01e0dfbf, 0xc0000000,
2707          0x03ff0000, 0x08000000, 0x00000001, 0xc0000000, 0x1ff007fe,
2708          0xa0000000, 0xe000e003, 0x6000e000, 0x00040010, 0x1c000000,
2709          0x00001c00, 0x7fffffff, 0xc1d0037b, 0x0c0042af, 0x0000bc1f,
2710          0xffff0c00, 0xfffff0ff, 0xfffff9ff, 0x7fffffff, 0x0000007f,
2711          0x000007ff, 0xf0000000, 0x000003ff, 0x000000ff, 0xfff00000,
2712          0xffffff9f, 0xffff003f, 0xfe000007, 0xf0ffffff, 0xcfffffff,
2713          0xffcfffff, 0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000,
2714          0x000007e0, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
2715          0x000c0010, 0xc0c00001, 0x18000000, 0xffc30000, 0x0000000f,
2716          0x7fffffff, 0xfffffc00, 0x000100ff, 0xfffffc00, 0x0001ffff,
2717          0x7fffffff, 0xffff0000, 0x0000007f, 0x007fffff, 0x00000003,
2718          0x00000600, 0x03c00f00, 0x03800000, 0x08000000, 0x00000200,
2719          0xfffc0000, 0x00000003, 0x30000000, 0x00000274, 0x70000810,
2720          0x40000000, 0x50000001, 0x30007f7f, 0xff800000, 0xfe000000,
2721          0x0fff73ff, 0x00000001, 0xffff0000, 0x1fffffff, 0x01800000,
2722          0x00000100, 0x80000000, 0xf0000000, 0x00000020, 0x10000000,
2723          0x003fffff, 0xfffffe7f, 0x00001c1f, 0xfffff018, 0xffffc3ff,
2724          0x000001ff, 0x00000023, 0x007fffff, 0x08000002, 0x08000000,
2725          0x00200000, 0x00200000, 0x00008000, 0x00008000, 0x00000200,
2726          0x00000200, 0x00000008, 0x07800000, 0xffdfe000, 0x0000006f,
2727          0x00030000, 0xffff0fff, 0x000fffff, 0xfffe7fff, 0xfffefffe,
2728          0x003fffff, 0xffff0000, 0xffff7fff, 0xffff0fff, 0x00001fff,
2729          0xffffffc0, 0xffff0007, 0x0fffffff, 0x000301ff, 0x0007ffff,
2730          0x007f1fff, 0x000fffff, 0x001fffff, 0xffff0fff, 0x03ff00ff,
2731          0xffff00ff, 0x00003fff, 0x7fff0000, 0x7ff900ff, 0x7fff0fff,
2732          0x0003ffff, 0x00000001}};
2733    /** Code Point Ranges for Z
2734    [32, 32], [160, 160], [5760, 5760], [8192, 8202], [8232, 8233],
2735    [8239, 8239], [8287, 8287], [12288, 12288]**/
2736    const UnicodeSet z_Set
2737        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 174},
2738          {Mixed, 1}, {Empty, 75}, {Mixed, 3}, {Empty, 125}, {Mixed, 1},
2739          {Empty, 34431}},
2740         {0x00000001, 0x00000001, 0x00000001, 0x000007ff, 0x00008300,
2741          0x80000000, 0x00000001}};
2742    static EnumeratedPropertyObject property_object
2743        {gc,
2744         GC_ns::independent_prop_values,
2745         GC_ns::enum_names,
2746         GC_ns::value_names,
2747         GC_ns::aliases_only_map,
2748         {&cn_Set, &lu_Set, &ll_Set, &lt_Set, &lm_Set, &lo_Set, &mn_Set,
2749        &me_Set, &mc_Set, &nd_Set, &nl_Set, &no_Set, &zs_Set, &zl_Set,
2750        &zp_Set, &cc_Set, &cf_Set, &co_Set, &cs_Set, &pd_Set, &ps_Set,
2751        &pe_Set, &pc_Set, &po_Set, &sm_Set, &sc_Set, &sk_Set, &so_Set,
2752        &pi_Set, &pf_Set, &c_Set, &l_Set, &lc_Set, &m_Set, &n_Set, &p_Set,
2753        &s_Set, &z_Set
2754         }};
2755    }
2756}
2757
2758#endif
Note: See TracBrowser for help on using the repository browser.