source: icGREP/icgrep-devel/icgrep/UCD/DerivedAge.h @ 5232

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

Support for enumeration basis sets

File size: 76.5 KB
Line 
1#ifndef DERIVEDAGE_H
2#define DERIVEDAGE_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 AGE_ns {
17    const unsigned independent_prop_values = 19;
18    /** Code Point Ranges for Unassigned
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, 64975],
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], [65548, 65548],
97    [65575, 65575], [65595, 65595], [65598, 65598], [65614, 65615],
98    [65630, 65663], [65787, 65791], [65795, 65798], [65844, 65846],
99    [65935, 65935], [65948, 65951], [65953, 65999], [66046, 66175],
100    [66205, 66207], [66257, 66271], [66300, 66303], [66340, 66351],
101    [66379, 66383], [66427, 66431], [66462, 66462], [66500, 66503],
102    [66518, 66559], [66718, 66719], [66730, 66735], [66772, 66775],
103    [66812, 66815], [66856, 66863], [66916, 66926], [66928, 67071],
104    [67383, 67391], [67414, 67423], [67432, 67583], [67590, 67591],
105    [67593, 67593], [67638, 67638], [67641, 67643], [67645, 67646],
106    [67670, 67670], [67743, 67750], [67760, 67807], [67827, 67827],
107    [67830, 67834], [67868, 67870], [67898, 67902], [67904, 67967],
108    [68024, 68027], [68048, 68049], [68100, 68100], [68103, 68107],
109    [68116, 68116], [68120, 68120], [68148, 68151], [68155, 68158],
110    [68168, 68175], [68185, 68191], [68256, 68287], [68327, 68330],
111    [68343, 68351], [68406, 68408], [68438, 68439], [68467, 68471],
112    [68498, 68504], [68509, 68520], [68528, 68607], [68681, 68735],
113    [68787, 68799], [68851, 68857], [68864, 69215], [69247, 69631],
114    [69710, 69713], [69744, 69758], [69826, 69839], [69865, 69871],
115    [69882, 69887], [69941, 69941], [69956, 69967], [70007, 70015],
116    [70094, 70095], [70112, 70112], [70133, 70143], [70162, 70162],
117    [70207, 70271], [70279, 70279], [70281, 70281], [70286, 70286],
118    [70302, 70302], [70314, 70319], [70379, 70383], [70394, 70399],
119    [70404, 70404], [70413, 70414], [70417, 70418], [70441, 70441],
120    [70449, 70449], [70452, 70452], [70458, 70459], [70469, 70470],
121    [70473, 70474], [70478, 70479], [70481, 70486], [70488, 70492],
122    [70500, 70501], [70509, 70511], [70517, 70655], [70746, 70746],
123    [70748, 70748], [70750, 70783], [70856, 70863], [70874, 71039],
124    [71094, 71095], [71134, 71167], [71237, 71247], [71258, 71263],
125    [71277, 71295], [71352, 71359], [71370, 71423], [71450, 71452],
126    [71468, 71471], [71488, 71839], [71923, 71934], [71936, 72383],
127    [72441, 72703], [72713, 72713], [72759, 72759], [72774, 72783],
128    [72813, 72815], [72848, 72849], [72872, 72872], [72887, 73727],
129    [74650, 74751], [74863, 74863], [74869, 74879], [75076, 77823],
130    [78895, 82943], [83527, 92159], [92729, 92735], [92767, 92767],
131    [92778, 92781], [92784, 92879], [92910, 92911], [92918, 92927],
132    [92998, 93007], [93018, 93018], [93026, 93026], [93048, 93052],
133    [93072, 93951], [94021, 94031], [94079, 94094], [94112, 94175],
134    [94177, 94207], [100333, 100351], [101107, 110591], [110594, 113663],
135    [113771, 113775], [113789, 113791], [113801, 113807], [113818, 113819],
136    [113828, 118783], [119030, 119039], [119079, 119080], [119273, 119295],
137    [119366, 119551], [119639, 119647], [119666, 119807], [119893, 119893],
138    [119965, 119965], [119968, 119969], [119971, 119972], [119975, 119976],
139    [119981, 119981], [119994, 119994], [119996, 119996], [120004, 120004],
140    [120070, 120070], [120075, 120076], [120085, 120085], [120093, 120093],
141    [120122, 120122], [120127, 120127], [120133, 120133], [120135, 120137],
142    [120145, 120145], [120486, 120487], [120780, 120781], [121484, 121498],
143    [121504, 121504], [121520, 122879], [122887, 122887], [122905, 122906],
144    [122914, 122914], [122917, 122917], [122923, 124927], [125125, 125126],
145    [125143, 125183], [125259, 125263], [125274, 125277], [125280, 126463],
146    [126468, 126468], [126496, 126496], [126499, 126499], [126501, 126502],
147    [126504, 126504], [126515, 126515], [126520, 126520], [126522, 126522],
148    [126524, 126529], [126531, 126534], [126536, 126536], [126538, 126538],
149    [126540, 126540], [126544, 126544], [126547, 126547], [126549, 126550],
150    [126552, 126552], [126554, 126554], [126556, 126556], [126558, 126558],
151    [126560, 126560], [126563, 126563], [126565, 126566], [126571, 126571],
152    [126579, 126579], [126584, 126584], [126589, 126589], [126591, 126591],
153    [126602, 126602], [126620, 126624], [126628, 126628], [126634, 126634],
154    [126652, 126703], [126706, 126975], [127020, 127023], [127124, 127135],
155    [127151, 127152], [127168, 127168], [127184, 127184], [127222, 127231],
156    [127245, 127247], [127279, 127279], [127340, 127343], [127405, 127461],
157    [127491, 127503], [127548, 127551], [127561, 127567], [127570, 127743],
158    [128723, 128735], [128749, 128751], [128759, 128767], [128884, 128895],
159    [128981, 129023], [129036, 129039], [129096, 129103], [129114, 129119],
160    [129160, 129167], [129198, 129295], [129311, 129311], [129320, 129327],
161    [129329, 129330], [129343, 129343], [129356, 129359], [129375, 129407],
162    [129426, 129471], [129473, 131069], [173783, 173823], [177973, 177983],
163    [178206, 178207], [183970, 194559], [195102, 196605], [196608, 262141],
164    [262144, 327677], [327680, 393213], [393216, 458749], [458752, 524285],
165    [524288, 589821], [589824, 655357], [655360, 720893], [720896, 786429],
166    [786432, 851965], [851968, 917501], [917504, 917504], [917506, 917535],
167    [917632, 917759], [918000, 983037]**/
168    const UnicodeSet unassigned_Set
169        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
170          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
171          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
172          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
173          {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
174          {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
175          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
176          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
177          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
178          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
179          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
180          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
181          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
182          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
183          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
184          {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
185          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
186          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
187          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
188          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
189          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
190          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
191          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
192          {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
193          {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
194          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
195          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
196          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
197          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
198          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
199          {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
200          {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
201          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
202          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
203          {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
204          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
205          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
206          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
207          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
208          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
209          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
210          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
211          {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
212          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
213          {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
214          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
215          {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
216          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
217          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
218          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
219          {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1}, {Mixed, 1},
220          {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28}, {Mixed, 1},
221          {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
222          {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
223          {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
224          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
225          {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
226          {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1}, {Full, 95},
227          {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
228          {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
229          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
230          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
231          {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
232          {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
233          {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
234          {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
235          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
236          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
237          {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
238          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
239          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
240          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 48},
241          {Mixed, 1}, {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129},
242          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1},
243          {Full, 330}, {Empty, 16}, {Mixed, 1}, {Full, 46}, {Mixed, 1},
244          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
245          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
246          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
247          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
248          {Full, 2047}, {Mixed, 2}, {Empty, 3}, {Full, 4}, {Empty, 7},
249          {Mixed, 1}, {Full, 2031}, {Mixed, 1}, {Empty, 4096}},
250         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
251          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
252          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
253          0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
254          0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
255          0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
256          0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
257          0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
258          0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
259          0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
260          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
261          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
262          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
263          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
264          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
265          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
266          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
267          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
268          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
269          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
270          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
271          0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
272          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
273          0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
274          0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
275          0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
276          0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
277          0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
278          0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
279          0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
280          0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
281          0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
282          0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
283          0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
284          0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
285          0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
286          0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0x0000ff00,
287          0xc0000000, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
288          0x00000001, 0x80000000, 0xe3030303, 0x01ff8080, 0x00001000,
289          0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
290          0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
291          0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
292          0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
293          0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
294          0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
295          0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
296          0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
297          0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
298          0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
299          0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
300          0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
301          0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
302          0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
303          0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
304          0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
305          0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
306          0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
307          0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
308          0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
309          0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
310          0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
311          0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
312          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
313          0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
314          0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
315          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
316          0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
317          0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
318          0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
319          0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
320          0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
321          0xfffc0000, 0xfffffffe, 0x3fffffff, 0xff800000, 0xffe00000,
322          0xc0000000, 0xfffffffc, 0xc0000000, 0x3fffffff, 0x3fffffff,
323          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
324          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
325          0xfffffffd, 0xffff0000, 0x3fffffff}};
326    /** Code Point Ranges for V1_1
327    [0, 501], [506, 535], [592, 680], [688, 734], [736, 745], [768, 837],
328    [864, 865], [884, 885], [890, 890], [894, 894], [900, 906], [908, 908],
329    [910, 929], [931, 974], [976, 982], [986, 986], [988, 988], [990, 990],
330    [992, 992], [994, 1011], [1025, 1036], [1038, 1103], [1105, 1116],
331    [1118, 1158], [1168, 1220], [1223, 1224], [1227, 1228], [1232, 1259],
332    [1262, 1269], [1272, 1273], [1329, 1366], [1369, 1375], [1377, 1415],
333    [1417, 1417], [1456, 1465], [1467, 1475], [1488, 1514], [1520, 1524],
334    [1548, 1548], [1563, 1563], [1567, 1567], [1569, 1594], [1600, 1618],
335    [1632, 1645], [1648, 1719], [1722, 1726], [1728, 1742], [1744, 1773],
336    [1776, 1785], [2305, 2307], [2309, 2361], [2364, 2381], [2384, 2388],
337    [2392, 2416], [2433, 2435], [2437, 2444], [2447, 2448], [2451, 2472],
338    [2474, 2480], [2482, 2482], [2486, 2489], [2492, 2492], [2494, 2500],
339    [2503, 2504], [2507, 2509], [2519, 2519], [2524, 2525], [2527, 2531],
340    [2534, 2554], [2562, 2562], [2565, 2570], [2575, 2576], [2579, 2600],
341    [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617], [2620, 2620],
342    [2622, 2626], [2631, 2632], [2635, 2637], [2649, 2652], [2654, 2654],
343    [2662, 2676], [2689, 2691], [2693, 2699], [2701, 2701], [2703, 2705],
344    [2707, 2728], [2730, 2736], [2738, 2739], [2741, 2745], [2748, 2757],
345    [2759, 2761], [2763, 2765], [2768, 2768], [2784, 2784], [2790, 2799],
346    [2817, 2819], [2821, 2828], [2831, 2832], [2835, 2856], [2858, 2864],
347    [2866, 2867], [2870, 2873], [2876, 2883], [2887, 2888], [2891, 2893],
348    [2902, 2903], [2908, 2909], [2911, 2913], [2918, 2928], [2946, 2947],
349    [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972],
350    [2974, 2975], [2979, 2980], [2984, 2986], [2990, 2997], [2999, 3001],
351    [3006, 3010], [3014, 3016], [3018, 3021], [3031, 3031], [3047, 3058],
352    [3073, 3075], [3077, 3084], [3086, 3088], [3090, 3112], [3114, 3123],
353    [3125, 3129], [3134, 3140], [3142, 3144], [3146, 3149], [3157, 3158],
354    [3168, 3169], [3174, 3183], [3202, 3203], [3205, 3212], [3214, 3216],
355    [3218, 3240], [3242, 3251], [3253, 3257], [3262, 3268], [3270, 3272],
356    [3274, 3277], [3285, 3286], [3294, 3294], [3296, 3297], [3302, 3311],
357    [3330, 3331], [3333, 3340], [3342, 3344], [3346, 3368], [3370, 3385],
358    [3390, 3395], [3398, 3400], [3402, 3405], [3415, 3415], [3424, 3425],
359    [3430, 3439], [3585, 3642], [3647, 3675], [3713, 3714], [3716, 3716],
360    [3719, 3720], [3722, 3722], [3725, 3725], [3732, 3735], [3737, 3743],
361    [3745, 3747], [3749, 3749], [3751, 3751], [3754, 3755], [3757, 3769],
362    [3771, 3773], [3776, 3780], [3782, 3782], [3784, 3789], [3792, 3801],
363    [3804, 3805], [4256, 4293], [4304, 4342], [4347, 4347], [4352, 4441],
364    [4447, 4514], [4520, 4601], [7680, 7834], [7840, 7929], [7936, 7957],
365    [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
366    [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116], [8118, 8132],
367    [8134, 8147], [8150, 8155], [8157, 8175], [8178, 8180], [8182, 8190],
368    [8192, 8238], [8240, 8262], [8298, 8304], [8308, 8334], [8352, 8362],
369    [8400, 8417], [8448, 8504], [8531, 8578], [8592, 8682], [8704, 8945],
370    [8960, 8960], [8962, 9082], [9216, 9252], [9280, 9290], [9312, 9450],
371    [9472, 9621], [9632, 9711], [9728, 9747], [9754, 9839], [9985, 9988],
372    [9990, 9993], [9996, 10023], [10025, 10059], [10061, 10061],
373    [10063, 10066], [10070, 10070], [10072, 10078], [10081, 10087],
374    [10102, 10132], [10136, 10159], [10161, 10174], [12288, 12343],
375    [12351, 12351], [12353, 12436], [12441, 12446], [12449, 12542],
376    [12549, 12588], [12593, 12686], [12688, 12703], [12800, 12828],
377    [12832, 12867], [12896, 12923], [12927, 12976], [12992, 13003],
378    [13008, 13054], [13056, 13174], [13179, 13277], [13280, 13310],
379    [19968, 40869], [57344, 64045], [64256, 64262], [64275, 64279],
380    [64286, 64310], [64312, 64316], [64318, 64318], [64320, 64321],
381    [64323, 64324], [64326, 64433], [64467, 64831], [64848, 64911],
382    [64914, 64967], [65008, 65019], [65056, 65059], [65072, 65092],
383    [65097, 65106], [65108, 65126], [65128, 65131], [65136, 65138],
384    [65140, 65140], [65142, 65276], [65279, 65279], [65281, 65374],
385    [65377, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
386    [65498, 65500], [65504, 65510], [65512, 65518], [65533, 65535]**/
387    const UnicodeSet v1_1_Set
388        {{{Full, 15}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2},
389          {Mixed, 3}, {Full, 2}, {Mixed, 7}, {Full, 1}, {Mixed, 1},
390          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1},
391          {Mixed, 11}, {Full, 1}, {Mixed, 3}, {Empty, 16}, {Mixed, 36},
392          {Empty, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 14},
393          {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 2},
394          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 96}, {Full, 4},
395          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
396          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Full, 1},
397          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
398          {Full, 7}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 4},
399          {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 4},
400          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
401          {Empty, 4}, {Mixed, 6}, {Empty, 66}, {Full, 1}, {Mixed, 2},
402          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
403          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
404          {Full, 1}, {Mixed, 3}, {Full, 3}, {Mixed, 1}, {Full, 2},
405          {Mixed, 2}, {Empty, 208}, {Full, 653}, {Mixed, 1}, {Empty, 514},
406          {Full, 209}, {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Full, 2},
407          {Mixed, 2}, {Full, 11}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
408          {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 3},
409          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
410          {Empty, 32768}},
411         {0xfc3fffff, 0x00ffffff, 0xffff0000, 0xffff01ff, 0x7fffffff,
412          0x000003ff, 0x0000003f, 0x44300003, 0xffffd7f0, 0xfffffffb,
413          0x547f7fff, 0x000ffffd, 0xffffdffe, 0xdffeffff, 0xffff007f,
414          0xffff199f, 0x033fcfff, 0xfffe0000, 0xfe7fffff, 0xfffffffe,
415          0x000002ff, 0xfbff0000, 0xffff000f, 0x001f07ff, 0x88001000,
416          0x07fffffe, 0x0007ffff, 0xffff3fff, 0x7cffffff, 0xffff7fff,
417          0x03ff3fff, 0xffffffee, 0xf3ffffff, 0xff1f3fff, 0x0001ffff,
418          0xfff99fee, 0xd3c5fdff, 0xb080399f, 0x07ffffcf, 0xfff987e4,
419          0xd36dfdff, 0x5e003987, 0x001fffc0, 0xfffbafee, 0xf3edfdff,
420          0x00013bbf, 0x0000ffc1, 0xfff99fee, 0xf3cdfdff, 0xb0c0398f,
421          0x0001ffc3, 0xd63dc7ec, 0xc3bfc718, 0x00803dc7, 0x0007ff80,
422          0xfffddfee, 0xc3effdff, 0x00603ddf, 0x0000ffc3, 0xfffddfec,
423          0xc3effdff, 0x40603ddf, 0x0000ffc3, 0xfffddfec, 0xc3fffdff,
424          0x00803dcf, 0x0000ffc3, 0xfffffffe, 0x87ffffff, 0x0fffffff,
425          0xfef02596, 0x3bffecae, 0x33ff3f5f, 0xffff003f, 0x087fffff,
426          0x83ffffff, 0xffffff07, 0x03ffffff, 0x07ffffff, 0x03ffffff,
427          0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
428          0x7fdcffff, 0xffff7fff, 0x0000007f, 0xfff1fc00, 0x00007fff,
429          0x000007ff, 0xffff0000, 0x00000003, 0x01ffffff, 0xfff80000,
430          0xffff0007, 0x000007ff, 0x0003ffff, 0xfffffffd, 0x07ffffff,
431          0x0000001f, 0x000007ff, 0x000007ff, 0x003fffff, 0x0000ffff,
432          0xfc0fffff, 0x0000ffff, 0xfffff3de, 0xfffffeff, 0x7f47afff,
433          0xffc000fe, 0xff1fffff, 0x7ffeffff, 0x80ffffff, 0xfffffffe,
434          0x7e1fffff, 0xfffffffe, 0x7fffffff, 0xffffffe0, 0xfffe1fff,
435          0xffff7fff, 0x1fffffff, 0x0000000f, 0x8fffffff, 0x0001ffff,
436          0xffff0fff, 0x7fffffff, 0xf87fffff, 0x3fffffff, 0x7fffffff,
437          0x0000003f, 0x00003fff, 0xc0f8007f, 0x5f7fffff, 0xffffffdb,
438          0x0003ffff, 0xfff80000, 0xffff0000, 0xfffcffff, 0x000000ff,
439          0x0fff0000, 0xffff000f, 0xfff7fe1f, 0xffd70f7f, 0x9fffffff,
440          0xfffffffe, 0x7fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc,
441          0xe0007f7f}};
442    /** Code Point Ranges for V2_0
443    [1425, 1441], [1443, 1455], [1476, 1476], [3840, 3911], [3913, 3945],
444    [3953, 3979], [3984, 3989], [3991, 3991], [3993, 4013], [4017, 4023],
445    [4025, 4025], [7835, 7835], [8363, 8363], [44032, 55203],
446    [55296, 57343], [131070, 131071], [196606, 196607], [262142, 262143],
447    [327678, 327679], [393214, 393215], [458750, 458751], [524286, 524287],
448    [589822, 589823], [655358, 655359], [720894, 720895], [786430, 786431],
449    [851966, 851967], [917502, 917503], [983038, 1114111]**/
450    const UnicodeSet v2_0_Set
451        {{{Empty, 44}, {Mixed, 3}, {Empty, 73}, {Full, 2}, {Mixed, 4},
452          {Empty, 118}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 1114},
453          {Full, 349}, {Mixed, 1}, {Empty, 2}, {Full, 64}, {Empty, 2303},
454          {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
455          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
456          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
457          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
458          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
459          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
460          {Empty, 2047}, {Mixed, 1}, {Full, 4096}},
461         {0xfffe0000, 0x0000fffb, 0x00000010, 0xfffffeff, 0xfffe03ff,
462          0xfebf0fff, 0x02fe3fff, 0x08000000, 0x00000800, 0x0000000f,
463          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
464          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
465          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000}};
466    /** Code Point Ranges for V2_1
467    [8364, 8364], [65532, 65532]**/
468    const UnicodeSet v2_1_Set
469        {{{Empty, 261}, {Mixed, 1}, {Empty, 1785}, {Mixed, 1},
470          {Empty, 32768}},
471         {0x00001000, 0x10000000}};
472    /** Code Point Ranges for V3_0
473    [502, 505], [536, 543], [546, 563], [681, 685], [735, 735], [746, 750],
474    [838, 846], [866, 866], [983, 983], [987, 987], [989, 989], [991, 991],
475    [993, 993], [1024, 1024], [1037, 1037], [1104, 1104], [1117, 1117],
476    [1160, 1161], [1164, 1167], [1260, 1261], [1418, 1418], [1619, 1621],
477    [1720, 1721], [1727, 1727], [1743, 1743], [1786, 1790], [1792, 1805],
478    [1807, 1836], [1840, 1866], [1920, 1968], [3458, 3459], [3461, 3478],
479    [3482, 3505], [3507, 3515], [3517, 3517], [3520, 3526], [3530, 3530],
480    [3535, 3540], [3542, 3542], [3544, 3551], [3570, 3572], [3946, 3946],
481    [3990, 3990], [4014, 4016], [4024, 4024], [4026, 4028], [4030, 4044],
482    [4047, 4047], [4096, 4129], [4131, 4135], [4137, 4138], [4140, 4146],
483    [4150, 4153], [4160, 4185], [4608, 4614], [4616, 4678], [4680, 4680],
484    [4682, 4685], [4688, 4694], [4696, 4696], [4698, 4701], [4704, 4742],
485    [4744, 4744], [4746, 4749], [4752, 4782], [4784, 4784], [4786, 4789],
486    [4792, 4798], [4800, 4800], [4802, 4805], [4808, 4814], [4816, 4822],
487    [4824, 4846], [4848, 4878], [4880, 4880], [4882, 4885], [4888, 4894],
488    [4896, 4934], [4936, 4954], [4961, 4988], [5024, 5108], [5121, 5750],
489    [5760, 5788], [5792, 5872], [6016, 6108], [6112, 6121], [6144, 6158],
490    [6160, 6169], [6176, 6263], [6272, 6313], [8239, 8239], [8264, 8269],
491    [8365, 8367], [8418, 8419], [8505, 8506], [8579, 8579], [8683, 8691],
492    [8961, 8961], [9083, 9083], [9085, 9114], [9253, 9254], [9712, 9719],
493    [9753, 9753], [9840, 9841], [10240, 10495], [11904, 11929],
494    [11931, 12019], [12032, 12245], [12272, 12283], [12344, 12346],
495    [12350, 12350], [12704, 12727], [13312, 19893], [40960, 42124],
496    [42128, 42145], [42148, 42163], [42165, 42176], [42178, 42180],
497    [42182, 42182], [64285, 64285], [65529, 65531]**/
498    const UnicodeSet v3_0_Set
499        {{{Empty, 15}, {Mixed, 3}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
500          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
501          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
502          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
503          {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 46}, {Mixed, 4},
504          {Empty, 11}, {Mixed, 4}, {Empty, 1}, {Full, 1}, {Mixed, 2},
505          {Empty, 13}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
506          {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2},
507          {Mixed, 2}, {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
508          {Empty, 4}, {Full, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1},
509          {Full, 1}, {Mixed, 1}, {Empty, 59}, {Mixed, 2}, {Empty, 2},
510          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
511          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
512          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
513          {Empty, 13}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12},
514          {Full, 8}, {Empty, 44}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
515          {Full, 6}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 11},
516          {Mixed, 1}, {Empty, 18}, {Full, 205}, {Mixed, 1}, {Empty, 658},
517          {Full, 36}, {Mixed, 3}, {Empty, 689}, {Mixed, 1}, {Empty, 38},
518          {Mixed, 1}, {Empty, 32768}},
519         {0x03c00000, 0xff000000, 0x000ffffc, 0x00003e00, 0x80000000,
520          0x00007c00, 0x00007fc0, 0x00000004, 0xa8800000, 0x00000002,
521          0x00002001, 0x20010000, 0x0000f300, 0x00003000, 0x00000400,
522          0x00380000, 0x83000000, 0x00008000, 0x7c000000, 0xffffbfff,
523          0xffff1fff, 0x000007ff, 0x0001ffff, 0xfc7fffec, 0x2ffbffff,
524          0xff5f847f, 0x001c0000, 0x00000400, 0x00400000, 0xdd01c000,
525          0x00009fff, 0x03c7f6fb, 0x03ffffff, 0xffffff7f, 0x3d7f3d7f,
526          0xffff3d7f, 0x7f3d7fff, 0xff7f7f3d, 0xffff7fff, 0x7f3d7fff,
527          0x07ffff7f, 0x1ffffffe, 0x001fffff, 0xfffffffe, 0x007fffff,
528          0x1fffffff, 0x0001ffff, 0x1fffffff, 0x000003ff, 0x03ff7fff,
529          0x00ffffff, 0x000003ff, 0x00008000, 0x00003f00, 0x0000e000,
530          0x0000000c, 0x06000000, 0x00000008, 0x000ff800, 0x00000002,
531          0xe8000000, 0x07ffffff, 0x00000060, 0x00ff0000, 0x02000000,
532          0x00030000, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
533          0x47000000, 0x00ffffff, 0x003fffff, 0xffff1fff, 0xffeffff3,
534          0x0000005d, 0x20000000, 0x0e000000}};
535    /** Code Point Ranges for V3_1
536    [1012, 1013], [64976, 65007], [66304, 66334], [66336, 66339],
537    [66352, 66378], [66560, 66597], [66600, 66637], [118784, 119029],
538    [119040, 119078], [119082, 119261], [119808, 119892], [119894, 119964],
539    [119966, 119967], [119970, 119970], [119973, 119974], [119977, 119980],
540    [119982, 119993], [119995, 119995], [119997, 120000], [120002, 120003],
541    [120005, 120069], [120071, 120074], [120077, 120084], [120086, 120092],
542    [120094, 120121], [120123, 120126], [120128, 120132], [120134, 120134],
543    [120138, 120144], [120146, 120483], [120488, 120777], [120782, 120831],
544    [131072, 173782], [194560, 195101], [917505, 917505], [917536, 917631]**/
545    const UnicodeSet v3_1_Set
546        {{{Empty, 31}, {Mixed, 1}, {Empty, 1998}, {Mixed, 2}, {Empty, 40},
547          {Mixed, 3}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1629},
548          {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 4},
549          {Mixed, 1}, {Empty, 17}, {Full, 2}, {Mixed, 1}, {Full, 1},
550          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1},
551          {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 320}, {Full, 1334},
552          {Mixed, 1}, {Empty, 649}, {Full, 16}, {Mixed, 1}, {Empty, 22575},
553          {Mixed, 1}, {Full, 3}, {Empty, 6140}},
554         {0x00300000, 0xffff0000, 0x0000ffff, 0x7fffffff, 0xffff000f,
555          0x000007ff, 0xffffff3f, 0x00003fff, 0x003fffff, 0xfffffc7f,
556          0x3fffffff, 0xffdfffff, 0xdfffffff, 0xebffde64, 0xffffffed,
557          0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff0f, 0xffffc3ff,
558          0x007fffff, 0x3fffffff, 0x00000002}};
559    /** Code Point Ranges for V3_2
560    [544, 544], [847, 847], [867, 879], [984, 985], [1014, 1014],
561    [1162, 1163], [1221, 1222], [1225, 1226], [1229, 1230], [1280, 1295],
562    [1646, 1647], [1969, 1969], [4343, 4344], [5888, 5900], [5902, 5908],
563    [5920, 5942], [5952, 5971], [5984, 5996], [5998, 6000], [6002, 6003],
564    [8263, 8263], [8270, 8274], [8279, 8279], [8287, 8291], [8305, 8305],
565    [8368, 8369], [8420, 8426], [8509, 8523], [8692, 8703], [8946, 8959],
566    [9084, 9084], [9115, 9166], [9451, 9470], [9622, 9631], [9720, 9727],
567    [9750, 9751], [9842, 9853], [9856, 9865], [10088, 10101],
568    [10192, 10219], [10224, 10239], [10496, 11007], [12347, 12349],
569    [12437, 12438], [12447, 12448], [12543, 12543], [12784, 12799],
570    [12881, 12895], [12977, 12991], [42146, 42147], [42164, 42164],
571    [42177, 42177], [42181, 42181], [64048, 64106], [65020, 65020],
572    [65024, 65039], [65093, 65094], [65139, 65139], [65375, 65376]**/
573    const UnicodeSet v3_2_Set
574        {{{Empty, 17}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 2},
575          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
576          {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 9},
577          {Mixed, 1}, {Empty, 73}, {Mixed, 1}, {Empty, 48}, {Mixed, 4},
578          {Empty, 70}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
579          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
580          {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Full, 1},
581          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
582          {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
583          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 8}, {Full, 16},
584          {Empty, 41}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
585          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
586          {Empty, 2}, {Mixed, 1}, {Empty, 911}, {Mixed, 2}, {Empty, 682},
587          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 27}, {Mixed, 2},
588          {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 32772}},
589         {0x00000001, 0x00008000, 0x0000fff8, 0x03000000, 0x00400000,
590          0x00000c00, 0x00006660, 0x0000ffff, 0x0000c000, 0x00020000,
591          0x01800000, 0x001fdfff, 0x007fffff, 0x000fffff, 0x000ddfff,
592          0x8087c080, 0x0002000f, 0x00030000, 0x000007f0, 0xe0000000,
593          0x00000fff, 0xfff00000, 0xfffc0000, 0x10000000, 0xf8000000,
594          0x00007fff, 0x7ffff800, 0xffc00000, 0xff000000, 0x00c00000,
595          0x3ffc0000, 0x000003ff, 0x003fff00, 0xffff0000, 0xffff0fff,
596          0x38000000, 0x80600000, 0x00000001, 0x80000000, 0xffff0000,
597          0xfffe0000, 0xfffe0000, 0x0010000c, 0x00000022, 0xffff0000,
598          0x000007ff, 0x10000000, 0x0000ffff, 0x00000060, 0x00080000,
599          0x80000000, 0x00000001}};
600    /** Code Point Ranges for V4_0
601    [545, 545], [564, 566], [686, 687], [751, 767], [848, 855], [861, 863],
602    [1015, 1019], [1536, 1539], [1549, 1557], [1622, 1624], [1774, 1775],
603    [1791, 1791], [1837, 1839], [1869, 1871], [2308, 2308], [2493, 2493],
604    [2561, 2561], [2563, 2563], [2700, 2700], [2785, 2787], [2801, 2801],
605    [2869, 2869], [2929, 2929], [3059, 3066], [3260, 3261], [6109, 6109],
606    [6128, 6137], [6400, 6428], [6432, 6443], [6448, 6459], [6464, 6464],
607    [6468, 6509], [6512, 6516], [6624, 6655], [7424, 7531], [8275, 8276],
608    [8507, 8507], [9167, 9168], [9471, 9471], [9748, 9749], [9866, 9873],
609    [9888, 9889], [11008, 11021], [12829, 12830], [12880, 12880],
610    [12924, 12925], [13004, 13007], [13175, 13178], [13278, 13279],
611    [13311, 13311], [19904, 19967], [65021, 65021], [65095, 65096],
612    [65536, 65547], [65549, 65574], [65576, 65594], [65596, 65597],
613    [65599, 65613], [65616, 65629], [65664, 65786], [65792, 65794],
614    [65799, 65843], [65847, 65855], [66432, 66461], [66463, 66463],
615    [66598, 66599], [66638, 66717], [66720, 66729], [67584, 67589],
616    [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
617    [67647, 67647], [119552, 119638], [120001, 120001], [917760, 917999]**/
618    const UnicodeSet v4_0_Set
619        {{{Empty, 17}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
620          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
621          {Empty, 16}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4},
622          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 13}, {Mixed, 1},
623          {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3},
624          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
625          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
626          {Mixed, 1}, {Empty, 88}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
627          {Empty, 3}, {Full, 1}, {Empty, 24}, {Full, 3}, {Mixed, 1},
628          {Empty, 22}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 20},
629          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
630          {Empty, 3}, {Mixed, 2}, {Empty, 34}, {Mixed, 1}, {Empty, 55},
631          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
632          {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206},
633          {Full, 2}, {Empty, 1407}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
634          {Empty, 13}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
635          {Empty, 18}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Full, 1},
636          {Mixed, 2}, {Empty, 26}, {Mixed, 2}, {Empty, 1622}, {Full, 2},
637          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 24929}, {Full, 7},
638          {Mixed, 1}, {Empty, 6128}},
639         {0x00700002, 0x0000c000, 0xffff8000, 0xe0ff0000, 0x0f800000,
640          0x003fe00f, 0x01c00000, 0x8000c000, 0x0000e000, 0x0000e000,
641          0x00000010, 0x20000000, 0x0000000a, 0x00001000, 0x0002000e,
642          0x00200000, 0x00020000, 0x07f80000, 0x30000000, 0x20000000,
643          0x03ff0000, 0x1fffffff, 0x0fff0fff, 0xfffffff1, 0x001f3fff,
644          0x00000fff, 0x00180000, 0x08000000, 0x00018000, 0x80000000,
645          0x00300000, 0x0003fc00, 0x00000003, 0x00003fff, 0x60000000,
646          0x00010000, 0x30000000, 0x0000f000, 0x07800000, 0xc0000000,
647          0x80000000, 0x20000000, 0x00000180, 0xffffefff, 0xb7ffff7f,
648          0x3fff3fff, 0x07ffffff, 0xffffff87, 0xff8fffff, 0xbfffffff,
649          0x000000c0, 0xffffc000, 0x3fffffff, 0x000003ff, 0xfffffd3f,
650          0x91bfffff, 0x007fffff, 0x00000002, 0x0000ffff}};
651    /** Code Point Ranges for V4_1
652    [567, 577], [856, 860], [1020, 1023], [1270, 1271], [1442, 1442],
653    [1477, 1479], [1547, 1547], [1566, 1566], [1625, 1630], [1872, 1901],
654    [2429, 2429], [2510, 2510], [2998, 2998], [3046, 3046], [4048, 4049],
655    [4345, 4346], [4348, 4348], [4615, 4615], [4679, 4679], [4743, 4743],
656    [4783, 4783], [4815, 4815], [4847, 4847], [4879, 4879], [4895, 4895],
657    [4935, 4935], [4959, 4960], [4992, 5017], [6528, 6569], [6576, 6601],
658    [6608, 6617], [6622, 6623], [6656, 6683], [6686, 6687], [7532, 7619],
659    [8277, 8278], [8280, 8286], [8336, 8340], [8370, 8373], [8427, 8427],
660    [8508, 8508], [8524, 8524], [9169, 9179], [9752, 9752], [9854, 9855],
661    [9874, 9884], [9890, 9905], [10176, 10182], [11022, 11027],
662    [11264, 11310], [11312, 11358], [11392, 11498], [11513, 11557],
663    [11568, 11621], [11631, 11631], [11648, 11670], [11680, 11686],
664    [11688, 11694], [11696, 11702], [11704, 11710], [11712, 11718],
665    [11720, 11726], [11728, 11734], [11736, 11742], [11776, 11799],
666    [11804, 11805], [12736, 12751], [12926, 12926], [40870, 40891],
667    [42752, 42774], [43008, 43051], [64112, 64217], [65040, 65049],
668    [65856, 65930], [66464, 66499], [66504, 66517], [68096, 68099],
669    [68101, 68102], [68108, 68115], [68117, 68119], [68121, 68147],
670    [68152, 68154], [68159, 68167], [68176, 68184], [119296, 119365],
671    [120484, 120485]**/
672    const UnicodeSet v4_1_Set
673        {{{Empty, 17}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 4},
674          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
675          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 7},
676          {Mixed, 2}, {Empty, 15}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
677          {Empty, 14}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 30},
678          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
679          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 1},
680          {Mixed, 3}, {Empty, 47}, {Full, 1}, {Mixed, 2}, {Empty, 1},
681          {Mixed, 1}, {Empty, 26}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
682          {Empty, 19}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
683          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 19}, {Mixed, 1},
684          {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 8},
685          {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 7}, {Full, 1},
686          {Mixed, 2}, {Empty, 1}, {Full, 3}, {Mixed, 1}, {Full, 1},
687          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1},
688          {Empty, 29}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 873},
689          {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 7}, {Full, 1},
690          {Mixed, 1}, {Empty, 657}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
691          {Empty, 25}, {Mixed, 1}, {Empty, 25}, {Full, 2}, {Mixed, 1},
692          {Empty, 16}, {Full, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 3},
693          {Empty, 1597}, {Full, 2}, {Mixed, 1}, {Empty, 34}, {Mixed, 1},
694          {Empty, 31050}},
695         {0xff800000, 0x00000003, 0x1f000000, 0xf0000000, 0x00c00000,
696          0x00000004, 0x000000e0, 0x40000800, 0x7e000000, 0xffff0000,
697          0x00003fff, 0x20000000, 0x00004000, 0x00400000, 0x00000040,
698          0x00030000, 0x16000000, 0x00000080, 0x00000080, 0x00000080,
699          0x00008000, 0x00008000, 0x00008000, 0x80008000, 0x80000080,
700          0x00000001, 0x03ffffff, 0xffff03ff, 0xc3ff03ff, 0xcfffffff,
701          0xfffff000, 0x0000000f, 0x7f600000, 0x001f0000, 0x003c0000,
702          0x00000800, 0x10000000, 0x00001000, 0x0ffe0000, 0x01000000,
703          0xc0000000, 0x1ffc0000, 0x0003fffc, 0x0000007f, 0x000fc000,
704          0xffff7fff, 0x7fffffff, 0xfe0007ff, 0xffff003f, 0x0000803f,
705          0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x30ffffff, 0x0000ffff,
706          0x40000000, 0x0fffffc0, 0x007fffff, 0x00000fff, 0xffff0000,
707          0x03ffffff, 0x03ff0000, 0x000007ff, 0x003fff0f, 0xfeeff06f,
708          0x870fffff, 0x01ff00ff, 0x0000003f, 0x00000030}};
709    /** Code Point Ranges for V5_0
710    [578, 591], [891, 893], [1231, 1231], [1274, 1279], [1296, 1299],
711    [1466, 1466], [1984, 2042], [2427, 2428], [2430, 2431], [3298, 3299],
712    [3313, 3314], [6912, 6987], [6992, 7036], [7620, 7626], [7678, 7679],
713    [8428, 8431], [8525, 8526], [8580, 8580], [9180, 9191], [9906, 9906],
714    [10183, 10186], [11028, 11034], [11040, 11043], [11360, 11372],
715    [11380, 11383], [42775, 42778], [42784, 42785], [43072, 43127],
716    [67840, 67865], [67871, 67871], [73728, 74606], [74752, 74850],
717    [74864, 74867], [119648, 119665], [120778, 120779]**/
718    const UnicodeSet v5_0_Set
719        {{{Empty, 18}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 10},
720          {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 16}, {Full, 1},
721          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 27}, {Mixed, 1},
722          {Empty, 112}, {Full, 2}, {Mixed, 2}, {Empty, 18}, {Mixed, 2},
723          {Empty, 23}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
724          {Mixed, 1}, {Empty, 17}, {Mixed, 2}, {Empty, 21}, {Mixed, 1},
725          {Empty, 8}, {Mixed, 1}, {Empty, 25}, {Mixed, 2}, {Empty, 9},
726          {Mixed, 1}, {Empty, 980}, {Mixed, 2}, {Empty, 8}, {Full, 1},
727          {Mixed, 1}, {Empty, 772}, {Mixed, 1}, {Empty, 183}, {Full, 27},
728          {Mixed, 1}, {Empty, 4}, {Full, 3}, {Mixed, 1}, {Empty, 1399},
729          {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 31041}},
730         {0x0000fffc, 0x38000000, 0x00008000, 0xfc000000, 0x000f0000,
731          0x04000000, 0x07ffffff, 0xd8000000, 0x0006000c, 0xffff0fff,
732          0x1fffffff, 0x000007f0, 0xc0000000, 0x0000f000, 0x00006000,
733          0x00000010, 0xf0000000, 0x000000ff, 0x00040000, 0x00000780,
734          0x07f00000, 0x0000000f, 0x00f01fff, 0x07800000, 0x00000003,
735          0x00ffffff, 0x83ffffff, 0x00007fff, 0x000f0007, 0x0003ffff,
736          0x00000c00}};
737    /** Code Point Ranges for V5_1
738    [880, 883], [886, 887], [975, 975], [1159, 1159], [1300, 1315],
739    [1542, 1546], [1558, 1562], [1595, 1599], [1902, 1919], [2417, 2418],
740    [2641, 2641], [2677, 2677], [2884, 2884], [2914, 2915], [3024, 3024],
741    [3133, 3133], [3160, 3161], [3170, 3171], [3192, 3199], [3389, 3389],
742    [3396, 3396], [3426, 3427], [3440, 3445], [3449, 3455], [3947, 3948],
743    [4046, 4046], [4050, 4052], [4130, 4130], [4136, 4136], [4139, 4139],
744    [4147, 4149], [4154, 4159], [4186, 4249], [4254, 4255], [6314, 6314],
745    [7040, 7082], [7086, 7097], [7168, 7223], [7227, 7241], [7245, 7295],
746    [7627, 7654], [7836, 7839], [7930, 7935], [8292, 8292], [8432, 8432],
747    [8527, 8527], [8581, 8584], [9885, 9885], [9907, 9916], [9920, 9923],
748    [10188, 10188], [10220, 10223], [11035, 11039], [11044, 11084],
749    [11088, 11092], [11373, 11375], [11377, 11379], [11384, 11389],
750    [11744, 11775], [11800, 11803], [11806, 11824], [12589, 12589],
751    [12752, 12771], [40892, 40899], [42240, 42539], [42560, 42591],
752    [42594, 42611], [42620, 42647], [42779, 42783], [42786, 42892],
753    [43003, 43007], [43136, 43204], [43214, 43225], [43264, 43347],
754    [43359, 43359], [43520, 43574], [43584, 43597], [43600, 43609],
755    [43612, 43615], [65060, 65062], [65936, 65947], [66000, 66045],
756    [66176, 66204], [66208, 66256], [67872, 67897], [67903, 67903],
757    [119081, 119081], [126976, 127019], [127024, 127123]**/
758    const UnicodeSet v5_1_Set
759        {{{Empty, 27}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 5},
760          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
761          {Empty, 9}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 6},
762          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
763          {Empty, 2}, {Mixed, 3}, {Empty, 5}, {Mixed, 3}, {Empty, 15},
764          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
765          {Full, 1}, {Mixed, 1}, {Empty, 64}, {Mixed, 1}, {Empty, 22},
766          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Full, 1}, {Mixed, 2},
767          {Full, 1}, {Empty, 10}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
768          {Empty, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
769          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
770          {Empty, 39}, {Mixed, 3}, {Empty, 7}, {Mixed, 2}, {Empty, 24},
771          {Mixed, 3}, {Empty, 8}, {Mixed, 1}, {Empty, 11}, {Full, 1},
772          {Mixed, 2}, {Empty, 23}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
773          {Empty, 877}, {Mixed, 2}, {Empty, 41}, {Full, 9}, {Mixed, 1},
774          {Full, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 2},
775          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Full, 2},
776          {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 5},
777          {Full, 1}, {Mixed, 2}, {Empty, 670}, {Mixed, 1}, {Empty, 26},
778          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
779          {Full, 1}, {Mixed, 1}, {Empty, 50}, {Mixed, 1}, {Empty, 1599},
780          {Mixed, 1}, {Empty, 246}, {Full, 1}, {Mixed, 1}, {Full, 2},
781          {Mixed, 1}, {Empty, 30843}},
782         {0x00cf0000, 0x00008000, 0x00000080, 0xfff00000, 0x0000000f,
783          0x07c007c0, 0xf8000000, 0xffffc000, 0x00060000, 0x00020000,
784          0x00200000, 0x00000010, 0x0000000c, 0x00010000, 0x20000000,
785          0x03000000, 0xff00000c, 0x20000000, 0x00000010, 0xfe3f000c,
786          0x00001800, 0x001c4000, 0xfc380904, 0xfc000000, 0xc3ffffff,
787          0x00000400, 0x03ffc7ff, 0xf8ffffff, 0xffffe3ff, 0xfffff800,
788          0x0000007f, 0xf0000000, 0xfc000000, 0x00000010, 0x00010000,
789          0x00008000, 0x000001e0, 0x20000000, 0x1ff80000, 0x0000000f,
790          0x00001000, 0x0000f000, 0xf8000000, 0xfffffff0, 0x001f1fff,
791          0x3f0ee000, 0xcf000000, 0x0001ffff, 0x00002000, 0xffff0000,
792          0x0000000f, 0xf0000000, 0x0000000f, 0x00000fff, 0xf00ffffc,
793          0x00ffffff, 0xf8000000, 0xfffffffc, 0x00001fff, 0xf8000000,
794          0x03ffc01f, 0x800fffff, 0x007fffff, 0xf3ff3fff, 0x00000070,
795          0x0fff0000, 0xffff0000, 0x3fffffff, 0x1fffffff, 0x0001ffff,
796          0x83ffffff, 0x00000200, 0xffff0fff, 0x000fffff}};
797    /** Code Point Ranges for V5_2
798    [1316, 1317], [2048, 2093], [2096, 2110], [2304, 2304], [2382, 2382],
799    [2389, 2389], [2425, 2426], [2555, 2555], [4053, 4056], [4250, 4253],
800    [4442, 4446], [4515, 4519], [4602, 4607], [5120, 5120], [5751, 5759],
801    [6320, 6389], [6570, 6571], [6618, 6618], [6688, 6750], [6752, 6780],
802    [6783, 6793], [6800, 6809], [6816, 6829], [7376, 7410], [7677, 7677],
803    [8374, 8376], [8528, 8530], [8585, 8585], [9192, 9192], [9886, 9887],
804    [9917, 9919], [9924, 9933], [9935, 9953], [9955, 9955], [9960, 9983],
805    [10071, 10071], [11093, 11097], [11376, 11376], [11390, 11391],
806    [11499, 11505], [11825, 11825], [12868, 12879], [40900, 40907],
807    [42192, 42239], [42656, 42743], [43056, 43065], [43232, 43259],
808    [43360, 43388], [43392, 43469], [43471, 43481], [43486, 43487],
809    [43616, 43643], [43648, 43714], [43739, 43743], [43968, 44013],
810    [44016, 44025], [55216, 55238], [55243, 55291], [64107, 64109],
811    [67648, 67669], [67671, 67679], [67866, 67867], [68192, 68223],
812    [68352, 68405], [68409, 68437], [68440, 68466], [68472, 68479],
813    [68608, 68680], [69216, 69246], [69760, 69825], [77824, 78894],
814    [127232, 127242], [127248, 127278], [127281, 127281], [127293, 127293],
815    [127295, 127295], [127298, 127298], [127302, 127302], [127306, 127310],
816    [127319, 127319], [127327, 127327], [127353, 127353], [127355, 127356],
817    [127359, 127359], [127370, 127373], [127376, 127376], [127488, 127488],
818    [127504, 127537], [127552, 127560], [173824, 177972]**/
819    const UnicodeSet v5_2_Set
820        {{{Empty, 41}, {Mixed, 1}, {Empty, 22}, {Full, 1}, {Mixed, 1},
821          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
822          {Mixed, 1}, {Empty, 46}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
823          {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
824          {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 18}, {Mixed, 1},
825          {Empty, 17}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 5},
826          {Mixed, 2}, {Empty, 2}, {Full, 1}, {Mixed, 4}, {Empty, 16},
827          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 21}, {Mixed, 1},
828          {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 18},
829          {Mixed, 1}, {Empty, 20}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
830          {Empty, 31}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 3},
831          {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 32}, {Mixed, 1},
832          {Empty, 875}, {Mixed, 1}, {Empty, 39}, {Mixed, 1}, {Full, 1},
833          {Empty, 13}, {Full, 2}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
834          {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 2},
835          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
836          {Empty, 7}, {Full, 1}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
837          {Empty, 275}, {Mixed, 1}, {Empty, 110}, {Mixed, 1}, {Empty, 5},
838          {Mixed, 1}, {Empty, 10}, {Full, 1}, {Empty, 4}, {Full, 1},
839          {Mixed, 3}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 16},
840          {Mixed, 1}, {Empty, 16}, {Full, 2}, {Mixed, 1}, {Empty, 249},
841          {Full, 33}, {Mixed, 1}, {Empty, 1510}, {Mixed, 5}, {Empty, 3},
842          {Mixed, 3}, {Empty, 1445}, {Full, 129}, {Mixed, 1},
843          {Empty, 29254}},
844         {0x00000030, 0x7fff3fff, 0x00000001, 0x00204000, 0x06000000,
845          0x08000000, 0x01e00000, 0x3c000000, 0x7c000000, 0x000000f8,
846          0xfc000000, 0x00000001, 0xff800000, 0xffff0000, 0x003fffff,
847          0x00000c00, 0x04000000, 0x7fffffff, 0x9fffffff, 0x03ff03ff,
848          0x00003fff, 0xffff0000, 0x0007ffff, 0x20000000, 0x01c00000,
849          0x00070000, 0x00000200, 0x00000100, 0xc0000000, 0xe0000000,
850          0xffffbff0, 0xffffff0b, 0x00800000, 0x03e00000, 0xc0010000,
851          0x0003f800, 0x00020000, 0x0000fff0, 0x00000ff0, 0xffff0000,
852          0x00ffffff, 0x03ff0000, 0x0fffffff, 0x1fffffff, 0xc3ffbfff,
853          0x0fffffff, 0xf8000007, 0x03ff3fff, 0xffff0000, 0xfffff87f,
854          0x0fffffff, 0x00003800, 0xffbfffff, 0x0c000000, 0xfe3fffff,
855          0xff3fffff, 0xff07ffff, 0x000001ff, 0x7fffffff, 0x00000003,
856          0x00007fff, 0xffff07ff, 0xa0027fff, 0x80807c44, 0x9a000000,
857          0x00013c00, 0xffff0001, 0x0003ffff, 0x000001ff, 0x001fffff}};
858    /** Code Point Ranges for V6_0
859    [1318, 1319], [1568, 1568], [1631, 1631], [2112, 2139], [2142, 2142],
860    [2362, 2363], [2383, 2383], [2390, 2391], [2419, 2423], [2930, 2935],
861    [3369, 3369], [3386, 3386], [3406, 3406], [3980, 3983], [4057, 4058],
862    [4957, 4958], [7104, 7155], [7164, 7167], [7676, 7676], [8341, 8348],
863    [8377, 8377], [9193, 9203], [9934, 9934], [9954, 9954], [9956, 9959],
864    [9989, 9989], [9994, 9995], [10024, 10024], [10060, 10060],
865    [10062, 10062], [10067, 10069], [10079, 10080], [10133, 10135],
866    [10160, 10160], [10175, 10175], [10190, 10191], [11632, 11632],
867    [11647, 11647], [12728, 12730], [42592, 42593], [42893, 42894],
868    [42896, 42897], [42912, 42921], [43002, 43002], [43777, 43782],
869    [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822],
870    [64434, 64449], [69632, 69709], [69714, 69743], [92160, 92728],
871    [110592, 110593], [127136, 127150], [127153, 127166], [127169, 127183],
872    [127185, 127199], [127280, 127280], [127282, 127292], [127294, 127294],
873    [127296, 127297], [127299, 127301], [127303, 127305], [127311, 127318],
874    [127320, 127326], [127328, 127337], [127344, 127352], [127354, 127354],
875    [127357, 127358], [127360, 127369], [127374, 127375], [127377, 127386],
876    [127462, 127487], [127489, 127490], [127538, 127546], [127568, 127569],
877    [127744, 127776], [127792, 127797], [127799, 127868], [127872, 127891],
878    [127904, 127940], [127942, 127946], [127968, 127984], [128000, 128062],
879    [128064, 128064], [128066, 128247], [128249, 128252], [128256, 128317],
880    [128336, 128359], [128507, 128511], [128513, 128528], [128530, 128532],
881    [128534, 128534], [128536, 128536], [128538, 128538], [128540, 128542],
882    [128544, 128549], [128552, 128555], [128557, 128557], [128560, 128563],
883    [128565, 128576], [128581, 128591], [128640, 128709], [128768, 128883],
884    [177984, 178205]**/
885    const UnicodeSet v6_0_Set
886        {{{Empty, 41}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 15},
887          {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 15}, {Mixed, 1},
888          {Empty, 13}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
889          {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 67}, {Full, 1},
890          {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 20}, {Mixed, 2},
891          {Empty, 25}, {Mixed, 1}, {Empty, 22}, {Mixed, 9}, {Empty, 44},
892          {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 933}, {Mixed, 1},
893          {Empty, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 24},
894          {Mixed, 2}, {Empty, 643}, {Mixed, 2}, {Empty, 161}, {Full, 2},
895          {Mixed, 2}, {Empty, 700}, {Full, 17}, {Mixed, 1}, {Empty, 558},
896          {Mixed, 1}, {Empty, 516}, {Mixed, 2}, {Empty, 2}, {Mixed, 4},
897          {Empty, 2}, {Mixed, 4}, {Empty, 5}, {Full, 1}, {Mixed, 1},
898          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1},
899          {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
900          {Empty, 3}, {Mixed, 4}, {Empty, 1}, {Full, 2}, {Mixed, 1},
901          {Empty, 1}, {Full, 3}, {Mixed, 1}, {Empty, 1534}, {Full, 6},
902          {Mixed, 1}, {Empty, 29247}},
903         {0x000000c0, 0x00000001, 0x80000000, 0x4fffffff, 0x0c000000,
904          0x00c08000, 0x00f80000, 0x00fc0000, 0x04000200, 0x00004000,
905          0x0000f000, 0x06000000, 0x60000000, 0xf00fffff, 0x10000000,
906          0x1fe00000, 0x02000000, 0x000ffe00, 0x00004000, 0x000000f4,
907          0x00000c20, 0x00000100, 0x80385000, 0x00000001, 0x00e00000,
908          0x80010000, 0x0000c000, 0x80010000, 0x07000000, 0x00000003,
909          0x00036000, 0x000003ff, 0x04000000, 0x007e7e7e, 0x00007f7f,
910          0xfffc0000, 0x00000003, 0xfffc3fff, 0x0000ffff, 0x01ffffff,
911          0x00000003, 0x7ffe7fff, 0xfffefffe, 0x5ffd0000, 0x7f7f83bb,
912          0x65ff03ff, 0x07fec3ff, 0xffffffc0, 0x00000006, 0x07fc0000,
913          0x00030000, 0xffbf0001, 0x1fffffff, 0x000fffff, 0x000007df,
914          0x0001ffff, 0x7fffffff, 0xfffffffd, 0x1effffff, 0x3fffffff,
915          0xffff0000, 0x000000ff, 0xf8000000, 0x755dfffe, 0xffef2f3f,
916          0x0000ffe1, 0x0000003f, 0x000fffff, 0x3fffffff}};
917    /** Code Point Ranges for V6_1
918    [1423, 1423], [1540, 1540], [2208, 2208], [2210, 2220], [2276, 2302],
919    [2800, 2800], [3806, 3807], [4295, 4295], [4301, 4301], [4349, 4351],
920    [7083, 7085], [7098, 7103], [7360, 7367], [7411, 7414], [10187, 10187],
921    [10189, 10189], [11506, 11507], [11559, 11559], [11565, 11565],
922    [11622, 11623], [11826, 11835], [40908, 40908], [42612, 42619],
923    [42655, 42655], [42898, 42899], [42922, 42922], [43000, 43001],
924    [43744, 43766], [64046, 64047], [67968, 68023], [68030, 68031],
925    [69840, 69864], [69872, 69881], [69888, 69940], [69942, 69955],
926    [70016, 70088], [70096, 70105], [71296, 71351], [71360, 71369],
927    [93952, 94020], [94032, 94078], [94095, 94111], [126464, 126467],
928    [126469, 126495], [126497, 126498], [126500, 126500], [126503, 126503],
929    [126505, 126514], [126516, 126519], [126521, 126521], [126523, 126523],
930    [126530, 126530], [126535, 126535], [126537, 126537], [126539, 126539],
931    [126541, 126543], [126545, 126546], [126548, 126548], [126551, 126551],
932    [126553, 126553], [126555, 126555], [126557, 126557], [126559, 126559],
933    [126561, 126562], [126564, 126564], [126567, 126570], [126572, 126578],
934    [126580, 126583], [126585, 126588], [126590, 126590], [126592, 126601],
935    [126603, 126619], [126625, 126627], [126629, 126633], [126635, 126651],
936    [126704, 126705], [127338, 127339], [128320, 128323], [128512, 128512],
937    [128529, 128529], [128533, 128533], [128535, 128535], [128537, 128537],
938    [128539, 128539], [128543, 128543], [128550, 128551], [128556, 128556],
939    [128558, 128559], [128564, 128564]**/
940    const UnicodeSet v6_1_Set
941        {{{Empty, 44}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 20},
942          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
943          {Empty, 30}, {Mixed, 1}, {Empty, 15}, {Mixed, 2}, {Empty, 85},
944          {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 86}, {Mixed, 1},
945          {Empty, 40}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
946          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 908}, {Mixed, 1},
947          {Empty, 52}, {Mixed, 2}, {Empty, 7}, {Mixed, 2}, {Empty, 1},
948          {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 633}, {Mixed, 1},
949          {Empty, 122}, {Full, 1}, {Mixed, 1}, {Empty, 56}, {Mixed, 2},
950          {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2}, {Mixed, 1},
951          {Empty, 37}, {Full, 1}, {Mixed, 2}, {Empty, 705}, {Full, 2},
952          {Mixed, 3}, {Empty, 1011}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
953          {Empty, 19}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 5},
954          {Mixed, 2}, {Empty, 30798}},
955         {0x00008000, 0x00000010, 0x00001ffd, 0x7ffffff0, 0x00010000,
956          0xc0000000, 0x00002080, 0xe0000000, 0xfc003800, 0x000000ff,
957          0x00780000, 0x00002800, 0x000c0000, 0x00002080, 0x000000c0,
958          0x0ffc0000, 0x00001000, 0x0ff00000, 0x80000000, 0x000c0000,
959          0x00000400, 0x03000000, 0x007fffff, 0x0000c000, 0xc0ffffff,
960          0xffff0000, 0x03ff01ff, 0xffdfffff, 0x0000000f, 0x03ff01ff,
961          0x00ffffff, 0x000003ff, 0xffff001f, 0x7fffffff, 0xffff8000,
962          0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff,
963          0x0ffffbee, 0x00030000, 0x00000c00, 0x0000000f, 0x8aa20001,
964          0x0010d0c0}};
965    /** Code Point Ranges for V6_2
966    [8378, 8378]**/
967    const UnicodeSet v6_2_Set
968        {{{Empty, 261}, {Mixed, 1}, {Empty, 34554}},
969         {0x04000000}};
970    /** Code Point Ranges for V6_3
971    [1564, 1564], [8294, 8297]**/
972    const UnicodeSet v6_3_Set
973        {{{Empty, 48}, {Mixed, 1}, {Empty, 210}, {Mixed, 1}, {Empty, 34556}},
974         {0x10000000, 0x000003c0}};
975    /** Code Point Ranges for V7_0
976    [895, 895], [1320, 1327], [1421, 1422], [1541, 1541], [2209, 2209],
977    [2221, 2226], [2303, 2303], [2424, 2424], [2432, 2432], [3072, 3072],
978    [3124, 3124], [3201, 3201], [3329, 3329], [3558, 3567], [5873, 5880],
979    [6429, 6430], [6832, 6846], [7416, 7417], [7655, 7669], [8379, 8381],
980    [9204, 9210], [9984, 9984], [11085, 11087], [11098, 11123],
981    [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
982    [11836, 11842], [42648, 42653], [42900, 42911], [42923, 42925],
983    [42928, 42929], [42999, 42999], [43488, 43518], [43644, 43647],
984    [43824, 43871], [43876, 43877], [65063, 65069], [65931, 65932],
985    [65952, 65952], [66272, 66299], [66335, 66335], [66384, 66426],
986    [66816, 66855], [66864, 66915], [66927, 66927], [67072, 67382],
987    [67392, 67413], [67424, 67431], [67680, 67742], [67751, 67759],
988    [68224, 68255], [68288, 68326], [68331, 68342], [68480, 68497],
989    [68505, 68508], [68521, 68527], [69759, 69759], [69968, 70006],
990    [70093, 70093], [70106, 70106], [70113, 70132], [70144, 70161],
991    [70163, 70205], [70320, 70378], [70384, 70393], [70401, 70403],
992    [70405, 70412], [70415, 70416], [70419, 70440], [70442, 70448],
993    [70450, 70451], [70453, 70457], [70460, 70468], [70471, 70472],
994    [70475, 70477], [70487, 70487], [70493, 70499], [70502, 70508],
995    [70512, 70516], [70784, 70855], [70864, 70873], [71040, 71093],
996    [71096, 71113], [71168, 71236], [71248, 71257], [71840, 71922],
997    [71935, 71935], [72384, 72440], [74607, 74648], [74851, 74862],
998    [74868, 74868], [92736, 92766], [92768, 92777], [92782, 92783],
999    [92880, 92909], [92912, 92917], [92928, 92997], [93008, 93017],
1000    [93019, 93025], [93027, 93047], [93053, 93071], [113664, 113770],
1001    [113776, 113788], [113792, 113800], [113808, 113817], [113820, 113827],
1002    [124928, 125124], [125127, 125142], [127167, 127167], [127200, 127221],
1003    [127243, 127244], [127777, 127788], [127798, 127798], [127869, 127869],
1004    [127892, 127903], [127941, 127941], [127947, 127950], [127956, 127967],
1005    [127985, 127991], [128063, 128063], [128065, 128065], [128248, 128248],
1006    [128253, 128254], [128318, 128319], [128324, 128330], [128360, 128377],
1007    [128379, 128419], [128421, 128506], [128577, 128578], [128592, 128639],
1008    [128710, 128719], [128736, 128748], [128752, 128755], [128896, 128980],
1009    [129024, 129035], [129040, 129095], [129104, 129113], [129120, 129159],
1010    [129168, 129197]**/
1011    const UnicodeSet v7_0_Set
1012        {{{Empty, 27}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 2},
1013          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
1014          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 19},
1015          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1016          {Empty, 6}, {Mixed, 1}, {Empty, 71}, {Mixed, 1}, {Empty, 16},
1017          {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 17}, {Mixed, 1},
1018          {Empty, 7}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 25},
1019          {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 33}, {Mixed, 5},
1020          {Empty, 18}, {Mixed, 2}, {Empty, 961}, {Mixed, 1}, {Empty, 7},
1021          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
1022          {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1},
1023          {Mixed, 1}, {Empty, 661}, {Mixed, 1}, {Empty, 26}, {Mixed, 2},
1024          {Empty, 9}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 12},
1025          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 4},
1026          {Full, 9}, {Mixed, 3}, {Empty, 7}, {Full, 1}, {Mixed, 2},
1027          {Empty, 14}, {Full, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
1028          {Empty, 4}, {Mixed, 2}, {Empty, 37}, {Mixed, 1}, {Empty, 6},
1029          {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
1030          {Full, 1}, {Mixed, 5}, {Empty, 8}, {Full, 2}, {Mixed, 1},
1031          {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2},
1032          {Mixed, 1}, {Empty, 18}, {Full, 2}, {Mixed, 1}, {Empty, 14},
1033          {Full, 1}, {Mixed, 1}, {Empty, 67}, {Mixed, 2}, {Empty, 6},
1034          {Mixed, 1}, {Empty, 558}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
1035          {Full, 2}, {Mixed, 3}, {Empty, 643}, {Full, 3}, {Mixed, 3},
1036          {Empty, 346}, {Full, 6}, {Mixed, 1}, {Empty, 62}, {Mixed, 1},
1037          {Empty, 1}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 1},
1038          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1039          {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
1040          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1041          {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Full, 2},
1042          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1043          {Full, 1}, {Mixed, 2}, {Empty, 30778}},
1044         {0x80000000, 0x0000ff00, 0x00006000, 0x00000020, 0x0007e002,
1045          0x80000000, 0x01000000, 0x00000001, 0x00000001, 0x00100000,
1046          0x00000002, 0x00000002, 0x0000ffc0, 0x01fe0000, 0x60000000,
1047          0x7fff0000, 0x03000000, 0x003fff80, 0x38000000, 0x07f00000,
1048          0x00000001, 0xfc00e000, 0xffcfffff, 0xff3fffff, 0xe3ffffff,
1049          0x0003fdff, 0xf0000000, 0x00000007, 0x3f000000, 0xfff00000,
1050          0x00033800, 0x00800000, 0x7fffffff, 0xf0000000, 0xffff0000,
1051          0x00000030, 0x00003f80, 0x00001800, 0x00000001, 0x0fffffff,
1052          0x80000000, 0xffff0000, 0x07ffffff, 0xffff00ff, 0x0000800f,
1053          0x007fffff, 0x003fffff, 0x000000ff, 0x7fffffff, 0x0000ff80,
1054          0x007ff87f, 0x1e03ffff, 0x0000fe00, 0x80000000, 0xffff0000,
1055          0x007fffff, 0x04002000, 0x001ffffe, 0xfffbffff, 0x3fffffff,
1056          0xffff0000, 0x03ff07ff, 0xfff99fee, 0xf3edfdff, 0xe080399f,
1057          0x001f1fcf, 0x03ff00ff, 0xff3fffff, 0x000003ff, 0x03ff001f,
1058          0x8007ffff, 0x01ffffff, 0xffff8000, 0x01ffffff, 0x00107ff8,
1059          0x7fffffff, 0x0000c3ff, 0xffff0000, 0x003f3fff, 0xfbff003f,
1060          0xe0fffffb, 0x0000ffff, 0x1fff07ff, 0xf3ff01ff, 0x0000000f,
1061          0x007fff9f, 0x80000000, 0x003fffff, 0x00001800, 0x00401ffe,
1062          0x20000000, 0xfff00000, 0xfff07820, 0x00fe0000, 0x80000000,
1063          0x00000002, 0x61000000, 0xc0000000, 0x000007f0, 0xfbffff00,
1064          0xffffffef, 0x07ffffff, 0xffff0006, 0x0000ffc0, 0x000f1fff,
1065          0x001fffff, 0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff}};
1066    /** Code Point Ranges for V8_0
1067    [2227, 2228], [2275, 2275], [2809, 2809], [3162, 3162], [3423, 3423],
1068    [5109, 5109], [5112, 5117], [8382, 8382], [8586, 8587], [11244, 11247],
1069    [40909, 40917], [42654, 42654], [42895, 42895], [42930, 42935],
1070    [43260, 43261], [43872, 43875], [43888, 43967], [65070, 65071],
1071    [67808, 67826], [67828, 67829], [67835, 67839], [68028, 68029],
1072    [68032, 68047], [68050, 68095], [68736, 68786], [68800, 68850],
1073    [68858, 68863], [70089, 70092], [70107, 70111], [70272, 70278],
1074    [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70313],
1075    [70400, 70400], [70480, 70480], [71114, 71133], [71424, 71449],
1076    [71453, 71467], [71472, 71487], [74649, 74649], [74880, 75075],
1077    [82944, 83526], [119262, 119272], [120832, 121483], [121499, 121503],
1078    [121505, 121519], [127789, 127791], [127870, 127871], [127951, 127955],
1079    [127992, 127999], [128255, 128255], [128331, 128335], [128579, 128580],
1080    [128720, 128720], [129296, 129304], [129408, 129412], [129472, 129472],
1081    [178208, 183969]**/
1082    const UnicodeSet v8_0_Set
1083        {{{Empty, 69}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 15},
1084          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1085          {Empty, 52}, {Mixed, 1}, {Empty, 101}, {Mixed, 1}, {Empty, 6},
1086          {Mixed, 1}, {Empty, 82}, {Mixed, 1}, {Empty, 926}, {Mixed, 1},
1087          {Empty, 53}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 9},
1088          {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Full, 2}, {Empty, 659},
1089          {Mixed, 1}, {Empty, 85}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
1090          {Full, 1}, {Empty, 20}, {Full, 1}, {Mixed, 1}, {Full, 1},
1091          {Mixed, 1}, {Empty, 38}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
1092          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 19},
1093          {Mixed, 1}, {Empty, 9}, {Mixed, 2}, {Empty, 98}, {Mixed, 1},
1094          {Empty, 7}, {Full, 6}, {Mixed, 1}, {Empty, 245}, {Full, 18},
1095          {Mixed, 1}, {Empty, 1115}, {Mixed, 2}, {Empty, 48}, {Full, 20},
1096          {Mixed, 2}, {Empty, 195}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1097          {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 2},
1098          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1099          {Empty, 17}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1100          {Mixed, 1}, {Empty, 1522}, {Full, 180}, {Mixed, 1},
1101          {Empty, 29066}},
1102         {0x00180000, 0x00000008, 0x02000000, 0x04000000, 0x80000000,
1103          0x3f200000, 0x40000000, 0x00000c00, 0x0000f000, 0x003fe000,
1104          0x40000000, 0x00008000, 0x00fc0000, 0x30000000, 0xffff000f,
1105          0x0000c000, 0xf837ffff, 0x30000000, 0xfffcffff, 0x0007ffff,
1106          0xfc07ffff, 0xf8001e00, 0xbfffbd7f, 0x000003ff, 0x00000001,
1107          0x00010000, 0x3ffffc00, 0xe3ffffff, 0xffff0fff, 0x02000000,
1108          0x0000000f, 0x0000007f, 0xc0000000, 0x000001ff, 0xf8000fff,
1109          0x0000fffe, 0x0000e000, 0xc0000000, 0x000f8000, 0xff000000,
1110          0x80000000, 0x0000f800, 0x00000018, 0x00010000, 0x01ff0000,
1111          0x0000001f, 0x00000001, 0x00000003}};
1112    /** Code Point Ranges for V9_0
1113    [2230, 2237], [2260, 2274], [3200, 3200], [3407, 3407], [3412, 3414],
1114    [3416, 3422], [3446, 3448], [7296, 7304], [7675, 7675], [9211, 9214],
1115    [11843, 11844], [42926, 42926], [43205, 43205], [65933, 65934],
1116    [66736, 66771], [66776, 66811], [70206, 70206], [70656, 70745],
1117    [70747, 70747], [70749, 70749], [71264, 71276], [72704, 72712],
1118    [72714, 72758], [72760, 72773], [72784, 72812], [72816, 72847],
1119    [72850, 72871], [72873, 72886], [94176, 94176], [94208, 100332],
1120    [100352, 101106], [122880, 122886], [122888, 122904], [122907, 122913],
1121    [122915, 122916], [122918, 122922], [125184, 125258], [125264, 125273],
1122    [125278, 125279], [127387, 127404], [127547, 127547], [128378, 128378],
1123    [128420, 128420], [128721, 128722], [128756, 128758], [129305, 129310],
1124    [129312, 129319], [129328, 129328], [129331, 129342], [129344, 129355],
1125    [129360, 129374], [129413, 129425]**/
1126    const UnicodeSet v9_0_Set
1127        {{{Empty, 69}, {Mixed, 3}, {Empty, 28}, {Mixed, 1}, {Empty, 5},
1128          {Mixed, 2}, {Empty, 120}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
1129          {Empty, 47}, {Mixed, 1}, {Empty, 82}, {Mixed, 1}, {Empty, 970},
1130          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 709}, {Mixed, 1},
1131          {Empty, 24}, {Mixed, 3}, {Empty, 105}, {Mixed, 1}, {Empty, 14},
1132          {Full, 2}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 44},
1133          {Mixed, 6}, {Empty, 665}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
1134          {Full, 23}, {Mixed, 1}, {Empty, 680}, {Mixed, 2}, {Empty, 70},
1135          {Full, 2}, {Mixed, 1}, {Empty, 65}, {Mixed, 2}, {Empty, 3},
1136          {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1137          {Empty, 8}, {Mixed, 2}, {Empty, 16}, {Mixed, 3}, {Empty, 1},
1138          {Mixed, 1}, {Empty, 30771}},
1139         {0x3fc00000, 0xfff00000, 0x00000007, 0x00000001, 0x7f708000,
1140          0x01c00000, 0x000001ff, 0x08000000, 0x78000000, 0x00000018,
1141          0x00004000, 0x00000020, 0x00006000, 0xffff0000, 0xff0fffff,
1142          0x0fffffff, 0x40000000, 0x2bffffff, 0x00001fff, 0xfffffdff,
1143          0xff7fffff, 0xffff003f, 0xffff1fff, 0xfffcffff, 0x007ffeff,
1144          0x00000001, 0x00001fff, 0x0007ffff, 0xf9ffff7f, 0x000007db,
1145          0xc3ff07ff, 0xf8000000, 0x00001fff, 0x08000000, 0x04000000,
1146          0x00000010, 0x00060000, 0x00700000, 0x7e000000, 0x7ff900ff,
1147          0x7fff0fff, 0x0003ffe0}};
1148    static EnumeratedPropertyObject property_object
1149        {age,
1150         AGE_ns::independent_prop_values,
1151         AGE_ns::enum_names,
1152         AGE_ns::value_names,
1153         AGE_ns::aliases_only_map,
1154         {&unassigned_Set, &v1_1_Set, &v2_0_Set, &v2_1_Set, &v3_0_Set,
1155        &v3_1_Set, &v3_2_Set, &v4_0_Set, &v4_1_Set, &v5_0_Set, &v5_1_Set,
1156        &v5_2_Set, &v6_0_Set, &v6_1_Set, &v6_2_Set, &v6_3_Set, &v7_0_Set,
1157        &v8_0_Set, &v9_0_Set
1158         }};
1159    }
1160}
1161
1162#endif
Note: See TracBrowser for help on using the repository browser.