xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/src/std/internal/unicode_grapheme.d (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1*181254a7Smrg module std.internal.unicode_grapheme;
2*181254a7Smrg import std.internal.unicode_tables;
3*181254a7Smrg 
4*181254a7Smrg package(std):
5*181254a7Smrg 
6*181254a7Smrg static if (size_t.sizeof == 8)
7*181254a7Smrg {
8*181254a7Smrg     //832 bytes
9*181254a7Smrg     enum hangulLVTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20, 0x40],
10*181254a7Smrg             [0x100, 0x80, 0xa00], [0x2010000000000, 0x0, 0x0, 0x0, 0x0, 0x0,
11*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
12*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
13*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
14*181254a7Smrg             0x4000300020001, 0x1000700060005, 0x5000400030002, 0x2000100070006,
15*181254a7Smrg             0x6000500040003, 0x3000200010007, 0x7000600050004, 0x4000300020001,
16*181254a7Smrg             0x1000700060005, 0x5000400030002, 0x8000100070006, 0x0, 0x0, 0x0,
17*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
18*181254a7Smrg             0x100000010000001, 0x1000000100000, 0x10000001000,
19*181254a7Smrg             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
20*181254a7Smrg             0x100000010000001, 0x1000000100000, 0x10000001000,
21*181254a7Smrg             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
22*181254a7Smrg             0x100000010000001, 0x1000000100000, 0x10000001000,
23*181254a7Smrg             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
24*181254a7Smrg             0x100000010000001, 0x1000000100000, 0x10000001000,
25*181254a7Smrg             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
26*181254a7Smrg             0x10000001000000, 0x100000010000, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0]);
27*181254a7Smrg     //832 bytes
28*181254a7Smrg     enum hangulLVTTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20, 0x40],
29*181254a7Smrg             [0x100, 0x80, 0xa00], [0x2010000000000, 0x0, 0x0, 0x0, 0x0, 0x0,
30*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
31*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
32*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
33*181254a7Smrg             0x4000300020001, 0x1000700060005, 0x5000400030002, 0x2000100070006,
34*181254a7Smrg             0x6000500040003, 0x3000200010007, 0x7000600050004, 0x4000300020001,
35*181254a7Smrg             0x1000700060005, 0x5000400030002, 0x8000100070006, 0x0, 0x0, 0x0,
36*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
37*181254a7Smrg             0xfeffffffeffffffe, 0xfffeffffffefffff, 0xfffffeffffffefff,
38*181254a7Smrg             0xeffffffeffffffef, 0xffeffffffeffffff, 0xffffeffffffeffff,
39*181254a7Smrg             0xffffffeffffffeff, 0xfeffffffeffffffe, 0xfffeffffffefffff,
40*181254a7Smrg             0xfffffeffffffefff, 0xeffffffeffffffef, 0xffeffffffeffffff,
41*181254a7Smrg             0xffffeffffffeffff, 0xffffffeffffffeff, 0xfeffffffeffffffe,
42*181254a7Smrg             0xfffeffffffefffff, 0xfffffeffffffefff, 0xeffffffeffffffef,
43*181254a7Smrg             0xffeffffffeffffff, 0xffffeffffffeffff, 0xffffffeffffffeff,
44*181254a7Smrg             0xfeffffffeffffffe, 0xfffeffffffefffff, 0xfffffeffffffefff,
45*181254a7Smrg             0xeffffffeffffffef, 0xffeffffffeffffff, 0xffffeffffffeffff,
46*181254a7Smrg             0xffffffeffffffeff, 0xffeffffffeffffff, 0xffffeffffffeffff,
47*181254a7Smrg             0xffffffeff, 0x0, 0x0, 0x0, 0x0, 0x0]);
48*181254a7Smrg     //1536 bytes
49*181254a7Smrg     enum mcTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20, 0x60], [0x100,
50*181254a7Smrg             0x100, 0x1800], [0x202030202020100, 0x206020205020204,
51*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
52*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
53*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
54*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
55*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202, 0x0, 0x0,
56*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
57*181254a7Smrg             0x0, 0x0, 0x3000200010000, 0x6000000050004, 0x7, 0x8000000000000,
58*181254a7Smrg             0xb000a00090000, 0xc, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0,
59*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x110010000f000e, 0x0,
60*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x130012, 0x1400000000,
61*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x15000000000000, 0x0, 0x0, 0x0, 0x0, 0x0,
62*181254a7Smrg             0x0, 0x0, 0x0, 0x160000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
63*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc800000000000008, 0xde01,
64*181254a7Smrg             0xc00000000000000c, 0x801981, 0xc000000000000008, 0x1,
65*181254a7Smrg             0xc000000000000008, 0x1a01, 0x400000000000000c, 0x801981,
66*181254a7Smrg             0xc000000000000000, 0x801dc6, 0xe, 0x1e, 0x400000000000000c,
67*181254a7Smrg             0x600d9f, 0xc00000000000000c, 0x801dc1, 0xc, 0xc0000ff038000,
68*181254a7Smrg             0xc000000000000000, 0x8000000000000000, 0x0, 0x0,
69*181254a7Smrg             0x1902180000000000, 0x3f9c00c00000, 0x1c009f98, 0x0, 0x0, 0x0,
70*181254a7Smrg             0xc040000000000000, 0x1bf, 0x1fb0e7800000000, 0x0,
71*181254a7Smrg             0xffff000000000000, 0x301, 0x6000000, 0x7e01a00a00000, 0x0, 0x0,
72*181254a7Smrg             0xe820000000000010, 0x1b, 0x34c200000004, 0xc5c8000000000,
73*181254a7Smrg             0x300ff000000000, 0x0, 0x0, 0xc000200000000, 0xc00000000000, 0x0,
74*181254a7Smrg             0x0, 0x0, 0x9800000000, 0x0, 0xfff0000000000003, 0xf, 0x0, 0xc0000,
75*181254a7Smrg             0xec30000000000008, 0x1, 0x19800000000000, 0x800000000002000, 0x0,
76*181254a7Smrg             0x20c80000000000, 0x0, 0x0, 0x0, 0x16d800000000, 0x5, 0x0,
77*181254a7Smrg             0x187000000000004, 0x0, 0x100000000000, 0x0, 0x8038000000000004,
78*181254a7Smrg             0x1, 0x0, 0x0, 0x40d00000000000, 0x0, 0x0, 0x7ffffffffffe0000, 0x0,
79*181254a7Smrg             0x0, 0x0, 0x7e06000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
80*181254a7Smrg     //2336 bytes
81*181254a7Smrg     enum graphemeExtendTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20,
82*181254a7Smrg             0x70], [0x100, 0x140, 0x2d00], [0x402030202020100,
83*181254a7Smrg             0x207020206020205, 0x202020202020202, 0x202020202020202,
84*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
85*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
86*181254a7Smrg             0x202020202020202, 0x202020202020202, 0x202020202020202,
87*181254a7Smrg             0x202020202020202, 0x202020202020208, 0x202020202020202,
88*181254a7Smrg             0x202020202020202, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
89*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000000000, 0x5000400030002,
90*181254a7Smrg             0x9000800070006, 0xd000c000b000a, 0xf00000000000e,
91*181254a7Smrg             0x10000000000000, 0x14001300120011, 0x160015, 0x17, 0x0, 0x0,
92*181254a7Smrg             0x190018, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
93*181254a7Smrg             0x0, 0x0, 0x1b00000000, 0x1f001e001d001c, 0x0, 0x0, 0x0, 0x0, 0x0,
94*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20000000000000, 0x22002100000000,
95*181254a7Smrg             0x230000, 0x0, 0x2400000000, 0x0, 0x260025, 0x2700000000, 0x0, 0x0,
96*181254a7Smrg             0x0, 0x0, 0x0, 0x28000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
97*181254a7Smrg             0x0, 0x2a00290000, 0x0, 0x0, 0x0, 0x2b0000, 0x0, 0x0, 0x0, 0x0,
98*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
99*181254a7Smrg             0x0, 0x0, 0xffffffffffffffff, 0xffffffffffff, 0x0, 0x0, 0x0, 0x0,
100*181254a7Smrg             0x3f8, 0x0, 0x0, 0x0, 0xbffffffffffe0000, 0xb6, 0x7ff0000,
101*181254a7Smrg             0x10000fffff800, 0x0, 0x3d9f9fc00000, 0xffff000000020000, 0x7ff,
102*181254a7Smrg             0x1ffc000000000, 0xff80000000000, 0x3eeffbc00000, 0xe000000, 0x0,
103*181254a7Smrg             0x7ffffff000000000, 0x1400000000000007, 0xc00fe21fe,
104*181254a7Smrg             0x5000000000000002, 0xc0080201e, 0x1000000000000006,
105*181254a7Smrg             0x23000000023986, 0x1000000000000006, 0xc000021be,
106*181254a7Smrg             0xd000000000000002, 0xc00c0201e, 0x4000000000000004, 0x802001,
107*181254a7Smrg             0xc000000000000000, 0xc00603dc1, 0x9000000000000000, 0xc00603044,
108*181254a7Smrg             0x4000000000000000, 0xc0080201e, 0x0, 0x805c8400,
109*181254a7Smrg             0x7f2000000000000, 0x7f80, 0x1bf2000000000000, 0x3f00,
110*181254a7Smrg             0x2a0000003000000, 0x7ffe000000000000, 0x1ffffffffeffe0df, 0x40,
111*181254a7Smrg             0x66fde00000000000, 0x1e0001c3000000, 0x20002064, 0x0, 0x0,
112*181254a7Smrg             0xe0000000, 0x0, 0x0, 0x1c0000001c0000, 0xc0000000c0000,
113*181254a7Smrg             0x3fb0000000000000, 0x200ffe40, 0x3800, 0x0, 0x20000000000, 0x0,
114*181254a7Smrg             0xe04018700000000, 0x0, 0x0, 0x0, 0x9800000, 0x9ff81fe57f400000,
115*181254a7Smrg             0x0, 0x0, 0x17d000000000000f, 0xff80000000004, 0xb3c00000003,
116*181254a7Smrg             0x3a34000000000, 0xcff00000000000, 0x0, 0x0, 0x1021fdfff70000, 0x0,
117*181254a7Smrg             0x0, 0x0, 0xf000007fffffffff, 0x3000, 0x0, 0x0, 0x1ffffffff0000,
118*181254a7Smrg             0x0, 0x0, 0x0, 0x3800000000000, 0x0, 0x8000000000000000, 0x0,
119*181254a7Smrg             0xffffffff00000000, 0xfc0000000000, 0x0, 0x6000000, 0x0, 0x0,
120*181254a7Smrg             0x3ff7800000000000, 0x80000000, 0x3000000000000, 0x6000000844, 0x0,
121*181254a7Smrg             0x0, 0x3ffff00000010, 0x3fc000000000, 0x3ff80, 0x13c8000000000007,
122*181254a7Smrg             0x0, 0x667e0000000000, 0x1008, 0xc19d000000000000,
123*181254a7Smrg             0x40300000000002, 0x0, 0x0, 0x0, 0x212000000000, 0x40000000, 0x0,
124*181254a7Smrg             0x0, 0x0, 0x7f0000ffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0000000, 0x0,
125*181254a7Smrg             0x0, 0x0, 0x0, 0x2000000000000000, 0x870000000000f06e, 0x0, 0x0,
126*181254a7Smrg             0x0, 0xff00000000000002, 0x7f, 0x678000000000003, 0x0,
127*181254a7Smrg             0x1fef8000000007, 0x0, 0x7fc0000000000003, 0x0, 0x0, 0x0,
128*181254a7Smrg             0xbf280000000000, 0x0, 0x0, 0x0, 0x78000, 0x0, 0x0,
129*181254a7Smrg             0xf807c3a000000000, 0x3c0000000fe7, 0x0, 0x0, 0x1c, 0x0, 0x0,
130*181254a7Smrg             0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff,
131*181254a7Smrg             0xffffffffffff, 0x0, 0x0, 0x0, 0x0]);
132*181254a7Smrg 
133*181254a7Smrg }
134*181254a7Smrg 
135*181254a7Smrg static if (size_t.sizeof == 4)
136*181254a7Smrg {
137*181254a7Smrg     //832 bytes
138*181254a7Smrg     enum hangulLVTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40, 0x80],
139*181254a7Smrg             [0x100, 0x80, 0xa00], [0x0, 0x20100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
140*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
141*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
142*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
143*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
144*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
145*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
146*181254a7Smrg             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
147*181254a7Smrg             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
148*181254a7Smrg             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
149*181254a7Smrg             0x80001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
150*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
151*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x10000001, 0x1000000, 0x100000, 0x10000,
152*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
153*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
154*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
155*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
156*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
157*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
158*181254a7Smrg             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
159*181254a7Smrg             0x1000, 0x100, 0x10, 0x1000000, 0x100000, 0x10000, 0x1000, 0x100,
160*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
161*181254a7Smrg     //832 bytes
162*181254a7Smrg     enum hangulLVTTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40, 0x80],
163*181254a7Smrg             [0x100, 0x80, 0xa00], [0x0, 0x20100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
164*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
165*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
166*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
167*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
168*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
169*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
170*181254a7Smrg             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
171*181254a7Smrg             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
172*181254a7Smrg             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
173*181254a7Smrg             0x80001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
174*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
175*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
176*181254a7Smrg             0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
177*181254a7Smrg             0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
178*181254a7Smrg             0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
179*181254a7Smrg             0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
180*181254a7Smrg             0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
181*181254a7Smrg             0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
182*181254a7Smrg             0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
183*181254a7Smrg             0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
184*181254a7Smrg             0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
185*181254a7Smrg             0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
186*181254a7Smrg             0xfffffeff, 0xffffffef, 0xfeffffff, 0xffefffff, 0xfffeffff,
187*181254a7Smrg             0xffffefff, 0xfffffeff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
188*181254a7Smrg             0x0]);
189*181254a7Smrg     //1536 bytes
190*181254a7Smrg     enum mcTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40, 0xc0], [0x100,
191*181254a7Smrg             0x100, 0x1800], [0x2020100, 0x2020302, 0x5020204, 0x2060202,
192*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
193*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
194*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
195*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
196*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
197*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
198*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
199*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000, 0x30002, 0x50004,
200*181254a7Smrg             0x60000, 0x7, 0x0, 0x0, 0x80000, 0x90000, 0xb000a, 0xc, 0x0, 0x0,
201*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0,
202*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
203*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf000e, 0x110010,
204*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
205*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x130012, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0,
206*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x150000, 0x0, 0x0, 0x0,
207*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
208*181254a7Smrg             0x160000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
209*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
210*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xc8000000, 0xde01, 0x0,
211*181254a7Smrg             0xc, 0xc0000000, 0x801981, 0x0, 0x8, 0xc0000000, 0x1, 0x0, 0x8,
212*181254a7Smrg             0xc0000000, 0x1a01, 0x0, 0xc, 0x40000000, 0x801981, 0x0, 0x0,
213*181254a7Smrg             0xc0000000, 0x801dc6, 0x0, 0xe, 0x0, 0x1e, 0x0, 0xc, 0x40000000,
214*181254a7Smrg             0x600d9f, 0x0, 0xc, 0xc0000000, 0x801dc1, 0x0, 0xc, 0x0,
215*181254a7Smrg             0xff038000, 0xc0000, 0x0, 0xc0000000, 0x0, 0x80000000, 0x0, 0x0,
216*181254a7Smrg             0x0, 0x0, 0x0, 0x19021800, 0xc00000, 0x3f9c, 0x1c009f98, 0x0, 0x0,
217*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0400000, 0x1bf, 0x0, 0x0,
218*181254a7Smrg             0x1fb0e78, 0x0, 0x0, 0x0, 0xffff0000, 0x301, 0x0, 0x6000000, 0x0,
219*181254a7Smrg             0xa00000, 0x7e01a, 0x0, 0x0, 0x0, 0x0, 0x10, 0xe8200000, 0x1b, 0x0,
220*181254a7Smrg             0x4, 0x34c2, 0x0, 0xc5c80, 0x0, 0x300ff0, 0x0, 0x0, 0x0, 0x0, 0x0,
221*181254a7Smrg             0xc0002, 0x0, 0xc000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x98, 0x0,
222*181254a7Smrg             0x0, 0x3, 0xfff00000, 0xf, 0x0, 0x0, 0x0, 0xc0000, 0x0, 0x8,
223*181254a7Smrg             0xec300000, 0x1, 0x0, 0x0, 0x198000, 0x2000, 0x8000000, 0x0, 0x0,
224*181254a7Smrg             0x0, 0x20c800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16d8, 0x5, 0x0,
225*181254a7Smrg             0x0, 0x0, 0x4, 0x1870000, 0x0, 0x0, 0x0, 0x1000, 0x0, 0x0, 0x4,
226*181254a7Smrg             0x80380000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40d000, 0x0, 0x0,
227*181254a7Smrg             0x0, 0x0, 0xfffe0000, 0x7fffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
228*181254a7Smrg             0x0, 0x7e060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
229*181254a7Smrg     //2336 bytes
230*181254a7Smrg     enum graphemeExtendTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40,
231*181254a7Smrg             0xe0], [0x100, 0x140, 0x2d00], [0x2020100, 0x4020302, 0x6020205,
232*181254a7Smrg             0x2070202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
233*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
234*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
235*181254a7Smrg             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
236*181254a7Smrg             0x2020202, 0x2020208, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
237*181254a7Smrg             0x2020202, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
238*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
239*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000, 0x30002, 0x50004,
240*181254a7Smrg             0x70006, 0x90008, 0xb000a, 0xd000c, 0xe, 0xf0000, 0x0, 0x100000,
241*181254a7Smrg             0x120011, 0x140013, 0x160015, 0x0, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0,
242*181254a7Smrg             0x190018, 0x0, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
243*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
244*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x1b, 0x1d001c, 0x1f001e, 0x0, 0x0, 0x0, 0x0,
245*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
246*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x200000, 0x0, 0x220021, 0x230000,
247*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x24, 0x0, 0x0, 0x260025, 0x0, 0x0, 0x27, 0x0,
248*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x280000, 0x0,
249*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
250*181254a7Smrg             0x0, 0x0, 0x290000, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2b0000,
251*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
252*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
253*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
254*181254a7Smrg             0xffffffff, 0xffffffff, 0xffffffff, 0xffff, 0x0, 0x0, 0x0, 0x0,
255*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x3f8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
256*181254a7Smrg             0xfffe0000, 0xbfffffff, 0xb6, 0x0, 0x7ff0000, 0x0, 0xfffff800,
257*181254a7Smrg             0x10000, 0x0, 0x0, 0x9fc00000, 0x3d9f, 0x20000, 0xffff0000, 0x7ff,
258*181254a7Smrg             0x0, 0x0, 0x1ffc0, 0x0, 0xff800, 0xfbc00000, 0x3eef, 0xe000000,
259*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x7ffffff0, 0x7, 0x14000000, 0xfe21fe, 0xc,
260*181254a7Smrg             0x2, 0x50000000, 0x80201e, 0xc, 0x6, 0x10000000, 0x23986, 0x230000,
261*181254a7Smrg             0x6, 0x10000000, 0x21be, 0xc, 0x2, 0xd0000000, 0xc0201e, 0xc, 0x4,
262*181254a7Smrg             0x40000000, 0x802001, 0x0, 0x0, 0xc0000000, 0x603dc1, 0xc, 0x0,
263*181254a7Smrg             0x90000000, 0x603044, 0xc, 0x0, 0x40000000, 0x80201e, 0xc, 0x0,
264*181254a7Smrg             0x0, 0x805c8400, 0x0, 0x0, 0x7f20000, 0x7f80, 0x0, 0x0, 0x1bf20000,
265*181254a7Smrg             0x3f00, 0x0, 0x3000000, 0x2a00000, 0x0, 0x7ffe0000, 0xfeffe0df,
266*181254a7Smrg             0x1fffffff, 0x40, 0x0, 0x0, 0x66fde000, 0xc3000000, 0x1e0001,
267*181254a7Smrg             0x20002064, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0000000, 0x0, 0x0, 0x0,
268*181254a7Smrg             0x0, 0x0, 0x1c0000, 0x1c0000, 0xc0000, 0xc0000, 0x0, 0x3fb00000,
269*181254a7Smrg             0x200ffe40, 0x0, 0x3800, 0x0, 0x0, 0x0, 0x0, 0x200, 0x0, 0x0, 0x0,
270*181254a7Smrg             0xe040187, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9800000, 0x0,
271*181254a7Smrg             0x7f400000, 0x9ff81fe5, 0x0, 0x0, 0x0, 0x0, 0xf, 0x17d00000, 0x4,
272*181254a7Smrg             0xff800, 0x3, 0xb3c, 0x0, 0x3a340, 0x0, 0xcff000, 0x0, 0x0, 0x0,
273*181254a7Smrg             0x0, 0xfff70000, 0x1021fd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
274*181254a7Smrg             0xffffffff, 0xf000007f, 0x3000, 0x0, 0x0, 0x0, 0x0, 0x0,
275*181254a7Smrg             0xffff0000, 0x1ffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38000,
276*181254a7Smrg             0x0, 0x0, 0x0, 0x80000000, 0x0, 0x0, 0x0, 0xffffffff, 0x0, 0xfc00,
277*181254a7Smrg             0x0, 0x0, 0x6000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff78000,
278*181254a7Smrg             0x80000000, 0x0, 0x0, 0x30000, 0x844, 0x60, 0x0, 0x0, 0x0, 0x0,
279*181254a7Smrg             0x10, 0x3ffff, 0x0, 0x3fc0, 0x3ff80, 0x0, 0x7, 0x13c80000, 0x0,
280*181254a7Smrg             0x0, 0x0, 0x667e00, 0x1008, 0x0, 0x0, 0xc19d0000, 0x2, 0x403000,
281*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2120, 0x40000000, 0x0, 0x0,
282*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0,
283*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0xc0000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
284*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x20000000, 0xf06e, 0x87000000, 0x0, 0x0, 0x0,
285*181254a7Smrg             0x0, 0x0, 0x0, 0x2, 0xff000000, 0x7f, 0x0, 0x3, 0x6780000, 0x0,
286*181254a7Smrg             0x0, 0x7, 0x1fef80, 0x0, 0x0, 0x3, 0x7fc00000, 0x0, 0x0, 0x0, 0x0,
287*181254a7Smrg             0x0, 0x0, 0x0, 0xbf2800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78000,
288*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf807c3a0, 0xfe7, 0x3c00, 0x0, 0x0,
289*181254a7Smrg             0x0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff,
290*181254a7Smrg             0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffff,
291*181254a7Smrg             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
292*181254a7Smrg 
293*181254a7Smrg }
294