source: icGREP/icgrep-devel/icgrep/UCD/ScriptExtensions.h @ 5154

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

Fix for -gs mode from Xiangyu

File size: 80.6 KB
Line 
1#ifndef SCRIPTEXTENSIONS_H
2#define SCRIPTEXTENSIONS_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 SCX_ns {
17        /** Code Point Ranges for Zzzz
18        [888, 889], [896, 899], [907, 907], [909, 909], [930, 930],
19        [1328, 1328], [1367, 1368], [1376, 1376], [1416, 1416],
20        [1419, 1420], [1424, 1424], [1480, 1487], [1515, 1519],
21        [1525, 1535], [1565, 1565], [1806, 1806], [1867, 1868],
22        [1970, 1983], [2043, 2047], [2094, 2095], [2111, 2111],
23        [2140, 2141], [2143, 2207], [2229, 2229], [2238, 2259],
24        [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473],
25        [2481, 2481], [2483, 2485], [2490, 2491], [2501, 2502],
26        [2505, 2506], [2511, 2518], [2520, 2523], [2526, 2526],
27        [2532, 2533], [2556, 2560], [2564, 2564], [2571, 2574],
28        [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612],
29        [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630],
30        [2633, 2634], [2638, 2640], [2642, 2648], [2653, 2653],
31        [2655, 2661], [2678, 2688], [2692, 2692], [2702, 2702],
32        [2706, 2706], [2729, 2729], [2737, 2737], [2740, 2740],
33        [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767],
34        [2769, 2783], [2788, 2789], [2802, 2808], [2810, 2816],
35        [2820, 2820], [2829, 2830], [2833, 2834], [2857, 2857],
36        [2865, 2865], [2868, 2868], [2874, 2875], [2885, 2886],
37        [2889, 2890], [2894, 2901], [2904, 2907], [2910, 2910],
38        [2916, 2917], [2936, 2945], [2948, 2948], [2955, 2957],
39        [2961, 2961], [2966, 2968], [2971, 2971], [2973, 2973],
40        [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3005],
41        [3011, 3013], [3017, 3017], [3022, 3023], [3025, 3030],
42        [3032, 3045], [3067, 3071], [3076, 3076], [3085, 3085],
43        [3089, 3089], [3113, 3113], [3130, 3132], [3141, 3141],
44        [3145, 3145], [3150, 3156], [3159, 3159], [3163, 3167],
45        [3172, 3173], [3184, 3191], [3204, 3204], [3213, 3213],
46        [3217, 3217], [3241, 3241], [3252, 3252], [3258, 3259],
47        [3269, 3269], [3273, 3273], [3278, 3284], [3287, 3293],
48        [3295, 3295], [3300, 3301], [3312, 3312], [3315, 3328],
49        [3332, 3332], [3341, 3341], [3345, 3345], [3387, 3388],
50        [3397, 3397], [3401, 3401], [3408, 3411], [3428, 3429],
51        [3456, 3457], [3460, 3460], [3479, 3481], [3506, 3506],
52        [3516, 3516], [3518, 3519], [3527, 3529], [3531, 3534],
53        [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569],
54        [3573, 3584], [3643, 3646], [3676, 3712], [3715, 3715],
55        [3717, 3718], [3721, 3721], [3723, 3724], [3726, 3731],
56        [3736, 3736], [3744, 3744], [3748, 3748], [3750, 3750],
57        [3752, 3753], [3756, 3756], [3770, 3770], [3774, 3775],
58        [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803],
59        [3808, 3839], [3912, 3912], [3949, 3952], [3992, 3992],
60        [4029, 4029], [4045, 4045], [4059, 4095], [4294, 4294],
61        [4296, 4300], [4302, 4303], [4681, 4681], [4686, 4687],
62        [4695, 4695], [4697, 4697], [4702, 4703], [4745, 4745],
63        [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799],
64        [4801, 4801], [4806, 4807], [4823, 4823], [4881, 4881],
65        [4886, 4887], [4955, 4956], [4989, 4991], [5018, 5023],
66        [5110, 5111], [5118, 5119], [5789, 5791], [5881, 5887],
67        [5901, 5901], [5909, 5919], [5943, 5951], [5972, 5983],
68        [5997, 5997], [6001, 6001], [6004, 6015], [6110, 6111],
69        [6122, 6127], [6138, 6143], [6159, 6159], [6170, 6175],
70        [6264, 6271], [6315, 6319], [6390, 6399], [6431, 6431],
71        [6444, 6447], [6460, 6463], [6465, 6467], [6510, 6511],
72        [6517, 6527], [6572, 6575], [6602, 6607], [6619, 6621],
73        [6684, 6685], [6751, 6751], [6781, 6782], [6794, 6799],
74        [6810, 6815], [6830, 6831], [6847, 6911], [6988, 6991],
75        [7037, 7039], [7156, 7163], [7224, 7226], [7242, 7244],
76        [7305, 7359], [7368, 7375], [7415, 7415], [7418, 7423],
77        [7670, 7674], [7958, 7959], [7966, 7967], [8006, 8007],
78        [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028],
79        [8030, 8030], [8062, 8063], [8117, 8117], [8133, 8133],
80        [8148, 8149], [8156, 8156], [8176, 8177], [8181, 8181],
81        [8191, 8191], [8293, 8293], [8306, 8307], [8335, 8335],
82        [8349, 8351], [8383, 8399], [8433, 8447], [8588, 8591],
83        [9215, 9215], [9255, 9279], [9291, 9311], [11124, 11125],
84        [11158, 11159], [11194, 11196], [11209, 11209], [11218, 11243],
85        [11248, 11263], [11311, 11311], [11359, 11359], [11508, 11512],
86        [11558, 11558], [11560, 11564], [11566, 11567], [11624, 11630],
87        [11633, 11646], [11671, 11679], [11687, 11687], [11695, 11695],
88        [11703, 11703], [11711, 11711], [11719, 11719], [11727, 11727],
89        [11735, 11735], [11743, 11743], [11845, 11903], [11930, 11930],
90        [12020, 12031], [12246, 12271], [12284, 12287], [12352, 12352],
91        [12439, 12440], [12544, 12548], [12590, 12592], [12687, 12687],
92        [12731, 12735], [12772, 12783], [12831, 12831], [13055, 13055],
93        [19894, 19903], [40918, 40959], [42125, 42127], [42183, 42191],
94        [42540, 42559], [42744, 42751], [42927, 42927], [42936, 42998],
95        [43052, 43055], [43066, 43071], [43128, 43135], [43206, 43213],
96        [43226, 43231], [43262, 43263], [43348, 43358], [43389, 43391],
97        [43470, 43470], [43482, 43485], [43519, 43519], [43575, 43583],
98        [43598, 43599], [43610, 43611], [43715, 43738], [43767, 43776],
99        [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
100        [43823, 43823], [43878, 43887], [44014, 44015], [44026, 44031],
101        [55204, 55215], [55239, 55242], [55292, 63743], [64110, 64111],
102        [64218, 64255], [64263, 64274], [64280, 64284], [64311, 64311],
103        [64317, 64317], [64319, 64319], [64322, 64322], [64325, 64325],
104        [64450, 64466], [64832, 64847], [64912, 64913], [64968, 65007],
105        [65022, 65023], [65050, 65055], [65107, 65107], [65127, 65127],
106        [65132, 65135], [65141, 65141], [65277, 65278], [65280, 65280],
107        [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497],
108        [65501, 65503], [65511, 65511], [65519, 65528], [65534, 65535],
109        [65548, 65548], [65575, 65575], [65595, 65595], [65598, 65598],
110        [65614, 65615], [65630, 65663], [65787, 65791], [65795, 65798],
111        [65844, 65846], [65935, 65935], [65948, 65951], [65953, 65999],
112        [66046, 66175], [66205, 66207], [66257, 66271], [66300, 66303],
113        [66340, 66351], [66379, 66383], [66427, 66431], [66462, 66462],
114        [66500, 66503], [66518, 66559], [66718, 66719], [66730, 66735],
115        [66772, 66775], [66812, 66815], [66856, 66863], [66916, 66926],
116        [66928, 67071], [67383, 67391], [67414, 67423], [67432, 67583],
117        [67590, 67591], [67593, 67593], [67638, 67638], [67641, 67643],
118        [67645, 67646], [67670, 67670], [67743, 67750], [67760, 67807],
119        [67827, 67827], [67830, 67834], [67868, 67870], [67898, 67902],
120        [67904, 67967], [68024, 68027], [68048, 68049], [68100, 68100],
121        [68103, 68107], [68116, 68116], [68120, 68120], [68148, 68151],
122        [68155, 68158], [68168, 68175], [68185, 68191], [68256, 68287],
123        [68327, 68330], [68343, 68351], [68406, 68408], [68438, 68439],
124        [68467, 68471], [68498, 68504], [68509, 68520], [68528, 68607],
125        [68681, 68735], [68787, 68799], [68851, 68857], [68864, 69215],
126        [69247, 69631], [69710, 69713], [69744, 69758], [69826, 69839],
127        [69865, 69871], [69882, 69887], [69941, 69941], [69956, 69967],
128        [70007, 70015], [70094, 70095], [70112, 70112], [70133, 70143],
129        [70162, 70162], [70207, 70271], [70279, 70279], [70281, 70281],
130        [70286, 70286], [70302, 70302], [70314, 70319], [70379, 70383],
131        [70394, 70399], [70404, 70404], [70413, 70414], [70417, 70418],
132        [70441, 70441], [70449, 70449], [70452, 70452], [70458, 70459],
133        [70469, 70470], [70473, 70474], [70478, 70479], [70481, 70486],
134        [70488, 70492], [70500, 70501], [70509, 70511], [70517, 70655],
135        [70746, 70746], [70748, 70748], [70750, 70783], [70856, 70863],
136        [70874, 71039], [71094, 71095], [71134, 71167], [71237, 71247],
137        [71258, 71263], [71277, 71295], [71352, 71359], [71370, 71423],
138        [71450, 71452], [71468, 71471], [71488, 71839], [71923, 71934],
139        [71936, 72383], [72441, 72703], [72713, 72713], [72759, 72759],
140        [72774, 72783], [72813, 72815], [72848, 72849], [72872, 72872],
141        [72887, 73727], [74650, 74751], [74863, 74863], [74869, 74879],
142        [75076, 77823], [78895, 82943], [83527, 92159], [92729, 92735],
143        [92767, 92767], [92778, 92781], [92784, 92879], [92910, 92911],
144        [92918, 92927], [92998, 93007], [93018, 93018], [93026, 93026],
145        [93048, 93052], [93072, 93951], [94021, 94031], [94079, 94094],
146        [94112, 94175], [94177, 94207], [100333, 100351], [101107, 110591],
147        [110594, 113663], [113771, 113775], [113789, 113791],
148        [113801, 113807], [113818, 113819], [113828, 118783],
149        [119030, 119039], [119079, 119080], [119273, 119295],
150        [119366, 119551], [119639, 119647], [119666, 119807],
151        [119893, 119893], [119965, 119965], [119968, 119969],
152        [119971, 119972], [119975, 119976], [119981, 119981],
153        [119994, 119994], [119996, 119996], [120004, 120004],
154        [120070, 120070], [120075, 120076], [120085, 120085],
155        [120093, 120093], [120122, 120122], [120127, 120127],
156        [120133, 120133], [120135, 120137], [120145, 120145],
157        [120486, 120487], [120780, 120781], [121484, 121498],
158        [121504, 121504], [121520, 122879], [122887, 122887],
159        [122905, 122906], [122914, 122914], [122917, 122917],
160        [122923, 124927], [125125, 125126], [125143, 125183],
161        [125259, 125263], [125274, 125277], [125280, 126463],
162        [126468, 126468], [126496, 126496], [126499, 126499],
163        [126501, 126502], [126504, 126504], [126515, 126515],
164        [126520, 126520], [126522, 126522], [126524, 126529],
165        [126531, 126534], [126536, 126536], [126538, 126538],
166        [126540, 126540], [126544, 126544], [126547, 126547],
167        [126549, 126550], [126552, 126552], [126554, 126554],
168        [126556, 126556], [126558, 126558], [126560, 126560],
169        [126563, 126563], [126565, 126566], [126571, 126571],
170        [126579, 126579], [126584, 126584], [126589, 126589],
171        [126591, 126591], [126602, 126602], [126620, 126624],
172        [126628, 126628], [126634, 126634], [126652, 126703],
173        [126706, 126975], [127020, 127023], [127124, 127135],
174        [127151, 127152], [127168, 127168], [127184, 127184],
175        [127222, 127231], [127245, 127247], [127279, 127279],
176        [127340, 127343], [127405, 127461], [127491, 127503],
177        [127548, 127551], [127561, 127567], [127570, 127743],
178        [128723, 128735], [128749, 128751], [128759, 128767],
179        [128884, 128895], [128981, 129023], [129036, 129039],
180        [129096, 129103], [129114, 129119], [129160, 129167],
181        [129198, 129295], [129311, 129311], [129320, 129327],
182        [129329, 129330], [129343, 129343], [129356, 129359],
183        [129375, 129407], [129426, 129471], [129473, 131071],
184        [173783, 173823], [177973, 177983], [178206, 178207],
185        [183970, 194559], [195102, 917504], [917506, 917535],
186        [917632, 917759], [918000, 1114111]**/
187        const UnicodeSet zzzz_Ext
188            {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
189              {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
190              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
191              {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
192              {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
193              {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
194              {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
195              {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
196              {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
197              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
198              {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
199              {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
200              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
201              {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
202              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
203              {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
204              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
205              {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
206              {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
207              {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
208              {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
209              {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
210              {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
211              {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
212              {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
213              {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
214              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
215              {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
216              {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
217              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
218              {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
219              {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
220              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
221              {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4},
222              {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
223              {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
224              {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1},
225              {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
226              {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4},
227              {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
228              {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
229              {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
230              {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1},
231              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11},
232              {Mixed, 1}, {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
233              {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
234              {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
235              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
236              {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
237              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
238              {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1},
239              {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28},
240              {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
241              {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126},
242              {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3},
243              {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27},
244              {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191},
245              {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1},
246              {Full, 95}, {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7},
247              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
248              {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
249              {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
250              {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
251              {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2},
252              {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
253              {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
254              {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
255              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
256              {Mixed, 4}, {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3},
257              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
258              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
259              {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
260              {Full, 49}, {Empty, 1334}, {Mixed, 1}, {Full, 1},
261              {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
262              {Empty, 180}, {Mixed, 1}, {Full, 330}, {Empty, 16},
263              {Mixed, 1}, {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4},
264              {Empty, 7}, {Mixed, 1}, {Full, 6128}},
265             {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
266              0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
267              0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
268              0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
269              0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
270              0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
271              0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
272              0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
273              0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
274              0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
275              0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
276              0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
277              0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
278              0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
279              0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
280              0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
281              0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
282              0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
283              0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
284              0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
285              0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
286              0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
287              0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
288              0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
289              0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
290              0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
291              0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
292              0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
293              0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
294              0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
295              0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
296              0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
297              0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
298              0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
299              0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
300              0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
301              0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0xffffff00,
302              0xc000ffff, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
303              0x00000001, 0x80000000, 0xe3030303, 0xc1ff8080, 0x00001000,
304              0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
305              0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
306              0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
307              0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
308              0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
309              0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
310              0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
311              0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
312              0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
313              0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
314              0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
315              0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
316              0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
317              0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
318              0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
319              0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
320              0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
321              0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
322              0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
323              0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
324              0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
325              0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
326              0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
327              0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
328              0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
329              0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
330              0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
331              0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
332              0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
333              0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
334              0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
335              0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
336              0xfffc0000, 0xfffffffe, 0xff800000, 0xffe00000, 0xc0000000,
337              0xfffffffc, 0xc0000000, 0xfffffffd, 0xffff0000}};
338        /** Code Point Ranges for Zyyy
339        [0, 64], [91, 96], [123, 169], [171, 185], [187, 191], [215, 215],
340        [247, 247], [697, 735], [741, 745], [748, 767], [884, 884],
341        [894, 894], [901, 901], [903, 903], [1417, 1417], [1541, 1541],
342        [1548, 1548], [1563, 1564], [1567, 1567], [1600, 1600],
343        [1757, 1757], [2274, 2274], [2404, 2405], [3647, 3647],
344        [4053, 4056], [4347, 4347], [5867, 5869], [5941, 5942],
345        [6146, 6147], [6149, 6149], [7379, 7379], [7393, 7393],
346        [7401, 7404], [7406, 7411], [7413, 7414], [8192, 8203],
347        [8206, 8292], [8294, 8304], [8308, 8318], [8320, 8334],
348        [8352, 8382], [8448, 8485], [8487, 8489], [8492, 8497],
349        [8499, 8525], [8527, 8543], [8585, 8587], [8592, 9214],
350        [9216, 9254], [9280, 9290], [9312, 10239], [10496, 11123],
351        [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
352        [11244, 11247], [11776, 11844], [12272, 12283], [12288, 12292],
353        [12294, 12294], [12296, 12320], [12336, 12343], [12348, 12351],
354        [12443, 12444], [12448, 12448], [12539, 12540], [12688, 12703],
355        [12736, 12771], [12832, 12895], [12927, 13007], [13144, 13311],
356        [19904, 19967], [42752, 42785], [42888, 42890], [43056, 43065],
357        [43310, 43310], [43471, 43471], [43867, 43867], [64830, 64831],
358        [65040, 65049], [65072, 65106], [65108, 65126], [65128, 65131],
359        [65279, 65279], [65281, 65312], [65339, 65344], [65371, 65381],
360        [65392, 65392], [65438, 65439], [65504, 65510], [65512, 65518],
361        [65529, 65533], [65792, 65794], [65799, 65843], [65847, 65855],
362        [65936, 65947], [66000, 66044], [66273, 66299], [113824, 113827],
363        [118784, 119029], [119040, 119078], [119081, 119142],
364        [119146, 119162], [119171, 119172], [119180, 119209],
365        [119214, 119272], [119552, 119638], [119648, 119665],
366        [119808, 119892], [119894, 119964], [119966, 119967],
367        [119970, 119970], [119973, 119974], [119977, 119980],
368        [119982, 119993], [119995, 119995], [119997, 120003],
369        [120005, 120069], [120071, 120074], [120077, 120084],
370        [120086, 120092], [120094, 120121], [120123, 120126],
371        [120128, 120132], [120134, 120134], [120138, 120144],
372        [120146, 120485], [120488, 120779], [120782, 120831],
373        [126976, 127019], [127024, 127123], [127136, 127150],
374        [127153, 127167], [127169, 127183], [127185, 127221],
375        [127232, 127244], [127248, 127278], [127280, 127339],
376        [127344, 127404], [127462, 127487], [127489, 127490],
377        [127504, 127547], [127552, 127560], [127568, 127569],
378        [127744, 128722], [128736, 128748], [128752, 128758],
379        [128768, 128883], [128896, 128980], [129024, 129035],
380        [129040, 129095], [129104, 129113], [129120, 129159],
381        [129168, 129197], [129296, 129310], [129312, 129319],
382        [129328, 129328], [129331, 129342], [129344, 129355],
383        [129360, 129374], [129408, 129425], [129472, 129472],
384        [917505, 917505], [917536, 917631]**/
385        const UnicodeSet zyyy_Ext
386            {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
387              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
388              {Empty, 15}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
389              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
390              {Empty, 3}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 12},
391              {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
392              {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 37},
393              {Mixed, 2}, {Empty, 24}, {Mixed, 1}, {Full, 2}, {Mixed, 3},
394              {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
395              {Full, 18}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 29},
396              {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
397              {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
398              {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
399              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1},
400              {Full, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 5},
401              {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1}, {Mixed, 1},
402              {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
403              {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
404              {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
405              {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
406              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 7},
407              {Mixed, 1}, {Empty, 1485}, {Mixed, 1}, {Empty, 154},
408              {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
409              {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Full, 2},
410              {Mixed, 2}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Full, 1},
411              {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1},
412              {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 192}, {Full, 1},
413              {Mixed, 1}, {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
414              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 5},
415              {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
416              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
417              {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
418              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 24625},
419              {Mixed, 1}, {Full, 3}, {Empty, 6140}},
420             {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
421              0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000200,
422              0x98001020, 0x00000001, 0x20000000, 0x00000004, 0x00000030,
423              0x80000000, 0x01e00000, 0x08000000, 0x00003800, 0x00600000,
424              0x0000002c, 0x00080000, 0x006fde02, 0xffffcfff, 0x7ff1ffdf,
425              0x00007fff, 0x7fffffff, 0xfffbf3bf, 0xffffbfff, 0xffff0e00,
426              0x7fffffff, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
427              0xe3ffffff, 0x0003fdff, 0x0000f000, 0x0000001f, 0x0fff0000,
428              0xffffff5f, 0xf0ff0001, 0x18000000, 0x00000001, 0x18000000,
429              0xffff0000, 0x0000000f, 0x80000000, 0x0000ffff, 0xff000000,
430              0x00000003, 0x00000700, 0x03ff0000, 0x00004000, 0x00008000,
431              0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ffff,
432              0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
433              0x0001003f, 0xc0000000, 0x3e007f7f, 0xffffff87, 0xff8fffff,
434              0x0fff0000, 0xffff0000, 0x1fffffff, 0x0ffffffe, 0x0000000f,
435              0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
436              0x000001ff, 0x007fffff, 0x0003ffff, 0xffdfffff, 0xdfffffff,
437              0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
438              0xffffff3f, 0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff,
439              0xfffefffe, 0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff,
440              0x00001fff, 0xffffffc0, 0xffff0006, 0x0fffffff, 0x000301ff,
441              0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
442              0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000, 0x7ff900ff,
443              0x7fff0fff, 0x0003ffff, 0x00000001, 0x00000002}};
444        /** Code Point Ranges for Latn
445        [65, 90], [97, 122], [170, 170], [186, 186], [192, 214], [216, 246],
446        [248, 696], [736, 740], [867, 879], [1157, 1158], [2385, 2386],
447        [4347, 4347], [7424, 7461], [7468, 7516], [7522, 7525],
448        [7531, 7543], [7545, 7614], [7680, 7935], [8305, 8305],
449        [8319, 8319], [8336, 8348], [8432, 8432], [8490, 8491],
450        [8498, 8498], [8526, 8526], [8544, 8584], [11360, 11391],
451        [42786, 42887], [42891, 42926], [42928, 42935], [42999, 43007],
452        [43310, 43310], [43824, 43866], [43868, 43876], [64256, 64262],
453        [65313, 65338], [65345, 65370]**/
454        const UnicodeSet latn_Ext
455            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
456              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
457              {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
458              {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
459              {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
460              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
461              {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
462              {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
463              {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
464              {Empty, 32}, {Mixed, 2}, {Empty, 32773}},
465             {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
466              0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
467              0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
468              0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
469              0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
470              0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
471              0x07fffffe, 0x07fffffe}};
472        /** Code Point Ranges for Grek
473        [834, 834], [837, 837], [880, 883], [885, 887], [890, 893],
474        [895, 895], [900, 900], [902, 902], [904, 906], [908, 908],
475        [910, 929], [931, 993], [1008, 1023], [7462, 7466], [7517, 7521],
476        [7526, 7530], [7615, 7617], [7936, 7957], [7960, 7965],
477        [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
478        [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
479        [8118, 8132], [8134, 8147], [8150, 8155], [8157, 8175],
480        [8178, 8180], [8182, 8190], [8486, 8486], [43877, 43877],
481        [65856, 65934], [65952, 65952], [119296, 119365]**/
482        const UnicodeSet grek_Ext
483            {{{Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
484              {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
485              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
486              {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686},
487              {Full, 2}, {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1},
488              {Empty, 31085}},
489             {0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
490              0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
491              0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
492              0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
493              0x0000003f}};
494        /** Code Point Ranges for Cyrl
495        [1024, 1327], [7296, 7304], [7467, 7467], [7544, 7544],
496        [11744, 11775], [11843, 11843], [42560, 42655], [65070, 65071]**/
497        const UnicodeSet cyrl_Ext
498            {{{Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
499              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
500              {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
501              {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
502             {0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
503              0x0000c000}};
504        /** Code Point Ranges for Armn
505        [1329, 1366], [1369, 1375], [1377, 1415], [1417, 1418],
506        [1421, 1423], [64275, 64279]**/
507        const UnicodeSet armn_Ext
508            {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
509              {Empty, 32807}},
510             {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000}};
511        /** Code Point Ranges for Hebr
512        [1425, 1479], [1488, 1514], [1520, 1524], [64285, 64310],
513        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
514        [64326, 64335]**/
515        const UnicodeSet hebr_Ext
516            {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
517              {Mixed, 3}, {Empty, 32805}},
518             {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
519              0x0000ffdb}};
520        /** Code Point Ranges for Arab
521        [1536, 1540], [1542, 1563], [1566, 1756], [1758, 1791],
522        [1872, 1919], [2208, 2228], [2230, 2237], [2260, 2273],
523        [2275, 2303], [64336, 64449], [64467, 64829], [64848, 64911],
524        [64914, 64967], [65008, 65021], [65136, 65140], [65142, 65276],
525        [66272, 66299], [69216, 69246], [126464, 126467], [126469, 126495],
526        [126497, 126498], [126500, 126500], [126503, 126503],
527        [126505, 126514], [126516, 126519], [126521, 126521],
528        [126523, 126523], [126530, 126530], [126535, 126535],
529        [126537, 126537], [126539, 126539], [126541, 126543],
530        [126545, 126546], [126548, 126548], [126551, 126551],
531        [126553, 126553], [126555, 126555], [126557, 126557],
532        [126559, 126559], [126561, 126562], [126564, 126564],
533        [126567, 126570], [126572, 126578], [126580, 126583],
534        [126585, 126588], [126590, 126590], [126592, 126601],
535        [126603, 126619], [126625, 126627], [126629, 126633],
536        [126635, 126651], [126704, 126705]**/
537        const UnicodeSet arab_Ext
538            {{{Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
539              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
540              {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
541              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
542              {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
543              {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788},
544              {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
545             {0xcfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
546              0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
547              0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
548              0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
549              0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
550        /** Code Point Ranges for Syrc
551        [1548, 1548], [1563, 1563], [1567, 1567], [1600, 1600],
552        [1611, 1621], [1648, 1648], [1792, 1805], [1807, 1866],
553        [1869, 1871]**/
554        const UnicodeSet syrc_Ext
555            {{{Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
556              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34757}},
557             {0x88001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff}};
558        /** Code Point Ranges for Thaa
559        [1548, 1548], [1563, 1563], [1567, 1567], [1632, 1641],
560        [1920, 1969], [65010, 65010], [65021, 65021]**/
561        const UnicodeSet thaa_Ext
562            {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
563              {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1},
564              {Empty, 32784}},
565             {0x88001000, 0x000003ff, 0x0003ffff, 0x20040000}};
566        /** Code Point Ranges for Deva
567        [2304, 2431], [7376, 7414], [7416, 7417], [8432, 8432],
568        [43056, 43065], [43232, 43261]**/
569        const UnicodeSet deva_Ext
570            {{{Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
571              {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
572              {Empty, 33464}},
573             {0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff}};
574        /** Code Point Ranges for Beng
575        [2385, 2386], [2404, 2405], [2432, 2435], [2437, 2444],
576        [2447, 2448], [2451, 2472], [2474, 2480], [2482, 2482],
577        [2486, 2489], [2492, 2500], [2503, 2504], [2507, 2510],
578        [2519, 2519], [2524, 2525], [2527, 2531], [2534, 2555],
579        [43249, 43249]**/
580        const UnicodeSet beng_Ext
581            {{{Empty, 74}, {Mixed, 6}, {Empty, 1271}, {Mixed, 1},
582              {Empty, 33464}},
583             {0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
584              0x0fffffcf, 0x00020000}};
585        /** Code Point Ranges for Guru
586        [2385, 2386], [2404, 2405], [2561, 2563], [2565, 2570],
587        [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
588        [2613, 2614], [2616, 2617], [2620, 2620], [2622, 2626],
589        [2631, 2632], [2635, 2637], [2641, 2641], [2649, 2652],
590        [2654, 2654], [2662, 2677], [43056, 43065]**/
591        const UnicodeSet guru_Ext
592            {{{Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4},
593              {Empty, 1261}, {Mixed, 1}, {Empty, 33470}},
594             {0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
595              0x003fffc0, 0x03ff0000}};
596        /** Code Point Ranges for Gujr
597        [2385, 2386], [2404, 2405], [2689, 2691], [2693, 2701],
598        [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
599        [2741, 2745], [2748, 2757], [2759, 2761], [2763, 2765],
600        [2768, 2768], [2784, 2787], [2790, 2801], [2809, 2809],
601        [43056, 43065]**/
602        const UnicodeSet gujr_Ext
603            {{{Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
604              {Empty, 1257}, {Mixed, 1}, {Empty, 33470}},
605             {0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
606              0x0203ffcf, 0x03ff0000}};
607        /** Code Point Ranges for Orya
608        [2385, 2386], [2404, 2405], [2817, 2819], [2821, 2828],
609        [2831, 2832], [2835, 2856], [2858, 2864], [2866, 2867],
610        [2869, 2873], [2876, 2884], [2887, 2888], [2891, 2893],
611        [2902, 2903], [2908, 2909], [2911, 2915], [2918, 2935]**/
612        const UnicodeSet orya_Ext
613            {{{Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4},
614              {Empty, 34724}},
615             {0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
616              0x00ffffcf}};
617        /** Code Point Ranges for Taml
618        [2385, 2386], [2404, 2405], [2946, 2947], [2949, 2954],
619        [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972],
620        [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
621        [3006, 3010], [3014, 3016], [3018, 3021], [3024, 3024],
622        [3031, 3031], [3046, 3066], [7386, 7386], [43251, 43251],
623        [70403, 70403], [70460, 70460]**/
624        const UnicodeSet taml_Ext
625            {{{Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4},
626              {Empty, 134}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
627              {Empty, 848}, {Mixed, 2}, {Empty, 32614}},
628             {0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
629              0x07ffffc0, 0x04000000, 0x00080000, 0x00000008, 0x10000000}};
630        /** Code Point Ranges for Telu
631        [2385, 2386], [2404, 2405], [3072, 3075], [3077, 3084],
632        [3086, 3088], [3090, 3112], [3114, 3129], [3133, 3140],
633        [3142, 3144], [3146, 3149], [3157, 3158], [3160, 3162],
634        [3168, 3171], [3174, 3183], [3192, 3199], [7386, 7386]**/
635        const UnicodeSet telu_Ext
636            {{{Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4},
637              {Empty, 130}, {Mixed, 1}, {Empty, 34585}},
638             {0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
639              0xff00ffcf, 0x04000000}};
640        /** Code Point Ranges for Knda
641        [2385, 2386], [2404, 2405], [3200, 3203], [3205, 3212],
642        [3214, 3216], [3218, 3240], [3242, 3251], [3253, 3257],
643        [3260, 3268], [3270, 3272], [3274, 3277], [3285, 3286],
644        [3294, 3294], [3296, 3299], [3302, 3311], [3313, 3314],
645        [7386, 7386], [7413, 7413], [43056, 43061]**/
646        const UnicodeSet knda_Ext
647            {{{Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4},
648              {Empty, 126}, {Mixed, 2}, {Empty, 1113}, {Mixed, 1},
649              {Empty, 33470}},
650             {0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
651              0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000}};
652        /** Code Point Ranges for Mlym
653        [2385, 2386], [2404, 2405], [3329, 3331], [3333, 3340],
654        [3342, 3344], [3346, 3386], [3389, 3396], [3398, 3400],
655        [3402, 3407], [3412, 3427], [3430, 3455], [7386, 7386]**/
656        const UnicodeSet mlym_Ext
657            {{{Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 4},
658              {Empty, 122}, {Mixed, 1}, {Empty, 34585}},
659             {0x00060000, 0x00000030, 0xfffddfee, 0xe7ffffff, 0xfff0fddf,
660              0xffffffcf, 0x04000000}};
661        /** Code Point Ranges for Sinh
662        [2404, 2405], [3458, 3459], [3461, 3478], [3482, 3505],
663        [3507, 3515], [3517, 3517], [3520, 3526], [3530, 3530],
664        [3535, 3540], [3542, 3542], [3544, 3551], [3558, 3567],
665        [3570, 3572], [70113, 70132]**/
666        const UnicodeSet sinh_Ext
667            {{{Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4},
668              {Empty, 2079}, {Mixed, 1}, {Empty, 32624}},
669             {0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
670              0x001ffffe}};
671        /** Code Point Ranges for Thai
672        [3585, 3642], [3648, 3675]**/
673        const UnicodeSet thai_Ext
674            {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
675             {0xfffffffe, 0x07ffffff, 0x0fffffff}};
676        /** Code Point Ranges for Laoo
677        [3713, 3714], [3716, 3716], [3719, 3720], [3722, 3722],
678        [3725, 3725], [3732, 3735], [3737, 3743], [3745, 3747],
679        [3749, 3749], [3751, 3751], [3754, 3755], [3757, 3769],
680        [3771, 3773], [3776, 3780], [3782, 3782], [3784, 3789],
681        [3792, 3801], [3804, 3807]**/
682        const UnicodeSet laoo_Ext
683            {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
684             {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
685        /** Code Point Ranges for Tibt
686        [3840, 3911], [3913, 3948], [3953, 3991], [3993, 4028],
687        [4030, 4044], [4046, 4052], [4057, 4058]**/
688        const UnicodeSet tibt_Ext
689            {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
690             {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
691        /** Code Point Ranges for Mymr
692        [4096, 4255], [43310, 43310], [43488, 43518], [43616, 43647]**/
693        const UnicodeSet mymr_Ext
694            {{{Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1},
695              {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}},
696             {0x00004000, 0x7fffffff}};
697        /** Code Point Ranges for Geor
698        [1417, 1417], [4256, 4293], [4295, 4295], [4301, 4301],
699        [4304, 4351], [11520, 11557], [11559, 11559], [11565, 11565]**/
700        const UnicodeSet geor_Ext
701            {{{Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
702              {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1},
703              {Empty, 34454}},
704             {0x00000200, 0xffff20bf, 0x000020bf}};
705        /** Code Point Ranges for Hang
706        [4352, 4607], [12289, 12291], [12296, 12305], [12307, 12319],
707        [12334, 12336], [12343, 12343], [12539, 12539], [12593, 12686],
708        [12800, 12830], [12896, 12926], [43360, 43388], [44032, 55203],
709        [55216, 55238], [55243, 55291], [65093, 65094], [65377, 65381],
710        [65440, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
711        [65498, 65500]**/
712        const UnicodeSet hang_Ext
713            {{{Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
714              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
715              {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
716              {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3},
717              {Empty, 306}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
718              {Mixed, 2}, {Empty, 32769}},
719             {0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
720              0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
721              0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc}};
722        /** Code Point Ranges for Ethi
723        [4608, 4680], [4682, 4685], [4688, 4694], [4696, 4696],
724        [4698, 4701], [4704, 4744], [4746, 4749], [4752, 4784],
725        [4786, 4789], [4792, 4798], [4800, 4800], [4802, 4805],
726        [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954],
727        [4957, 4988], [4992, 5017], [11648, 11670], [11680, 11686],
728        [11688, 11694], [11696, 11702], [11704, 11710], [11712, 11718],
729        [11720, 11726], [11728, 11734], [11736, 11742], [43777, 43782],
730        [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822]**/
731        const UnicodeSet ethi_Ext
732            {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
733              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
734              {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
735             {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
736              0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
737              0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
738        /** Code Point Ranges for Cher
739        [5024, 5109], [5112, 5117], [43888, 43967]**/
740        const UnicodeSet cher_Ext
741            {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211},
742              {Mixed, 1}, {Full, 2}, {Empty, 33442}},
743             {0x3f3fffff, 0xffff0000}};
744        /** Code Point Ranges for Cans
745        [5120, 5759], [6320, 6389]**/
746        const UnicodeSet cans_Ext
747            {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
748              {Mixed, 1}, {Empty, 34616}},
749             {0xffff0000, 0x003fffff}};
750        /** Code Point Ranges for Ogam
751        [5760, 5788]**/
752        const UnicodeSet ogam_Ext
753            {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
754             {0x1fffffff}};
755        /** Code Point Ranges for Runr
756        [5792, 5866], [5870, 5880]**/
757        const UnicodeSet runr_Ext
758            {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
759             {0x01ffc7ff}};
760        /** Code Point Ranges for Khmr
761        [6016, 6109], [6112, 6121], [6128, 6137], [6624, 6655]**/
762        const UnicodeSet khmr_Ext
763            {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
764              {Empty, 34608}},
765             {0x3fffffff, 0x03ff03ff}};
766        /** Code Point Ranges for Mong
767        [6144, 6158], [6160, 6169], [6176, 6263], [6272, 6314],
768        [71264, 71276]**/
769        const UnicodeSet mong_Ext
770            {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
771              {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
772             {0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff}};
773        /** Code Point Ranges for Hira
774        [12289, 12291], [12296, 12305], [12307, 12319], [12336, 12341],
775        [12343, 12343], [12348, 12349], [12353, 12438], [12441, 12448],
776        [12539, 12540], [65093, 65094], [65377, 65381], [65392, 65392],
777        [65438, 65439], [110593, 110593], [127488, 127488]**/
778        const UnicodeSet hira_Ext
779            {{{Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
780              {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
781              {Empty, 1411}, {Mixed, 1}, {Empty, 527}, {Mixed, 1},
782              {Empty, 30831}},
783             {0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
784              0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0x00000002,
785              0x00000001}};
786        /** Code Point Ranges for Kana
787        [12289, 12291], [12296, 12305], [12307, 12319], [12336, 12341],
788        [12343, 12343], [12348, 12349], [12441, 12444], [12448, 12543],
789        [12784, 12799], [13008, 13054], [13056, 13143], [65093, 65094],
790        [65377, 65439], [110592, 110592]**/
791        const UnicodeSet kana_Ext
792            {{{Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
793              {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
794              {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
795              {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}},
796             {0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
797              0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001}};
798        /** Code Point Ranges for Bopo
799        [746, 747], [12289, 12291], [12296, 12305], [12307, 12319],
800        [12330, 12333], [12336, 12336], [12343, 12343], [12539, 12539],
801        [12549, 12589], [12704, 12730], [65093, 65094], [65377, 65381]**/
802        const UnicodeSet bopo_Ext
803            {{{Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
804              {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
805              {Empty, 8}, {Mixed, 1}, {Empty, 32772}},
806             {0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
807              0x00003fff, 0x07ffffff, 0x00000060, 0x0000003e}};
808        /** Code Point Ranges for Hani
809        [11904, 11929], [11931, 12019], [12032, 12245], [12289, 12291],
810        [12293, 12305], [12307, 12319], [12321, 12333], [12336, 12336],
811        [12343, 12351], [12539, 12539], [12688, 12703], [12736, 12771],
812        [12832, 12871], [12928, 12976], [12992, 13003], [13144, 13168],
813        [13179, 13183], [13280, 13310], [13312, 19893], [19968, 40917],
814        [63744, 64109], [64112, 64217], [65093, 65094], [65377, 65381],
815        [119648, 119665], [127568, 127569], [131072, 173782],
816        [173824, 177972], [177984, 178205], [178208, 183969],
817        [194560, 195101]**/
818        const UnicodeSet hani_Ext
819            {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
820              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
821              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
822              {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
823              {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
824              {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1},
825              {Empty, 713}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
826              {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
827              {Empty, 1695}, {Mixed, 1}, {Empty, 246}, {Mixed, 1},
828              {Empty, 109}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
829              {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
830              {Mixed, 1}, {Empty, 330}, {Full, 16}, {Mixed, 1},
831              {Empty, 28719}},
832             {0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
833              0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
834              0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
835              0x003fffff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
836              0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
837              0x00000003, 0x3fffffff}};
838        /** Code Point Ranges for Yiii
839        [12289, 12290], [12296, 12305], [12308, 12315], [12539, 12539],
840        [40960, 42124], [42128, 42182], [65377, 65381]**/
841        const UnicodeSet yiii_Ext
842            {{{Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
843              {Empty, 888}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
844              {Empty, 724}, {Mixed, 1}, {Empty, 32772}},
845             {0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e}};
846        /** Code Point Ranges for Ital
847        [66304, 66339]**/
848        const UnicodeSet ital_Ext
849            {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
850             {0x0000000f}};
851        /** Code Point Ranges for Goth
852        [66352, 66378]**/
853        const UnicodeSet goth_Ext
854            {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
855             {0xffff0000, 0x000007ff}};
856        /** Code Point Ranges for Dsrt
857        [66560, 66639]**/
858        const UnicodeSet dsrt_Ext
859            {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
860             {0x0000ffff}};
861        /** Code Point Ranges for Zinh
862        [768, 879], [1157, 1158], [1611, 1621], [1648, 1648], [2385, 2386],
863        [6832, 6846], [7376, 7378], [7380, 7392], [7394, 7400],
864        [7405, 7405], [7412, 7412], [7416, 7417], [7616, 7669],
865        [7675, 7679], [8204, 8205], [8400, 8432], [12330, 12333],
866        [12441, 12442], [65024, 65039], [65056, 65069], [66045, 66045],
867        [66272, 66272], [119143, 119145], [119163, 119170],
868        [119173, 119179], [119210, 119213], [917760, 917999]**/
869        const UnicodeSet zinh_Ext
870            {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
871              {Empty, 13}, {Mixed, 2}, {Empty, 22}, {Mixed, 1},
872              {Empty, 138}, {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 6},
873              {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
874              {Mixed, 2}, {Empty, 121}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
875              {Empty, 1643}, {Mixed, 2}, {Empty, 29}, {Mixed, 1},
876              {Empty, 7}, {Mixed, 1}, {Empty, 1651}, {Mixed, 3},
877              {Empty, 24954}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
878             {0x0000ffff, 0x00000060, 0x003ff800, 0x00010000, 0x00060000,
879              0x7fff0000, 0xfff70000, 0x031021fd, 0xf83fffff, 0x00003000,
880              0xffff0000, 0x0001ffff, 0x00003c00, 0x06000000, 0x0000ffff,
881              0x00003fff, 0x20000000, 0x00000001, 0xf8000380, 0x00000fe7,
882              0x00003c00, 0x0000ffff}};
883        /** Code Point Ranges for Tglg
884        [5888, 5900], [5902, 5908], [5941, 5942]**/
885        const UnicodeSet tglg_Ext
886            {{{Empty, 184}, {Mixed, 2}, {Empty, 34630}},
887             {0x001fdfff, 0x00600000}};
888        /** Code Point Ranges for Hano
889        [5920, 5942]**/
890        const UnicodeSet hano_Ext
891            {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
892             {0x007fffff}};
893        /** Code Point Ranges for Buhd
894        [5941, 5942], [5952, 5971]**/
895        const UnicodeSet buhd_Ext
896            {{{Empty, 185}, {Mixed, 2}, {Empty, 34629}},
897             {0x00600000, 0x000fffff}};
898        /** Code Point Ranges for Tagb
899        [5941, 5942], [5984, 5996], [5998, 6000], [6002, 6003]**/
900        const UnicodeSet tagb_Ext
901            {{{Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
902              {Empty, 34628}},
903             {0x00600000, 0x000ddfff}};
904        /** Code Point Ranges for Limb
905        [2405, 2405], [6400, 6430], [6432, 6443], [6448, 6459],
906        [6464, 6464], [6468, 6479]**/
907        const UnicodeSet limb_Ext
908            {{{Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3},
909              {Empty, 34613}},
910             {0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1}};
911        /** Code Point Ranges for Tale
912        [4160, 4169], [6480, 6509], [6512, 6516]**/
913        const UnicodeSet tale_Ext
914            {{{Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2},
915              {Empty, 34612}},
916             {0x000003ff, 0xffff0000, 0x001f3fff}};
917        /** Code Point Ranges for Linb
918        [65536, 65547], [65549, 65574], [65576, 65594], [65596, 65597],
919        [65599, 65613], [65616, 65629], [65664, 65786], [65792, 65794],
920        [65799, 65843], [65847, 65855]**/
921        const UnicodeSet linb_Ext
922            {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
923              {Empty, 32758}},
924             {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
925              0xff8fffff}};
926        /** Code Point Ranges for Ugar
927        [66432, 66461], [66463, 66463]**/
928        const UnicodeSet ugar_Ext
929            {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
930             {0xbfffffff}};
931        /** Code Point Ranges for Shaw
932        [66640, 66687]**/
933        const UnicodeSet shaw_Ext
934            {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
935             {0xffff0000}};
936        /** Code Point Ranges for Osma
937        [66688, 66717], [66720, 66729]**/
938        const UnicodeSet osma_Ext
939            {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
940             {0x3fffffff, 0x000003ff}};
941        /** Code Point Ranges for Cprt
942        [65792, 65794], [65799, 65843], [65847, 65855], [67584, 67589],
943        [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
944        [67647, 67647]**/
945        const UnicodeSet cprt_Ext
946            {{{Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2},
947              {Empty, 32702}},
948             {0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff}};
949        /** Code Point Ranges for Brai
950        [10240, 10495]**/
951        const UnicodeSet brai_Ext
952            {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
953             {}};
954        /** Code Point Ranges for Bugi
955        [6656, 6683], [6686, 6687], [43471, 43471]**/
956        const UnicodeSet bugi_Ext
957            {{{Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1},
958              {Empty, 33457}},
959             {0xcfffffff, 0x00008000}};
960        /** Code Point Ranges for Copt
961        [994, 1007], [11392, 11507], [11513, 11519], [66272, 66299]**/
962        const UnicodeSet copt_Ext
963            {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
964              {Empty, 1711}, {Mixed, 1}, {Empty, 32744}},
965             {0x0000fffc, 0xfe0fffff, 0x0fffffff}};
966        /** Code Point Ranges for Talu
967        [6528, 6571], [6576, 6601], [6608, 6618], [6622, 6623]**/
968        const UnicodeSet talu_Ext
969            {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
970             {0xffff0fff, 0xc7ff03ff}};
971        /** Code Point Ranges for Glag
972        [1156, 1156], [1159, 1159], [11264, 11310], [11312, 11358],
973        [11843, 11843], [42607, 42607], [122880, 122886], [122888, 122904],
974        [122907, 122913], [122915, 122916], [122918, 122922]**/
975        const UnicodeSet glag_Ext
976            {{{Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
977              {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1},
978              {Empty, 2508}, {Mixed, 2}, {Empty, 30974}},
979             {0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
980              0xf9ffff7f, 0x000007db}};
981        /** Code Point Ranges for Tfng
982        [11568, 11623], [11631, 11632], [11647, 11647]**/
983        const UnicodeSet tfng_Ext
984            {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
985              {Empty, 34452}},
986             {0xffff0000, 0x800180ff}};
987        /** Code Point Ranges for Sylo
988        [2404, 2405], [2534, 2543], [43008, 43051]**/
989        const UnicodeSet sylo_Ext
990            {{{Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
991              {Empty, 1264}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
992             {0x00000030, 0x0000ffc0, 0x00000fff}};
993        /** Code Point Ranges for Xpeo
994        [66464, 66499], [66504, 66517]**/
995        const UnicodeSet xpeo_Ext
996            {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
997             {0x003fff0f}};
998        /** Code Point Ranges for Khar
999        [68096, 68099], [68101, 68102], [68108, 68115], [68117, 68119],
1000        [68121, 68147], [68152, 68154], [68159, 68167], [68176, 68184]**/
1001        const UnicodeSet khar_Ext
1002            {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
1003             {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
1004        /** Code Point Ranges for Bali
1005        [6912, 6987], [6992, 7036]**/
1006        const UnicodeSet bali_Ext
1007            {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
1008             {0xffff0fff, 0x1fffffff}};
1009        /** Code Point Ranges for Xsux
1010        [73728, 74649], [74752, 74862], [74864, 74868], [74880, 75075]**/
1011        const UnicodeSet xsux_Ext
1012            {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
1013              {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
1014             {0x03ffffff, 0x001f7fff, 0x0000000f}};
1015        /** Code Point Ranges for Phnx
1016        [67840, 67867], [67871, 67871]**/
1017        const UnicodeSet phnx_Ext
1018            {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
1019             {0x8fffffff}};
1020        /** Code Point Ranges for Phag
1021        [6146, 6147], [6149, 6149], [43072, 43127]**/
1022        const UnicodeSet phag_Ext
1023            {{{Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1},
1024              {Mixed, 1}, {Empty, 33468}},
1025             {0x0000002c, 0x00ffffff}};
1026        /** Code Point Ranges for Nkoo
1027        [1984, 2042]**/
1028        const UnicodeSet nkoo_Ext
1029            {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
1030             {0x07ffffff}};
1031        /** Code Point Ranges for Sund
1032        [7040, 7103], [7360, 7367]**/
1033        const UnicodeSet sund_Ext
1034            {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1},
1035              {Empty, 34585}},
1036             {0x000000ff}};
1037        /** Code Point Ranges for Lepc
1038        [7168, 7223], [7227, 7241], [7245, 7247]**/
1039        const UnicodeSet lepc_Ext
1040            {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
1041             {0xf8ffffff, 0x0000e3ff}};
1042        /** Code Point Ranges for Olck
1043        [7248, 7295]**/
1044        const UnicodeSet olck_Ext
1045            {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
1046             {0xffff0000}};
1047        /** Code Point Ranges for Vaii
1048        [42240, 42539]**/
1049        const UnicodeSet vaii_Ext
1050            {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
1051             {0x00000fff}};
1052        /** Code Point Ranges for Saur
1053        [43136, 43205], [43214, 43225]**/
1054        const UnicodeSet saur_Ext
1055            {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
1056             {0x03ffc03f}};
1057        /** Code Point Ranges for Kali
1058        [43264, 43311]**/
1059        const UnicodeSet kali_Ext
1060            {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
1061             {0x0000ffff}};
1062        /** Code Point Ranges for Rjng
1063        [43312, 43347], [43359, 43359]**/
1064        const UnicodeSet rjng_Ext
1065            {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
1066             {0xffff0000, 0x800fffff}};
1067        /** Code Point Ranges for Lyci
1068        [66176, 66204]**/
1069        const UnicodeSet lyci_Ext
1070            {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
1071             {0x1fffffff}};
1072        /** Code Point Ranges for Cari
1073        [66208, 66256]**/
1074        const UnicodeSet cari_Ext
1075            {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
1076             {0x0001ffff}};
1077        /** Code Point Ranges for Lydi
1078        [67872, 67897], [67903, 67903]**/
1079        const UnicodeSet lydi_Ext
1080            {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
1081             {0x83ffffff}};
1082        /** Code Point Ranges for Cham
1083        [43520, 43574], [43584, 43597], [43600, 43609], [43612, 43615]**/
1084        const UnicodeSet cham_Ext
1085            {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
1086             {0x007fffff, 0xf3ff3fff}};
1087        /** Code Point Ranges for Lana
1088        [6688, 6750], [6752, 6780], [6783, 6793], [6800, 6809],
1089        [6816, 6829]**/
1090        const UnicodeSet lana_Ext
1091            {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
1092             {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
1093        /** Code Point Ranges for Tavt
1094        [43648, 43714], [43739, 43743]**/
1095        const UnicodeSet tavt_Ext
1096            {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
1097             {0xf8000007}};
1098        /** Code Point Ranges for Avst
1099        [68352, 68405], [68409, 68415]**/
1100        const UnicodeSet avst_Ext
1101            {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
1102             {0xfe3fffff}};
1103        /** Code Point Ranges for Egyp
1104        [77824, 78894]**/
1105        const UnicodeSet egyp_Ext
1106            {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
1107             {0x00007fff}};
1108        /** Code Point Ranges for Samr
1109        [2048, 2093], [2096, 2110]**/
1110        const UnicodeSet samr_Ext
1111            {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
1112             {0x7fff3fff}};
1113        /** Code Point Ranges for Lisu
1114        [42192, 42239]**/
1115        const UnicodeSet lisu_Ext
1116            {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
1117             {0xffff0000}};
1118        /** Code Point Ranges for Bamu
1119        [42656, 42743], [92160, 92728]**/
1120        const UnicodeSet bamu_Ext
1121            {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544},
1122              {Full, 17}, {Mixed, 1}, {Empty, 31918}},
1123             {0x00ffffff, 0x01ffffff}};
1124        /** Code Point Ranges for Java
1125        [43392, 43469], [43471, 43481], [43486, 43487]**/
1126        const UnicodeSet java_Ext
1127            {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
1128             {0xc3ffbfff}};
1129        /** Code Point Ranges for Mtei
1130        [43744, 43766], [43968, 44013], [44016, 44025]**/
1131        const UnicodeSet mtei_Ext
1132            {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
1133              {Empty, 33440}},
1134             {0x007fffff, 0x03ff3fff}};
1135        /** Code Point Ranges for Armi
1136        [67648, 67669], [67671, 67679]**/
1137        const UnicodeSet armi_Ext
1138            {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
1139             {0xffbfffff}};
1140        /** Code Point Ranges for Sarb
1141        [68192, 68223]**/
1142        const UnicodeSet sarb_Ext
1143            {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
1144             {}};
1145        /** Code Point Ranges for Prti
1146        [68416, 68437], [68440, 68447]**/
1147        const UnicodeSet prti_Ext
1148            {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
1149             {0xff3fffff}};
1150        /** Code Point Ranges for Phli
1151        [68448, 68466], [68472, 68479]**/
1152        const UnicodeSet phli_Ext
1153            {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
1154             {0xff07ffff}};
1155        /** Code Point Ranges for Orkh
1156        [68608, 68680]**/
1157        const UnicodeSet orkh_Ext
1158            {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
1159             {0x000001ff}};
1160        /** Code Point Ranges for Kthi
1161        [2406, 2415], [43056, 43065], [69760, 69825]**/
1162        const UnicodeSet kthi_Ext
1163            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1164              {Empty, 834}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
1165             {0x0000ffc0, 0x03ff0000, 0x00000003}};
1166        /** Code Point Ranges for Batk
1167        [7104, 7155], [7164, 7167]**/
1168        const UnicodeSet batk_Ext
1169            {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
1170             {0xf00fffff}};
1171        /** Code Point Ranges for Brah
1172        [69632, 69709], [69714, 69743], [69759, 69759]**/
1173        const UnicodeSet brah_Ext
1174            {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
1175             {0xfffc3fff, 0x8000ffff}};
1176        /** Code Point Ranges for Mand
1177        [1600, 1600], [2112, 2139], [2142, 2142]**/
1178        const UnicodeSet mand_Ext
1179            {{{Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
1180              {Empty, 34749}},
1181             {0x00000001, 0x4fffffff}};
1182        /** Code Point Ranges for Cakm
1183        [2534, 2543], [4160, 4169], [69888, 69940], [69942, 69955]**/
1184        const UnicodeSet cakm_Ext
1185            {{{Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1},
1186              {Empty, 2053}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
1187             {0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f}};
1188        /** Code Point Ranges for Merc
1189        [68000, 68023], [68028, 68047], [68050, 68095]**/
1190        const UnicodeSet merc_Ext
1191            {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
1192             {0xf0ffffff, 0xfffcffff}};
1193        /** Code Point Ranges for Mero
1194        [67968, 67999]**/
1195        const UnicodeSet mero_Ext
1196            {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
1197             {}};
1198        /** Code Point Ranges for Plrd
1199        [93952, 94020], [94032, 94078], [94095, 94111]**/
1200        const UnicodeSet plrd_Ext
1201            {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
1202             {0xffff001f, 0x7fffffff, 0xffff8000}};
1203        /** Code Point Ranges for Shrd
1204        [2385, 2385], [7383, 7383], [7385, 7385], [7388, 7389],
1205        [7392, 7392], [70016, 70093], [70096, 70111]**/
1206        const UnicodeSet shrd_Ext
1207            {{{Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2},
1208              {Empty, 1956}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
1209             {0x00020000, 0x32800000, 0x00000001, 0xffff3fff}};
1210        /** Code Point Ranges for Sora
1211        [69840, 69864], [69872, 69881]**/
1212        const UnicodeSet sora_Ext
1213            {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
1214             {0xffff0000, 0x03ff01ff}};
1215        /** Code Point Ranges for Takr
1216        [2404, 2405], [43056, 43065], [71296, 71351], [71360, 71369]**/
1217        const UnicodeSet takr_Ext
1218            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1219              {Empty, 882}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
1220             {0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff}};
1221        /** Code Point Ranges for Aghb
1222        [66864, 66915], [66927, 66927]**/
1223        const UnicodeSet aghb_Ext
1224            {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1225              {Empty, 32724}},
1226             {0xffff0000, 0x0000800f}};
1227        /** Code Point Ranges for Bass
1228        [92880, 92909], [92912, 92917]**/
1229        const UnicodeSet bass_Ext
1230            {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
1231             {0xffff0000, 0x003f3fff}};
1232        /** Code Point Ranges for Dupl
1233        [113664, 113770], [113776, 113788], [113792, 113800],
1234        [113808, 113817], [113820, 113827]**/
1235        const UnicodeSet dupl_Ext
1236            {{{Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}},
1237             {0x1fff07ff, 0xf3ff01ff, 0x0000000f}};
1238        /** Code Point Ranges for Elba
1239        [66816, 66855]**/
1240        const UnicodeSet elba_Ext
1241            {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
1242             {0x000000ff}};
1243        /** Code Point Ranges for Gran
1244        [2385, 2386], [2404, 2405], [2986, 2986], [2997, 2997],
1245        [3046, 3058], [7376, 7376], [7378, 7379], [7410, 7412],
1246        [7416, 7417], [8432, 8432], [70400, 70403], [70405, 70412],
1247        [70415, 70416], [70419, 70440], [70442, 70448], [70450, 70451],
1248        [70453, 70457], [70460, 70468], [70471, 70472], [70475, 70477],
1249        [70480, 70480], [70487, 70487], [70493, 70499], [70502, 70508],
1250        [70512, 70516]**/
1251        const UnicodeSet gran_Ext
1252            {{{Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
1253              {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
1254              {Empty, 1936}, {Mixed, 4}, {Empty, 32612}},
1255             {0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
1256              0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
1257              0x001f1fcf}};
1258        /** Code Point Ranges for Hmng
1259        [92928, 92997], [93008, 93017], [93019, 93025], [93027, 93047],
1260        [93053, 93071]**/
1261        const UnicodeSet hmng_Ext
1262            {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
1263             {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
1264        /** Code Point Ranges for Khoj
1265        [2790, 2799], [70144, 70161], [70163, 70206]**/
1266        const UnicodeSet khoj_Ext
1267            {{{Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2},
1268              {Empty, 32622}},
1269             {0x0000ffc0, 0xfffbffff, 0x7fffffff}};
1270        /** Code Point Ranges for Lina
1271        [65799, 65843], [67072, 67382], [67392, 67413], [67424, 67431]**/
1272        const UnicodeSet lina_Ext
1273            {{{Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
1274              {Empty, 32708}},
1275             {0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff}};
1276        /** Code Point Ranges for Mahj
1277        [2404, 2415], [43056, 43065], [69968, 70006]**/
1278        const UnicodeSet mahj_Ext
1279            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1280              {Empty, 840}, {Mixed, 2}, {Empty, 32628}},
1281             {0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff}};
1282        /** Code Point Ranges for Mani
1283        [1600, 1600], [68288, 68326], [68331, 68342]**/
1284        const UnicodeSet mani_Ext
1285            {{{Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
1286              {Empty, 32680}},
1287             {0x00000001, 0x007ff87f}};
1288        /** Code Point Ranges for Mend
1289        [124928, 125124], [125127, 125142]**/
1290        const UnicodeSet mend_Ext
1291            {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
1292             {0x007fff9f}};
1293        /** Code Point Ranges for Modi
1294        [43056, 43065], [71168, 71236], [71248, 71257]**/
1295        const UnicodeSet modi_Ext
1296            {{{Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2},
1297              {Mixed, 1}, {Empty, 32589}},
1298             {0x03ff0000, 0x03ff001f}};
1299        /** Code Point Ranges for Mroo
1300        [92736, 92766], [92768, 92777], [92782, 92783]**/
1301        const UnicodeSet mroo_Ext
1302            {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
1303             {0x7fffffff, 0x0000c3ff}};
1304        /** Code Point Ranges for Narb
1305        [68224, 68255]**/
1306        const UnicodeSet narb_Ext
1307            {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
1308             {}};
1309        /** Code Point Ranges for Nbat
1310        [67712, 67742], [67751, 67759]**/
1311        const UnicodeSet nbat_Ext
1312            {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
1313             {0x7fffffff, 0x0000ff80}};
1314        /** Code Point Ranges for Palm
1315        [67680, 67711]**/
1316        const UnicodeSet palm_Ext
1317            {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
1318             {}};
1319        /** Code Point Ranges for Pauc
1320        [72384, 72440]**/
1321        const UnicodeSet pauc_Ext
1322            {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
1323             {0x01ffffff}};
1324        /** Code Point Ranges for Perm
1325        [1155, 1155], [66384, 66426]**/
1326        const UnicodeSet perm_Ext
1327            {{{Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2},
1328              {Empty, 32740}},
1329             {0x00000008, 0xffff0000, 0x07ffffff}};
1330        /** Code Point Ranges for Phlp
1331        [1600, 1600], [68480, 68497], [68505, 68508], [68521, 68527]**/
1332        const UnicodeSet phlp_Ext
1333            {{{Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2},
1334              {Empty, 32674}},
1335             {0x00000001, 0x1e03ffff, 0x0000fe00}};
1336        /** Code Point Ranges for Sidd
1337        [71040, 71093], [71096, 71133]**/
1338        const UnicodeSet sidd_Ext
1339            {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
1340             {0xff3fffff, 0x3fffffff}};
1341        /** Code Point Ranges for Sind
1342        [2404, 2405], [43056, 43065], [70320, 70378], [70384, 70393]**/
1343        const UnicodeSet sind_Ext
1344            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1345              {Empty, 851}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1346              {Empty, 32616}},
1347             {0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff}};
1348        /** Code Point Ranges for Tirh
1349        [2404, 2405], [43056, 43065], [70784, 70855], [70864, 70873]**/
1350        const UnicodeSet tirh_Ext
1351            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1352              {Empty, 866}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
1353             {0x00000030, 0x03ff0000, 0x03ff00ff}};
1354        /** Code Point Ranges for Wara
1355        [71840, 71922], [71935, 71935]**/
1356        const UnicodeSet wara_Ext
1357            {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
1358             {0x8007ffff}};
1359        /** Code Point Ranges for Ahom
1360        [71424, 71449], [71453, 71467], [71472, 71487]**/
1361        const UnicodeSet ahom_Ext
1362            {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
1363             {0xe3ffffff, 0xffff0fff}};
1364        /** Code Point Ranges for Hluw
1365        [82944, 83526]**/
1366        const UnicodeSet hluw_Ext
1367            {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
1368             {0x0000007f}};
1369        /** Code Point Ranges for Hatr
1370        [67808, 67826], [67828, 67829], [67835, 67839]**/
1371        const UnicodeSet hatr_Ext
1372            {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
1373             {0xf837ffff}};
1374        /** Code Point Ranges for Mult
1375        [2662, 2671], [70272, 70278], [70280, 70280], [70282, 70285],
1376        [70287, 70301], [70303, 70313]**/
1377        const UnicodeSet mult_Ext
1378            {{{Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2},
1379              {Empty, 32618}},
1380             {0x0000ffc0, 0xbfffbd7f, 0x000003ff}};
1381        /** Code Point Ranges for Hung
1382        [68736, 68786], [68800, 68850], [68858, 68863]**/
1383        const UnicodeSet hung_Ext
1384            {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1385              {Empty, 32664}},
1386             {0x0007ffff, 0xfc07ffff}};
1387        /** Code Point Ranges for Sgnw
1388        [120832, 121483], [121499, 121503], [121505, 121519]**/
1389        const UnicodeSet sgnw_Ext
1390            {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
1391             {0xf8000fff, 0x0000fffe}};
1392        /** Code Point Ranges for Adlm
1393        [1600, 1600], [125184, 125258], [125264, 125273], [125278, 125279]**/
1394        const UnicodeSet adlm_Ext
1395            {{{Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
1396              {Empty, 30901}},
1397             {0x00000001, 0xc3ff07ff}};
1398        /** Code Point Ranges for Bhks
1399        [72704, 72712], [72714, 72758], [72760, 72773], [72784, 72812]**/
1400        const UnicodeSet bhks_Ext
1401            {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
1402             {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
1403        /** Code Point Ranges for Marc
1404        [72816, 72847], [72850, 72871], [72873, 72886]**/
1405        const UnicodeSet marc_Ext
1406            {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
1407             {0xffff0000, 0xfffcffff, 0x007ffeff}};
1408        /** Code Point Ranges for Newa
1409        [70656, 70745], [70747, 70747], [70749, 70749]**/
1410        const UnicodeSet newa_Ext
1411            {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
1412             {0x2bffffff}};
1413        /** Code Point Ranges for Osge
1414        [66736, 66771], [66776, 66811]**/
1415        const UnicodeSet osge_Ext
1416            {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
1417             {0xffff0000, 0xff0fffff, 0x0fffffff}};
1418        /** Code Point Ranges for Tang
1419        [94176, 94176], [94208, 100332], [100352, 101106]**/
1420        const UnicodeSet tang_Ext
1421            {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
1422              {Full, 23}, {Mixed, 1}, {Empty, 31656}},
1423             {0x00000001, 0x00001fff, 0x0007ffff}};
1424        /** Code Point Ranges for Hrkt
1425        **/
1426        const UnicodeSet hrkt_Ext
1427            {{{Empty, 34816}},
1428             {}};
1429        static ExtensionPropertyObject property_object
1430       {scx,
1431        UCD::sc,
1432       {&zzzz_Ext, &zyyy_Ext, &latn_Ext, &grek_Ext, &cyrl_Ext, &armn_Ext,
1433        &hebr_Ext, &arab_Ext, &syrc_Ext, &thaa_Ext, &deva_Ext, &beng_Ext,
1434        &guru_Ext, &gujr_Ext, &orya_Ext, &taml_Ext, &telu_Ext, &knda_Ext,
1435        &mlym_Ext, &sinh_Ext, &thai_Ext, &laoo_Ext, &tibt_Ext, &mymr_Ext,
1436        &geor_Ext, &hang_Ext, &ethi_Ext, &cher_Ext, &cans_Ext, &ogam_Ext,
1437        &runr_Ext, &khmr_Ext, &mong_Ext, &hira_Ext, &kana_Ext, &bopo_Ext,
1438        &hani_Ext, &yiii_Ext, &ital_Ext, &goth_Ext, &dsrt_Ext, &zinh_Ext,
1439        &tglg_Ext, &hano_Ext, &buhd_Ext, &tagb_Ext, &limb_Ext, &tale_Ext,
1440        &linb_Ext, &ugar_Ext, &shaw_Ext, &osma_Ext, &cprt_Ext, &brai_Ext,
1441        &bugi_Ext, &copt_Ext, &talu_Ext, &glag_Ext, &tfng_Ext, &sylo_Ext,
1442        &xpeo_Ext, &khar_Ext, &bali_Ext, &xsux_Ext, &phnx_Ext, &phag_Ext,
1443        &nkoo_Ext, &sund_Ext, &lepc_Ext, &olck_Ext, &vaii_Ext, &saur_Ext,
1444        &kali_Ext, &rjng_Ext, &lyci_Ext, &cari_Ext, &lydi_Ext, &cham_Ext,
1445        &lana_Ext, &tavt_Ext, &avst_Ext, &egyp_Ext, &samr_Ext, &lisu_Ext,
1446        &bamu_Ext, &java_Ext, &mtei_Ext, &armi_Ext, &sarb_Ext, &prti_Ext,
1447        &phli_Ext, &orkh_Ext, &kthi_Ext, &batk_Ext, &brah_Ext, &mand_Ext,
1448        &cakm_Ext, &merc_Ext, &mero_Ext, &plrd_Ext, &shrd_Ext, &sora_Ext,
1449        &takr_Ext, &aghb_Ext, &bass_Ext, &dupl_Ext, &elba_Ext, &gran_Ext,
1450        &hmng_Ext, &khoj_Ext, &lina_Ext, &mahj_Ext, &mani_Ext, &mend_Ext,
1451        &modi_Ext, &mroo_Ext, &narb_Ext, &nbat_Ext, &palm_Ext, &pauc_Ext,
1452        &perm_Ext, &phlp_Ext, &sidd_Ext, &sind_Ext, &tirh_Ext, &wara_Ext,
1453        &ahom_Ext, &hluw_Ext, &hatr_Ext, &mult_Ext, &hung_Ext, &sgnw_Ext,
1454        &adlm_Ext, &bhks_Ext, &marc_Ext, &newa_Ext, &osge_Ext, &tang_Ext,
1455        &hrkt_Ext
1456        }};
1457    }
1458}
1459
1460#endif
Note: See TracBrowser for help on using the repository browser.