2 #line 1 "hb-ot-shape-complex-indic-machine.rl"
4 * Copyright © 2011,2012 Google, Inc.
6 * This is part of HarfBuzz, a text shaping library.
8 * Permission is hereby granted, without written agreement and without
9 * license or royalty fees, to use, copy, modify, and distribute this
10 * software and its documentation for any purpose, provided that the
11 * above copyright notice and the following two paragraphs appear in
12 * all copies of this software.
14 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
20 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
23 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
26 * Google Author(s): Behdad Esfahbod
29 #ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
30 #define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
32 #include "hb-private.hh"
35 #line 36 "hb-ot-shape-complex-indic-machine.hh.tmp"
36 static const unsigned char _indic_syllable_machine_trans_keys
[] = {
37 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
38 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
39 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
40 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u,
42 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u,
43 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u,
44 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u,
45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
46 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
47 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
48 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
49 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
50 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u,
51 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
52 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
53 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
54 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
55 4u, 14u, 5u, 7u, 5u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
56 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1u, 16u, 13u, 13u, 4u, 4u, 6u, 6u,
57 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
58 6u, 6u, 16u, 16u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u,
59 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u,
60 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u,
61 5u, 9u, 9u, 9u, 9u, 9u, 3u, 17u, 3u, 9u, 8u, 9u, 3u, 9u, 3u, 13u,
62 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
63 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
64 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u,
65 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u,
66 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u,
67 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 3u, 14u, 3u, 14u,
68 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u,
69 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u,
70 4u, 14u, 5u, 14u, 8u, 14u, 5u, 9u, 9u, 9u, 9u, 9u, 3u, 17u, 3u, 9u,
71 8u, 9u, 3u, 9u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
72 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u,
73 3u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
74 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
75 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u,
76 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u, 3u, 14u,
77 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u,
78 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u,
79 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u, 5u, 9u, 9u, 9u, 9u, 9u, 3u, 17u,
80 3u, 9u, 8u, 9u, 3u, 9u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
81 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
82 6u, 14u, 3u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u,
83 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
84 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
85 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u,
86 3u, 14u, 4u, 14u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u,
87 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u,
88 4u, 14u, 1u, 16u, 3u, 17u, 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u, 5u, 9u,
89 9u, 9u, 9u, 9u, 3u, 17u, 3u, 9u, 8u, 9u, 3u, 9u, 3u, 13u, 3u, 14u,
90 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
91 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u, 3u, 14u, 1u, 16u, 3u, 14u, 3u, 14u,
92 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u,
93 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u,
94 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u,
95 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u, 3u, 17u, 1u, 16u, 4u, 14u, 1u, 16u,
96 3u, 17u, 3u, 14u, 4u, 14u, 5u, 9u, 9u, 9u, 9u, 9u, 3u, 14u, 3u, 14u,
97 1u, 16u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
98 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 8u, 14u, 3u, 17u, 3u, 9u, 8u, 9u,
99 3u, 9u, 3u, 13u, 1u, 16u, 0
102 static const char _indic_syllable_machine_key_spans
[] = {
103 16, 1, 3, 3, 1, 3, 3, 1,
104 3, 3, 1, 3, 3, 1, 1, 1,
105 1, 4, 1, 1, 4, 1, 1, 4,
106 1, 1, 11, 11, 11, 11, 11, 11,
107 11, 11, 11, 11, 16, 1, 3, 3,
108 1, 3, 3, 1, 3, 3, 1, 3,
109 3, 1, 1, 1, 1, 4, 1, 1,
110 4, 1, 1, 4, 1, 1, 11, 11,
111 11, 11, 11, 11, 11, 11, 11, 11,
112 16, 1, 3, 3, 1, 3, 3, 1,
113 3, 3, 1, 3, 3, 1, 1, 1,
114 1, 4, 1, 1, 4, 1, 1, 4,
115 1, 1, 11, 11, 11, 11, 11, 11,
116 11, 11, 11, 16, 1, 3, 3, 1,
117 3, 3, 1, 3, 3, 1, 3, 3,
118 1, 1, 1, 1, 4, 1, 1, 4,
119 1, 1, 4, 1, 1, 11, 11, 11,
120 11, 11, 11, 11, 11, 11, 11, 11,
121 11, 3, 3, 3, 3, 1, 3, 3,
122 1, 3, 3, 1, 16, 1, 1, 1,
123 1, 4, 1, 1, 4, 1, 1, 4,
124 1, 1, 16, 15, 12, 11, 16, 15,
125 12, 11, 16, 15, 12, 11, 16, 15,
126 12, 11, 16, 15, 12, 11, 10, 7,
127 5, 1, 1, 15, 7, 2, 7, 11,
128 12, 12, 11, 10, 12, 11, 10, 12,
129 11, 10, 12, 11, 9, 12, 11, 16,
130 12, 12, 16, 16, 16, 16, 16, 12,
131 12, 16, 16, 16, 16, 16, 12, 12,
132 16, 16, 16, 16, 16, 12, 12, 16,
133 16, 16, 16, 16, 12, 12, 12, 12,
134 11, 16, 15, 12, 11, 16, 15, 12,
135 11, 16, 15, 12, 11, 16, 15, 12,
136 11, 10, 7, 5, 1, 1, 15, 7,
137 2, 7, 11, 12, 12, 11, 10, 12,
138 11, 10, 12, 11, 10, 12, 11, 9,
139 12, 16, 12, 12, 16, 16, 16, 16,
140 16, 12, 12, 16, 16, 16, 16, 16,
141 12, 12, 16, 16, 16, 16, 16, 12,
142 12, 16, 16, 16, 16, 11, 16, 12,
143 12, 11, 16, 15, 12, 11, 16, 15,
144 12, 11, 16, 15, 12, 11, 16, 15,
145 12, 11, 10, 7, 5, 1, 1, 15,
146 7, 2, 7, 11, 12, 12, 11, 10,
147 12, 11, 10, 12, 11, 10, 12, 11,
148 9, 12, 16, 12, 12, 16, 16, 16,
149 16, 16, 12, 12, 16, 16, 16, 16,
150 16, 12, 12, 16, 16, 16, 16, 16,
151 12, 12, 16, 16, 16, 16, 16, 11,
152 12, 11, 12, 12, 11, 16, 15, 12,
153 11, 16, 15, 12, 11, 16, 15, 12,
154 11, 16, 15, 12, 11, 10, 7, 5,
155 1, 1, 15, 7, 2, 7, 11, 12,
156 12, 11, 10, 12, 11, 10, 12, 11,
157 10, 12, 11, 9, 12, 16, 12, 12,
158 16, 16, 16, 16, 16, 12, 12, 16,
159 16, 16, 16, 16, 12, 12, 16, 16,
160 16, 16, 16, 12, 12, 16, 16, 16,
161 16, 16, 12, 16, 15, 16, 11, 16,
162 15, 12, 11, 5, 1, 1, 12, 12,
163 16, 12, 11, 10, 12, 11, 10, 12,
164 11, 10, 12, 11, 7, 15, 7, 2,
168 static const short _indic_syllable_machine_index_offsets
[] = {
169 0, 17, 19, 23, 27, 29, 33, 37,
170 39, 43, 47, 49, 53, 57, 59, 61,
171 63, 65, 70, 72, 74, 79, 81, 83,
172 88, 90, 92, 104, 116, 128, 140, 152,
173 164, 176, 188, 200, 212, 229, 231, 235,
174 239, 241, 245, 249, 251, 255, 259, 261,
175 265, 269, 271, 273, 275, 277, 282, 284,
176 286, 291, 293, 295, 300, 302, 304, 316,
177 328, 340, 352, 364, 376, 388, 400, 412,
178 424, 441, 443, 447, 451, 453, 457, 461,
179 463, 467, 471, 473, 477, 481, 483, 485,
180 487, 489, 494, 496, 498, 503, 505, 507,
181 512, 514, 516, 528, 540, 552, 564, 576,
182 588, 600, 612, 624, 641, 643, 647, 651,
183 653, 657, 661, 663, 667, 671, 673, 677,
184 681, 683, 685, 687, 689, 694, 696, 698,
185 703, 705, 707, 712, 714, 716, 728, 740,
186 752, 764, 776, 788, 800, 812, 824, 836,
187 848, 860, 864, 868, 872, 876, 878, 882,
188 886, 888, 892, 896, 898, 915, 917, 919,
189 921, 923, 928, 930, 932, 937, 939, 941,
190 946, 948, 950, 967, 983, 996, 1008, 1025,
191 1041, 1054, 1066, 1083, 1099, 1112, 1124, 1141,
192 1157, 1170, 1182, 1199, 1215, 1228, 1240, 1251,
193 1259, 1265, 1267, 1269, 1285, 1293, 1296, 1304,
194 1316, 1329, 1342, 1354, 1365, 1378, 1390, 1401,
195 1414, 1426, 1437, 1450, 1462, 1472, 1485, 1497,
196 1514, 1527, 1540, 1557, 1574, 1591, 1608, 1625,
197 1638, 1651, 1668, 1685, 1702, 1719, 1736, 1749,
198 1762, 1779, 1796, 1813, 1830, 1847, 1860, 1873,
199 1890, 1907, 1924, 1941, 1958, 1971, 1984, 1997,
200 2010, 2022, 2039, 2055, 2068, 2080, 2097, 2113,
201 2126, 2138, 2155, 2171, 2184, 2196, 2213, 2229,
202 2242, 2254, 2265, 2273, 2279, 2281, 2283, 2299,
203 2307, 2310, 2318, 2330, 2343, 2356, 2368, 2379,
204 2392, 2404, 2415, 2428, 2440, 2451, 2464, 2476,
205 2486, 2499, 2516, 2529, 2542, 2559, 2576, 2593,
206 2610, 2627, 2640, 2653, 2670, 2687, 2704, 2721,
207 2738, 2751, 2764, 2781, 2798, 2815, 2832, 2849,
208 2862, 2875, 2892, 2909, 2926, 2943, 2955, 2972,
209 2985, 2998, 3010, 3027, 3043, 3056, 3068, 3085,
210 3101, 3114, 3126, 3143, 3159, 3172, 3184, 3201,
211 3217, 3230, 3242, 3253, 3261, 3267, 3269, 3271,
212 3287, 3295, 3298, 3306, 3318, 3331, 3344, 3356,
213 3367, 3380, 3392, 3403, 3416, 3428, 3439, 3452,
214 3464, 3474, 3487, 3504, 3517, 3530, 3547, 3564,
215 3581, 3598, 3615, 3628, 3641, 3658, 3675, 3692,
216 3709, 3726, 3739, 3752, 3769, 3786, 3803, 3820,
217 3837, 3850, 3863, 3880, 3897, 3914, 3931, 3948,
218 3960, 3973, 3985, 3998, 4011, 4023, 4040, 4056,
219 4069, 4081, 4098, 4114, 4127, 4139, 4156, 4172,
220 4185, 4197, 4214, 4230, 4243, 4255, 4266, 4274,
221 4280, 4282, 4284, 4300, 4308, 4311, 4319, 4331,
222 4344, 4357, 4369, 4380, 4393, 4405, 4416, 4429,
223 4441, 4452, 4465, 4477, 4487, 4500, 4517, 4530,
224 4543, 4560, 4577, 4594, 4611, 4628, 4641, 4654,
225 4671, 4688, 4705, 4722, 4739, 4752, 4765, 4782,
226 4799, 4816, 4833, 4850, 4863, 4876, 4893, 4910,
227 4927, 4944, 4961, 4974, 4991, 5007, 5024, 5036,
228 5053, 5069, 5082, 5094, 5100, 5102, 5104, 5117,
229 5130, 5147, 5160, 5172, 5183, 5196, 5208, 5219,
230 5232, 5244, 5255, 5268, 5280, 5288, 5304, 5312,
234 static const short _indic_syllable_machine_indicies
[] = {
235 1, 2, 0, 0, 0, 0, 0, 0,
236 0, 0, 0, 0, 0, 0, 0, 1,
237 0, 3, 0, 4, 4, 5, 0, 6,
238 6, 5, 0, 5, 0, 7, 7, 8,
239 0, 9, 9, 8, 0, 8, 0, 10,
240 10, 11, 0, 12, 12, 11, 0, 11,
241 0, 13, 13, 14, 0, 15, 15, 14,
242 0, 14, 0, 16, 0, 17, 0, 18,
243 0, 19, 13, 13, 14, 0, 20, 0,
244 21, 0, 22, 10, 10, 11, 0, 23,
245 0, 24, 0, 25, 7, 7, 8, 0,
246 26, 0, 27, 0, 28, 4, 4, 5,
247 0, 0, 0, 0, 0, 0, 28, 0,
248 28, 4, 4, 5, 0, 0, 0, 0,
249 0, 29, 28, 0, 30, 4, 4, 5,
250 0, 0, 0, 0, 0, 0, 30, 0,
251 30, 4, 4, 5, 0, 0, 0, 0,
252 0, 31, 30, 0, 32, 4, 4, 5,
253 0, 0, 0, 0, 0, 0, 32, 0,
254 32, 4, 4, 5, 0, 0, 0, 0,
255 0, 33, 32, 0, 34, 4, 4, 5,
256 0, 0, 0, 0, 0, 0, 34, 0,
257 34, 4, 4, 5, 0, 0, 0, 0,
258 0, 35, 34, 0, 36, 4, 4, 5,
259 0, 0, 0, 0, 0, 0, 36, 0,
260 36, 4, 4, 5, 0, 0, 0, 0,
261 0, 37, 36, 0, 39, 40, 38, 38,
262 38, 38, 38, 38, 38, 38, 38, 38,
263 38, 38, 38, 39, 38, 41, 38, 42,
264 42, 43, 38, 44, 44, 43, 38, 43,
265 38, 45, 45, 46, 38, 47, 47, 46,
266 38, 46, 38, 48, 48, 49, 38, 50,
267 50, 49, 38, 49, 38, 51, 51, 52,
268 38, 53, 53, 52, 38, 52, 38, 54,
269 38, 55, 38, 56, 38, 57, 51, 51,
270 52, 38, 58, 38, 59, 38, 60, 48,
271 48, 49, 38, 61, 38, 62, 38, 63,
272 45, 45, 46, 38, 64, 38, 65, 38,
273 66, 42, 42, 43, 38, 38, 38, 38,
274 38, 38, 66, 38, 66, 42, 42, 43,
275 38, 38, 38, 38, 38, 67, 66, 38,
276 68, 42, 42, 43, 38, 38, 38, 38,
277 38, 38, 68, 38, 68, 42, 42, 43,
278 38, 38, 38, 38, 38, 69, 68, 38,
279 70, 42, 42, 43, 38, 38, 38, 38,
280 38, 38, 70, 38, 70, 42, 42, 43,
281 38, 38, 38, 38, 38, 71, 70, 38,
282 72, 42, 42, 43, 38, 38, 38, 38,
283 38, 38, 72, 38, 72, 42, 42, 43,
284 38, 38, 38, 38, 38, 73, 72, 38,
285 74, 42, 42, 43, 38, 38, 38, 38,
286 38, 38, 74, 38, 74, 42, 42, 43,
287 38, 38, 38, 38, 38, 75, 74, 38,
288 77, 78, 76, 76, 76, 76, 76, 76,
289 76, 76, 76, 76, 76, 76, 76, 77,
290 76, 79, 76, 80, 80, 81, 76, 83,
291 83, 81, 82, 81, 82, 84, 84, 85,
292 76, 86, 86, 85, 76, 85, 76, 87,
293 87, 88, 76, 89, 89, 88, 76, 88,
294 76, 90, 90, 91, 76, 92, 92, 91,
295 76, 91, 76, 93, 76, 94, 76, 95,
296 76, 96, 90, 90, 91, 76, 97, 76,
297 98, 76, 99, 87, 87, 88, 76, 100,
298 76, 101, 76, 102, 84, 84, 85, 76,
299 103, 76, 104, 76, 105, 80, 80, 81,
300 76, 76, 76, 76, 76, 76, 105, 76,
301 105, 80, 80, 81, 76, 76, 76, 76,
302 76, 106, 105, 76, 107, 80, 80, 81,
303 76, 76, 76, 76, 76, 76, 107, 76,
304 107, 80, 80, 81, 76, 76, 76, 76,
305 76, 108, 107, 76, 109, 80, 80, 81,
306 76, 76, 76, 76, 76, 76, 109, 76,
307 109, 80, 80, 81, 76, 76, 76, 76,
308 76, 110, 109, 76, 111, 80, 80, 81,
309 82, 82, 82, 82, 82, 82, 111, 82,
310 111, 80, 80, 81, 76, 76, 76, 76,
311 76, 112, 111, 76, 113, 80, 80, 81,
312 76, 76, 76, 76, 76, 76, 113, 76,
313 115, 116, 114, 114, 114, 114, 114, 114,
314 114, 114, 114, 114, 114, 114, 114, 115,
315 114, 117, 114, 118, 118, 119, 114, 120,
316 120, 119, 114, 119, 114, 121, 121, 122,
317 114, 123, 123, 122, 114, 122, 114, 124,
318 124, 125, 114, 126, 126, 125, 114, 125,
319 114, 127, 127, 128, 114, 129, 129, 128,
320 114, 128, 114, 130, 114, 131, 114, 132,
321 114, 133, 127, 127, 128, 114, 134, 114,
322 135, 114, 136, 124, 124, 125, 114, 137,
323 114, 138, 114, 139, 121, 121, 122, 114,
324 140, 114, 141, 114, 142, 118, 118, 119,
325 114, 114, 114, 114, 114, 114, 142, 114,
326 142, 118, 118, 119, 114, 114, 114, 114,
327 114, 143, 142, 114, 144, 118, 118, 119,
328 114, 114, 114, 114, 114, 114, 144, 114,
329 144, 118, 118, 119, 114, 114, 114, 114,
330 114, 145, 144, 114, 146, 118, 118, 119,
331 114, 114, 114, 114, 114, 114, 146, 114,
332 146, 118, 118, 119, 114, 114, 114, 114,
333 114, 147, 146, 114, 148, 118, 118, 119,
334 114, 114, 114, 114, 114, 114, 148, 114,
335 148, 118, 118, 119, 114, 114, 114, 114,
336 114, 149, 148, 114, 150, 118, 118, 119,
337 114, 114, 114, 114, 114, 114, 150, 114,
338 150, 118, 118, 119, 114, 114, 114, 114,
339 114, 151, 150, 114, 113, 80, 80, 81,
340 76, 76, 76, 76, 76, 152, 113, 76,
341 111, 80, 80, 81, 0, 0, 0, 0,
342 0, 153, 111, 0, 154, 154, 155, 0,
343 6, 6, 155, 0, 156, 156, 157, 0,
344 158, 158, 157, 0, 157, 0, 159, 159,
345 160, 0, 161, 161, 160, 0, 160, 0,
346 162, 162, 163, 0, 164, 164, 163, 0,
347 163, 0, 165, 166, 0, 0, 0, 0,
348 0, 0, 0, 0, 0, 0, 0, 0,
349 0, 165, 0, 167, 0, 168, 0, 169,
350 0, 170, 0, 171, 162, 162, 163, 0,
351 172, 0, 173, 0, 174, 159, 159, 160,
352 0, 175, 0, 176, 0, 177, 156, 156,
353 157, 0, 178, 0, 179, 0, 181, 182,
354 183, 184, 185, 186, 81, 187, 188, 180,
355 189, 189, 152, 190, 191, 192, 180, 194,
356 195, 196, 197, 5, 198, 199, 200, 193,
357 193, 37, 201, 193, 193, 181, 193, 202,
358 195, 203, 203, 5, 198, 199, 200, 193,
359 193, 193, 201, 193, 195, 203, 203, 5,
360 198, 199, 200, 193, 193, 193, 201, 193,
361 204, 193, 193, 193, 18, 205, 193, 198,
362 199, 193, 193, 193, 193, 206, 193, 204,
363 193, 207, 208, 209, 210, 5, 198, 199,
364 200, 193, 193, 35, 211, 193, 193, 204,
365 193, 212, 208, 213, 213, 5, 198, 199,
366 200, 193, 193, 193, 211, 193, 208, 213,
367 213, 5, 198, 199, 200, 193, 193, 193,
368 211, 193, 214, 193, 193, 193, 18, 215,
369 193, 198, 199, 193, 193, 193, 193, 206,
370 193, 214, 193, 216, 217, 218, 219, 5,
371 198, 199, 200, 193, 193, 33, 220, 193,
372 193, 214, 193, 221, 217, 222, 222, 5,
373 198, 199, 200, 193, 193, 193, 220, 193,
374 217, 222, 222, 5, 198, 199, 200, 193,
375 193, 193, 220, 193, 223, 193, 193, 193,
376 18, 224, 193, 198, 199, 193, 193, 193,
377 193, 206, 193, 223, 193, 225, 226, 227,
378 228, 5, 198, 199, 200, 193, 193, 31,
379 229, 193, 193, 223, 193, 230, 226, 231,
380 231, 5, 198, 199, 200, 193, 193, 193,
381 229, 193, 226, 231, 231, 5, 198, 199,
382 200, 193, 193, 193, 229, 193, 232, 193,
383 193, 193, 18, 233, 193, 198, 199, 193,
384 193, 193, 193, 206, 193, 232, 193, 234,
385 235, 236, 237, 5, 198, 199, 200, 193,
386 193, 29, 238, 193, 193, 232, 193, 239,
387 235, 240, 240, 5, 198, 199, 200, 193,
388 193, 193, 238, 193, 235, 240, 240, 5,
389 198, 199, 200, 193, 193, 193, 238, 193,
390 18, 241, 193, 198, 199, 193, 193, 193,
391 193, 206, 193, 198, 199, 193, 193, 193,
392 193, 206, 193, 242, 193, 193, 193, 199,
393 193, 199, 193, 243, 193, 244, 193, 245,
394 246, 193, 198, 199, 193, 193, 193, 3,
395 193, 193, 193, 1, 193, 2, 193, 193,
396 193, 193, 198, 199, 193, 198, 199, 193,
397 244, 193, 193, 193, 193, 198, 199, 193,
398 244, 193, 245, 193, 193, 198, 199, 193,
399 193, 193, 3, 193, 18, 193, 247, 247,
400 5, 198, 199, 193, 193, 193, 193, 206,
401 193, 248, 27, 249, 250, 8, 198, 199,
402 193, 193, 193, 193, 206, 193, 27, 249,
403 250, 8, 198, 199, 193, 193, 193, 193,
404 206, 193, 249, 249, 8, 198, 199, 193,
405 193, 193, 193, 206, 193, 251, 24, 252,
406 253, 11, 198, 199, 193, 193, 193, 193,
407 206, 193, 24, 252, 253, 11, 198, 199,
408 193, 193, 193, 193, 206, 193, 252, 252,
409 11, 198, 199, 193, 193, 193, 193, 206,
410 193, 254, 21, 255, 256, 14, 198, 199,
411 193, 193, 193, 193, 206, 193, 21, 255,
412 256, 14, 198, 199, 193, 193, 193, 193,
413 206, 193, 255, 255, 14, 198, 199, 193,
414 193, 193, 193, 206, 193, 257, 18, 193,
415 258, 193, 198, 199, 193, 193, 193, 193,
416 206, 193, 18, 193, 258, 193, 198, 199,
417 193, 193, 193, 193, 206, 193, 259, 193,
418 198, 199, 193, 193, 193, 193, 206, 193,
419 18, 193, 193, 193, 193, 198, 199, 193,
420 193, 193, 193, 206, 193, 235, 240, 240,
421 5, 198, 199, 193, 193, 193, 193, 238,
422 193, 1, 2, 193, 193, 18, 241, 193,
423 198, 199, 193, 193, 193, 193, 206, 193,
424 1, 193, 234, 235, 240, 240, 5, 198,
425 199, 200, 193, 193, 193, 238, 193, 234,
426 235, 236, 240, 5, 198, 199, 200, 193,
427 193, 29, 238, 193, 232, 193, 260, 193,
428 247, 247, 5, 198, 199, 193, 193, 193,
429 193, 206, 193, 232, 193, 232, 193, 193,
430 193, 193, 193, 193, 198, 199, 193, 193,
431 193, 193, 206, 193, 232, 193, 232, 193,
432 193, 193, 193, 261, 193, 198, 199, 193,
433 193, 193, 193, 206, 193, 232, 193, 232,
434 193, 260, 193, 193, 193, 193, 198, 199,
435 193, 193, 193, 193, 206, 193, 232, 193,
436 232, 2, 193, 193, 18, 233, 193, 198,
437 199, 193, 193, 193, 193, 206, 193, 232,
438 193, 225, 226, 231, 231, 5, 198, 199,
439 200, 193, 193, 193, 229, 193, 225, 226,
440 227, 231, 5, 198, 199, 200, 193, 193,
441 31, 229, 193, 223, 193, 262, 193, 247,
442 247, 5, 198, 199, 193, 193, 193, 193,
443 206, 193, 223, 193, 223, 193, 193, 193,
444 193, 193, 193, 198, 199, 193, 193, 193,
445 193, 206, 193, 223, 193, 223, 193, 193,
446 193, 193, 263, 193, 198, 199, 193, 193,
447 193, 193, 206, 193, 223, 193, 223, 193,
448 262, 193, 193, 193, 193, 198, 199, 193,
449 193, 193, 193, 206, 193, 223, 193, 223,
450 2, 193, 193, 18, 224, 193, 198, 199,
451 193, 193, 193, 193, 206, 193, 223, 193,
452 216, 217, 222, 222, 5, 198, 199, 200,
453 193, 193, 193, 220, 193, 216, 217, 218,
454 222, 5, 198, 199, 200, 193, 193, 33,
455 220, 193, 214, 193, 264, 193, 247, 247,
456 5, 198, 199, 193, 193, 193, 193, 206,
457 193, 214, 193, 214, 193, 193, 193, 193,
458 193, 193, 198, 199, 193, 193, 193, 193,
459 206, 193, 214, 193, 214, 193, 193, 193,
460 193, 265, 193, 198, 199, 193, 193, 193,
461 193, 206, 193, 214, 193, 214, 193, 264,
462 193, 193, 193, 193, 198, 199, 193, 193,
463 193, 193, 206, 193, 214, 193, 214, 2,
464 193, 193, 18, 215, 193, 198, 199, 193,
465 193, 193, 193, 206, 193, 214, 193, 207,
466 208, 213, 213, 5, 198, 199, 200, 193,
467 193, 193, 211, 193, 207, 208, 209, 213,
468 5, 198, 199, 200, 193, 193, 35, 211,
469 193, 204, 193, 266, 193, 247, 247, 5,
470 198, 199, 193, 193, 193, 193, 206, 193,
471 204, 193, 204, 193, 193, 193, 193, 193,
472 193, 198, 199, 193, 193, 193, 193, 206,
473 193, 204, 193, 204, 193, 193, 193, 193,
474 267, 193, 198, 199, 193, 193, 193, 193,
475 206, 193, 204, 193, 204, 193, 266, 193,
476 193, 193, 193, 198, 199, 193, 193, 193,
477 193, 206, 193, 204, 193, 204, 2, 193,
478 193, 18, 205, 193, 198, 199, 193, 193,
479 193, 193, 206, 193, 204, 193, 194, 195,
480 203, 203, 5, 198, 199, 200, 193, 193,
481 193, 201, 193, 194, 195, 196, 203, 5,
482 198, 199, 200, 193, 193, 37, 201, 193,
483 269, 270, 271, 272, 43, 273, 274, 268,
484 268, 268, 75, 275, 268, 276, 270, 277,
485 272, 43, 273, 274, 268, 268, 268, 268,
486 275, 268, 270, 277, 272, 43, 273, 274,
487 268, 268, 268, 268, 275, 268, 278, 268,
488 268, 268, 56, 279, 268, 273, 274, 268,
489 268, 268, 268, 280, 268, 278, 268, 281,
490 282, 283, 284, 43, 273, 274, 268, 268,
491 268, 73, 285, 268, 268, 278, 268, 286,
492 282, 287, 287, 43, 273, 274, 268, 268,
493 268, 268, 285, 268, 282, 287, 287, 43,
494 273, 274, 268, 268, 268, 268, 285, 268,
495 288, 268, 268, 268, 56, 289, 268, 273,
496 274, 268, 268, 268, 268, 280, 268, 288,
497 268, 290, 291, 292, 293, 43, 273, 274,
498 268, 268, 268, 71, 294, 268, 268, 288,
499 268, 295, 291, 296, 296, 43, 273, 274,
500 268, 268, 268, 268, 294, 268, 291, 296,
501 296, 43, 273, 274, 268, 268, 268, 268,
502 294, 268, 297, 268, 268, 268, 56, 298,
503 268, 273, 274, 268, 268, 268, 268, 280,
504 268, 297, 268, 299, 300, 301, 302, 43,
505 273, 274, 268, 268, 268, 69, 303, 268,
506 268, 297, 268, 304, 300, 305, 305, 43,
507 273, 274, 268, 268, 268, 268, 303, 268,
508 300, 305, 305, 43, 273, 274, 268, 268,
509 268, 268, 303, 268, 306, 268, 268, 268,
510 56, 307, 268, 273, 274, 268, 268, 268,
511 268, 280, 268, 306, 268, 308, 309, 310,
512 311, 43, 273, 274, 268, 268, 268, 67,
513 312, 268, 268, 306, 268, 313, 309, 314,
514 314, 43, 273, 274, 268, 268, 268, 268,
515 312, 268, 309, 314, 314, 43, 273, 274,
516 268, 268, 268, 268, 312, 268, 56, 315,
517 268, 273, 274, 268, 268, 268, 268, 280,
518 268, 273, 274, 268, 268, 268, 268, 280,
519 268, 316, 268, 268, 268, 274, 268, 274,
520 268, 317, 268, 318, 268, 319, 320, 268,
521 273, 274, 268, 268, 268, 41, 268, 268,
522 268, 39, 268, 40, 268, 268, 268, 268,
523 273, 274, 268, 273, 274, 268, 318, 268,
524 268, 268, 268, 273, 274, 268, 318, 268,
525 319, 268, 268, 273, 274, 268, 268, 268,
526 41, 268, 56, 268, 321, 321, 43, 273,
527 274, 268, 268, 268, 268, 280, 268, 322,
528 65, 323, 324, 46, 273, 274, 268, 268,
529 268, 268, 280, 268, 65, 323, 324, 46,
530 273, 274, 268, 268, 268, 268, 280, 268,
531 323, 323, 46, 273, 274, 268, 268, 268,
532 268, 280, 268, 325, 62, 326, 327, 49,
533 273, 274, 268, 268, 268, 268, 280, 268,
534 62, 326, 327, 49, 273, 274, 268, 268,
535 268, 268, 280, 268, 326, 326, 49, 273,
536 274, 268, 268, 268, 268, 280, 268, 328,
537 59, 329, 330, 52, 273, 274, 268, 268,
538 268, 268, 280, 268, 59, 329, 330, 52,
539 273, 274, 268, 268, 268, 268, 280, 268,
540 329, 329, 52, 273, 274, 268, 268, 268,
541 268, 280, 268, 331, 56, 268, 332, 268,
542 273, 274, 268, 268, 268, 268, 280, 268,
543 56, 268, 332, 268, 273, 274, 268, 268,
544 268, 268, 280, 268, 333, 268, 273, 274,
545 268, 268, 268, 268, 280, 268, 56, 268,
546 268, 268, 268, 273, 274, 268, 268, 268,
547 268, 280, 268, 39, 40, 268, 268, 56,
548 315, 268, 273, 274, 268, 268, 268, 268,
549 280, 268, 39, 268, 308, 309, 314, 314,
550 43, 273, 274, 268, 268, 268, 268, 312,
551 268, 308, 309, 310, 314, 43, 273, 274,
552 268, 268, 268, 67, 312, 268, 306, 268,
553 334, 268, 321, 321, 43, 273, 274, 268,
554 268, 268, 268, 280, 268, 306, 268, 306,
555 268, 268, 268, 268, 268, 268, 273, 274,
556 268, 268, 268, 268, 280, 268, 306, 268,
557 306, 268, 268, 268, 268, 335, 268, 273,
558 274, 268, 268, 268, 268, 280, 268, 306,
559 268, 306, 268, 334, 268, 268, 268, 268,
560 273, 274, 268, 268, 268, 268, 280, 268,
561 306, 268, 306, 40, 268, 268, 56, 307,
562 268, 273, 274, 268, 268, 268, 268, 280,
563 268, 306, 268, 299, 300, 305, 305, 43,
564 273, 274, 268, 268, 268, 268, 303, 268,
565 299, 300, 301, 305, 43, 273, 274, 268,
566 268, 268, 69, 303, 268, 297, 268, 336,
567 268, 321, 321, 43, 273, 274, 268, 268,
568 268, 268, 280, 268, 297, 268, 297, 268,
569 268, 268, 268, 268, 268, 273, 274, 268,
570 268, 268, 268, 280, 268, 297, 268, 297,
571 268, 268, 268, 268, 337, 268, 273, 274,
572 268, 268, 268, 268, 280, 268, 297, 268,
573 297, 268, 336, 268, 268, 268, 268, 273,
574 274, 268, 268, 268, 268, 280, 268, 297,
575 268, 297, 40, 268, 268, 56, 298, 268,
576 273, 274, 268, 268, 268, 268, 280, 268,
577 297, 268, 290, 291, 296, 296, 43, 273,
578 274, 268, 268, 268, 268, 294, 268, 290,
579 291, 292, 296, 43, 273, 274, 268, 268,
580 268, 71, 294, 268, 288, 268, 338, 268,
581 321, 321, 43, 273, 274, 268, 268, 268,
582 268, 280, 268, 288, 268, 288, 268, 268,
583 268, 268, 268, 268, 273, 274, 268, 268,
584 268, 268, 280, 268, 288, 268, 288, 268,
585 268, 268, 268, 339, 268, 273, 274, 268,
586 268, 268, 268, 280, 268, 288, 268, 288,
587 268, 338, 268, 268, 268, 268, 273, 274,
588 268, 268, 268, 268, 280, 268, 288, 268,
589 288, 40, 268, 268, 56, 289, 268, 273,
590 274, 268, 268, 268, 268, 280, 268, 288,
591 268, 281, 282, 287, 287, 43, 273, 274,
592 268, 268, 268, 268, 285, 268, 281, 282,
593 283, 287, 43, 273, 274, 268, 268, 268,
594 73, 285, 268, 278, 268, 340, 268, 321,
595 321, 43, 273, 274, 268, 268, 268, 268,
596 280, 268, 278, 268, 278, 268, 268, 268,
597 268, 268, 268, 273, 274, 268, 268, 268,
598 268, 280, 268, 278, 268, 278, 268, 268,
599 268, 268, 341, 268, 273, 274, 268, 268,
600 268, 268, 280, 268, 278, 268, 278, 268,
601 340, 268, 268, 268, 268, 273, 274, 268,
602 268, 268, 268, 280, 268, 278, 268, 74,
603 42, 42, 43, 268, 268, 268, 268, 268,
604 268, 74, 268, 278, 40, 268, 268, 56,
605 279, 268, 273, 274, 268, 268, 268, 268,
606 280, 268, 278, 268, 269, 270, 277, 272,
607 43, 273, 274, 268, 268, 268, 268, 275,
608 268, 343, 184, 344, 344, 81, 187, 188,
609 342, 342, 342, 342, 190, 342, 184, 344,
610 344, 81, 187, 188, 342, 342, 342, 342,
611 190, 342, 345, 342, 342, 342, 95, 346,
612 342, 187, 188, 342, 342, 342, 342, 347,
613 342, 345, 342, 348, 349, 350, 351, 81,
614 187, 188, 342, 342, 342, 112, 352, 342,
615 342, 345, 342, 353, 349, 354, 354, 81,
616 187, 188, 342, 342, 342, 342, 352, 342,
617 349, 354, 354, 81, 187, 188, 342, 342,
618 342, 342, 352, 342, 355, 342, 342, 342,
619 95, 356, 342, 187, 188, 342, 342, 342,
620 342, 347, 342, 355, 342, 357, 358, 359,
621 360, 81, 187, 188, 342, 342, 342, 110,
622 361, 342, 342, 355, 342, 362, 358, 363,
623 363, 81, 187, 188, 342, 342, 342, 342,
624 361, 342, 358, 363, 363, 81, 187, 188,
625 342, 342, 342, 342, 361, 342, 364, 342,
626 342, 342, 95, 365, 342, 187, 188, 342,
627 342, 342, 342, 347, 342, 364, 342, 366,
628 367, 368, 369, 81, 187, 188, 342, 342,
629 342, 108, 370, 342, 342, 364, 342, 371,
630 367, 372, 372, 81, 187, 188, 342, 342,
631 342, 342, 370, 342, 367, 372, 372, 81,
632 187, 188, 342, 342, 342, 342, 370, 342,
633 373, 342, 342, 342, 95, 374, 342, 187,
634 188, 342, 342, 342, 342, 347, 342, 373,
635 342, 375, 376, 377, 378, 81, 187, 188,
636 342, 342, 342, 106, 379, 342, 342, 373,
637 342, 380, 376, 381, 381, 81, 187, 188,
638 342, 342, 342, 342, 379, 342, 376, 381,
639 381, 81, 187, 188, 342, 342, 342, 342,
640 379, 342, 95, 382, 342, 187, 188, 342,
641 342, 342, 342, 347, 342, 187, 188, 342,
642 342, 342, 342, 347, 342, 383, 342, 342,
643 342, 188, 342, 188, 342, 384, 342, 385,
644 342, 386, 387, 342, 187, 188, 342, 342,
645 342, 79, 342, 342, 342, 77, 342, 78,
646 342, 342, 342, 342, 187, 188, 342, 187,
647 188, 342, 385, 342, 342, 342, 342, 187,
648 188, 342, 385, 342, 386, 342, 342, 187,
649 188, 342, 342, 342, 79, 342, 95, 342,
650 388, 388, 81, 187, 188, 342, 342, 342,
651 342, 347, 342, 389, 104, 390, 391, 85,
652 187, 188, 342, 342, 342, 342, 347, 342,
653 104, 390, 391, 85, 187, 188, 342, 342,
654 342, 342, 347, 342, 390, 390, 85, 187,
655 188, 342, 342, 342, 342, 347, 342, 392,
656 101, 393, 394, 88, 187, 188, 342, 342,
657 342, 342, 347, 342, 101, 393, 394, 88,
658 187, 188, 342, 342, 342, 342, 347, 342,
659 393, 393, 88, 187, 188, 342, 342, 342,
660 342, 347, 342, 395, 98, 396, 397, 91,
661 187, 188, 342, 342, 342, 342, 347, 342,
662 98, 396, 397, 91, 187, 188, 342, 342,
663 342, 342, 347, 342, 396, 396, 91, 187,
664 188, 342, 342, 342, 342, 347, 342, 398,
665 95, 342, 399, 342, 187, 188, 342, 342,
666 342, 342, 347, 342, 95, 342, 399, 342,
667 187, 188, 342, 342, 342, 342, 347, 342,
668 400, 342, 187, 188, 342, 342, 342, 342,
669 347, 342, 95, 342, 342, 342, 342, 187,
670 188, 342, 342, 342, 342, 347, 342, 77,
671 78, 342, 342, 95, 382, 342, 187, 188,
672 342, 342, 342, 342, 347, 342, 77, 342,
673 375, 376, 381, 381, 81, 187, 188, 342,
674 342, 342, 342, 379, 342, 375, 376, 377,
675 381, 81, 187, 188, 342, 342, 342, 106,
676 379, 342, 373, 342, 401, 342, 388, 388,
677 81, 187, 188, 342, 342, 342, 342, 347,
678 342, 373, 342, 373, 342, 342, 342, 342,
679 342, 342, 187, 188, 342, 342, 342, 342,
680 347, 342, 373, 342, 373, 342, 342, 342,
681 342, 402, 342, 187, 188, 342, 342, 342,
682 342, 347, 342, 373, 342, 373, 342, 401,
683 342, 342, 342, 342, 187, 188, 342, 342,
684 342, 342, 347, 342, 373, 342, 373, 78,
685 342, 342, 95, 374, 342, 187, 188, 342,
686 342, 342, 342, 347, 342, 373, 342, 366,
687 367, 372, 372, 81, 187, 188, 342, 342,
688 342, 342, 370, 342, 366, 367, 368, 372,
689 81, 187, 188, 342, 342, 342, 108, 370,
690 342, 364, 342, 403, 342, 388, 388, 81,
691 187, 188, 342, 342, 342, 342, 347, 342,
692 364, 342, 364, 342, 342, 342, 342, 342,
693 342, 187, 188, 342, 342, 342, 342, 347,
694 342, 364, 342, 364, 342, 342, 342, 342,
695 404, 342, 187, 188, 342, 342, 342, 342,
696 347, 342, 364, 342, 364, 342, 403, 342,
697 342, 342, 342, 187, 188, 342, 342, 342,
698 342, 347, 342, 364, 342, 364, 78, 342,
699 342, 95, 365, 342, 187, 188, 342, 342,
700 342, 342, 347, 342, 364, 342, 357, 358,
701 363, 363, 81, 187, 188, 342, 342, 342,
702 342, 361, 342, 357, 358, 359, 363, 81,
703 187, 188, 342, 342, 342, 110, 361, 342,
704 355, 342, 405, 342, 388, 388, 81, 187,
705 188, 342, 342, 342, 342, 347, 342, 355,
706 342, 355, 342, 342, 342, 342, 342, 342,
707 187, 188, 342, 342, 342, 342, 347, 342,
708 355, 342, 355, 342, 342, 342, 342, 406,
709 342, 187, 188, 342, 342, 342, 342, 347,
710 342, 355, 342, 355, 342, 405, 342, 342,
711 342, 342, 187, 188, 342, 342, 342, 342,
712 347, 342, 355, 342, 355, 78, 342, 342,
713 95, 356, 342, 187, 188, 342, 342, 342,
714 342, 347, 342, 355, 342, 348, 349, 354,
715 354, 81, 187, 188, 342, 342, 342, 342,
716 352, 342, 348, 349, 350, 354, 81, 187,
717 188, 342, 342, 342, 112, 352, 342, 345,
718 342, 407, 342, 388, 388, 81, 187, 188,
719 342, 342, 342, 342, 347, 342, 345, 342,
720 345, 342, 342, 342, 342, 342, 342, 187,
721 188, 342, 342, 342, 342, 347, 342, 345,
722 342, 345, 342, 342, 342, 342, 408, 342,
723 187, 188, 342, 342, 342, 342, 347, 342,
724 345, 342, 345, 342, 407, 342, 342, 342,
725 342, 187, 188, 342, 342, 342, 342, 347,
726 342, 345, 342, 345, 78, 342, 342, 95,
727 346, 342, 187, 188, 342, 342, 342, 342,
728 347, 342, 345, 342, 113, 80, 80, 81,
729 409, 409, 409, 409, 409, 152, 113, 409,
730 183, 184, 344, 344, 81, 187, 188, 342,
731 342, 342, 342, 190, 342, 113, 80, 80,
732 81, 409, 409, 409, 409, 409, 409, 113,
733 409, 411, 412, 413, 414, 119, 415, 416,
734 410, 410, 410, 151, 417, 410, 418, 412,
735 414, 414, 119, 415, 416, 410, 410, 410,
736 410, 417, 410, 412, 414, 414, 119, 415,
737 416, 410, 410, 410, 410, 417, 410, 419,
738 410, 410, 410, 132, 420, 410, 415, 416,
739 410, 410, 410, 410, 421, 410, 419, 410,
740 422, 423, 424, 425, 119, 415, 416, 410,
741 410, 410, 149, 426, 410, 410, 419, 410,
742 427, 423, 428, 428, 119, 415, 416, 410,
743 410, 410, 410, 426, 410, 423, 428, 428,
744 119, 415, 416, 410, 410, 410, 410, 426,
745 410, 429, 410, 410, 410, 132, 430, 410,
746 415, 416, 410, 410, 410, 410, 421, 410,
747 429, 410, 431, 432, 433, 434, 119, 415,
748 416, 410, 410, 410, 147, 435, 410, 410,
749 429, 410, 436, 432, 437, 437, 119, 415,
750 416, 410, 410, 410, 410, 435, 410, 432,
751 437, 437, 119, 415, 416, 410, 410, 410,
752 410, 435, 410, 438, 410, 410, 410, 132,
753 439, 410, 415, 416, 410, 410, 410, 410,
754 421, 410, 438, 410, 440, 441, 442, 443,
755 119, 415, 416, 410, 410, 410, 145, 444,
756 410, 410, 438, 410, 445, 441, 446, 446,
757 119, 415, 416, 410, 410, 410, 410, 444,
758 410, 441, 446, 446, 119, 415, 416, 410,
759 410, 410, 410, 444, 410, 447, 410, 410,
760 410, 132, 448, 410, 415, 416, 410, 410,
761 410, 410, 421, 410, 447, 410, 449, 450,
762 451, 452, 119, 415, 416, 410, 410, 410,
763 143, 453, 410, 410, 447, 410, 454, 450,
764 455, 455, 119, 415, 416, 410, 410, 410,
765 410, 453, 410, 450, 455, 455, 119, 415,
766 416, 410, 410, 410, 410, 453, 410, 132,
767 456, 410, 415, 416, 410, 410, 410, 410,
768 421, 410, 415, 416, 410, 410, 410, 410,
769 421, 410, 457, 410, 410, 410, 416, 410,
770 416, 410, 458, 410, 459, 410, 460, 461,
771 410, 415, 416, 410, 410, 410, 117, 410,
772 410, 410, 115, 410, 116, 410, 410, 410,
773 410, 415, 416, 410, 415, 416, 410, 459,
774 410, 410, 410, 410, 415, 416, 410, 459,
775 410, 460, 410, 410, 415, 416, 410, 410,
776 410, 117, 410, 132, 410, 462, 462, 119,
777 415, 416, 410, 410, 410, 410, 421, 410,
778 463, 141, 464, 465, 122, 415, 416, 410,
779 410, 410, 410, 421, 410, 141, 464, 465,
780 122, 415, 416, 410, 410, 410, 410, 421,
781 410, 464, 464, 122, 415, 416, 410, 410,
782 410, 410, 421, 410, 466, 138, 467, 468,
783 125, 415, 416, 410, 410, 410, 410, 421,
784 410, 138, 467, 468, 125, 415, 416, 410,
785 410, 410, 410, 421, 410, 467, 467, 125,
786 415, 416, 410, 410, 410, 410, 421, 410,
787 469, 135, 470, 471, 128, 415, 416, 410,
788 410, 410, 410, 421, 410, 135, 470, 471,
789 128, 415, 416, 410, 410, 410, 410, 421,
790 410, 470, 470, 128, 415, 416, 410, 410,
791 410, 410, 421, 410, 472, 132, 410, 473,
792 410, 415, 416, 410, 410, 410, 410, 421,
793 410, 132, 410, 473, 410, 415, 416, 410,
794 410, 410, 410, 421, 410, 474, 410, 415,
795 416, 410, 410, 410, 410, 421, 410, 132,
796 410, 410, 410, 410, 415, 416, 410, 410,
797 410, 410, 421, 410, 115, 116, 410, 410,
798 132, 456, 410, 415, 416, 410, 410, 410,
799 410, 421, 410, 115, 410, 449, 450, 455,
800 455, 119, 415, 416, 410, 410, 410, 410,
801 453, 410, 449, 450, 451, 455, 119, 415,
802 416, 410, 410, 410, 143, 453, 410, 447,
803 410, 475, 410, 462, 462, 119, 415, 416,
804 410, 410, 410, 410, 421, 410, 447, 410,
805 447, 410, 410, 410, 410, 410, 410, 415,
806 416, 410, 410, 410, 410, 421, 410, 447,
807 410, 447, 410, 410, 410, 410, 476, 410,
808 415, 416, 410, 410, 410, 410, 421, 410,
809 447, 410, 447, 410, 475, 410, 410, 410,
810 410, 415, 416, 410, 410, 410, 410, 421,
811 410, 447, 410, 447, 116, 410, 410, 132,
812 448, 410, 415, 416, 410, 410, 410, 410,
813 421, 410, 447, 410, 440, 441, 446, 446,
814 119, 415, 416, 410, 410, 410, 410, 444,
815 410, 440, 441, 442, 446, 119, 415, 416,
816 410, 410, 410, 145, 444, 410, 438, 410,
817 477, 410, 462, 462, 119, 415, 416, 410,
818 410, 410, 410, 421, 410, 438, 410, 438,
819 410, 410, 410, 410, 410, 410, 415, 416,
820 410, 410, 410, 410, 421, 410, 438, 410,
821 438, 410, 410, 410, 410, 478, 410, 415,
822 416, 410, 410, 410, 410, 421, 410, 438,
823 410, 438, 410, 477, 410, 410, 410, 410,
824 415, 416, 410, 410, 410, 410, 421, 410,
825 438, 410, 438, 116, 410, 410, 132, 439,
826 410, 415, 416, 410, 410, 410, 410, 421,
827 410, 438, 410, 431, 432, 437, 437, 119,
828 415, 416, 410, 410, 410, 410, 435, 410,
829 431, 432, 433, 437, 119, 415, 416, 410,
830 410, 410, 147, 435, 410, 429, 410, 479,
831 410, 462, 462, 119, 415, 416, 410, 410,
832 410, 410, 421, 410, 429, 410, 429, 410,
833 410, 410, 410, 410, 410, 415, 416, 410,
834 410, 410, 410, 421, 410, 429, 410, 429,
835 410, 410, 410, 410, 480, 410, 415, 416,
836 410, 410, 410, 410, 421, 410, 429, 410,
837 429, 410, 479, 410, 410, 410, 410, 415,
838 416, 410, 410, 410, 410, 421, 410, 429,
839 410, 429, 116, 410, 410, 132, 430, 410,
840 415, 416, 410, 410, 410, 410, 421, 410,
841 429, 410, 422, 423, 428, 428, 119, 415,
842 416, 410, 410, 410, 410, 426, 410, 422,
843 423, 424, 428, 119, 415, 416, 410, 410,
844 410, 149, 426, 410, 419, 410, 481, 410,
845 462, 462, 119, 415, 416, 410, 410, 410,
846 410, 421, 410, 419, 410, 419, 410, 410,
847 410, 410, 410, 410, 415, 416, 410, 410,
848 410, 410, 421, 410, 419, 410, 419, 410,
849 410, 410, 410, 482, 410, 415, 416, 410,
850 410, 410, 410, 421, 410, 419, 410, 419,
851 410, 481, 410, 410, 410, 410, 415, 416,
852 410, 410, 410, 410, 421, 410, 419, 410,
853 419, 116, 410, 410, 132, 420, 410, 415,
854 416, 410, 410, 410, 410, 421, 410, 419,
855 410, 411, 412, 414, 414, 119, 415, 416,
856 410, 410, 410, 410, 417, 410, 181, 182,
857 183, 184, 483, 344, 81, 187, 188, 342,
858 189, 189, 152, 190, 342, 181, 342, 194,
859 484, 196, 197, 5, 198, 199, 200, 193,
860 193, 37, 201, 193, 193, 181, 193, 204,
861 182, 183, 184, 485, 486, 81, 487, 488,
862 193, 189, 189, 152, 489, 193, 204, 193,
863 113, 80, 80, 81, 198, 199, 193, 193,
864 193, 152, 490, 193, 491, 2, 342, 342,
865 342, 408, 342, 187, 188, 342, 342, 342,
866 342, 347, 342, 491, 342, 492, 349, 493,
867 494, 81, 487, 488, 193, 193, 193, 153,
868 352, 193, 193, 491, 193, 495, 349, 354,
869 354, 81, 487, 488, 193, 193, 193, 193,
870 352, 193, 349, 354, 354, 81, 487, 488,
871 193, 193, 193, 193, 352, 193, 496, 193,
872 193, 193, 488, 193, 488, 193, 243, 193,
873 492, 349, 354, 354, 81, 487, 488, 193,
874 193, 193, 193, 352, 193, 492, 349, 493,
875 354, 81, 487, 488, 193, 193, 193, 153,
876 352, 193, 204, 193, 266, 113, 497, 497,
877 155, 198, 199, 193, 193, 193, 193, 490,
878 193, 204, 193, 498, 179, 499, 500, 157,
879 487, 488, 193, 193, 193, 193, 501, 193,
880 179, 499, 500, 157, 487, 488, 193, 193,
881 193, 193, 501, 193, 499, 499, 157, 487,
882 488, 193, 193, 193, 193, 501, 193, 502,
883 176, 503, 504, 160, 487, 488, 193, 193,
884 193, 193, 501, 193, 176, 503, 504, 160,
885 487, 488, 193, 193, 193, 193, 501, 193,
886 503, 503, 160, 487, 488, 193, 193, 193,
887 193, 501, 193, 505, 173, 506, 507, 163,
888 487, 488, 193, 193, 193, 193, 501, 193,
889 173, 506, 507, 163, 487, 488, 193, 193,
890 193, 193, 501, 193, 506, 506, 163, 487,
891 488, 193, 193, 193, 193, 501, 193, 508,
892 170, 193, 509, 193, 487, 488, 193, 193,
893 193, 193, 501, 193, 170, 193, 509, 193,
894 487, 488, 193, 193, 193, 193, 501, 193,
895 487, 488, 193, 193, 193, 193, 501, 193,
896 510, 193, 511, 512, 193, 487, 488, 193,
897 193, 193, 167, 193, 193, 193, 165, 193,
898 166, 193, 193, 193, 193, 487, 488, 193,
899 487, 488, 193, 510, 193, 193, 193, 193,
900 487, 488, 193, 510, 193, 511, 193, 193,
901 487, 488, 193, 193, 193, 167, 193, 491,
902 166, 342, 342, 95, 346, 342, 187, 188,
903 342, 342, 342, 342, 347, 342, 491, 342,
907 static const short _indic_syllable_machine_trans_targs
[] = {
908 170, 195, 197, 198, 3, 201, 4, 6,
909 204, 7, 9, 207, 10, 12, 210, 13,
910 15, 16, 191, 18, 19, 209, 21, 22,
911 206, 24, 25, 203, 212, 216, 220, 223,
912 227, 230, 234, 237, 241, 244, 170, 270,
913 272, 273, 39, 276, 40, 42, 279, 43,
914 45, 282, 46, 48, 285, 49, 51, 52,
915 266, 54, 55, 284, 57, 58, 281, 60,
916 61, 278, 287, 290, 294, 297, 301, 304,
917 308, 311, 315, 319, 170, 343, 345, 346,
918 75, 349, 170, 76, 78, 352, 79, 81,
919 355, 82, 84, 358, 85, 87, 88, 339,
920 90, 91, 357, 93, 94, 354, 96, 97,
921 351, 360, 363, 367, 370, 374, 377, 381,
922 384, 388, 170, 418, 420, 421, 110, 424,
923 111, 113, 427, 114, 116, 430, 117, 119,
924 433, 120, 122, 123, 414, 125, 126, 432,
925 128, 129, 429, 131, 132, 426, 435, 438,
926 442, 445, 449, 452, 456, 459, 463, 466,
927 392, 478, 146, 481, 148, 484, 149, 151,
928 487, 152, 154, 490, 155, 493, 495, 496,
929 159, 160, 492, 162, 163, 489, 165, 166,
930 486, 168, 169, 483, 170, 171, 246, 320,
931 322, 391, 393, 340, 342, 394, 390, 467,
932 468, 170, 172, 174, 35, 245, 192, 194,
933 214, 243, 173, 34, 175, 239, 0, 176,
934 178, 33, 238, 236, 177, 32, 179, 232,
935 180, 182, 31, 231, 229, 181, 30, 183,
936 225, 184, 186, 29, 224, 222, 185, 28,
937 187, 218, 188, 190, 27, 217, 215, 189,
938 26, 200, 193, 170, 196, 1, 199, 2,
939 202, 5, 23, 205, 8, 20, 208, 11,
940 17, 211, 14, 213, 219, 221, 226, 228,
941 233, 235, 240, 242, 170, 247, 249, 71,
942 317, 267, 269, 318, 248, 70, 250, 313,
943 36, 251, 253, 69, 312, 310, 252, 68,
944 254, 306, 255, 257, 67, 305, 303, 256,
945 66, 258, 299, 259, 261, 65, 298, 296,
946 260, 64, 262, 292, 263, 265, 63, 291,
947 289, 264, 62, 275, 268, 170, 271, 37,
948 274, 38, 277, 41, 59, 280, 44, 56,
949 283, 47, 53, 286, 50, 288, 293, 295,
950 300, 302, 307, 309, 314, 316, 170, 321,
951 106, 323, 386, 72, 324, 326, 105, 385,
952 383, 325, 104, 327, 379, 328, 330, 103,
953 378, 376, 329, 102, 331, 372, 332, 334,
954 101, 371, 369, 333, 100, 335, 365, 336,
955 338, 99, 364, 362, 337, 98, 348, 341,
956 170, 344, 73, 347, 74, 350, 77, 95,
957 353, 80, 92, 356, 83, 89, 359, 86,
958 361, 366, 368, 373, 375, 380, 382, 387,
959 389, 170, 170, 395, 397, 142, 141, 415,
960 417, 465, 396, 398, 461, 107, 399, 401,
961 140, 460, 458, 400, 139, 402, 454, 403,
962 405, 138, 453, 451, 404, 137, 406, 447,
963 407, 409, 136, 446, 444, 408, 135, 410,
964 440, 411, 413, 134, 439, 437, 412, 133,
965 423, 416, 170, 419, 108, 422, 109, 425,
966 112, 130, 428, 115, 127, 431, 118, 124,
967 434, 121, 436, 441, 443, 448, 450, 455,
968 457, 462, 464, 143, 469, 470, 480, 475,
969 477, 498, 471, 472, 473, 144, 479, 474,
970 476, 145, 482, 147, 167, 156, 485, 150,
971 164, 488, 153, 161, 491, 158, 494, 157,
975 static const char _indic_syllable_machine_trans_actions
[] = {
976 1, 2, 0, 0, 0, 2, 0, 0,
977 2, 0, 0, 2, 0, 0, 2, 0,
978 0, 0, 2, 0, 0, 2, 0, 0,
979 2, 0, 0, 2, 2, 2, 2, 2,
980 2, 2, 2, 2, 2, 2, 3, 2,
981 0, 0, 0, 2, 0, 0, 2, 0,
982 0, 2, 0, 0, 2, 0, 0, 0,
983 2, 0, 0, 2, 0, 0, 2, 0,
984 0, 2, 2, 2, 2, 2, 2, 2,
985 2, 2, 2, 2, 4, 2, 0, 0,
986 0, 2, 5, 0, 0, 2, 0, 0,
987 2, 0, 0, 2, 0, 0, 0, 2,
988 0, 0, 2, 0, 0, 2, 0, 0,
989 2, 2, 6, 2, 6, 2, 6, 2,
990 6, 2, 7, 2, 0, 0, 0, 2,
991 0, 0, 2, 0, 0, 2, 0, 0,
992 2, 0, 0, 0, 2, 0, 0, 2,
993 0, 0, 2, 0, 0, 2, 2, 2,
994 2, 2, 2, 2, 2, 2, 2, 2,
995 6, 8, 0, 2, 0, 2, 0, 0,
996 2, 0, 0, 2, 0, 2, 0, 0,
997 0, 0, 2, 0, 0, 2, 0, 0,
998 2, 0, 0, 2, 11, 2, 2, 6,
999 2, 12, 12, 0, 0, 2, 2, 6,
1000 2, 13, 2, 2, 0, 2, 0, 0,
1001 2, 2, 2, 0, 2, 2, 0, 2,
1002 2, 0, 2, 2, 2, 0, 2, 2,
1003 2, 2, 0, 2, 2, 2, 0, 2,
1004 2, 2, 2, 0, 2, 2, 2, 0,
1005 2, 2, 2, 2, 0, 2, 2, 2,
1006 0, 2, 0, 14, 0, 0, 2, 0,
1007 2, 0, 0, 2, 0, 0, 2, 0,
1008 0, 2, 0, 2, 2, 2, 2, 2,
1009 2, 2, 2, 2, 15, 2, 2, 0,
1010 2, 0, 0, 2, 2, 0, 2, 2,
1011 0, 2, 2, 0, 2, 2, 2, 0,
1012 2, 2, 2, 2, 0, 2, 2, 2,
1013 0, 2, 2, 2, 2, 0, 2, 2,
1014 2, 0, 2, 2, 2, 2, 0, 2,
1015 2, 2, 0, 2, 0, 16, 0, 0,
1016 2, 0, 2, 0, 0, 2, 0, 0,
1017 2, 0, 0, 2, 0, 2, 2, 2,
1018 2, 2, 2, 2, 2, 2, 17, 6,
1019 0, 6, 6, 0, 6, 2, 0, 6,
1020 2, 6, 0, 6, 6, 6, 2, 0,
1021 6, 2, 6, 0, 6, 6, 6, 2,
1022 0, 6, 2, 6, 0, 6, 6, 6,
1023 2, 0, 6, 2, 6, 0, 6, 0,
1024 18, 0, 0, 2, 0, 2, 0, 0,
1025 2, 0, 0, 2, 0, 0, 2, 0,
1026 2, 2, 2, 2, 2, 2, 2, 2,
1027 2, 19, 20, 2, 2, 0, 0, 0,
1028 0, 2, 2, 2, 2, 0, 2, 2,
1029 0, 2, 2, 2, 0, 2, 2, 2,
1030 2, 0, 2, 2, 2, 0, 2, 2,
1031 2, 2, 0, 2, 2, 2, 0, 2,
1032 2, 2, 2, 0, 2, 2, 2, 0,
1033 2, 0, 21, 0, 0, 2, 0, 2,
1034 0, 0, 2, 0, 0, 2, 0, 0,
1035 2, 0, 2, 2, 2, 2, 2, 2,
1036 2, 2, 2, 0, 0, 8, 2, 0,
1037 0, 2, 2, 8, 8, 0, 8, 8,
1038 0, 0, 2, 0, 0, 0, 2, 0,
1039 0, 2, 0, 0, 2, 0, 0, 0,
1043 static const char _indic_syllable_machine_to_state_actions
[] = {
1044 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 0, 0, 0, 0, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, 0, 0,
1062 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 9, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0,
1070 0, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 0, 0, 0, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, 0, 0, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, 0, 0, 0, 0, 0, 0, 0,
1082 0, 0, 0, 0, 0, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0,
1084 0, 0, 0, 0, 0, 0, 0, 0,
1085 0, 0, 0, 0, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, 0, 0, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, 0, 0,
1090 0, 0, 0, 0, 0, 0, 0, 0,
1091 0, 0, 0, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, 0, 0, 0, 0,
1093 0, 0, 0, 0, 0, 0, 0, 0,
1094 0, 0, 0, 0, 0, 0, 0, 0,
1095 0, 0, 0, 0, 0, 0, 0, 0,
1096 0, 0, 0, 0, 0, 0, 0, 0,
1097 0, 0, 0, 0, 0, 0, 0, 0,
1098 0, 0, 0, 0, 0, 0, 0, 0,
1099 0, 0, 0, 0, 0, 0, 0, 0,
1100 0, 0, 0, 0, 0, 0, 0, 0,
1101 0, 0, 0, 0, 0, 0, 0, 0,
1102 0, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, 0,
1104 0, 0, 0, 0, 0, 0, 0, 0,
1105 0, 0, 0, 0, 0, 0, 0, 0,
1109 static const char _indic_syllable_machine_from_state_actions
[] = {
1110 0, 0, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 0, 0, 0, 0, 0, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0,
1115 0, 0, 0, 0, 0, 0, 0, 0,
1116 0, 0, 0, 0, 0, 0, 0, 0,
1117 0, 0, 0, 0, 0, 0, 0, 0,
1118 0, 0, 0, 0, 0, 0, 0, 0,
1119 0, 0, 0, 0, 0, 0, 0, 0,
1120 0, 0, 0, 0, 0, 0, 0, 0,
1121 0, 0, 0, 0, 0, 0, 0, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, 0, 0, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0,
1125 0, 0, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, 0, 0, 0, 0, 0,
1127 0, 0, 0, 0, 0, 0, 0, 0,
1128 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, 0, 0, 0, 0, 0, 0, 0,
1130 0, 0, 0, 0, 0, 0, 0, 0,
1131 0, 0, 10, 0, 0, 0, 0, 0,
1132 0, 0, 0, 0, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0,
1135 0, 0, 0, 0, 0, 0, 0, 0,
1136 0, 0, 0, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, 0, 0,
1138 0, 0, 0, 0, 0, 0, 0, 0,
1139 0, 0, 0, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 0, 0,
1148 0, 0, 0, 0, 0, 0, 0, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0,
1150 0, 0, 0, 0, 0, 0, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, 0,
1152 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 0, 0, 0, 0, 0,
1154 0, 0, 0, 0, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 0, 0, 0, 0, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0,
1159 0, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, 0, 0, 0, 0, 0, 0,
1161 0, 0, 0, 0, 0, 0, 0, 0,
1162 0, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 0, 0, 0, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, 0, 0,
1165 0, 0, 0, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, 0, 0, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, 0, 0, 0,
1175 static const short _indic_syllable_machine_eof_trans
[] = {
1176 1, 1, 1, 1, 1, 1, 1, 1,
1177 1, 1, 1, 1, 1, 1, 1, 1,
1178 1, 1, 1, 1, 1, 1, 1, 1,
1179 1, 1, 1, 1, 1, 1, 1, 1,
1180 1, 1, 1, 1, 39, 39, 39, 39,
1181 39, 39, 39, 39, 39, 39, 39, 39,
1182 39, 39, 39, 39, 39, 39, 39, 39,
1183 39, 39, 39, 39, 39, 39, 39, 39,
1184 39, 39, 39, 39, 39, 39, 39, 39,
1185 77, 77, 77, 83, 83, 77, 77, 77,
1186 77, 77, 77, 77, 77, 77, 77, 77,
1187 77, 77, 77, 77, 77, 77, 77, 77,
1188 77, 77, 77, 77, 77, 77, 77, 77,
1189 83, 77, 77, 115, 115, 115, 115, 115,
1190 115, 115, 115, 115, 115, 115, 115, 115,
1191 115, 115, 115, 115, 115, 115, 115, 115,
1192 115, 115, 115, 115, 115, 115, 115, 115,
1193 115, 115, 115, 115, 115, 115, 115, 77,
1194 1, 1, 1, 1, 1, 1, 1, 1,
1195 1, 1, 1, 1, 1, 1, 1, 1,
1196 1, 1, 1, 1, 1, 1, 1, 1,
1197 1, 1, 0, 194, 194, 194, 194, 194,
1198 194, 194, 194, 194, 194, 194, 194, 194,
1199 194, 194, 194, 194, 194, 194, 194, 194,
1200 194, 194, 194, 194, 194, 194, 194, 194,
1201 194, 194, 194, 194, 194, 194, 194, 194,
1202 194, 194, 194, 194, 194, 194, 194, 194,
1203 194, 194, 194, 194, 194, 194, 194, 194,
1204 194, 194, 194, 194, 194, 194, 194, 194,
1205 194, 194, 194, 194, 194, 194, 194, 194,
1206 194, 194, 194, 194, 194, 194, 269, 269,
1207 269, 269, 269, 269, 269, 269, 269, 269,
1208 269, 269, 269, 269, 269, 269, 269, 269,
1209 269, 269, 269, 269, 269, 269, 269, 269,
1210 269, 269, 269, 269, 269, 269, 269, 269,
1211 269, 269, 269, 269, 269, 269, 269, 269,
1212 269, 269, 269, 269, 269, 269, 269, 269,
1213 269, 269, 269, 269, 269, 269, 269, 269,
1214 269, 269, 269, 269, 269, 269, 269, 269,
1215 269, 269, 269, 269, 269, 269, 269, 269,
1216 343, 343, 343, 343, 343, 343, 343, 343,
1217 343, 343, 343, 343, 343, 343, 343, 343,
1218 343, 343, 343, 343, 343, 343, 343, 343,
1219 343, 343, 343, 343, 343, 343, 343, 343,
1220 343, 343, 343, 343, 343, 343, 343, 343,
1221 343, 343, 343, 343, 343, 343, 343, 343,
1222 343, 343, 343, 343, 343, 343, 343, 343,
1223 343, 343, 343, 343, 343, 343, 343, 343,
1224 343, 343, 343, 343, 343, 343, 343, 410,
1225 343, 410, 411, 411, 411, 411, 411, 411,
1226 411, 411, 411, 411, 411, 411, 411, 411,
1227 411, 411, 411, 411, 411, 411, 411, 411,
1228 411, 411, 411, 411, 411, 411, 411, 411,
1229 411, 411, 411, 411, 411, 411, 411, 411,
1230 411, 411, 411, 411, 411, 411, 411, 411,
1231 411, 411, 411, 411, 411, 411, 411, 411,
1232 411, 411, 411, 411, 411, 411, 411, 411,
1233 411, 411, 411, 411, 411, 411, 411, 411,
1234 411, 411, 411, 343, 194, 194, 194, 343,
1235 194, 194, 194, 194, 194, 194, 194, 194,
1236 194, 194, 194, 194, 194, 194, 194, 194,
1237 194, 194, 194, 194, 194, 194, 194, 194,
1241 static const int indic_syllable_machine_start
= 170;
1242 static const int indic_syllable_machine_first_final
= 170;
1243 static const int indic_syllable_machine_error
= -1;
1245 static const int indic_syllable_machine_en_main
= 170;
1248 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1252 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1255 #define found_syllable(syllable_type) \
1257 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1258 for (unsigned int i = last; i < p+1; i++) \
1259 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1261 syllable_serial++; \
1262 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1266 find_syllables (hb_buffer_t
*buffer
)
1268 unsigned int p
, pe
, eof
, ts HB_UNUSED
, te HB_UNUSED
, act HB_UNUSED
;
1270 hb_glyph_info_t
*info
= buffer
->info
;
1272 #line 1273 "hb-ot-shape-complex-indic-machine.hh.tmp"
1274 cs
= indic_syllable_machine_start
;
1280 #line 112 "hb-ot-shape-complex-indic-machine.rl"
1284 pe
= eof
= buffer
->len
;
1286 unsigned int last
= 0;
1287 unsigned int syllable_serial
= 1;
1289 #line 1290 "hb-ot-shape-complex-indic-machine.hh.tmp"
1293 const unsigned char *_keys
;
1298 switch ( _indic_syllable_machine_from_state_actions
[cs
] ) {
1303 #line 1304 "hb-ot-shape-complex-indic-machine.hh.tmp"
1306 _keys
= _indic_syllable_machine_trans_keys
+ (cs
<<1);
1307 _inds
= _indic_syllable_machine_indicies
+ _indic_syllable_machine_index_offsets
[cs
];
1309 _slen
= _indic_syllable_machine_key_spans
[cs
];
1310 _trans
= _inds
[ _slen
> 0 && _keys
[0] <=( info
[p
].indic_category()) &&
1311 ( info
[p
].indic_category()) <= _keys
[1] ?
1312 ( info
[p
].indic_category()) - _keys
[0] : _slen
];
1315 cs
= _indic_syllable_machine_trans_targs
[_trans
];
1317 if ( _indic_syllable_machine_trans_actions
[_trans
] == 0 )
1320 switch ( _indic_syllable_machine_trans_actions
[_trans
] ) {
1326 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1327 {te
= p
+1;{ found_syllable (consonant_syllable
); }}
1330 #line 84 "hb-ot-shape-complex-indic-machine.rl"
1331 {te
= p
+1;{ found_syllable (vowel_syllable
); }}
1334 #line 85 "hb-ot-shape-complex-indic-machine.rl"
1335 {te
= p
+1;{ found_syllable (standalone_cluster
); }}
1338 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1339 {te
= p
+1;{ found_syllable (broken_cluster
); }}
1342 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1343 {te
= p
+1;{ found_syllable (non_indic_cluster
); }}
1346 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1347 {te
= p
;p
--;{ found_syllable (consonant_syllable
); }}
1350 #line 84 "hb-ot-shape-complex-indic-machine.rl"
1351 {te
= p
;p
--;{ found_syllable (vowel_syllable
); }}
1354 #line 85 "hb-ot-shape-complex-indic-machine.rl"
1355 {te
= p
;p
--;{ found_syllable (standalone_cluster
); }}
1358 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1359 {te
= p
;p
--;{ found_syllable (broken_cluster
); }}
1362 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1363 {te
= p
;p
--;{ found_syllable (non_indic_cluster
); }}
1366 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1367 {{p
= ((te
))-1;}{ found_syllable (consonant_syllable
); }}
1370 #line 84 "hb-ot-shape-complex-indic-machine.rl"
1371 {{p
= ((te
))-1;}{ found_syllable (vowel_syllable
); }}
1374 #line 85 "hb-ot-shape-complex-indic-machine.rl"
1375 {{p
= ((te
))-1;}{ found_syllable (standalone_cluster
); }}
1378 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1379 {{p
= ((te
))-1;}{ found_syllable (broken_cluster
); }}
1385 {{p
= ((te
))-1;} found_syllable (consonant_syllable
); }
1388 {{p
= ((te
))-1;} found_syllable (broken_cluster
); }
1391 {{p
= ((te
))-1;} found_syllable (non_indic_cluster
); }
1399 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1405 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1411 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1414 #line 1415 "hb-ot-shape-complex-indic-machine.hh.tmp"
1418 switch ( _indic_syllable_machine_to_state_actions
[cs
] ) {
1423 #line 1424 "hb-ot-shape-complex-indic-machine.hh.tmp"
1431 if ( _indic_syllable_machine_eof_trans
[cs
] > 0 ) {
1432 _trans
= _indic_syllable_machine_eof_trans
[cs
] - 1;
1439 #line 121 "hb-ot-shape-complex-indic-machine.rl"
1443 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */