source: icGREP/icgrep-devel/icgrep/UCD/LineBreak.h @ 5686

Last change on this file since 5686 was 5686, checked in by cameron, 2 years ago

Update to UCD 10.0.0

File size: 104.7 KB
Line 
1#ifndef LINEBREAK_H
2#define LINEBREAK_H
3/*
4 *  Copyright (c) 2017 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "unicode_set.h"
15
16namespace UCD {
17  namespace LB_ns {
18    const unsigned independent_prop_values = 43;
19    /** Code Point Ranges for XX
20    [0378, 0379], [0380, 0383], [038b, 038b], [038d, 038d], [03a2, 03a2],
21    [0530, 0530], [0557, 0558], [0560, 0560], [0588, 0588], [058b, 058c],
22    [0590, 0590], [05c8, 05cf], [05eb, 05ef], [05f5, 05ff], [061d, 061d],
23    [070e, 070e], [074b, 074c], [07b2, 07bf], [07fb, 07ff], [082e, 082f],
24    [083f, 083f], [085c, 085d], [085f, 085f], [086b, 089f], [08b5, 08b5],
25    [08be, 08d3], [0984, 0984], [098d, 098e], [0991, 0992], [09a9, 09a9],
26    [09b1, 09b1], [09b3, 09b5], [09ba, 09bb], [09c5, 09c6], [09c9, 09ca],
27    [09cf, 09d6], [09d8, 09db], [09de, 09de], [09e4, 09e5], [09fe, 0a00],
28    [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29], [0a31, 0a31],
29    [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46],
30    [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65],
31    [0a76, 0a80], [0a84, 0a84], [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9],
32    [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca],
33    [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5], [0af2, 0af8], [0b00, 0b00],
34    [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12], [0b29, 0b29], [0b31, 0b31],
35    [0b34, 0b34], [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55],
36    [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65], [0b78, 0b81], [0b84, 0b84],
37    [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d],
38    [0ba0, 0ba2], [0ba5, 0ba7], [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5],
39    [0bc9, 0bc9], [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff],
40    [0c04, 0c04], [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c],
41    [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f],
42    [0c64, 0c65], [0c70, 0c77], [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91],
43    [0ca9, 0ca9], [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9],
44    [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0],
45    [0cf3, 0cff], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11], [0d45, 0d45],
46    [0d49, 0d49], [0d50, 0d53], [0d64, 0d65], [0d80, 0d81], [0d84, 0d84],
47    [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
48    [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5], [0df0, 0df1],
49    [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80], [0e83, 0e83], [0e85, 0e86],
50    [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0],
51    [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eba, 0eba],
52    [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf], [0eda, 0edb],
53    [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70], [0f98, 0f98], [0fbd, 0fbd],
54    [0fcd, 0fcd], [0fdb, 0fff], [10c6, 10c6], [10c8, 10cc], [10ce, 10cf],
55    [1249, 1249], [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f],
56    [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7], [12bf, 12bf],
57    [12c1, 12c1], [12c6, 12c7], [12d7, 12d7], [1311, 1311], [1316, 1317],
58    [135b, 135c], [137d, 137f], [139a, 139f], [13f6, 13f7], [13fe, 13ff],
59    [169d, 169f], [16f9, 16ff], [170d, 170d], [1715, 171f], [1737, 173f],
60    [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f], [17de, 17df],
61    [17ea, 17ef], [17fa, 17ff], [180f, 180f], [181a, 181f], [1878, 187f],
62    [18ab, 18af], [18f6, 18ff], [191f, 191f], [192c, 192f], [193c, 193f],
63    [1941, 1943], [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
64    [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f],
65    [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff], [1b4c, 1b4f], [1b7d, 1b7f],
66    [1bf4, 1bfb], [1c38, 1c3a], [1c4a, 1c4c], [1c89, 1cbf], [1cc8, 1ccf],
67    [1cfa, 1cff], [1dfa, 1dfa], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47],
68    [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e],
69    [1f7e, 1f7f], [1fb5, 1fb5], [1fc5, 1fc5], [1fd4, 1fd5], [1fdc, 1fdc],
70    [1ff0, 1ff1], [1ff5, 1ff5], [1fff, 1fff], [2065, 2065], [2072, 2073],
71    [208f, 208f], [209d, 209f], [20f1, 20ff], [218c, 218f], [2427, 243f],
72    [244b, 245f], [2b74, 2b75], [2b96, 2b97], [2bba, 2bbc], [2bc9, 2bc9],
73    [2bd3, 2beb], [2bf0, 2bff], [2c2f, 2c2f], [2c5f, 2c5f], [2cf4, 2cf8],
74    [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f], [2d68, 2d6e], [2d71, 2d7e],
75    [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf], [2db7, 2db7], [2dbf, 2dbf],
76    [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7], [2ddf, 2ddf], [2e4a, 2e7f],
77    [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef], [2ffc, 2fff], [3040, 3040],
78    [3097, 3098], [3100, 3104], [312f, 3130], [318f, 318f], [31bb, 31bf],
79    [31e4, 31ef], [321f, 321f], [32ff, 32ff], [a48d, a48f], [a4c7, a4cf],
80    [a62c, a63f], [a6f8, a6ff], [a7af, a7af], [a7b8, a7f6], [a82c, a82f],
81    [a83a, a83f], [a878, a87f], [a8c6, a8cd], [a8da, a8df], [a8fe, a8ff],
82    [a954, a95e], [a97d, a97f], [a9ce, a9ce], [a9da, a9dd], [a9ff, a9ff],
83    [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5b], [aac3, aada], [aaf7, ab00],
84    [ab07, ab08], [ab0f, ab10], [ab17, ab1f], [ab27, ab27], [ab2f, ab2f],
85    [ab66, ab6f], [abee, abef], [abfa, abff], [d7a4, d7af], [d7c7, d7ca],
86    [d7fc, d7ff], [e000, f8ff], [fb07, fb12], [fb18, fb1c], [fb37, fb37],
87    [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42], [fb45, fb45], [fbc2, fbd2],
88    [fd40, fd4f], [fd90, fd91], [fdc8, fdef], [fdfe, fdff], [fe1a, fe1f],
89    [fe53, fe53], [fe67, fe67], [fe6c, fe6f], [fe75, fe75], [fefd, fefe],
90    [ff00, ff00], [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9],
91    [ffdd, ffdf], [ffe7, ffe7], [ffef, fff8], [fffe, ffff], [1000c, 1000c],
92    [10027, 10027], [1003b, 1003b], [1003e, 1003e], [1004e, 1004f],
93    [1005e, 1007f], [100fb, 100ff], [10103, 10106], [10134, 10136],
94    [1018f, 1018f], [1019c, 1019f], [101a1, 101cf], [101fe, 1027f],
95    [1029d, 1029f], [102d1, 102df], [102fc, 102ff], [10324, 1032c],
96    [1034b, 1034f], [1037b, 1037f], [1039e, 1039e], [103c4, 103c7],
97    [103d6, 103ff], [1049e, 1049f], [104aa, 104af], [104d4, 104d7],
98    [104fc, 104ff], [10528, 1052f], [10564, 1056e], [10570, 105ff],
99    [10737, 1073f], [10756, 1075f], [10768, 107ff], [10806, 10807],
100    [10809, 10809], [10836, 10836], [10839, 1083b], [1083d, 1083e],
101    [10856, 10856], [1089f, 108a6], [108b0, 108df], [108f3, 108f3],
102    [108f6, 108fa], [1091c, 1091e], [1093a, 1093e], [10940, 1097f],
103    [109b8, 109bb], [109d0, 109d1], [10a04, 10a04], [10a07, 10a0b],
104    [10a14, 10a14], [10a18, 10a18], [10a34, 10a37], [10a3b, 10a3e],
105    [10a48, 10a4f], [10a59, 10a5f], [10aa0, 10abf], [10ae7, 10aea],
106    [10af7, 10aff], [10b36, 10b38], [10b56, 10b57], [10b73, 10b77],
107    [10b92, 10b98], [10b9d, 10ba8], [10bb0, 10bff], [10c49, 10c7f],
108    [10cb3, 10cbf], [10cf3, 10cf9], [10d00, 10e5f], [10e7f, 10fff],
109    [1104e, 11051], [11070, 1107e], [110c2, 110cf], [110e9, 110ef],
110    [110fa, 110ff], [11135, 11135], [11144, 1114f], [11177, 1117f],
111    [111ce, 111cf], [111e0, 111e0], [111f5, 111ff], [11212, 11212],
112    [1123f, 1127f], [11287, 11287], [11289, 11289], [1128e, 1128e],
113    [1129e, 1129e], [112aa, 112af], [112eb, 112ef], [112fa, 112ff],
114    [11304, 11304], [1130d, 1130e], [11311, 11312], [11329, 11329],
115    [11331, 11331], [11334, 11334], [1133a, 1133b], [11345, 11346],
116    [11349, 1134a], [1134e, 1134f], [11351, 11356], [11358, 1135c],
117    [11364, 11365], [1136d, 1136f], [11375, 113ff], [1145a, 1145a],
118    [1145c, 1145c], [1145e, 1147f], [114c8, 114cf], [114da, 1157f],
119    [115b6, 115b7], [115de, 115ff], [11645, 1164f], [1165a, 1165f],
120    [1166d, 1167f], [116b8, 116bf], [116ca, 116ff], [1171a, 1171c],
121    [1172c, 1172f], [11740, 1189f], [118f3, 118fe], [11900, 119ff],
122    [11a48, 11a4f], [11a84, 11a85], [11a9d, 11a9d], [11aa3, 11abf],
123    [11af9, 11bff], [11c09, 11c09], [11c37, 11c37], [11c46, 11c4f],
124    [11c6d, 11c6f], [11c90, 11c91], [11ca8, 11ca8], [11cb7, 11cff],
125    [11d07, 11d07], [11d0a, 11d0a], [11d37, 11d39], [11d3b, 11d3b],
126    [11d3e, 11d3e], [11d48, 11d4f], [11d5a, 11fff], [1239a, 123ff],
127    [1246f, 1246f], [12475, 1247f], [12544, 12fff], [1342f, 143ff],
128    [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d],
129    [16a70, 16acf], [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f],
130    [16b5a, 16b5a], [16b62, 16b62], [16b78, 16b7c], [16b90, 16eff],
131    [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf], [16fe2, 16fff],
132    [187ed, 187ff], [18af3, 1afff], [1b11f, 1b16f], [1b2fc, 1bbff],
133    [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f], [1bc9a, 1bc9b],
134    [1bca4, 1cfff], [1d0f6, 1d0ff], [1d127, 1d128], [1d1e9, 1d1ff],
135    [1d246, 1d2ff], [1d357, 1d35f], [1d372, 1d3ff], [1d455, 1d455],
136    [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4], [1d4a7, 1d4a8],
137    [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc], [1d4c4, 1d4c4],
138    [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515], [1d51d, 1d51d],
139    [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545], [1d547, 1d549],
140    [1d551, 1d551], [1d6a6, 1d6a7], [1d7cc, 1d7cd], [1da8c, 1da9a],
141    [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a],
142    [1e022, 1e022], [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8c6],
143    [1e8d7, 1e8ff], [1e94b, 1e94f], [1e95a, 1e95d], [1e960, 1edff],
144    [1ee04, 1ee04], [1ee20, 1ee20], [1ee23, 1ee23], [1ee25, 1ee26],
145    [1ee28, 1ee28], [1ee33, 1ee33], [1ee38, 1ee38], [1ee3a, 1ee3a],
146    [1ee3c, 1ee41], [1ee43, 1ee46], [1ee48, 1ee48], [1ee4a, 1ee4a],
147    [1ee4c, 1ee4c], [1ee50, 1ee50], [1ee53, 1ee53], [1ee55, 1ee56],
148    [1ee58, 1ee58], [1ee5a, 1ee5a], [1ee5c, 1ee5c], [1ee5e, 1ee5e],
149    [1ee60, 1ee60], [1ee63, 1ee63], [1ee65, 1ee66], [1ee6b, 1ee6b],
150    [1ee73, 1ee73], [1ee78, 1ee78], [1ee7d, 1ee7d], [1ee7f, 1ee7f],
151    [1ee8a, 1ee8a], [1ee9c, 1eea0], [1eea4, 1eea4], [1eeaa, 1eeaa],
152    [1eebc, 1eeef], [1eef2, 1efff], [1fffe, 1ffff], [2fffe, 2ffff],
153    [3fffe, e0000], [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
154    const UnicodeSet xx_Set
155        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
156          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
157          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
158          {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29},
159          {Empty, 1}, {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1},
160          {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1},
161          {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
162          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1},
163          {Empty, 20}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2},
164          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
165          {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
166          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2},
167          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
168          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7},
169          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
170          {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
171          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 2},
172          {Empty, 56}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
173          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
174          {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
175          {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
176          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
177          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
178          {Empty, 908}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10},
179          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
180          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
181          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
182          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
183          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
184          {Empty, 349}, {Mixed, 3}, {Empty, 64}, {Full, 200}, {Empty, 16},
185          {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
186          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
187          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
188          {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
189          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
190          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
191          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
192          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
193          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
194          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
195          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
196          {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
197          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
198          {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
199          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
200          {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
201          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
202          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
203          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
204          {Empty, 2}, {Mixed, 1}, {Full, 8}, {Empty, 2}, {Mixed, 1},
205          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 8},
206          {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 21}, {Empty, 28},
207          {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
208          {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126},
209          {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3},
210          {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27},
211          {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191},
212          {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8},
213          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
214          {Full, 72}, {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7},
215          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
216          {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
217          {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
218          {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
219          {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2},
220          {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
221          {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
222          {Full, 8}, {Empty, 127}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
223          {Empty, 2047}, {Mixed, 1}, {Full, 20480}, {Mixed, 1}, {Empty, 3},
224          {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 6128}},
225         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
226          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
227          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
228          0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00066010,
229          0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811, 0x2c920200,
230          0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440,
231          0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030,
232          0x29c23813, 0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010,
233          0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200,
234          0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220, 0x00000030,
235          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
236          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
237          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
238          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
239          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
240          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
241          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
242          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
243          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
244          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
245          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
246          0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
247          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
248          0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800, 0x00300000,
249          0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff, 0x00008000,
250          0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00, 0xff800000,
251          0x80808080, 0x80808080, 0xfffffc00, 0x04000000, 0xfff00000,
252          0xffc00000, 0xf000ffff, 0x00000001, 0x01800000, 0x0000001f,
253          0x00018000, 0x00008000, 0xf8000000, 0x0000fff0, 0x80000000,
254          0x80000000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
255          0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
256          0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
257          0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
258          0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
259          0xf0000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
260          0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000,
261          0x00080000, 0x0020f080, 0x60000000, 0x00000001, 0x80000000,
262          0xe3030303, 0xc1ff8080, 0x00001000, 0x48000080, 0xc000c000,
263          0xf8000000, 0x00000078, 0x00700000, 0xf0008000, 0xfffffffe,
264          0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000,
265          0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
266          0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00,
267          0xffff7ff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
268          0x6e400000, 0x00400000, 0x80000000, 0xffff007f, 0x07c80000,
269          0x70000000, 0x7c000000, 0x0f000000, 0x00030000, 0x01100f90,
270          0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000, 0x00c00000,
271          0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
272          0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc,
273          0xfc00fe00, 0x00200000, 0x0000fff0, 0xff800000, 0x0000c000,
274          0xffe00001, 0x00040000, 0x80000000, 0x40004280, 0x0000fc00,
275          0xfc00f800, 0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030,
276          0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0,
277          0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000,
278          0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000,
279          0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000,
280          0xff800100, 0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000,
281          0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000,
282          0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0,
283          0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
284          0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff,
285          0xf0000000, 0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000,
286          0x00000180, 0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000,
287          0x00200000, 0x20000000, 0x1400219b, 0x00000010, 0x20201840,
288          0x84000000, 0x000203a0, 0x000000c0, 0x00003000, 0x07fff000,
289          0xffff0001, 0x06000080, 0xfffff824, 0xff800060, 0x3c00f800,
290          0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400,
291          0xf0000411, 0xfffcffff, 0xc0000000, 0xc0000000, 0xc0000000,
292          0xfffffffd, 0xffff0000}};
293    /** Code Point Ranges for CM
294    [0000, 0008], [000e, 001f], [007f, 0084], [0086, 009f], [0300, 034e],
295    [0350, 035b], [0363, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf],
296    [05c1, 05c2], [05c4, 05c5], [05c7, 05c7], [0610, 061a], [061c, 061c],
297    [064b, 065f], [0670, 0670], [06d6, 06dc], [06df, 06e4], [06e7, 06e8],
298    [06ea, 06ed], [0711, 0711], [0730, 074a], [07a6, 07b0], [07eb, 07f3],
299    [0816, 0819], [081b, 0823], [0825, 0827], [0829, 082d], [0859, 085b],
300    [08d4, 08e1], [08e3, 0903], [093a, 093c], [093e, 094f], [0951, 0957],
301    [0962, 0963], [0981, 0983], [09bc, 09bc], [09be, 09c4], [09c7, 09c8],
302    [09cb, 09cd], [09d7, 09d7], [09e2, 09e3], [0a01, 0a03], [0a3c, 0a3c],
303    [0a3e, 0a42], [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71],
304    [0a75, 0a75], [0a81, 0a83], [0abc, 0abc], [0abe, 0ac5], [0ac7, 0ac9],
305    [0acb, 0acd], [0ae2, 0ae3], [0afa, 0aff], [0b01, 0b03], [0b3c, 0b3c],
306    [0b3e, 0b44], [0b47, 0b48], [0b4b, 0b4d], [0b56, 0b57], [0b62, 0b63],
307    [0b82, 0b82], [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcd], [0bd7, 0bd7],
308    [0c00, 0c03], [0c3e, 0c44], [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56],
309    [0c62, 0c63], [0c81, 0c83], [0cbc, 0cbc], [0cbe, 0cc4], [0cc6, 0cc8],
310    [0cca, 0ccd], [0cd5, 0cd6], [0ce2, 0ce3], [0d00, 0d03], [0d3b, 0d3c],
311    [0d3e, 0d44], [0d46, 0d48], [0d4a, 0d4d], [0d57, 0d57], [0d62, 0d63],
312    [0d82, 0d83], [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf],
313    [0df2, 0df3], [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
314    [0f3e, 0f3f], [0f71, 0f7e], [0f80, 0f84], [0f86, 0f87], [0f8d, 0f97],
315    [0f99, 0fbc], [0fc6, 0fc6], [135d, 135f], [1712, 1714], [1732, 1734],
316    [1752, 1753], [1772, 1773], [180b, 180d], [1885, 1886], [18a9, 18a9],
317    [1920, 192b], [1930, 193b], [1a17, 1a1b], [1a7f, 1a7f], [1ab0, 1abe],
318    [1b00, 1b04], [1b34, 1b44], [1b6b, 1b73], [1b80, 1b82], [1ba1, 1bad],
319    [1be6, 1bf3], [1c24, 1c37], [1cd0, 1cd2], [1cd4, 1ce8], [1ced, 1ced],
320    [1cf2, 1cf4], [1cf7, 1cf9], [1dc0, 1df9], [1dfb, 1dff], [200c, 200c],
321    [200e, 200f], [202a, 202e], [2066, 206f], [20d0, 20f0], [2cef, 2cf1],
322    [2d7f, 2d7f], [2de0, 2dff], [302a, 302f], [3035, 3035], [3099, 309a],
323    [a66f, a672], [a674, a67d], [a69e, a69f], [a6f0, a6f1], [a802, a802],
324    [a806, a806], [a80b, a80b], [a823, a827], [a880, a881], [a8b4, a8c5],
325    [a8e0, a8f1], [a926, a92d], [a947, a953], [a980, a983], [a9b3, a9c0],
326    [aa29, aa36], [aa43, aa43], [aa4c, aa4d], [aaeb, aaef], [aaf5, aaf6],
327    [abe3, abea], [abec, abed], [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f],
328    [fff9, fffb], [101fd, 101fd], [102e0, 102e0], [10376, 1037a],
329    [10a01, 10a03], [10a05, 10a06], [10a0c, 10a0f], [10a38, 10a3a],
330    [10a3f, 10a3f], [10ae5, 10ae6], [11000, 11002], [11038, 11046],
331    [1107f, 11082], [110b0, 110ba], [11100, 11102], [11127, 11134],
332    [11173, 11173], [11180, 11182], [111b3, 111c0], [111ca, 111cc],
333    [1122c, 11237], [1123e, 1123e], [112df, 112ea], [11300, 11303],
334    [1133c, 1133c], [1133e, 11344], [11347, 11348], [1134b, 1134d],
335    [11357, 11357], [11362, 11363], [11366, 1136c], [11370, 11374],
336    [11435, 11446], [114b0, 114c3], [115af, 115b5], [115b8, 115c0],
337    [115dc, 115dd], [11630, 11640], [116ab, 116b7], [11a01, 11a0a],
338    [11a33, 11a39], [11a3b, 11a3e], [11a47, 11a47], [11a51, 11a5b],
339    [11a8a, 11a99], [11c2f, 11c36], [11c38, 11c3f], [11c92, 11ca7],
340    [11ca9, 11cb6], [11d31, 11d36], [11d3a, 11d3a], [11d3c, 11d3d],
341    [11d3f, 11d45], [11d47, 11d47], [16af0, 16af4], [16b30, 16b36],
342    [16f51, 16f7e], [16f8f, 16f92], [1bc9d, 1bc9e], [1bca0, 1bca3],
343    [1d165, 1d169], [1d16d, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad],
344    [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75],
345    [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006],
346    [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a],
347    [1e8d0, 1e8d6], [1e944, 1e94a], [e0001, e0001], [e0020, e007f],
348    [e0100, e01ef]**/
349    const UnicodeSet cm_Set
350        {{{Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 19}, {Full, 2},
351          {Mixed, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 7}, {Mixed, 3},
352          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
353          {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
354          {Empty, 3}, {Mixed, 25}, {Empty, 1}, {Mixed, 13}, {Empty, 1},
355          {Mixed, 2}, {Empty, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
356          {Empty, 27}, {Mixed, 1}, {Empty, 29}, {Mixed, 4}, {Empty, 4},
357          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
358          {Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
359          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
360          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
361          {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 1},
362          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 95}, {Mixed, 1},
363          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17},
364          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942}, {Mixed, 2},
365          {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 2},
366          {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
367          {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
368          {Mixed, 1}, {Empty, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 2},
369          {Empty, 13}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 7},
370          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
371          {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
372          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
373          {Empty, 4}, {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
374          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
375          {Empty, 2}, {Mixed, 1}, {Empty, 26}, {Mixed, 3}, {Empty, 1},
376          {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
377          {Empty, 3}, {Mixed, 2}, {Empty, 620}, {Mixed, 1}, {Empty, 1},
378          {Mixed, 1}, {Empty, 32}, {Mixed, 3}, {Empty, 615}, {Mixed, 2},
379          {Empty, 165}, {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 61},
380          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42},
381          {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
382          {Empty, 24757}, {Mixed, 1}, {Full, 3}, {Empty, 4}, {Full, 7},
383          {Mixed, 1}, {Empty, 6128}},
384         {0xffffc1ff, 0x80000000, 0xffffffdf, 0x0fff7fff, 0x0000fff8,
385          0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x17ff0000,
386          0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000,
387          0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000,
388          0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb, 0x0000000f,
389          0xdc000000, 0x00feffff, 0x0000000c, 0x0000000e, 0xd0000000,
390          0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000, 0x00023987,
391          0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf, 0xfc00000c,
392          0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c, 0x00000004,
393          0xc0000000, 0x00803dc7, 0x0000000f, 0xc0000000, 0x00603ddf,
394          0x0000000c, 0x0000000e, 0xd0000000, 0x00603ddf, 0x0000000c,
395          0x0000000f, 0xd8000000, 0x00803ddf, 0x0000000c, 0x0000000c,
396          0xff5f8400, 0x000c0000, 0x03000000, 0xc2a00000, 0x7ffe0000,
397          0xfeffe0df, 0x1fffffff, 0x00000040, 0xe0000000, 0x001c0000,
398          0x001c0000, 0x000c0000, 0x000c0000, 0x00003800, 0x00000060,
399          0x00000200, 0x0fff0fff, 0x0f800000, 0x80000000, 0x7fff0000,
400          0x0000001f, 0xfff00000, 0x0000001f, 0x000ff800, 0x00000007,
401          0x00003ffe, 0x000fffc0, 0x00fffff0, 0xfff70000, 0x039c21ff,
402          0xfbffffff, 0x0000d000, 0x00007c00, 0x0000ffc0, 0xffff0000,
403          0x0001ffff, 0x00038000, 0x80000000, 0x0020fc00, 0x06000000,
404          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x000000f8,
405          0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0,
406          0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x007ffe00,
407          0x00003008, 0x0060f800, 0x000037f8, 0x40000000, 0x0000ffff,
408          0x0000ffff, 0x0e000000, 0x20000000, 0x00000001, 0x07c00000,
409          0x0000f06e, 0x87000000, 0x00000060, 0x00000007, 0xff000000,
410          0x0000007f, 0x80000000, 0x00000007, 0x07ff0000, 0x00000007,
411          0x001fff80, 0x00080000, 0x00000007, 0xfff80000, 0x00001c01,
412          0x40fff000, 0x80000000, 0x000007ff, 0x0000000f, 0xd0000000,
413          0x0080399f, 0x001f1fcc, 0xffe00000, 0x0000007f, 0xffff0000,
414          0x0000000f, 0xff3f8000, 0x30000001, 0xffff0000, 0x00000001,
415          0x00fff800, 0x000007fe, 0x7bf80000, 0x0ffe0080, 0x03fffc00,
416          0xff7f8000, 0xfffc0000, 0x007ffeff, 0xb47e0000, 0x000000bf,
417          0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff, 0x00078000,
418          0x60000000, 0x0000000f, 0xffffe3e0, 0x00000fe7, 0x00003c00,
419          0x0000001c, 0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe,
420          0xf9ffff7f, 0x000007db, 0x007f0000, 0x000007f0, 0x00000002,
421          0x0000ffff}};
422    /** Code Point Ranges for BA
423    [0009, 0009], [007c, 007c], [00ad, 00ad], [058a, 058a], [05be, 05be],
424    [0964, 0965], [0e5a, 0e5b], [0f0b, 0f0b], [0f34, 0f34], [0f7f, 0f7f],
425    [0f85, 0f85], [0fbe, 0fbf], [0fd2, 0fd2], [104a, 104b], [1361, 1361],
426    [1400, 1400], [1680, 1680], [16eb, 16ed], [1735, 1736], [17d4, 17d5],
427    [17d8, 17d8], [17da, 17da], [1804, 1805], [1b5a, 1b5b], [1b5d, 1b60],
428    [1c3b, 1c3f], [1c7e, 1c7f], [2000, 2006], [2008, 200a], [2010, 2010],
429    [2012, 2013], [2027, 2027], [2056, 2056], [2058, 205b], [205d, 205f],
430    [2cfa, 2cfc], [2cff, 2cff], [2d70, 2d70], [2e0e, 2e15], [2e17, 2e17],
431    [2e19, 2e19], [2e2a, 2e2d], [2e30, 2e31], [2e33, 2e34], [2e3c, 2e3e],
432    [2e40, 2e41], [2e43, 2e49], [3000, 3000], [a4fe, a4ff], [a60d, a60d],
433    [a60f, a60f], [a6f3, a6f7], [a8ce, a8cf], [a92e, a92f], [a9c7, a9c9],
434    [aa5d, aa5f], [aaf0, aaf1], [abeb, abeb], [10100, 10102],
435    [1039f, 1039f], [103d0, 103d0], [10857, 10857], [1091f, 1091f],
436    [10a50, 10a57], [10af0, 10af5], [10b39, 10b3f], [11047, 11048],
437    [110be, 110c1], [11140, 11143], [111c5, 111c6], [111c8, 111c8],
438    [111dd, 111df], [11238, 11239], [1123b, 1123c], [112a9, 112a9],
439    [1144b, 1144e], [1145b, 1145b], [115c2, 115c3], [115c9, 115d7],
440    [11641, 11642], [1173c, 1173e], [11a41, 11a44], [11a9a, 11a9c],
441    [11aa1, 11aa2], [11c41, 11c45], [12470, 12474], [16a6e, 16a6f],
442    [16af5, 16af5], [16b37, 16b39], [16b44, 16b44], [1bc9f, 1bc9f],
443    [1da87, 1da8a]**/
444    const UnicodeSet ba_Set
445        {{{Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
446          {Empty, 38}, {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 38},
447          {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
448          {Empty, 3}, {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 4},
449          {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
450          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
451          {Mixed, 1}, {Empty, 25}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
452          {Empty, 1}, {Mixed, 1}, {Empty, 28}, {Mixed, 3}, {Empty, 100},
453          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 3},
454          {Empty, 13}, {Mixed, 1}, {Empty, 934}, {Mixed, 1}, {Empty, 8},
455          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
456          {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3},
457          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
458          {Empty, 680}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 1},
459          {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
460          {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
461          {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
462          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
463          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
464          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
465          {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
466          {Empty, 12}, {Mixed, 1}, {Empty, 64}, {Mixed, 1}, {Empty, 559},
467          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
468          {Empty, 649}, {Mixed, 1}, {Empty, 239}, {Mixed, 1},
469          {Empty, 31019}},
470         {0x00000200, 0x10000000, 0x00002000, 0x00000400, 0x40000000,
471          0x00000030, 0x0c000000, 0x00000800, 0x00100000, 0x80000000,
472          0x00000020, 0xc0000000, 0x00040000, 0x00000c00, 0x00000002,
473          0x00000001, 0x00000001, 0x00003800, 0x00600000, 0x05300000,
474          0x00000030, 0xec000000, 0x00000001, 0xf8000000, 0xc0000000,
475          0x000d077f, 0x00000080, 0xef400000, 0x9c000000, 0x00010000,
476          0x02bfc000, 0x701b3c00, 0x000003fb, 0x00000001, 0xc0000000,
477          0x0000a000, 0x00f80000, 0x0000c000, 0x0000c000, 0x00000380,
478          0xe0000000, 0x00030000, 0x00000800, 0x00000007, 0x80000000,
479          0x00010000, 0x00800000, 0x80000000, 0x00ff0000, 0x003f0000,
480          0xfe000000, 0x00000180, 0xc0000000, 0x00000003, 0x0000000f,
481          0xe0000160, 0x1b000000, 0x00000200, 0x08007800, 0x00fffe0c,
482          0x00000006, 0x70000000, 0x0000001e, 0x1c000000, 0x00000006,
483          0x0000003e, 0x001f0000, 0x0000c000, 0x00200000, 0x03800000,
484          0x00000010, 0x80000000, 0x00000780}};
485    /** Code Point Ranges for LF
486    [000a, 000a]**/
487    const UnicodeSet lf_Set
488        {{{Mixed, 1}, {Empty, 34815}},
489         {0x00000400}};
490    /** Code Point Ranges for BK
491    [000b, 000c], [2028, 2029]**/
492    const UnicodeSet bk_Set
493        {{{Mixed, 1}, {Empty, 256}, {Mixed, 1}, {Empty, 34558}},
494         {0x00001800, 0x00000300}};
495    /** Code Point Ranges for CR
496    [000d, 000d]**/
497    const UnicodeSet cr_Set
498        {{{Mixed, 1}, {Empty, 34815}},
499         {0x00002000}};
500    /** Code Point Ranges for SP
501    [0020, 0020]**/
502    const UnicodeSet sp_Set
503        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
504         {0x00000001}};
505    /** Code Point Ranges for EX
506    [0021, 0021], [003f, 003f], [05c6, 05c6], [061b, 061b], [061e, 061f],
507    [06d4, 06d4], [07f9, 07f9], [0f0d, 0f11], [0f14, 0f14], [1802, 1803],
508    [1808, 1809], [1944, 1945], [2762, 2763], [2cf9, 2cf9], [2cfe, 2cfe],
509    [2e2e, 2e2e], [a60e, a60e], [a876, a877], [fe15, fe16], [fe56, fe57],
510    [ff01, ff01], [ff1f, ff1f], [115c4, 115c5], [11c71, 11c71]**/
511    const UnicodeSet ex_Set
512        {{{Empty, 1}, {Mixed, 1}, {Empty, 44}, {Mixed, 1}, {Empty, 1},
513          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
514          {Empty, 56}, {Mixed, 1}, {Empty, 71}, {Mixed, 1}, {Empty, 9},
515          {Mixed, 1}, {Empty, 112}, {Mixed, 1}, {Empty, 43}, {Mixed, 1},
516          {Empty, 9}, {Mixed, 1}, {Empty, 958}, {Mixed, 1}, {Empty, 18},
517          {Mixed, 1}, {Empty, 684}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
518          {Empty, 5}, {Mixed, 1}, {Empty, 181}, {Mixed, 1}, {Empty, 52},
519          {Mixed, 1}, {Empty, 32540}},
520         {0x80000002, 0x00000040, 0xc8000000, 0x00100000, 0x02000000,
521          0x0013e000, 0x0000030c, 0x00000030, 0x0000000c, 0x42000000,
522          0x00004000, 0x00004000, 0x00c00000, 0x00600000, 0x00c00000,
523          0x80000002, 0x00000030, 0x00020000}};
524    /** Code Point Ranges for QU
525    [0022, 0022], [0027, 0027], [00ab, 00ab], [00bb, 00bb], [2018, 2019],
526    [201b, 201d], [201f, 201f], [2039, 203a], [275b, 2760], [2e00, 2e0d],
527    [2e1c, 2e1d], [2e20, 2e21], [1f676, 1f678]**/
528    const UnicodeSet qu_Set
529        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 250},
530          {Mixed, 2}, {Empty, 56}, {Mixed, 2}, {Empty, 52}, {Mixed, 2},
531          {Empty, 3649}, {Mixed, 1}, {Empty, 30796}},
532         {0x00000084, 0x08000800, 0xbb000000, 0x06000000, 0xf8000000,
533          0x00000001, 0x30003fff, 0x00000003, 0x01c00000}};
534    /** Code Point Ranges for AL
535    [0023, 0023], [0026, 0026], [002a, 002a], [003c, 003e], [0040, 005a],
536    [005e, 007a], [007e, 007e], [00a6, 00a6], [00a9, 00a9], [00ac, 00ac],
537    [00ae, 00af], [00b5, 00b5], [00c0, 00d6], [00d8, 00f6], [00f8, 02c6],
538    [02ce, 02cf], [02d1, 02d7], [02dc, 02dc], [02de, 02de], [02e0, 02ff],
539    [0370, 0377], [037a, 037d], [037f, 037f], [0384, 038a], [038c, 038c],
540    [038e, 03a1], [03a3, 0482], [048a, 052f], [0531, 0556], [0559, 055f],
541    [0561, 0587], [058d, 058e], [05c0, 05c0], [05c3, 05c3], [05f3, 05f4],
542    [0600, 0608], [060e, 060f], [0620, 064a], [066d, 066f], [0671, 06d3],
543    [06d5, 06d5], [06dd, 06de], [06e5, 06e6], [06e9, 06e9], [06ee, 06ef],
544    [06fa, 070d], [070f, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1],
545    [07ca, 07ea], [07f4, 07f7], [07fa, 07fa], [0800, 0815], [081a, 081a],
546    [0824, 0824], [0828, 0828], [0830, 083e], [0840, 0858], [085e, 085e],
547    [0860, 086a], [08a0, 08b4], [08b6, 08bd], [08e2, 08e2], [0904, 0939],
548    [093d, 093d], [0950, 0950], [0958, 0961], [0970, 0980], [0985, 098c],
549    [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2], [09b6, 09b9],
550    [09bd, 09bd], [09ce, 09ce], [09dc, 09dd], [09df, 09e1], [09f0, 09f1],
551    [09f4, 09f8], [09fa, 09fa], [09fc, 09fd], [0a05, 0a0a], [0a0f, 0a10],
552    [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39],
553    [0a59, 0a5c], [0a5e, 0a5e], [0a72, 0a74], [0a85, 0a8d], [0a8f, 0a91],
554    [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd],
555    [0ad0, 0ad0], [0ae0, 0ae1], [0af0, 0af0], [0af9, 0af9], [0b05, 0b0c],
556    [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33], [0b35, 0b39],
557    [0b3d, 0b3d], [0b5c, 0b5d], [0b5f, 0b61], [0b70, 0b77], [0b83, 0b83],
558    [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c],
559    [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9], [0bd0, 0bd0],
560    [0bf0, 0bf8], [0bfa, 0bfa], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28],
561    [0c2a, 0c39], [0c3d, 0c3d], [0c58, 0c5a], [0c60, 0c61], [0c78, 0c80],
562    [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
563    [0cbd, 0cbd], [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2], [0d05, 0d0c],
564    [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d], [0d4e, 0d4f], [0d54, 0d56],
565    [0d58, 0d61], [0d70, 0d78], [0d7a, 0d7f], [0d85, 0d96], [0d9a, 0db1],
566    [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0df4, 0df4], [0e4f, 0e4f],
567    [0f00, 0f00], [0f05, 0f05], [0f13, 0f13], [0f15, 0f17], [0f1a, 0f1f],
568    [0f2a, 0f33], [0f36, 0f36], [0f38, 0f38], [0f40, 0f47], [0f49, 0f6c],
569    [0f88, 0f8c], [0fc0, 0fc5], [0fc7, 0fcc], [0fce, 0fcf], [0fd4, 0fd8],
570    [104c, 104f], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd], [10d0, 10ff],
571    [1200, 1248], [124a, 124d], [1250, 1256], [1258, 1258], [125a, 125d],
572    [1260, 1288], [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be],
573    [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310], [1312, 1315],
574    [1318, 135a], [1360, 1360], [1362, 137c], [1380, 1399], [13a0, 13f5],
575    [13f8, 13fd], [1401, 167f], [1681, 169a], [16a0, 16ea], [16ee, 16f8],
576    [1700, 170c], [170e, 1711], [1720, 1731], [1740, 1751], [1760, 176c],
577    [176e, 1770], [17d9, 17d9], [17f0, 17f9], [1800, 1801], [1807, 1807],
578    [180a, 180a], [1820, 1877], [1880, 1884], [1887, 18a8], [18aa, 18aa],
579    [18b0, 18f5], [1900, 191e], [1940, 1940], [19e0, 1a16], [1a1e, 1a1f],
580    [1b05, 1b33], [1b45, 1b4b], [1b5c, 1b5c], [1b61, 1b6a], [1b74, 1b7c],
581    [1b83, 1ba0], [1bae, 1baf], [1bba, 1be5], [1bfc, 1c23], [1c4d, 1c4f],
582    [1c5a, 1c7d], [1c80, 1c88], [1cc0, 1cc7], [1cd3, 1cd3], [1ce9, 1cec],
583    [1cee, 1cf1], [1cf5, 1cf6], [1d00, 1dbf], [1e00, 1f15], [1f18, 1f1d],
584    [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b],
585    [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fc4], [1fc6, 1fd3],
586    [1fd6, 1fdb], [1fdd, 1fef], [1ff2, 1ff4], [1ff6, 1ffc], [1ffe, 1ffe],
587    [2017, 2017], [2022, 2023], [2038, 2038], [203e, 2043], [204a, 2055],
588    [2057, 2057], [205c, 205c], [2061, 2064], [2070, 2071], [2075, 207c],
589    [2080, 2080], [2085, 208c], [2090, 209c], [2100, 2102], [2104, 2104],
590    [2106, 2108], [210a, 2112], [2114, 2115], [2117, 2120], [2123, 212a],
591    [212c, 2153], [2156, 215a], [215c, 215d], [215f, 215f], [216c, 216f],
592    [217a, 2188], [218a, 218b], [219a, 21d1], [21d3, 21d3], [21d5, 21ff],
593    [2201, 2201], [2204, 2206], [2209, 220a], [220c, 220e], [2210, 2210],
594    [2214, 2214], [2216, 2219], [221b, 221c], [2221, 2222], [2224, 2224],
595    [2226, 2226], [222d, 222d], [222f, 2233], [2238, 223b], [223e, 2247],
596    [2249, 224b], [224d, 2251], [2253, 225f], [2262, 2263], [2268, 2269],
597    [226c, 226d], [2270, 2281], [2284, 2285], [2288, 2294], [2296, 2298],
598    [229a, 22a4], [22a6, 22be], [22c0, 22ee], [22f0, 2307], [230c, 2311],
599    [2313, 2319], [231c, 2328], [232b, 23ef], [23f4, 2426], [2440, 244a],
600    [24ff, 24ff], [254c, 254f], [2575, 257f], [2590, 2591], [2596, 259f],
601    [25a2, 25a2], [25aa, 25b1], [25b4, 25b5], [25b8, 25bb], [25be, 25bf],
602    [25c2, 25c5], [25c9, 25ca], [25cc, 25cd], [25d2, 25e1], [25e6, 25ee],
603    [25f0, 25ff], [2604, 2604], [2607, 2608], [260a, 260d], [2610, 2613],
604    [2619, 2619], [2620, 2638], [263c, 263f], [2641, 2641], [2643, 265f],
605    [2662, 2662], [2666, 2666], [266b, 266b], [266e, 266e], [2670, 267e],
606    [2680, 269d], [26a0, 26bc], [26ce, 26ce], [26e2, 26e2], [26e4, 26e7],
607    [2705, 2707], [270e, 2756], [2758, 275a], [2761, 2761], [2765, 2767],
608    [2794, 27c4], [27c7, 27e5], [27f0, 2982], [2999, 29d7], [29dc, 29fb],
609    [29fe, 2b54], [2b5a, 2b73], [2b76, 2b95], [2b98, 2bb9], [2bbd, 2bc8],
610    [2bca, 2bd2], [2bec, 2bef], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2cee],
611    [2cf2, 2cf3], [2cfd, 2cfd], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d],
612    [2d30, 2d67], [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae],
613    [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6],
614    [2dd8, 2dde], [2e16, 2e16], [2e1a, 2e1b], [2e1e, 2e1f], [2e2f, 2e2f],
615    [2e32, 2e32], [2e35, 2e39], [2e3f, 2e3f], [4dc0, 4dff], [a4d0, a4fd],
616    [a500, a60c], [a610, a61f], [a62a, a62b], [a640, a66e], [a673, a673],
617    [a67e, a69d], [a6a0, a6ef], [a6f2, a6f2], [a700, a7ae], [a7b0, a7b7],
618    [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a822], [a828, a82b],
619    [a830, a837], [a839, a839], [a840, a873], [a882, a8b3], [a8f2, a8fb],
620    [a8fd, a8fd], [a90a, a925], [a930, a946], [a95f, a95f], [a984, a9b2],
621    [a9c1, a9c6], [a9ca, a9cd], [a9cf, a9cf], [a9de, a9df], [aa00, aa28],
622    [aa40, aa42], [aa44, aa4b], [aa5c, aa5c], [aae0, aaea], [aaf2, aaf4],
623    [ab01, ab06], [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e],
624    [ab30, ab65], [ab70, abe2], [fb00, fb06], [fb13, fb17], [fb29, fb29],
625    [fb50, fbc1], [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb],
626    [fdfd, fdfd], [fe70, fe74], [fe76, fefc], [ffe8, ffee], [10000, 1000b],
627    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
628    [10050, 1005d], [10080, 100fa], [10107, 10133], [10137, 1018e],
629    [10190, 1019b], [101a0, 101a0], [101d0, 101fc], [10280, 1029c],
630    [102a0, 102d0], [102e1, 102fb], [10300, 10323], [1032d, 1034a],
631    [10350, 10375], [10380, 1039d], [103a0, 103c3], [103c8, 103cf],
632    [103d1, 103d5], [10400, 1049d], [104b0, 104d3], [104d8, 104fb],
633    [10500, 10527], [10530, 10563], [1056f, 1056f], [10600, 10736],
634    [10740, 10755], [10760, 10767], [10800, 10805], [10808, 10808],
635    [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 10855],
636    [10858, 1089e], [108a7, 108af], [108e0, 108f2], [108f4, 108f5],
637    [108fb, 1091b], [10920, 10939], [1093f, 1093f], [10980, 109b7],
638    [109bc, 109cf], [109d2, 10a00], [10a10, 10a13], [10a15, 10a17],
639    [10a19, 10a33], [10a40, 10a47], [10a58, 10a58], [10a60, 10a9f],
640    [10ac0, 10ae4], [10aeb, 10aef], [10b00, 10b35], [10b40, 10b55],
641    [10b58, 10b72], [10b78, 10b91], [10b99, 10b9c], [10ba9, 10baf],
642    [10c00, 10c48], [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff],
643    [10e60, 10e7e], [11003, 11037], [11049, 1104d], [11052, 11065],
644    [11083, 110af], [110bb, 110bd], [110d0, 110e8], [11103, 11126],
645    [11150, 11172], [11174, 11174], [11176, 11176], [11183, 111b2],
646    [111c1, 111c4], [111c7, 111c7], [111c9, 111c9], [111cd, 111cd],
647    [111da, 111da], [111dc, 111dc], [111e1, 111f4], [11200, 11211],
648    [11213, 1122b], [1123a, 1123a], [1123d, 1123d], [11280, 11286],
649    [11288, 11288], [1128a, 1128d], [1128f, 1129d], [1129f, 112a8],
650    [112b0, 112de], [11305, 1130c], [1130f, 11310], [11313, 11328],
651    [1132a, 11330], [11332, 11333], [11335, 11339], [1133d, 1133d],
652    [11350, 11350], [1135d, 11361], [11400, 11434], [11447, 1144a],
653    [1144f, 1144f], [1145d, 1145d], [11480, 114af], [114c4, 114c7],
654    [11580, 115ae], [115c6, 115c8], [115d8, 115db], [11600, 1162f],
655    [11643, 11644], [11680, 116aa], [118a0, 118df], [118ea, 118f2],
656    [118ff, 118ff], [11a00, 11a00], [11a0b, 11a32], [11a3a, 11a3a],
657    [11a40, 11a40], [11a46, 11a46], [11a50, 11a50], [11a5c, 11a83],
658    [11a86, 11a89], [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c2e],
659    [11c40, 11c40], [11c5a, 11c6c], [11c72, 11c8f], [11d00, 11d06],
660    [11d08, 11d09], [11d0b, 11d30], [11d46, 11d46], [12000, 12399],
661    [12400, 1246e], [12480, 12543], [13000, 13257], [1325e, 13281],
662    [13283, 13285], [1328a, 13378], [1337c, 1342e], [14400, 145cd],
663    [145d0, 14646], [16800, 16a38], [16a40, 16a5e], [16ad0, 16aed],
664    [16b00, 16b2f], [16b3a, 16b43], [16b45, 16b45], [16b5b, 16b61],
665    [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50],
666    [16f93, 16f9f], [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88],
667    [1bc90, 1bc99], [1bc9c, 1bc9c], [1d000, 1d0f5], [1d100, 1d126],
668    [1d129, 1d164], [1d16a, 1d16c], [1d183, 1d184], [1d18c, 1d1a9],
669    [1d1ae, 1d1e8], [1d200, 1d241], [1d245, 1d245], [1d300, 1d356],
670    [1d360, 1d371], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
671    [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
672    [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
673    [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
674    [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
675    [1d6a8, 1d7cb], [1d800, 1d9ff], [1da37, 1da3a], [1da6d, 1da74],
676    [1da76, 1da83], [1da85, 1da86], [1da8b, 1da8b], [1e800, 1e8c4],
677    [1e8c7, 1e8cf], [1e900, 1e943], [1ee00, 1ee03], [1ee05, 1ee1f],
678    [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
679    [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
680    [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
681    [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
682    [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
683    [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
684    [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
685    [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1],
686    [1f12e, 1f12e], [1f16a, 1f16b], [1f39c, 1f39d], [1f3b5, 1f3b6],
687    [1f3bc, 1f3bc], [1f4a0, 1f4a0], [1f4a2, 1f4a2], [1f4a4, 1f4a4],
688    [1f4af, 1f4af], [1f4b1, 1f4b2], [1f500, 1f506], [1f517, 1f524],
689    [1f532, 1f549], [1f5d4, 1f5db], [1f5f4, 1f5f9], [1f650, 1f675],
690    [1f67c, 1f67f], [1f700, 1f773], [1f780, 1f7d4], [1f800, 1f80b],
691    [1f810, 1f847], [1f850, 1f859], [1f860, 1f887], [1f890, 1f8ad],
692    [1f900, 1f90b]**/
693    const UnicodeSet al_Set
694        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Full, 14},
695          {Mixed, 1}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Full, 6},
696          {Mixed, 1}, {Full, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
697          {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2},
698          {Mixed, 7}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 41},
699          {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 5}, {Empty, 1},
700          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Full, 1},
701          {Mixed, 1}, {Full, 1}, {Empty, 8}, {Full, 2}, {Mixed, 1},
702          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
703          {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 19}, {Mixed, 1},
704          {Full, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Full, 2},
705          {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
706          {Empty, 4}, {Full, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 6},
707          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 1},
708          {Mixed, 2}, {Full, 6}, {Empty, 2}, {Full, 8}, {Mixed, 1},
709          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 8}, {Empty, 3},
710          {Mixed, 5}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6},
711          {Full, 1}, {Mixed, 3}, {Full, 5}, {Mixed, 1}, {Full, 1},
712          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 15},
713          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Full, 12},
714          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 10}, {Mixed, 6},
715          {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 1},
716          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 2},
717          {Empty, 252}, {Full, 2}, {Empty, 694}, {Mixed, 2}, {Full, 8},
718          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
719          {Full, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
720          {Mixed, 3}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
721          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 3},
722          {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 632},
723          {Mixed, 3}, {Full, 3}, {Mixed, 1}, {Full, 10}, {Mixed, 2},
724          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3},
725          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 4},
726          {Empty, 1}, {Full, 3}, {Mixed, 3}, {Full, 2}, {Mixed, 4},
727          {Empty, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
728          {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 4},
729          {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
730          {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 3},
731          {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
732          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
733          {Empty, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5},
734          {Empty, 2}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1},
735          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
736          {Empty, 12}, {Mixed, 18}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
737          {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
738          {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2},
739          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
740          {Mixed, 1}, {Empty, 15}, {Full, 2}, {Mixed, 1}, {Empty, 8},
741          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
742          {Mixed, 1}, {Empty, 8}, {Mixed, 5}, {Empty, 3}, {Mixed, 3},
743          {Empty, 21}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
744          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 85}, {Full, 18},
745          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
746          {Full, 5}, {Mixed, 1}, {Empty, 126}, {Full, 14}, {Mixed, 1},
747          {Full, 3}, {Mixed, 1}, {Empty, 269}, {Full, 17}, {Mixed, 2},
748          {Empty, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 27},
749          {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 611},
750          {Full, 3}, {Mixed, 2}, {Empty, 155}, {Full, 7}, {Mixed, 1},
751          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
752          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2},
753          {Mixed, 2}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Full, 1},
754          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1},
755          {Full, 8}, {Mixed, 1}, {Empty, 1}, {Full, 16}, {Empty, 1},
756          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 107}, {Full, 6},
757          {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 37},
758          {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 17}, {Mixed, 1},
759          {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 7},
760          {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 3}, {Mixed, 2},
761          {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Full, 3}, {Mixed, 1},
762          {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
763          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
764          {Empty, 30775}},
765         {0x70000448, 0xc7ffffff, 0x47ffffff, 0x0020d240, 0xff7fffff,
766          0xff7fffff, 0x50fec07f, 0xbcff0000, 0xffffd7f0, 0xfffffffb,
767          0xfffffc07, 0xfffeffff, 0xfe7fffff, 0xfffffffe, 0x000060ff,
768          0x00000009, 0x00180000, 0x0000c1ff, 0x000007ff, 0xfffee000,
769          0x602fffff, 0xfc00c260, 0xfffdbfff, 0x0000ffff, 0xffffe000,
770          0x0002003f, 0xfffffc00, 0x04f007ff, 0x043fffff, 0x7fff0110,
771          0x41ffffff, 0x000007ff, 0x3fdfffff, 0x00000004, 0xfffffff0,
772          0x23ffffff, 0xff010000, 0xffff0003, 0xfff99fe1, 0x23c5fdff,
773          0xb0004000, 0x35f30003, 0xfff987e0, 0x036dfdff, 0x5e000000,
774          0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02010003,
775          0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00ff0003, 0xd63dc7e8,
776          0x03ffc718, 0x00010000, 0x05ff0000, 0xfffddfe0, 0x23fffdff,
777          0x07000000, 0xff000003, 0xfffddfe1, 0x23effdff, 0x40000000,
778          0x00060003, 0xfffddfe0, 0x27ffffff, 0xff70c000, 0xfdff0003,
779          0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0x00100000, 0x00008000,
780          0xfce80021, 0x014ffc00, 0xfffffeff, 0x00001fff, 0x00001f00,
781          0x01f0dfbf, 0x0000f000, 0xffff20bf, 0x3d7f3dff, 0xffff3dff,
782          0x7f3dffff, 0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x1ffffffd,
783          0x03ffffff, 0x3f3fffff, 0xfffffffe, 0x07fffffe, 0x01ffc7ff,
784          0x0003dfff, 0x0003ffff, 0x0003ffff, 0x0001dfff, 0x02000000,
785          0x03ff0000, 0x00000483, 0x00ffffff, 0xffffff9f, 0xffff05ff,
786          0x003fffff, 0x7fffffff, 0x00000001, 0xc07fffff, 0xffffffe0,
787          0x000fffff, 0x10000fe0, 0x1ff007fe, 0xfffffff8, 0xfc00c001,
788          0xf000003f, 0x0000000f, 0xfc00e000, 0x3fffffff, 0x000001ff,
789          0x000800ff, 0x0063de00, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff,
790          0xffdfffff, 0xefcfffdf, 0x5fdcffff, 0x00800000, 0xc100000c,
791          0x10bffc0f, 0x1fe3001e, 0x1fff1fe1, 0xffb7fdd7, 0xfffff7f9,
792          0xb7cfffff, 0xfc00f000, 0xfc000dff, 0xffebffff, 0x1bd17672,
793          0xcf0fa056, 0xfffbeeff, 0xffff330c, 0xfddfff33, 0x7fffffdf,
794          0xffff7fff, 0xf3fbf0ff, 0xfffff9ff, 0xfff0ffff, 0x0000007f,
795          0x000007ff, 0x80000000, 0x0000f000, 0xffe00000, 0xffc30000,
796          0xcf33fc04, 0xfffc363c, 0xffff7fc3, 0x020f3d90, 0xf1ffffff,
797          0xfffffffa, 0x7fff4844, 0x3fffffff, 0x1fffffff, 0x00004000,
798          0x000000f4, 0xffffc0e0, 0x077fffff, 0x000000e2, 0xfff00000,
799          0xffffff9f, 0xffff003f, 0xfe000007, 0xf0ffffff, 0xcfffffff,
800          0xfc1fffff, 0xffcfffff, 0xff3fffff, 0xe3ffffff, 0x0007fdff,
801          0x0000f000, 0xffff7fff, 0x7fffffff, 0x200c7fff, 0xffff20bf,
802          0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0xcc400000,
803          0x83e48000, 0xffff0000, 0x3fffffff, 0xffff1fff, 0x00000c00,
804          0xc0087fff, 0x3fffffff, 0x0004ffff, 0x00ff7fff, 0xff800000,
805          0xfffff7bb, 0x02ff0f07, 0x000fffff, 0xfffffffc, 0x000fffff,
806          0x2ffc0000, 0xfffffc00, 0xffff003f, 0x8000007f, 0xfffffff0,
807          0x0007ffff, 0xc000bc7e, 0x000001ff, 0x10000ff7, 0x001c07ff,
808          0x007e7e7e, 0xffff7f7f, 0xffff003f, 0x00000007, 0x00f8007f,
809          0x00000200, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
810          0xfffcffff, 0x000000ff, 0x2fff0000, 0xffdf0000, 0x1fffffff,
811          0x00007f00, 0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff,
812          0xffffff80, 0xff8fffff, 0x0fff7fff, 0x00000001, 0xffff0000,
813          0x1fffffff, 0x1fffffff, 0x0001ffff, 0x0ffffffe, 0xffffe00f,
814          0xffff07ff, 0x003fffff, 0x3fffffff, 0x003eff0f, 0x3fffffff,
815          0xffff0000, 0xff0fffff, 0x0fffffff, 0xffff00ff, 0x0000800f,
816          0x007fffff, 0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff,
817          0xff3fffff, 0x7fffffff, 0x0000ff80, 0xf837ffff, 0x0fffffff,
818          0x83ffffff, 0xf0ffffff, 0xfffcffff, 0xfeef0001, 0x000fffff,
819          0x010000ff, 0x0000f81f, 0x003fffff, 0xff3fffff, 0xff07ffff,
820          0x1e03ffff, 0x0000fe00, 0x000001ff, 0x0007ffff, 0xfc07ffff,
821          0x7fffffff, 0xfffffff8, 0x00ffffff, 0xfffc3e00, 0x0000003f,
822          0xfffffff8, 0x3800ffff, 0xffff0000, 0x000001ff, 0xfffffff8,
823          0x0000007f, 0xffff0000, 0x0057ffff, 0xfffffff8, 0x0007ffff,
824          0x1400229e, 0x001ffffe, 0xfffbffff, 0x24000fff, 0xbfffbd7f,
825          0xffff01ff, 0x7fffffff, 0xfff99fe0, 0x23edfdff, 0xe0010000,
826          0x00000003, 0x001fffff, 0x20008780, 0x0000ffff, 0x000000f0,
827          0x00007fff, 0x0f0001c0, 0x0000ffff, 0x00000018, 0x000007ff,
828          0x8007fc00, 0xfffff801, 0x0407ffff, 0xf0010041, 0x000003cf,
829          0x01ffffff, 0xfffffdff, 0x00007fff, 0xfc000001, 0xfffc1fff,
830          0x0000ffff, 0xfffffb7f, 0x0001ffff, 0x00000040, 0x03ffffff,
831          0x00007fff, 0x0000000f, 0xc0ffffff, 0xfffffc3b, 0xf1ffffff,
832          0x00007fff, 0xffff3fff, 0x0000007f, 0x01ffffff, 0x7fffffff,
833          0xffff0000, 0x00003fff, 0xfc00ffff, 0xf800002f, 0xe0fffffb,
834          0x0000ffff, 0x0001001f, 0xfff80000, 0x1fff07ff, 0x13ff01ff,
835          0x003fffff, 0xfffffe7f, 0x00001c1f, 0xfffff018, 0xffffc3ff,
836          0x000001ff, 0x00000023, 0x007fffff, 0x0003ffff, 0xffdfffff,
837          0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
838          0xfffdfc5f, 0xffffff3f, 0x00000fff, 0x07800000, 0xffdfe000,
839          0x0000086f, 0x0000ff9f, 0x0000000f, 0xffffffef, 0x0af7fe96,
840          0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000,
841          0x00004000, 0x00000c00, 0x30000000, 0x10600000, 0x00068015,
842          0xff80007f, 0xfffc001f, 0x000003ff, 0x0ff00000, 0x03f00000,
843          0xffff0000, 0xf03fffff, 0x000fffff, 0x001fffff, 0xffff0fff,
844          0x03ff00ff, 0xffff00ff, 0x00003fff, 0x00000fff}};
845    /** Code Point Ranges for PR
846    [0024, 0024], [002b, 002b], [005c, 005c], [00a3, 00a5], [00b1, 00b1],
847    [058f, 058f], [09fb, 09fb], [0af1, 0af1], [0bf9, 0bf9], [0e3f, 0e3f],
848    [17db, 17db], [20a0, 20a6], [20a8, 20b5], [20b7, 20ba], [20bc, 20bd],
849    [20bf, 20cf], [2116, 2116], [2212, 2213], [fe69, fe69], [ff04, ff04],
850    [ffe1, ffe1], [ffe5, ffe6]**/
851    const UnicodeSet pr_Set
852        {{{Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 38},
853          {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
854          {Empty, 7}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76},
855          {Mixed, 1}, {Empty, 70}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
856          {Empty, 7}, {Mixed, 1}, {Empty, 1762}, {Mixed, 1}, {Empty, 4},
857          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
858         {0x00000810, 0x10000000, 0x00020038, 0x00008000, 0x08000000,
859          0x00020000, 0x02000000, 0x80000000, 0x08000000, 0xb7bfff7f,
860          0x0000ffff, 0x00400000, 0x000c0000, 0x00000200, 0x00000010,
861          0x00000062}};
862    /** Code Point Ranges for PO
863    [0025, 0025], [00a2, 00a2], [00b0, 00b0], [0609, 060b], [066a, 066a],
864    [09f2, 09f3], [09f9, 09f9], [0d79, 0d79], [2030, 2037], [20a7, 20a7],
865    [20b6, 20b6], [20bb, 20bb], [20be, 20be], [2103, 2103], [2109, 2109],
866    [a838, a838], [fdfc, fdfc], [fe6a, fe6a], [ff05, ff05], [ffe0, ffe0]**/
867    const UnicodeSet po_Set
868        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 42},
869          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 27}, {Mixed, 1},
870          {Empty, 27}, {Mixed, 1}, {Empty, 149}, {Mixed, 1}, {Empty, 3},
871          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1080}, {Mixed, 1},
872          {Empty, 685}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
873          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
874         {0x00000020, 0x00010004, 0x00000e00, 0x00000400, 0x020c0000,
875          0x02000000, 0x00ff0000, 0x48400080, 0x00000208, 0x01000000,
876          0x10000000, 0x00000400, 0x00000020, 0x00000001}};
877    /** Code Point Ranges for OP
878    [0028, 0028], [005b, 005b], [007b, 007b], [00a1, 00a1], [00bf, 00bf],
879    [0f3a, 0f3a], [0f3c, 0f3c], [169b, 169b], [201a, 201a], [201e, 201e],
880    [2045, 2045], [207d, 207d], [208d, 208d], [2308, 2308], [230a, 230a],
881    [2329, 2329], [2768, 2768], [276a, 276a], [276c, 276c], [276e, 276e],
882    [2770, 2770], [2772, 2772], [2774, 2774], [27c5, 27c5], [27e6, 27e6],
883    [27e8, 27e8], [27ea, 27ea], [27ec, 27ec], [27ee, 27ee], [2983, 2983],
884    [2985, 2985], [2987, 2987], [2989, 2989], [298b, 298b], [298d, 298d],
885    [298f, 298f], [2991, 2991], [2993, 2993], [2995, 2995], [2997, 2997],
886    [29d8, 29d8], [29da, 29da], [29fc, 29fc], [2e18, 2e18], [2e22, 2e22],
887    [2e24, 2e24], [2e26, 2e26], [2e28, 2e28], [2e42, 2e42], [3008, 3008],
888    [300a, 300a], [300c, 300c], [300e, 300e], [3010, 3010], [3014, 3014],
889    [3016, 3016], [3018, 3018], [301a, 301a], [301d, 301d], [fd3f, fd3f],
890    [fe17, fe17], [fe35, fe35], [fe37, fe37], [fe39, fe39], [fe3b, fe3b],
891    [fe3d, fe3d], [fe3f, fe3f], [fe41, fe41], [fe43, fe43], [fe47, fe47],
892    [fe59, fe59], [fe5b, fe5b], [fe5d, fe5d], [ff08, ff08], [ff3b, ff3b],
893    [ff5b, ff5b], [ff5f, ff5f], [ff62, ff62], [13258, 1325a],
894    [13286, 13286], [13288, 13288], [13379, 13379], [145ce, 145ce],
895    [1e95e, 1e95f]**/
896    const UnicodeSet op_Set
897        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 115},
898          {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 75}, {Mixed, 1},
899          {Empty, 1}, {Mixed, 3}, {Empty, 19}, {Mixed, 2}, {Empty, 33},
900          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 12}, {Mixed, 1},
901          {Empty, 1}, {Mixed, 2}, {Empty, 32}, {Mixed, 3}, {Empty, 13},
902          {Mixed, 1}, {Empty, 1640}, {Mixed, 1}, {Empty, 6}, {Mixed, 3},
903          {Empty, 5}, {Mixed, 4}, {Empty, 406}, {Mixed, 1}, {Empty, 1},
904          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 146}, {Mixed, 1},
905          {Empty, 1307}, {Mixed, 1}, {Empty, 30901}},
906         {0x00000100, 0x08000000, 0x08000000, 0x80000002, 0x14000000,
907          0x08000000, 0x44000000, 0x00000020, 0x20000000, 0x00002000,
908          0x00000500, 0x00000200, 0x00155500, 0x00000020, 0x00005540,
909          0x00aaaaa8, 0x05000000, 0x10000000, 0x01000000, 0x00000154,
910          0x00000004, 0x25515500, 0x80000000, 0x00800000, 0xaaa00000,
911          0x2a00008a, 0x00000100, 0x08000000, 0x88000000, 0x00000004,
912          0x07000000, 0x00000140, 0x02000000, 0x00004000, 0xc0000000}};
913    /** Code Point Ranges for CP
914    [0029, 0029], [005d, 005d]**/
915    const UnicodeSet cp_Set
916        {{{Empty, 1}, {Mixed, 2}, {Empty, 34813}},
917         {0x00000200, 0x20000000}};
918    /** Code Point Ranges for IS
919    [002c, 002c], [002e, 002e], [003a, 003b], [037e, 037e], [0589, 0589],
920    [060c, 060d], [07f8, 07f8], [2044, 2044], [fe10, fe10], [fe13, fe14]**/
921    const UnicodeSet is_Set
922        {{{Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 16},
923          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
924          {Empty, 194}, {Mixed, 1}, {Empty, 1773}, {Mixed, 1},
925          {Empty, 32783}},
926         {0x0c005000, 0x40000000, 0x00000200, 0x00003000, 0x01000000,
927          0x00000010, 0x00190000}};
928    /** Code Point Ranges for HY
929    [002d, 002d]**/
930    const UnicodeSet hy_Set
931        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
932         {0x00002000}};
933    /** Code Point Ranges for SY
934    [002f, 002f]**/
935    const UnicodeSet sy_Set
936        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
937         {0x00008000}};
938    /** Code Point Ranges for NU
939    [0030, 0039], [0660, 0669], [066b, 066c], [06f0, 06f9], [07c0, 07c9],
940    [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f],
941    [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f], [0de6, 0def],
942    [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f29], [1040, 1049], [1090, 1099],
943    [17e0, 17e9], [1810, 1819], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
944    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59],
945    [a620, a629], [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9],
946    [aa50, aa59], [abf0, abf9], [104a0, 104a9], [11066, 1106f],
947    [110f0, 110f9], [11136, 1113f], [111d0, 111d9], [112f0, 112f9],
948    [11450, 11459], [114d0, 114d9], [11650, 11659], [116c0, 116c9],
949    [11730, 11739], [118e0, 118e9], [11c50, 11c59], [11d50, 11d59],
950    [16a60, 16a69], [16b50, 16b59], [1d7ce, 1d7ff], [1e950, 1e959]**/
951    const UnicodeSet nu_Set
952        {{{Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3},
953          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
954          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
955          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
956          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
957          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
958          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
959          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2},
960          {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
961          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
962          {Empty, 4}, {Mixed, 1}, {Empty, 1102}, {Mixed, 1}, {Empty, 20},
963          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
964          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 709},
965          {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
966          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
967          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
968          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
969          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
970          {Empty, 7}, {Mixed, 1}, {Empty, 616}, {Mixed, 1}, {Empty, 6},
971          {Mixed, 1}, {Empty, 867}, {Mixed, 1}, {Full, 1}, {Empty, 138},
972          {Mixed, 1}, {Empty, 30901}},
973         {0x03ff0000, 0x00001bff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
974          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
975          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
976          0x03ff0000, 0x000003ff, 0x000003ff, 0x03ff0000, 0x000003ff,
977          0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff, 0x03ff0000,
978          0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
979          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
980          0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000,
981          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
982          0x000003ff, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
983          0xffffc000, 0x03ff0000}};
984    /** Code Point Ranges for CL
985    [007d, 007d], [0f3b, 0f3b], [0f3d, 0f3d], [169c, 169c], [2046, 2046],
986    [207e, 207e], [208e, 208e], [2309, 2309], [230b, 230b], [232a, 232a],
987    [2769, 2769], [276b, 276b], [276d, 276d], [276f, 276f], [2771, 2771],
988    [2773, 2773], [2775, 2775], [27c6, 27c6], [27e7, 27e7], [27e9, 27e9],
989    [27eb, 27eb], [27ed, 27ed], [27ef, 27ef], [2984, 2984], [2986, 2986],
990    [2988, 2988], [298a, 298a], [298c, 298c], [298e, 298e], [2990, 2990],
991    [2992, 2992], [2994, 2994], [2996, 2996], [2998, 2998], [29d9, 29d9],
992    [29db, 29db], [29fd, 29fd], [2e23, 2e23], [2e25, 2e25], [2e27, 2e27],
993    [2e29, 2e29], [3001, 3002], [3009, 3009], [300b, 300b], [300d, 300d],
994    [300f, 300f], [3011, 3011], [3015, 3015], [3017, 3017], [3019, 3019],
995    [301b, 301b], [301e, 301f], [fd3e, fd3e], [fe11, fe12], [fe18, fe18],
996    [fe36, fe36], [fe38, fe38], [fe3a, fe3a], [fe3c, fe3c], [fe3e, fe3e],
997    [fe40, fe40], [fe42, fe42], [fe44, fe44], [fe48, fe48], [fe50, fe50],
998    [fe52, fe52], [fe5a, fe5a], [fe5c, fe5c], [fe5e, fe5e], [ff09, ff09],
999    [ff0c, ff0c], [ff0e, ff0e], [ff3d, ff3d], [ff5d, ff5d], [ff60, ff61],
1000    [ff63, ff64], [1325b, 1325d], [13282, 13282], [13287, 13287],
1001    [13289, 13289], [1337a, 1337b], [145cf, 145cf]**/
1002    const UnicodeSet cl_Set
1003        {{{Empty, 3}, {Mixed, 1}, {Empty, 117}, {Mixed, 1}, {Empty, 58},
1004          {Mixed, 1}, {Empty, 77}, {Mixed, 3}, {Empty, 19}, {Mixed, 2},
1005          {Empty, 33}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 12},
1006          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 33}, {Mixed, 1},
1007          {Empty, 14}, {Mixed, 1}, {Empty, 1640}, {Mixed, 1}, {Empty, 6},
1008          {Mixed, 3}, {Empty, 5}, {Mixed, 4}, {Empty, 406}, {Mixed, 1},
1009          {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 146},
1010          {Mixed, 1}, {Empty, 32209}},
1011         {0x20000000, 0x28000000, 0x10000000, 0x00000040, 0x40000000,
1012          0x00004000, 0x00000a00, 0x00000400, 0x002aaa00, 0x00000040,
1013          0x0000aa80, 0x01555550, 0x0a000000, 0x20000000, 0x000002a8,
1014          0xcaa2aa06, 0x40000000, 0x01060000, 0x55400000, 0x54050115,
1015          0x00005200, 0x20000000, 0x20000000, 0x0000001b, 0x38000000,
1016          0x00000284, 0x0c000000, 0x00008000}};
1017    /** Code Point Ranges for NL
1018    [0085, 0085]**/
1019    const UnicodeSet nl_Set
1020        {{{Empty, 4}, {Mixed, 1}, {Empty, 34811}},
1021         {0x00000020}};
1022    /** Code Point Ranges for GL
1023    [00a0, 00a0], [034f, 034f], [035c, 0362], [0f08, 0f08], [0f0c, 0f0c],
1024    [0f12, 0f12], [0fd9, 0fda], [180e, 180e], [2007, 2007], [2011, 2011],
1025    [202f, 202f]**/
1026    const UnicodeSet gl_Set
1027        {{{Empty, 5}, {Mixed, 1}, {Empty, 20}, {Mixed, 2}, {Empty, 92},
1028          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 65}, {Mixed, 1},
1029          {Empty, 63}, {Mixed, 2}, {Empty, 34558}},
1030         {0x00000001, 0xf0008000, 0x00000007, 0x00041100, 0x06000000,
1031          0x00004000, 0x00020080, 0x00008000}};
1032    /** Code Point Ranges for AI
1033    [00a7, 00a8], [00aa, 00aa], [00b2, 00b3], [00b6, 00ba], [00bc, 00be],
1034    [00d7, 00d7], [00f7, 00f7], [02c7, 02c7], [02c9, 02cb], [02cd, 02cd],
1035    [02d0, 02d0], [02d8, 02db], [02dd, 02dd], [2015, 2016], [2020, 2021],
1036    [203b, 203b], [2074, 2074], [207f, 207f], [2081, 2084], [2105, 2105],
1037    [2113, 2113], [2121, 2122], [212b, 212b], [2154, 2155], [215b, 215b],
1038    [215e, 215e], [2160, 216b], [2170, 2179], [2189, 2189], [2190, 2199],
1039    [21d2, 21d2], [21d4, 21d4], [2200, 2200], [2202, 2203], [2207, 2208],
1040    [220b, 220b], [220f, 220f], [2211, 2211], [2215, 2215], [221a, 221a],
1041    [221d, 2220], [2223, 2223], [2225, 2225], [2227, 222c], [222e, 222e],
1042    [2234, 2237], [223c, 223d], [2248, 2248], [224c, 224c], [2252, 2252],
1043    [2260, 2261], [2264, 2267], [226a, 226b], [226e, 226f], [2282, 2283],
1044    [2286, 2287], [2295, 2295], [2299, 2299], [22a5, 22a5], [22bf, 22bf],
1045    [2312, 2312], [2460, 24fe], [2500, 254b], [2550, 2574], [2580, 258f],
1046    [2592, 2595], [25a0, 25a1], [25a3, 25a9], [25b2, 25b3], [25b6, 25b7],
1047    [25bc, 25bd], [25c0, 25c1], [25c6, 25c8], [25cb, 25cb], [25ce, 25d1],
1048    [25e2, 25e5], [25ef, 25ef], [2605, 2606], [2609, 2609], [260e, 260f],
1049    [2616, 2617], [2640, 2640], [2642, 2642], [2660, 2661], [2663, 2665],
1050    [2667, 2667], [2669, 266a], [266c, 266d], [266f, 266f], [269e, 269f],
1051    [26c9, 26cc], [26d2, 26d2], [26d5, 26d7], [26da, 26db], [26dd, 26de],
1052    [26e3, 26e3], [26e8, 26e9], [26eb, 26f0], [26f6, 26f6], [26fb, 26fc],
1053    [2757, 2757], [2776, 2793], [2b55, 2b59], [3248, 324f], [fffd, fffd],
1054    [1f100, 1f10c], [1f110, 1f12d], [1f130, 1f169], [1f170, 1f1ac]**/
1055    const UnicodeSet ai_Set
1056        {{{Empty, 5}, {Mixed, 3}, {Empty, 14}, {Mixed, 1}, {Empty, 233},
1057          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 5},
1058          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 6}, {Empty, 2},
1059          {Mixed, 1}, {Empty, 10}, {Full, 4}, {Mixed, 1}, {Full, 2},
1060          {Mixed, 7}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
1061          {Empty, 2}, {Mixed, 3}, {Empty, 29}, {Mixed, 1}, {Empty, 55},
1062          {Mixed, 1}, {Empty, 1644}, {Mixed, 1}, {Empty, 1928}, {Mixed, 2},
1063          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 30834}},
1064         {0x77cc0580, 0x00800000, 0x00800000, 0x2f012e80, 0x00600000,
1065          0x08000003, 0x80100000, 0x0000001e, 0x00080020, 0x00000806,
1066          0x48300000, 0x03ff0fff, 0x03ff0200, 0x00140000, 0xe422898d,
1067          0x30f05fa9, 0x00041100, 0x0000ccf3, 0x022000cc, 0x80000020,
1068          0x00040000, 0x7fffffff, 0xffff0fff, 0x001fffff, 0x003cffff,
1069          0x30cc03fb, 0x0003c9c3, 0x0000803c, 0x00c0c260, 0x00000005,
1070          0x0000b6bb, 0xc0000000, 0x6ce41e00, 0x1841fb08, 0x00800000,
1071          0xffc00000, 0x000fffff, 0x03e00000, 0x0000ff00, 0x20000000,
1072          0xffff1fff, 0xffff3fff, 0xffff03ff, 0x00001fff}};
1073    /** Code Point Ranges for BB
1074    [00b4, 00b4], [02c8, 02c8], [02cc, 02cc], [02df, 02df], [0f01, 0f04],
1075    [0f06, 0f07], [0f09, 0f0a], [0fd0, 0fd1], [0fd3, 0fd3], [1806, 1806],
1076    [1ffd, 1ffd], [a874, a875], [a8fc, a8fc], [11175, 11175],
1077    [111db, 111db], [115c1, 115c1], [11660, 1166c], [11a3f, 11a3f],
1078    [11a45, 11a45], [11a9e, 11aa0], [11c70, 11c70]**/
1079    const UnicodeSet bb_Set
1080        {{{Empty, 5}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 97},
1081          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 65}, {Mixed, 1},
1082          {Empty, 62}, {Mixed, 1}, {Empty, 1091}, {Mixed, 1}, {Empty, 3},
1083          {Mixed, 1}, {Empty, 835}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1084          {Empty, 31}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 29},
1085          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 13}, {Mixed, 1},
1086          {Empty, 32540}},
1087         {0x00100000, 0x80001100, 0x000006de, 0x000b0000, 0x00000040,
1088          0x20000000, 0x00300000, 0x10000000, 0x00200000, 0x08000000,
1089          0x00000002, 0x00001fff, 0x80000000, 0x00000020, 0xc0000000,
1090          0x00000001, 0x00010000}};
1091    /** Code Point Ranges for HL
1092    [05d0, 05ea], [05f0, 05f2], [fb1d, fb1d], [fb1f, fb28], [fb2a, fb36],
1093    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4f]**/
1094    const UnicodeSet hl_Set
1095        {{{Empty, 46}, {Mixed, 2}, {Empty, 1960}, {Mixed, 3},
1096          {Empty, 32805}},
1097         {0xffff0000, 0x000707ff, 0xa0000000, 0x5f7ffdff, 0x0000ffdb}};
1098    /** Code Point Ranges for SA
1099    [0e01, 0e3a], [0e40, 0e4e], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88],
1100    [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
1101    [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9], [0ebb, 0ebd],
1102    [0ec0, 0ec4], [0ec6, 0ec6], [0ec8, 0ecd], [0edc, 0edf], [1000, 103f],
1103    [1050, 108f], [109a, 109f], [1780, 17d3], [17d7, 17d7], [17dc, 17dd],
1104    [1950, 196d], [1970, 1974], [1980, 19ab], [19b0, 19c9], [19da, 19da],
1105    [19de, 19df], [1a20, 1a5e], [1a60, 1a7c], [1aa0, 1aad], [a9e0, a9ef],
1106    [a9fa, a9fe], [aa60, aac2], [aadb, aadf], [11700, 11719],
1107    [1171d, 1172b], [1173a, 1173b], [1173f, 1173f]**/
1108    const UnicodeSet sa_Set
1109        {{{Empty, 112}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 9},
1110          {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 55},
1111          {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 2}, {Full, 1},
1112          {Mixed, 2}, {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1},
1113          {Mixed, 1}, {Empty, 1145}, {Mixed, 1}, {Empty, 3}, {Full, 3},
1114          {Mixed, 1}, {Empty, 865}, {Mixed, 2}, {Empty, 32582}},
1115         {0xfffffffe, 0x07ffffff, 0x00007fff, 0xfef02596, 0x3bffecae,
1116          0xf0003f5f, 0xffff0000, 0xfc00ffff, 0x308fffff, 0xffff0000,
1117          0x001f3fff, 0xffff0fff, 0xc40003ff, 0x7fffffff, 0x1fffffff,
1118          0x00003fff, 0x7c00ffff, 0xf8000007, 0xe3ffffff, 0x8c000fff}};
1119    /** Code Point Ranges for JL
1120    [1100, 115f], [a960, a97c]**/
1121    const UnicodeSet jl_Set
1122        {{{Empty, 136}, {Full, 3}, {Empty, 1216}, {Mixed, 1},
1123          {Empty, 33460}},
1124         {0x1fffffff}};
1125    /** Code Point Ranges for JV
1126    [1160, 11a7], [d7b0, d7c6]**/
1127    const UnicodeSet jv_Set
1128        {{{Empty, 139}, {Full, 2}, {Mixed, 1}, {Empty, 1583}, {Mixed, 2},
1129          {Empty, 33089}},
1130         {0x000000ff, 0xffff0000, 0x0000007f}};
1131    /** Code Point Ranges for JT
1132    [11a8, 11ff], [d7cb, d7fb]**/
1133    const UnicodeSet jt_Set
1134        {{{Empty, 141}, {Mixed, 1}, {Full, 2}, {Empty, 1582}, {Mixed, 2},
1135          {Empty, 33088}},
1136         {0xffffff00, 0xfffff800, 0x0fffffff}};
1137    /** Code Point Ranges for NS
1138    [17d6, 17d6], [203c, 203d], [2047, 2049], [3005, 3005], [301c, 301c],
1139    [303b, 303c], [309b, 309e], [30a0, 30a0], [30fb, 30fb], [30fd, 30fe],
1140    [a015, a015], [fe54, fe55], [ff1a, ff1b], [ff65, ff65], [ff9e, ff9f],
1141    [16fe0, 16fe1], [1f679, 1f67b]**/
1142    const UnicodeSet ns_Set
1143        {{{Empty, 190}, {Mixed, 1}, {Empty, 66}, {Mixed, 2}, {Empty, 125},
1144          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
1145          {Empty, 888}, {Mixed, 1}, {Empty, 753}, {Mixed, 1}, {Empty, 5},
1146          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 898}, {Mixed, 1},
1147          {Empty, 1075}, {Mixed, 1}, {Empty, 30796}},
1148         {0x00400000, 0x30000000, 0x00000380, 0x10000020, 0x18000000,
1149          0x78000000, 0x00000001, 0x68000000, 0x00200000, 0x00300000,
1150          0x0c000000, 0x00000020, 0xc0000000, 0x00000003, 0x0e000000}};
1151    /** Code Point Ranges for ZW
1152    [200b, 200b]**/
1153    const UnicodeSet zw_Set
1154        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
1155         {0x00000800}};
1156    /** Code Point Ranges for ZWJ
1157    [200d, 200d]**/
1158    const UnicodeSet zwj_Set
1159        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
1160         {0x00002000}};
1161    /** Code Point Ranges for B2
1162    [2014, 2014], [2e3a, 2e3b]**/
1163    const UnicodeSet b2_Set
1164        {{{Empty, 256}, {Mixed, 1}, {Empty, 112}, {Mixed, 1},
1165          {Empty, 34446}},
1166         {0x00100000, 0x0c000000}};
1167    /** Code Point Ranges for IN
1168    [2024, 2026], [22ef, 22ef], [fe19, fe19], [10af6, 10af6]**/
1169    const UnicodeSet in_Set
1170        {{{Empty, 257}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 1752},
1171          {Mixed, 1}, {Empty, 102}, {Mixed, 1}, {Empty, 32680}},
1172         {0x00000070, 0x00008000, 0x02000000, 0x00400000}};
1173    /** Code Point Ranges for WJ
1174    [2060, 2060], [feff, feff]**/
1175    const UnicodeSet wj_Set
1176        {{{Empty, 259}, {Mixed, 1}, {Empty, 1779}, {Mixed, 1},
1177          {Empty, 32776}},
1178         {0x00000001, 0x80000000}};
1179    /** Code Point Ranges for ID
1180    [231a, 231b], [23f0, 23f3], [2600, 2603], [2614, 2615], [2618, 2618],
1181    [261a, 261c], [261e, 261f], [2639, 263b], [2668, 2668], [267f, 267f],
1182    [26bd, 26c8], [26cd, 26cd], [26cf, 26d1], [26d3, 26d4], [26d8, 26d9],
1183    [26dc, 26dc], [26df, 26e1], [26ea, 26ea], [26f1, 26f5], [26f7, 26f8],
1184    [26fa, 26fa], [26fd, 2704], [2708, 2709], [2764, 2764], [2e80, 2e99],
1185    [2e9b, 2ef3], [2f00, 2fd5], [2ff0, 2ffb], [3003, 3004], [3006, 3007],
1186    [3012, 3013], [3020, 3029], [3030, 3034], [3036, 303a], [303d, 303f],
1187    [3042, 3042], [3044, 3044], [3046, 3046], [3048, 3048], [304a, 3062],
1188    [3064, 3082], [3084, 3084], [3086, 3086], [3088, 308d], [308f, 3094],
1189    [309f, 309f], [30a2, 30a2], [30a4, 30a4], [30a6, 30a6], [30a8, 30a8],
1190    [30aa, 30c2], [30c4, 30e2], [30e4, 30e4], [30e6, 30e6], [30e8, 30ed],
1191    [30ef, 30f4], [30f7, 30fa], [30ff, 30ff], [3105, 312e], [3131, 318e],
1192    [3190, 31ba], [31c0, 31e3], [3200, 321e], [3220, 3247], [3250, 32fe],
1193    [3300, 4dbf], [4e00, a014], [a016, a48c], [a490, a4c6], [f900, faff],
1194    [fe30, fe34], [fe45, fe46], [fe49, fe4f], [fe51, fe51], [fe58, fe58],
1195    [fe5f, fe66], [fe68, fe68], [fe6b, fe6b], [ff02, ff03], [ff06, ff07],
1196    [ff0a, ff0b], [ff0d, ff0d], [ff0f, ff19], [ff1c, ff1e], [ff20, ff3a],
1197    [ff3c, ff3c], [ff3e, ff5a], [ff5c, ff5c], [ff5e, ff5e], [ff66, ff66],
1198    [ff71, ff9d], [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
1199    [ffda, ffdc], [ffe2, ffe4], [17000, 187ec], [18800, 18af2],
1200    [1b000, 1b11e], [1b170, 1b2fb], [1f000, 1f0ff], [1f10d, 1f10f],
1201    [1f12f, 1f12f], [1f16c, 1f16f], [1f1ad, 1f1e5], [1f200, 1f384],
1202    [1f386, 1f39b], [1f39e, 1f3b4], [1f3b7, 1f3bb], [1f3bd, 1f3c1],
1203    [1f3c5, 1f3c6], [1f3c8, 1f3c9], [1f3cd, 1f3fa], [1f400, 1f441],
1204    [1f444, 1f445], [1f451, 1f465], [1f46a, 1f46d], [1f46f, 1f46f],
1205    [1f479, 1f47b], [1f47d, 1f480], [1f484, 1f484], [1f488, 1f49f],
1206    [1f4a1, 1f4a1], [1f4a3, 1f4a3], [1f4a5, 1f4a9], [1f4ab, 1f4ae],
1207    [1f4b0, 1f4b0], [1f4b3, 1f4ff], [1f507, 1f516], [1f525, 1f531],
1208    [1f54a, 1f573], [1f576, 1f579], [1f57b, 1f58f], [1f591, 1f594],
1209    [1f597, 1f5d3], [1f5dc, 1f5f3], [1f5fa, 1f644], [1f648, 1f64a],
1210    [1f680, 1f6a2], [1f6a4, 1f6b3], [1f6b7, 1f6bf], [1f6c1, 1f6cb],
1211    [1f6cd, 1f6ff], [1f774, 1f77f], [1f7d5, 1f7ff], [1f80c, 1f80f],
1212    [1f848, 1f84f], [1f85a, 1f85f], [1f888, 1f88f], [1f8ae, 1f8ff],
1213    [1f90c, 1f917], [1f91d, 1f91d], [1f920, 1f925], [1f927, 1f92f],
1214    [1f93a, 1f93c], [1f93f, 1f9d0], [1f9de, 1fffd], [20000, 2fffd],
1215    [30000, 3fffd]**/
1216    const UnicodeSet id_Set
1217        {{{Empty, 280}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 16},
1218          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
1219          {Empty, 2}, {Mixed, 1}, {Empty, 56}, {Mixed, 1}, {Full, 2},
1220          {Mixed, 1}, {Full, 6}, {Mixed, 12}, {Full, 2}, {Mixed, 2},
1221          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 4},
1222          {Mixed, 1}, {Full, 214}, {Empty, 2}, {Full, 656}, {Mixed, 1},
1223          {Full, 35}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 673},
1224          {Full, 16}, {Empty, 25}, {Mixed, 3}, {Empty, 4}, {Mixed, 8},
1225          {Empty, 896}, {Full, 191}, {Mixed, 1}, {Full, 23}, {Mixed, 1},
1226          {Empty, 296}, {Full, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1227          {Full, 11}, {Mixed, 1}, {Empty, 488}, {Full, 8}, {Mixed, 2},
1228          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
1229          {Mixed, 1}, {Full, 12}, {Mixed, 4}, {Full, 2}, {Mixed, 4},
1230          {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Full, 2},
1231          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
1232          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
1233          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1234          {Full, 2}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 48},
1235          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
1236          {Empty, 26624}},
1237         {0x0c000000, 0x000f0000, 0xdd30000f, 0x0e000000, 0x80000100,
1238          0xe0000000, 0x931ba1ff, 0xe5be0403, 0x0000031f, 0x00000010,
1239          0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000, 0x000c00d8,
1240          0xe7df03ff, 0xfffffd54, 0xfffffff7, 0x801fbf57, 0xfffffd54,
1241          0xfffffff7, 0x879fbf57, 0xffffffe0, 0xfffe7fff, 0xffff7fff,
1242          0x07ffffff, 0x0000000f, 0x7fffffff, 0xffff00ff, 0x7fffffff,
1243          0xffdfffff, 0xffff1fff, 0x0000007f, 0x001f0000, 0x8102fe60,
1244          0x0000097f, 0x73ffaccc, 0xd7ffffff, 0x57ffffff, 0xfffe0040,
1245          0x3fffffff, 0x7fffffff, 0x1cfcfcfc, 0x0000001c, 0x00001fff,
1246          0x0007ffff, 0x7fffffff, 0xffff0000, 0x0fffffff, 0x0000e000,
1247          0x00008000, 0x0000f000, 0xffffe000, 0x0000003f, 0xcfffffdf,
1248          0xef9fffff, 0xffffe363, 0x07ffffff, 0xfffe0033, 0xee00bc3f,
1249          0xffffff11, 0xfff97bea, 0x007fff80, 0x0003ffe0, 0xfffffc00,
1250          0xfbcfffff, 0xff9effff, 0xf00fffff, 0xfc0fffff, 0x0000071f,
1251          0xff8ffff7, 0xffffeffe, 0xfff00000, 0xffe00000, 0x0000f000,
1252          0xfc00ff00, 0x0000ff00, 0xffffc000, 0x20fff000, 0x9c00ffbf,
1253          0xc001ffff, 0x3fffffff, 0x3fffffff, 0x3fffffff}};
1254    /** Code Point Ranges for EB
1255    [261d, 261d], [26f9, 26f9], [270a, 270d], [1f385, 1f385],
1256    [1f3c2, 1f3c4], [1f3c7, 1f3c7], [1f3ca, 1f3cc], [1f442, 1f443],
1257    [1f446, 1f450], [1f466, 1f469], [1f46e, 1f46e], [1f470, 1f478],
1258    [1f47c, 1f47c], [1f481, 1f483], [1f485, 1f487], [1f4aa, 1f4aa],
1259    [1f574, 1f575], [1f57a, 1f57a], [1f590, 1f590], [1f595, 1f596],
1260    [1f645, 1f647], [1f64b, 1f64f], [1f6a3, 1f6a3], [1f6b4, 1f6b6],
1261    [1f6c0, 1f6c0], [1f6cc, 1f6cc], [1f918, 1f91c], [1f91e, 1f91f],
1262    [1f926, 1f926], [1f930, 1f939], [1f93d, 1f93e], [1f9d1, 1f9dd]**/
1263    const UnicodeSet eb_Set
1264        {{{Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
1265          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
1266          {Empty, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
1267          {Mixed, 2}, {Empty, 17}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
1268          {Empty, 30769}},
1269         {0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00001c9c,
1270          0x0001ffcc, 0x11ff43c0, 0x000000ee, 0x00000400, 0x04300000,
1271          0x00610000, 0x0000f8e0, 0x00700008, 0x00001001, 0xdf000000,
1272          0x63ff0040, 0x3ffe0000}};
1273    /** Code Point Ranges for CJ
1274    [3041, 3041], [3043, 3043], [3045, 3045], [3047, 3047], [3049, 3049],
1275    [3063, 3063], [3083, 3083], [3085, 3085], [3087, 3087], [308e, 308e],
1276    [3095, 3096], [30a1, 30a1], [30a3, 30a3], [30a5, 30a5], [30a7, 30a7],
1277    [30a9, 30a9], [30c3, 30c3], [30e3, 30e3], [30e5, 30e5], [30e7, 30e7],
1278    [30ee, 30ee], [30f5, 30f6], [30fc, 30fc], [31f0, 31ff], [ff67, ff70]**/
1279    const UnicodeSet cj_Set
1280        {{{Empty, 386}, {Mixed, 6}, {Empty, 7}, {Mixed, 1}, {Empty, 1643},
1281          {Mixed, 1}, {Empty, 32772}},
1282         {0x000002aa, 0x00000008, 0x006040a8, 0x000002aa, 0x00000008,
1283          0x106040a8, 0xffff0000, 0x0001ff80}};
1284    /** Code Point Ranges for H2
1285    [ac00, ac00], [ac1c, ac1c], [ac38, ac38], [ac54, ac54], [ac70, ac70],
1286    [ac8c, ac8c], [aca8, aca8], [acc4, acc4], [ace0, ace0], [acfc, acfc],
1287    [ad18, ad18], [ad34, ad34], [ad50, ad50], [ad6c, ad6c], [ad88, ad88],
1288    [ada4, ada4], [adc0, adc0], [addc, addc], [adf8, adf8], [ae14, ae14],
1289    [ae30, ae30], [ae4c, ae4c], [ae68, ae68], [ae84, ae84], [aea0, aea0],
1290    [aebc, aebc], [aed8, aed8], [aef4, aef4], [af10, af10], [af2c, af2c],
1291    [af48, af48], [af64, af64], [af80, af80], [af9c, af9c], [afb8, afb8],
1292    [afd4, afd4], [aff0, aff0], [b00c, b00c], [b028, b028], [b044, b044],
1293    [b060, b060], [b07c, b07c], [b098, b098], [b0b4, b0b4], [b0d0, b0d0],
1294    [b0ec, b0ec], [b108, b108], [b124, b124], [b140, b140], [b15c, b15c],
1295    [b178, b178], [b194, b194], [b1b0, b1b0], [b1cc, b1cc], [b1e8, b1e8],
1296    [b204, b204], [b220, b220], [b23c, b23c], [b258, b258], [b274, b274],
1297    [b290, b290], [b2ac, b2ac], [b2c8, b2c8], [b2e4, b2e4], [b300, b300],
1298    [b31c, b31c], [b338, b338], [b354, b354], [b370, b370], [b38c, b38c],
1299    [b3a8, b3a8], [b3c4, b3c4], [b3e0, b3e0], [b3fc, b3fc], [b418, b418],
1300    [b434, b434], [b450, b450], [b46c, b46c], [b488, b488], [b4a4, b4a4],
1301    [b4c0, b4c0], [b4dc, b4dc], [b4f8, b4f8], [b514, b514], [b530, b530],
1302    [b54c, b54c], [b568, b568], [b584, b584], [b5a0, b5a0], [b5bc, b5bc],
1303    [b5d8, b5d8], [b5f4, b5f4], [b610, b610], [b62c, b62c], [b648, b648],
1304    [b664, b664], [b680, b680], [b69c, b69c], [b6b8, b6b8], [b6d4, b6d4],
1305    [b6f0, b6f0], [b70c, b70c], [b728, b728], [b744, b744], [b760, b760],
1306    [b77c, b77c], [b798, b798], [b7b4, b7b4], [b7d0, b7d0], [b7ec, b7ec],
1307    [b808, b808], [b824, b824], [b840, b840], [b85c, b85c], [b878, b878],
1308    [b894, b894], [b8b0, b8b0], [b8cc, b8cc], [b8e8, b8e8], [b904, b904],
1309    [b920, b920], [b93c, b93c], [b958, b958], [b974, b974], [b990, b990],
1310    [b9ac, b9ac], [b9c8, b9c8], [b9e4, b9e4], [ba00, ba00], [ba1c, ba1c],
1311    [ba38, ba38], [ba54, ba54], [ba70, ba70], [ba8c, ba8c], [baa8, baa8],
1312    [bac4, bac4], [bae0, bae0], [bafc, bafc], [bb18, bb18], [bb34, bb34],
1313    [bb50, bb50], [bb6c, bb6c], [bb88, bb88], [bba4, bba4], [bbc0, bbc0],
1314    [bbdc, bbdc], [bbf8, bbf8], [bc14, bc14], [bc30, bc30], [bc4c, bc4c],
1315    [bc68, bc68], [bc84, bc84], [bca0, bca0], [bcbc, bcbc], [bcd8, bcd8],
1316    [bcf4, bcf4], [bd10, bd10], [bd2c, bd2c], [bd48, bd48], [bd64, bd64],
1317    [bd80, bd80], [bd9c, bd9c], [bdb8, bdb8], [bdd4, bdd4], [bdf0, bdf0],
1318    [be0c, be0c], [be28, be28], [be44, be44], [be60, be60], [be7c, be7c],
1319    [be98, be98], [beb4, beb4], [bed0, bed0], [beec, beec], [bf08, bf08],
1320    [bf24, bf24], [bf40, bf40], [bf5c, bf5c], [bf78, bf78], [bf94, bf94],
1321    [bfb0, bfb0], [bfcc, bfcc], [bfe8, bfe8], [c004, c004], [c020, c020],
1322    [c03c, c03c], [c058, c058], [c074, c074], [c090, c090], [c0ac, c0ac],
1323    [c0c8, c0c8], [c0e4, c0e4], [c100, c100], [c11c, c11c], [c138, c138],
1324    [c154, c154], [c170, c170], [c18c, c18c], [c1a8, c1a8], [c1c4, c1c4],
1325    [c1e0, c1e0], [c1fc, c1fc], [c218, c218], [c234, c234], [c250, c250],
1326    [c26c, c26c], [c288, c288], [c2a4, c2a4], [c2c0, c2c0], [c2dc, c2dc],
1327    [c2f8, c2f8], [c314, c314], [c330, c330], [c34c, c34c], [c368, c368],
1328    [c384, c384], [c3a0, c3a0], [c3bc, c3bc], [c3d8, c3d8], [c3f4, c3f4],
1329    [c410, c410], [c42c, c42c], [c448, c448], [c464, c464], [c480, c480],
1330    [c49c, c49c], [c4b8, c4b8], [c4d4, c4d4], [c4f0, c4f0], [c50c, c50c],
1331    [c528, c528], [c544, c544], [c560, c560], [c57c, c57c], [c598, c598],
1332    [c5b4, c5b4], [c5d0, c5d0], [c5ec, c5ec], [c608, c608], [c624, c624],
1333    [c640, c640], [c65c, c65c], [c678, c678], [c694, c694], [c6b0, c6b0],
1334    [c6cc, c6cc], [c6e8, c6e8], [c704, c704], [c720, c720], [c73c, c73c],
1335    [c758, c758], [c774, c774], [c790, c790], [c7ac, c7ac], [c7c8, c7c8],
1336    [c7e4, c7e4], [c800, c800], [c81c, c81c], [c838, c838], [c854, c854],
1337    [c870, c870], [c88c, c88c], [c8a8, c8a8], [c8c4, c8c4], [c8e0, c8e0],
1338    [c8fc, c8fc], [c918, c918], [c934, c934], [c950, c950], [c96c, c96c],
1339    [c988, c988], [c9a4, c9a4], [c9c0, c9c0], [c9dc, c9dc], [c9f8, c9f8],
1340    [ca14, ca14], [ca30, ca30], [ca4c, ca4c], [ca68, ca68], [ca84, ca84],
1341    [caa0, caa0], [cabc, cabc], [cad8, cad8], [caf4, caf4], [cb10, cb10],
1342    [cb2c, cb2c], [cb48, cb48], [cb64, cb64], [cb80, cb80], [cb9c, cb9c],
1343    [cbb8, cbb8], [cbd4, cbd4], [cbf0, cbf0], [cc0c, cc0c], [cc28, cc28],
1344    [cc44, cc44], [cc60, cc60], [cc7c, cc7c], [cc98, cc98], [ccb4, ccb4],
1345    [ccd0, ccd0], [ccec, ccec], [cd08, cd08], [cd24, cd24], [cd40, cd40],
1346    [cd5c, cd5c], [cd78, cd78], [cd94, cd94], [cdb0, cdb0], [cdcc, cdcc],
1347    [cde8, cde8], [ce04, ce04], [ce20, ce20], [ce3c, ce3c], [ce58, ce58],
1348    [ce74, ce74], [ce90, ce90], [ceac, ceac], [cec8, cec8], [cee4, cee4],
1349    [cf00, cf00], [cf1c, cf1c], [cf38, cf38], [cf54, cf54], [cf70, cf70],
1350    [cf8c, cf8c], [cfa8, cfa8], [cfc4, cfc4], [cfe0, cfe0], [cffc, cffc],
1351    [d018, d018], [d034, d034], [d050, d050], [d06c, d06c], [d088, d088],
1352    [d0a4, d0a4], [d0c0, d0c0], [d0dc, d0dc], [d0f8, d0f8], [d114, d114],
1353    [d130, d130], [d14c, d14c], [d168, d168], [d184, d184], [d1a0, d1a0],
1354    [d1bc, d1bc], [d1d8, d1d8], [d1f4, d1f4], [d210, d210], [d22c, d22c],
1355    [d248, d248], [d264, d264], [d280, d280], [d29c, d29c], [d2b8, d2b8],
1356    [d2d4, d2d4], [d2f0, d2f0], [d30c, d30c], [d328, d328], [d344, d344],
1357    [d360, d360], [d37c, d37c], [d398, d398], [d3b4, d3b4], [d3d0, d3d0],
1358    [d3ec, d3ec], [d408, d408], [d424, d424], [d440, d440], [d45c, d45c],
1359    [d478, d478], [d494, d494], [d4b0, d4b0], [d4cc, d4cc], [d4e8, d4e8],
1360    [d504, d504], [d520, d520], [d53c, d53c], [d558, d558], [d574, d574],
1361    [d590, d590], [d5ac, d5ac], [d5c8, d5c8], [d5e4, d5e4], [d600, d600],
1362    [d61c, d61c], [d638, d638], [d654, d654], [d670, d670], [d68c, d68c],
1363    [d6a8, d6a8], [d6c4, d6c4], [d6e0, d6e0], [d6fc, d6fc], [d718, d718],
1364    [d734, d734], [d750, d750], [d76c, d76c], [d788, d788]**/
1365    const UnicodeSet h2_Set
1366        {{{Empty, 1376}, {Mixed, 349}, {Empty, 33091}},
1367         {0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1368          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1369          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1370          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1371          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1372          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1373          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1374          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1375          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1376          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1377          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1378          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1379          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1380          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1381          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1382          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1383          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1384          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1385          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1386          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1387          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1388          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1389          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1390          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1391          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1392          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1393          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1394          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1395          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1396          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1397          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1398          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1399          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1400          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1401          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1402          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1403          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1404          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1405          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1406          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1407          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1408          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1409          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1410          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1411          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1412          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1413          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1414          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1415          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1416          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1417          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1418          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1419          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1420          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1421          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1422          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1423          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1424          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1425          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1426          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1427          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1428          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1429          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1430          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1431          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1432          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1433          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1434          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1435          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1436          0x00100000, 0x00010000, 0x00001000, 0x00000100}};
1437    /** Code Point Ranges for H3
1438    [ac01, ac1b], [ac1d, ac37], [ac39, ac53], [ac55, ac6f], [ac71, ac8b],
1439    [ac8d, aca7], [aca9, acc3], [acc5, acdf], [ace1, acfb], [acfd, ad17],
1440    [ad19, ad33], [ad35, ad4f], [ad51, ad6b], [ad6d, ad87], [ad89, ada3],
1441    [ada5, adbf], [adc1, addb], [addd, adf7], [adf9, ae13], [ae15, ae2f],
1442    [ae31, ae4b], [ae4d, ae67], [ae69, ae83], [ae85, ae9f], [aea1, aebb],
1443    [aebd, aed7], [aed9, aef3], [aef5, af0f], [af11, af2b], [af2d, af47],
1444    [af49, af63], [af65, af7f], [af81, af9b], [af9d, afb7], [afb9, afd3],
1445    [afd5, afef], [aff1, b00b], [b00d, b027], [b029, b043], [b045, b05f],
1446    [b061, b07b], [b07d, b097], [b099, b0b3], [b0b5, b0cf], [b0d1, b0eb],
1447    [b0ed, b107], [b109, b123], [b125, b13f], [b141, b15b], [b15d, b177],
1448    [b179, b193], [b195, b1af], [b1b1, b1cb], [b1cd, b1e7], [b1e9, b203],
1449    [b205, b21f], [b221, b23b], [b23d, b257], [b259, b273], [b275, b28f],
1450    [b291, b2ab], [b2ad, b2c7], [b2c9, b2e3], [b2e5, b2ff], [b301, b31b],
1451    [b31d, b337], [b339, b353], [b355, b36f], [b371, b38b], [b38d, b3a7],
1452    [b3a9, b3c3], [b3c5, b3df], [b3e1, b3fb], [b3fd, b417], [b419, b433],
1453    [b435, b44f], [b451, b46b], [b46d, b487], [b489, b4a3], [b4a5, b4bf],
1454    [b4c1, b4db], [b4dd, b4f7], [b4f9, b513], [b515, b52f], [b531, b54b],
1455    [b54d, b567], [b569, b583], [b585, b59f], [b5a1, b5bb], [b5bd, b5d7],
1456    [b5d9, b5f3], [b5f5, b60f], [b611, b62b], [b62d, b647], [b649, b663],
1457    [b665, b67f], [b681, b69b], [b69d, b6b7], [b6b9, b6d3], [b6d5, b6ef],
1458    [b6f1, b70b], [b70d, b727], [b729, b743], [b745, b75f], [b761, b77b],
1459    [b77d, b797], [b799, b7b3], [b7b5, b7cf], [b7d1, b7eb], [b7ed, b807],
1460    [b809, b823], [b825, b83f], [b841, b85b], [b85d, b877], [b879, b893],
1461    [b895, b8af], [b8b1, b8cb], [b8cd, b8e7], [b8e9, b903], [b905, b91f],
1462    [b921, b93b], [b93d, b957], [b959, b973], [b975, b98f], [b991, b9ab],
1463    [b9ad, b9c7], [b9c9, b9e3], [b9e5, b9ff], [ba01, ba1b], [ba1d, ba37],
1464    [ba39, ba53], [ba55, ba6f], [ba71, ba8b], [ba8d, baa7], [baa9, bac3],
1465    [bac5, badf], [bae1, bafb], [bafd, bb17], [bb19, bb33], [bb35, bb4f],
1466    [bb51, bb6b], [bb6d, bb87], [bb89, bba3], [bba5, bbbf], [bbc1, bbdb],
1467    [bbdd, bbf7], [bbf9, bc13], [bc15, bc2f], [bc31, bc4b], [bc4d, bc67],
1468    [bc69, bc83], [bc85, bc9f], [bca1, bcbb], [bcbd, bcd7], [bcd9, bcf3],
1469    [bcf5, bd0f], [bd11, bd2b], [bd2d, bd47], [bd49, bd63], [bd65, bd7f],
1470    [bd81, bd9b], [bd9d, bdb7], [bdb9, bdd3], [bdd5, bdef], [bdf1, be0b],
1471    [be0d, be27], [be29, be43], [be45, be5f], [be61, be7b], [be7d, be97],
1472    [be99, beb3], [beb5, becf], [bed1, beeb], [beed, bf07], [bf09, bf23],
1473    [bf25, bf3f], [bf41, bf5b], [bf5d, bf77], [bf79, bf93], [bf95, bfaf],
1474    [bfb1, bfcb], [bfcd, bfe7], [bfe9, c003], [c005, c01f], [c021, c03b],
1475    [c03d, c057], [c059, c073], [c075, c08f], [c091, c0ab], [c0ad, c0c7],
1476    [c0c9, c0e3], [c0e5, c0ff], [c101, c11b], [c11d, c137], [c139, c153],
1477    [c155, c16f], [c171, c18b], [c18d, c1a7], [c1a9, c1c3], [c1c5, c1df],
1478    [c1e1, c1fb], [c1fd, c217], [c219, c233], [c235, c24f], [c251, c26b],
1479    [c26d, c287], [c289, c2a3], [c2a5, c2bf], [c2c1, c2db], [c2dd, c2f7],
1480    [c2f9, c313], [c315, c32f], [c331, c34b], [c34d, c367], [c369, c383],
1481    [c385, c39f], [c3a1, c3bb], [c3bd, c3d7], [c3d9, c3f3], [c3f5, c40f],
1482    [c411, c42b], [c42d, c447], [c449, c463], [c465, c47f], [c481, c49b],
1483    [c49d, c4b7], [c4b9, c4d3], [c4d5, c4ef], [c4f1, c50b], [c50d, c527],
1484    [c529, c543], [c545, c55f], [c561, c57b], [c57d, c597], [c599, c5b3],
1485    [c5b5, c5cf], [c5d1, c5eb], [c5ed, c607], [c609, c623], [c625, c63f],
1486    [c641, c65b], [c65d, c677], [c679, c693], [c695, c6af], [c6b1, c6cb],
1487    [c6cd, c6e7], [c6e9, c703], [c705, c71f], [c721, c73b], [c73d, c757],
1488    [c759, c773], [c775, c78f], [c791, c7ab], [c7ad, c7c7], [c7c9, c7e3],
1489    [c7e5, c7ff], [c801, c81b], [c81d, c837], [c839, c853], [c855, c86f],
1490    [c871, c88b], [c88d, c8a7], [c8a9, c8c3], [c8c5, c8df], [c8e1, c8fb],
1491    [c8fd, c917], [c919, c933], [c935, c94f], [c951, c96b], [c96d, c987],
1492    [c989, c9a3], [c9a5, c9bf], [c9c1, c9db], [c9dd, c9f7], [c9f9, ca13],
1493    [ca15, ca2f], [ca31, ca4b], [ca4d, ca67], [ca69, ca83], [ca85, ca9f],
1494    [caa1, cabb], [cabd, cad7], [cad9, caf3], [caf5, cb0f], [cb11, cb2b],
1495    [cb2d, cb47], [cb49, cb63], [cb65, cb7f], [cb81, cb9b], [cb9d, cbb7],
1496    [cbb9, cbd3], [cbd5, cbef], [cbf1, cc0b], [cc0d, cc27], [cc29, cc43],
1497    [cc45, cc5f], [cc61, cc7b], [cc7d, cc97], [cc99, ccb3], [ccb5, cccf],
1498    [ccd1, cceb], [cced, cd07], [cd09, cd23], [cd25, cd3f], [cd41, cd5b],
1499    [cd5d, cd77], [cd79, cd93], [cd95, cdaf], [cdb1, cdcb], [cdcd, cde7],
1500    [cde9, ce03], [ce05, ce1f], [ce21, ce3b], [ce3d, ce57], [ce59, ce73],
1501    [ce75, ce8f], [ce91, ceab], [cead, cec7], [cec9, cee3], [cee5, ceff],
1502    [cf01, cf1b], [cf1d, cf37], [cf39, cf53], [cf55, cf6f], [cf71, cf8b],
1503    [cf8d, cfa7], [cfa9, cfc3], [cfc5, cfdf], [cfe1, cffb], [cffd, d017],
1504    [d019, d033], [d035, d04f], [d051, d06b], [d06d, d087], [d089, d0a3],
1505    [d0a5, d0bf], [d0c1, d0db], [d0dd, d0f7], [d0f9, d113], [d115, d12f],
1506    [d131, d14b], [d14d, d167], [d169, d183], [d185, d19f], [d1a1, d1bb],
1507    [d1bd, d1d7], [d1d9, d1f3], [d1f5, d20f], [d211, d22b], [d22d, d247],
1508    [d249, d263], [d265, d27f], [d281, d29b], [d29d, d2b7], [d2b9, d2d3],
1509    [d2d5, d2ef], [d2f1, d30b], [d30d, d327], [d329, d343], [d345, d35f],
1510    [d361, d37b], [d37d, d397], [d399, d3b3], [d3b5, d3cf], [d3d1, d3eb],
1511    [d3ed, d407], [d409, d423], [d425, d43f], [d441, d45b], [d45d, d477],
1512    [d479, d493], [d495, d4af], [d4b1, d4cb], [d4cd, d4e7], [d4e9, d503],
1513    [d505, d51f], [d521, d53b], [d53d, d557], [d559, d573], [d575, d58f],
1514    [d591, d5ab], [d5ad, d5c7], [d5c9, d5e3], [d5e5, d5ff], [d601, d61b],
1515    [d61d, d637], [d639, d653], [d655, d66f], [d671, d68b], [d68d, d6a7],
1516    [d6a9, d6c3], [d6c5, d6df], [d6e1, d6fb], [d6fd, d717], [d719, d733],
1517    [d735, d74f], [d751, d76b], [d76d, d787], [d789, d7a3]**/
1518    const UnicodeSet h3_Set
1519        {{{Empty, 1376}, {Mixed, 350}, {Empty, 33090}},
1520         {0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1521          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1522          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1523          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1524          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1525          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1526          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1527          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1528          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1529          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1530          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1531          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1532          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1533          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1534          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1535          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1536          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1537          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1538          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1539          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1540          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1541          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1542          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1543          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1544          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1545          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1546          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1547          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1548          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1549          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1550          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1551          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1552          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1553          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1554          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1555          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1556          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1557          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1558          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1559          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1560          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1561          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1562          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1563          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1564          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1565          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1566          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1567          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1568          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1569          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1570          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1571          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1572          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1573          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1574          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1575          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1576          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1577          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1578          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1579          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1580          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1581          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1582          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1583          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1584          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1585          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1586          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1587          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1588          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1589          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0x0000000f}};
1590    /** Code Point Ranges for SG
1591    [d800, dfff]**/
1592    const UnicodeSet sg_Set
1593        {{{Empty, 1728}, {Full, 64}, {Empty, 33024}},
1594         {}};
1595    /** Code Point Ranges for CB
1596    [fffc, fffc]**/
1597    const UnicodeSet cb_Set
1598        {{{Empty, 2047}, {Mixed, 1}, {Empty, 32768}},
1599         {0x10000000}};
1600    /** Code Point Ranges for RI
1601    [1f1e6, 1f1ff]**/
1602    const UnicodeSet ri_Set
1603        {{{Empty, 3983}, {Mixed, 1}, {Empty, 30832}},
1604         {0xffffffc0}};
1605    /** Code Point Ranges for EM
1606    [1f3fb, 1f3ff]**/
1607    const UnicodeSet em_Set
1608        {{{Empty, 3999}, {Mixed, 1}, {Empty, 30816}},
1609         {0xf8000000}};
1610    static EnumeratedPropertyObject property_object
1611        {lb,
1612         LB_ns::independent_prop_values,
1613         LB_ns::enum_names,
1614         LB_ns::value_names,
1615         LB_ns::aliases_only_map,
1616         {&xx_Set, &cm_Set, &ba_Set, &lf_Set, &bk_Set, &cr_Set, &sp_Set,
1617        &ex_Set, &qu_Set, &al_Set, &pr_Set, &po_Set, &op_Set, &cp_Set,
1618        &is_Set, &hy_Set, &sy_Set, &nu_Set, &cl_Set, &nl_Set, &gl_Set,
1619        &ai_Set, &bb_Set, &hl_Set, &sa_Set, &jl_Set, &jv_Set, &jt_Set,
1620        &ns_Set, &zw_Set, &zwj_Set, &b2_Set, &in_Set, &wj_Set, &id_Set,
1621        &eb_Set, &cj_Set, &h2_Set, &h3_Set, &sg_Set, &cb_Set, &ri_Set,
1622        &em_Set
1623         }};
1624    }
1625}
1626
1627#endif
Note: See TracBrowser for help on using the repository browser.