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

Last change on this file since 5787 was 5751, checked in by cameron, 21 months ago

LLVM_ALIGNAS placement, eliminate std::move of temp objects to allow copy elision

File size: 185.5 KB
Line 
1#ifndef DERIVEDGENERALCATEGORY_H
2#define DERIVEDGENERALCATEGORY_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 GC_ns {
18    const unsigned independent_prop_values = 30;
19    /** Code Point Ranges for Cn
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], [20c0, 20cf], [20f1, 20ff], [218c, 218f],
72    [2427, 243f], [244b, 245f], [2b74, 2b75], [2b96, 2b97], [2bba, 2bbc],
73    [2bc9, 2bc9], [2bd3, 2beb], [2bf0, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
74    [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f], [2d68, 2d6e],
75    [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf], [2db7, 2db7],
76    [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7], [2ddf, 2ddf],
77    [2e4a, 2e7f], [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef], [2ffc, 2fff],
78    [3040, 3040], [3097, 3098], [3100, 3104], [312f, 3130], [318f, 318f],
79    [31bb, 31bf], [31e4, 31ef], [321f, 321f], [32ff, 32ff], [4db6, 4dbf],
80    [9feb, 9fff], [a48d, a48f], [a4c7, a4cf], [a62c, a63f], [a6f8, a6ff],
81    [a7af, a7af], [a7b8, a7f6], [a82c, a82f], [a83a, a83f], [a878, a87f],
82    [a8c6, a8cd], [a8da, a8df], [a8fe, a8ff], [a954, a95e], [a97d, a97f],
83    [a9ce, a9ce], [a9da, a9dd], [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f],
84    [aa5a, aa5b], [aac3, aada], [aaf7, ab00], [ab07, ab08], [ab0f, ab10],
85    [ab17, ab1f], [ab27, ab27], [ab2f, ab2f], [ab66, ab6f], [abee, abef],
86    [abfa, abff], [d7a4, d7af], [d7c7, d7ca], [d7fc, d7ff], [fa6e, fa6f],
87    [fada, faff], [fb07, fb12], [fb18, fb1c], [fb37, fb37], [fb3d, fb3d],
88    [fb3f, fb3f], [fb42, fb42], [fb45, fb45], [fbc2, fbd2], [fd40, fd4f],
89    [fd90, fd91], [fdc8, fdef], [fdfe, fdff], [fe1a, fe1f], [fe53, fe53],
90    [fe67, fe67], [fe6c, fe6f], [fe75, fe75], [fefd, fefe], [ff00, ff00],
91    [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9], [ffdd, ffdf],
92    [ffe7, ffe7], [ffef, fff8], [fffe, ffff], [1000c, 1000c],
93    [10027, 10027], [1003b, 1003b], [1003e, 1003e], [1004e, 1004f],
94    [1005e, 1007f], [100fb, 100ff], [10103, 10106], [10134, 10136],
95    [1018f, 1018f], [1019c, 1019f], [101a1, 101cf], [101fe, 1027f],
96    [1029d, 1029f], [102d1, 102df], [102fc, 102ff], [10324, 1032c],
97    [1034b, 1034f], [1037b, 1037f], [1039e, 1039e], [103c4, 103c7],
98    [103d6, 103ff], [1049e, 1049f], [104aa, 104af], [104d4, 104d7],
99    [104fc, 104ff], [10528, 1052f], [10564, 1056e], [10570, 105ff],
100    [10737, 1073f], [10756, 1075f], [10768, 107ff], [10806, 10807],
101    [10809, 10809], [10836, 10836], [10839, 1083b], [1083d, 1083e],
102    [10856, 10856], [1089f, 108a6], [108b0, 108df], [108f3, 108f3],
103    [108f6, 108fa], [1091c, 1091e], [1093a, 1093e], [10940, 1097f],
104    [109b8, 109bb], [109d0, 109d1], [10a04, 10a04], [10a07, 10a0b],
105    [10a14, 10a14], [10a18, 10a18], [10a34, 10a37], [10a3b, 10a3e],
106    [10a48, 10a4f], [10a59, 10a5f], [10aa0, 10abf], [10ae7, 10aea],
107    [10af7, 10aff], [10b36, 10b38], [10b56, 10b57], [10b73, 10b77],
108    [10b92, 10b98], [10b9d, 10ba8], [10bb0, 10bff], [10c49, 10c7f],
109    [10cb3, 10cbf], [10cf3, 10cf9], [10d00, 10e5f], [10e7f, 10fff],
110    [1104e, 11051], [11070, 1107e], [110c2, 110cf], [110e9, 110ef],
111    [110fa, 110ff], [11135, 11135], [11144, 1114f], [11177, 1117f],
112    [111ce, 111cf], [111e0, 111e0], [111f5, 111ff], [11212, 11212],
113    [1123f, 1127f], [11287, 11287], [11289, 11289], [1128e, 1128e],
114    [1129e, 1129e], [112aa, 112af], [112eb, 112ef], [112fa, 112ff],
115    [11304, 11304], [1130d, 1130e], [11311, 11312], [11329, 11329],
116    [11331, 11331], [11334, 11334], [1133a, 1133b], [11345, 11346],
117    [11349, 1134a], [1134e, 1134f], [11351, 11356], [11358, 1135c],
118    [11364, 11365], [1136d, 1136f], [11375, 113ff], [1145a, 1145a],
119    [1145c, 1145c], [1145e, 1147f], [114c8, 114cf], [114da, 1157f],
120    [115b6, 115b7], [115de, 115ff], [11645, 1164f], [1165a, 1165f],
121    [1166d, 1167f], [116b8, 116bf], [116ca, 116ff], [1171a, 1171c],
122    [1172c, 1172f], [11740, 1189f], [118f3, 118fe], [11900, 119ff],
123    [11a48, 11a4f], [11a84, 11a85], [11a9d, 11a9d], [11aa3, 11abf],
124    [11af9, 11bff], [11c09, 11c09], [11c37, 11c37], [11c46, 11c4f],
125    [11c6d, 11c6f], [11c90, 11c91], [11ca8, 11ca8], [11cb7, 11cff],
126    [11d07, 11d07], [11d0a, 11d0a], [11d37, 11d39], [11d3b, 11d3b],
127    [11d3e, 11d3e], [11d48, 11d4f], [11d5a, 11fff], [1239a, 123ff],
128    [1246f, 1246f], [12475, 1247f], [12544, 12fff], [1342f, 143ff],
129    [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d],
130    [16a70, 16acf], [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f],
131    [16b5a, 16b5a], [16b62, 16b62], [16b78, 16b7c], [16b90, 16eff],
132    [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf], [16fe2, 16fff],
133    [187ed, 187ff], [18af3, 1afff], [1b11f, 1b16f], [1b2fc, 1bbff],
134    [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f], [1bc9a, 1bc9b],
135    [1bca4, 1cfff], [1d0f6, 1d0ff], [1d127, 1d128], [1d1e9, 1d1ff],
136    [1d246, 1d2ff], [1d357, 1d35f], [1d372, 1d3ff], [1d455, 1d455],
137    [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4], [1d4a7, 1d4a8],
138    [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc], [1d4c4, 1d4c4],
139    [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515], [1d51d, 1d51d],
140    [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545], [1d547, 1d549],
141    [1d551, 1d551], [1d6a6, 1d6a7], [1d7cc, 1d7cd], [1da8c, 1da9a],
142    [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a],
143    [1e022, 1e022], [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8c6],
144    [1e8d7, 1e8ff], [1e94b, 1e94f], [1e95a, 1e95d], [1e960, 1edff],
145    [1ee04, 1ee04], [1ee20, 1ee20], [1ee23, 1ee23], [1ee25, 1ee26],
146    [1ee28, 1ee28], [1ee33, 1ee33], [1ee38, 1ee38], [1ee3a, 1ee3a],
147    [1ee3c, 1ee41], [1ee43, 1ee46], [1ee48, 1ee48], [1ee4a, 1ee4a],
148    [1ee4c, 1ee4c], [1ee50, 1ee50], [1ee53, 1ee53], [1ee55, 1ee56],
149    [1ee58, 1ee58], [1ee5a, 1ee5a], [1ee5c, 1ee5c], [1ee5e, 1ee5e],
150    [1ee60, 1ee60], [1ee63, 1ee63], [1ee65, 1ee66], [1ee6b, 1ee6b],
151    [1ee73, 1ee73], [1ee78, 1ee78], [1ee7d, 1ee7d], [1ee7f, 1ee7f],
152    [1ee8a, 1ee8a], [1ee9c, 1eea0], [1eea4, 1eea4], [1eeaa, 1eeaa],
153    [1eebc, 1eeef], [1eef2, 1efff], [1f02c, 1f02f], [1f094, 1f09f],
154    [1f0af, 1f0b0], [1f0c0, 1f0c0], [1f0d0, 1f0d0], [1f0f6, 1f0ff],
155    [1f10d, 1f10f], [1f12f, 1f12f], [1f16c, 1f16f], [1f1ad, 1f1e5],
156    [1f203, 1f20f], [1f23c, 1f23f], [1f249, 1f24f], [1f252, 1f25f],
157    [1f266, 1f2ff], [1f6d5, 1f6df], [1f6ed, 1f6ef], [1f6f9, 1f6ff],
158    [1f774, 1f77f], [1f7d5, 1f7ff], [1f80c, 1f80f], [1f848, 1f84f],
159    [1f85a, 1f85f], [1f888, 1f88f], [1f8ae, 1f8ff], [1f90c, 1f90f],
160    [1f93f, 1f93f], [1f94d, 1f94f], [1f96c, 1f97f], [1f998, 1f9bf],
161    [1f9c1, 1f9cf], [1f9e7, 1ffff], [2a6d7, 2a6ff], [2b735, 2b73f],
162    [2b81e, 2b81f], [2cea2, 2ceaf], [2ebe1, 2f7ff], [2fa1e, e0000],
163    [e0002, e001f], [e0080, e00ff], [e01f0, effff], [ffffe, fffff],
164    [10fffe, 10ffff]**/
165
166
167    namespace {
168    const static UnicodeSet::run_t __cn_Set_runs[] = {
169    {Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
170    {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
171    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
172    {Mixed, 2}, {Empty, 5}, {Mixed, 29}, {Empty, 1}, {Mixed, 9}, {Full, 1},
173    {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6},
174    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
175    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20},
176    {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
177    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 1},
178    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2},
179    {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
180    {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
181    {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
182    {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
183    {Empty, 20}, {Mixed, 2}, {Empty, 56}, {Mixed, 5}, {Empty, 1},
184    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
185    {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
186    {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
187    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
188    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
189    {Empty, 657}, {Mixed, 1}, {Empty, 36}, {Mixed, 1}, {Empty, 1},
190    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5},
191    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
192    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
193    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
194    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
195    {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
196    {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
197    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
198    {Empty, 4}, {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
199    {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
200    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
201    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4}, {Empty, 9},
202    {Mixed, 3}, {Full, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1},
203    {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
204    {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
205    {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1},
206    {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Full, 12}, {Empty, 2},
207    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
208    {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
209    {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
210    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
211    {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1},
212    {Full, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
213    {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 21},
214    {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
215    {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126},
216    {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3},
217    {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
218    {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
219    {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8}, {Mixed, 1}, {Full, 2},
220    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 72}, {Empty, 3}, {Mixed, 3},
221    {Full, 154}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
222    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
223    {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
224    {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
225    {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 6},
226    {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 37}, {Mixed, 6},
227    {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
228    {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
229    {Mixed, 5}, {Full, 4}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
230    {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
231    {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2},
232    {Full, 48}, {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129},
233    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1},
234    {Empty, 233}, {Mixed, 1}, {Full, 96}, {Empty, 16}, {Mixed, 1},
235    {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7},
236    {Mixed, 1}, {Full, 2032}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047},
237    {Mixed, 1}};
238    const static UnicodeSet::bitquad_t  __cn_Set_quads[] = {
239    0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000, 0x00000001,
240    0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000, 0x00004000, 0x00001800,
241    0xfffc0000, 0xf8000000, 0x8000c000, 0xb0000000, 0xfffff800, 0xc0200000,
242    0x000fffff, 0x00066010, 0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811,
243    0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440,
244    0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
245    0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200, 0xf89fc220,
246    0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010,
247    0x000f0220, 0x00000030, 0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f,
248    0x00000001, 0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
249    0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000, 0x0000df40,
250    0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2, 0x00c20000, 0x18000000,
251    0xe0000000, 0xfc000000, 0xc0c00000, 0xe0000000, 0xfe000000, 0xffe02000,
252    0xff800000, 0xfff00000, 0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000,
253    0xff000000, 0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
254    0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000, 0x60000000,
255    0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000, 0x0ff00000, 0x07000000,
256    0x00001c00, 0xfffffe00, 0x0000ff00, 0xfc000000, 0x04000000, 0xc0c00000,
257    0x5500c0c0, 0xc0000000, 0x00200000, 0x10300020, 0x80230000, 0x000c0020,
258    0xe0008000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
259    0x00300000, 0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff, 0x00008000,
260    0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080,
261    0x80808080, 0xfffffc00, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
262    0x00000001, 0x01800000, 0x0000001f, 0x00018000, 0x00008000, 0xf8000000,
263    0x0000fff0, 0x80000000, 0x80000000, 0xffc00000, 0xfffff800, 0x0000e000,
264    0x0000ff80, 0xfffff000, 0xff000000, 0xff008000, 0x007fffff, 0xfc00f000,
265    0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000,
266    0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
267    0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000,
268    0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
269    0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000, 0x00080000,
270    0x0020f080, 0x60000000, 0x00000001, 0x80000000, 0xe3030303, 0xc1ff8080,
271    0x00001000, 0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
272    0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000,
273    0xf0000000, 0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
274    0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0,
275    0xff800000, 0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000, 0x00400000,
276    0x80000000, 0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
277    0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000,
278    0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
279    0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc, 0xfc00fe00,
280    0x00200000, 0x0000fff0, 0xff800000, 0x0000c000, 0xffe00001, 0x00040000,
281    0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
282    0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000,
283    0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000,
284    0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000, 0x00000200,
285    0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100, 0x00000480,
286    0x4b800000, 0xfc00ff00, 0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000,
287    0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
288    0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
289    0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff, 0xf0000000,
290    0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180, 0xfffffe00,
291    0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000, 0x20000000, 0x1400219b,
292    0x00000010, 0x20201840, 0x84000000, 0x000203a0, 0x000000c0, 0x00003000,
293    0x07fff000, 0xffff0001, 0x06000080, 0xfffff824, 0xff800060, 0x3c00f800,
294    0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
295    0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001, 0xffc00000,
296    0x0000e000, 0x00008000, 0x0000f000, 0xffffe000, 0x0000003f, 0x0000fff8,
297    0xf0000000, 0xfffcfe00, 0xffffffc0, 0xffe00000, 0xfe00e000, 0xfff00000,
298    0xffe00000, 0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000, 0x0000f000,
299    0x80000000, 0x0000e000, 0xfffff000, 0xff000000, 0x0000fffe, 0xffffff80,
300    0xff800000, 0xffe00000, 0xc0000000, 0x0000fffc, 0xfffffffe, 0xc0000000,
301    0xfffffffd, 0xffff0000, 0xc0000000, 0xc0000000};
302    }
303
304    const static UnicodeSet cn_Set{const_cast<UnicodeSet::run_t *>(__cn_Set_runs), 395, 0, const_cast<UnicodeSet::bitquad_t *>(__cn_Set_quads), 376, 0};
305
306    /** Code Point Ranges for Lu
307    [0041, 005a], [00c0, 00d6], [00d8, 00de], [0100, 0100], [0102, 0102],
308    [0104, 0104], [0106, 0106], [0108, 0108], [010a, 010a], [010c, 010c],
309    [010e, 010e], [0110, 0110], [0112, 0112], [0114, 0114], [0116, 0116],
310    [0118, 0118], [011a, 011a], [011c, 011c], [011e, 011e], [0120, 0120],
311    [0122, 0122], [0124, 0124], [0126, 0126], [0128, 0128], [012a, 012a],
312    [012c, 012c], [012e, 012e], [0130, 0130], [0132, 0132], [0134, 0134],
313    [0136, 0136], [0139, 0139], [013b, 013b], [013d, 013d], [013f, 013f],
314    [0141, 0141], [0143, 0143], [0145, 0145], [0147, 0147], [014a, 014a],
315    [014c, 014c], [014e, 014e], [0150, 0150], [0152, 0152], [0154, 0154],
316    [0156, 0156], [0158, 0158], [015a, 015a], [015c, 015c], [015e, 015e],
317    [0160, 0160], [0162, 0162], [0164, 0164], [0166, 0166], [0168, 0168],
318    [016a, 016a], [016c, 016c], [016e, 016e], [0170, 0170], [0172, 0172],
319    [0174, 0174], [0176, 0176], [0178, 0179], [017b, 017b], [017d, 017d],
320    [0181, 0182], [0184, 0184], [0186, 0187], [0189, 018b], [018e, 0191],
321    [0193, 0194], [0196, 0198], [019c, 019d], [019f, 01a0], [01a2, 01a2],
322    [01a4, 01a4], [01a6, 01a7], [01a9, 01a9], [01ac, 01ac], [01ae, 01af],
323    [01b1, 01b3], [01b5, 01b5], [01b7, 01b8], [01bc, 01bc], [01c4, 01c4],
324    [01c7, 01c7], [01ca, 01ca], [01cd, 01cd], [01cf, 01cf], [01d1, 01d1],
325    [01d3, 01d3], [01d5, 01d5], [01d7, 01d7], [01d9, 01d9], [01db, 01db],
326    [01de, 01de], [01e0, 01e0], [01e2, 01e2], [01e4, 01e4], [01e6, 01e6],
327    [01e8, 01e8], [01ea, 01ea], [01ec, 01ec], [01ee, 01ee], [01f1, 01f1],
328    [01f4, 01f4], [01f6, 01f8], [01fa, 01fa], [01fc, 01fc], [01fe, 01fe],
329    [0200, 0200], [0202, 0202], [0204, 0204], [0206, 0206], [0208, 0208],
330    [020a, 020a], [020c, 020c], [020e, 020e], [0210, 0210], [0212, 0212],
331    [0214, 0214], [0216, 0216], [0218, 0218], [021a, 021a], [021c, 021c],
332    [021e, 021e], [0220, 0220], [0222, 0222], [0224, 0224], [0226, 0226],
333    [0228, 0228], [022a, 022a], [022c, 022c], [022e, 022e], [0230, 0230],
334    [0232, 0232], [023a, 023b], [023d, 023e], [0241, 0241], [0243, 0246],
335    [0248, 0248], [024a, 024a], [024c, 024c], [024e, 024e], [0370, 0370],
336    [0372, 0372], [0376, 0376], [037f, 037f], [0386, 0386], [0388, 038a],
337    [038c, 038c], [038e, 038f], [0391, 03a1], [03a3, 03ab], [03cf, 03cf],
338    [03d2, 03d4], [03d8, 03d8], [03da, 03da], [03dc, 03dc], [03de, 03de],
339    [03e0, 03e0], [03e2, 03e2], [03e4, 03e4], [03e6, 03e6], [03e8, 03e8],
340    [03ea, 03ea], [03ec, 03ec], [03ee, 03ee], [03f4, 03f4], [03f7, 03f7],
341    [03f9, 03fa], [03fd, 042f], [0460, 0460], [0462, 0462], [0464, 0464],
342    [0466, 0466], [0468, 0468], [046a, 046a], [046c, 046c], [046e, 046e],
343    [0470, 0470], [0472, 0472], [0474, 0474], [0476, 0476], [0478, 0478],
344    [047a, 047a], [047c, 047c], [047e, 047e], [0480, 0480], [048a, 048a],
345    [048c, 048c], [048e, 048e], [0490, 0490], [0492, 0492], [0494, 0494],
346    [0496, 0496], [0498, 0498], [049a, 049a], [049c, 049c], [049e, 049e],
347    [04a0, 04a0], [04a2, 04a2], [04a4, 04a4], [04a6, 04a6], [04a8, 04a8],
348    [04aa, 04aa], [04ac, 04ac], [04ae, 04ae], [04b0, 04b0], [04b2, 04b2],
349    [04b4, 04b4], [04b6, 04b6], [04b8, 04b8], [04ba, 04ba], [04bc, 04bc],
350    [04be, 04be], [04c0, 04c1], [04c3, 04c3], [04c5, 04c5], [04c7, 04c7],
351    [04c9, 04c9], [04cb, 04cb], [04cd, 04cd], [04d0, 04d0], [04d2, 04d2],
352    [04d4, 04d4], [04d6, 04d6], [04d8, 04d8], [04da, 04da], [04dc, 04dc],
353    [04de, 04de], [04e0, 04e0], [04e2, 04e2], [04e4, 04e4], [04e6, 04e6],
354    [04e8, 04e8], [04ea, 04ea], [04ec, 04ec], [04ee, 04ee], [04f0, 04f0],
355    [04f2, 04f2], [04f4, 04f4], [04f6, 04f6], [04f8, 04f8], [04fa, 04fa],
356    [04fc, 04fc], [04fe, 04fe], [0500, 0500], [0502, 0502], [0504, 0504],
357    [0506, 0506], [0508, 0508], [050a, 050a], [050c, 050c], [050e, 050e],
358    [0510, 0510], [0512, 0512], [0514, 0514], [0516, 0516], [0518, 0518],
359    [051a, 051a], [051c, 051c], [051e, 051e], [0520, 0520], [0522, 0522],
360    [0524, 0524], [0526, 0526], [0528, 0528], [052a, 052a], [052c, 052c],
361    [052e, 052e], [0531, 0556], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
362    [13a0, 13f5], [1e00, 1e00], [1e02, 1e02], [1e04, 1e04], [1e06, 1e06],
363    [1e08, 1e08], [1e0a, 1e0a], [1e0c, 1e0c], [1e0e, 1e0e], [1e10, 1e10],
364    [1e12, 1e12], [1e14, 1e14], [1e16, 1e16], [1e18, 1e18], [1e1a, 1e1a],
365    [1e1c, 1e1c], [1e1e, 1e1e], [1e20, 1e20], [1e22, 1e22], [1e24, 1e24],
366    [1e26, 1e26], [1e28, 1e28], [1e2a, 1e2a], [1e2c, 1e2c], [1e2e, 1e2e],
367    [1e30, 1e30], [1e32, 1e32], [1e34, 1e34], [1e36, 1e36], [1e38, 1e38],
368    [1e3a, 1e3a], [1e3c, 1e3c], [1e3e, 1e3e], [1e40, 1e40], [1e42, 1e42],
369    [1e44, 1e44], [1e46, 1e46], [1e48, 1e48], [1e4a, 1e4a], [1e4c, 1e4c],
370    [1e4e, 1e4e], [1e50, 1e50], [1e52, 1e52], [1e54, 1e54], [1e56, 1e56],
371    [1e58, 1e58], [1e5a, 1e5a], [1e5c, 1e5c], [1e5e, 1e5e], [1e60, 1e60],
372    [1e62, 1e62], [1e64, 1e64], [1e66, 1e66], [1e68, 1e68], [1e6a, 1e6a],
373    [1e6c, 1e6c], [1e6e, 1e6e], [1e70, 1e70], [1e72, 1e72], [1e74, 1e74],
374    [1e76, 1e76], [1e78, 1e78], [1e7a, 1e7a], [1e7c, 1e7c], [1e7e, 1e7e],
375    [1e80, 1e80], [1e82, 1e82], [1e84, 1e84], [1e86, 1e86], [1e88, 1e88],
376    [1e8a, 1e8a], [1e8c, 1e8c], [1e8e, 1e8e], [1e90, 1e90], [1e92, 1e92],
377    [1e94, 1e94], [1e9e, 1e9e], [1ea0, 1ea0], [1ea2, 1ea2], [1ea4, 1ea4],
378    [1ea6, 1ea6], [1ea8, 1ea8], [1eaa, 1eaa], [1eac, 1eac], [1eae, 1eae],
379    [1eb0, 1eb0], [1eb2, 1eb2], [1eb4, 1eb4], [1eb6, 1eb6], [1eb8, 1eb8],
380    [1eba, 1eba], [1ebc, 1ebc], [1ebe, 1ebe], [1ec0, 1ec0], [1ec2, 1ec2],
381    [1ec4, 1ec4], [1ec6, 1ec6], [1ec8, 1ec8], [1eca, 1eca], [1ecc, 1ecc],
382    [1ece, 1ece], [1ed0, 1ed0], [1ed2, 1ed2], [1ed4, 1ed4], [1ed6, 1ed6],
383    [1ed8, 1ed8], [1eda, 1eda], [1edc, 1edc], [1ede, 1ede], [1ee0, 1ee0],
384    [1ee2, 1ee2], [1ee4, 1ee4], [1ee6, 1ee6], [1ee8, 1ee8], [1eea, 1eea],
385    [1eec, 1eec], [1eee, 1eee], [1ef0, 1ef0], [1ef2, 1ef2], [1ef4, 1ef4],
386    [1ef6, 1ef6], [1ef8, 1ef8], [1efa, 1efa], [1efc, 1efc], [1efe, 1efe],
387    [1f08, 1f0f], [1f18, 1f1d], [1f28, 1f2f], [1f38, 1f3f], [1f48, 1f4d],
388    [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f5f], [1f68, 1f6f],
389    [1fb8, 1fbb], [1fc8, 1fcb], [1fd8, 1fdb], [1fe8, 1fec], [1ff8, 1ffb],
390    [2102, 2102], [2107, 2107], [210b, 210d], [2110, 2112], [2115, 2115],
391    [2119, 211d], [2124, 2124], [2126, 2126], [2128, 2128], [212a, 212d],
392    [2130, 2133], [213e, 213f], [2145, 2145], [2183, 2183], [2c00, 2c2e],
393    [2c60, 2c60], [2c62, 2c64], [2c67, 2c67], [2c69, 2c69], [2c6b, 2c6b],
394    [2c6d, 2c70], [2c72, 2c72], [2c75, 2c75], [2c7e, 2c80], [2c82, 2c82],
395    [2c84, 2c84], [2c86, 2c86], [2c88, 2c88], [2c8a, 2c8a], [2c8c, 2c8c],
396    [2c8e, 2c8e], [2c90, 2c90], [2c92, 2c92], [2c94, 2c94], [2c96, 2c96],
397    [2c98, 2c98], [2c9a, 2c9a], [2c9c, 2c9c], [2c9e, 2c9e], [2ca0, 2ca0],
398    [2ca2, 2ca2], [2ca4, 2ca4], [2ca6, 2ca6], [2ca8, 2ca8], [2caa, 2caa],
399    [2cac, 2cac], [2cae, 2cae], [2cb0, 2cb0], [2cb2, 2cb2], [2cb4, 2cb4],
400    [2cb6, 2cb6], [2cb8, 2cb8], [2cba, 2cba], [2cbc, 2cbc], [2cbe, 2cbe],
401    [2cc0, 2cc0], [2cc2, 2cc2], [2cc4, 2cc4], [2cc6, 2cc6], [2cc8, 2cc8],
402    [2cca, 2cca], [2ccc, 2ccc], [2cce, 2cce], [2cd0, 2cd0], [2cd2, 2cd2],
403    [2cd4, 2cd4], [2cd6, 2cd6], [2cd8, 2cd8], [2cda, 2cda], [2cdc, 2cdc],
404    [2cde, 2cde], [2ce0, 2ce0], [2ce2, 2ce2], [2ceb, 2ceb], [2ced, 2ced],
405    [2cf2, 2cf2], [a640, a640], [a642, a642], [a644, a644], [a646, a646],
406    [a648, a648], [a64a, a64a], [a64c, a64c], [a64e, a64e], [a650, a650],
407    [a652, a652], [a654, a654], [a656, a656], [a658, a658], [a65a, a65a],
408    [a65c, a65c], [a65e, a65e], [a660, a660], [a662, a662], [a664, a664],
409    [a666, a666], [a668, a668], [a66a, a66a], [a66c, a66c], [a680, a680],
410    [a682, a682], [a684, a684], [a686, a686], [a688, a688], [a68a, a68a],
411    [a68c, a68c], [a68e, a68e], [a690, a690], [a692, a692], [a694, a694],
412    [a696, a696], [a698, a698], [a69a, a69a], [a722, a722], [a724, a724],
413    [a726, a726], [a728, a728], [a72a, a72a], [a72c, a72c], [a72e, a72e],
414    [a732, a732], [a734, a734], [a736, a736], [a738, a738], [a73a, a73a],
415    [a73c, a73c], [a73e, a73e], [a740, a740], [a742, a742], [a744, a744],
416    [a746, a746], [a748, a748], [a74a, a74a], [a74c, a74c], [a74e, a74e],
417    [a750, a750], [a752, a752], [a754, a754], [a756, a756], [a758, a758],
418    [a75a, a75a], [a75c, a75c], [a75e, a75e], [a760, a760], [a762, a762],
419    [a764, a764], [a766, a766], [a768, a768], [a76a, a76a], [a76c, a76c],
420    [a76e, a76e], [a779, a779], [a77b, a77b], [a77d, a77e], [a780, a780],
421    [a782, a782], [a784, a784], [a786, a786], [a78b, a78b], [a78d, a78d],
422    [a790, a790], [a792, a792], [a796, a796], [a798, a798], [a79a, a79a],
423    [a79c, a79c], [a79e, a79e], [a7a0, a7a0], [a7a2, a7a2], [a7a4, a7a4],
424    [a7a6, a7a6], [a7a8, a7a8], [a7aa, a7ae], [a7b0, a7b4], [a7b6, a7b6],
425    [ff21, ff3a], [10400, 10427], [104b0, 104d3], [10c80, 10cb2],
426    [118a0, 118bf], [1d400, 1d419], [1d434, 1d44d], [1d468, 1d481],
427    [1d49c, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
428    [1d4a9, 1d4ac], [1d4ae, 1d4b5], [1d4d0, 1d4e9], [1d504, 1d505],
429    [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c], [1d538, 1d539],
430    [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550],
431    [1d56c, 1d585], [1d5a0, 1d5b9], [1d5d4, 1d5ed], [1d608, 1d621],
432    [1d63c, 1d655], [1d670, 1d689], [1d6a8, 1d6c0], [1d6e2, 1d6fa],
433    [1d71c, 1d734], [1d756, 1d76e], [1d790, 1d7a8], [1d7ca, 1d7ca],
434    [1e900, 1e921]**/
435
436
437    namespace {
438    const static UnicodeSet::run_t __lu_Set_runs[] = {
439    {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 11},
440    {Empty, 8}, {Mixed, 5}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 8},
441    {Empty, 90}, {Full, 1}, {Mixed, 1}, {Empty, 22}, {Full, 2}, {Mixed, 1},
442    {Empty, 80}, {Mixed, 12}, {Empty, 1}, {Mixed, 3}, {Empty, 8},
443    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 83}, {Full, 1}, {Mixed, 1},
444    {Empty, 1}, {Mixed, 5}, {Empty, 970}, {Mixed, 3}, {Empty, 4},
445    {Mixed, 5}, {Empty, 699}, {Mixed, 1}, {Empty, 38}, {Full, 1},
446    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 61}, {Full, 1}, {Mixed, 1},
447    {Empty, 95}, {Full, 1}, {Empty, 1498}, {Mixed, 31}, {Empty, 137},
448    {Full, 1}, {Mixed, 1}, {Empty, 30902}};
449    const static UnicodeSet::bitquad_t  __lu_Set_quads[] = {
450    0x07fffffe, 0x7f7fffff, 0x55555555, 0xaa555555, 0x555554aa, 0x2b555555,
451    0xb1dbced6, 0x11aed2d5, 0x4aaaa490, 0x55d25555, 0x55555555, 0x6c055555,
452    0x0000557a, 0x80450000, 0xfffed740, 0x00000ffb, 0x551c8000, 0xe6905555,
453    0x0000ffff, 0x55555555, 0x55555401, 0x55555555, 0x55552aab, 0x55555555,
454    0x55555555, 0xfffe5555, 0x007fffff, 0x000020bf, 0x003fffff, 0x55555555,
455    0x55555555, 0x55555555, 0x55555555, 0x40155555, 0x55555555, 0x55555555,
456    0x55555555, 0x3f00ff00, 0xff00ff00, 0xaa003f00, 0x0000ff00, 0x0f000000,
457    0x0f000f00, 0x0f001f00, 0x3e273884, 0xc00f3d50, 0x00000020, 0x00000008,
458    0x00007fff, 0xc025ea9d, 0x55555555, 0x55555555, 0x55555555, 0x00042805,
459    0x55555555, 0x00001555, 0x05555555, 0x55545554, 0x55555555, 0x6a005555,
460    0x55452855, 0x005f7d55, 0x07fffffe, 0x000000ff, 0xffff0000, 0x000fffff,
461    0x0007ffff, 0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00, 0xd0000003,
462    0x003fde64, 0xffff0000, 0x000003ff, 0x1fdfe7b0, 0x7b000000, 0x0001fc5f,
463    0xfffff000, 0x0000003f, 0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00,
464    0xf0000003, 0x003fffff, 0xffff0000, 0x000003ff, 0xffffff00, 0x00000001,
465    0x07fffffc, 0xf0000000, 0x001fffff, 0xffc00000, 0x00007fff, 0xffff0000,
466    0x000001ff, 0x00000400, 0x00000003};
467    }
468
469    const static UnicodeSet lu_Set{const_cast<UnicodeSet::run_t *>(__lu_Set_runs), 53, 0, const_cast<UnicodeSet::bitquad_t *>(__lu_Set_quads), 99, 0};
470
471    /** Code Point Ranges for Ll
472    [0061, 007a], [00b5, 00b5], [00df, 00f6], [00f8, 00ff], [0101, 0101],
473    [0103, 0103], [0105, 0105], [0107, 0107], [0109, 0109], [010b, 010b],
474    [010d, 010d], [010f, 010f], [0111, 0111], [0113, 0113], [0115, 0115],
475    [0117, 0117], [0119, 0119], [011b, 011b], [011d, 011d], [011f, 011f],
476    [0121, 0121], [0123, 0123], [0125, 0125], [0127, 0127], [0129, 0129],
477    [012b, 012b], [012d, 012d], [012f, 012f], [0131, 0131], [0133, 0133],
478    [0135, 0135], [0137, 0138], [013a, 013a], [013c, 013c], [013e, 013e],
479    [0140, 0140], [0142, 0142], [0144, 0144], [0146, 0146], [0148, 0149],
480    [014b, 014b], [014d, 014d], [014f, 014f], [0151, 0151], [0153, 0153],
481    [0155, 0155], [0157, 0157], [0159, 0159], [015b, 015b], [015d, 015d],
482    [015f, 015f], [0161, 0161], [0163, 0163], [0165, 0165], [0167, 0167],
483    [0169, 0169], [016b, 016b], [016d, 016d], [016f, 016f], [0171, 0171],
484    [0173, 0173], [0175, 0175], [0177, 0177], [017a, 017a], [017c, 017c],
485    [017e, 0180], [0183, 0183], [0185, 0185], [0188, 0188], [018c, 018d],
486    [0192, 0192], [0195, 0195], [0199, 019b], [019e, 019e], [01a1, 01a1],
487    [01a3, 01a3], [01a5, 01a5], [01a8, 01a8], [01aa, 01ab], [01ad, 01ad],
488    [01b0, 01b0], [01b4, 01b4], [01b6, 01b6], [01b9, 01ba], [01bd, 01bf],
489    [01c6, 01c6], [01c9, 01c9], [01cc, 01cc], [01ce, 01ce], [01d0, 01d0],
490    [01d2, 01d2], [01d4, 01d4], [01d6, 01d6], [01d8, 01d8], [01da, 01da],
491    [01dc, 01dd], [01df, 01df], [01e1, 01e1], [01e3, 01e3], [01e5, 01e5],
492    [01e7, 01e7], [01e9, 01e9], [01eb, 01eb], [01ed, 01ed], [01ef, 01f0],
493    [01f3, 01f3], [01f5, 01f5], [01f9, 01f9], [01fb, 01fb], [01fd, 01fd],
494    [01ff, 01ff], [0201, 0201], [0203, 0203], [0205, 0205], [0207, 0207],
495    [0209, 0209], [020b, 020b], [020d, 020d], [020f, 020f], [0211, 0211],
496    [0213, 0213], [0215, 0215], [0217, 0217], [0219, 0219], [021b, 021b],
497    [021d, 021d], [021f, 021f], [0221, 0221], [0223, 0223], [0225, 0225],
498    [0227, 0227], [0229, 0229], [022b, 022b], [022d, 022d], [022f, 022f],
499    [0231, 0231], [0233, 0239], [023c, 023c], [023f, 0240], [0242, 0242],
500    [0247, 0247], [0249, 0249], [024b, 024b], [024d, 024d], [024f, 0293],
501    [0295, 02af], [0371, 0371], [0373, 0373], [0377, 0377], [037b, 037d],
502    [0390, 0390], [03ac, 03ce], [03d0, 03d1], [03d5, 03d7], [03d9, 03d9],
503    [03db, 03db], [03dd, 03dd], [03df, 03df], [03e1, 03e1], [03e3, 03e3],
504    [03e5, 03e5], [03e7, 03e7], [03e9, 03e9], [03eb, 03eb], [03ed, 03ed],
505    [03ef, 03f3], [03f5, 03f5], [03f8, 03f8], [03fb, 03fc], [0430, 045f],
506    [0461, 0461], [0463, 0463], [0465, 0465], [0467, 0467], [0469, 0469],
507    [046b, 046b], [046d, 046d], [046f, 046f], [0471, 0471], [0473, 0473],
508    [0475, 0475], [0477, 0477], [0479, 0479], [047b, 047b], [047d, 047d],
509    [047f, 047f], [0481, 0481], [048b, 048b], [048d, 048d], [048f, 048f],
510    [0491, 0491], [0493, 0493], [0495, 0495], [0497, 0497], [0499, 0499],
511    [049b, 049b], [049d, 049d], [049f, 049f], [04a1, 04a1], [04a3, 04a3],
512    [04a5, 04a5], [04a7, 04a7], [04a9, 04a9], [04ab, 04ab], [04ad, 04ad],
513    [04af, 04af], [04b1, 04b1], [04b3, 04b3], [04b5, 04b5], [04b7, 04b7],
514    [04b9, 04b9], [04bb, 04bb], [04bd, 04bd], [04bf, 04bf], [04c2, 04c2],
515    [04c4, 04c4], [04c6, 04c6], [04c8, 04c8], [04ca, 04ca], [04cc, 04cc],
516    [04ce, 04cf], [04d1, 04d1], [04d3, 04d3], [04d5, 04d5], [04d7, 04d7],
517    [04d9, 04d9], [04db, 04db], [04dd, 04dd], [04df, 04df], [04e1, 04e1],
518    [04e3, 04e3], [04e5, 04e5], [04e7, 04e7], [04e9, 04e9], [04eb, 04eb],
519    [04ed, 04ed], [04ef, 04ef], [04f1, 04f1], [04f3, 04f3], [04f5, 04f5],
520    [04f7, 04f7], [04f9, 04f9], [04fb, 04fb], [04fd, 04fd], [04ff, 04ff],
521    [0501, 0501], [0503, 0503], [0505, 0505], [0507, 0507], [0509, 0509],
522    [050b, 050b], [050d, 050d], [050f, 050f], [0511, 0511], [0513, 0513],
523    [0515, 0515], [0517, 0517], [0519, 0519], [051b, 051b], [051d, 051d],
524    [051f, 051f], [0521, 0521], [0523, 0523], [0525, 0525], [0527, 0527],
525    [0529, 0529], [052b, 052b], [052d, 052d], [052f, 052f], [0561, 0587],
526    [13f8, 13fd], [1c80, 1c88], [1d00, 1d2b], [1d6b, 1d77], [1d79, 1d9a],
527    [1e01, 1e01], [1e03, 1e03], [1e05, 1e05], [1e07, 1e07], [1e09, 1e09],
528    [1e0b, 1e0b], [1e0d, 1e0d], [1e0f, 1e0f], [1e11, 1e11], [1e13, 1e13],
529    [1e15, 1e15], [1e17, 1e17], [1e19, 1e19], [1e1b, 1e1b], [1e1d, 1e1d],
530    [1e1f, 1e1f], [1e21, 1e21], [1e23, 1e23], [1e25, 1e25], [1e27, 1e27],
531    [1e29, 1e29], [1e2b, 1e2b], [1e2d, 1e2d], [1e2f, 1e2f], [1e31, 1e31],
532    [1e33, 1e33], [1e35, 1e35], [1e37, 1e37], [1e39, 1e39], [1e3b, 1e3b],
533    [1e3d, 1e3d], [1e3f, 1e3f], [1e41, 1e41], [1e43, 1e43], [1e45, 1e45],
534    [1e47, 1e47], [1e49, 1e49], [1e4b, 1e4b], [1e4d, 1e4d], [1e4f, 1e4f],
535    [1e51, 1e51], [1e53, 1e53], [1e55, 1e55], [1e57, 1e57], [1e59, 1e59],
536    [1e5b, 1e5b], [1e5d, 1e5d], [1e5f, 1e5f], [1e61, 1e61], [1e63, 1e63],
537    [1e65, 1e65], [1e67, 1e67], [1e69, 1e69], [1e6b, 1e6b], [1e6d, 1e6d],
538    [1e6f, 1e6f], [1e71, 1e71], [1e73, 1e73], [1e75, 1e75], [1e77, 1e77],
539    [1e79, 1e79], [1e7b, 1e7b], [1e7d, 1e7d], [1e7f, 1e7f], [1e81, 1e81],
540    [1e83, 1e83], [1e85, 1e85], [1e87, 1e87], [1e89, 1e89], [1e8b, 1e8b],
541    [1e8d, 1e8d], [1e8f, 1e8f], [1e91, 1e91], [1e93, 1e93], [1e95, 1e9d],
542    [1e9f, 1e9f], [1ea1, 1ea1], [1ea3, 1ea3], [1ea5, 1ea5], [1ea7, 1ea7],
543    [1ea9, 1ea9], [1eab, 1eab], [1ead, 1ead], [1eaf, 1eaf], [1eb1, 1eb1],
544    [1eb3, 1eb3], [1eb5, 1eb5], [1eb7, 1eb7], [1eb9, 1eb9], [1ebb, 1ebb],
545    [1ebd, 1ebd], [1ebf, 1ebf], [1ec1, 1ec1], [1ec3, 1ec3], [1ec5, 1ec5],
546    [1ec7, 1ec7], [1ec9, 1ec9], [1ecb, 1ecb], [1ecd, 1ecd], [1ecf, 1ecf],
547    [1ed1, 1ed1], [1ed3, 1ed3], [1ed5, 1ed5], [1ed7, 1ed7], [1ed9, 1ed9],
548    [1edb, 1edb], [1edd, 1edd], [1edf, 1edf], [1ee1, 1ee1], [1ee3, 1ee3],
549    [1ee5, 1ee5], [1ee7, 1ee7], [1ee9, 1ee9], [1eeb, 1eeb], [1eed, 1eed],
550    [1eef, 1eef], [1ef1, 1ef1], [1ef3, 1ef3], [1ef5, 1ef5], [1ef7, 1ef7],
551    [1ef9, 1ef9], [1efb, 1efb], [1efd, 1efd], [1eff, 1f07], [1f10, 1f15],
552    [1f20, 1f27], [1f30, 1f37], [1f40, 1f45], [1f50, 1f57], [1f60, 1f67],
553    [1f70, 1f7d], [1f80, 1f87], [1f90, 1f97], [1fa0, 1fa7], [1fb0, 1fb4],
554    [1fb6, 1fb7], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fc7], [1fd0, 1fd3],
555    [1fd6, 1fd7], [1fe0, 1fe7], [1ff2, 1ff4], [1ff6, 1ff7], [210a, 210a],
556    [210e, 210f], [2113, 2113], [212f, 212f], [2134, 2134], [2139, 2139],
557    [213c, 213d], [2146, 2149], [214e, 214e], [2184, 2184], [2c30, 2c5e],
558    [2c61, 2c61], [2c65, 2c66], [2c68, 2c68], [2c6a, 2c6a], [2c6c, 2c6c],
559    [2c71, 2c71], [2c73, 2c74], [2c76, 2c7b], [2c81, 2c81], [2c83, 2c83],
560    [2c85, 2c85], [2c87, 2c87], [2c89, 2c89], [2c8b, 2c8b], [2c8d, 2c8d],
561    [2c8f, 2c8f], [2c91, 2c91], [2c93, 2c93], [2c95, 2c95], [2c97, 2c97],
562    [2c99, 2c99], [2c9b, 2c9b], [2c9d, 2c9d], [2c9f, 2c9f], [2ca1, 2ca1],
563    [2ca3, 2ca3], [2ca5, 2ca5], [2ca7, 2ca7], [2ca9, 2ca9], [2cab, 2cab],
564    [2cad, 2cad], [2caf, 2caf], [2cb1, 2cb1], [2cb3, 2cb3], [2cb5, 2cb5],
565    [2cb7, 2cb7], [2cb9, 2cb9], [2cbb, 2cbb], [2cbd, 2cbd], [2cbf, 2cbf],
566    [2cc1, 2cc1], [2cc3, 2cc3], [2cc5, 2cc5], [2cc7, 2cc7], [2cc9, 2cc9],
567    [2ccb, 2ccb], [2ccd, 2ccd], [2ccf, 2ccf], [2cd1, 2cd1], [2cd3, 2cd3],
568    [2cd5, 2cd5], [2cd7, 2cd7], [2cd9, 2cd9], [2cdb, 2cdb], [2cdd, 2cdd],
569    [2cdf, 2cdf], [2ce1, 2ce1], [2ce3, 2ce4], [2cec, 2cec], [2cee, 2cee],
570    [2cf3, 2cf3], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [a641, a641],
571    [a643, a643], [a645, a645], [a647, a647], [a649, a649], [a64b, a64b],
572    [a64d, a64d], [a64f, a64f], [a651, a651], [a653, a653], [a655, a655],
573    [a657, a657], [a659, a659], [a65b, a65b], [a65d, a65d], [a65f, a65f],
574    [a661, a661], [a663, a663], [a665, a665], [a667, a667], [a669, a669],
575    [a66b, a66b], [a66d, a66d], [a681, a681], [a683, a683], [a685, a685],
576    [a687, a687], [a689, a689], [a68b, a68b], [a68d, a68d], [a68f, a68f],
577    [a691, a691], [a693, a693], [a695, a695], [a697, a697], [a699, a699],
578    [a69b, a69b], [a723, a723], [a725, a725], [a727, a727], [a729, a729],
579    [a72b, a72b], [a72d, a72d], [a72f, a731], [a733, a733], [a735, a735],
580    [a737, a737], [a739, a739], [a73b, a73b], [a73d, a73d], [a73f, a73f],
581    [a741, a741], [a743, a743], [a745, a745], [a747, a747], [a749, a749],
582    [a74b, a74b], [a74d, a74d], [a74f, a74f], [a751, a751], [a753, a753],
583    [a755, a755], [a757, a757], [a759, a759], [a75b, a75b], [a75d, a75d],
584    [a75f, a75f], [a761, a761], [a763, a763], [a765, a765], [a767, a767],
585    [a769, a769], [a76b, a76b], [a76d, a76d], [a76f, a76f], [a771, a778],
586    [a77a, a77a], [a77c, a77c], [a77f, a77f], [a781, a781], [a783, a783],
587    [a785, a785], [a787, a787], [a78c, a78c], [a78e, a78e], [a791, a791],
588    [a793, a795], [a797, a797], [a799, a799], [a79b, a79b], [a79d, a79d],
589    [a79f, a79f], [a7a1, a7a1], [a7a3, a7a3], [a7a5, a7a5], [a7a7, a7a7],
590    [a7a9, a7a9], [a7b5, a7b5], [a7b7, a7b7], [a7fa, a7fa], [ab30, ab5a],
591    [ab60, ab65], [ab70, abbf], [fb00, fb06], [fb13, fb17], [ff41, ff5a],
592    [10428, 1044f], [104d8, 104fb], [10cc0, 10cf2], [118c0, 118df],
593    [1d41a, 1d433], [1d44e, 1d454], [1d456, 1d467], [1d482, 1d49b],
594    [1d4b6, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d4cf],
595    [1d4ea, 1d503], [1d51e, 1d537], [1d552, 1d56b], [1d586, 1d59f],
596    [1d5ba, 1d5d3], [1d5ee, 1d607], [1d622, 1d63b], [1d656, 1d66f],
597    [1d68a, 1d6a5], [1d6c2, 1d6da], [1d6dc, 1d6e1], [1d6fc, 1d714],
598    [1d716, 1d71b], [1d736, 1d74e], [1d750, 1d755], [1d770, 1d788],
599    [1d78a, 1d78f], [1d7aa, 1d7c2], [1d7c4, 1d7c9], [1d7cb, 1d7cb],
600    [1e922, 1e943]**/
601
602
603    namespace {
604    const static UnicodeSet::run_t __ll_Set_runs[] = {
605    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 14}, {Full, 1}, {Mixed, 2},
606    {Empty, 5}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 7},
607    {Empty, 1}, {Mixed, 2}, {Empty, 114}, {Mixed, 1}, {Empty, 68},
608    {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
609    {Empty, 3}, {Mixed, 16}, {Empty, 8}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
610    {Empty, 84}, {Mixed, 7}, {Full, 1}, {Mixed, 1}, {Empty, 968},
611    {Mixed, 3}, {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 25},
612    {Mixed, 3}, {Full, 2}, {Empty, 634}, {Mixed, 1}, {Empty, 33},
613    {Mixed, 1}, {Empty, 38}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
614    {Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 94}, {Full, 1},
615    {Empty, 1497}, {Mixed, 31}, {Empty, 138}, {Mixed, 2}, {Empty, 30901}};
616    const static UnicodeSet::bitquad_t  __ll_Set_quads[] = {
617    0x07fffffe, 0x00200000, 0x80000000, 0xff7fffff, 0xaaaaaaaa, 0x55aaaaaa,
618    0xaaaaab55, 0xd4aaaaaa, 0x4e243129, 0xe6512d2a, 0xb5555240, 0xaa29aaaa,
619    0xaaaaaaaa, 0x93faaaaa, 0xffffaa85, 0xffefffff, 0x0000ffff, 0x388a0000,
620    0x00010000, 0xfffff000, 0xaae37fff, 0x192faaaa, 0xffff0000, 0xaaaaaaaa,
621    0xaaaaa802, 0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa, 0xaaaaaaaa, 0x0000aaaa,
622    0xfffffffe, 0x000000ff, 0x3f000000, 0x000001ff, 0x00000fff, 0xfefff800,
623    0x07ffffff, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xbfeaaaaa,
624    0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0x003f00ff, 0x00ff00ff, 0x00ff003f,
625    0x3fff00ff, 0x00ff00ff, 0x40df00ff, 0x00cf00dc, 0x00dc00ff, 0x0008c400,
626    0x32108000, 0x000043c0, 0x00000010, 0xffff0000, 0x7fffffff, 0x0fda1562,
627    0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0x0008501a, 0x000020bf, 0xaaaaaaaa,
628    0x00002aaa, 0x0aaaaaaa, 0xaaabaaa8, 0xaaaaaaaa, 0x95feaaaa, 0xaaba50aa,
629    0x00a002aa, 0x04000000, 0xffff0000, 0x07ffffff, 0xffff003f, 0x00f8007f,
630    0x07fffffe, 0xffffff00, 0x0000ffff, 0xff000000, 0x0fffffff, 0x0007ffff,
631    0xfc000000, 0x000fffff, 0xffdfc000, 0x000000ff, 0x0ffffffc, 0xebc00000,
632    0x0000ffef, 0xfffffc00, 0xc000000f, 0x00ffffff, 0xfffc0000, 0x00000fff,
633    0xffffffc0, 0xfc000000, 0x000fffff, 0xffffc000, 0x000000ff, 0x0ffffffc,
634    0xffc00000, 0x0000ffff, 0xfffffc00, 0x0000003f, 0xf7fffffc, 0xf0000003,
635    0x0fdfffff, 0xffc00000, 0x003f7fff, 0xffff0000, 0x0000fdff, 0xfffffc00,
636    0x00000bf7, 0xfffffffc, 0x0000000f};
637    }
638
639    const static UnicodeSet ll_Set{const_cast<UnicodeSet::run_t *>(__ll_Set_runs), 60, 0, const_cast<UnicodeSet::bitquad_t *>(__ll_Set_quads), 117, 0};
640
641    /** Code Point Ranges for Lt
642    [01c5, 01c5], [01c8, 01c8], [01cb, 01cb], [01f2, 01f2], [1f88, 1f8f],
643    [1f98, 1f9f], [1fa8, 1faf], [1fbc, 1fbc], [1fcc, 1fcc], [1ffc, 1ffc]**/
644
645
646    namespace {
647    const static UnicodeSet::run_t __lt_Set_runs[] = {
648    {Empty, 14}, {Mixed, 2}, {Empty, 236}, {Mixed, 4}, {Empty, 34560}};
649    const static UnicodeSet::bitquad_t  __lt_Set_quads[] = {
650    0x00000920, 0x00040000, 0xff00ff00, 0x1000ff00, 0x00001000, 0x10000000};
651    }
652
653    const static UnicodeSet lt_Set{const_cast<UnicodeSet::run_t *>(__lt_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__lt_Set_quads), 6, 0};
654
655    /** Code Point Ranges for Lm
656    [02b0, 02c1], [02c6, 02d1], [02e0, 02e4], [02ec, 02ec], [02ee, 02ee],
657    [0374, 0374], [037a, 037a], [0559, 0559], [0640, 0640], [06e5, 06e6],
658    [07f4, 07f5], [07fa, 07fa], [081a, 081a], [0824, 0824], [0828, 0828],
659    [0971, 0971], [0e46, 0e46], [0ec6, 0ec6], [10fc, 10fc], [17d7, 17d7],
660    [1843, 1843], [1aa7, 1aa7], [1c78, 1c7d], [1d2c, 1d6a], [1d78, 1d78],
661    [1d9b, 1dbf], [2071, 2071], [207f, 207f], [2090, 209c], [2c7c, 2c7d],
662    [2d6f, 2d6f], [2e2f, 2e2f], [3005, 3005], [3031, 3035], [303b, 303b],
663    [309d, 309e], [30fc, 30fe], [a015, a015], [a4f8, a4fd], [a60c, a60c],
664    [a67f, a67f], [a69c, a69d], [a717, a71f], [a770, a770], [a788, a788],
665    [a7f8, a7f9], [a9cf, a9cf], [a9e6, a9e6], [aa70, aa70], [aadd, aadd],
666    [aaf3, aaf4], [ab5c, ab5f], [ff70, ff70], [ff9e, ff9f], [16b40, 16b43],
667    [16f93, 16f9f], [16fe0, 16fe1]**/
668
669
670    namespace {
671    const static UnicodeSet::run_t __lm_Set_runs[] = {
672    {Empty, 21}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 14},
673    {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
674    {Mixed, 3}, {Empty, 9}, {Mixed, 1}, {Empty, 38}, {Mixed, 1}, {Empty, 3},
675    {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 54}, {Mixed, 1},
676    {Empty, 3}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 13},
677    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
678    {Empty, 21}, {Mixed, 2}, {Empty, 94}, {Mixed, 1}, {Empty, 7},
679    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 2},
680    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 888}, {Mixed, 1},
681    {Empty, 38}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
682    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
683    {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
684    {Empty, 2}, {Mixed, 1}, {Empty, 672}, {Mixed, 2}, {Empty, 861},
685    {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
686    {Empty, 31872}};
687    const static UnicodeSet::bitquad_t  __lm_Set_quads[] = {
688    0xffff0000, 0x0003ffc3, 0x0000501f, 0x04100000, 0x02000000, 0x00000001,
689    0x00000060, 0x04300000, 0x04000000, 0x00000110, 0x00020000, 0x00000040,
690    0x00000040, 0x10000000, 0x00800000, 0x00000008, 0x00000080, 0x3f000000,
691    0xfffff000, 0x010007ff, 0xf8000000, 0x80020000, 0x1fff0000, 0x30000000,
692    0x00008000, 0x00008000, 0x00000020, 0x083e0000, 0x60000000, 0x70000000,
693    0x00200000, 0x3f000000, 0x00001000, 0x80000000, 0x30000000, 0xff800000,
694    0x00010000, 0x00000100, 0x03000000, 0x00008000, 0x00000040, 0x00010000,
695    0x20000000, 0x00180000, 0xf0000000, 0x00010000, 0xc0000000, 0x0000000f,
696    0xfff80000, 0x00000003};
697    }
698
699    const static UnicodeSet lm_Set{const_cast<UnicodeSet::run_t *>(__lm_Set_runs), 78, 0, const_cast<UnicodeSet::bitquad_t *>(__lm_Set_quads), 50, 0};
700
701    /** Code Point Ranges for Lo
702    [00aa, 00aa], [00ba, 00ba], [01bb, 01bb], [01c0, 01c3], [0294, 0294],
703    [05d0, 05ea], [05f0, 05f2], [0620, 063f], [0641, 064a], [066e, 066f],
704    [0671, 06d3], [06d5, 06d5], [06ee, 06ef], [06fa, 06fc], [06ff, 06ff],
705    [0710, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1], [07ca, 07ea],
706    [0800, 0815], [0840, 0858], [0860, 086a], [08a0, 08b4], [08b6, 08bd],
707    [0904, 0939], [093d, 093d], [0950, 0950], [0958, 0961], [0972, 0980],
708    [0985, 098c], [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
709    [09b6, 09b9], [09bd, 09bd], [09ce, 09ce], [09dc, 09dd], [09df, 09e1],
710    [09f0, 09f1], [09fc, 09fc], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28],
711    [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39], [0a59, 0a5c],
712    [0a5e, 0a5e], [0a72, 0a74], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8],
713    [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0],
714    [0ae0, 0ae1], [0af9, 0af9], [0b05, 0b0c], [0b0f, 0b10], [0b13, 0b28],
715    [0b2a, 0b30], [0b32, 0b33], [0b35, 0b39], [0b3d, 0b3d], [0b5c, 0b5d],
716    [0b5f, 0b61], [0b71, 0b71], [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90],
717    [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
718    [0ba8, 0baa], [0bae, 0bb9], [0bd0, 0bd0], [0c05, 0c0c], [0c0e, 0c10],
719    [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c3d], [0c58, 0c5a], [0c60, 0c61],
720    [0c80, 0c80], [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3],
721    [0cb5, 0cb9], [0cbd, 0cbd], [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2],
722    [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d], [0d4e, 0d4e],
723    [0d54, 0d56], [0d5f, 0d61], [0d7a, 0d7f], [0d85, 0d96], [0d9a, 0db1],
724    [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0e01, 0e30], [0e32, 0e33],
725    [0e40, 0e45], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
726    [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5],
727    [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb0], [0eb2, 0eb3], [0ebd, 0ebd],
728    [0ec0, 0ec4], [0edc, 0edf], [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c],
729    [0f88, 0f8c], [1000, 102a], [103f, 103f], [1050, 1055], [105a, 105d],
730    [1061, 1061], [1065, 1066], [106e, 1070], [1075, 1081], [108e, 108e],
731    [10d0, 10fa], [10fd, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
732    [125a, 125d], [1260, 1288], [128a, 128d], [1290, 12b0], [12b2, 12b5],
733    [12b8, 12be], [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310],
734    [1312, 1315], [1318, 135a], [1380, 138f], [1401, 166c], [166f, 167f],
735    [1681, 169a], [16a0, 16ea], [16f1, 16f8], [1700, 170c], [170e, 1711],
736    [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770], [1780, 17b3],
737    [17dc, 17dc], [1820, 1842], [1844, 1877], [1880, 1884], [1887, 18a8],
738    [18aa, 18aa], [18b0, 18f5], [1900, 191e], [1950, 196d], [1970, 1974],
739    [1980, 19ab], [19b0, 19c9], [1a00, 1a16], [1a20, 1a54], [1b05, 1b33],
740    [1b45, 1b4b], [1b83, 1ba0], [1bae, 1baf], [1bba, 1be5], [1c00, 1c23],
741    [1c4d, 1c4f], [1c5a, 1c77], [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6],
742    [2135, 2138], [2d30, 2d67], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae],
743    [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6],
744    [2dd8, 2dde], [3006, 3006], [303c, 303c], [3041, 3096], [309f, 309f],
745    [30a1, 30fa], [30ff, 30ff], [3105, 312e], [3131, 318e], [31a0, 31ba],
746    [31f0, 31ff], [3400, 4db5], [4e00, 9fea], [a000, a014], [a016, a48c],
747    [a4d0, a4f7], [a500, a60b], [a610, a61f], [a62a, a62b], [a66e, a66e],
748    [a6a0, a6e5], [a78f, a78f], [a7f7, a7f7], [a7fb, a801], [a803, a805],
749    [a807, a80a], [a80c, a822], [a840, a873], [a882, a8b3], [a8f2, a8f7],
750    [a8fb, a8fb], [a8fd, a8fd], [a90a, a925], [a930, a946], [a960, a97c],
751    [a984, a9b2], [a9e0, a9e4], [a9e7, a9ef], [a9fa, a9fe], [aa00, aa28],
752    [aa40, aa42], [aa44, aa4b], [aa60, aa6f], [aa71, aa76], [aa7a, aa7a],
753    [aa7e, aaaf], [aab1, aab1], [aab5, aab6], [aab9, aabd], [aac0, aac0],
754    [aac2, aac2], [aadb, aadc], [aae0, aaea], [aaf2, aaf2], [ab01, ab06],
755    [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e], [abc0, abe2],
756    [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb], [f900, fa6d], [fa70, fad9],
757    [fb1d, fb1d], [fb1f, fb28], [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e],
758    [fb40, fb41], [fb43, fb44], [fb46, fbb1], [fbd3, fd3d], [fd50, fd8f],
759    [fd92, fdc7], [fdf0, fdfb], [fe70, fe74], [fe76, fefc], [ff66, ff6f],
760    [ff71, ff9d], [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
761    [ffda, ffdc], [10000, 1000b], [1000d, 10026], [10028, 1003a],
762    [1003c, 1003d], [1003f, 1004d], [10050, 1005d], [10080, 100fa],
763    [10280, 1029c], [102a0, 102d0], [10300, 1031f], [1032d, 10340],
764    [10342, 10349], [10350, 10375], [10380, 1039d], [103a0, 103c3],
765    [103c8, 103cf], [10450, 1049d], [10500, 10527], [10530, 10563],
766    [10600, 10736], [10740, 10755], [10760, 10767], [10800, 10805],
767    [10808, 10808], [1080a, 10835], [10837, 10838], [1083c, 1083c],
768    [1083f, 10855], [10860, 10876], [10880, 1089e], [108e0, 108f2],
769    [108f4, 108f5], [10900, 10915], [10920, 10939], [10980, 109b7],
770    [109be, 109bf], [10a00, 10a00], [10a10, 10a13], [10a15, 10a17],
771    [10a19, 10a33], [10a60, 10a7c], [10a80, 10a9c], [10ac0, 10ac7],
772    [10ac9, 10ae4], [10b00, 10b35], [10b40, 10b55], [10b60, 10b72],
773    [10b80, 10b91], [10c00, 10c48], [11003, 11037], [11083, 110af],
774    [110d0, 110e8], [11103, 11126], [11150, 11172], [11176, 11176],
775    [11183, 111b2], [111c1, 111c4], [111da, 111da], [111dc, 111dc],
776    [11200, 11211], [11213, 1122b], [11280, 11286], [11288, 11288],
777    [1128a, 1128d], [1128f, 1129d], [1129f, 112a8], [112b0, 112de],
778    [11305, 1130c], [1130f, 11310], [11313, 11328], [1132a, 11330],
779    [11332, 11333], [11335, 11339], [1133d, 1133d], [11350, 11350],
780    [1135d, 11361], [11400, 11434], [11447, 1144a], [11480, 114af],
781    [114c4, 114c5], [114c7, 114c7], [11580, 115ae], [115d8, 115db],
782    [11600, 1162f], [11644, 11644], [11680, 116aa], [11700, 11719],
783    [118ff, 118ff], [11a00, 11a00], [11a0b, 11a32], [11a3a, 11a3a],
784    [11a50, 11a50], [11a5c, 11a83], [11a86, 11a89], [11ac0, 11af8],
785    [11c00, 11c08], [11c0a, 11c2e], [11c40, 11c40], [11c72, 11c8f],
786    [11d00, 11d06], [11d08, 11d09], [11d0b, 11d30], [11d46, 11d46],
787    [12000, 12399], [12480, 12543], [13000, 1342e], [14400, 14646],
788    [16800, 16a38], [16a40, 16a5e], [16ad0, 16aed], [16b00, 16b2f],
789    [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50],
790    [17000, 187ec], [18800, 18af2], [1b000, 1b11e], [1b170, 1b2fb],
791    [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
792    [1e800, 1e8c4], [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22],
793    [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37],
794    [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47],
795    [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52],
796    [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b],
797    [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64],
798    [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c],
799    [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3],
800    [1eea5, 1eea9], [1eeab, 1eebb], [20000, 2a6d6], [2a700, 2b734],
801    [2b740, 2b81d], [2b820, 2cea1], [2ceb0, 2ebe0], [2f800, 2fa1d]**/
802
803
804    namespace {
805    const static UnicodeSet::run_t __lo_Set_runs[] = {
806    {Empty, 5}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
807    {Empty, 25}, {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
808    {Mixed, 5}, {Full, 2}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
809    {Mixed, 1}, {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15},
810    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
811    {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4}, {Empty, 1},
812    {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
813    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
814    {Mixed, 1}, {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1},
815    {Mixed, 2}, {Empty, 2}, {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 2},
816    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
817    {Full, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
818    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1},
819    {Empty, 33}, {Mixed, 1}, {Empty, 95}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
820    {Empty, 17}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
821    {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Full, 205},
822    {Mixed, 1}, {Empty, 2}, {Full, 655}, {Mixed, 2}, {Full, 35}, {Mixed, 1},
823    {Empty, 1}, {Mixed, 2}, {Full, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
824    {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 2},
825    {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 7}, {Empty, 1},
826    {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 5}, {Empty, 4},
827    {Full, 1}, {Mixed, 1}, {Full, 349}, {Mixed, 3}, {Empty, 264},
828    {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
829    {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
830    {Full, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
831    {Empty, 3}, {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Full, 3},
832    {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
833    {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
834    {Full, 1}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
835    {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 5},
836    {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 1}, {Empty, 2},
837    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1},
838    {Mixed, 4}, {Empty, 3}, {Full, 2}, {Mixed, 1}, {Empty, 29}, {Mixed, 2},
839    {Empty, 2}, {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3},
840    {Empty, 1}, {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
841    {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1},
842    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
843    {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 8}, {Mixed, 3}, {Full, 1},
844    {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5},
845    {Empty, 3}, {Mixed, 3}, {Empty, 21}, {Full, 28}, {Mixed, 1}, {Empty, 7},
846    {Full, 6}, {Mixed, 1}, {Empty, 85}, {Full, 33}, {Mixed, 1},
847    {Empty, 126}, {Full, 18}, {Mixed, 1}, {Empty, 269}, {Full, 17},
848    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1},
849    {Mixed, 2}, {Empty, 27}, {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 191},
850    {Mixed, 1}, {Full, 23}, {Mixed, 1}, {Empty, 296}, {Full, 8}, {Mixed, 1},
851    {Empty, 2}, {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Empty, 72}, {Full, 3},
852    {Mixed, 2}, {Empty, 347}, {Full, 6}, {Mixed, 1}, {Empty, 41},
853    {Mixed, 6}, {Empty, 138}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
854    {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180}, {Mixed, 1},
855    {Full, 233}, {Mixed, 1}, {Empty, 96}, {Full, 16}, {Mixed, 1},
856    {Empty, 28719}};
857    const static UnicodeSet::bitquad_t  __lo_Set_quads[] = {
858    0x04000400, 0x08000000, 0x0000000f, 0x00100000, 0xffff0000, 0x000707ff,
859    0x000007fe, 0xfffec000, 0x002fffff, 0x9c00c000, 0xfffd0000, 0x0000ffff,
860    0xffffe000, 0x0002003f, 0xfffffc00, 0x000007ff, 0x003fffff, 0x01ffffff,
861    0x000007ff, 0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000, 0xfffc0003,
862    0xfff99fe1, 0x23c5fdff, 0xb0004000, 0x10030003, 0xfff987e0, 0x036dfdff,
863    0x5e000000, 0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02000003,
864    0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8, 0x03ffc718,
865    0x00010000, 0xfffddfe0, 0x23fffdff, 0x07000000, 0x00000003, 0xfffddfe1,
866    0x23effdff, 0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff, 0x80704000,
867    0xfc000003, 0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0xfffffffe, 0x000dffff,
868    0x0000003f, 0xfef02596, 0x200decae, 0xf000001f, 0x00000001, 0xfffffeff,
869    0x00001fff, 0x00001f00, 0x800007ff, 0x3c3f0000, 0xffe1c062, 0x00004003,
870    0xffff0000, 0xe7ffffff, 0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d,
871    0xff3dffff, 0x07ffffff, 0x0000ffff, 0xfffffffe, 0xffff9fff, 0x07fffffe,
872    0x01fe07ff, 0x0003dfff, 0x0003ffff, 0x0003ffff, 0x0001dfff, 0x000fffff,
873    0x10000000, 0xfffffff7, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
874    0x7fffffff, 0xffff0000, 0x001f3fff, 0xffff0fff, 0x000003ff, 0x007fffff,
875    0x001fffff, 0xffffffe0, 0x000fffff, 0x00000fe0, 0xfffffff8, 0xfc00c001,
876    0x0000003f, 0x0000000f, 0xfc00e000, 0x00ffffff, 0x0063de00, 0x01e00000,
877    0xffff0000, 0x000000ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00000040,
878    0x10000000, 0xfffffffe, 0x807fffff, 0xfffffffe, 0x87ffffff, 0xffffffe0,
879    0xfffe7fff, 0x00007fff, 0x07ffffff, 0xffff0000, 0x003fffff, 0x000007ff,
880    0xffdfffff, 0x00001fff, 0xffff0000, 0x00ffffff, 0xffff0fff, 0x00000c00,
881    0x00004000, 0x0000003f, 0x00008000, 0xf8800000, 0xfffff7bb, 0x00000007,
882    0x000fffff, 0xfffffffc, 0x000fffff, 0x28fc0000, 0xfffffc00, 0xffff003f,
883    0x0000007f, 0x1fffffff, 0xfffffff0, 0x0007ffff, 0x7c00ff9f, 0x000001ff,
884    0x00000ff7, 0xc47effff, 0x3e62ffff, 0x18000005, 0x000407ff, 0x007e7e7e,
885    0x00007f7f, 0x00000007, 0xffff000f, 0xfffff87f, 0x0fffffff, 0xffff3fff,
886    0x03ffffff, 0xa0000000, 0x5f7ffdff, 0xffffffdb, 0x0003ffff, 0xfff80000,
887    0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000,
888    0x1fffffff, 0xfffeffc0, 0x3fffffff, 0x7fffffff, 0x1cfcfcfc, 0xffffefff,
889    0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x1fffffff, 0x0001ffff, 0xffffe000,
890    0xffff03fd, 0x003fffff, 0x3fffffff, 0x0000ff0f, 0xffff0000, 0x3fffffff,
891    0xffff00ff, 0x0000000f, 0x007fffff, 0x003fffff, 0x000000ff, 0xfffffd3f,
892    0x91bfffff, 0x003fffff, 0x007fffff, 0x7fffffff, 0x0037ffff, 0x003fffff,
893    0x03ffffff, 0xc0ffffff, 0xfeef0001, 0x000fffff, 0x1fffffff, 0x1fffffff,
894    0xfffffeff, 0x0000001f, 0x003fffff, 0x003fffff, 0x0007ffff, 0x0003ffff,
895    0x000001ff, 0xfffffff8, 0x00ffffff, 0xfffffff8, 0x0000ffff, 0xffff0000,
896    0x000001ff, 0xfffffff8, 0x0000007f, 0xffff0000, 0x0047ffff, 0xfffffff8,
897    0x0007ffff, 0x1400001e, 0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff,
898    0x7fffffff, 0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff,
899    0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000, 0x0000ffff,
900    0x00000010, 0x000007ff, 0x03ffffff, 0x80000000, 0xfffff801, 0x0407ffff,
901    0xf0010000, 0x000003cf, 0x01ffffff, 0xfffffdff, 0x00007fff, 0x00000001,
902    0xfffc0000, 0x0000ffff, 0xfffffb7f, 0x0001ffff, 0x00000040, 0x03ffffff,
903    0x0000000f, 0x00007fff, 0x0000007f, 0x01ffffff, 0x7fffffff, 0xffff0000,
904    0x00003fff, 0x0000ffff, 0xe0fffff8, 0x0000ffff, 0x0001001f, 0x00001fff,
905    0x0007ffff, 0x7fffffff, 0xffff0000, 0x0fffffff, 0x1fff07ff, 0x03ff01ff,
906    0x0000001f, 0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff,
907    0x0ffffbee, 0x007fffff, 0x001fffff, 0x3fffffff, 0xffff0003, 0x00000001,
908    0x3fffffff};
909    }
910
911    const static UnicodeSet lo_Set{const_cast<UnicodeSet::run_t *>(__lo_Set_runs), 294, 0, const_cast<UnicodeSet::bitquad_t *>(__lo_Set_quads), 301, 0};
912
913    /** Code Point Ranges for Mn
914    [0300, 036f], [0483, 0487], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
915    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
916    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
917    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
918    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0902],
919    [093a, 093a], [093c, 093c], [0941, 0948], [094d, 094d], [0951, 0957],
920    [0962, 0963], [0981, 0981], [09bc, 09bc], [09c1, 09c4], [09cd, 09cd],
921    [09e2, 09e3], [0a01, 0a02], [0a3c, 0a3c], [0a41, 0a42], [0a47, 0a48],
922    [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71], [0a75, 0a75], [0a81, 0a82],
923    [0abc, 0abc], [0ac1, 0ac5], [0ac7, 0ac8], [0acd, 0acd], [0ae2, 0ae3],
924    [0afa, 0aff], [0b01, 0b01], [0b3c, 0b3c], [0b3f, 0b3f], [0b41, 0b44],
925    [0b4d, 0b4d], [0b56, 0b56], [0b62, 0b63], [0b82, 0b82], [0bc0, 0bc0],
926    [0bcd, 0bcd], [0c00, 0c00], [0c3e, 0c40], [0c46, 0c48], [0c4a, 0c4d],
927    [0c55, 0c56], [0c62, 0c63], [0c81, 0c81], [0cbc, 0cbc], [0cbf, 0cbf],
928    [0cc6, 0cc6], [0ccc, 0ccd], [0ce2, 0ce3], [0d00, 0d01], [0d3b, 0d3c],
929    [0d41, 0d44], [0d4d, 0d4d], [0d62, 0d63], [0dca, 0dca], [0dd2, 0dd4],
930    [0dd6, 0dd6], [0e31, 0e31], [0e34, 0e3a], [0e47, 0e4e], [0eb1, 0eb1],
931    [0eb4, 0eb9], [0ebb, 0ebc], [0ec8, 0ecd], [0f18, 0f19], [0f35, 0f35],
932    [0f37, 0f37], [0f39, 0f39], [0f71, 0f7e], [0f80, 0f84], [0f86, 0f87],
933    [0f8d, 0f97], [0f99, 0fbc], [0fc6, 0fc6], [102d, 1030], [1032, 1037],
934    [1039, 103a], [103d, 103e], [1058, 1059], [105e, 1060], [1071, 1074],
935    [1082, 1082], [1085, 1086], [108d, 108d], [109d, 109d], [135d, 135f],
936    [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773], [17b4, 17b5],
937    [17b7, 17bd], [17c6, 17c6], [17c9, 17d3], [17dd, 17dd], [180b, 180d],
938    [1885, 1886], [18a9, 18a9], [1920, 1922], [1927, 1928], [1932, 1932],
939    [1939, 193b], [1a17, 1a18], [1a1b, 1a1b], [1a56, 1a56], [1a58, 1a5e],
940    [1a60, 1a60], [1a62, 1a62], [1a65, 1a6c], [1a73, 1a7c], [1a7f, 1a7f],
941    [1ab0, 1abd], [1b00, 1b03], [1b34, 1b34], [1b36, 1b3a], [1b3c, 1b3c],
942    [1b42, 1b42], [1b6b, 1b73], [1b80, 1b81], [1ba2, 1ba5], [1ba8, 1ba9],
943    [1bab, 1bad], [1be6, 1be6], [1be8, 1be9], [1bed, 1bed], [1bef, 1bf1],
944    [1c2c, 1c33], [1c36, 1c37], [1cd0, 1cd2], [1cd4, 1ce0], [1ce2, 1ce8],
945    [1ced, 1ced], [1cf4, 1cf4], [1cf8, 1cf9], [1dc0, 1df9], [1dfb, 1dff],
946    [20d0, 20dc], [20e1, 20e1], [20e5, 20f0], [2cef, 2cf1], [2d7f, 2d7f],
947    [2de0, 2dff], [302a, 302d], [3099, 309a], [a66f, a66f], [a674, a67d],
948    [a69e, a69f], [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b],
949    [a825, a826], [a8c4, a8c5], [a8e0, a8f1], [a926, a92d], [a947, a951],
950    [a980, a982], [a9b3, a9b3], [a9b6, a9b9], [a9bc, a9bc], [a9e5, a9e5],
951    [aa29, aa2e], [aa31, aa32], [aa35, aa36], [aa43, aa43], [aa4c, aa4c],
952    [aa7c, aa7c], [aab0, aab0], [aab2, aab4], [aab7, aab8], [aabe, aabf],
953    [aac1, aac1], [aaec, aaed], [aaf6, aaf6], [abe5, abe5], [abe8, abe8],
954    [abed, abed], [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [101fd, 101fd],
955    [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
956    [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
957    [11001, 11001], [11038, 11046], [1107f, 11081], [110b3, 110b6],
958    [110b9, 110ba], [11100, 11102], [11127, 1112b], [1112d, 11134],
959    [11173, 11173], [11180, 11181], [111b6, 111be], [111ca, 111cc],
960    [1122f, 11231], [11234, 11234], [11236, 11237], [1123e, 1123e],
961    [112df, 112df], [112e3, 112ea], [11300, 11301], [1133c, 1133c],
962    [11340, 11340], [11366, 1136c], [11370, 11374], [11438, 1143f],
963    [11442, 11444], [11446, 11446], [114b3, 114b8], [114ba, 114ba],
964    [114bf, 114c0], [114c2, 114c3], [115b2, 115b5], [115bc, 115bd],
965    [115bf, 115c0], [115dc, 115dd], [11633, 1163a], [1163d, 1163d],
966    [1163f, 11640], [116ab, 116ab], [116ad, 116ad], [116b0, 116b5],
967    [116b7, 116b7], [1171d, 1171f], [11722, 11725], [11727, 1172b],
968    [11a01, 11a06], [11a09, 11a0a], [11a33, 11a38], [11a3b, 11a3e],
969    [11a47, 11a47], [11a51, 11a56], [11a59, 11a5b], [11a8a, 11a96],
970    [11a98, 11a99], [11c30, 11c36], [11c38, 11c3d], [11c3f, 11c3f],
971    [11c92, 11ca7], [11caa, 11cb0], [11cb2, 11cb3], [11cb5, 11cb6],
972    [11d31, 11d36], [11d3a, 11d3a], [11d3c, 11d3d], [11d3f, 11d45],
973    [11d47, 11d47], [16af0, 16af4], [16b30, 16b36], [16f8f, 16f92],
974    [1bc9d, 1bc9e], [1d167, 1d169], [1d17b, 1d182], [1d185, 1d18b],
975    [1d1aa, 1d1ad], [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c],
976    [1da75, 1da75], [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf],
977    [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024],
978    [1e026, 1e02a], [1e8d0, 1e8d6], [1e944, 1e94a], [e0100, e01ef]**/
979
980
981    namespace {
982    const static UnicodeSet::run_t __mn_Set_runs[] = {
983    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 7},
984    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
985    {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
986    {Mixed, 23}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 12},
987    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
988    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 4},
989    {Empty, 21}, {Mixed, 1}, {Empty, 29}, {Mixed, 4}, {Empty, 1},
990    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
991    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
992    {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
993    {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6}, {Full, 1}, {Mixed, 1},
994    {Empty, 22}, {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3},
995    {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2},
996    {Mixed, 1}, {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
997    {Empty, 8}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
998    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
999    {Empty, 1}, {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632},
1000    {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 29}, {Mixed, 1},
1001    {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
1002    {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2},
1003    {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6},
1004    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
1005    {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
1006    {Empty, 22}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 12},
1007    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
1008    {Empty, 620}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 34},
1009    {Mixed, 1}, {Empty, 615}, {Mixed, 1}, {Empty, 166}, {Mixed, 3},
1010    {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1},
1011    {Mixed, 3}, {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1},
1012    {Empty, 3}, {Mixed, 1}, {Empty, 24765}, {Full, 7}, {Mixed, 1},
1013    {Empty, 6128}};
1014    const static UnicodeSet::bitquad_t  __mn_Set_quads[] = {
1015    0x0000ffff, 0x000000f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x07ff0000,
1016    0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000, 0xffff0000,
1017    0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000, 0x00003eef, 0x0e000000,
1018    0xfff00000, 0xfffffffb, 0x00000007, 0x14000000, 0x00fe21fe, 0x0000000c,
1019    0x00000002, 0x10000000, 0x0000201e, 0x0000000c, 0x00000006, 0x10000000,
1020    0x00023986, 0x00230000, 0x00000006, 0x10000000, 0x000021be, 0xfc00000c,
1021    0x00000002, 0x90000000, 0x0040201e, 0x0000000c, 0x00000004, 0x00002001,
1022    0x00000001, 0xc0000000, 0x00603dc1, 0x0000000c, 0x00000002, 0x90000000,
1023    0x00003040, 0x0000000c, 0x00000003, 0x18000000, 0x0000201e, 0x0000000c,
1024    0x005c0400, 0x07f20000, 0x00007f80, 0x1bf20000, 0x00003f00, 0x03000000,
1025    0x02a00000, 0x7ffe0000, 0xfeffe0df, 0x1fffffff, 0x00000040, 0x66fde000,
1026    0xc3000000, 0x001e0001, 0x20002064, 0xe0000000, 0x001c0000, 0x001c0000,
1027    0x000c0000, 0x000c0000, 0x3fb00000, 0x200ffe40, 0x00003800, 0x00000060,
1028    0x00000200, 0x0e040187, 0x09800000, 0x7f400000, 0x9ff81fe5, 0x3fff0000,
1029    0x0000000f, 0x17d00000, 0x00000004, 0x000ff800, 0x00000003, 0x00003b3c,
1030    0x0003a340, 0x00cff000, 0xfff70000, 0x031021fd, 0xfbffffff, 0x1fff0000,
1031    0x0001ffe2, 0x00038000, 0x80000000, 0x00003c00, 0x06000000, 0x3ff08000,
1032    0xc0000000, 0x00030000, 0x00000844, 0x00000060, 0x00000030, 0x0003ffff,
1033    0x00003fc0, 0x0003ff80, 0x00000007, 0x13c80000, 0x00000020, 0x00667e00,
1034    0x00001008, 0x10000000, 0xc19d0000, 0x00000002, 0x00403000, 0x00002120,
1035    0x40000000, 0x0000ffff, 0x0000ffff, 0x20000000, 0x00000001, 0x07c00000,
1036    0x0000f06e, 0x87000000, 0x00000060, 0x00000002, 0xff000000, 0x0000007f,
1037    0x80000000, 0x00000003, 0x06780000, 0x00000007, 0x001fef80, 0x00080000,
1038    0x00000003, 0x7fc00000, 0x00001c00, 0x40d38000, 0x80000000, 0x000007f8,
1039    0x00000003, 0x10000000, 0x00000001, 0x001f1fc0, 0xff000000, 0x0000005c,
1040    0x85f80000, 0x0000000d, 0xb03c0000, 0x30000001, 0xa7f80000, 0x00000001,
1041    0x00bf2800, 0xe0000000, 0x00000fbc, 0x0000067e, 0x79f80000, 0x0e7e0080,
1042    0x037ffc00, 0xbf7f0000, 0xfffc0000, 0x006dfcff, 0xb47e0000, 0x000000bf,
1043    0x001f0000, 0x007f0000, 0x00078000, 0x60000000, 0xf8000380, 0x00000fe7,
1044    0x00003c00, 0x0000001c, 0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe,
1045    0xf9ffff7f, 0x000007db, 0x007f0000, 0x000007f0, 0x0000ffff};
1046    }
1047
1048    const static UnicodeSet mn_Set{const_cast<UnicodeSet::run_t *>(__mn_Set_runs), 169, 0, const_cast<UnicodeSet::bitquad_t *>(__mn_Set_quads), 185, 0};
1049
1050    /** Code Point Ranges for Me
1051    [0488, 0489], [1abe, 1abe], [20dd, 20e0], [20e2, 20e4], [a670, a672]**/
1052
1053
1054    namespace {
1055    const static UnicodeSet::run_t __me_Set_runs[] = {
1056    {Empty, 36}, {Mixed, 1}, {Empty, 176}, {Mixed, 1}, {Empty, 48},
1057    {Mixed, 2}, {Empty, 1067}, {Mixed, 1}, {Empty, 33484}};
1058    const static UnicodeSet::bitquad_t  __me_Set_quads[] = {
1059    0x00000300, 0x40000000, 0xe0000000, 0x0000001d, 0x00070000};
1060    }
1061
1062    const static UnicodeSet me_Set{const_cast<UnicodeSet::run_t *>(__me_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__me_Set_quads), 5, 0};
1063
1064    /** Code Point Ranges for Mc
1065    [0903, 0903], [093b, 093b], [093e, 0940], [0949, 094c], [094e, 094f],
1066    [0982, 0983], [09be, 09c0], [09c7, 09c8], [09cb, 09cc], [09d7, 09d7],
1067    [0a03, 0a03], [0a3e, 0a40], [0a83, 0a83], [0abe, 0ac0], [0ac9, 0ac9],
1068    [0acb, 0acc], [0b02, 0b03], [0b3e, 0b3e], [0b40, 0b40], [0b47, 0b48],
1069    [0b4b, 0b4c], [0b57, 0b57], [0bbe, 0bbf], [0bc1, 0bc2], [0bc6, 0bc8],
1070    [0bca, 0bcc], [0bd7, 0bd7], [0c01, 0c03], [0c41, 0c44], [0c82, 0c83],
1071    [0cbe, 0cbe], [0cc0, 0cc4], [0cc7, 0cc8], [0cca, 0ccb], [0cd5, 0cd6],
1072    [0d02, 0d03], [0d3e, 0d40], [0d46, 0d48], [0d4a, 0d4c], [0d57, 0d57],
1073    [0d82, 0d83], [0dcf, 0dd1], [0dd8, 0ddf], [0df2, 0df3], [0f3e, 0f3f],
1074    [0f7f, 0f7f], [102b, 102c], [1031, 1031], [1038, 1038], [103b, 103c],
1075    [1056, 1057], [1062, 1064], [1067, 106d], [1083, 1084], [1087, 108c],
1076    [108f, 108f], [109a, 109c], [17b6, 17b6], [17be, 17c5], [17c7, 17c8],
1077    [1923, 1926], [1929, 192b], [1930, 1931], [1933, 1938], [1a19, 1a1a],
1078    [1a55, 1a55], [1a57, 1a57], [1a61, 1a61], [1a63, 1a64], [1a6d, 1a72],
1079    [1b04, 1b04], [1b35, 1b35], [1b3b, 1b3b], [1b3d, 1b41], [1b43, 1b44],
1080    [1b82, 1b82], [1ba1, 1ba1], [1ba6, 1ba7], [1baa, 1baa], [1be7, 1be7],
1081    [1bea, 1bec], [1bee, 1bee], [1bf2, 1bf3], [1c24, 1c2b], [1c34, 1c35],
1082    [1ce1, 1ce1], [1cf2, 1cf3], [1cf7, 1cf7], [302e, 302f], [a823, a824],
1083    [a827, a827], [a880, a881], [a8b4, a8c3], [a952, a953], [a983, a983],
1084    [a9b4, a9b5], [a9ba, a9bb], [a9bd, a9c0], [aa2f, aa30], [aa33, aa34],
1085    [aa4d, aa4d], [aa7b, aa7b], [aa7d, aa7d], [aaeb, aaeb], [aaee, aaef],
1086    [aaf5, aaf5], [abe3, abe4], [abe6, abe7], [abe9, abea], [abec, abec],
1087    [11000, 11000], [11002, 11002], [11082, 11082], [110b0, 110b2],
1088    [110b7, 110b8], [1112c, 1112c], [11182, 11182], [111b3, 111b5],
1089    [111bf, 111c0], [1122c, 1122e], [11232, 11233], [11235, 11235],
1090    [112e0, 112e2], [11302, 11303], [1133e, 1133f], [11341, 11344],
1091    [11347, 11348], [1134b, 1134d], [11357, 11357], [11362, 11363],
1092    [11435, 11437], [11440, 11441], [11445, 11445], [114b0, 114b2],
1093    [114b9, 114b9], [114bb, 114be], [114c1, 114c1], [115af, 115b1],
1094    [115b8, 115bb], [115be, 115be], [11630, 11632], [1163b, 1163c],
1095    [1163e, 1163e], [116ac, 116ac], [116ae, 116af], [116b6, 116b6],
1096    [11720, 11721], [11726, 11726], [11a07, 11a08], [11a39, 11a39],
1097    [11a57, 11a58], [11a97, 11a97], [11c2f, 11c2f], [11c3e, 11c3e],
1098    [11ca9, 11ca9], [11cb1, 11cb1], [11cb4, 11cb4], [16f51, 16f7e],
1099    [1d165, 1d166], [1d16d, 1d172]**/
1100
1101
1102    namespace {
1103    const static UnicodeSet::run_t __mc_Set_runs[] = {
1104    {Empty, 72}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
1105    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
1106    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
1107    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1108    {Empty, 9}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 4},
1109    {Empty, 56}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 6},
1110    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 3}, {Empty, 1},
1111    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
1112    {Mixed, 1}, {Empty, 153}, {Mixed, 1}, {Empty, 959}, {Mixed, 1},
1113    {Empty, 2}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
1114    {Empty, 2}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1115    {Empty, 800}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
1116    {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 5},
1117    {Mixed, 5}, {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
1118    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1119    {Mixed, 1}, {Empty, 22}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
1120    {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 660},
1121    {Mixed, 2}, {Empty, 783}, {Mixed, 1}, {Empty, 31092}};
1122    const static UnicodeSet::bitquad_t  __mc_Set_quads[] = {
1123    0x00000008, 0xc8000000, 0x0000de01, 0x0000000c, 0xc0000000, 0x00801981,
1124    0x00000008, 0xc0000000, 0x00000001, 0x00000008, 0xc0000000, 0x00001a01,
1125    0x0000000c, 0x40000000, 0x00801981, 0xc0000000, 0x00801dc6, 0x0000000e,
1126    0x0000001e, 0x0000000c, 0x40000000, 0x00600d9f, 0x0000000c, 0xc0000000,
1127    0x00801dc1, 0x0000000c, 0xff038000, 0x000c0000, 0xc0000000, 0x80000000,
1128    0x19021800, 0x00c00000, 0x00003f9c, 0x1c009f98, 0xc0400000, 0x000001bf,
1129    0x01fb0e78, 0x06000000, 0x00a00000, 0x0007e01a, 0x00000010, 0xe8200000,
1130    0x0000001b, 0x00000004, 0x000004c2, 0x000c5c80, 0x00300ff0, 0x008c0002,
1131    0x0000c000, 0x00000098, 0x00000003, 0xfff00000, 0x0000000f, 0x000c0000,
1132    0x00000008, 0xec300000, 0x00000001, 0x00198000, 0x00002000, 0x28000000,
1133    0x0020c800, 0x000016d8, 0x00000005, 0x00000004, 0x01870000, 0x00001000,
1134    0x00000004, 0x80380000, 0x00000001, 0x002c7000, 0x00000007, 0x0000000c,
1135    0xc0000000, 0x0080399e, 0x0000000c, 0x00e00000, 0x00000023, 0x7a070000,
1136    0x00000002, 0x4f038000, 0x58070000, 0x0040d000, 0x00000043, 0x00000180,
1137    0x02000000, 0x01800000, 0x00800000, 0x40008000, 0x00120200, 0xfffe0000,
1138    0x7fffffff, 0x0007e060};
1139    }
1140
1141    const static UnicodeSet mc_Set{const_cast<UnicodeSet::run_t *>(__mc_Set_runs), 101, 0, const_cast<UnicodeSet::bitquad_t *>(__mc_Set_quads), 92, 0};
1142
1143    /** Code Point Ranges for Nd
1144    [0030, 0039], [0660, 0669], [06f0, 06f9], [07c0, 07c9], [0966, 096f],
1145    [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f], [0be6, 0bef],
1146    [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f], [0de6, 0def], [0e50, 0e59],
1147    [0ed0, 0ed9], [0f20, 0f29], [1040, 1049], [1090, 1099], [17e0, 17e9],
1148    [1810, 1819], [1946, 194f], [19d0, 19d9], [1a80, 1a89], [1a90, 1a99],
1149    [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59], [a620, a629],
1150    [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9], [aa50, aa59],
1151    [abf0, abf9], [ff10, ff19], [104a0, 104a9], [11066, 1106f],
1152    [110f0, 110f9], [11136, 1113f], [111d0, 111d9], [112f0, 112f9],
1153    [11450, 11459], [114d0, 114d9], [11650, 11659], [116c0, 116c9],
1154    [11730, 11739], [118e0, 118e9], [11c50, 11c59], [11d50, 11d59],
1155    [16a60, 16a69], [16b50, 16b59], [1d7ce, 1d7ff], [1e950, 1e959]**/
1156
1157
1158    namespace {
1159    const static UnicodeSet::run_t __nd_Set_runs[] = {
1160    {Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1161    {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1162    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1163    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1164    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1165    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
1166    {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
1167    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1168    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1102},
1169    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
1170    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1171    {Empty, 664}, {Mixed, 1}, {Empty, 44}, {Mixed, 1}, {Empty, 93},
1172    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4},
1173    {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3},
1174    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
1175    {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
1176    {Empty, 7}, {Mixed, 1}, {Empty, 616}, {Mixed, 1}, {Empty, 6},
1177    {Mixed, 1}, {Empty, 867}, {Mixed, 1}, {Full, 1}, {Empty, 138},
1178    {Mixed, 1}, {Empty, 30901}};
1179    const static UnicodeSet::bitquad_t  __nd_Set_quads[] = {
1180    0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x0000ffc0, 0x0000ffc0,
1181    0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
1182    0x0000ffc0, 0x0000ffc0, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x000003ff,
1183    0x03ff0000, 0x000003ff, 0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff,
1184    0x03ff0000, 0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
1185    0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
1186    0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000, 0x03ff0000,
1187    0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000,
1188    0x03ff0000, 0x000003ff, 0x03ff0000, 0xffffc000, 0x03ff0000};
1189    }
1190
1191    const static UnicodeSet nd_Set{const_cast<UnicodeSet::run_t *>(__nd_Set_runs), 104, 0, const_cast<UnicodeSet::bitquad_t *>(__nd_Set_quads), 53, 0};
1192
1193    /** Code Point Ranges for Nl
1194    [16ee, 16f0], [2160, 2182], [2185, 2188], [3007, 3007], [3021, 3029],
1195    [3038, 303a], [a6e6, a6ef], [10140, 10174], [10341, 10341],
1196    [1034a, 1034a], [103d1, 103d5], [12400, 1246e]**/
1197
1198
1199    namespace {
1200    const static UnicodeSet::run_t __nl_Set_runs[] = {
1201    {Empty, 183}, {Mixed, 1}, {Empty, 83}, {Full, 1}, {Mixed, 1},
1202    {Empty, 115}, {Mixed, 2}, {Empty, 949}, {Mixed, 1}, {Empty, 722},
1203    {Full, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1204    {Empty, 257}, {Full, 3}, {Mixed, 1}, {Empty, 32476}};
1205    const static UnicodeSet::bitquad_t  __nl_Set_quads[] = {
1206    0x0001c000, 0x000001e7, 0x00000080, 0x070003fe, 0x0000ffc0, 0x001fffff,
1207    0x00000402, 0x003e0000, 0x00007fff};
1208    }
1209
1210    const static UnicodeSet nl_Set{const_cast<UnicodeSet::run_t *>(__nl_Set_runs), 20, 0, const_cast<UnicodeSet::bitquad_t *>(__nl_Set_quads), 9, 0};
1211
1212    /** Code Point Ranges for No
1213    [00b2, 00b3], [00b9, 00b9], [00bc, 00be], [09f4, 09f9], [0b72, 0b77],
1214    [0bf0, 0bf2], [0c78, 0c7e], [0d58, 0d5e], [0d70, 0d78], [0f2a, 0f33],
1215    [1369, 137c], [17f0, 17f9], [19da, 19da], [2070, 2070], [2074, 2079],
1216    [2080, 2089], [2150, 215f], [2189, 2189], [2460, 249b], [24ea, 24ff],
1217    [2776, 2793], [2cfd, 2cfd], [3192, 3195], [3220, 3229], [3248, 324f],
1218    [3251, 325f], [3280, 3289], [32b1, 32bf], [a830, a835], [10107, 10133],
1219    [10175, 10178], [1018a, 1018b], [102e1, 102fb], [10320, 10323],
1220    [10858, 1085f], [10879, 1087f], [108a7, 108af], [108fb, 108ff],
1221    [10916, 1091b], [109bc, 109bd], [109c0, 109cf], [109d2, 109ff],
1222    [10a40, 10a47], [10a7d, 10a7e], [10a9d, 10a9f], [10aeb, 10aef],
1223    [10b58, 10b5f], [10b78, 10b7f], [10ba9, 10baf], [10cfa, 10cff],
1224    [10e60, 10e7e], [11052, 11065], [111e1, 111f4], [1173a, 1173b],
1225    [118ea, 118f2], [11c5a, 11c6c], [16b5b, 16b61], [1d360, 1d371],
1226    [1e8c7, 1e8cf], [1f100, 1f10c]**/
1227
1228
1229    namespace {
1230    const static UnicodeSet::run_t __no_Set_runs[] = {
1231    {Empty, 5}, {Mixed, 1}, {Empty, 73}, {Mixed, 1}, {Empty, 11},
1232    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
1233    {Mixed, 2}, {Empty, 13}, {Mixed, 1}, {Empty, 33}, {Mixed, 1},
1234    {Empty, 35}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 52},
1235    {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 22},
1236    {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 19}, {Mixed, 2},
1237    {Empty, 42}, {Mixed, 1}, {Empty, 36}, {Mixed, 1}, {Empty, 4},
1238    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 939}, {Mixed, 1},
1239    {Empty, 710}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 10},
1240    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 40}, {Mixed, 2}, {Empty, 1},
1241    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Full, 1},
1242    {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
1243    {Empty, 1}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
1244    {Empty, 14}, {Mixed, 2}, {Empty, 11}, {Mixed, 1}, {Empty, 41},
1245    {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 2},
1246    {Empty, 630}, {Mixed, 2}, {Empty, 831}, {Mixed, 1}, {Empty, 170},
1247    {Mixed, 1}, {Empty, 65}, {Mixed, 1}, {Empty, 30839}};
1248    const static UnicodeSet::bitquad_t  __no_Set_quads[] = {
1249    0x720c0000, 0x03f00000, 0x00fc0000, 0x00070000, 0x7f000000, 0x7f000000,
1250    0x01ff0000, 0x000ffc00, 0x1ffffe00, 0x03ff0000, 0x04000000, 0x03f10000,
1251    0x000003ff, 0xffff0000, 0x00000200, 0x0fffffff, 0xfffffc00, 0xffc00000,
1252    0x000fffff, 0x20000000, 0x003c0000, 0x000003ff, 0xfffeff00, 0x000003ff,
1253    0xfffe0000, 0x003f0000, 0xffffff80, 0x000fffff, 0x01e00000, 0x00000c00,
1254    0x0ffffffe, 0x0000000f, 0xff000000, 0xfe000000, 0x0000ff80, 0xf8000000,
1255    0x0fc00000, 0x30000000, 0xfffcffff, 0x000000ff, 0x60000000, 0xe0000000,
1256    0x0000f800, 0xff000000, 0xff000000, 0x0000fe00, 0xfc000000, 0x7fffffff,
1257    0xfffc0000, 0x0000003f, 0x001ffffe, 0x0c000000, 0x0007fc00, 0xfc000000,
1258    0x00001fff, 0xf8000000, 0x00000003, 0x0003ffff, 0x0000ff80, 0x00001fff};
1259    }
1260
1261    const static UnicodeSet no_Set{const_cast<UnicodeSet::run_t *>(__no_Set_runs), 91, 0, const_cast<UnicodeSet::bitquad_t *>(__no_Set_quads), 60, 0};
1262
1263    /** Code Point Ranges for Zs
1264    [0020, 0020], [00a0, 00a0], [1680, 1680], [2000, 200a], [202f, 202f],
1265    [205f, 205f], [3000, 3000]**/
1266
1267
1268    namespace {
1269    const static UnicodeSet::run_t __zs_Set_runs[] = {
1270    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 174},
1271    {Mixed, 1}, {Empty, 75}, {Mixed, 3}, {Empty, 125}, {Mixed, 1},
1272    {Empty, 34431}};
1273    const static UnicodeSet::bitquad_t  __zs_Set_quads[] = {
1274    0x00000001, 0x00000001, 0x00000001, 0x000007ff, 0x00008000, 0x80000000,
1275    0x00000001};
1276    }
1277
1278    const static UnicodeSet zs_Set{const_cast<UnicodeSet::run_t *>(__zs_Set_runs), 11, 0, const_cast<UnicodeSet::bitquad_t *>(__zs_Set_quads), 7, 0};
1279
1280    /** Code Point Ranges for Zl
1281    [2028, 2028]**/
1282
1283
1284    namespace {
1285    const static UnicodeSet::run_t __zl_Set_runs[] = {
1286    {Empty, 257}, {Mixed, 1}, {Empty, 34558}};
1287    const static UnicodeSet::bitquad_t  __zl_Set_quads[] = {
1288    0x00000100};
1289    }
1290
1291    const static UnicodeSet zl_Set{const_cast<UnicodeSet::run_t *>(__zl_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__zl_Set_quads), 1, 0};
1292
1293    /** Code Point Ranges for Zp
1294    [2029, 2029]**/
1295
1296
1297    namespace {
1298    const static UnicodeSet::run_t __zp_Set_runs[] = {
1299    {Empty, 257}, {Mixed, 1}, {Empty, 34558}};
1300    const static UnicodeSet::bitquad_t  __zp_Set_quads[] = {
1301    0x00000200};
1302    }
1303
1304    const static UnicodeSet zp_Set{const_cast<UnicodeSet::run_t *>(__zp_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__zp_Set_quads), 1, 0};
1305
1306    /** Code Point Ranges for Cc
1307    [0000, 001f], [007f, 009f]**/
1308
1309
1310    namespace {
1311    const static UnicodeSet::run_t __cc_Set_runs[] = {
1312    {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 34811}};
1313    const static UnicodeSet::bitquad_t  __cc_Set_quads[] = {
1314    0x80000000};
1315    }
1316
1317    const static UnicodeSet cc_Set{const_cast<UnicodeSet::run_t *>(__cc_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__cc_Set_quads), 1, 0};
1318
1319    /** Code Point Ranges for Cf
1320    [00ad, 00ad], [0600, 0605], [061c, 061c], [06dd, 06dd], [070f, 070f],
1321    [08e2, 08e2], [180e, 180e], [200b, 200f], [202a, 202e], [2060, 2064],
1322    [2066, 206f], [feff, feff], [fff9, fffb], [110bd, 110bd],
1323    [1bca0, 1bca3], [1d173, 1d17a], [e0001, e0001], [e0020, e007f]**/
1324
1325
1326    namespace {
1327    const static UnicodeSet::run_t __cf_Set_runs[] = {
1328    {Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1329    {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 120},
1330    {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
1331    {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 133},
1332    {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165}, {Mixed, 1},
1333    {Empty, 24948}, {Mixed, 1}, {Full, 3}, {Empty, 6140}};
1334    const static UnicodeSet::bitquad_t  __cf_Set_quads[] = {
1335    0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004, 0x00004000,
1336    0x0000f800, 0x00007c00, 0x0000ffdf, 0x80000000, 0x0e000000, 0x20000000,
1337    0x0000000f, 0x07f80000, 0x00000002};
1338    }
1339
1340    const static UnicodeSet cf_Set{const_cast<UnicodeSet::run_t *>(__cf_Set_runs), 30, 0, const_cast<UnicodeSet::bitquad_t *>(__cf_Set_quads), 15, 0};
1341
1342    /** Code Point Ranges for Co
1343    [e000, f8ff], [f0000, ffffd], [100000, 10fffd]**/
1344
1345
1346    namespace {
1347    const static UnicodeSet::run_t __co_Set_runs[] = {
1348    {Empty, 1792}, {Full, 200}, {Empty, 28728}, {Full, 2047}, {Mixed, 1},
1349    {Full, 2047}, {Mixed, 1}};
1350    const static UnicodeSet::bitquad_t  __co_Set_quads[] = {
1351    0x3fffffff, 0x3fffffff};
1352    }
1353
1354    const static UnicodeSet co_Set{const_cast<UnicodeSet::run_t *>(__co_Set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__co_Set_quads), 2, 0};
1355
1356    /** Code Point Ranges for Cs
1357    [d800, dfff]**/
1358
1359
1360    namespace {
1361    const static UnicodeSet::run_t __cs_Set_runs[] = {
1362    {Empty, 1728}, {Full, 64}, {Empty, 33024}};
1363    const static UnicodeSet::bitquad_t * const __cs_Set_quads = nullptr;
1364    }
1365
1366    const static UnicodeSet cs_Set{const_cast<UnicodeSet::run_t *>(__cs_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__cs_Set_quads), 0, 0};
1367
1368    /** Code Point Ranges for Pd
1369    [002d, 002d], [058a, 058a], [05be, 05be], [1400, 1400], [1806, 1806],
1370    [2010, 2015], [2e17, 2e17], [2e1a, 2e1a], [2e3a, 2e3b], [2e40, 2e40],
1371    [301c, 301c], [3030, 3030], [30a0, 30a0], [fe31, fe32], [fe58, fe58],
1372    [fe63, fe63], [ff0d, ff0d]**/
1373
1374
1375    namespace {
1376    const static UnicodeSet::run_t __pd_Set_runs[] = {
1377    {Empty, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 2}, {Empty, 114},
1378    {Mixed, 1}, {Empty, 31}, {Mixed, 1}, {Empty, 63}, {Mixed, 1},
1379    {Empty, 111}, {Mixed, 3}, {Empty, 13}, {Mixed, 2}, {Empty, 3},
1380    {Mixed, 1}, {Empty, 1643}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
1381    {Empty, 32775}};
1382    const static UnicodeSet::bitquad_t  __pd_Set_quads[] = {
1383    0x00002000, 0x00000400, 0x40000000, 0x00000001, 0x00000040, 0x003f0000,
1384    0x04800000, 0x0c000000, 0x00000001, 0x10000000, 0x00010000, 0x00000001,
1385    0x00060000, 0x01000000, 0x00000008, 0x00002000};
1386    }
1387
1388    const static UnicodeSet pd_Set{const_cast<UnicodeSet::run_t *>(__pd_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__pd_Set_quads), 16, 0};
1389
1390    /** Code Point Ranges for Ps
1391    [0028, 0028], [005b, 005b], [007b, 007b], [0f3a, 0f3a], [0f3c, 0f3c],
1392    [169b, 169b], [201a, 201a], [201e, 201e], [2045, 2045], [207d, 207d],
1393    [208d, 208d], [2308, 2308], [230a, 230a], [2329, 2329], [2768, 2768],
1394    [276a, 276a], [276c, 276c], [276e, 276e], [2770, 2770], [2772, 2772],
1395    [2774, 2774], [27c5, 27c5], [27e6, 27e6], [27e8, 27e8], [27ea, 27ea],
1396    [27ec, 27ec], [27ee, 27ee], [2983, 2983], [2985, 2985], [2987, 2987],
1397    [2989, 2989], [298b, 298b], [298d, 298d], [298f, 298f], [2991, 2991],
1398    [2993, 2993], [2995, 2995], [2997, 2997], [29d8, 29d8], [29da, 29da],
1399    [29fc, 29fc], [2e22, 2e22], [2e24, 2e24], [2e26, 2e26], [2e28, 2e28],
1400    [2e42, 2e42], [3008, 3008], [300a, 300a], [300c, 300c], [300e, 300e],
1401    [3010, 3010], [3014, 3014], [3016, 3016], [3018, 3018], [301a, 301a],
1402    [301d, 301d], [fd3f, fd3f], [fe17, fe17], [fe35, fe35], [fe37, fe37],
1403    [fe39, fe39], [fe3b, fe3b], [fe3d, fe3d], [fe3f, fe3f], [fe41, fe41],
1404    [fe43, fe43], [fe47, fe47], [fe59, fe59], [fe5b, fe5b], [fe5d, fe5d],
1405    [ff08, ff08], [ff3b, ff3b], [ff5b, ff5b], [ff5f, ff5f], [ff62, ff62]**/
1406
1407
1408    namespace {
1409    const static UnicodeSet::run_t __ps_Set_runs[] = {
1410    {Empty, 1}, {Mixed, 3}, {Empty, 117}, {Mixed, 1}, {Empty, 58},
1411    {Mixed, 1}, {Empty, 75}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
1412    {Empty, 19}, {Mixed, 2}, {Empty, 33}, {Mixed, 1}, {Empty, 2},
1413    {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1414    {Empty, 33}, {Mixed, 2}, {Empty, 13}, {Mixed, 1}, {Empty, 1640},
1415    {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 5}, {Mixed, 4},
1416    {Empty, 32772}};
1417    const static UnicodeSet::bitquad_t  __ps_Set_quads[] = {
1418    0x00000100, 0x08000000, 0x08000000, 0x14000000, 0x08000000, 0x44000000,
1419    0x00000020, 0x20000000, 0x00002000, 0x00000500, 0x00000200, 0x00155500,
1420    0x00000020, 0x00005540, 0x00aaaaa8, 0x05000000, 0x10000000, 0x00000154,
1421    0x00000004, 0x25515500, 0x80000000, 0x00800000, 0xaaa00000, 0x2a00008a,
1422    0x00000100, 0x08000000, 0x88000000, 0x00000004};
1423    }
1424
1425    const static UnicodeSet ps_Set{const_cast<UnicodeSet::run_t *>(__ps_Set_runs), 31, 0, const_cast<UnicodeSet::bitquad_t *>(__ps_Set_quads), 28, 0};
1426
1427    /** Code Point Ranges for Pe
1428    [0029, 0029], [005d, 005d], [007d, 007d], [0f3b, 0f3b], [0f3d, 0f3d],
1429    [169c, 169c], [2046, 2046], [207e, 207e], [208e, 208e], [2309, 2309],
1430    [230b, 230b], [232a, 232a], [2769, 2769], [276b, 276b], [276d, 276d],
1431    [276f, 276f], [2771, 2771], [2773, 2773], [2775, 2775], [27c6, 27c6],
1432    [27e7, 27e7], [27e9, 27e9], [27eb, 27eb], [27ed, 27ed], [27ef, 27ef],
1433    [2984, 2984], [2986, 2986], [2988, 2988], [298a, 298a], [298c, 298c],
1434    [298e, 298e], [2990, 2990], [2992, 2992], [2994, 2994], [2996, 2996],
1435    [2998, 2998], [29d9, 29d9], [29db, 29db], [29fd, 29fd], [2e23, 2e23],
1436    [2e25, 2e25], [2e27, 2e27], [2e29, 2e29], [3009, 3009], [300b, 300b],
1437    [300d, 300d], [300f, 300f], [3011, 3011], [3015, 3015], [3017, 3017],
1438    [3019, 3019], [301b, 301b], [301e, 301f], [fd3e, fd3e], [fe18, fe18],
1439    [fe36, fe36], [fe38, fe38], [fe3a, fe3a], [fe3c, fe3c], [fe3e, fe3e],
1440    [fe40, fe40], [fe42, fe42], [fe44, fe44], [fe48, fe48], [fe5a, fe5a],
1441    [fe5c, fe5c], [fe5e, fe5e], [ff09, ff09], [ff3d, ff3d], [ff5d, ff5d],
1442    [ff60, ff60], [ff63, ff63]**/
1443
1444
1445    namespace {
1446    const static UnicodeSet::run_t __pe_Set_runs[] = {
1447    {Empty, 1}, {Mixed, 3}, {Empty, 117}, {Mixed, 1}, {Empty, 58},
1448    {Mixed, 1}, {Empty, 77}, {Mixed, 3}, {Empty, 19}, {Mixed, 2},
1449    {Empty, 33}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 12},
1450    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 33}, {Mixed, 1},
1451    {Empty, 14}, {Mixed, 1}, {Empty, 1640}, {Mixed, 1}, {Empty, 6},
1452    {Mixed, 3}, {Empty, 5}, {Mixed, 4}, {Empty, 32772}};
1453    const static UnicodeSet::bitquad_t  __pe_Set_quads[] = {
1454    0x00000200, 0x20000000, 0x20000000, 0x28000000, 0x10000000, 0x00000040,
1455    0x40000000, 0x00004000, 0x00000a00, 0x00000400, 0x002aaa00, 0x00000040,
1456    0x0000aa80, 0x01555550, 0x0a000000, 0x20000000, 0x000002a8, 0xcaa2aa00,
1457    0x40000000, 0x01000000, 0x55400000, 0x54000115, 0x00000200, 0x20000000,
1458    0x20000000, 0x00000009};
1459    }
1460
1461    const static UnicodeSet pe_Set{const_cast<UnicodeSet::run_t *>(__pe_Set_runs), 29, 0, const_cast<UnicodeSet::bitquad_t *>(__pe_Set_quads), 26, 0};
1462
1463    /** Code Point Ranges for Pc
1464    [005f, 005f], [203f, 2040], [2054, 2054], [fe33, fe34], [fe4d, fe4f],
1465    [ff3f, ff3f]**/
1466
1467
1468    namespace {
1469    const static UnicodeSet::run_t __pc_Set_runs[] = {
1470    {Empty, 2}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1774},
1471    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 32774}};
1472    const static UnicodeSet::bitquad_t  __pc_Set_quads[] = {
1473    0x80000000, 0x80000000, 0x00100001, 0x00180000, 0x0000e000, 0x80000000};
1474    }
1475
1476    const static UnicodeSet pc_Set{const_cast<UnicodeSet::run_t *>(__pc_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__pc_Set_quads), 6, 0};
1477
1478    /** Code Point Ranges for Po
1479    [0021, 0023], [0025, 0027], [002a, 002a], [002c, 002c], [002e, 002f],
1480    [003a, 003b], [003f, 0040], [005c, 005c], [00a1, 00a1], [00a7, 00a7],
1481    [00b6, 00b7], [00bf, 00bf], [037e, 037e], [0387, 0387], [055a, 055f],
1482    [0589, 0589], [05c0, 05c0], [05c3, 05c3], [05c6, 05c6], [05f3, 05f4],
1483    [0609, 060a], [060c, 060d], [061b, 061b], [061e, 061f], [066a, 066d],
1484    [06d4, 06d4], [0700, 070d], [07f7, 07f9], [0830, 083e], [085e, 085e],
1485    [0964, 0965], [0970, 0970], [09fd, 09fd], [0af0, 0af0], [0df4, 0df4],
1486    [0e4f, 0e4f], [0e5a, 0e5b], [0f04, 0f12], [0f14, 0f14], [0f85, 0f85],
1487    [0fd0, 0fd4], [0fd9, 0fda], [104a, 104f], [10fb, 10fb], [1360, 1368],
1488    [166d, 166e], [16eb, 16ed], [1735, 1736], [17d4, 17d6], [17d8, 17da],
1489    [1800, 1805], [1807, 180a], [1944, 1945], [1a1e, 1a1f], [1aa0, 1aa6],
1490    [1aa8, 1aad], [1b5a, 1b60], [1bfc, 1bff], [1c3b, 1c3f], [1c7e, 1c7f],
1491    [1cc0, 1cc7], [1cd3, 1cd3], [2016, 2017], [2020, 2027], [2030, 2038],
1492    [203b, 203e], [2041, 2043], [2047, 2051], [2053, 2053], [2055, 205e],
1493    [2cf9, 2cfc], [2cfe, 2cff], [2d70, 2d70], [2e00, 2e01], [2e06, 2e08],
1494    [2e0b, 2e0b], [2e0e, 2e16], [2e18, 2e19], [2e1b, 2e1b], [2e1e, 2e1f],
1495    [2e2a, 2e2e], [2e30, 2e39], [2e3c, 2e3f], [2e41, 2e41], [2e43, 2e49],
1496    [3001, 3003], [303d, 303d], [30fb, 30fb], [a4fe, a4ff], [a60d, a60f],
1497    [a673, a673], [a67e, a67e], [a6f2, a6f7], [a874, a877], [a8ce, a8cf],
1498    [a8f8, a8fa], [a8fc, a8fc], [a92e, a92f], [a95f, a95f], [a9c1, a9cd],
1499    [a9de, a9df], [aa5c, aa5f], [aade, aadf], [aaf0, aaf1], [abeb, abeb],
1500    [fe10, fe16], [fe19, fe19], [fe30, fe30], [fe45, fe46], [fe49, fe4c],
1501    [fe50, fe52], [fe54, fe57], [fe5f, fe61], [fe68, fe68], [fe6a, fe6b],
1502    [ff01, ff03], [ff05, ff07], [ff0a, ff0a], [ff0c, ff0c], [ff0e, ff0f],
1503    [ff1a, ff1b], [ff1f, ff20], [ff3c, ff3c], [ff61, ff61], [ff64, ff65],
1504    [10100, 10102], [1039f, 1039f], [103d0, 103d0], [1056f, 1056f],
1505    [10857, 10857], [1091f, 1091f], [1093f, 1093f], [10a50, 10a58],
1506    [10a7f, 10a7f], [10af0, 10af6], [10b39, 10b3f], [10b99, 10b9c],
1507    [11047, 1104d], [110bb, 110bc], [110be, 110c1], [11140, 11143],
1508    [11174, 11175], [111c5, 111c9], [111cd, 111cd], [111db, 111db],
1509    [111dd, 111df], [11238, 1123d], [112a9, 112a9], [1144b, 1144f],
1510    [1145b, 1145b], [1145d, 1145d], [114c6, 114c6], [115c1, 115d7],
1511    [11641, 11643], [11660, 1166c], [1173c, 1173e], [11a3f, 11a46],
1512    [11a9a, 11a9c], [11a9e, 11aa2], [11c41, 11c45], [11c70, 11c71],
1513    [12470, 12474], [16a6e, 16a6f], [16af5, 16af5], [16b37, 16b3b],
1514    [16b44, 16b44], [1bc9f, 1bc9f], [1da87, 1da8b], [1e95e, 1e95f]**/
1515
1516
1517    namespace {
1518    const static UnicodeSet::run_t __po_Set_runs[] = {
1519    {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 21}, {Mixed, 2},
1520    {Empty, 13}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
1521    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1522    {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 8}, {Mixed, 1},
1523    {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
1524    {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1525    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
1526    {Empty, 19}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 3},
1527    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
1528    {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 4},
1529    {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1530    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 25},
1531    {Mixed, 3}, {Empty, 100}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1532    {Empty, 4}, {Mixed, 3}, {Empty, 13}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
1533    {Empty, 927}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2},
1534    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 2},
1535    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1536    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
1537    {Empty, 656}, {Mixed, 4}, {Empty, 4}, {Mixed, 2}, {Empty, 1},
1538    {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
1539    {Empty, 1}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 22},
1540    {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 8}, {Mixed, 2}, {Empty, 3},
1541    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 37},
1542    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
1543    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 12},
1544    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
1545    {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 1},
1546    {Mixed, 2}, {Empty, 12}, {Mixed, 2}, {Empty, 63}, {Mixed, 1},
1547    {Empty, 559}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1548    {Mixed, 2}, {Empty, 649}, {Mixed, 1}, {Empty, 239}, {Mixed, 1},
1549    {Empty, 117}, {Mixed, 1}, {Empty, 30901}};
1550    const static UnicodeSet::bitquad_t  __po_Set_quads[] = {
1551    0x8c00d4ee, 0x10000001, 0x80c00082, 0x40000000, 0x00000080, 0xfc000000,
1552    0x00000200, 0x00000049, 0x00180000, 0xc8003600, 0x00003c00, 0x00100000,
1553    0x00003fff, 0x03800000, 0x7fff0000, 0x40000000, 0x00010030, 0x20000000,
1554    0x00010000, 0x00100000, 0x0c008000, 0x0017fff0, 0x00000020, 0x061f0000,
1555    0x0000fc00, 0x08000000, 0x000001ff, 0x00006000, 0x00003800, 0x00600000,
1556    0x07700000, 0x000007bf, 0x00000030, 0xc0000000, 0x00003f7f, 0xfc000000,
1557    0x00000001, 0xf0000000, 0xf8000000, 0xc0000000, 0x000800ff, 0x00c00000,
1558    0x79ff00ff, 0x7febff8e, 0xde000000, 0x00010000, 0xcb7fc9c3, 0xf3ff7c00,
1559    0x000003fa, 0x0000000e, 0x20000000, 0x08000000, 0xc0000000, 0x0000e000,
1560    0x40080000, 0x00fc0000, 0x00f00000, 0x0000c000, 0x17000000, 0x0000c000,
1561    0x80000000, 0xc0003ffe, 0xf0000000, 0xc0000000, 0x00030000, 0x00000800,
1562    0x027f0000, 0x00010000, 0x80f71e60, 0x00000d03, 0x8c00d4ee, 0x10000001,
1563    0x00000032, 0x00000007, 0x80000000, 0x00010000, 0x00008000, 0x00800000,
1564    0x80000000, 0x80000000, 0x01ff0000, 0x80000000, 0x007f0000, 0xfe000000,
1565    0x1e000000, 0x00003f80, 0xd8000000, 0x00000003, 0x0000000f, 0x00300000,
1566    0xe80023e0, 0x3f000000, 0x00000200, 0x2800f800, 0x00000040, 0x00fffffe,
1567    0x0000000e, 0x00001fff, 0x70000000, 0x80000000, 0x0000007f, 0xdc000000,
1568    0x00000007, 0x0000003e, 0x00030000, 0x001f0000, 0x0000c000, 0x00200000,
1569    0x0f800000, 0x00000010, 0x80000000, 0x00000f80, 0xc0000000};
1570    }
1571
1572    const static UnicodeSet po_Set{const_cast<UnicodeSet::run_t *>(__po_Set_runs), 173, 0, const_cast<UnicodeSet::bitquad_t *>(__po_Set_quads), 113, 0};
1573
1574    /** Code Point Ranges for Sm
1575    [002b, 002b], [003c, 003e], [007c, 007c], [007e, 007e], [00ac, 00ac],
1576    [00b1, 00b1], [00d7, 00d7], [00f7, 00f7], [03f6, 03f6], [0606, 0608],
1577    [2044, 2044], [2052, 2052], [207a, 207c], [208a, 208c], [2118, 2118],
1578    [2140, 2144], [214b, 214b], [2190, 2194], [219a, 219b], [21a0, 21a0],
1579    [21a3, 21a3], [21a6, 21a6], [21ae, 21ae], [21ce, 21cf], [21d2, 21d2],
1580    [21d4, 21d4], [21f4, 22ff], [2320, 2321], [237c, 237c], [239b, 23b3],
1581    [23dc, 23e1], [25b7, 25b7], [25c1, 25c1], [25f8, 25ff], [266f, 266f],
1582    [27c0, 27c4], [27c7, 27e5], [27f0, 27ff], [2900, 2982], [2999, 29d7],
1583    [29dc, 29fb], [29fe, 2aff], [2b30, 2b44], [2b47, 2b4c], [fb29, fb29],
1584    [fe62, fe62], [fe64, fe66], [ff0b, ff0b], [ff1c, ff1e], [ff5c, ff5c],
1585    [ff5e, ff5e], [ffe2, ffe2], [ffe9, ffec], [1d6c1, 1d6c1],
1586    [1d6db, 1d6db], [1d6fb, 1d6fb], [1d715, 1d715], [1d735, 1d735],
1587    [1d74f, 1d74f], [1d76f, 1d76f], [1d789, 1d789], [1d7a9, 1d7a9],
1588    [1d7c3, 1d7c3], [1eef0, 1eef1]**/
1589
1590
1591    namespace {
1592    const static UnicodeSet::run_t __sm_Set_runs[] = {
1593    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
1594    {Empty, 23}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 209},
1595    {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1596    {Mixed, 4}, {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
1597    {Empty, 13}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 10},
1598    {Mixed, 2}, {Empty, 8}, {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
1599    {Full, 8}, {Empty, 1}, {Mixed, 2}, {Empty, 1662}, {Mixed, 1},
1600    {Empty, 25}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1601    {Empty, 4}, {Mixed, 1}, {Empty, 1718}, {Mixed, 9}, {Empty, 184},
1602    {Mixed, 1}, {Empty, 30856}};
1603    const static UnicodeSet::bitquad_t  __sm_Set_quads[] = {
1604    0x70000800, 0x50000000, 0x00021000, 0x00800000, 0x00800000, 0x00400000,
1605    0x000001c0, 0x00040010, 0x1c000000, 0x00001c00, 0x01000000, 0x0000081f,
1606    0x0c1f0000, 0x00004049, 0x0014c000, 0xfff00000, 0x00000003, 0x10000000,
1607    0xf8000000, 0x000fffff, 0xf0000000, 0x00000003, 0x00800000, 0x00000002,
1608    0xff000000, 0x00008000, 0xffffff9f, 0xffff003f, 0xfe000007, 0xf0ffffff,
1609    0xcfffffff, 0xffff0000, 0x00001f9f, 0x00000200, 0x00000074, 0x70000800,
1610    0x50000000, 0x00001e04, 0x08000002, 0x08000000, 0x00200000, 0x00200000,
1611    0x00008000, 0x00008000, 0x00000200, 0x00000200, 0x00000008, 0x00030000};
1612    }
1613
1614    const static UnicodeSet sm_Set{const_cast<UnicodeSet::run_t *>(__sm_Set_runs), 52, 0, const_cast<UnicodeSet::bitquad_t *>(__sm_Set_quads), 48, 0};
1615
1616    /** Code Point Ranges for Sc
1617    [0024, 0024], [00a2, 00a5], [058f, 058f], [060b, 060b], [09f2, 09f3],
1618    [09fb, 09fb], [0af1, 0af1], [0bf9, 0bf9], [0e3f, 0e3f], [17db, 17db],
1619    [20a0, 20bf], [a838, a838], [fdfc, fdfc], [fe69, fe69], [ff04, ff04],
1620    [ffe0, ffe1], [ffe5, ffe6]**/
1621
1622
1623    namespace {
1624    const static UnicodeSet::run_t __sc_Set_runs[] = {
1625    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 38}, {Mixed, 1},
1626    {Empty, 3}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1627    {Empty, 7}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76},
1628    {Mixed, 1}, {Empty, 70}, {Full, 1}, {Empty, 1083}, {Mixed, 1},
1629    {Empty, 685}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
1630    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 32768}};
1631    const static UnicodeSet::bitquad_t  __sc_Set_quads[] = {
1632    0x00000010, 0x0000003c, 0x00008000, 0x00000800, 0x080c0000, 0x00020000,
1633    0x02000000, 0x80000000, 0x08000000, 0x01000000, 0x10000000, 0x00000200,
1634    0x00000010, 0x00000063};
1635    }
1636
1637    const static UnicodeSet sc_Set{const_cast<UnicodeSet::run_t *>(__sc_Set_runs), 31, 0, const_cast<UnicodeSet::bitquad_t *>(__sc_Set_quads), 14, 0};
1638
1639    /** Code Point Ranges for Sk
1640    [005e, 005e], [0060, 0060], [00a8, 00a8], [00af, 00af], [00b4, 00b4],
1641    [00b8, 00b8], [02c2, 02c5], [02d2, 02df], [02e5, 02eb], [02ed, 02ed],
1642    [02ef, 02ff], [0375, 0375], [0384, 0385], [1fbd, 1fbd], [1fbf, 1fc1],
1643    [1fcd, 1fcf], [1fdd, 1fdf], [1fed, 1fef], [1ffd, 1ffe], [309b, 309c],
1644    [a700, a716], [a720, a721], [a789, a78a], [ab5b, ab5b], [fbb2, fbc1],
1645    [ff3e, ff3e], [ff40, ff40], [ffe3, ffe3], [1f3fb, 1f3ff]**/
1646
1647
1648    namespace {
1649    const static UnicodeSet::run_t __sk_Set_runs[] = {
1650    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 2},
1651    {Empty, 3}, {Mixed, 2}, {Empty, 224}, {Mixed, 3}, {Empty, 132},
1652    {Mixed, 1}, {Empty, 947}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
1653    {Empty, 29}, {Mixed, 1}, {Empty, 642}, {Mixed, 2}, {Empty, 26},
1654    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1951}, {Mixed, 1},
1655    {Empty, 30816}};
1656    const static UnicodeSet::bitquad_t  __sk_Set_quads[] = {
1657    0x40000000, 0x00000001, 0x01108100, 0xfffc003c, 0xffffafe0, 0x00200000,
1658    0x00000030, 0xa0000000, 0xe000e003, 0x6000e000, 0x18000000, 0x007fffff,
1659    0x00000003, 0x00000600, 0x08000000, 0xfffc0000, 0x00000003, 0x40000000,
1660    0x00000001, 0x00000008, 0xf8000000};
1661    }
1662
1663    const static UnicodeSet sk_Set{const_cast<UnicodeSet::run_t *>(__sk_Set_runs), 27, 0, const_cast<UnicodeSet::bitquad_t *>(__sk_Set_quads), 21, 0};
1664
1665    /** Code Point Ranges for So
1666    [00a6, 00a6], [00a9, 00a9], [00ae, 00ae], [00b0, 00b0], [0482, 0482],
1667    [058d, 058e], [060e, 060f], [06de, 06de], [06e9, 06e9], [06fd, 06fe],
1668    [07f6, 07f6], [09fa, 09fa], [0b70, 0b70], [0bf3, 0bf8], [0bfa, 0bfa],
1669    [0c7f, 0c7f], [0d4f, 0d4f], [0d79, 0d79], [0f01, 0f03], [0f13, 0f13],
1670    [0f15, 0f17], [0f1a, 0f1f], [0f34, 0f34], [0f36, 0f36], [0f38, 0f38],
1671    [0fbe, 0fc5], [0fc7, 0fcc], [0fce, 0fcf], [0fd5, 0fd8], [109e, 109f],
1672    [1390, 1399], [1940, 1940], [19de, 19ff], [1b61, 1b6a], [1b74, 1b7c],
1673    [2100, 2101], [2103, 2106], [2108, 2109], [2114, 2114], [2116, 2117],
1674    [211e, 2123], [2125, 2125], [2127, 2127], [2129, 2129], [212e, 212e],
1675    [213a, 213b], [214a, 214a], [214c, 214d], [214f, 214f], [218a, 218b],
1676    [2195, 2199], [219c, 219f], [21a1, 21a2], [21a4, 21a5], [21a7, 21ad],
1677    [21af, 21cd], [21d0, 21d1], [21d3, 21d3], [21d5, 21f3], [2300, 2307],
1678    [230c, 231f], [2322, 2328], [232b, 237b], [237d, 239a], [23b4, 23db],
1679    [23e2, 2426], [2440, 244a], [249c, 24e9], [2500, 25b6], [25b8, 25c0],
1680    [25c2, 25f7], [2600, 266e], [2670, 2767], [2794, 27bf], [2800, 28ff],
1681    [2b00, 2b2f], [2b45, 2b46], [2b4d, 2b73], [2b76, 2b95], [2b98, 2bb9],
1682    [2bbd, 2bc8], [2bca, 2bd2], [2bec, 2bef], [2ce5, 2cea], [2e80, 2e99],
1683    [2e9b, 2ef3], [2f00, 2fd5], [2ff0, 2ffb], [3004, 3004], [3012, 3013],
1684    [3020, 3020], [3036, 3037], [303e, 303f], [3190, 3191], [3196, 319f],
1685    [31c0, 31e3], [3200, 321e], [322a, 3247], [3250, 3250], [3260, 327f],
1686    [328a, 32b0], [32c0, 32fe], [3300, 33ff], [4dc0, 4dff], [a490, a4c6],
1687    [a828, a82b], [a836, a837], [a839, a839], [aa77, aa79], [fdfd, fdfd],
1688    [ffe4, ffe4], [ffe8, ffe8], [ffed, ffee], [fffc, fffd], [10137, 1013f],
1689    [10179, 10189], [1018c, 1018e], [10190, 1019b], [101a0, 101a0],
1690    [101d0, 101fc], [10877, 10878], [10ac8, 10ac8], [1173f, 1173f],
1691    [16b3c, 16b3f], [16b45, 16b45], [1bc9c, 1bc9c], [1d000, 1d0f5],
1692    [1d100, 1d126], [1d129, 1d164], [1d16a, 1d16c], [1d183, 1d184],
1693    [1d18c, 1d1a9], [1d1ae, 1d1e8], [1d200, 1d241], [1d245, 1d245],
1694    [1d300, 1d356], [1d800, 1d9ff], [1da37, 1da3a], [1da6d, 1da74],
1695    [1da76, 1da83], [1da85, 1da86], [1f000, 1f02b], [1f030, 1f093],
1696    [1f0a0, 1f0ae], [1f0b1, 1f0bf], [1f0c1, 1f0cf], [1f0d1, 1f0f5],
1697    [1f110, 1f12e], [1f130, 1f16b], [1f170, 1f1ac], [1f1e6, 1f202],
1698    [1f210, 1f23b], [1f240, 1f248], [1f250, 1f251], [1f260, 1f265],
1699    [1f300, 1f3fa], [1f400, 1f6d4], [1f6e0, 1f6ec], [1f6f0, 1f6f8],
1700    [1f700, 1f773], [1f780, 1f7d4], [1f800, 1f80b], [1f810, 1f847],
1701    [1f850, 1f859], [1f860, 1f887], [1f890, 1f8ad], [1f900, 1f90b],
1702    [1f910, 1f93e], [1f940, 1f94c], [1f950, 1f96b], [1f980, 1f997],
1703    [1f9c0, 1f9c0], [1f9d0, 1f9e6]**/
1704
1705
1706    namespace {
1707    const static UnicodeSet::run_t __so_Set_runs[] = {
1708    {Empty, 5}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1709    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
1710    {Empty, 15}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
1711    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 12},
1712    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 23},
1713    {Mixed, 1}, {Empty, 45}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1},
1714    {Empty, 11}, {Mixed, 1}, {Empty, 44}, {Mixed, 3}, {Empty, 1},
1715    {Mixed, 4}, {Empty, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 5}, {Full, 1},
1716    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 5},
1717    {Mixed, 3}, {Full, 3}, {Mixed, 1}, {Full, 7}, {Mixed, 2}, {Full, 1},
1718    {Empty, 2}, {Full, 8}, {Empty, 16}, {Full, 1}, {Mixed, 7}, {Empty, 7},
1719    {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
1720    {Mixed, 4}, {Empty, 10}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4},
1721    {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 206},
1722    {Full, 2}, {Empty, 692}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 26},
1723    {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 667}, {Mixed, 1},
1724    {Empty, 15}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
1725    {Empty, 51}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 98},
1726    {Mixed, 1}, {Empty, 671}, {Mixed, 2}, {Empty, 649}, {Mixed, 1},
1727    {Empty, 155}, {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
1728    {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 5},
1729    {Full, 2}, {Mixed, 1}, {Empty, 37}, {Full, 16}, {Empty, 1}, {Mixed, 1},
1730    {Empty, 1}, {Mixed, 2}, {Empty, 171}, {Full, 1}, {Mixed, 1}, {Full, 2},
1731    {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
1732    {Mixed, 5}, {Empty, 4}, {Full, 7}, {Mixed, 1}, {Full, 22}, {Mixed, 2},
1733    {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1734    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 5},
1735    {Empty, 1}, {Mixed, 2}, {Empty, 30768}};
1736    const static UnicodeSet::bitquad_t  __so_Set_quads[] = {
1737    0x00014240, 0x00000004, 0x00006000, 0x0000c000, 0x40000000, 0x60000200,
1738    0x00400000, 0x04000000, 0x00010000, 0x05f80000, 0x80000000, 0x00008000,
1739    0x02000000, 0xfce8000e, 0x01500000, 0xc0000000, 0x01e0dfbf, 0xc0000000,
1740    0x03ff0000, 0x00000001, 0xc0000000, 0x1ff007fe, 0xc0d0037b, 0x0c0042af,
1741    0x0000b400, 0xf3e00c00, 0xffffbfb6, 0xffeb3fff, 0x000fffff, 0xfffff0ff,
1742    0xfffff9fc, 0xefffffff, 0x07ffffff, 0xfff00000, 0x0fffffff, 0xfffffffc,
1743    0x0000007f, 0x000007ff, 0xf0000000, 0x000003ff, 0xff7fffff, 0xfffffffd,
1744    0x00ffffff, 0xffff7fff, 0x000000ff, 0xfff00000, 0x0000ffff, 0xffffe060,
1745    0xffcfffff, 0xff3fffff, 0xe3ffffff, 0x0007fdff, 0x0000f000, 0x000007e0,
1746    0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000, 0x000c0010, 0xc0c00001,
1747    0xffc30000, 0x0000000f, 0x7fffffff, 0xfffffc00, 0x000100ff, 0xfffffc00,
1748    0x0001ffff, 0x7fffffff, 0xffff0000, 0x0000007f, 0x02c00f00, 0x03800000,
1749    0x20000000, 0x30006110, 0xff800000, 0xfe000000, 0x0fff73ff, 0x00000001,
1750    0xffff0000, 0x1fffffff, 0x01800000, 0x00000100, 0x80000000, 0xf0000000,
1751    0x00000020, 0x10000000, 0x003fffff, 0xfffffe7f, 0x00001c1f, 0xfffff018,
1752    0xffffc3ff, 0x000001ff, 0x00000023, 0x007fffff, 0x07800000, 0xffdfe000,
1753    0x0000006f, 0xffff0fff, 0x000fffff, 0xfffe7fff, 0xfffefffe, 0x003fffff,
1754    0xffff0000, 0xffff7fff, 0xffff0fff, 0x00001fff, 0xffffffc0, 0xffff0007,
1755    0x0fffffff, 0x000301ff, 0x0000003f, 0x07ffffff, 0x001fffff, 0x01ff1fff,
1756    0x000fffff, 0x001fffff, 0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff,
1757    0xffff0fff, 0x7fffffff, 0xffff1fff, 0x00000fff, 0x00ffffff, 0xffff0001,
1758    0x0000007f};
1759    }
1760
1761    const static UnicodeSet so_Set{const_cast<UnicodeSet::run_t *>(__so_Set_runs), 160, 0, const_cast<UnicodeSet::bitquad_t *>(__so_Set_quads), 127, 0};
1762
1763    /** Code Point Ranges for Pi
1764    [00ab, 00ab], [2018, 2018], [201b, 201c], [201f, 201f], [2039, 2039],
1765    [2e02, 2e02], [2e04, 2e04], [2e09, 2e09], [2e0c, 2e0c], [2e1c, 2e1c],
1766    [2e20, 2e20]**/
1767
1768
1769    namespace {
1770    const static UnicodeSet::run_t __pi_Set_runs[] = {
1771    {Empty, 5}, {Mixed, 1}, {Empty, 250}, {Mixed, 2}, {Empty, 110},
1772    {Mixed, 2}, {Empty, 34446}};
1773    const static UnicodeSet::bitquad_t  __pi_Set_quads[] = {
1774    0x00000800, 0x99000000, 0x02000000, 0x10001214, 0x00000001};
1775    }
1776
1777    const static UnicodeSet pi_Set{const_cast<UnicodeSet::run_t *>(__pi_Set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__pi_Set_quads), 5, 0};
1778
1779    /** Code Point Ranges for Pf
1780    [00bb, 00bb], [2019, 2019], [201d, 201d], [203a, 203a], [2e03, 2e03],
1781    [2e05, 2e05], [2e0a, 2e0a], [2e0d, 2e0d], [2e1d, 2e1d], [2e21, 2e21]**/
1782
1783
1784    namespace {
1785    const static UnicodeSet::run_t __pf_Set_runs[] = {
1786    {Empty, 5}, {Mixed, 1}, {Empty, 250}, {Mixed, 2}, {Empty, 110},
1787    {Mixed, 2}, {Empty, 34446}};
1788    const static UnicodeSet::bitquad_t  __pf_Set_quads[] = {
1789    0x08000000, 0x22000000, 0x04000000, 0x20002428, 0x00000002};
1790    }
1791
1792    const static UnicodeSet pf_Set{const_cast<UnicodeSet::run_t *>(__pf_Set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__pf_Set_quads), 5, 0};
1793
1794    /** Code Point Ranges for C
1795    [0000, 001f], [007f, 009f], [00ad, 00ad], [0378, 0379], [0380, 0383],
1796    [038b, 038b], [038d, 038d], [03a2, 03a2], [0530, 0530], [0557, 0558],
1797    [0560, 0560], [0588, 0588], [058b, 058c], [0590, 0590], [05c8, 05cf],
1798    [05eb, 05ef], [05f5, 0605], [061c, 061d], [06dd, 06dd], [070e, 070f],
1799    [074b, 074c], [07b2, 07bf], [07fb, 07ff], [082e, 082f], [083f, 083f],
1800    [085c, 085d], [085f, 085f], [086b, 089f], [08b5, 08b5], [08be, 08d3],
1801    [08e2, 08e2], [0984, 0984], [098d, 098e], [0991, 0992], [09a9, 09a9],
1802    [09b1, 09b1], [09b3, 09b5], [09ba, 09bb], [09c5, 09c6], [09c9, 09ca],
1803    [09cf, 09d6], [09d8, 09db], [09de, 09de], [09e4, 09e5], [09fe, 0a00],
1804    [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29], [0a31, 0a31],
1805    [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46],
1806    [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65],
1807    [0a76, 0a80], [0a84, 0a84], [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9],
1808    [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca],
1809    [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5], [0af2, 0af8], [0b00, 0b00],
1810    [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12], [0b29, 0b29], [0b31, 0b31],
1811    [0b34, 0b34], [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55],
1812    [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65], [0b78, 0b81], [0b84, 0b84],
1813    [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d],
1814    [0ba0, 0ba2], [0ba5, 0ba7], [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5],
1815    [0bc9, 0bc9], [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff],
1816    [0c04, 0c04], [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c],
1817    [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f],
1818    [0c64, 0c65], [0c70, 0c77], [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91],
1819    [0ca9, 0ca9], [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9],
1820    [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0],
1821    [0cf3, 0cff], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11], [0d45, 0d45],
1822    [0d49, 0d49], [0d50, 0d53], [0d64, 0d65], [0d80, 0d81], [0d84, 0d84],
1823    [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
1824    [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5], [0df0, 0df1],
1825    [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80], [0e83, 0e83], [0e85, 0e86],
1826    [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0],
1827    [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eba, 0eba],
1828    [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf], [0eda, 0edb],
1829    [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70], [0f98, 0f98], [0fbd, 0fbd],
1830    [0fcd, 0fcd], [0fdb, 0fff], [10c6, 10c6], [10c8, 10cc], [10ce, 10cf],
1831    [1249, 1249], [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f],
1832    [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7], [12bf, 12bf],
1833    [12c1, 12c1], [12c6, 12c7], [12d7, 12d7], [1311, 1311], [1316, 1317],
1834    [135b, 135c], [137d, 137f], [139a, 139f], [13f6, 13f7], [13fe, 13ff],
1835    [169d, 169f], [16f9, 16ff], [170d, 170d], [1715, 171f], [1737, 173f],
1836    [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f], [17de, 17df],
1837    [17ea, 17ef], [17fa, 17ff], [180e, 180f], [181a, 181f], [1878, 187f],
1838    [18ab, 18af], [18f6, 18ff], [191f, 191f], [192c, 192f], [193c, 193f],
1839    [1941, 1943], [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
1840    [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f],
1841    [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff], [1b4c, 1b4f], [1b7d, 1b7f],
1842    [1bf4, 1bfb], [1c38, 1c3a], [1c4a, 1c4c], [1c89, 1cbf], [1cc8, 1ccf],
1843    [1cfa, 1cff], [1dfa, 1dfa], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47],
1844    [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e],
1845    [1f7e, 1f7f], [1fb5, 1fb5], [1fc5, 1fc5], [1fd4, 1fd5], [1fdc, 1fdc],
1846    [1ff0, 1ff1], [1ff5, 1ff5], [1fff, 1fff], [200b, 200f], [202a, 202e],
1847    [2060, 206f], [2072, 2073], [208f, 208f], [209d, 209f], [20c0, 20cf],
1848    [20f1, 20ff], [218c, 218f], [2427, 243f], [244b, 245f], [2b74, 2b75],
1849    [2b96, 2b97], [2bba, 2bbc], [2bc9, 2bc9], [2bd3, 2beb], [2bf0, 2bff],
1850    [2c2f, 2c2f], [2c5f, 2c5f], [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c],
1851    [2d2e, 2d2f], [2d68, 2d6e], [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7],
1852    [2daf, 2daf], [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf],
1853    [2dd7, 2dd7], [2ddf, 2ddf], [2e4a, 2e7f], [2e9a, 2e9a], [2ef4, 2eff],
1854    [2fd6, 2fef], [2ffc, 2fff], [3040, 3040], [3097, 3098], [3100, 3104],
1855    [312f, 3130], [318f, 318f], [31bb, 31bf], [31e4, 31ef], [321f, 321f],
1856    [32ff, 32ff], [4db6, 4dbf], [9feb, 9fff], [a48d, a48f], [a4c7, a4cf],
1857    [a62c, a63f], [a6f8, a6ff], [a7af, a7af], [a7b8, a7f6], [a82c, a82f],
1858    [a83a, a83f], [a878, a87f], [a8c6, a8cd], [a8da, a8df], [a8fe, a8ff],
1859    [a954, a95e], [a97d, a97f], [a9ce, a9ce], [a9da, a9dd], [a9ff, a9ff],
1860    [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5b], [aac3, aada], [aaf7, ab00],
1861    [ab07, ab08], [ab0f, ab10], [ab17, ab1f], [ab27, ab27], [ab2f, ab2f],
1862    [ab66, ab6f], [abee, abef], [abfa, abff], [d7a4, d7af], [d7c7, d7ca],
1863    [d7fc, f8ff], [fa6e, fa6f], [fada, faff], [fb07, fb12], [fb18, fb1c],
1864    [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42], [fb45, fb45],
1865    [fbc2, fbd2], [fd40, fd4f], [fd90, fd91], [fdc8, fdef], [fdfe, fdff],
1866    [fe1a, fe1f], [fe53, fe53], [fe67, fe67], [fe6c, fe6f], [fe75, fe75],
1867    [fefd, ff00], [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9],
1868    [ffdd, ffdf], [ffe7, ffe7], [ffef, fffb], [fffe, ffff], [1000c, 1000c],
1869    [10027, 10027], [1003b, 1003b], [1003e, 1003e], [1004e, 1004f],
1870    [1005e, 1007f], [100fb, 100ff], [10103, 10106], [10134, 10136],
1871    [1018f, 1018f], [1019c, 1019f], [101a1, 101cf], [101fe, 1027f],
1872    [1029d, 1029f], [102d1, 102df], [102fc, 102ff], [10324, 1032c],
1873    [1034b, 1034f], [1037b, 1037f], [1039e, 1039e], [103c4, 103c7],
1874    [103d6, 103ff], [1049e, 1049f], [104aa, 104af], [104d4, 104d7],
1875    [104fc, 104ff], [10528, 1052f], [10564, 1056e], [10570, 105ff],
1876    [10737, 1073f], [10756, 1075f], [10768, 107ff], [10806, 10807],
1877    [10809, 10809], [10836, 10836], [10839, 1083b], [1083d, 1083e],
1878    [10856, 10856], [1089f, 108a6], [108b0, 108df], [108f3, 108f3],
1879    [108f6, 108fa], [1091c, 1091e], [1093a, 1093e], [10940, 1097f],
1880    [109b8, 109bb], [109d0, 109d1], [10a04, 10a04], [10a07, 10a0b],
1881    [10a14, 10a14], [10a18, 10a18], [10a34, 10a37], [10a3b, 10a3e],
1882    [10a48, 10a4f], [10a59, 10a5f], [10aa0, 10abf], [10ae7, 10aea],
1883    [10af7, 10aff], [10b36, 10b38], [10b56, 10b57], [10b73, 10b77],
1884    [10b92, 10b98], [10b9d, 10ba8], [10bb0, 10bff], [10c49, 10c7f],
1885    [10cb3, 10cbf], [10cf3, 10cf9], [10d00, 10e5f], [10e7f, 10fff],
1886    [1104e, 11051], [11070, 1107e], [110bd, 110bd], [110c2, 110cf],
1887    [110e9, 110ef], [110fa, 110ff], [11135, 11135], [11144, 1114f],
1888    [11177, 1117f], [111ce, 111cf], [111e0, 111e0], [111f5, 111ff],
1889    [11212, 11212], [1123f, 1127f], [11287, 11287], [11289, 11289],
1890    [1128e, 1128e], [1129e, 1129e], [112aa, 112af], [112eb, 112ef],
1891    [112fa, 112ff], [11304, 11304], [1130d, 1130e], [11311, 11312],
1892    [11329, 11329], [11331, 11331], [11334, 11334], [1133a, 1133b],
1893    [11345, 11346], [11349, 1134a], [1134e, 1134f], [11351, 11356],
1894    [11358, 1135c], [11364, 11365], [1136d, 1136f], [11375, 113ff],
1895    [1145a, 1145a], [1145c, 1145c], [1145e, 1147f], [114c8, 114cf],
1896    [114da, 1157f], [115b6, 115b7], [115de, 115ff], [11645, 1164f],
1897    [1165a, 1165f], [1166d, 1167f], [116b8, 116bf], [116ca, 116ff],
1898    [1171a, 1171c], [1172c, 1172f], [11740, 1189f], [118f3, 118fe],
1899    [11900, 119ff], [11a48, 11a4f], [11a84, 11a85], [11a9d, 11a9d],
1900    [11aa3, 11abf], [11af9, 11bff], [11c09, 11c09], [11c37, 11c37],
1901    [11c46, 11c4f], [11c6d, 11c6f], [11c90, 11c91], [11ca8, 11ca8],
1902    [11cb7, 11cff], [11d07, 11d07], [11d0a, 11d0a], [11d37, 11d39],
1903    [11d3b, 11d3b], [11d3e, 11d3e], [11d48, 11d4f], [11d5a, 11fff],
1904    [1239a, 123ff], [1246f, 1246f], [12475, 1247f], [12544, 12fff],
1905    [1342f, 143ff], [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f],
1906    [16a6a, 16a6d], [16a70, 16acf], [16aee, 16aef], [16af6, 16aff],
1907    [16b46, 16b4f], [16b5a, 16b5a], [16b62, 16b62], [16b78, 16b7c],
1908    [16b90, 16eff], [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf],
1909    [16fe2, 16fff], [187ed, 187ff], [18af3, 1afff], [1b11f, 1b16f],
1910    [1b2fc, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f],
1911    [1bc9a, 1bc9b], [1bca0, 1cfff], [1d0f6, 1d0ff], [1d127, 1d128],
1912    [1d173, 1d17a], [1d1e9, 1d1ff], [1d246, 1d2ff], [1d357, 1d35f],
1913    [1d372, 1d3ff], [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1],
1914    [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba],
1915    [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c],
1916    [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f],
1917    [1d545, 1d545], [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7],
1918    [1d7cc, 1d7cd], [1da8c, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff],
1919    [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025],
1920    [1e02b, 1e7ff], [1e8c5, 1e8c6], [1e8d7, 1e8ff], [1e94b, 1e94f],
1921    [1e95a, 1e95d], [1e960, 1edff], [1ee04, 1ee04], [1ee20, 1ee20],
1922    [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33],
1923    [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46],
1924    [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50],
1925    [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a],
1926    [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63],
1927    [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78],
1928    [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0],
1929    [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1eeef], [1eef2, 1efff],
1930    [1f02c, 1f02f], [1f094, 1f09f], [1f0af, 1f0b0], [1f0c0, 1f0c0],
1931    [1f0d0, 1f0d0], [1f0f6, 1f0ff], [1f10d, 1f10f], [1f12f, 1f12f],
1932    [1f16c, 1f16f], [1f1ad, 1f1e5], [1f203, 1f20f], [1f23c, 1f23f],
1933    [1f249, 1f24f], [1f252, 1f25f], [1f266, 1f2ff], [1f6d5, 1f6df],
1934    [1f6ed, 1f6ef], [1f6f9, 1f6ff], [1f774, 1f77f], [1f7d5, 1f7ff],
1935    [1f80c, 1f80f], [1f848, 1f84f], [1f85a, 1f85f], [1f888, 1f88f],
1936    [1f8ae, 1f8ff], [1f90c, 1f90f], [1f93f, 1f93f], [1f94d, 1f94f],
1937    [1f96c, 1f97f], [1f998, 1f9bf], [1f9c1, 1f9cf], [1f9e7, 1ffff],
1938    [2a6d7, 2a6ff], [2b735, 2b73f], [2b81e, 2b81f], [2cea2, 2ceaf],
1939    [2ebe1, 2f7ff], [2fa1e, e00ff], [e01f0, 10ffff]**/
1940
1941
1942    namespace {
1943    const static UnicodeSet::run_t __c_Set_runs[] = {
1944    {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 21},
1945    {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 5},
1946    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
1947    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
1948    {Mixed, 3}, {Empty, 4}, {Mixed, 29}, {Empty, 1}, {Mixed, 9}, {Full, 1},
1949    {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6},
1950    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
1951    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20},
1952    {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
1953    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 1},
1954    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2},
1955    {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1956    {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
1957    {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 5},
1958    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
1959    {Empty, 20}, {Mixed, 2}, {Empty, 56}, {Mixed, 5}, {Empty, 1},
1960    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1961    {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
1962    {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
1963    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
1964    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
1965    {Empty, 657}, {Mixed, 1}, {Empty, 36}, {Mixed, 1}, {Empty, 1},
1966    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5},
1967    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1968    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
1969    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
1970    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
1971    {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
1972    {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1},
1973    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
1974    {Mixed, 2}, {Empty, 4}, {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3},
1975    {Empty, 2}, {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1976    {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
1977    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4},
1978    {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
1979    {Full, 1}, {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
1980    {Mixed, 3}, {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1981    {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
1982    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Full, 12},
1983    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
1984    {Empty, 2}, {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5},
1985    {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
1986    {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
1987    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2},
1988    {Mixed, 1}, {Full, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1989    {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3},
1990    {Full, 21}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
1991    {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1},
1992    {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17},
1993    {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27},
1994    {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
1995    {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8}, {Mixed, 1}, {Full, 2},
1996    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 72}, {Empty, 3}, {Mixed, 2},
1997    {Full, 155}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
1998    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
1999    {Empty, 2}, {Mixed, 2}, {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
2000    {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
2001    {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
2002    {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 37},
2003    {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 1}, {Mixed, 1},
2004    {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2005    {Full, 1}, {Mixed, 5}, {Full, 4}, {Empty, 30}, {Mixed, 2}, {Empty, 3},
2006    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
2007    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1},
2008    {Mixed, 2}, {Full, 48}, {Empty, 1334}, {Mixed, 1}, {Full, 1},
2009    {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180},
2010    {Mixed, 1}, {Empty, 233}, {Mixed, 1}, {Full, 96}, {Empty, 16},
2011    {Mixed, 1}, {Full, 22583}, {Empty, 7}, {Mixed, 1}, {Full, 6128}};
2012    const static UnicodeSet::bitquad_t  __c_Set_quads[] = {
2013    0x80000000, 0x00002000, 0x03000000, 0x0000280f, 0x00000004, 0x00010000,
2014    0x01800000, 0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x3000003f,
2015    0x20000000, 0x0000c000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
2016    0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00000004, 0x00066010,
2017    0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
2018    0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0x01fc0030, 0x00066011,
2019    0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813, 0x3c0038e7, 0xff7ec238,
2020    0xf800003f, 0x00022010, 0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010,
2021    0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220, 0x00000030,
2022    0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001, 0x78000000,
2023    0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0, 0x00000100, 0x0001e000,
2024    0x01000000, 0x20000000, 0xf8002000, 0x0000df40, 0xc280c200, 0x0000c200,
2025    0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xe0000000, 0xfc000000,
2026    0xc0c00000, 0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
2027    0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc00c000, 0xff000000, 0x0000f800,
2028    0xffc00000, 0x80000000, 0xf000f000, 0x0000000e, 0xffe0c000, 0x0000f000,
2029    0x3800fc00, 0x30000000, 0x80000000, 0x60000000, 0xfc00fc00, 0x8000c000,
2030    0x0000f000, 0xe0000000, 0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00,
2031    0x0000ff00, 0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
2032    0x00200000, 0x10300020, 0x80230000, 0x0000f800, 0x00007c00, 0x000cffff,
2033    0xe0008000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
2034    0x00300000, 0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff, 0x00008000,
2035    0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080,
2036    0x80808080, 0xfffffc00, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
2037    0x00000001, 0x01800000, 0x0000001f, 0x00018000, 0x00008000, 0xf8000000,
2038    0x0000fff0, 0x80000000, 0x80000000, 0xffc00000, 0xfffff800, 0x0000e000,
2039    0x0000ff80, 0xfffff000, 0xff000000, 0xff008000, 0x007fffff, 0xfc00f000,
2040    0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000,
2041    0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
2042    0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000,
2043    0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
2044    0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000, 0x00080000,
2045    0x0020f080, 0xe0000000, 0x00000001, 0x80000000, 0xe3030303, 0xcfff8080,
2046    0x00001000, 0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
2047    0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000,
2048    0xf0000000, 0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
2049    0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0,
2050    0xff800000, 0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000, 0x00400000,
2051    0x80000000, 0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
2052    0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000,
2053    0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
2054    0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x20000000, 0x0000fffc,
2055    0xfc00fe00, 0x00200000, 0x0000fff0, 0xff800000, 0x0000c000, 0xffe00001,
2056    0x00040000, 0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010,
2057    0x0c120200, 0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
2058    0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000,
2059    0x0000f000, 0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000,
2060    0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
2061    0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000, 0xffe08000, 0xfffffff0,
2062    0xffff8000, 0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff,
2063    0xffc0c000, 0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
2064    0x00007fff, 0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff,
2065    0xf0000000, 0xe000f800, 0x0c00fe00, 0xffc00000, 0x00000180, 0x07f80000,
2066    0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000, 0x20000000,
2067    0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0, 0x000000c0,
2068    0x00003000, 0x07fff000, 0xffff0001, 0x06000080, 0xfffff824, 0xff800060,
2069    0x3c00f800, 0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400,
2070    0xf0000411, 0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
2071    0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000, 0x0000003f,
2072    0x0000fff8, 0xf0000000, 0xfffcfe00, 0xffffffc0, 0xffe00000, 0xfe00e000,
2073    0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000,
2074    0x0000f000, 0x80000000, 0x0000e000, 0xfffff000, 0xff000000, 0x0000fffe,
2075    0xffffff80, 0xff800000, 0xffe00000, 0xc0000000, 0x0000fffc, 0xfffffffe,
2076    0xc0000000, 0xffff0000};
2077    }
2078
2079    const static UnicodeSet c_Set{const_cast<UnicodeSet::run_t *>(__c_Set_runs), 398, 0, const_cast<UnicodeSet::bitquad_t *>(__c_Set_quads), 380, 0};
2080
2081    /** Code Point Ranges for L
2082    [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5], [00ba, 00ba],
2083    [00c0, 00d6], [00d8, 00f6], [00f8, 02c1], [02c6, 02d1], [02e0, 02e4],
2084    [02ec, 02ec], [02ee, 02ee], [0370, 0374], [0376, 0377], [037a, 037d],
2085    [037f, 037f], [0386, 0386], [0388, 038a], [038c, 038c], [038e, 03a1],
2086    [03a3, 03f5], [03f7, 0481], [048a, 052f], [0531, 0556], [0559, 0559],
2087    [0561, 0587], [05d0, 05ea], [05f0, 05f2], [0620, 064a], [066e, 066f],
2088    [0671, 06d3], [06d5, 06d5], [06e5, 06e6], [06ee, 06ef], [06fa, 06fc],
2089    [06ff, 06ff], [0710, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1],
2090    [07ca, 07ea], [07f4, 07f5], [07fa, 07fa], [0800, 0815], [081a, 081a],
2091    [0824, 0824], [0828, 0828], [0840, 0858], [0860, 086a], [08a0, 08b4],
2092    [08b6, 08bd], [0904, 0939], [093d, 093d], [0950, 0950], [0958, 0961],
2093    [0971, 0980], [0985, 098c], [098f, 0990], [0993, 09a8], [09aa, 09b0],
2094    [09b2, 09b2], [09b6, 09b9], [09bd, 09bd], [09ce, 09ce], [09dc, 09dd],
2095    [09df, 09e1], [09f0, 09f1], [09fc, 09fc], [0a05, 0a0a], [0a0f, 0a10],
2096    [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39],
2097    [0a59, 0a5c], [0a5e, 0a5e], [0a72, 0a74], [0a85, 0a8d], [0a8f, 0a91],
2098    [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd],
2099    [0ad0, 0ad0], [0ae0, 0ae1], [0af9, 0af9], [0b05, 0b0c], [0b0f, 0b10],
2100    [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33], [0b35, 0b39], [0b3d, 0b3d],
2101    [0b5c, 0b5d], [0b5f, 0b61], [0b71, 0b71], [0b83, 0b83], [0b85, 0b8a],
2102    [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f],
2103    [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9], [0bd0, 0bd0], [0c05, 0c0c],
2104    [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c3d], [0c58, 0c5a],
2105    [0c60, 0c61], [0c80, 0c80], [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8],
2106    [0caa, 0cb3], [0cb5, 0cb9], [0cbd, 0cbd], [0cde, 0cde], [0ce0, 0ce1],
2107    [0cf1, 0cf2], [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d],
2108    [0d4e, 0d4e], [0d54, 0d56], [0d5f, 0d61], [0d7a, 0d7f], [0d85, 0d96],
2109    [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0e01, 0e30],
2110    [0e32, 0e33], [0e40, 0e46], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88],
2111    [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
2112    [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb0], [0eb2, 0eb3],
2113    [0ebd, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6], [0edc, 0edf], [0f00, 0f00],
2114    [0f40, 0f47], [0f49, 0f6c], [0f88, 0f8c], [1000, 102a], [103f, 103f],
2115    [1050, 1055], [105a, 105d], [1061, 1061], [1065, 1066], [106e, 1070],
2116    [1075, 1081], [108e, 108e], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
2117    [10d0, 10fa], [10fc, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
2118    [125a, 125d], [1260, 1288], [128a, 128d], [1290, 12b0], [12b2, 12b5],
2119    [12b8, 12be], [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310],
2120    [1312, 1315], [1318, 135a], [1380, 138f], [13a0, 13f5], [13f8, 13fd],
2121    [1401, 166c], [166f, 167f], [1681, 169a], [16a0, 16ea], [16f1, 16f8],
2122    [1700, 170c], [170e, 1711], [1720, 1731], [1740, 1751], [1760, 176c],
2123    [176e, 1770], [1780, 17b3], [17d7, 17d7], [17dc, 17dc], [1820, 1877],
2124    [1880, 1884], [1887, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
2125    [1950, 196d], [1970, 1974], [1980, 19ab], [19b0, 19c9], [1a00, 1a16],
2126    [1a20, 1a54], [1aa7, 1aa7], [1b05, 1b33], [1b45, 1b4b], [1b83, 1ba0],
2127    [1bae, 1baf], [1bba, 1be5], [1c00, 1c23], [1c4d, 1c4f], [1c5a, 1c7d],
2128    [1c80, 1c88], [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6], [1d00, 1dbf],
2129    [1e00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57],
2130    [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
2131    [1fb6, 1fbc], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3],
2132    [1fd6, 1fdb], [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc], [2071, 2071],
2133    [207f, 207f], [2090, 209c], [2102, 2102], [2107, 2107], [210a, 2113],
2134    [2115, 2115], [2119, 211d], [2124, 2124], [2126, 2126], [2128, 2128],
2135    [212a, 212d], [212f, 2139], [213c, 213f], [2145, 2149], [214e, 214e],
2136    [2183, 2184], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2ce4], [2ceb, 2cee],
2137    [2cf2, 2cf3], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67],
2138    [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6],
2139    [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
2140    [2e2f, 2e2f], [3005, 3006], [3031, 3035], [303b, 303c], [3041, 3096],
2141    [309d, 309f], [30a1, 30fa], [30fc, 30ff], [3105, 312e], [3131, 318e],
2142    [31a0, 31ba], [31f0, 31ff], [3400, 4db5], [4e00, 9fea], [a000, a48c],
2143    [a4d0, a4fd], [a500, a60c], [a610, a61f], [a62a, a62b], [a640, a66e],
2144    [a67f, a69d], [a6a0, a6e5], [a717, a71f], [a722, a788], [a78b, a7ae],
2145    [a7b0, a7b7], [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a822],
2146    [a840, a873], [a882, a8b3], [a8f2, a8f7], [a8fb, a8fb], [a8fd, a8fd],
2147    [a90a, a925], [a930, a946], [a960, a97c], [a984, a9b2], [a9cf, a9cf],
2148    [a9e0, a9e4], [a9e6, a9ef], [a9fa, a9fe], [aa00, aa28], [aa40, aa42],
2149    [aa44, aa4b], [aa60, aa76], [aa7a, aa7a], [aa7e, aaaf], [aab1, aab1],
2150    [aab5, aab6], [aab9, aabd], [aac0, aac0], [aac2, aac2], [aadb, aadd],
2151    [aae0, aaea], [aaf2, aaf4], [ab01, ab06], [ab09, ab0e], [ab11, ab16],
2152    [ab20, ab26], [ab28, ab2e], [ab30, ab5a], [ab5c, ab65], [ab70, abe2],
2153    [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb], [f900, fa6d], [fa70, fad9],
2154    [fb00, fb06], [fb13, fb17], [fb1d, fb1d], [fb1f, fb28], [fb2a, fb36],
2155    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fbb1],
2156    [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb], [fe70, fe74],
2157    [fe76, fefc], [ff21, ff3a], [ff41, ff5a], [ff66, ffbe], [ffc2, ffc7],
2158    [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc], [10000, 1000b],
2159    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
2160    [10050, 1005d], [10080, 100fa], [10280, 1029c], [102a0, 102d0],
2161    [10300, 1031f], [1032d, 10340], [10342, 10349], [10350, 10375],
2162    [10380, 1039d], [103a0, 103c3], [103c8, 103cf], [10400, 1049d],
2163    [104b0, 104d3], [104d8, 104fb], [10500, 10527], [10530, 10563],
2164    [10600, 10736], [10740, 10755], [10760, 10767], [10800, 10805],
2165    [10808, 10808], [1080a, 10835], [10837, 10838], [1083c, 1083c],
2166    [1083f, 10855], [10860, 10876], [10880, 1089e], [108e0, 108f2],
2167    [108f4, 108f5], [10900, 10915], [10920, 10939], [10980, 109b7],
2168    [109be, 109bf], [10a00, 10a00], [10a10, 10a13], [10a15, 10a17],
2169    [10a19, 10a33], [10a60, 10a7c], [10a80, 10a9c], [10ac0, 10ac7],
2170    [10ac9, 10ae4], [10b00, 10b35], [10b40, 10b55], [10b60, 10b72],
2171    [10b80, 10b91], [10c00, 10c48], [10c80, 10cb2], [10cc0, 10cf2],
2172    [11003, 11037], [11083, 110af], [110d0, 110e8], [11103, 11126],
2173    [11150, 11172], [11176, 11176], [11183, 111b2], [111c1, 111c4],
2174    [111da, 111da], [111dc, 111dc], [11200, 11211], [11213, 1122b],
2175    [11280, 11286], [11288, 11288], [1128a, 1128d], [1128f, 1129d],
2176    [1129f, 112a8], [112b0, 112de], [11305, 1130c], [1130f, 11310],
2177    [11313, 11328], [1132a, 11330], [11332, 11333], [11335, 11339],
2178    [1133d, 1133d], [11350, 11350], [1135d, 11361], [11400, 11434],
2179    [11447, 1144a], [11480, 114af], [114c4, 114c5], [114c7, 114c7],
2180    [11580, 115ae], [115d8, 115db], [11600, 1162f], [11644, 11644],
2181    [11680, 116aa], [11700, 11719], [118a0, 118df], [118ff, 118ff],
2182    [11a00, 11a00], [11a0b, 11a32], [11a3a, 11a3a], [11a50, 11a50],
2183    [11a5c, 11a83], [11a86, 11a89], [11ac0, 11af8], [11c00, 11c08],
2184    [11c0a, 11c2e], [11c40, 11c40], [11c72, 11c8f], [11d00, 11d06],
2185    [11d08, 11d09], [11d0b, 11d30], [11d46, 11d46], [12000, 12399],
2186    [12480, 12543], [13000, 1342e], [14400, 14646], [16800, 16a38],
2187    [16a40, 16a5e], [16ad0, 16aed], [16b00, 16b2f], [16b40, 16b43],
2188    [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50],
2189    [16f93, 16f9f], [16fe0, 16fe1], [17000, 187ec], [18800, 18af2],
2190    [1b000, 1b11e], [1b170, 1b2fb], [1bc00, 1bc6a], [1bc70, 1bc7c],
2191    [1bc80, 1bc88], [1bc90, 1bc99], [1d400, 1d454], [1d456, 1d49c],
2192    [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac],
2193    [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505],
2194    [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539],
2195    [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550],
2196    [1d552, 1d6a5], [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa],
2197    [1d6fc, 1d714], [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e],
2198    [1d770, 1d788], [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb],
2199    [1e800, 1e8c4], [1e900, 1e943], [1ee00, 1ee03], [1ee05, 1ee1f],
2200    [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
2201    [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
2202    [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
2203    [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
2204    [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
2205    [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
2206    [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
2207    [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [20000, 2a6d6],
2208    [2a700, 2b734], [2b740, 2b81d], [2b820, 2cea1], [2ceb0, 2ebe0],
2209    [2f800, 2fa1d]**/
2210
2211
2212    namespace {
2213    const static UnicodeSet::run_t __l_Set_runs[] = {
2214    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14}, {Mixed, 2},
2215    {Empty, 3}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 1},
2216    {Full, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
2217    {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 7}, {Empty, 1},
2218    {Mixed, 1}, {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15},
2219    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
2220    {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4}, {Full, 1},
2221    {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
2222    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2},
2223    {Mixed, 2}, {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1},
2224    {Mixed, 2}, {Empty, 2}, {Full, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 2},
2225    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
2226    {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
2227    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
2228    {Empty, 2}, {Mixed, 1}, {Full, 6}, {Empty, 2}, {Full, 8}, {Mixed, 1},
2229    {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2},
2230    {Empty, 3}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 83}, {Full, 1},
2231    {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
2232    {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 3}, {Full, 1},
2233    {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1},
2234    {Mixed, 1}, {Empty, 16}, {Full, 205}, {Mixed, 1}, {Empty, 2},
2235    {Full, 655}, {Mixed, 1}, {Full, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
2236    {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
2237    {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3},
2238    {Empty, 1}, {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 7},
2239    {Full, 3}, {Mixed, 1}, {Full, 349}, {Mixed, 3}, {Empty, 264},
2240    {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
2241    {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
2242    {Full, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
2243    {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
2244    {Empty, 1}, {Full, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 1},
2245    {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1},
2246    {Empty, 1}, {Full, 4}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Full, 1},
2247    {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 5},
2248    {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 1}, {Empty, 2},
2249    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1},
2250    {Mixed, 4}, {Empty, 3}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1},
2251    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2}, {Empty, 2},
2252    {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
2253    {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
2254    {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
2255    {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
2256    {Empty, 12}, {Full, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 3}, {Full, 1},
2257    {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5},
2258    {Empty, 3}, {Mixed, 3}, {Empty, 21}, {Full, 28}, {Mixed, 1}, {Empty, 7},
2259    {Full, 6}, {Mixed, 1}, {Empty, 85}, {Full, 33}, {Mixed, 1},
2260    {Empty, 126}, {Full, 18}, {Mixed, 1}, {Empty, 269}, {Full, 17},
2261    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 27},
2262    {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
2263    {Full, 191}, {Mixed, 1}, {Full, 23}, {Mixed, 1}, {Empty, 296},
2264    {Full, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
2265    {Empty, 72}, {Full, 3}, {Mixed, 2}, {Empty, 187}, {Full, 2}, {Mixed, 1},
2266    {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 10},
2267    {Empty, 129}, {Full, 6}, {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1},
2268    {Empty, 37}, {Mixed, 6}, {Empty, 138}, {Full, 1334}, {Mixed, 1},
2269    {Empty, 1}, {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
2270    {Mixed, 1}, {Full, 233}, {Mixed, 1}, {Empty, 96}, {Full, 16},
2271    {Mixed, 1}, {Empty, 28719}};
2272    const static UnicodeSet::bitquad_t  __l_Set_quads[] = {
2273    0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff, 0x0003ffc3,
2274    0x0000501f, 0xbcdf0000, 0xffffd740, 0xfffffffb, 0xffbfffff, 0xfffffc03,
2275    0xfffeffff, 0x027fffff, 0xfffffffe, 0x000000ff, 0xffff0000, 0x000707ff,
2276    0x000007ff, 0xfffec000, 0x002fffff, 0x9c00c060, 0xfffd0000, 0x0000ffff,
2277    0xffffe000, 0x0002003f, 0xfffffc00, 0x043007ff, 0x043fffff, 0x00000110,
2278    0x01ffffff, 0x000007ff, 0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000,
2279    0xfffe0003, 0xfff99fe1, 0x23c5fdff, 0xb0004000, 0x10030003, 0xfff987e0,
2280    0x036dfdff, 0x5e000000, 0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000,
2281    0x02000003, 0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8,
2282    0x03ffc718, 0x00010000, 0xfffddfe0, 0x23fffdff, 0x07000000, 0x00000003,
2283    0xfffddfe1, 0x23effdff, 0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff,
2284    0x80704000, 0xfc000003, 0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0xfffffffe,
2285    0x000dffff, 0x0000007f, 0xfef02596, 0x200decae, 0xf000005f, 0x00000001,
2286    0xfffffeff, 0x00001fff, 0x00001f00, 0x800007ff, 0x3c3f0000, 0xffe1c062,
2287    0x00004003, 0xffff20bf, 0xf7ffffff, 0x3d7f3dff, 0xffff3dff, 0x7f3dffff,
2288    0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x0000ffff, 0x3f3fffff, 0xfffffffe,
2289    0xffff9fff, 0x07fffffe, 0x01fe07ff, 0x0003dfff, 0x0003ffff, 0x0003ffff,
2290    0x0001dfff, 0x000fffff, 0x10800000, 0x00ffffff, 0xffffff9f, 0xffff05ff,
2291    0x003fffff, 0x7fffffff, 0xffff0000, 0x001f3fff, 0xffff0fff, 0x000003ff,
2292    0x007fffff, 0x001fffff, 0x00000080, 0xffffffe0, 0x000fffff, 0x00000fe0,
2293    0xfffffff8, 0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000, 0x3fffffff,
2294    0x000001ff, 0x0063de00, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff,
2295    0x0fcf1fdc, 0x1fdc1fff, 0x80020000, 0x1fff0000, 0x3e2ffc84, 0xf3ffbd50,
2296    0x000043e0, 0x00000018, 0xffff7fff, 0x7fffffff, 0x000c781f, 0xffff20bf,
2297    0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00008000, 0x00000060,
2298    0x183e0000, 0xfffffffe, 0xe07fffff, 0xfffffffe, 0xf7ffffff, 0xffffffe0,
2299    0xfffe7fff, 0x00007fff, 0x07ffffff, 0xffff0000, 0x003fffff, 0x000007ff,
2300    0x00001fff, 0xffff0000, 0x3fffffff, 0xffff1fff, 0x00000c00, 0x80007fff,
2301    0x3fffffff, 0x0000003f, 0xff800000, 0xfffffffc, 0xfffff9ff, 0x00ff7fff,
2302    0xff800000, 0xfffff7bb, 0x00000007, 0x000fffff, 0xfffffffc, 0x000fffff,
2303    0x28fc0000, 0xfffffc00, 0xffff003f, 0x0000007f, 0x1fffffff, 0xfffffff0,
2304    0x0007ffff, 0x00008000, 0x7c00ffdf, 0x000001ff, 0x00000ff7, 0xc47fffff,
2305    0x3e62ffff, 0x38000005, 0x001c07ff, 0x007e7e7e, 0xffff7f7f, 0xf7ffffff,
2306    0xffff003f, 0x00000007, 0xffff000f, 0xfffff87f, 0x0fffffff, 0xffff3fff,
2307    0x03ffffff, 0xa0f8007f, 0x5f7ffdff, 0xffffffdb, 0x0003ffff, 0xfff80000,
2308    0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000,
2309    0x1fffffff, 0x07fffffe, 0x07fffffe, 0xffffffc0, 0x7fffffff, 0x1cfcfcfc,
2310    0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x1fffffff, 0x0001ffff,
2311    0xffffe000, 0xffff03fd, 0x003fffff, 0x3fffffff, 0x0000ff0f, 0x3fffffff,
2312    0xffff0000, 0xff0fffff, 0x0fffffff, 0xffff00ff, 0x0000000f, 0x007fffff,
2313    0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff, 0x003fffff, 0x007fffff,
2314    0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff, 0xc0ffffff, 0xfeef0001,
2315    0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff, 0x0000001f, 0x003fffff,
2316    0x003fffff, 0x0007ffff, 0x0003ffff, 0x000001ff, 0x0007ffff, 0x0007ffff,
2317    0xfffffff8, 0x00ffffff, 0xfffffff8, 0x0000ffff, 0xffff0000, 0x000001ff,
2318    0xfffffff8, 0x0000007f, 0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff,
2319    0x1400001e, 0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff,
2320    0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff, 0x00000780,
2321    0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000, 0x0000ffff, 0x00000010,
2322    0x000007ff, 0x03ffffff, 0x80000000, 0xfffff801, 0x0407ffff, 0xf0010000,
2323    0x000003cf, 0x01ffffff, 0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000,
2324    0x0000ffff, 0xfffffb7f, 0x0001ffff, 0x00000040, 0x03ffffff, 0x0000000f,
2325    0x00007fff, 0x0000007f, 0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff,
2326    0x0000ffff, 0x0000000f, 0xe0fffff8, 0x0000ffff, 0x0001001f, 0xfff80000,
2327    0x00000003, 0x00001fff, 0x0007ffff, 0x7fffffff, 0xffff0000, 0x0fffffff,
2328    0x1fff07ff, 0x03ff01ff, 0xffdfffff, 0xdfffffff, 0xebffde64, 0xffffffef,
2329    0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f, 0xf7fffffd, 0xf7ffffff,
2330    0xffdfffff, 0xffdfffff, 0xffff7fff, 0xffff7fff, 0xfffffdff, 0xfffffdff,
2331    0x00000ff7, 0x0000001f, 0x0000000f, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
2332    0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x007fffff, 0x001fffff, 0x3fffffff,
2333    0xffff0003, 0x00000001, 0x3fffffff};
2334    }
2335
2336    const static UnicodeSet l_Set{const_cast<UnicodeSet::run_t *>(__l_Set_runs), 336, 0, const_cast<UnicodeSet::bitquad_t *>(__l_Set_quads), 363, 0};
2337
2338    /** Code Point Ranges for LC
2339    [0041, 005a], [0061, 007a], [00b5, 00b5], [00c0, 00d6], [00d8, 00f6],
2340    [00f8, 01ba], [01bc, 01bf], [01c4, 0293], [0295, 02af], [0370, 0373],
2341    [0376, 0377], [037b, 037d], [037f, 037f], [0386, 0386], [0388, 038a],
2342    [038c, 038c], [038e, 03a1], [03a3, 03f5], [03f7, 0481], [048a, 052f],
2343    [0531, 0556], [0561, 0587], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
2344    [13a0, 13f5], [13f8, 13fd], [1c80, 1c88], [1d00, 1d2b], [1d6b, 1d77],
2345    [1d79, 1d9a], [1e00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d],
2346    [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d],
2347    [1f80, 1fb4], [1fb6, 1fbc], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc],
2348    [1fd0, 1fd3], [1fd6, 1fdb], [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc],
2349    [2102, 2102], [2107, 2107], [210a, 2113], [2115, 2115], [2119, 211d],
2350    [2124, 2124], [2126, 2126], [2128, 2128], [212a, 212d], [212f, 2134],
2351    [2139, 2139], [213c, 213f], [2145, 2149], [214e, 214e], [2183, 2184],
2352    [2c00, 2c2e], [2c30, 2c5e], [2c60, 2c7b], [2c7e, 2ce4], [2ceb, 2cee],
2353    [2cf2, 2cf3], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [a640, a66d],
2354    [a680, a69b], [a722, a76f], [a771, a787], [a78b, a78e], [a790, a7ae],
2355    [a7b0, a7b7], [a7fa, a7fa], [ab30, ab5a], [ab60, ab65], [ab70, abbf],
2356    [fb00, fb06], [fb13, fb17], [ff21, ff3a], [ff41, ff5a], [10400, 1044f],
2357    [104b0, 104d3], [104d8, 104fb], [10c80, 10cb2], [10cc0, 10cf2],
2358    [118a0, 118df], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
2359    [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
2360    [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
2361    [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
2362    [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
2363    [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714],
2364    [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788],
2365    [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e900, 1e943]**/
2366
2367
2368    namespace {
2369    const static UnicodeSet::run_t __lc_Set_runs[] = {
2370    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 5}, {Mixed, 2},
2371    {Full, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
2372    {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 4}, {Empty, 88}, {Full, 1},
2373    {Mixed, 1}, {Empty, 22}, {Full, 2}, {Mixed, 1}, {Empty, 68}, {Mixed, 1},
2374    {Empty, 3}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
2375    {Full, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
2376    {Empty, 8}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 83}, {Full, 1},
2377    {Mixed, 3}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 968},
2378    {Full, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
2379    {Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 3}, {Full, 2},
2380    {Empty, 634}, {Mixed, 1}, {Empty, 32}, {Mixed, 2}, {Empty, 37},
2381    {Full, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 60}, {Full, 1},
2382    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 93}, {Full, 2},
2383    {Empty, 1497}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
2384    {Mixed, 3}, {Full, 10}, {Mixed, 10}, {Empty, 137}, {Full, 2},
2385    {Mixed, 1}, {Empty, 30901}};
2386    const static UnicodeSet::bitquad_t  __lc_Set_quads[] = {
2387    0x07fffffe, 0x07fffffe, 0x00200000, 0xff7fffff, 0xff7fffff, 0xf7ffffff,
2388    0xfffffff0, 0xffefffff, 0x0000ffff, 0xb8cf0000, 0xffffd740, 0xfffffffb,
2389    0xffbfffff, 0xfffffc03, 0xfffeffff, 0x007fffff, 0xfffffffe, 0x000000ff,
2390    0x000020bf, 0x3f3fffff, 0x000001ff, 0x00000fff, 0xfefff800, 0x07ffffff,
2391    0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff, 0x0fcf1fdc, 0x1fdc1fff,
2392    0x3e2ffc84, 0xf21fbd50, 0x000043e0, 0x00000018, 0xffff7fff, 0x7fffffff,
2393    0xcfffffff, 0x000c781f, 0x000020bf, 0x00003fff, 0x0fffffff, 0xfffffffc,
2394    0xfffeffff, 0xffff78ff, 0x00ff7fff, 0x04000000, 0xffff0000, 0x07ffffff,
2395    0xffff003f, 0x00f8007f, 0x07fffffe, 0x07fffffe, 0x0000ffff, 0xffff0000,
2396    0xff0fffff, 0x0fffffff, 0x0007ffff, 0x0007ffff, 0xffdfffff, 0xdfffffff,
2397    0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f,
2398    0xf7fffffd, 0xf7ffffff, 0xffdfffff, 0xffdfffff, 0xffff7fff, 0xffff7fff,
2399    0xfffffdff, 0xfffffdff, 0x00000ff7, 0x0000000f};
2400    }
2401
2402    const static UnicodeSet lc_Set{const_cast<UnicodeSet::run_t *>(__lc_Set_runs), 88, 0, const_cast<UnicodeSet::bitquad_t *>(__lc_Set_quads), 76, 0};
2403
2404    /** Code Point Ranges for M
2405    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
2406    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
2407    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
2408    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
2409    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0903],
2410    [093a, 093c], [093e, 094f], [0951, 0957], [0962, 0963], [0981, 0983],
2411    [09bc, 09bc], [09be, 09c4], [09c7, 09c8], [09cb, 09cd], [09d7, 09d7],
2412    [09e2, 09e3], [0a01, 0a03], [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48],
2413    [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71], [0a75, 0a75], [0a81, 0a83],
2414    [0abc, 0abc], [0abe, 0ac5], [0ac7, 0ac9], [0acb, 0acd], [0ae2, 0ae3],
2415    [0afa, 0aff], [0b01, 0b03], [0b3c, 0b3c], [0b3e, 0b44], [0b47, 0b48],
2416    [0b4b, 0b4d], [0b56, 0b57], [0b62, 0b63], [0b82, 0b82], [0bbe, 0bc2],
2417    [0bc6, 0bc8], [0bca, 0bcd], [0bd7, 0bd7], [0c00, 0c03], [0c3e, 0c44],
2418    [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63], [0c81, 0c83],
2419    [0cbc, 0cbc], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
2420    [0ce2, 0ce3], [0d00, 0d03], [0d3b, 0d3c], [0d3e, 0d44], [0d46, 0d48],
2421    [0d4a, 0d4d], [0d57, 0d57], [0d62, 0d63], [0d82, 0d83], [0dca, 0dca],
2422    [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3], [0e31, 0e31],
2423    [0e34, 0e3a], [0e47, 0e4e], [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc],
2424    [0ec8, 0ecd], [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
2425    [0f3e, 0f3f], [0f71, 0f84], [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc],
2426    [0fc6, 0fc6], [102b, 103e], [1056, 1059], [105e, 1060], [1062, 1064],
2427    [1067, 106d], [1071, 1074], [1082, 108d], [108f, 108f], [109a, 109d],
2428    [135d, 135f], [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773],
2429    [17b4, 17d3], [17dd, 17dd], [180b, 180d], [1885, 1886], [18a9, 18a9],
2430    [1920, 192b], [1930, 193b], [1a17, 1a1b], [1a55, 1a5e], [1a60, 1a7c],
2431    [1a7f, 1a7f], [1ab0, 1abe], [1b00, 1b04], [1b34, 1b44], [1b6b, 1b73],
2432    [1b80, 1b82], [1ba1, 1bad], [1be6, 1bf3], [1c24, 1c37], [1cd0, 1cd2],
2433    [1cd4, 1ce8], [1ced, 1ced], [1cf2, 1cf4], [1cf7, 1cf9], [1dc0, 1df9],
2434    [1dfb, 1dff], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f], [2de0, 2dff],
2435    [302a, 302f], [3099, 309a], [a66f, a672], [a674, a67d], [a69e, a69f],
2436    [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b], [a823, a827],
2437    [a880, a881], [a8b4, a8c5], [a8e0, a8f1], [a926, a92d], [a947, a953],
2438    [a980, a983], [a9b3, a9c0], [a9e5, a9e5], [aa29, aa36], [aa43, aa43],
2439    [aa4c, aa4d], [aa7b, aa7d], [aab0, aab0], [aab2, aab4], [aab7, aab8],
2440    [aabe, aabf], [aac1, aac1], [aaeb, aaef], [aaf5, aaf6], [abe3, abea],
2441    [abec, abed], [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [101fd, 101fd],
2442    [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
2443    [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
2444    [11000, 11002], [11038, 11046], [1107f, 11082], [110b0, 110ba],
2445    [11100, 11102], [11127, 11134], [11173, 11173], [11180, 11182],
2446    [111b3, 111c0], [111ca, 111cc], [1122c, 11237], [1123e, 1123e],
2447    [112df, 112ea], [11300, 11303], [1133c, 1133c], [1133e, 11344],
2448    [11347, 11348], [1134b, 1134d], [11357, 11357], [11362, 11363],
2449    [11366, 1136c], [11370, 11374], [11435, 11446], [114b0, 114c3],
2450    [115af, 115b5], [115b8, 115c0], [115dc, 115dd], [11630, 11640],
2451    [116ab, 116b7], [1171d, 1172b], [11a01, 11a0a], [11a33, 11a39],
2452    [11a3b, 11a3e], [11a47, 11a47], [11a51, 11a5b], [11a8a, 11a99],
2453    [11c2f, 11c36], [11c38, 11c3f], [11c92, 11ca7], [11ca9, 11cb6],
2454    [11d31, 11d36], [11d3a, 11d3a], [11d3c, 11d3d], [11d3f, 11d45],
2455    [11d47, 11d47], [16af0, 16af4], [16b30, 16b36], [16f51, 16f7e],
2456    [16f8f, 16f92], [1bc9d, 1bc9e], [1d165, 1d169], [1d16d, 1d172],
2457    [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [1d242, 1d244],
2458    [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75], [1da84, 1da84],
2459    [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006], [1e008, 1e018],
2460    [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a], [1e8d0, 1e8d6],
2461    [1e944, 1e94a], [e0100, e01ef]**/
2462
2463
2464    namespace {
2465    const static UnicodeSet::run_t __m_Set_runs[] = {
2466    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 7},
2467    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
2468    {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
2469    {Mixed, 25}, {Empty, 1}, {Mixed, 13}, {Empty, 1}, {Mixed, 2},
2470    {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
2471    {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
2472    {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
2473    {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
2474    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
2475    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
2476    {Empty, 6}, {Full, 1}, {Mixed, 1}, {Empty, 22}, {Mixed, 2}, {Empty, 95},
2477    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17},
2478    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942}, {Mixed, 2},
2479    {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 2}, {Mixed, 4},
2480    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
2481    {Empty, 1}, {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632},
2482    {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 29}, {Mixed, 1},
2483    {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
2484    {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2},
2485    {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6},
2486    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
2487    {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
2488    {Empty, 22}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 12},
2489    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
2490    {Empty, 620}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 32},
2491    {Mixed, 3}, {Empty, 615}, {Mixed, 1}, {Empty, 166}, {Mixed, 3},
2492    {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1},
2493    {Mixed, 3}, {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1},
2494    {Empty, 3}, {Mixed, 1}, {Empty, 24765}, {Full, 7}, {Mixed, 1},
2495    {Empty, 6128}};
2496    const static UnicodeSet::bitquad_t  __m_Set_quads[] = {
2497    0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x07ff0000,
2498    0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000, 0xffff0000,
2499    0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000, 0x00003eef, 0x0e000000,
2500    0xfff00000, 0xfffffffb, 0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c,
2501    0x0000000e, 0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
2502    0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf, 0xfc00000c,
2503    0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c, 0x00000004, 0xc0000000,
2504    0x00803dc7, 0x0000000f, 0xc0000000, 0x00603ddf, 0x0000000c, 0x0000000e,
2505    0xd0000000, 0x00603ddf, 0x0000000c, 0x0000000f, 0xd8000000, 0x00803ddf,
2506    0x0000000c, 0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
2507    0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000, 0xfeffe0df,
2508    0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000, 0x001e3f9d, 0x3c00bffc,
2509    0xe0000000, 0x001c0000, 0x001c0000, 0x000c0000, 0x000c0000, 0xfff00000,
2510    0x200fffff, 0x00003800, 0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000,
2511    0x7fe00000, 0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
2512    0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0, 0xfff70000,
2513    0x039c21ff, 0xfbffffff, 0xffff0000, 0x0001ffff, 0x00038000, 0x80000000,
2514    0x0000fc00, 0x06000000, 0x3ff78000, 0xc0000000, 0x00030000, 0x00000844,
2515    0x000000f8, 0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0,
2516    0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x00000020, 0x007ffe00,
2517    0x00003008, 0x38000000, 0xc19d0000, 0x00000002, 0x0060f800, 0x000037f8,
2518    0x40000000, 0x0000ffff, 0x0000ffff, 0x20000000, 0x00000001, 0x07c00000,
2519    0x0000f06e, 0x87000000, 0x00000060, 0x00000007, 0xff000000, 0x0000007f,
2520    0x80000000, 0x00000007, 0x07ff0000, 0x00000007, 0x001fff80, 0x00080000,
2521    0x00000007, 0xfff80000, 0x00001c01, 0x40fff000, 0x80000000, 0x000007ff,
2522    0x0000000f, 0xd0000000, 0x0080399f, 0x001f1fcc, 0xffe00000, 0x0000007f,
2523    0xffff0000, 0x0000000f, 0xff3f8000, 0x30000001, 0xffff0000, 0x00000001,
2524    0x00fff800, 0xe0000000, 0x00000fff, 0x000007fe, 0x7bf80000, 0x0ffe0080,
2525    0x03fffc00, 0xff7f8000, 0xfffc0000, 0x007ffeff, 0xb47e0000, 0x000000bf,
2526    0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff, 0x00078000, 0x60000000,
2527    0xf807e3e0, 0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff, 0x00201fff,
2528    0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db, 0x007f0000, 0x000007f0,
2529    0x0000ffff};
2530    }
2531
2532    const static UnicodeSet m_Set{const_cast<UnicodeSet::run_t *>(__m_Set_runs), 165, 0, const_cast<UnicodeSet::bitquad_t *>(__m_Set_quads), 193, 0};
2533
2534    /** Code Point Ranges for N
2535    [0030, 0039], [00b2, 00b3], [00b9, 00b9], [00bc, 00be], [0660, 0669],
2536    [06f0, 06f9], [07c0, 07c9], [0966, 096f], [09e6, 09ef], [09f4, 09f9],
2537    [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f], [0b72, 0b77], [0be6, 0bf2],
2538    [0c66, 0c6f], [0c78, 0c7e], [0ce6, 0cef], [0d58, 0d5e], [0d66, 0d78],
2539    [0de6, 0def], [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f33], [1040, 1049],
2540    [1090, 1099], [1369, 137c], [16ee, 16f0], [17e0, 17e9], [17f0, 17f9],
2541    [1810, 1819], [1946, 194f], [19d0, 19da], [1a80, 1a89], [1a90, 1a99],
2542    [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59], [2070, 2070],
2543    [2074, 2079], [2080, 2089], [2150, 2182], [2185, 2189], [2460, 249b],
2544    [24ea, 24ff], [2776, 2793], [2cfd, 2cfd], [3007, 3007], [3021, 3029],
2545    [3038, 303a], [3192, 3195], [3220, 3229], [3248, 324f], [3251, 325f],
2546    [3280, 3289], [32b1, 32bf], [a620, a629], [a6e6, a6ef], [a830, a835],
2547    [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9], [aa50, aa59],
2548    [abf0, abf9], [ff10, ff19], [10107, 10133], [10140, 10178],
2549    [1018a, 1018b], [102e1, 102fb], [10320, 10323], [10341, 10341],
2550    [1034a, 1034a], [103d1, 103d5], [104a0, 104a9], [10858, 1085f],
2551    [10879, 1087f], [108a7, 108af], [108fb, 108ff], [10916, 1091b],
2552    [109bc, 109bd], [109c0, 109cf], [109d2, 109ff], [10a40, 10a47],
2553    [10a7d, 10a7e], [10a9d, 10a9f], [10aeb, 10aef], [10b58, 10b5f],
2554    [10b78, 10b7f], [10ba9, 10baf], [10cfa, 10cff], [10e60, 10e7e],
2555    [11052, 1106f], [110f0, 110f9], [11136, 1113f], [111d0, 111d9],
2556    [111e1, 111f4], [112f0, 112f9], [11450, 11459], [114d0, 114d9],
2557    [11650, 11659], [116c0, 116c9], [11730, 1173b], [118e0, 118f2],
2558    [11c50, 11c6c], [11d50, 11d59], [12400, 1246e], [16a60, 16a69],
2559    [16b50, 16b59], [16b5b, 16b61], [1d360, 1d371], [1d7ce, 1d7ff],
2560    [1e8c7, 1e8cf], [1e950, 1e959], [1f100, 1f10c]**/
2561
2562
2563    namespace {
2564    const static UnicodeSet::run_t __n_Set_runs[] = {
2565    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 45}, {Mixed, 1},
2566    {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
2567    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2568    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2569    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
2570    {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
2571    {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 22}, {Mixed, 1},
2572    {Empty, 27}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
2573    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
2574    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 32}, {Mixed, 2},
2575    {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 22}, {Full, 1},
2576    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 19}, {Mixed, 2},
2577    {Empty, 42}, {Mixed, 1}, {Empty, 24}, {Mixed, 2}, {Empty, 10},
2578    {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
2579    {Empty, 923}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 9},
2580    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
2581    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
2582    {Empty, 664}, {Mixed, 1}, {Empty, 15}, {Mixed, 2}, {Full, 1},
2583    {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
2584    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 28}, {Mixed, 2}, {Empty, 1},
2585    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Full, 1},
2586    {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
2587    {Empty, 1}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
2588    {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2589    {Empty, 4}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
2590    {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2591    {Empty, 2}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26},
2592    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 53}, {Full, 3}, {Mixed, 1},
2593    {Empty, 559}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 831},
2594    {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Full, 1}, {Empty, 134},
2595    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 61}, {Mixed, 1},
2596    {Empty, 30839}};
2597    const static UnicodeSet::bitquad_t  __n_Set_quads[] = {
2598    0x03ff0000, 0x720c0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
2599    0x03f0ffc0, 0x0000ffc0, 0x0000ffc0, 0x00fcffc0, 0x0007ffc0, 0x7f00ffc0,
2600    0x0000ffc0, 0x7f000000, 0x01ffffc0, 0x0000ffc0, 0x03ff0000, 0x03ff0000,
2601    0x000fffff, 0x000003ff, 0x03ff0000, 0x1ffffe00, 0x0001c000, 0x03ff03ff,
2602    0x03ff0000, 0x0000ffc0, 0x07ff0000, 0x03ff03ff, 0x03ff0000, 0x03ff0000,
2603    0x03ff03ff, 0x03f10000, 0x000003ff, 0xffff0000, 0x000003e7, 0x0fffffff,
2604    0xfffffc00, 0xffc00000, 0x000fffff, 0x20000000, 0x00000080, 0x070003fe,
2605    0x003c0000, 0x000003ff, 0xfffeff00, 0x000003ff, 0xfffe0000, 0x000003ff,
2606    0x0000ffc0, 0x003f0000, 0x03ff0000, 0x000003ff, 0x03ff0000, 0x03ff0000,
2607    0x03ff0000, 0x03ff0000, 0x03ff0000, 0xffffff80, 0x000fffff, 0x01ffffff,
2608    0x00000c00, 0x0ffffffe, 0x0000000f, 0x00000402, 0x003e0000, 0x000003ff,
2609    0xff000000, 0xfe000000, 0x0000ff80, 0xf8000000, 0x0fc00000, 0x30000000,
2610    0xfffcffff, 0x000000ff, 0x60000000, 0xe0000000, 0x0000f800, 0xff000000,
2611    0xff000000, 0x0000fe00, 0xfc000000, 0x7fffffff, 0xfffc0000, 0x0000ffff,
2612    0x03ff0000, 0xffc00000, 0x03ff0000, 0x001ffffe, 0x03ff0000, 0x03ff0000,
2613    0x03ff0000, 0x03ff0000, 0x000003ff, 0x0fff0000, 0x0007ffff, 0xffff0000,
2614    0x00001fff, 0x03ff0000, 0x00007fff, 0x000003ff, 0xfbff0000, 0x00000003,
2615    0x0003ffff, 0xffffc000, 0x0000ff80, 0x03ff0000, 0x00001fff};
2616    }
2617
2618    const static UnicodeSet n_Set{const_cast<UnicodeSet::run_t *>(__n_Set_runs), 177, 0, const_cast<UnicodeSet::bitquad_t *>(__n_Set_quads), 107, 0};
2619
2620    /** Code Point Ranges for P
2621    [0021, 0023], [0025, 002a], [002c, 002f], [003a, 003b], [003f, 0040],
2622    [005b, 005d], [005f, 005f], [007b, 007b], [007d, 007d], [00a1, 00a1],
2623    [00a7, 00a7], [00ab, 00ab], [00b6, 00b7], [00bb, 00bb], [00bf, 00bf],
2624    [037e, 037e], [0387, 0387], [055a, 055f], [0589, 058a], [05be, 05be],
2625    [05c0, 05c0], [05c3, 05c3], [05c6, 05c6], [05f3, 05f4], [0609, 060a],
2626    [060c, 060d], [061b, 061b], [061e, 061f], [066a, 066d], [06d4, 06d4],
2627    [0700, 070d], [07f7, 07f9], [0830, 083e], [085e, 085e], [0964, 0965],
2628    [0970, 0970], [09fd, 09fd], [0af0, 0af0], [0df4, 0df4], [0e4f, 0e4f],
2629    [0e5a, 0e5b], [0f04, 0f12], [0f14, 0f14], [0f3a, 0f3d], [0f85, 0f85],
2630    [0fd0, 0fd4], [0fd9, 0fda], [104a, 104f], [10fb, 10fb], [1360, 1368],
2631    [1400, 1400], [166d, 166e], [169b, 169c], [16eb, 16ed], [1735, 1736],
2632    [17d4, 17d6], [17d8, 17da], [1800, 180a], [1944, 1945], [1a1e, 1a1f],
2633    [1aa0, 1aa6], [1aa8, 1aad], [1b5a, 1b60], [1bfc, 1bff], [1c3b, 1c3f],
2634    [1c7e, 1c7f], [1cc0, 1cc7], [1cd3, 1cd3], [2010, 2027], [2030, 2043],
2635    [2045, 2051], [2053, 205e], [207d, 207e], [208d, 208e], [2308, 230b],
2636    [2329, 232a], [2768, 2775], [27c5, 27c6], [27e6, 27ef], [2983, 2998],
2637    [29d8, 29db], [29fc, 29fd], [2cf9, 2cfc], [2cfe, 2cff], [2d70, 2d70],
2638    [2e00, 2e2e], [2e30, 2e49], [3001, 3003], [3008, 3011], [3014, 301f],
2639    [3030, 3030], [303d, 303d], [30a0, 30a0], [30fb, 30fb], [a4fe, a4ff],
2640    [a60d, a60f], [a673, a673], [a67e, a67e], [a6f2, a6f7], [a874, a877],
2641    [a8ce, a8cf], [a8f8, a8fa], [a8fc, a8fc], [a92e, a92f], [a95f, a95f],
2642    [a9c1, a9cd], [a9de, a9df], [aa5c, aa5f], [aade, aadf], [aaf0, aaf1],
2643    [abeb, abeb], [fd3e, fd3f], [fe10, fe19], [fe30, fe52], [fe54, fe61],
2644    [fe63, fe63], [fe68, fe68], [fe6a, fe6b], [ff01, ff03], [ff05, ff0a],
2645    [ff0c, ff0f], [ff1a, ff1b], [ff1f, ff20], [ff3b, ff3d], [ff3f, ff3f],
2646    [ff5b, ff5b], [ff5d, ff5d], [ff5f, ff65], [10100, 10102],
2647    [1039f, 1039f], [103d0, 103d0], [1056f, 1056f], [10857, 10857],
2648    [1091f, 1091f], [1093f, 1093f], [10a50, 10a58], [10a7f, 10a7f],
2649    [10af0, 10af6], [10b39, 10b3f], [10b99, 10b9c], [11047, 1104d],
2650    [110bb, 110bc], [110be, 110c1], [11140, 11143], [11174, 11175],
2651    [111c5, 111c9], [111cd, 111cd], [111db, 111db], [111dd, 111df],
2652    [11238, 1123d], [112a9, 112a9], [1144b, 1144f], [1145b, 1145b],
2653    [1145d, 1145d], [114c6, 114c6], [115c1, 115d7], [11641, 11643],
2654    [11660, 1166c], [1173c, 1173e], [11a3f, 11a46], [11a9a, 11a9c],
2655    [11a9e, 11aa2], [11c41, 11c45], [11c70, 11c71], [12470, 12474],
2656    [16a6e, 16a6f], [16af5, 16af5], [16b37, 16b3b], [16b44, 16b44],
2657    [1bc9f, 1bc9f], [1da87, 1da8b], [1e95e, 1e95f]**/
2658
2659
2660    namespace {
2661    const static UnicodeSet::run_t __p_Set_runs[] = {
2662    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 21}, {Mixed, 2},
2663    {Empty, 13}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
2664    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
2665    {Empty, 1}, {Mixed, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2666    {Empty, 7}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
2667    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2668    {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
2669    {Empty, 4}, {Mixed, 1}, {Empty, 18}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
2670    {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2671    {Empty, 9}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
2672    {Empty, 4}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
2673    {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 25}, {Mixed, 5},
2674    {Empty, 19}, {Mixed, 2}, {Empty, 33}, {Mixed, 1}, {Empty, 2},
2675    {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
2676    {Empty, 23}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Full, 1},
2677    {Mixed, 2}, {Empty, 13}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
2678    {Mixed, 1}, {Empty, 927}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
2679    {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
2680    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
2681    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
2682    {Empty, 649}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 4},
2683    {Mixed, 4}, {Empty, 12}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
2684    {Empty, 1}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 22},
2685    {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 8}, {Mixed, 2}, {Empty, 3},
2686    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 37},
2687    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
2688    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 12},
2689    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
2690    {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 1},
2691    {Mixed, 2}, {Empty, 12}, {Mixed, 2}, {Empty, 63}, {Mixed, 1},
2692    {Empty, 559}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
2693    {Mixed, 2}, {Empty, 649}, {Mixed, 1}, {Empty, 239}, {Mixed, 1},
2694    {Empty, 117}, {Mixed, 1}, {Empty, 30901}};
2695    const static UnicodeSet::bitquad_t  __p_Set_quads[] = {
2696    0x8c00f7ee, 0xb8000001, 0x28000000, 0x88c00882, 0x40000000, 0x00000080,
2697    0xfc000000, 0x00000600, 0x40000000, 0x00000049, 0x00180000, 0xc8003600,
2698    0x00003c00, 0x00100000, 0x00003fff, 0x03800000, 0x7fff0000, 0x40000000,
2699    0x00010030, 0x20000000, 0x00010000, 0x00100000, 0x0c008000, 0x0017fff0,
2700    0x3c000000, 0x00000020, 0x061f0000, 0x0000fc00, 0x08000000, 0x000001ff,
2701    0x00000001, 0x00006000, 0x18000000, 0x00003800, 0x00600000, 0x07700000,
2702    0x000007ff, 0x00000030, 0xc0000000, 0x00003f7f, 0xfc000000, 0x00000001,
2703    0xf0000000, 0xf8000000, 0xc0000000, 0x000800ff, 0xffff0000, 0xffff00ff,
2704    0x7ffbffef, 0x60000000, 0x00006000, 0x00000f00, 0x00000600, 0x003fff00,
2705    0x00000060, 0x0000ffc0, 0x01fffff8, 0x0f000000, 0x30000000, 0xde000000,
2706    0x00010000, 0xffff7fff, 0x000003ff, 0xfff3ff0e, 0x20010000, 0x00000001,
2707    0x08000000, 0xc0000000, 0x0000e000, 0x40080000, 0x00fc0000, 0x00f00000,
2708    0x0000c000, 0x17000000, 0x0000c000, 0x80000000, 0xc0003ffe, 0xf0000000,
2709    0xc0000000, 0x00030000, 0x00000800, 0xc0000000, 0x03ff0000, 0xffff0000,
2710    0xfff7ffff, 0x00000d0b, 0x8c00f7ee, 0xb8000001, 0xa8000000, 0x0000003f,
2711    0x00000007, 0x80000000, 0x00010000, 0x00008000, 0x00800000, 0x80000000,
2712    0x80000000, 0x01ff0000, 0x80000000, 0x007f0000, 0xfe000000, 0x1e000000,
2713    0x00003f80, 0xd8000000, 0x00000003, 0x0000000f, 0x00300000, 0xe80023e0,
2714    0x3f000000, 0x00000200, 0x2800f800, 0x00000040, 0x00fffffe, 0x0000000e,
2715    0x00001fff, 0x70000000, 0x80000000, 0x0000007f, 0xdc000000, 0x00000007,
2716    0x0000003e, 0x00030000, 0x001f0000, 0x0000c000, 0x00200000, 0x0f800000,
2717    0x00000010, 0x80000000, 0x00000f80, 0xc0000000};
2718    }
2719
2720    const static UnicodeSet p_Set{const_cast<UnicodeSet::run_t *>(__p_Set_runs), 186, 0, const_cast<UnicodeSet::bitquad_t *>(__p_Set_quads), 130, 0};
2721
2722    /** Code Point Ranges for S
2723    [0024, 0024], [002b, 002b], [003c, 003e], [005e, 005e], [0060, 0060],
2724    [007c, 007c], [007e, 007e], [00a2, 00a6], [00a8, 00a9], [00ac, 00ac],
2725    [00ae, 00b1], [00b4, 00b4], [00b8, 00b8], [00d7, 00d7], [00f7, 00f7],
2726    [02c2, 02c5], [02d2, 02df], [02e5, 02eb], [02ed, 02ed], [02ef, 02ff],
2727    [0375, 0375], [0384, 0385], [03f6, 03f6], [0482, 0482], [058d, 058f],
2728    [0606, 0608], [060b, 060b], [060e, 060f], [06de, 06de], [06e9, 06e9],
2729    [06fd, 06fe], [07f6, 07f6], [09f2, 09f3], [09fa, 09fb], [0af1, 0af1],
2730    [0b70, 0b70], [0bf3, 0bfa], [0c7f, 0c7f], [0d4f, 0d4f], [0d79, 0d79],
2731    [0e3f, 0e3f], [0f01, 0f03], [0f13, 0f13], [0f15, 0f17], [0f1a, 0f1f],
2732    [0f34, 0f34], [0f36, 0f36], [0f38, 0f38], [0fbe, 0fc5], [0fc7, 0fcc],
2733    [0fce, 0fcf], [0fd5, 0fd8], [109e, 109f], [1390, 1399], [17db, 17db],
2734    [1940, 1940], [19de, 19ff], [1b61, 1b6a], [1b74, 1b7c], [1fbd, 1fbd],
2735    [1fbf, 1fc1], [1fcd, 1fcf], [1fdd, 1fdf], [1fed, 1fef], [1ffd, 1ffe],
2736    [2044, 2044], [2052, 2052], [207a, 207c], [208a, 208c], [20a0, 20bf],
2737    [2100, 2101], [2103, 2106], [2108, 2109], [2114, 2114], [2116, 2118],
2738    [211e, 2123], [2125, 2125], [2127, 2127], [2129, 2129], [212e, 212e],
2739    [213a, 213b], [2140, 2144], [214a, 214d], [214f, 214f], [218a, 218b],
2740    [2190, 2307], [230c, 2328], [232b, 2426], [2440, 244a], [249c, 24e9],
2741    [2500, 2767], [2794, 27c4], [27c7, 27e5], [27f0, 2982], [2999, 29d7],
2742    [29dc, 29fb], [29fe, 2b73], [2b76, 2b95], [2b98, 2bb9], [2bbd, 2bc8],
2743    [2bca, 2bd2], [2bec, 2bef], [2ce5, 2cea], [2e80, 2e99], [2e9b, 2ef3],
2744    [2f00, 2fd5], [2ff0, 2ffb], [3004, 3004], [3012, 3013], [3020, 3020],
2745    [3036, 3037], [303e, 303f], [309b, 309c], [3190, 3191], [3196, 319f],
2746    [31c0, 31e3], [3200, 321e], [322a, 3247], [3250, 3250], [3260, 327f],
2747    [328a, 32b0], [32c0, 32fe], [3300, 33ff], [4dc0, 4dff], [a490, a4c6],
2748    [a700, a716], [a720, a721], [a789, a78a], [a828, a82b], [a836, a839],
2749    [aa77, aa79], [ab5b, ab5b], [fb29, fb29], [fbb2, fbc1], [fdfc, fdfd],
2750    [fe62, fe62], [fe64, fe66], [fe69, fe69], [ff04, ff04], [ff0b, ff0b],
2751    [ff1c, ff1e], [ff3e, ff3e], [ff40, ff40], [ff5c, ff5c], [ff5e, ff5e],
2752    [ffe0, ffe6], [ffe8, ffee], [fffc, fffd], [10137, 1013f],
2753    [10179, 10189], [1018c, 1018e], [10190, 1019b], [101a0, 101a0],
2754    [101d0, 101fc], [10877, 10878], [10ac8, 10ac8], [1173f, 1173f],
2755    [16b3c, 16b3f], [16b45, 16b45], [1bc9c, 1bc9c], [1d000, 1d0f5],
2756    [1d100, 1d126], [1d129, 1d164], [1d16a, 1d16c], [1d183, 1d184],
2757    [1d18c, 1d1a9], [1d1ae, 1d1e8], [1d200, 1d241], [1d245, 1d245],
2758    [1d300, 1d356], [1d6c1, 1d6c1], [1d6db, 1d6db], [1d6fb, 1d6fb],
2759    [1d715, 1d715], [1d735, 1d735], [1d74f, 1d74f], [1d76f, 1d76f],
2760    [1d789, 1d789], [1d7a9, 1d7a9], [1d7c3, 1d7c3], [1d800, 1d9ff],
2761    [1da37, 1da3a], [1da6d, 1da74], [1da76, 1da83], [1da85, 1da86],
2762    [1eef0, 1eef1], [1f000, 1f02b], [1f030, 1f093], [1f0a0, 1f0ae],
2763    [1f0b1, 1f0bf], [1f0c1, 1f0cf], [1f0d1, 1f0f5], [1f110, 1f12e],
2764    [1f130, 1f16b], [1f170, 1f1ac], [1f1e6, 1f202], [1f210, 1f23b],
2765    [1f240, 1f248], [1f250, 1f251], [1f260, 1f265], [1f300, 1f6d4],
2766    [1f6e0, 1f6ec], [1f6f0, 1f6f8], [1f700, 1f773], [1f780, 1f7d4],
2767    [1f800, 1f80b], [1f810, 1f847], [1f850, 1f859], [1f860, 1f887],
2768    [1f890, 1f8ad], [1f900, 1f90b], [1f910, 1f93e], [1f940, 1f94c],
2769    [1f950, 1f96b], [1f980, 1f997], [1f9c0, 1f9c0], [1f9d0, 1f9e6]**/
2770
2771
2772    namespace {
2773    const static UnicodeSet::run_t __s_Set_runs[] = {
2774    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 14}, {Mixed, 2},
2775    {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
2776    {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
2777    {Empty, 7}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
2778    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
2779    {Empty, 6}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 6}, {Mixed, 2},
2780    {Empty, 3}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
2781    {Empty, 33}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
2782    {Mixed, 1}, {Full, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 33}, {Mixed, 3},
2783    {Empty, 2}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
2784    {Mixed, 1}, {Full, 11}, {Mixed, 2}, {Full, 7}, {Mixed, 2}, {Empty, 1},
2785    {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 19}, {Mixed, 2}, {Full, 1},
2786    {Mixed, 2}, {Full, 12}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 11},
2787    {Mixed, 5}, {Empty, 7}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 2},
2788    {Mixed, 1}, {Full, 6}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 7},
2789    {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 2},
2790    {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 206}, {Full, 2}, {Empty, 692},
2791    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 17}, {Mixed, 2}, {Empty, 2},
2792    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 6},
2793    {Mixed, 1}, {Empty, 638}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
2794    {Empty, 16}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 3},
2795    {Empty, 4}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
2796    {Empty, 51}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 98},
2797    {Mixed, 1}, {Empty, 671}, {Mixed, 2}, {Empty, 649}, {Mixed, 1},
2798    {Empty, 155}, {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
2799    {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 5},
2800    {Full, 2}, {Mixed, 1}, {Empty, 27}, {Mixed, 9}, {Empty, 1}, {Full, 16},
2801    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 162},
2802    {Mixed, 1}, {Empty, 8}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 6},
2803    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
2804    {Empty, 4}, {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
2805    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
2806    {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 1}, {Mixed, 2},
2807    {Empty, 30768}};
2808    const static UnicodeSet::bitquad_t  __s_Set_quads[] = {
2809    0x70000810, 0x40000000, 0x50000001, 0x0113d37c, 0x00800000, 0x00800000,
2810    0xfffc003c, 0xffffafe0, 0x00200000, 0x00000030, 0x00400000, 0x00000004,
2811    0x0000e000, 0x0000c9c0, 0x40000000, 0x60000200, 0x00400000, 0x0c0c0000,
2812    0x00020000, 0x00010000, 0x07f80000, 0x80000000, 0x00008000, 0x02000000,
2813    0x80000000, 0xfce8000e, 0x01500000, 0xc0000000, 0x01e0dfbf, 0xc0000000,
2814    0x03ff0000, 0x08000000, 0x00000001, 0xc0000000, 0x1ff007fe, 0xa0000000,
2815    0xe000e003, 0x6000e000, 0x00040010, 0x1c000000, 0x00001c00, 0xc1d0037b,
2816    0x0c0042af, 0x0000bc1f, 0xffff0c00, 0xfffff0ff, 0xfffff9ff, 0x0000007f,
2817    0x000007ff, 0xf0000000, 0x000003ff, 0x000000ff, 0xfff00000, 0xffffff9f,
2818    0xffff003f, 0xfe000007, 0xf0ffffff, 0xcfffffff, 0xffcfffff, 0xff3fffff,
2819    0xe3ffffff, 0x0007fdff, 0x0000f000, 0x000007e0, 0xfbffffff, 0x000fffff,
2820    0x003fffff, 0x0fff0000, 0x000c0010, 0xc0c00001, 0x18000000, 0xffc30000,
2821    0x0000000f, 0x7fffffff, 0xfffffc00, 0x000100ff, 0xfffffc00, 0x0001ffff,
2822    0x7fffffff, 0xffff0000, 0x0000007f, 0x007fffff, 0x00000003, 0x00000600,
2823    0x03c00f00, 0x03800000, 0x08000000, 0x00000200, 0xfffc0000, 0x00000003,
2824    0x30000000, 0x00000274, 0x70000810, 0x40000000, 0x50000001, 0x30007f7f,
2825    0xff800000, 0xfe000000, 0x0fff73ff, 0x00000001, 0xffff0000, 0x1fffffff,
2826    0x01800000, 0x00000100, 0x80000000, 0xf0000000, 0x00000020, 0x10000000,
2827    0x003fffff, 0xfffffe7f, 0x00001c1f, 0xfffff018, 0xffffc3ff, 0x000001ff,
2828    0x00000023, 0x007fffff, 0x08000002, 0x08000000, 0x00200000, 0x00200000,
2829    0x00008000, 0x00008000, 0x00000200, 0x00000200, 0x00000008, 0x07800000,
2830    0xffdfe000, 0x0000006f, 0x00030000, 0xffff0fff, 0x000fffff, 0xfffe7fff,
2831    0xfffefffe, 0x003fffff, 0xffff0000, 0xffff7fff, 0xffff0fff, 0x00001fff,
2832    0xffffffc0, 0xffff0007, 0x0fffffff, 0x000301ff, 0x0000003f, 0x001fffff,
2833    0x01ff1fff, 0x000fffff, 0x001fffff, 0xffff0fff, 0x03ff00ff, 0xffff00ff,
2834    0x00003fff, 0xffff0fff, 0x7fffffff, 0xffff1fff, 0x00000fff, 0x00ffffff,
2835    0xffff0001, 0x0000007f};
2836    }
2837
2838    const static UnicodeSet s_Set{const_cast<UnicodeSet::run_t *>(__s_Set_runs), 193, 0, const_cast<UnicodeSet::bitquad_t *>(__s_Set_quads), 158, 0};
2839
2840    /** Code Point Ranges for Z
2841    [0020, 0020], [00a0, 00a0], [1680, 1680], [2000, 200a], [2028, 2029],
2842    [202f, 202f], [205f, 205f], [3000, 3000]**/
2843
2844
2845    namespace {
2846    const static UnicodeSet::run_t __z_Set_runs[] = {
2847    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 174},
2848    {Mixed, 1}, {Empty, 75}, {Mixed, 3}, {Empty, 125}, {Mixed, 1},
2849    {Empty, 34431}};
2850    const static UnicodeSet::bitquad_t  __z_Set_quads[] = {
2851    0x00000001, 0x00000001, 0x00000001, 0x000007ff, 0x00008300, 0x80000000,
2852    0x00000001};
2853    }
2854
2855    const static UnicodeSet z_Set{const_cast<UnicodeSet::run_t *>(__z_Set_runs), 11, 0, const_cast<UnicodeSet::bitquad_t *>(__z_Set_quads), 7, 0};
2856
2857    static EnumeratedPropertyObject property_object
2858        {gc,
2859        GC_ns::independent_prop_values,
2860        std::move(GC_ns::enum_names),
2861        std::move(GC_ns::value_names),
2862        std::move(GC_ns::aliases_only_map),{
2863        &cn_Set, &lu_Set, &ll_Set, &lt_Set, &lm_Set, &lo_Set, &mn_Set,
2864        &me_Set, &mc_Set, &nd_Set, &nl_Set, &no_Set, &zs_Set, &zl_Set,
2865        &zp_Set, &cc_Set, &cf_Set, &co_Set, &cs_Set, &pd_Set, &ps_Set,
2866        &pe_Set, &pc_Set, &po_Set, &sm_Set, &sc_Set, &sk_Set, &so_Set,
2867        &pi_Set, &pf_Set, &c_Set, &l_Set, &lc_Set, &m_Set, &n_Set, &p_Set,
2868        &s_Set, &z_Set
2869        }};
2870    }
2871}
2872
2873#endif
Note: See TracBrowser for help on using the repository browser.