1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
|
/* This file is autogenerated by gen/prop/bool-props; DO NOT EDIT. */
#include "__bsearch.h"
#include "bitset.h"
#include "rune.h"
#include "unicode/prop.h"
/* clang-format off */
static constexpr bitset(bs, LATIN1_MAX) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0xFF,
};
static const struct {
rune lo, hi;
} lookup[] = {
{RUNE_C(0x000101), RUNE_C(0x000101)},
{RUNE_C(0x000103), RUNE_C(0x000103)},
{RUNE_C(0x000105), RUNE_C(0x000105)},
{RUNE_C(0x000107), RUNE_C(0x000107)},
{RUNE_C(0x000109), RUNE_C(0x000109)},
{RUNE_C(0x00010B), RUNE_C(0x00010B)},
{RUNE_C(0x00010D), RUNE_C(0x00010D)},
{RUNE_C(0x00010F), RUNE_C(0x00010F)},
{RUNE_C(0x000111), RUNE_C(0x000111)},
{RUNE_C(0x000113), RUNE_C(0x000113)},
{RUNE_C(0x000115), RUNE_C(0x000115)},
{RUNE_C(0x000117), RUNE_C(0x000117)},
{RUNE_C(0x000119), RUNE_C(0x000119)},
{RUNE_C(0x00011B), RUNE_C(0x00011B)},
{RUNE_C(0x00011D), RUNE_C(0x00011D)},
{RUNE_C(0x00011F), RUNE_C(0x00011F)},
{RUNE_C(0x000121), RUNE_C(0x000121)},
{RUNE_C(0x000123), RUNE_C(0x000123)},
{RUNE_C(0x000125), RUNE_C(0x000125)},
{RUNE_C(0x000127), RUNE_C(0x000127)},
{RUNE_C(0x000129), RUNE_C(0x000129)},
{RUNE_C(0x00012B), RUNE_C(0x00012B)},
{RUNE_C(0x00012D), RUNE_C(0x00012D)},
{RUNE_C(0x00012F), RUNE_C(0x00012F)},
{RUNE_C(0x000131), RUNE_C(0x000131)},
{RUNE_C(0x000133), RUNE_C(0x000133)},
{RUNE_C(0x000135), RUNE_C(0x000135)},
{RUNE_C(0x000137), RUNE_C(0x000137)},
{RUNE_C(0x00013A), RUNE_C(0x00013A)},
{RUNE_C(0x00013C), RUNE_C(0x00013C)},
{RUNE_C(0x00013E), RUNE_C(0x00013E)},
{RUNE_C(0x000140), RUNE_C(0x000140)},
{RUNE_C(0x000142), RUNE_C(0x000142)},
{RUNE_C(0x000144), RUNE_C(0x000144)},
{RUNE_C(0x000146), RUNE_C(0x000146)},
{RUNE_C(0x000148), RUNE_C(0x000149)},
{RUNE_C(0x00014B), RUNE_C(0x00014B)},
{RUNE_C(0x00014D), RUNE_C(0x00014D)},
{RUNE_C(0x00014F), RUNE_C(0x00014F)},
{RUNE_C(0x000151), RUNE_C(0x000151)},
{RUNE_C(0x000153), RUNE_C(0x000153)},
{RUNE_C(0x000155), RUNE_C(0x000155)},
{RUNE_C(0x000157), RUNE_C(0x000157)},
{RUNE_C(0x000159), RUNE_C(0x000159)},
{RUNE_C(0x00015B), RUNE_C(0x00015B)},
{RUNE_C(0x00015D), RUNE_C(0x00015D)},
{RUNE_C(0x00015F), RUNE_C(0x00015F)},
{RUNE_C(0x000161), RUNE_C(0x000161)},
{RUNE_C(0x000163), RUNE_C(0x000163)},
{RUNE_C(0x000165), RUNE_C(0x000165)},
{RUNE_C(0x000167), RUNE_C(0x000167)},
{RUNE_C(0x000169), RUNE_C(0x000169)},
{RUNE_C(0x00016B), RUNE_C(0x00016B)},
{RUNE_C(0x00016D), RUNE_C(0x00016D)},
{RUNE_C(0x00016F), RUNE_C(0x00016F)},
{RUNE_C(0x000171), RUNE_C(0x000171)},
{RUNE_C(0x000173), RUNE_C(0x000173)},
{RUNE_C(0x000175), RUNE_C(0x000175)},
{RUNE_C(0x000177), RUNE_C(0x000177)},
{RUNE_C(0x00017A), RUNE_C(0x00017A)},
{RUNE_C(0x00017C), RUNE_C(0x00017C)},
{RUNE_C(0x00017E), RUNE_C(0x000180)},
{RUNE_C(0x000183), RUNE_C(0x000183)},
{RUNE_C(0x000185), RUNE_C(0x000185)},
{RUNE_C(0x000188), RUNE_C(0x000188)},
{RUNE_C(0x00018C), RUNE_C(0x00018C)},
{RUNE_C(0x000192), RUNE_C(0x000192)},
{RUNE_C(0x000195), RUNE_C(0x000195)},
{RUNE_C(0x000199), RUNE_C(0x00019A)},
{RUNE_C(0x00019E), RUNE_C(0x00019E)},
{RUNE_C(0x0001A1), RUNE_C(0x0001A1)},
{RUNE_C(0x0001A3), RUNE_C(0x0001A3)},
{RUNE_C(0x0001A5), RUNE_C(0x0001A5)},
{RUNE_C(0x0001A8), RUNE_C(0x0001A8)},
{RUNE_C(0x0001AD), RUNE_C(0x0001AD)},
{RUNE_C(0x0001B0), RUNE_C(0x0001B0)},
{RUNE_C(0x0001B4), RUNE_C(0x0001B4)},
{RUNE_C(0x0001B6), RUNE_C(0x0001B6)},
{RUNE_C(0x0001B9), RUNE_C(0x0001B9)},
{RUNE_C(0x0001BD), RUNE_C(0x0001BD)},
{RUNE_C(0x0001BF), RUNE_C(0x0001BF)},
{RUNE_C(0x0001C4), RUNE_C(0x0001C4)},
{RUNE_C(0x0001C6), RUNE_C(0x0001C7)},
{RUNE_C(0x0001C9), RUNE_C(0x0001CA)},
{RUNE_C(0x0001CC), RUNE_C(0x0001CC)},
{RUNE_C(0x0001CE), RUNE_C(0x0001CE)},
{RUNE_C(0x0001D0), RUNE_C(0x0001D0)},
{RUNE_C(0x0001D2), RUNE_C(0x0001D2)},
{RUNE_C(0x0001D4), RUNE_C(0x0001D4)},
{RUNE_C(0x0001D6), RUNE_C(0x0001D6)},
{RUNE_C(0x0001D8), RUNE_C(0x0001D8)},
{RUNE_C(0x0001DA), RUNE_C(0x0001DA)},
{RUNE_C(0x0001DC), RUNE_C(0x0001DD)},
{RUNE_C(0x0001DF), RUNE_C(0x0001DF)},
{RUNE_C(0x0001E1), RUNE_C(0x0001E1)},
{RUNE_C(0x0001E3), RUNE_C(0x0001E3)},
{RUNE_C(0x0001E5), RUNE_C(0x0001E5)},
{RUNE_C(0x0001E7), RUNE_C(0x0001E7)},
{RUNE_C(0x0001E9), RUNE_C(0x0001E9)},
{RUNE_C(0x0001EB), RUNE_C(0x0001EB)},
{RUNE_C(0x0001ED), RUNE_C(0x0001ED)},
{RUNE_C(0x0001EF), RUNE_C(0x0001F1)},
{RUNE_C(0x0001F3), RUNE_C(0x0001F3)},
{RUNE_C(0x0001F5), RUNE_C(0x0001F5)},
{RUNE_C(0x0001F9), RUNE_C(0x0001F9)},
{RUNE_C(0x0001FB), RUNE_C(0x0001FB)},
{RUNE_C(0x0001FD), RUNE_C(0x0001FD)},
{RUNE_C(0x0001FF), RUNE_C(0x0001FF)},
{RUNE_C(0x000201), RUNE_C(0x000201)},
{RUNE_C(0x000203), RUNE_C(0x000203)},
{RUNE_C(0x000205), RUNE_C(0x000205)},
{RUNE_C(0x000207), RUNE_C(0x000207)},
{RUNE_C(0x000209), RUNE_C(0x000209)},
{RUNE_C(0x00020B), RUNE_C(0x00020B)},
{RUNE_C(0x00020D), RUNE_C(0x00020D)},
{RUNE_C(0x00020F), RUNE_C(0x00020F)},
{RUNE_C(0x000211), RUNE_C(0x000211)},
{RUNE_C(0x000213), RUNE_C(0x000213)},
{RUNE_C(0x000215), RUNE_C(0x000215)},
{RUNE_C(0x000217), RUNE_C(0x000217)},
{RUNE_C(0x000219), RUNE_C(0x000219)},
{RUNE_C(0x00021B), RUNE_C(0x00021B)},
{RUNE_C(0x00021D), RUNE_C(0x00021D)},
{RUNE_C(0x00021F), RUNE_C(0x00021F)},
{RUNE_C(0x000223), RUNE_C(0x000223)},
{RUNE_C(0x000225), RUNE_C(0x000225)},
{RUNE_C(0x000227), RUNE_C(0x000227)},
{RUNE_C(0x000229), RUNE_C(0x000229)},
{RUNE_C(0x00022B), RUNE_C(0x00022B)},
{RUNE_C(0x00022D), RUNE_C(0x00022D)},
{RUNE_C(0x00022F), RUNE_C(0x00022F)},
{RUNE_C(0x000231), RUNE_C(0x000231)},
{RUNE_C(0x000233), RUNE_C(0x000233)},
{RUNE_C(0x00023C), RUNE_C(0x00023C)},
{RUNE_C(0x00023F), RUNE_C(0x000240)},
{RUNE_C(0x000242), RUNE_C(0x000242)},
{RUNE_C(0x000247), RUNE_C(0x000247)},
{RUNE_C(0x000249), RUNE_C(0x000249)},
{RUNE_C(0x00024B), RUNE_C(0x00024B)},
{RUNE_C(0x00024D), RUNE_C(0x00024D)},
{RUNE_C(0x00024F), RUNE_C(0x000254)},
{RUNE_C(0x000256), RUNE_C(0x000257)},
{RUNE_C(0x000259), RUNE_C(0x000259)},
{RUNE_C(0x00025B), RUNE_C(0x00025C)},
{RUNE_C(0x000260), RUNE_C(0x000261)},
{RUNE_C(0x000263), RUNE_C(0x000263)},
{RUNE_C(0x000265), RUNE_C(0x000266)},
{RUNE_C(0x000268), RUNE_C(0x00026C)},
{RUNE_C(0x00026F), RUNE_C(0x00026F)},
{RUNE_C(0x000271), RUNE_C(0x000272)},
{RUNE_C(0x000275), RUNE_C(0x000275)},
{RUNE_C(0x00027D), RUNE_C(0x00027D)},
{RUNE_C(0x000280), RUNE_C(0x000280)},
{RUNE_C(0x000282), RUNE_C(0x000283)},
{RUNE_C(0x000287), RUNE_C(0x00028C)},
{RUNE_C(0x000292), RUNE_C(0x000292)},
{RUNE_C(0x00029D), RUNE_C(0x00029E)},
{RUNE_C(0x000345), RUNE_C(0x000345)},
{RUNE_C(0x000371), RUNE_C(0x000371)},
{RUNE_C(0x000373), RUNE_C(0x000373)},
{RUNE_C(0x000377), RUNE_C(0x000377)},
{RUNE_C(0x00037B), RUNE_C(0x00037D)},
{RUNE_C(0x000390), RUNE_C(0x000390)},
{RUNE_C(0x0003AC), RUNE_C(0x0003CE)},
{RUNE_C(0x0003D0), RUNE_C(0x0003D1)},
{RUNE_C(0x0003D5), RUNE_C(0x0003D7)},
{RUNE_C(0x0003D9), RUNE_C(0x0003D9)},
{RUNE_C(0x0003DB), RUNE_C(0x0003DB)},
{RUNE_C(0x0003DD), RUNE_C(0x0003DD)},
{RUNE_C(0x0003DF), RUNE_C(0x0003DF)},
{RUNE_C(0x0003E1), RUNE_C(0x0003E1)},
{RUNE_C(0x0003E3), RUNE_C(0x0003E3)},
{RUNE_C(0x0003E5), RUNE_C(0x0003E5)},
{RUNE_C(0x0003E7), RUNE_C(0x0003E7)},
{RUNE_C(0x0003E9), RUNE_C(0x0003E9)},
{RUNE_C(0x0003EB), RUNE_C(0x0003EB)},
{RUNE_C(0x0003ED), RUNE_C(0x0003ED)},
{RUNE_C(0x0003EF), RUNE_C(0x0003F3)},
{RUNE_C(0x0003F5), RUNE_C(0x0003F5)},
{RUNE_C(0x0003F8), RUNE_C(0x0003F8)},
{RUNE_C(0x0003FB), RUNE_C(0x0003FB)},
{RUNE_C(0x000430), RUNE_C(0x00045F)},
{RUNE_C(0x000461), RUNE_C(0x000461)},
{RUNE_C(0x000463), RUNE_C(0x000463)},
{RUNE_C(0x000465), RUNE_C(0x000465)},
{RUNE_C(0x000467), RUNE_C(0x000467)},
{RUNE_C(0x000469), RUNE_C(0x000469)},
{RUNE_C(0x00046B), RUNE_C(0x00046B)},
{RUNE_C(0x00046D), RUNE_C(0x00046D)},
{RUNE_C(0x00046F), RUNE_C(0x00046F)},
{RUNE_C(0x000471), RUNE_C(0x000471)},
{RUNE_C(0x000473), RUNE_C(0x000473)},
{RUNE_C(0x000475), RUNE_C(0x000475)},
{RUNE_C(0x000477), RUNE_C(0x000477)},
{RUNE_C(0x000479), RUNE_C(0x000479)},
{RUNE_C(0x00047B), RUNE_C(0x00047B)},
{RUNE_C(0x00047D), RUNE_C(0x00047D)},
{RUNE_C(0x00047F), RUNE_C(0x00047F)},
{RUNE_C(0x000481), RUNE_C(0x000481)},
{RUNE_C(0x00048B), RUNE_C(0x00048B)},
{RUNE_C(0x00048D), RUNE_C(0x00048D)},
{RUNE_C(0x00048F), RUNE_C(0x00048F)},
{RUNE_C(0x000491), RUNE_C(0x000491)},
{RUNE_C(0x000493), RUNE_C(0x000493)},
{RUNE_C(0x000495), RUNE_C(0x000495)},
{RUNE_C(0x000497), RUNE_C(0x000497)},
{RUNE_C(0x000499), RUNE_C(0x000499)},
{RUNE_C(0x00049B), RUNE_C(0x00049B)},
{RUNE_C(0x00049D), RUNE_C(0x00049D)},
{RUNE_C(0x00049F), RUNE_C(0x00049F)},
{RUNE_C(0x0004A1), RUNE_C(0x0004A1)},
{RUNE_C(0x0004A3), RUNE_C(0x0004A3)},
{RUNE_C(0x0004A5), RUNE_C(0x0004A5)},
{RUNE_C(0x0004A7), RUNE_C(0x0004A7)},
{RUNE_C(0x0004A9), RUNE_C(0x0004A9)},
{RUNE_C(0x0004AB), RUNE_C(0x0004AB)},
{RUNE_C(0x0004AD), RUNE_C(0x0004AD)},
{RUNE_C(0x0004AF), RUNE_C(0x0004AF)},
{RUNE_C(0x0004B1), RUNE_C(0x0004B1)},
{RUNE_C(0x0004B3), RUNE_C(0x0004B3)},
{RUNE_C(0x0004B5), RUNE_C(0x0004B5)},
{RUNE_C(0x0004B7), RUNE_C(0x0004B7)},
{RUNE_C(0x0004B9), RUNE_C(0x0004B9)},
{RUNE_C(0x0004BB), RUNE_C(0x0004BB)},
{RUNE_C(0x0004BD), RUNE_C(0x0004BD)},
{RUNE_C(0x0004BF), RUNE_C(0x0004BF)},
{RUNE_C(0x0004C2), RUNE_C(0x0004C2)},
{RUNE_C(0x0004C4), RUNE_C(0x0004C4)},
{RUNE_C(0x0004C6), RUNE_C(0x0004C6)},
{RUNE_C(0x0004C8), RUNE_C(0x0004C8)},
{RUNE_C(0x0004CA), RUNE_C(0x0004CA)},
{RUNE_C(0x0004CC), RUNE_C(0x0004CC)},
{RUNE_C(0x0004CE), RUNE_C(0x0004CF)},
{RUNE_C(0x0004D1), RUNE_C(0x0004D1)},
{RUNE_C(0x0004D3), RUNE_C(0x0004D3)},
{RUNE_C(0x0004D5), RUNE_C(0x0004D5)},
{RUNE_C(0x0004D7), RUNE_C(0x0004D7)},
{RUNE_C(0x0004D9), RUNE_C(0x0004D9)},
{RUNE_C(0x0004DB), RUNE_C(0x0004DB)},
{RUNE_C(0x0004DD), RUNE_C(0x0004DD)},
{RUNE_C(0x0004DF), RUNE_C(0x0004DF)},
{RUNE_C(0x0004E1), RUNE_C(0x0004E1)},
{RUNE_C(0x0004E3), RUNE_C(0x0004E3)},
{RUNE_C(0x0004E5), RUNE_C(0x0004E5)},
{RUNE_C(0x0004E7), RUNE_C(0x0004E7)},
{RUNE_C(0x0004E9), RUNE_C(0x0004E9)},
{RUNE_C(0x0004EB), RUNE_C(0x0004EB)},
{RUNE_C(0x0004ED), RUNE_C(0x0004ED)},
{RUNE_C(0x0004EF), RUNE_C(0x0004EF)},
{RUNE_C(0x0004F1), RUNE_C(0x0004F1)},
{RUNE_C(0x0004F3), RUNE_C(0x0004F3)},
{RUNE_C(0x0004F5), RUNE_C(0x0004F5)},
{RUNE_C(0x0004F7), RUNE_C(0x0004F7)},
{RUNE_C(0x0004F9), RUNE_C(0x0004F9)},
{RUNE_C(0x0004FB), RUNE_C(0x0004FB)},
{RUNE_C(0x0004FD), RUNE_C(0x0004FD)},
{RUNE_C(0x0004FF), RUNE_C(0x0004FF)},
{RUNE_C(0x000501), RUNE_C(0x000501)},
{RUNE_C(0x000503), RUNE_C(0x000503)},
{RUNE_C(0x000505), RUNE_C(0x000505)},
{RUNE_C(0x000507), RUNE_C(0x000507)},
{RUNE_C(0x000509), RUNE_C(0x000509)},
{RUNE_C(0x00050B), RUNE_C(0x00050B)},
{RUNE_C(0x00050D), RUNE_C(0x00050D)},
{RUNE_C(0x00050F), RUNE_C(0x00050F)},
{RUNE_C(0x000511), RUNE_C(0x000511)},
{RUNE_C(0x000513), RUNE_C(0x000513)},
{RUNE_C(0x000515), RUNE_C(0x000515)},
{RUNE_C(0x000517), RUNE_C(0x000517)},
{RUNE_C(0x000519), RUNE_C(0x000519)},
{RUNE_C(0x00051B), RUNE_C(0x00051B)},
{RUNE_C(0x00051D), RUNE_C(0x00051D)},
{RUNE_C(0x00051F), RUNE_C(0x00051F)},
{RUNE_C(0x000521), RUNE_C(0x000521)},
{RUNE_C(0x000523), RUNE_C(0x000523)},
{RUNE_C(0x000525), RUNE_C(0x000525)},
{RUNE_C(0x000527), RUNE_C(0x000527)},
{RUNE_C(0x000529), RUNE_C(0x000529)},
{RUNE_C(0x00052B), RUNE_C(0x00052B)},
{RUNE_C(0x00052D), RUNE_C(0x00052D)},
{RUNE_C(0x00052F), RUNE_C(0x00052F)},
{RUNE_C(0x000561), RUNE_C(0x000587)},
{RUNE_C(0x0013F8), RUNE_C(0x0013FD)},
{RUNE_C(0x001C80), RUNE_C(0x001C88)},
{RUNE_C(0x001D79), RUNE_C(0x001D79)},
{RUNE_C(0x001D7D), RUNE_C(0x001D7D)},
{RUNE_C(0x001D8E), RUNE_C(0x001D8E)},
{RUNE_C(0x001E01), RUNE_C(0x001E01)},
{RUNE_C(0x001E03), RUNE_C(0x001E03)},
{RUNE_C(0x001E05), RUNE_C(0x001E05)},
{RUNE_C(0x001E07), RUNE_C(0x001E07)},
{RUNE_C(0x001E09), RUNE_C(0x001E09)},
{RUNE_C(0x001E0B), RUNE_C(0x001E0B)},
{RUNE_C(0x001E0D), RUNE_C(0x001E0D)},
{RUNE_C(0x001E0F), RUNE_C(0x001E0F)},
{RUNE_C(0x001E11), RUNE_C(0x001E11)},
{RUNE_C(0x001E13), RUNE_C(0x001E13)},
{RUNE_C(0x001E15), RUNE_C(0x001E15)},
{RUNE_C(0x001E17), RUNE_C(0x001E17)},
{RUNE_C(0x001E19), RUNE_C(0x001E19)},
{RUNE_C(0x001E1B), RUNE_C(0x001E1B)},
{RUNE_C(0x001E1D), RUNE_C(0x001E1D)},
{RUNE_C(0x001E1F), RUNE_C(0x001E1F)},
{RUNE_C(0x001E21), RUNE_C(0x001E21)},
{RUNE_C(0x001E23), RUNE_C(0x001E23)},
{RUNE_C(0x001E25), RUNE_C(0x001E25)},
{RUNE_C(0x001E27), RUNE_C(0x001E27)},
{RUNE_C(0x001E29), RUNE_C(0x001E29)},
{RUNE_C(0x001E2B), RUNE_C(0x001E2B)},
{RUNE_C(0x001E2D), RUNE_C(0x001E2D)},
{RUNE_C(0x001E2F), RUNE_C(0x001E2F)},
{RUNE_C(0x001E31), RUNE_C(0x001E31)},
{RUNE_C(0x001E33), RUNE_C(0x001E33)},
{RUNE_C(0x001E35), RUNE_C(0x001E35)},
{RUNE_C(0x001E37), RUNE_C(0x001E37)},
{RUNE_C(0x001E39), RUNE_C(0x001E39)},
{RUNE_C(0x001E3B), RUNE_C(0x001E3B)},
{RUNE_C(0x001E3D), RUNE_C(0x001E3D)},
{RUNE_C(0x001E3F), RUNE_C(0x001E3F)},
{RUNE_C(0x001E41), RUNE_C(0x001E41)},
{RUNE_C(0x001E43), RUNE_C(0x001E43)},
{RUNE_C(0x001E45), RUNE_C(0x001E45)},
{RUNE_C(0x001E47), RUNE_C(0x001E47)},
{RUNE_C(0x001E49), RUNE_C(0x001E49)},
{RUNE_C(0x001E4B), RUNE_C(0x001E4B)},
{RUNE_C(0x001E4D), RUNE_C(0x001E4D)},
{RUNE_C(0x001E4F), RUNE_C(0x001E4F)},
{RUNE_C(0x001E51), RUNE_C(0x001E51)},
{RUNE_C(0x001E53), RUNE_C(0x001E53)},
{RUNE_C(0x001E55), RUNE_C(0x001E55)},
{RUNE_C(0x001E57), RUNE_C(0x001E57)},
{RUNE_C(0x001E59), RUNE_C(0x001E59)},
{RUNE_C(0x001E5B), RUNE_C(0x001E5B)},
{RUNE_C(0x001E5D), RUNE_C(0x001E5D)},
{RUNE_C(0x001E5F), RUNE_C(0x001E5F)},
{RUNE_C(0x001E61), RUNE_C(0x001E61)},
{RUNE_C(0x001E63), RUNE_C(0x001E63)},
{RUNE_C(0x001E65), RUNE_C(0x001E65)},
{RUNE_C(0x001E67), RUNE_C(0x001E67)},
{RUNE_C(0x001E69), RUNE_C(0x001E69)},
{RUNE_C(0x001E6B), RUNE_C(0x001E6B)},
{RUNE_C(0x001E6D), RUNE_C(0x001E6D)},
{RUNE_C(0x001E6F), RUNE_C(0x001E6F)},
{RUNE_C(0x001E71), RUNE_C(0x001E71)},
{RUNE_C(0x001E73), RUNE_C(0x001E73)},
{RUNE_C(0x001E75), RUNE_C(0x001E75)},
{RUNE_C(0x001E77), RUNE_C(0x001E77)},
{RUNE_C(0x001E79), RUNE_C(0x001E79)},
{RUNE_C(0x001E7B), RUNE_C(0x001E7B)},
{RUNE_C(0x001E7D), RUNE_C(0x001E7D)},
{RUNE_C(0x001E7F), RUNE_C(0x001E7F)},
{RUNE_C(0x001E81), RUNE_C(0x001E81)},
{RUNE_C(0x001E83), RUNE_C(0x001E83)},
{RUNE_C(0x001E85), RUNE_C(0x001E85)},
{RUNE_C(0x001E87), RUNE_C(0x001E87)},
{RUNE_C(0x001E89), RUNE_C(0x001E89)},
{RUNE_C(0x001E8B), RUNE_C(0x001E8B)},
{RUNE_C(0x001E8D), RUNE_C(0x001E8D)},
{RUNE_C(0x001E8F), RUNE_C(0x001E8F)},
{RUNE_C(0x001E91), RUNE_C(0x001E91)},
{RUNE_C(0x001E93), RUNE_C(0x001E93)},
{RUNE_C(0x001E95), RUNE_C(0x001E9B)},
{RUNE_C(0x001EA1), RUNE_C(0x001EA1)},
{RUNE_C(0x001EA3), RUNE_C(0x001EA3)},
{RUNE_C(0x001EA5), RUNE_C(0x001EA5)},
{RUNE_C(0x001EA7), RUNE_C(0x001EA7)},
{RUNE_C(0x001EA9), RUNE_C(0x001EA9)},
{RUNE_C(0x001EAB), RUNE_C(0x001EAB)},
{RUNE_C(0x001EAD), RUNE_C(0x001EAD)},
{RUNE_C(0x001EAF), RUNE_C(0x001EAF)},
{RUNE_C(0x001EB1), RUNE_C(0x001EB1)},
{RUNE_C(0x001EB3), RUNE_C(0x001EB3)},
{RUNE_C(0x001EB5), RUNE_C(0x001EB5)},
{RUNE_C(0x001EB7), RUNE_C(0x001EB7)},
{RUNE_C(0x001EB9), RUNE_C(0x001EB9)},
{RUNE_C(0x001EBB), RUNE_C(0x001EBB)},
{RUNE_C(0x001EBD), RUNE_C(0x001EBD)},
{RUNE_C(0x001EBF), RUNE_C(0x001EBF)},
{RUNE_C(0x001EC1), RUNE_C(0x001EC1)},
{RUNE_C(0x001EC3), RUNE_C(0x001EC3)},
{RUNE_C(0x001EC5), RUNE_C(0x001EC5)},
{RUNE_C(0x001EC7), RUNE_C(0x001EC7)},
{RUNE_C(0x001EC9), RUNE_C(0x001EC9)},
{RUNE_C(0x001ECB), RUNE_C(0x001ECB)},
{RUNE_C(0x001ECD), RUNE_C(0x001ECD)},
{RUNE_C(0x001ECF), RUNE_C(0x001ECF)},
{RUNE_C(0x001ED1), RUNE_C(0x001ED1)},
{RUNE_C(0x001ED3), RUNE_C(0x001ED3)},
{RUNE_C(0x001ED5), RUNE_C(0x001ED5)},
{RUNE_C(0x001ED7), RUNE_C(0x001ED7)},
{RUNE_C(0x001ED9), RUNE_C(0x001ED9)},
{RUNE_C(0x001EDB), RUNE_C(0x001EDB)},
{RUNE_C(0x001EDD), RUNE_C(0x001EDD)},
{RUNE_C(0x001EDF), RUNE_C(0x001EDF)},
{RUNE_C(0x001EE1), RUNE_C(0x001EE1)},
{RUNE_C(0x001EE3), RUNE_C(0x001EE3)},
{RUNE_C(0x001EE5), RUNE_C(0x001EE5)},
{RUNE_C(0x001EE7), RUNE_C(0x001EE7)},
{RUNE_C(0x001EE9), RUNE_C(0x001EE9)},
{RUNE_C(0x001EEB), RUNE_C(0x001EEB)},
{RUNE_C(0x001EED), RUNE_C(0x001EED)},
{RUNE_C(0x001EEF), RUNE_C(0x001EEF)},
{RUNE_C(0x001EF1), RUNE_C(0x001EF1)},
{RUNE_C(0x001EF3), RUNE_C(0x001EF3)},
{RUNE_C(0x001EF5), RUNE_C(0x001EF5)},
{RUNE_C(0x001EF7), RUNE_C(0x001EF7)},
{RUNE_C(0x001EF9), RUNE_C(0x001EF9)},
{RUNE_C(0x001EFB), RUNE_C(0x001EFB)},
{RUNE_C(0x001EFD), RUNE_C(0x001EFD)},
{RUNE_C(0x001EFF), RUNE_C(0x001F07)},
{RUNE_C(0x001F10), RUNE_C(0x001F15)},
{RUNE_C(0x001F20), RUNE_C(0x001F27)},
{RUNE_C(0x001F30), RUNE_C(0x001F37)},
{RUNE_C(0x001F40), RUNE_C(0x001F45)},
{RUNE_C(0x001F50), RUNE_C(0x001F57)},
{RUNE_C(0x001F60), RUNE_C(0x001F67)},
{RUNE_C(0x001F70), RUNE_C(0x001F7D)},
{RUNE_C(0x001F80), RUNE_C(0x001F87)},
{RUNE_C(0x001F90), RUNE_C(0x001F97)},
{RUNE_C(0x001FA0), RUNE_C(0x001FA7)},
{RUNE_C(0x001FB0), RUNE_C(0x001FB4)},
{RUNE_C(0x001FB6), RUNE_C(0x001FB7)},
{RUNE_C(0x001FBE), RUNE_C(0x001FBE)},
{RUNE_C(0x001FC2), RUNE_C(0x001FC4)},
{RUNE_C(0x001FC6), RUNE_C(0x001FC7)},
{RUNE_C(0x001FD0), RUNE_C(0x001FD3)},
{RUNE_C(0x001FD6), RUNE_C(0x001FD7)},
{RUNE_C(0x001FE0), RUNE_C(0x001FE7)},
{RUNE_C(0x001FF2), RUNE_C(0x001FF4)},
{RUNE_C(0x001FF6), RUNE_C(0x001FF7)},
{RUNE_C(0x00214E), RUNE_C(0x00214E)},
{RUNE_C(0x002170), RUNE_C(0x00217F)},
{RUNE_C(0x002184), RUNE_C(0x002184)},
{RUNE_C(0x0024D0), RUNE_C(0x0024E9)},
{RUNE_C(0x002C30), RUNE_C(0x002C5F)},
{RUNE_C(0x002C61), RUNE_C(0x002C61)},
{RUNE_C(0x002C65), RUNE_C(0x002C66)},
{RUNE_C(0x002C68), RUNE_C(0x002C68)},
{RUNE_C(0x002C6A), RUNE_C(0x002C6A)},
{RUNE_C(0x002C6C), RUNE_C(0x002C6C)},
{RUNE_C(0x002C73), RUNE_C(0x002C73)},
{RUNE_C(0x002C76), RUNE_C(0x002C76)},
{RUNE_C(0x002C81), RUNE_C(0x002C81)},
{RUNE_C(0x002C83), RUNE_C(0x002C83)},
{RUNE_C(0x002C85), RUNE_C(0x002C85)},
{RUNE_C(0x002C87), RUNE_C(0x002C87)},
{RUNE_C(0x002C89), RUNE_C(0x002C89)},
{RUNE_C(0x002C8B), RUNE_C(0x002C8B)},
{RUNE_C(0x002C8D), RUNE_C(0x002C8D)},
{RUNE_C(0x002C8F), RUNE_C(0x002C8F)},
{RUNE_C(0x002C91), RUNE_C(0x002C91)},
{RUNE_C(0x002C93), RUNE_C(0x002C93)},
{RUNE_C(0x002C95), RUNE_C(0x002C95)},
{RUNE_C(0x002C97), RUNE_C(0x002C97)},
{RUNE_C(0x002C99), RUNE_C(0x002C99)},
{RUNE_C(0x002C9B), RUNE_C(0x002C9B)},
{RUNE_C(0x002C9D), RUNE_C(0x002C9D)},
{RUNE_C(0x002C9F), RUNE_C(0x002C9F)},
{RUNE_C(0x002CA1), RUNE_C(0x002CA1)},
{RUNE_C(0x002CA3), RUNE_C(0x002CA3)},
{RUNE_C(0x002CA5), RUNE_C(0x002CA5)},
{RUNE_C(0x002CA7), RUNE_C(0x002CA7)},
{RUNE_C(0x002CA9), RUNE_C(0x002CA9)},
{RUNE_C(0x002CAB), RUNE_C(0x002CAB)},
{RUNE_C(0x002CAD), RUNE_C(0x002CAD)},
{RUNE_C(0x002CAF), RUNE_C(0x002CAF)},
{RUNE_C(0x002CB1), RUNE_C(0x002CB1)},
{RUNE_C(0x002CB3), RUNE_C(0x002CB3)},
{RUNE_C(0x002CB5), RUNE_C(0x002CB5)},
{RUNE_C(0x002CB7), RUNE_C(0x002CB7)},
{RUNE_C(0x002CB9), RUNE_C(0x002CB9)},
{RUNE_C(0x002CBB), RUNE_C(0x002CBB)},
{RUNE_C(0x002CBD), RUNE_C(0x002CBD)},
{RUNE_C(0x002CBF), RUNE_C(0x002CBF)},
{RUNE_C(0x002CC1), RUNE_C(0x002CC1)},
{RUNE_C(0x002CC3), RUNE_C(0x002CC3)},
{RUNE_C(0x002CC5), RUNE_C(0x002CC5)},
{RUNE_C(0x002CC7), RUNE_C(0x002CC7)},
{RUNE_C(0x002CC9), RUNE_C(0x002CC9)},
{RUNE_C(0x002CCB), RUNE_C(0x002CCB)},
{RUNE_C(0x002CCD), RUNE_C(0x002CCD)},
{RUNE_C(0x002CCF), RUNE_C(0x002CCF)},
{RUNE_C(0x002CD1), RUNE_C(0x002CD1)},
{RUNE_C(0x002CD3), RUNE_C(0x002CD3)},
{RUNE_C(0x002CD5), RUNE_C(0x002CD5)},
{RUNE_C(0x002CD7), RUNE_C(0x002CD7)},
{RUNE_C(0x002CD9), RUNE_C(0x002CD9)},
{RUNE_C(0x002CDB), RUNE_C(0x002CDB)},
{RUNE_C(0x002CDD), RUNE_C(0x002CDD)},
{RUNE_C(0x002CDF), RUNE_C(0x002CDF)},
{RUNE_C(0x002CE1), RUNE_C(0x002CE1)},
{RUNE_C(0x002CE3), RUNE_C(0x002CE3)},
{RUNE_C(0x002CEC), RUNE_C(0x002CEC)},
{RUNE_C(0x002CEE), RUNE_C(0x002CEE)},
{RUNE_C(0x002CF3), RUNE_C(0x002CF3)},
{RUNE_C(0x002D00), RUNE_C(0x002D25)},
{RUNE_C(0x002D27), RUNE_C(0x002D27)},
{RUNE_C(0x002D2D), RUNE_C(0x002D2D)},
{RUNE_C(0x00A641), RUNE_C(0x00A641)},
{RUNE_C(0x00A643), RUNE_C(0x00A643)},
{RUNE_C(0x00A645), RUNE_C(0x00A645)},
{RUNE_C(0x00A647), RUNE_C(0x00A647)},
{RUNE_C(0x00A649), RUNE_C(0x00A649)},
{RUNE_C(0x00A64B), RUNE_C(0x00A64B)},
{RUNE_C(0x00A64D), RUNE_C(0x00A64D)},
{RUNE_C(0x00A64F), RUNE_C(0x00A64F)},
{RUNE_C(0x00A651), RUNE_C(0x00A651)},
{RUNE_C(0x00A653), RUNE_C(0x00A653)},
{RUNE_C(0x00A655), RUNE_C(0x00A655)},
{RUNE_C(0x00A657), RUNE_C(0x00A657)},
{RUNE_C(0x00A659), RUNE_C(0x00A659)},
{RUNE_C(0x00A65B), RUNE_C(0x00A65B)},
{RUNE_C(0x00A65D), RUNE_C(0x00A65D)},
{RUNE_C(0x00A65F), RUNE_C(0x00A65F)},
{RUNE_C(0x00A661), RUNE_C(0x00A661)},
{RUNE_C(0x00A663), RUNE_C(0x00A663)},
{RUNE_C(0x00A665), RUNE_C(0x00A665)},
{RUNE_C(0x00A667), RUNE_C(0x00A667)},
{RUNE_C(0x00A669), RUNE_C(0x00A669)},
{RUNE_C(0x00A66B), RUNE_C(0x00A66B)},
{RUNE_C(0x00A66D), RUNE_C(0x00A66D)},
{RUNE_C(0x00A681), RUNE_C(0x00A681)},
{RUNE_C(0x00A683), RUNE_C(0x00A683)},
{RUNE_C(0x00A685), RUNE_C(0x00A685)},
{RUNE_C(0x00A687), RUNE_C(0x00A687)},
{RUNE_C(0x00A689), RUNE_C(0x00A689)},
{RUNE_C(0x00A68B), RUNE_C(0x00A68B)},
{RUNE_C(0x00A68D), RUNE_C(0x00A68D)},
{RUNE_C(0x00A68F), RUNE_C(0x00A68F)},
{RUNE_C(0x00A691), RUNE_C(0x00A691)},
{RUNE_C(0x00A693), RUNE_C(0x00A693)},
{RUNE_C(0x00A695), RUNE_C(0x00A695)},
{RUNE_C(0x00A697), RUNE_C(0x00A697)},
{RUNE_C(0x00A699), RUNE_C(0x00A699)},
{RUNE_C(0x00A69B), RUNE_C(0x00A69B)},
{RUNE_C(0x00A723), RUNE_C(0x00A723)},
{RUNE_C(0x00A725), RUNE_C(0x00A725)},
{RUNE_C(0x00A727), RUNE_C(0x00A727)},
{RUNE_C(0x00A729), RUNE_C(0x00A729)},
{RUNE_C(0x00A72B), RUNE_C(0x00A72B)},
{RUNE_C(0x00A72D), RUNE_C(0x00A72D)},
{RUNE_C(0x00A72F), RUNE_C(0x00A72F)},
{RUNE_C(0x00A733), RUNE_C(0x00A733)},
{RUNE_C(0x00A735), RUNE_C(0x00A735)},
{RUNE_C(0x00A737), RUNE_C(0x00A737)},
{RUNE_C(0x00A739), RUNE_C(0x00A739)},
{RUNE_C(0x00A73B), RUNE_C(0x00A73B)},
{RUNE_C(0x00A73D), RUNE_C(0x00A73D)},
{RUNE_C(0x00A73F), RUNE_C(0x00A73F)},
{RUNE_C(0x00A741), RUNE_C(0x00A741)},
{RUNE_C(0x00A743), RUNE_C(0x00A743)},
{RUNE_C(0x00A745), RUNE_C(0x00A745)},
{RUNE_C(0x00A747), RUNE_C(0x00A747)},
{RUNE_C(0x00A749), RUNE_C(0x00A749)},
{RUNE_C(0x00A74B), RUNE_C(0x00A74B)},
{RUNE_C(0x00A74D), RUNE_C(0x00A74D)},
{RUNE_C(0x00A74F), RUNE_C(0x00A74F)},
{RUNE_C(0x00A751), RUNE_C(0x00A751)},
{RUNE_C(0x00A753), RUNE_C(0x00A753)},
{RUNE_C(0x00A755), RUNE_C(0x00A755)},
{RUNE_C(0x00A757), RUNE_C(0x00A757)},
{RUNE_C(0x00A759), RUNE_C(0x00A759)},
{RUNE_C(0x00A75B), RUNE_C(0x00A75B)},
{RUNE_C(0x00A75D), RUNE_C(0x00A75D)},
{RUNE_C(0x00A75F), RUNE_C(0x00A75F)},
{RUNE_C(0x00A761), RUNE_C(0x00A761)},
{RUNE_C(0x00A763), RUNE_C(0x00A763)},
{RUNE_C(0x00A765), RUNE_C(0x00A765)},
{RUNE_C(0x00A767), RUNE_C(0x00A767)},
{RUNE_C(0x00A769), RUNE_C(0x00A769)},
{RUNE_C(0x00A76B), RUNE_C(0x00A76B)},
{RUNE_C(0x00A76D), RUNE_C(0x00A76D)},
{RUNE_C(0x00A76F), RUNE_C(0x00A76F)},
{RUNE_C(0x00A77A), RUNE_C(0x00A77A)},
{RUNE_C(0x00A77C), RUNE_C(0x00A77C)},
{RUNE_C(0x00A77F), RUNE_C(0x00A77F)},
{RUNE_C(0x00A781), RUNE_C(0x00A781)},
{RUNE_C(0x00A783), RUNE_C(0x00A783)},
{RUNE_C(0x00A785), RUNE_C(0x00A785)},
{RUNE_C(0x00A787), RUNE_C(0x00A787)},
{RUNE_C(0x00A78C), RUNE_C(0x00A78C)},
{RUNE_C(0x00A791), RUNE_C(0x00A791)},
{RUNE_C(0x00A793), RUNE_C(0x00A794)},
{RUNE_C(0x00A797), RUNE_C(0x00A797)},
{RUNE_C(0x00A799), RUNE_C(0x00A799)},
{RUNE_C(0x00A79B), RUNE_C(0x00A79B)},
{RUNE_C(0x00A79D), RUNE_C(0x00A79D)},
{RUNE_C(0x00A79F), RUNE_C(0x00A79F)},
{RUNE_C(0x00A7A1), RUNE_C(0x00A7A1)},
{RUNE_C(0x00A7A3), RUNE_C(0x00A7A3)},
{RUNE_C(0x00A7A5), RUNE_C(0x00A7A5)},
{RUNE_C(0x00A7A7), RUNE_C(0x00A7A7)},
{RUNE_C(0x00A7A9), RUNE_C(0x00A7A9)},
{RUNE_C(0x00A7B5), RUNE_C(0x00A7B5)},
{RUNE_C(0x00A7B7), RUNE_C(0x00A7B7)},
{RUNE_C(0x00A7B9), RUNE_C(0x00A7B9)},
{RUNE_C(0x00A7BB), RUNE_C(0x00A7BB)},
{RUNE_C(0x00A7BD), RUNE_C(0x00A7BD)},
{RUNE_C(0x00A7BF), RUNE_C(0x00A7BF)},
{RUNE_C(0x00A7C1), RUNE_C(0x00A7C1)},
{RUNE_C(0x00A7C3), RUNE_C(0x00A7C3)},
{RUNE_C(0x00A7C8), RUNE_C(0x00A7C8)},
{RUNE_C(0x00A7CA), RUNE_C(0x00A7CA)},
{RUNE_C(0x00A7D1), RUNE_C(0x00A7D1)},
{RUNE_C(0x00A7D7), RUNE_C(0x00A7D7)},
{RUNE_C(0x00A7D9), RUNE_C(0x00A7D9)},
{RUNE_C(0x00A7F6), RUNE_C(0x00A7F6)},
{RUNE_C(0x00AB53), RUNE_C(0x00AB53)},
{RUNE_C(0x00AB70), RUNE_C(0x00ABBF)},
{RUNE_C(0x00FB00), RUNE_C(0x00FB06)},
{RUNE_C(0x00FB13), RUNE_C(0x00FB17)},
{RUNE_C(0x00FF41), RUNE_C(0x00FF5A)},
{RUNE_C(0x010428), RUNE_C(0x01044F)},
{RUNE_C(0x0104D8), RUNE_C(0x0104FB)},
{RUNE_C(0x010597), RUNE_C(0x0105A1)},
{RUNE_C(0x0105A3), RUNE_C(0x0105B1)},
{RUNE_C(0x0105B3), RUNE_C(0x0105B9)},
{RUNE_C(0x0105BB), RUNE_C(0x0105BC)},
{RUNE_C(0x010CC0), RUNE_C(0x010CF2)},
{RUNE_C(0x0118C0), RUNE_C(0x0118DF)},
{RUNE_C(0x016E60), RUNE_C(0x016E7F)},
{RUNE_C(0x01E922), RUNE_C(0x01E943)},
};
__MLIB_DEFINE_BSEARCH_CONTAINS(lookup)
bool
uprop_is_cwt(rune ch)
{
return ch <= LATIN1_MAX ? TESTBIT(bs, ch) : mlib_lookup_contains(ch);
}
|