1
2#line 1 "hb-ot-shape-complex-indic-machine.rl"
3/*
4 * Copyright © 2011,2012 Google, Inc.
5 *
6 * This is part of HarfBuzz, a text shaping library.
7 *
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.
13 *
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
18 * DAMAGE.
19 *
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.
25 *
26 * Google Author(s): Behdad Esfahbod
27 */
28
29#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
30#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
31
32#include "hb-private.hh"
33
34
35#line 36 "hb-ot-shape-complex-indic-machine.hh"
36static const unsigned char _indic_syllable_machine_trans_keys[] = {
37 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
38 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u,
39 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
40 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u,
42 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
43 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
44 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
46 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u,
47 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
48 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
49 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
50 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u,
51 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
52 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u,
53 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
54 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
55 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u,
56 5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
57 5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u,
58 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
59 16u, 16u, 8u, 8u, 1u, 19u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
60 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
61 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u,
62 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
63 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
64 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
65 5u, 14u, 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u,
66 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
67 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
68 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
69 3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
70 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
71 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u,
72 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
73 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
74 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
75 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
76 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
77 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
78 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u,
79 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
80 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
81 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
82 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
83 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
84 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
85 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
86 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
87 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
88 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 17u, 4u, 14u,
89 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
90 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
91 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
92 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
93 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
94 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
95 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
96 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
97 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
98 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u,
99 1u, 17u, 4u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
100 5u, 10u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 3u, 17u, 3u, 17u, 1u, 16u,
101 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
102 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
103 3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u,
104 9u, 10u, 9u, 9u, 5u, 10u, 1u, 16u, 0
105};
106
107static const char _indic_syllable_machine_key_spans[] = {
108 1, 16, 6, 4, 3, 1, 4, 3,
109 1, 4, 3, 1, 4, 3, 1, 5,
110 1, 1, 5, 1, 1, 5, 1, 1,
111 5, 1, 1, 11, 11, 11, 11, 11,
112 11, 11, 11, 11, 11, 1, 16, 6,
113 4, 3, 1, 4, 3, 1, 4, 3,
114 1, 4, 3, 1, 5, 1, 1, 5,
115 1, 1, 5, 1, 1, 5, 1, 1,
116 11, 11, 11, 11, 11, 11, 11, 11,
117 11, 11, 1, 16, 6, 4, 3, 1,
118 4, 3, 1, 4, 3, 1, 4, 3,
119 1, 5, 1, 1, 5, 1, 1, 5,
120 1, 1, 5, 1, 1, 11, 11, 11,
121 11, 11, 11, 11, 11, 11, 1, 16,
122 6, 4, 3, 1, 4, 3, 1, 4,
123 3, 1, 4, 3, 1, 5, 1, 1,
124 5, 1, 1, 5, 1, 1, 5, 1,
125 1, 11, 11, 11, 11, 11, 11, 11,
126 11, 11, 11, 11, 4, 11, 11, 4,
127 3, 4, 3, 1, 4, 3, 1, 4,
128 3, 1, 1, 16, 6, 5, 1, 1,
129 5, 1, 1, 5, 1, 1, 5, 1,
130 1, 1, 19, 15, 15, 14, 16, 15,
131 15, 14, 16, 15, 15, 14, 16, 15,
132 15, 14, 16, 15, 15, 14, 10, 10,
133 6, 2, 1, 2, 2, 1, 6, 11,
134 8, 6, 8, 11, 12, 12, 11, 10,
135 12, 11, 10, 12, 11, 10, 12, 11,
136 10, 12, 16, 11, 15, 15, 16, 16,
137 16, 16, 16, 15, 15, 16, 16, 16,
138 16, 16, 15, 15, 16, 16, 16, 16,
139 16, 15, 15, 16, 16, 16, 16, 16,
140 15, 15, 15, 15, 14, 16, 15, 15,
141 14, 16, 15, 15, 14, 16, 15, 15,
142 14, 16, 15, 15, 14, 10, 10, 6,
143 2, 1, 2, 2, 1, 6, 11, 8,
144 6, 8, 11, 12, 12, 11, 10, 12,
145 11, 10, 12, 11, 10, 12, 11, 10,
146 12, 16, 11, 15, 15, 16, 16, 16,
147 16, 16, 15, 15, 16, 16, 16, 16,
148 16, 15, 15, 16, 16, 16, 16, 16,
149 15, 15, 16, 16, 16, 16, 11, 16,
150 15, 15, 14, 16, 15, 15, 14, 16,
151 15, 15, 14, 16, 15, 15, 14, 16,
152 15, 15, 14, 10, 10, 6, 2, 1,
153 2, 2, 1, 6, 11, 8, 6, 8,
154 11, 12, 12, 11, 10, 12, 11, 10,
155 12, 11, 10, 12, 11, 10, 12, 16,
156 11, 15, 15, 16, 16, 16, 16, 16,
157 15, 15, 16, 16, 16, 16, 16, 15,
158 15, 16, 16, 16, 16, 16, 15, 15,
159 16, 16, 16, 16, 16, 11, 15, 11,
160 15, 15, 14, 16, 15, 15, 14, 16,
161 15, 15, 14, 16, 15, 15, 14, 16,
162 15, 15, 14, 10, 10, 6, 2, 1,
163 2, 2, 1, 6, 11, 8, 6, 8,
164 11, 12, 12, 11, 10, 12, 11, 10,
165 12, 11, 10, 12, 11, 10, 12, 16,
166 11, 15, 15, 16, 16, 16, 16, 16,
167 15, 15, 16, 16, 16, 16, 16, 15,
168 15, 16, 16, 16, 16, 16, 15, 15,
169 16, 16, 16, 16, 16, 15, 17, 15,
170 17, 11, 6, 2, 1, 2, 2, 1,
171 6, 16, 15, 15, 14, 15, 15, 16,
172 12, 11, 10, 12, 11, 10, 12, 11,
173 10, 12, 11, 10, 11, 8, 6, 8,
174 11, 16, 8, 6, 6, 2, 1, 2,
175 2, 1, 6, 16
176};
177
178static const short _indic_syllable_machine_index_offsets[] = {
179 0, 2, 19, 26, 31, 35, 37, 42,
180 46, 48, 53, 57, 59, 64, 68, 70,
181 76, 78, 80, 86, 88, 90, 96, 98,
182 100, 106, 108, 110, 122, 134, 146, 158,
183 170, 182, 194, 206, 218, 230, 232, 249,
184 256, 261, 265, 267, 272, 276, 278, 283,
185 287, 289, 294, 298, 300, 306, 308, 310,
186 316, 318, 320, 326, 328, 330, 336, 338,
187 340, 352, 364, 376, 388, 400, 412, 424,
188 436, 448, 460, 462, 479, 486, 491, 495,
189 497, 502, 506, 508, 513, 517, 519, 524,
190 528, 530, 536, 538, 540, 546, 548, 550,
191 556, 558, 560, 566, 568, 570, 582, 594,
192 606, 618, 630, 642, 654, 666, 678, 680,
193 697, 704, 709, 713, 715, 720, 724, 726,
194 731, 735, 737, 742, 746, 748, 754, 756,
195 758, 764, 766, 768, 774, 776, 778, 784,
196 786, 788, 800, 812, 824, 836, 848, 860,
197 872, 884, 896, 908, 920, 925, 937, 949,
198 954, 958, 963, 967, 969, 974, 978, 980,
199 985, 989, 991, 993, 1010, 1017, 1023, 1025,
200 1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053,
201 1055, 1057, 1059, 1079, 1095, 1111, 1126, 1143,
202 1159, 1175, 1190, 1207, 1223, 1239, 1254, 1271,
203 1287, 1303, 1318, 1335, 1351, 1367, 1382, 1393,
204 1404, 1411, 1414, 1416, 1419, 1422, 1424, 1431,
205 1443, 1452, 1459, 1468, 1480, 1493, 1506, 1518,
206 1529, 1542, 1554, 1565, 1578, 1590, 1601, 1614,
207 1626, 1637, 1650, 1667, 1679, 1695, 1711, 1728,
208 1745, 1762, 1779, 1796, 1812, 1828, 1845, 1862,
209 1879, 1896, 1913, 1929, 1945, 1962, 1979, 1996,
210 2013, 2030, 2046, 2062, 2079, 2096, 2113, 2130,
211 2147, 2163, 2179, 2195, 2211, 2226, 2243, 2259,
212 2275, 2290, 2307, 2323, 2339, 2354, 2371, 2387,
213 2403, 2418, 2435, 2451, 2467, 2482, 2493, 2504,
214 2511, 2514, 2516, 2519, 2522, 2524, 2531, 2543,
215 2552, 2559, 2568, 2580, 2593, 2606, 2618, 2629,
216 2642, 2654, 2665, 2678, 2690, 2701, 2714, 2726,
217 2737, 2750, 2767, 2779, 2795, 2811, 2828, 2845,
218 2862, 2879, 2896, 2912, 2928, 2945, 2962, 2979,
219 2996, 3013, 3029, 3045, 3062, 3079, 3096, 3113,
220 3130, 3146, 3162, 3179, 3196, 3213, 3230, 3242,
221 3259, 3275, 3291, 3306, 3323, 3339, 3355, 3370,
222 3387, 3403, 3419, 3434, 3451, 3467, 3483, 3498,
223 3515, 3531, 3547, 3562, 3573, 3584, 3591, 3594,
224 3596, 3599, 3602, 3604, 3611, 3623, 3632, 3639,
225 3648, 3660, 3673, 3686, 3698, 3709, 3722, 3734,
226 3745, 3758, 3770, 3781, 3794, 3806, 3817, 3830,
227 3847, 3859, 3875, 3891, 3908, 3925, 3942, 3959,
228 3976, 3992, 4008, 4025, 4042, 4059, 4076, 4093,
229 4109, 4125, 4142, 4159, 4176, 4193, 4210, 4226,
230 4242, 4259, 4276, 4293, 4310, 4327, 4339, 4355,
231 4367, 4383, 4399, 4414, 4431, 4447, 4463, 4478,
232 4495, 4511, 4527, 4542, 4559, 4575, 4591, 4606,
233 4623, 4639, 4655, 4670, 4681, 4692, 4699, 4702,
234 4704, 4707, 4710, 4712, 4719, 4731, 4740, 4747,
235 4756, 4768, 4781, 4794, 4806, 4817, 4830, 4842,
236 4853, 4866, 4878, 4889, 4902, 4914, 4925, 4938,
237 4955, 4967, 4983, 4999, 5016, 5033, 5050, 5067,
238 5084, 5100, 5116, 5133, 5150, 5167, 5184, 5201,
239 5217, 5233, 5250, 5267, 5284, 5301, 5318, 5334,
240 5350, 5367, 5384, 5401, 5418, 5435, 5451, 5469,
241 5485, 5503, 5515, 5522, 5525, 5527, 5530, 5533,
242 5535, 5542, 5559, 5575, 5591, 5606, 5622, 5638,
243 5655, 5668, 5680, 5691, 5704, 5716, 5727, 5740,
244 5752, 5763, 5776, 5788, 5799, 5811, 5820, 5827,
245 5836, 5848, 5865, 5874, 5881, 5888, 5891, 5893,
246 5896, 5899, 5901, 5908
247};
248
249static const short _indic_syllable_machine_indicies[] = {
250 1, 0, 2, 3, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0,
252 0, 2, 0, 1, 0, 0, 0, 0,
253 4, 0, 5, 5, 6, 1, 0, 7,
254 7, 6, 0, 6, 0, 8, 8, 9,
255 1, 0, 10, 10, 9, 0, 9, 0,
256 11, 11, 12, 1, 0, 13, 13, 12,
257 0, 12, 0, 14, 14, 15, 1, 0,
258 16, 16, 15, 0, 15, 0, 17, 0,
259 0, 0, 1, 0, 18, 0, 19, 0,
260 20, 14, 14, 15, 1, 0, 21, 0,
261 22, 0, 23, 11, 11, 12, 1, 0,
262 24, 0, 25, 0, 26, 8, 8, 9,
263 1, 0, 27, 0, 28, 0, 29, 5,
264 5, 6, 1, 0, 0, 0, 0, 0,
265 29, 0, 29, 5, 5, 6, 1, 0,
266 0, 0, 0, 30, 29, 0, 31, 5,
267 5, 6, 1, 0, 0, 0, 0, 0,
268 31, 0, 31, 5, 5, 6, 1, 0,
269 0, 0, 0, 32, 31, 0, 33, 5,
270 5, 6, 1, 0, 0, 0, 0, 0,
271 33, 0, 33, 5, 5, 6, 1, 0,
272 0, 0, 0, 34, 33, 0, 35, 5,
273 5, 6, 1, 0, 0, 0, 0, 0,
274 35, 0, 35, 5, 5, 6, 1, 0,
275 0, 0, 0, 36, 35, 0, 37, 5,
276 5, 6, 1, 0, 0, 0, 0, 0,
277 37, 0, 37, 5, 5, 6, 1, 0,
278 0, 0, 0, 38, 37, 0, 40, 39,
279 41, 42, 39, 39, 39, 39, 39, 39,
280 39, 39, 39, 39, 39, 39, 39, 41,
281 39, 40, 39, 39, 39, 39, 43, 39,
282 44, 44, 45, 40, 39, 46, 46, 45,
283 39, 45, 39, 47, 47, 48, 40, 39,
284 49, 49, 48, 39, 48, 39, 50, 50,
285 51, 40, 39, 52, 52, 51, 39, 51,
286 39, 53, 53, 54, 40, 39, 55, 55,
287 54, 39, 54, 39, 56, 39, 39, 39,
288 40, 39, 57, 39, 58, 39, 59, 53,
289 53, 54, 40, 39, 60, 39, 61, 39,
290 62, 50, 50, 51, 40, 39, 63, 39,
291 64, 39, 65, 47, 47, 48, 40, 39,
292 66, 39, 67, 39, 68, 44, 44, 45,
293 40, 39, 39, 39, 39, 39, 68, 39,
294 68, 44, 44, 45, 40, 39, 39, 39,
295 39, 69, 68, 39, 70, 44, 44, 45,
296 40, 39, 39, 39, 39, 39, 70, 39,
297 70, 44, 44, 45, 40, 39, 39, 39,
298 39, 71, 70, 39, 72, 44, 44, 45,
299 40, 39, 39, 39, 39, 39, 72, 39,
300 72, 44, 44, 45, 40, 39, 39, 39,
301 39, 73, 72, 39, 74, 44, 44, 45,
302 40, 39, 39, 39, 39, 39, 74, 39,
303 74, 44, 44, 45, 40, 39, 39, 39,
304 39, 75, 74, 39, 76, 44, 44, 45,
305 40, 39, 39, 39, 39, 39, 76, 39,
306 76, 44, 44, 45, 40, 39, 39, 39,
307 39, 77, 76, 39, 79, 78, 80, 81,
308 78, 78, 78, 78, 78, 78, 78, 78,
309 78, 78, 78, 78, 78, 80, 78, 79,
310 78, 78, 78, 78, 82, 78, 83, 83,
311 84, 79, 78, 86, 86, 84, 85, 84,
312 85, 87, 87, 88, 79, 78, 89, 89,
313 88, 78, 88, 78, 90, 90, 91, 79,
314 78, 92, 92, 91, 78, 91, 78, 93,
315 93, 94, 79, 78, 95, 95, 94, 78,
316 94, 78, 96, 78, 78, 78, 79, 78,
317 97, 78, 98, 78, 99, 93, 93, 94,
318 79, 78, 100, 78, 101, 78, 102, 90,
319 90, 91, 79, 78, 103, 78, 104, 78,
320 105, 87, 87, 88, 79, 78, 106, 78,
321 107, 78, 108, 83, 83, 84, 79, 78,
322 78, 78, 78, 78, 108, 78, 108, 83,
323 83, 84, 79, 78, 78, 78, 78, 109,
324 108, 78, 110, 83, 83, 84, 79, 78,
325 78, 78, 78, 78, 110, 78, 110, 83,
326 83, 84, 79, 78, 78, 78, 78, 111,
327 110, 78, 112, 83, 83, 84, 79, 78,
328 78, 78, 78, 78, 112, 78, 112, 83,
329 83, 84, 79, 78, 78, 78, 78, 113,
330 112, 78, 114, 83, 83, 84, 79, 78,
331 78, 78, 78, 78, 114, 78, 114, 83,
332 83, 84, 79, 78, 78, 78, 78, 115,
333 114, 78, 116, 83, 83, 84, 79, 78,
334 78, 78, 78, 78, 116, 78, 118, 117,
335 119, 120, 117, 117, 117, 117, 117, 117,
336 117, 117, 117, 117, 117, 117, 117, 119,
337 117, 118, 117, 117, 117, 117, 121, 117,
338 122, 122, 123, 118, 117, 124, 124, 123,
339 117, 123, 117, 125, 125, 126, 118, 117,
340 127, 127, 126, 117, 126, 117, 128, 128,
341 129, 118, 117, 130, 130, 129, 117, 129,
342 117, 131, 131, 132, 118, 117, 133, 133,
343 132, 117, 132, 117, 134, 117, 117, 117,
344 118, 117, 135, 117, 136, 117, 137, 131,
345 131, 132, 118, 117, 138, 117, 139, 117,
346 140, 128, 128, 129, 118, 117, 141, 117,
347 142, 117, 143, 125, 125, 126, 118, 117,
348 144, 117, 145, 117, 146, 122, 122, 123,
349 118, 117, 117, 117, 117, 117, 146, 117,
350 146, 122, 122, 123, 118, 117, 117, 117,
351 117, 147, 146, 117, 148, 122, 122, 123,
352 118, 117, 117, 117, 117, 117, 148, 117,
353 148, 122, 122, 123, 118, 117, 117, 117,
354 117, 149, 148, 117, 150, 122, 122, 123,
355 118, 117, 117, 117, 117, 117, 150, 117,
356 150, 122, 122, 123, 118, 117, 117, 117,
357 117, 151, 150, 117, 152, 122, 122, 123,
358 118, 117, 117, 117, 117, 117, 152, 117,
359 152, 122, 122, 123, 118, 117, 117, 117,
360 117, 153, 152, 117, 154, 122, 122, 123,
361 118, 117, 117, 117, 117, 117, 154, 117,
362 154, 122, 122, 123, 118, 117, 117, 117,
363 117, 155, 154, 117, 116, 83, 83, 84,
364 79, 78, 78, 78, 78, 156, 116, 78,
365 86, 86, 84, 1, 0, 114, 83, 83,
366 84, 157, 0, 0, 0, 0, 0, 114,
367 0, 114, 83, 83, 84, 157, 0, 0,
368 0, 0, 158, 114, 0, 159, 159, 160,
369 1, 0, 7, 7, 160, 0, 161, 161,
370 162, 157, 0, 163, 163, 162, 0, 162,
371 0, 164, 164, 165, 157, 0, 166, 166,
372 165, 0, 165, 0, 167, 167, 168, 157,
373 0, 169, 169, 168, 0, 168, 0, 157,
374 0, 170, 171, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0,
376 170, 0, 157, 0, 0, 0, 0, 172,
377 0, 173, 0, 0, 0, 157, 0, 174,
378 0, 175, 0, 176, 167, 167, 168, 157,
379 0, 177, 0, 178, 0, 179, 164, 164,
380 165, 157, 0, 180, 0, 181, 0, 182,
381 161, 161, 162, 157, 0, 183, 0, 184,
382 0, 186, 185, 188, 189, 190, 191, 192,
383 193, 84, 79, 194, 195, 196, 196, 156,
384 197, 198, 199, 200, 201, 202, 187, 204,
385 205, 206, 207, 6, 1, 208, 209, 203,
386 203, 38, 210, 203, 203, 211, 203, 212,
387 205, 213, 213, 6, 1, 208, 209, 203,
388 203, 203, 210, 203, 203, 211, 203, 205,
389 213, 213, 6, 1, 208, 209, 203, 203,
390 203, 210, 203, 203, 211, 203, 214, 203,
391 203, 203, 19, 215, 203, 1, 208, 209,
392 203, 203, 203, 216, 203, 214, 203, 217,
393 218, 219, 220, 6, 1, 208, 209, 203,
394 203, 36, 221, 203, 203, 211, 203, 222,
395 218, 223, 223, 6, 1, 208, 209, 203,
396 203, 203, 221, 203, 203, 211, 203, 218,
397 223, 223, 6, 1, 208, 209, 203, 203,
398 203, 221, 203, 203, 211, 203, 224, 203,
399 203, 203, 19, 225, 203, 1, 208, 209,
400 203, 203, 203, 216, 203, 224, 203, 226,
401 227, 228, 229, 6, 1, 208, 209, 203,
402 203, 34, 230, 203, 203, 211, 203, 231,
403 227, 232, 232, 6, 1, 208, 209, 203,
404 203, 203, 230, 203, 203, 211, 203, 227,
405 232, 232, 6, 1, 208, 209, 203, 203,
406 203, 230, 203, 203, 211, 203, 233, 203,
407 203, 203, 19, 234, 203, 1, 208, 209,
408 203, 203, 203, 216, 203, 233, 203, 235,
409 236, 237, 238, 6, 1, 208, 209, 203,
410 203, 32, 239, 203, 203, 211, 203, 240,
411 236, 241, 241, 6, 1, 208, 209, 203,
412 203, 203, 239, 203, 203, 211, 203, 236,
413 241, 241, 6, 1, 208, 209, 203, 203,
414 203, 239, 203, 203, 211, 203, 242, 203,
415 203, 203, 19, 243, 203, 1, 208, 209,
416 203, 203, 203, 216, 203, 242, 203, 244,
417 245, 246, 247, 6, 1, 208, 209, 203,
418 203, 30, 248, 203, 203, 211, 203, 249,
419 245, 250, 250, 6, 1, 208, 209, 203,
420 203, 203, 248, 203, 203, 211, 203, 245,
421 250, 250, 6, 1, 208, 209, 203, 203,
422 203, 248, 203, 203, 211, 203, 19, 251,
423 203, 1, 208, 209, 203, 203, 203, 216,
424 203, 252, 252, 203, 1, 208, 209, 203,
425 203, 203, 216, 203, 253, 203, 203, 254,
426 208, 209, 203, 208, 209, 203, 255, 203,
427 208, 256, 203, 208, 257, 203, 208, 203,
428 253, 203, 203, 203, 208, 209, 203, 258,
429 203, 259, 260, 203, 1, 208, 209, 203,
430 203, 4, 203, 3, 203, 252, 252, 203,
431 1, 208, 209, 203, 252, 252, 203, 1,
432 208, 209, 203, 258, 203, 252, 252, 203,
433 1, 208, 209, 203, 258, 203, 259, 252,
434 203, 1, 208, 209, 203, 203, 4, 203,
435 19, 203, 261, 261, 6, 1, 208, 209,
436 203, 203, 203, 216, 203, 262, 28, 263,
437 264, 9, 1, 208, 209, 203, 203, 203,
438 216, 203, 28, 263, 264, 9, 1, 208,
439 209, 203, 203, 203, 216, 203, 263, 263,
440 9, 1, 208, 209, 203, 203, 203, 216,
441 203, 265, 25, 266, 267, 12, 1, 208,
442 209, 203, 203, 203, 216, 203, 25, 266,
443 267, 12, 1, 208, 209, 203, 203, 203,
444 216, 203, 266, 266, 12, 1, 208, 209,
445 203, 203, 203, 216, 203, 268, 22, 269,
446 270, 15, 1, 208, 209, 203, 203, 203,
447 216, 203, 22, 269, 270, 15, 1, 208,
448 209, 203, 203, 203, 216, 203, 269, 269,
449 15, 1, 208, 209, 203, 203, 203, 216,
450 203, 271, 19, 252, 272, 203, 1, 208,
451 209, 203, 203, 203, 216, 203, 19, 252,
452 272, 203, 1, 208, 209, 203, 203, 203,
453 216, 203, 252, 273, 203, 1, 208, 209,
454 203, 203, 203, 216, 203, 19, 203, 252,
455 252, 203, 1, 208, 209, 203, 203, 203,
456 216, 203, 2, 3, 203, 203, 19, 251,
457 203, 1, 208, 209, 203, 203, 203, 216,
458 203, 2, 203, 245, 250, 250, 6, 1,
459 208, 209, 203, 203, 203, 248, 203, 244,
460 245, 250, 250, 6, 1, 208, 209, 203,
461 203, 203, 248, 203, 203, 211, 203, 244,
462 245, 246, 250, 6, 1, 208, 209, 203,
463 203, 30, 248, 203, 203, 211, 203, 242,
464 203, 274, 203, 261, 261, 6, 1, 208,
465 209, 203, 203, 203, 216, 203, 242, 203,
466 242, 203, 203, 203, 252, 252, 203, 1,
467 208, 209, 203, 203, 203, 216, 203, 242,
468 203, 242, 203, 203, 203, 252, 275, 203,
469 1, 208, 209, 203, 203, 203, 216, 203,
470 242, 203, 242, 203, 274, 203, 252, 252,
471 203, 1, 208, 209, 203, 203, 203, 216,
472 203, 242, 203, 242, 3, 203, 203, 19,
473 243, 203, 1, 208, 209, 203, 203, 203,
474 216, 203, 242, 203, 235, 236, 241, 241,
475 6, 1, 208, 209, 203, 203, 203, 239,
476 203, 203, 211, 203, 235, 236, 237, 241,
477 6, 1, 208, 209, 203, 203, 32, 239,
478 203, 203, 211, 203, 233, 203, 276, 203,
479 261, 261, 6, 1, 208, 209, 203, 203,
480 203, 216, 203, 233, 203, 233, 203, 203,
481 203, 252, 252, 203, 1, 208, 209, 203,
482 203, 203, 216, 203, 233, 203, 233, 203,
483 203, 203, 252, 277, 203, 1, 208, 209,
484 203, 203, 203, 216, 203, 233, 203, 233,
485 203, 276, 203, 252, 252, 203, 1, 208,
486 209, 203, 203, 203, 216, 203, 233, 203,
487 233, 3, 203, 203, 19, 234, 203, 1,
488 208, 209, 203, 203, 203, 216, 203, 233,
489 203, 226, 227, 232, 232, 6, 1, 208,
490 209, 203, 203, 203, 230, 203, 203, 211,
491 203, 226, 227, 228, 232, 6, 1, 208,
492 209, 203, 203, 34, 230, 203, 203, 211,
493 203, 224, 203, 278, 203, 261, 261, 6,
494 1, 208, 209, 203, 203, 203, 216, 203,
495 224, 203, 224, 203, 203, 203, 252, 252,
496 203, 1, 208, 209, 203, 203, 203, 216,
497 203, 224, 203, 224, 203, 203, 203, 252,
498 279, 203, 1, 208, 209, 203, 203, 203,
499 216, 203, 224, 203, 224, 203, 278, 203,
500 252, 252, 203, 1, 208, 209, 203, 203,
501 203, 216, 203, 224, 203, 224, 3, 203,
502 203, 19, 225, 203, 1, 208, 209, 203,
503 203, 203, 216, 203, 224, 203, 217, 218,
504 223, 223, 6, 1, 208, 209, 203, 203,
505 203, 221, 203, 203, 211, 203, 217, 218,
506 219, 223, 6, 1, 208, 209, 203, 203,
507 36, 221, 203, 203, 211, 203, 214, 203,
508 280, 203, 261, 261, 6, 1, 208, 209,
509 203, 203, 203, 216, 203, 214, 203, 214,
510 203, 203, 203, 252, 252, 203, 1, 208,
511 209, 203, 203, 203, 216, 203, 214, 203,
512 214, 203, 203, 203, 252, 281, 203, 1,
513 208, 209, 203, 203, 203, 216, 203, 214,
514 203, 214, 203, 280, 203, 252, 252, 203,
515 1, 208, 209, 203, 203, 203, 216, 203,
516 214, 203, 214, 3, 203, 203, 19, 215,
517 203, 1, 208, 209, 203, 203, 203, 216,
518 203, 214, 203, 204, 205, 213, 213, 6,
519 1, 208, 209, 203, 203, 203, 210, 203,
520 203, 211, 203, 204, 205, 206, 213, 6,
521 1, 208, 209, 203, 203, 38, 210, 203,
522 203, 211, 203, 283, 284, 285, 286, 45,
523 40, 287, 288, 282, 282, 77, 289, 282,
524 282, 290, 282, 291, 284, 292, 286, 45,
525 40, 287, 288, 282, 282, 282, 289, 282,
526 282, 290, 282, 284, 292, 286, 45, 40,
527 287, 288, 282, 282, 282, 289, 282, 282,
528 290, 282, 293, 282, 282, 282, 58, 294,
529 282, 40, 287, 288, 282, 282, 282, 295,
530 282, 293, 282, 296, 297, 298, 299, 45,
531 40, 287, 288, 282, 282, 75, 300, 282,
532 282, 290, 282, 301, 297, 302, 302, 45,
533 40, 287, 288, 282, 282, 282, 300, 282,
534 282, 290, 282, 297, 302, 302, 45, 40,
535 287, 288, 282, 282, 282, 300, 282, 282,
536 290, 282, 303, 282, 282, 282, 58, 304,
537 282, 40, 287, 288, 282, 282, 282, 295,
538 282, 303, 282, 305, 306, 307, 308, 45,
539 40, 287, 288, 282, 282, 73, 309, 282,
540 282, 290, 282, 310, 306, 311, 311, 45,
541 40, 287, 288, 282, 282, 282, 309, 282,
542 282, 290, 282, 306, 311, 311, 45, 40,
543 287, 288, 282, 282, 282, 309, 282, 282,
544 290, 282, 312, 282, 282, 282, 58, 313,
545 282, 40, 287, 288, 282, 282, 282, 295,
546 282, 312, 282, 314, 315, 316, 317, 45,
547 40, 287, 288, 282, 282, 71, 318, 282,
548 282, 290, 282, 319, 315, 320, 320, 45,
549 40, 287, 288, 282, 282, 282, 318, 282,
550 282, 290, 282, 315, 320, 320, 45, 40,
551 287, 288, 282, 282, 282, 318, 282, 282,
552 290, 282, 321, 282, 282, 282, 58, 322,
553 282, 40, 287, 288, 282, 282, 282, 295,
554 282, 321, 282, 323, 324, 325, 326, 45,
555 40, 287, 288, 282, 282, 69, 327, 282,
556 282, 290, 282, 328, 324, 329, 329, 45,
557 40, 287, 288, 282, 282, 282, 327, 282,
558 282, 290, 282, 324, 329, 329, 45, 40,
559 287, 288, 282, 282, 282, 327, 282, 282,
560 290, 282, 58, 330, 282, 40, 287, 288,
561 282, 282, 282, 295, 282, 331, 331, 282,
562 40, 287, 288, 282, 282, 282, 295, 282,
563 332, 282, 282, 333, 287, 288, 282, 287,
564 288, 282, 334, 282, 287, 335, 282, 287,
565 336, 282, 287, 282, 332, 282, 282, 282,
566 287, 288, 282, 337, 282, 338, 339, 282,
567 40, 287, 288, 282, 282, 43, 282, 42,
568 282, 331, 331, 282, 40, 287, 288, 282,
569 331, 331, 282, 40, 287, 288, 282, 337,
570 282, 331, 331, 282, 40, 287, 288, 282,
571 337, 282, 338, 331, 282, 40, 287, 288,
572 282, 282, 43, 282, 58, 282, 340, 340,
573 45, 40, 287, 288, 282, 282, 282, 295,
574 282, 341, 67, 342, 343, 48, 40, 287,
575 288, 282, 282, 282, 295, 282, 67, 342,
576 343, 48, 40, 287, 288, 282, 282, 282,
577 295, 282, 342, 342, 48, 40, 287, 288,
578 282, 282, 282, 295, 282, 344, 64, 345,
579 346, 51, 40, 287, 288, 282, 282, 282,
580 295, 282, 64, 345, 346, 51, 40, 287,
581 288, 282, 282, 282, 295, 282, 345, 345,
582 51, 40, 287, 288, 282, 282, 282, 295,
583 282, 347, 61, 348, 349, 54, 40, 287,
584 288, 282, 282, 282, 295, 282, 61, 348,
585 349, 54, 40, 287, 288, 282, 282, 282,
586 295, 282, 348, 348, 54, 40, 287, 288,
587 282, 282, 282, 295, 282, 350, 58, 331,
588 351, 282, 40, 287, 288, 282, 282, 282,
589 295, 282, 58, 331, 351, 282, 40, 287,
590 288, 282, 282, 282, 295, 282, 331, 352,
591 282, 40, 287, 288, 282, 282, 282, 295,
592 282, 58, 282, 331, 331, 282, 40, 287,
593 288, 282, 282, 282, 295, 282, 41, 42,
594 282, 282, 58, 330, 282, 40, 287, 288,
595 282, 282, 282, 295, 282, 41, 282, 324,
596 329, 329, 45, 40, 287, 288, 282, 282,
597 282, 327, 282, 323, 324, 329, 329, 45,
598 40, 287, 288, 282, 282, 282, 327, 282,
599 282, 290, 282, 323, 324, 325, 329, 45,
600 40, 287, 288, 282, 282, 69, 327, 282,
601 282, 290, 282, 321, 282, 353, 282, 340,
602 340, 45, 40, 287, 288, 282, 282, 282,
603 295, 282, 321, 282, 321, 282, 282, 282,
604 331, 331, 282, 40, 287, 288, 282, 282,
605 282, 295, 282, 321, 282, 321, 282, 282,
606 282, 331, 354, 282, 40, 287, 288, 282,
607 282, 282, 295, 282, 321, 282, 321, 282,
608 353, 282, 331, 331, 282, 40, 287, 288,
609 282, 282, 282, 295, 282, 321, 282, 321,
610 42, 282, 282, 58, 322, 282, 40, 287,
611 288, 282, 282, 282, 295, 282, 321, 282,
612 314, 315, 320, 320, 45, 40, 287, 288,
613 282, 282, 282, 318, 282, 282, 290, 282,
614 314, 315, 316, 320, 45, 40, 287, 288,
615 282, 282, 71, 318, 282, 282, 290, 282,
616 312, 282, 355, 282, 340, 340, 45, 40,
617 287, 288, 282, 282, 282, 295, 282, 312,
618 282, 312, 282, 282, 282, 331, 331, 282,
619 40, 287, 288, 282, 282, 282, 295, 282,
620 312, 282, 312, 282, 282, 282, 331, 356,
621 282, 40, 287, 288, 282, 282, 282, 295,
622 282, 312, 282, 312, 282, 355, 282, 331,
623 331, 282, 40, 287, 288, 282, 282, 282,
624 295, 282, 312, 282, 312, 42, 282, 282,
625 58, 313, 282, 40, 287, 288, 282, 282,
626 282, 295, 282, 312, 282, 305, 306, 311,
627 311, 45, 40, 287, 288, 282, 282, 282,
628 309, 282, 282, 290, 282, 305, 306, 307,
629 311, 45, 40, 287, 288, 282, 282, 73,
630 309, 282, 282, 290, 282, 303, 282, 357,
631 282, 340, 340, 45, 40, 287, 288, 282,
632 282, 282, 295, 282, 303, 282, 303, 282,
633 282, 282, 331, 331, 282, 40, 287, 288,
634 282, 282, 282, 295, 282, 303, 282, 303,
635 282, 282, 282, 331, 358, 282, 40, 287,
636 288, 282, 282, 282, 295, 282, 303, 282,
637 303, 282, 357, 282, 331, 331, 282, 40,
638 287, 288, 282, 282, 282, 295, 282, 303,
639 282, 303, 42, 282, 282, 58, 304, 282,
640 40, 287, 288, 282, 282, 282, 295, 282,
641 303, 282, 296, 297, 302, 302, 45, 40,
642 287, 288, 282, 282, 282, 300, 282, 282,
643 290, 282, 296, 297, 298, 302, 45, 40,
644 287, 288, 282, 282, 75, 300, 282, 282,
645 290, 282, 293, 282, 359, 282, 340, 340,
646 45, 40, 287, 288, 282, 282, 282, 295,
647 282, 293, 282, 293, 282, 282, 282, 331,
648 331, 282, 40, 287, 288, 282, 282, 282,
649 295, 282, 293, 282, 293, 282, 282, 282,
650 331, 360, 282, 40, 287, 288, 282, 282,
651 282, 295, 282, 293, 282, 293, 282, 359,
652 282, 331, 331, 282, 40, 287, 288, 282,
653 282, 282, 295, 282, 293, 282, 76, 44,
654 44, 45, 40, 282, 282, 282, 282, 282,
655 76, 282, 293, 42, 282, 282, 58, 294,
656 282, 40, 287, 288, 282, 282, 282, 295,
657 282, 293, 282, 283, 284, 292, 286, 45,
658 40, 287, 288, 282, 282, 282, 289, 282,
659 282, 290, 282, 362, 191, 363, 363, 84,
660 79, 194, 195, 361, 361, 361, 197, 361,
661 361, 200, 361, 191, 363, 363, 84, 79,
662 194, 195, 361, 361, 361, 197, 361, 361,
663 200, 361, 364, 361, 361, 361, 98, 365,
664 361, 79, 194, 195, 361, 361, 361, 366,
665 361, 364, 361, 367, 368, 369, 370, 84,
666 79, 194, 195, 361, 361, 115, 371, 361,
667 361, 200, 361, 372, 368, 373, 373, 84,
668 79, 194, 195, 361, 361, 361, 371, 361,
669 361, 200, 361, 368, 373, 373, 84, 79,
670 194, 195, 361, 361, 361, 371, 361, 361,
671 200, 361, 374, 361, 361, 361, 98, 375,
672 361, 79, 194, 195, 361, 361, 361, 366,
673 361, 374, 361, 376, 377, 378, 379, 84,
674 79, 194, 195, 361, 361, 113, 380, 361,
675 361, 200, 361, 381, 377, 382, 382, 84,
676 79, 194, 195, 361, 361, 361, 380, 361,
677 361, 200, 361, 377, 382, 382, 84, 79,
678 194, 195, 361, 361, 361, 380, 361, 361,
679 200, 361, 383, 361, 361, 361, 98, 384,
680 361, 79, 194, 195, 361, 361, 361, 366,
681 361, 383, 361, 385, 386, 387, 388, 84,
682 79, 194, 195, 361, 361, 111, 389, 361,
683 361, 200, 361, 390, 386, 391, 391, 84,
684 79, 194, 195, 361, 361, 361, 389, 361,
685 361, 200, 361, 386, 391, 391, 84, 79,
686 194, 195, 361, 361, 361, 389, 361, 361,
687 200, 361, 392, 361, 361, 361, 98, 393,
688 361, 79, 194, 195, 361, 361, 361, 366,
689 361, 392, 361, 394, 395, 396, 397, 84,
690 79, 194, 195, 361, 361, 109, 398, 361,
691 361, 200, 361, 399, 395, 400, 400, 84,
692 79, 194, 195, 361, 361, 361, 398, 361,
693 361, 200, 361, 395, 400, 400, 84, 79,
694 194, 195, 361, 361, 361, 398, 361, 361,
695 200, 361, 98, 401, 361, 79, 194, 195,
696 361, 361, 361, 366, 361, 402, 402, 361,
697 79, 194, 195, 361, 361, 361, 366, 361,
698 403, 361, 361, 404, 194, 195, 361, 194,
699 195, 361, 405, 361, 194, 406, 361, 194,
700 407, 361, 194, 361, 403, 361, 361, 361,
701 194, 195, 361, 408, 361, 409, 410, 361,
702 79, 194, 195, 361, 361, 82, 361, 81,
703 361, 402, 402, 361, 79, 194, 195, 361,
704 402, 402, 361, 79, 194, 195, 361, 408,
705 361, 402, 402, 361, 79, 194, 195, 361,
706 408, 361, 409, 402, 361, 79, 194, 195,
707 361, 361, 82, 361, 98, 361, 411, 411,
708 84, 79, 194, 195, 361, 361, 361, 366,
709 361, 412, 107, 413, 414, 88, 79, 194,
710 195, 361, 361, 361, 366, 361, 107, 413,
711 414, 88, 79, 194, 195, 361, 361, 361,
712 366, 361, 413, 413, 88, 79, 194, 195,
713 361, 361, 361, 366, 361, 415, 104, 416,
714 417, 91, 79, 194, 195, 361, 361, 361,
715 366, 361, 104, 416, 417, 91, 79, 194,
716 195, 361, 361, 361, 366, 361, 416, 416,
717 91, 79, 194, 195, 361, 361, 361, 366,
718 361, 418, 101, 419, 420, 94, 79, 194,
719 195, 361, 361, 361, 366, 361, 101, 419,
720 420, 94, 79, 194, 195, 361, 361, 361,
721 366, 361, 419, 419, 94, 79, 194, 195,
722 361, 361, 361, 366, 361, 421, 98, 402,
723 422, 361, 79, 194, 195, 361, 361, 361,
724 366, 361, 98, 402, 422, 361, 79, 194,
725 195, 361, 361, 361, 366, 361, 402, 423,
726 361, 79, 194, 195, 361, 361, 361, 366,
727 361, 98, 361, 402, 402, 361, 79, 194,
728 195, 361, 361, 361, 366, 361, 80, 81,
729 361, 361, 98, 401, 361, 79, 194, 195,
730 361, 361, 361, 366, 361, 80, 361, 395,
731 400, 400, 84, 79, 194, 195, 361, 361,
732 361, 398, 361, 394, 395, 400, 400, 84,
733 79, 194, 195, 361, 361, 361, 398, 361,
734 361, 200, 361, 394, 395, 396, 400, 84,
735 79, 194, 195, 361, 361, 109, 398, 361,
736 361, 200, 361, 392, 361, 424, 361, 411,
737 411, 84, 79, 194, 195, 361, 361, 361,
738 366, 361, 392, 361, 392, 361, 361, 361,
739 402, 402, 361, 79, 194, 195, 361, 361,
740 361, 366, 361, 392, 361, 392, 361, 361,
741 361, 402, 425, 361, 79, 194, 195, 361,
742 361, 361, 366, 361, 392, 361, 392, 361,
743 424, 361, 402, 402, 361, 79, 194, 195,
744 361, 361, 361, 366, 361, 392, 361, 392,
745 81, 361, 361, 98, 393, 361, 79, 194,
746 195, 361, 361, 361, 366, 361, 392, 361,
747 385, 386, 391, 391, 84, 79, 194, 195,
748 361, 361, 361, 389, 361, 361, 200, 361,
749 385, 386, 387, 391, 84, 79, 194, 195,
750 361, 361, 111, 389, 361, 361, 200, 361,
751 383, 361, 426, 361, 411, 411, 84, 79,
752 194, 195, 361, 361, 361, 366, 361, 383,
753 361, 383, 361, 361, 361, 402, 402, 361,
754 79, 194, 195, 361, 361, 361, 366, 361,
755 383, 361, 383, 361, 361, 361, 402, 427,
756 361, 79, 194, 195, 361, 361, 361, 366,
757 361, 383, 361, 383, 361, 426, 361, 402,
758 402, 361, 79, 194, 195, 361, 361, 361,
759 366, 361, 383, 361, 383, 81, 361, 361,
760 98, 384, 361, 79, 194, 195, 361, 361,
761 361, 366, 361, 383, 361, 376, 377, 382,
762 382, 84, 79, 194, 195, 361, 361, 361,
763 380, 361, 361, 200, 361, 376, 377, 378,
764 382, 84, 79, 194, 195, 361, 361, 113,
765 380, 361, 361, 200, 361, 374, 361, 428,
766 361, 411, 411, 84, 79, 194, 195, 361,
767 361, 361, 366, 361, 374, 361, 374, 361,
768 361, 361, 402, 402, 361, 79, 194, 195,
769 361, 361, 361, 366, 361, 374, 361, 374,
770 361, 361, 361, 402, 429, 361, 79, 194,
771 195, 361, 361, 361, 366, 361, 374, 361,
772 374, 361, 428, 361, 402, 402, 361, 79,
773 194, 195, 361, 361, 361, 366, 361, 374,
774 361, 374, 81, 361, 361, 98, 375, 361,
775 79, 194, 195, 361, 361, 361, 366, 361,
776 374, 361, 367, 368, 373, 373, 84, 79,
777 194, 195, 361, 361, 361, 371, 361, 361,
778 200, 361, 367, 368, 369, 373, 84, 79,
779 194, 195, 361, 361, 115, 371, 361, 361,
780 200, 361, 364, 361, 430, 361, 411, 411,
781 84, 79, 194, 195, 361, 361, 361, 366,
782 361, 364, 361, 364, 361, 361, 361, 402,
783 402, 361, 79, 194, 195, 361, 361, 361,
784 366, 361, 364, 361, 364, 361, 361, 361,
785 402, 431, 361, 79, 194, 195, 361, 361,
786 361, 366, 361, 364, 361, 364, 361, 430,
787 361, 402, 402, 361, 79, 194, 195, 361,
788 361, 361, 366, 361, 364, 361, 364, 81,
789 361, 361, 98, 365, 361, 79, 194, 195,
790 361, 361, 361, 366, 361, 364, 361, 116,
791 83, 83, 84, 79, 432, 432, 432, 432,
792 156, 116, 432, 190, 191, 363, 363, 84,
793 79, 194, 195, 361, 361, 361, 197, 361,
794 361, 200, 361, 116, 83, 83, 84, 79,
795 432, 432, 432, 432, 432, 116, 432, 434,
796 435, 436, 437, 123, 118, 438, 439, 433,
797 433, 155, 440, 433, 433, 441, 433, 442,
798 435, 437, 437, 123, 118, 438, 439, 433,
799 433, 433, 440, 433, 433, 441, 433, 435,
800 437, 437, 123, 118, 438, 439, 433, 433,
801 433, 440, 433, 433, 441, 433, 443, 433,
802 433, 433, 136, 444, 433, 118, 438, 439,
803 433, 433, 433, 445, 433, 443, 433, 446,
804 447, 448, 449, 123, 118, 438, 439, 433,
805 433, 153, 450, 433, 433, 441, 433, 451,
806 447, 452, 452, 123, 118, 438, 439, 433,
807 433, 433, 450, 433, 433, 441, 433, 447,
808 452, 452, 123, 118, 438, 439, 433, 433,
809 433, 450, 433, 433, 441, 433, 453, 433,
810 433, 433, 136, 454, 433, 118, 438, 439,
811 433, 433, 433, 445, 433, 453, 433, 455,
812 456, 457, 458, 123, 118, 438, 439, 433,
813 433, 151, 459, 433, 433, 441, 433, 460,
814 456, 461, 461, 123, 118, 438, 439, 433,
815 433, 433, 459, 433, 433, 441, 433, 456,
816 461, 461, 123, 118, 438, 439, 433, 433,
817 433, 459, 433, 433, 441, 433, 462, 433,
818 433, 433, 136, 463, 433, 118, 438, 439,
819 433, 433, 433, 445, 433, 462, 433, 464,
820 465, 466, 467, 123, 118, 438, 439, 433,
821 433, 149, 468, 433, 433, 441, 433, 469,
822 465, 470, 470, 123, 118, 438, 439, 433,
823 433, 433, 468, 433, 433, 441, 433, 465,
824 470, 470, 123, 118, 438, 439, 433, 433,
825 433, 468, 433, 433, 441, 433, 471, 433,
826 433, 433, 136, 472, 433, 118, 438, 439,
827 433, 433, 433, 445, 433, 471, 433, 473,
828 474, 475, 476, 123, 118, 438, 439, 433,
829 433, 147, 477, 433, 433, 441, 433, 478,
830 474, 479, 479, 123, 118, 438, 439, 433,
831 433, 433, 477, 433, 433, 441, 433, 474,
832 479, 479, 123, 118, 438, 439, 433, 433,
833 433, 477, 433, 433, 441, 433, 136, 480,
834 433, 118, 438, 439, 433, 433, 433, 445,
835 433, 481, 481, 433, 118, 438, 439, 433,
836 433, 433, 445, 433, 482, 433, 433, 483,
837 438, 439, 433, 438, 439, 433, 484, 433,
838 438, 485, 433, 438, 486, 433, 438, 433,
839 482, 433, 433, 433, 438, 439, 433, 487,
840 433, 488, 489, 433, 118, 438, 439, 433,
841 433, 121, 433, 120, 433, 481, 481, 433,
842 118, 438, 439, 433, 481, 481, 433, 118,
843 438, 439, 433, 487, 433, 481, 481, 433,
844 118, 438, 439, 433, 487, 433, 488, 481,
845 433, 118, 438, 439, 433, 433, 121, 433,
846 136, 433, 490, 490, 123, 118, 438, 439,
847 433, 433, 433, 445, 433, 491, 145, 492,
848 493, 126, 118, 438, 439, 433, 433, 433,
849 445, 433, 145, 492, 493, 126, 118, 438,
850 439, 433, 433, 433, 445, 433, 492, 492,
851 126, 118, 438, 439, 433, 433, 433, 445,
852 433, 494, 142, 495, 496, 129, 118, 438,
853 439, 433, 433, 433, 445, 433, 142, 495,
854 496, 129, 118, 438, 439, 433, 433, 433,
855 445, 433, 495, 495, 129, 118, 438, 439,
856 433, 433, 433, 445, 433, 497, 139, 498,
857 499, 132, 118, 438, 439, 433, 433, 433,
858 445, 433, 139, 498, 499, 132, 118, 438,
859 439, 433, 433, 433, 445, 433, 498, 498,
860 132, 118, 438, 439, 433, 433, 433, 445,
861 433, 500, 136, 481, 501, 433, 118, 438,
862 439, 433, 433, 433, 445, 433, 136, 481,
863 501, 433, 118, 438, 439, 433, 433, 433,
864 445, 433, 481, 502, 433, 118, 438, 439,
865 433, 433, 433, 445, 433, 136, 433, 481,
866 481, 433, 118, 438, 439, 433, 433, 433,
867 445, 433, 119, 120, 433, 433, 136, 480,
868 433, 118, 438, 439, 433, 433, 433, 445,
869 433, 119, 433, 474, 479, 479, 123, 118,
870 438, 439, 433, 433, 433, 477, 433, 473,
871 474, 479, 479, 123, 118, 438, 439, 433,
872 433, 433, 477, 433, 433, 441, 433, 473,
873 474, 475, 479, 123, 118, 438, 439, 433,
874 433, 147, 477, 433, 433, 441, 433, 471,
875 433, 503, 433, 490, 490, 123, 118, 438,
876 439, 433, 433, 433, 445, 433, 471, 433,
877 471, 433, 433, 433, 481, 481, 433, 118,
878 438, 439, 433, 433, 433, 445, 433, 471,
879 433, 471, 433, 433, 433, 481, 504, 433,
880 118, 438, 439, 433, 433, 433, 445, 433,
881 471, 433, 471, 433, 503, 433, 481, 481,
882 433, 118, 438, 439, 433, 433, 433, 445,
883 433, 471, 433, 471, 120, 433, 433, 136,
884 472, 433, 118, 438, 439, 433, 433, 433,
885 445, 433, 471, 433, 464, 465, 470, 470,
886 123, 118, 438, 439, 433, 433, 433, 468,
887 433, 433, 441, 433, 464, 465, 466, 470,
888 123, 118, 438, 439, 433, 433, 149, 468,
889 433, 433, 441, 433, 462, 433, 505, 433,
890 490, 490, 123, 118, 438, 439, 433, 433,
891 433, 445, 433, 462, 433, 462, 433, 433,
892 433, 481, 481, 433, 118, 438, 439, 433,
893 433, 433, 445, 433, 462, 433, 462, 433,
894 433, 433, 481, 506, 433, 118, 438, 439,
895 433, 433, 433, 445, 433, 462, 433, 462,
896 433, 505, 433, 481, 481, 433, 118, 438,
897 439, 433, 433, 433, 445, 433, 462, 433,
898 462, 120, 433, 433, 136, 463, 433, 118,
899 438, 439, 433, 433, 433, 445, 433, 462,
900 433, 455, 456, 461, 461, 123, 118, 438,
901 439, 433, 433, 433, 459, 433, 433, 441,
902 433, 455, 456, 457, 461, 123, 118, 438,
903 439, 433, 433, 151, 459, 433, 433, 441,
904 433, 453, 433, 507, 433, 490, 490, 123,
905 118, 438, 439, 433, 433, 433, 445, 433,
906 453, 433, 453, 433, 433, 433, 481, 481,
907 433, 118, 438, 439, 433, 433, 433, 445,
908 433, 453, 433, 453, 433, 433, 433, 481,
909 508, 433, 118, 438, 439, 433, 433, 433,
910 445, 433, 453, 433, 453, 433, 507, 433,
911 481, 481, 433, 118, 438, 439, 433, 433,
912 433, 445, 433, 453, 433, 453, 120, 433,
913 433, 136, 454, 433, 118, 438, 439, 433,
914 433, 433, 445, 433, 453, 433, 446, 447,
915 452, 452, 123, 118, 438, 439, 433, 433,
916 433, 450, 433, 433, 441, 433, 446, 447,
917 448, 452, 123, 118, 438, 439, 433, 433,
918 153, 450, 433, 433, 441, 433, 443, 433,
919 509, 433, 490, 490, 123, 118, 438, 439,
920 433, 433, 433, 445, 433, 443, 433, 443,
921 433, 433, 433, 481, 481, 433, 118, 438,
922 439, 433, 433, 433, 445, 433, 443, 433,
923 443, 433, 433, 433, 481, 510, 433, 118,
924 438, 439, 433, 433, 433, 445, 433, 443,
925 433, 443, 433, 509, 433, 481, 481, 433,
926 118, 438, 439, 433, 433, 433, 445, 433,
927 443, 433, 443, 120, 433, 433, 136, 444,
928 433, 118, 438, 439, 433, 433, 433, 445,
929 433, 443, 433, 434, 435, 437, 437, 123,
930 118, 438, 439, 433, 433, 433, 440, 433,
931 433, 441, 433, 188, 189, 190, 191, 511,
932 363, 84, 79, 194, 195, 196, 196, 156,
933 197, 361, 188, 200, 361, 204, 512, 206,
934 207, 6, 1, 208, 209, 203, 203, 38,
935 210, 203, 203, 211, 203, 214, 189, 190,
936 191, 513, 514, 84, 157, 515, 516, 203,
937 196, 156, 517, 203, 214, 200, 203, 116,
938 518, 518, 84, 157, 208, 209, 203, 203,
939 156, 519, 203, 520, 203, 203, 521, 515,
940 516, 203, 515, 516, 203, 255, 203, 515,
941 522, 203, 515, 523, 203, 515, 203, 520,
942 203, 203, 203, 515, 516, 203, 524, 3,
943 361, 361, 402, 431, 361, 79, 194, 195,
944 361, 361, 361, 366, 361, 524, 361, 525,
945 368, 526, 527, 84, 157, 515, 516, 203,
946 203, 158, 371, 203, 203, 200, 203, 528,
947 368, 529, 529, 84, 157, 515, 516, 203,
948 203, 203, 371, 203, 203, 200, 203, 368,
949 529, 529, 84, 157, 515, 516, 203, 203,
950 203, 371, 203, 203, 200, 203, 525, 368,
951 529, 529, 84, 157, 515, 516, 203, 203,
952 203, 371, 203, 203, 200, 203, 525, 368,
953 526, 529, 84, 157, 515, 516, 203, 203,
954 158, 371, 203, 203, 200, 203, 214, 203,
955 280, 116, 530, 530, 160, 157, 208, 209,
956 203, 203, 203, 519, 203, 214, 203, 531,
957 184, 532, 533, 162, 157, 515, 516, 203,
958 203, 203, 534, 203, 184, 532, 533, 162,
959 157, 515, 516, 203, 203, 203, 534, 203,
960 532, 532, 162, 157, 515, 516, 203, 203,
961 203, 534, 203, 535, 181, 536, 537, 165,
962 157, 515, 516, 203, 203, 203, 534, 203,
963 181, 536, 537, 165, 157, 515, 516, 203,
964 203, 203, 534, 203, 536, 536, 165, 157,
965 515, 516, 203, 203, 203, 534, 203, 538,
966 178, 539, 540, 168, 157, 515, 516, 203,
967 203, 203, 534, 203, 178, 539, 540, 168,
968 157, 515, 516, 203, 203, 203, 534, 203,
969 539, 539, 168, 157, 515, 516, 203, 203,
970 203, 534, 203, 541, 175, 542, 543, 203,
971 157, 515, 516, 203, 203, 203, 534, 203,
972 175, 542, 543, 203, 157, 515, 516, 203,
973 203, 203, 534, 203, 542, 542, 203, 157,
974 515, 516, 203, 203, 203, 534, 203, 544,
975 203, 545, 546, 203, 157, 515, 516, 203,
976 203, 172, 203, 171, 203, 542, 542, 203,
977 157, 515, 516, 203, 542, 542, 203, 157,
978 515, 516, 203, 544, 203, 542, 542, 203,
979 157, 515, 516, 203, 544, 203, 545, 542,
980 203, 157, 515, 516, 203, 203, 172, 203,
981 524, 171, 361, 361, 98, 365, 361, 79,
982 194, 195, 361, 361, 361, 366, 361, 524,
983 361, 548, 547, 549, 549, 547, 186, 550,
984 551, 547, 549, 549, 547, 186, 550, 551,
985 547, 552, 547, 547, 553, 550, 551, 547,
986 550, 551, 547, 554, 547, 550, 555, 547,
987 550, 556, 547, 550, 547, 552, 547, 547,
988 547, 550, 551, 547, 188, 432, 432, 432,
989 432, 432, 432, 432, 432, 432, 196, 432,
990 432, 432, 432, 188, 432, 0
991};
992
993static const short _indic_syllable_machine_trans_targs[] = {
994 178, 200, 207, 209, 210, 4, 213, 5,
995 7, 216, 8, 10, 219, 11, 13, 222,
996 14, 16, 17, 199, 19, 20, 221, 22,
997 23, 218, 25, 26, 215, 224, 228, 232,
998 235, 239, 242, 246, 249, 253, 256, 178,
999 279, 286, 288, 289, 41, 292, 42, 44,
1000 295, 45, 47, 298, 48, 50, 301, 51,
1001 53, 54, 278, 56, 57, 300, 59, 60,
1002 297, 62, 63, 294, 303, 307, 311, 314,
1003 318, 321, 325, 328, 332, 336, 178, 357,
1004 364, 366, 367, 78, 370, 178, 79, 81,
1005 373, 82, 84, 376, 85, 87, 379, 88,
1006 90, 91, 356, 93, 94, 378, 96, 97,
1007 375, 99, 100, 372, 381, 385, 389, 392,
1008 396, 399, 403, 406, 410, 178, 437, 444,
1009 446, 447, 114, 450, 115, 117, 453, 118,
1010 120, 456, 121, 123, 459, 124, 126, 127,
1011 436, 129, 130, 458, 132, 133, 455, 135,
1012 136, 452, 461, 465, 469, 472, 476, 479,
1013 483, 486, 490, 493, 414, 498, 509, 152,
1014 512, 154, 515, 155, 157, 518, 158, 160,
1015 521, 161, 524, 526, 527, 166, 167, 523,
1016 169, 170, 520, 172, 173, 517, 175, 176,
1017 514, 178, 532, 178, 179, 258, 337, 339,
1018 413, 415, 359, 360, 416, 412, 494, 495,
1019 384, 530, 539, 178, 180, 182, 36, 257,
1020 202, 203, 255, 227, 181, 35, 183, 251,
1021 1, 184, 186, 34, 250, 248, 185, 33,
1022 187, 244, 188, 190, 32, 243, 241, 189,
1023 31, 191, 237, 192, 194, 30, 236, 234,
1024 193, 29, 195, 230, 196, 198, 28, 229,
1025 226, 197, 27, 212, 0, 201, 206, 178,
1026 204, 205, 208, 2, 211, 3, 214, 6,
1027 24, 217, 9, 21, 220, 12, 18, 223,
1028 15, 225, 231, 233, 238, 240, 245, 247,
1029 252, 254, 178, 259, 261, 73, 334, 281,
1030 282, 335, 306, 260, 72, 262, 330, 38,
1031 263, 265, 71, 329, 327, 264, 70, 266,
1032 323, 267, 269, 69, 322, 320, 268, 68,
1033 270, 316, 271, 273, 67, 315, 313, 272,
1034 66, 274, 309, 275, 277, 65, 308, 305,
1035 276, 64, 291, 37, 280, 285, 178, 283,
1036 284, 287, 39, 290, 40, 293, 43, 61,
1037 296, 46, 58, 299, 49, 55, 302, 52,
1038 304, 310, 312, 317, 319, 324, 326, 331,
1039 333, 178, 338, 109, 340, 408, 75, 341,
1040 343, 108, 407, 405, 342, 107, 344, 401,
1041 345, 347, 106, 400, 398, 346, 105, 348,
1042 394, 349, 351, 104, 393, 391, 350, 103,
1043 352, 387, 353, 355, 102, 386, 383, 354,
1044 101, 369, 74, 358, 363, 178, 361, 362,
1045 365, 76, 368, 77, 371, 80, 98, 374,
1046 83, 95, 377, 86, 92, 380, 89, 382,
1047 388, 390, 395, 397, 402, 404, 409, 411,
1048 178, 178, 417, 419, 146, 145, 439, 440,
1049 492, 464, 418, 420, 488, 111, 421, 423,
1050 144, 487, 485, 422, 143, 424, 481, 425,
1051 427, 142, 480, 478, 426, 141, 428, 474,
1052 429, 431, 140, 473, 471, 430, 139, 432,
1053 467, 433, 435, 138, 466, 463, 434, 137,
1054 449, 110, 438, 443, 178, 441, 442, 445,
1055 112, 448, 113, 451, 116, 134, 454, 119,
1056 131, 457, 122, 128, 460, 125, 462, 468,
1057 470, 475, 477, 482, 484, 489, 491, 147,
1058 496, 497, 511, 500, 501, 529, 148, 505,
1059 499, 504, 502, 503, 506, 507, 150, 510,
1060 508, 149, 151, 513, 153, 174, 163, 516,
1061 156, 171, 519, 159, 168, 522, 162, 165,
1062 525, 164, 528, 178, 531, 177, 534, 535,
1063 533, 538, 178, 536, 537
1064};
1065
1066static const char _indic_syllable_machine_trans_actions[] = {
1067 1, 0, 2, 2, 2, 0, 2, 0,
1068 0, 2, 0, 0, 2, 0, 0, 2,
1069 0, 0, 0, 2, 0, 0, 2, 0,
1070 0, 2, 0, 0, 2, 2, 2, 2,
1071 2, 2, 2, 2, 2, 2, 2, 3,
1072 0, 2, 2, 2, 0, 2, 0, 0,
1073 2, 0, 0, 2, 0, 0, 2, 0,
1074 0, 0, 2, 0, 0, 2, 0, 0,
1075 2, 0, 0, 2, 2, 2, 2, 2,
1076 2, 2, 2, 2, 2, 2, 4, 0,
1077 2, 2, 2, 0, 2, 5, 0, 0,
1078 2, 0, 0, 2, 0, 0, 2, 0,
1079 0, 0, 2, 0, 0, 2, 0, 0,
1080 2, 0, 0, 2, 2, 6, 2, 6,
1081 2, 6, 2, 6, 2, 7, 0, 2,
1082 2, 2, 0, 2, 0, 0, 2, 0,
1083 0, 2, 0, 0, 2, 0, 0, 0,
1084 2, 0, 0, 2, 0, 0, 2, 0,
1085 0, 2, 2, 2, 2, 2, 2, 2,
1086 2, 2, 2, 2, 6, 0, 8, 0,
1087 2, 0, 2, 0, 0, 2, 0, 0,
1088 2, 0, 2, 2, 2, 0, 0, 2,
1089 0, 0, 2, 0, 0, 2, 0, 0,
1090 2, 9, 0, 12, 2, 2, 6, 2,
1091 13, 13, 0, 0, 2, 2, 6, 2,
1092 6, 2, 0, 14, 2, 2, 0, 2,
1093 0, 0, 2, 2, 2, 0, 2, 2,
1094 0, 2, 2, 0, 2, 2, 2, 0,
1095 2, 2, 2, 2, 0, 2, 2, 2,
1096 0, 2, 2, 2, 2, 0, 2, 2,
1097 2, 0, 2, 2, 2, 2, 0, 2,
1098 2, 2, 0, 2, 0, 0, 0, 15,
1099 0, 0, 2, 0, 2, 0, 2, 0,
1100 0, 2, 0, 0, 2, 0, 0, 2,
1101 0, 2, 2, 2, 2, 2, 2, 2,
1102 2, 2, 16, 2, 2, 0, 2, 0,
1103 0, 2, 2, 2, 0, 2, 2, 0,
1104 2, 2, 0, 2, 2, 2, 0, 2,
1105 2, 2, 2, 0, 2, 2, 2, 0,
1106 2, 2, 2, 2, 0, 2, 2, 2,
1107 0, 2, 2, 2, 2, 0, 2, 2,
1108 2, 0, 2, 0, 0, 0, 17, 0,
1109 0, 2, 0, 2, 0, 2, 0, 0,
1110 2, 0, 0, 2, 0, 0, 2, 0,
1111 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 18, 6, 0, 6, 6, 0, 6,
1113 2, 0, 6, 2, 6, 0, 6, 6,
1114 6, 2, 0, 6, 2, 6, 0, 6,
1115 6, 6, 2, 0, 6, 2, 6, 0,
1116 6, 6, 6, 2, 0, 6, 2, 6,
1117 0, 6, 0, 0, 0, 19, 0, 0,
1118 2, 0, 2, 0, 2, 0, 0, 2,
1119 0, 0, 2, 0, 0, 2, 0, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2,
1121 20, 21, 2, 2, 0, 0, 0, 0,
1122 2, 2, 2, 2, 2, 0, 2, 2,
1123 0, 2, 2, 2, 0, 2, 2, 2,
1124 2, 0, 2, 2, 2, 0, 2, 2,
1125 2, 2, 0, 2, 2, 2, 0, 2,
1126 2, 2, 2, 0, 2, 2, 2, 0,
1127 2, 0, 0, 0, 22, 0, 0, 2,
1128 0, 2, 0, 2, 0, 0, 2, 0,
1129 0, 2, 0, 0, 2, 0, 2, 2,
1130 2, 2, 2, 2, 2, 2, 2, 0,
1131 0, 8, 2, 0, 0, 2, 0, 2,
1132 0, 0, 0, 0, 8, 8, 0, 8,
1133 8, 0, 0, 2, 0, 0, 0, 2,
1134 0, 0, 2, 0, 0, 2, 0, 0,
1135 2, 0, 2, 23, 2, 0, 0, 0,
1136 0, 0, 24, 0, 0
1137};
1138
1139static const char _indic_syllable_machine_to_state_actions[] = {
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, 10, 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,
1172 0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 0, 0, 0, 0, 0,
1176 0, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, 0,
1179 0, 0, 0, 0, 0, 0, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 0, 0, 0, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, 0,
1184 0, 0, 0, 0, 0, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, 0, 0, 0, 0, 0,
1207 0, 0, 0, 0
1208};
1209
1210static const char _indic_syllable_machine_from_state_actions[] = {
1211 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, 0, 0, 0, 0, 0, 0, 0,
1222 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, 0, 0, 0, 0, 0, 0,
1226 0, 0, 0, 0, 0, 0, 0, 0,
1227 0, 0, 0, 0, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0,
1230 0, 0, 0, 0, 0, 0, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 0,
1232 0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 11, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0,
1238 0, 0, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, 0, 0, 0, 0, 0,
1240 0, 0, 0, 0, 0, 0, 0, 0,
1241 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, 0, 0,
1251 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0,
1255 0, 0, 0, 0, 0, 0, 0, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 0, 0,
1267 0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, 0, 0, 0, 0, 0, 0,
1274 0, 0, 0, 0, 0, 0, 0, 0,
1275 0, 0, 0, 0, 0, 0, 0, 0,
1276 0, 0, 0, 0, 0, 0, 0, 0,
1277 0, 0, 0, 0, 0, 0, 0, 0,
1278 0, 0, 0, 0
1279};
1280
1281static const short _indic_syllable_machine_eof_trans[] = {
1282 1, 1, 1, 1, 1, 1, 1, 1,
1283 1, 1, 1, 1, 1, 1, 1, 1,
1284 1, 1, 1, 1, 1, 1, 1, 1,
1285 1, 1, 1, 1, 1, 1, 1, 1,
1286 1, 1, 1, 1, 1, 40, 40, 40,
1287 40, 40, 40, 40, 40, 40, 40, 40,
1288 40, 40, 40, 40, 40, 40, 40, 40,
1289 40, 40, 40, 40, 40, 40, 40, 40,
1290 40, 40, 40, 40, 40, 40, 40, 40,
1291 40, 40, 79, 79, 79, 79, 86, 86,
1292 79, 79, 79, 79, 79, 79, 79, 79,
1293 79, 79, 79, 79, 79, 79, 79, 79,
1294 79, 79, 79, 79, 79, 79, 79, 79,
1295 79, 79, 79, 79, 79, 79, 118, 118,
1296 118, 118, 118, 118, 118, 118, 118, 118,
1297 118, 118, 118, 118, 118, 118, 118, 118,
1298 118, 118, 118, 118, 118, 118, 118, 118,
1299 118, 118, 118, 118, 118, 118, 118, 118,
1300 118, 118, 118, 79, 1, 1, 1, 1,
1301 1, 1, 1, 1, 1, 1, 1, 1,
1302 1, 1, 1, 1, 1, 1, 1, 1,
1303 1, 1, 1, 1, 1, 1, 1, 1,
1304 1, 186, 0, 204, 204, 204, 204, 204,
1305 204, 204, 204, 204, 204, 204, 204, 204,
1306 204, 204, 204, 204, 204, 204, 204, 204,
1307 204, 204, 204, 204, 204, 204, 204, 204,
1308 204, 204, 204, 204, 204, 204, 204, 204,
1309 204, 204, 204, 204, 204, 204, 204, 204,
1310 204, 204, 204, 204, 204, 204, 204, 204,
1311 204, 204, 204, 204, 204, 204, 204, 204,
1312 204, 204, 204, 204, 204, 204, 204, 204,
1313 204, 204, 204, 204, 204, 204, 204, 204,
1314 204, 204, 283, 283, 283, 283, 283, 283,
1315 283, 283, 283, 283, 283, 283, 283, 283,
1316 283, 283, 283, 283, 283, 283, 283, 283,
1317 283, 283, 283, 283, 283, 283, 283, 283,
1318 283, 283, 283, 283, 283, 283, 283, 283,
1319 283, 283, 283, 283, 283, 283, 283, 283,
1320 283, 283, 283, 283, 283, 283, 283, 283,
1321 283, 283, 283, 283, 283, 283, 283, 283,
1322 283, 283, 283, 283, 283, 283, 283, 283,
1323 283, 283, 283, 283, 283, 283, 283, 283,
1324 283, 362, 362, 362, 362, 362, 362, 362,
1325 362, 362, 362, 362, 362, 362, 362, 362,
1326 362, 362, 362, 362, 362, 362, 362, 362,
1327 362, 362, 362, 362, 362, 362, 362, 362,
1328 362, 362, 362, 362, 362, 362, 362, 362,
1329 362, 362, 362, 362, 362, 362, 362, 362,
1330 362, 362, 362, 362, 362, 362, 362, 362,
1331 362, 362, 362, 362, 362, 362, 362, 362,
1332 362, 362, 362, 362, 362, 362, 362, 362,
1333 362, 362, 362, 362, 362, 433, 362, 433,
1334 434, 434, 434, 434, 434, 434, 434, 434,
1335 434, 434, 434, 434, 434, 434, 434, 434,
1336 434, 434, 434, 434, 434, 434, 434, 434,
1337 434, 434, 434, 434, 434, 434, 434, 434,
1338 434, 434, 434, 434, 434, 434, 434, 434,
1339 434, 434, 434, 434, 434, 434, 434, 434,
1340 434, 434, 434, 434, 434, 434, 434, 434,
1341 434, 434, 434, 434, 434, 434, 434, 434,
1342 434, 434, 434, 434, 434, 434, 434, 434,
1343 434, 434, 434, 434, 434, 434, 362, 204,
1344 204, 204, 204, 204, 204, 204, 204, 204,
1345 204, 362, 204, 204, 204, 204, 204, 204,
1346 204, 204, 204, 204, 204, 204, 204, 204,
1347 204, 204, 204, 204, 204, 204, 204, 204,
1348 204, 362, 548, 548, 548, 548, 548, 548,
1349 548, 548, 548, 433
1350};
1351
1352static const int indic_syllable_machine_start = 178;
1353static const int indic_syllable_machine_first_final = 178;
1354static const int indic_syllable_machine_error = -1;
1355
1356static const int indic_syllable_machine_en_main = 178;
1357
1358
1359#line 36 "hb-ot-shape-complex-indic-machine.rl"
1360
1361
1362
1363#line 97 "hb-ot-shape-complex-indic-machine.rl"
1364
1365
1366#define found_syllable(syllable_type) \
1367 HB_STMT_START { \
1368 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1369 for (unsigned int i = last; i < p+1; i++) \
1370 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1371 last = p+1; \
1372 syllable_serial++; \
1373 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1374 } HB_STMT_END
1375
1376static void
1377find_syllables (hb_buffer_t *buffer)
1378{
1379 unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1380 int cs;
1381 hb_glyph_info_t *info = buffer->info;
1382
1383#line 1384 "hb-ot-shape-complex-indic-machine.hh"
1384 {
1385 cs = indic_syllable_machine_start;
1386 ts = 0;
1387 te = 0;
1388 act = 0;
1389 }
1390
1391#line 118 "hb-ot-shape-complex-indic-machine.rl"
1392
1393
1394 p = 0;
1395 pe = eof = buffer->len;
1396
1397 unsigned int last = 0;
1398 unsigned int syllable_serial = 1;
1399
1400#line 1401 "hb-ot-shape-complex-indic-machine.hh"
1401 {
1402 int _slen;
1403 int _trans;
1404 const unsigned char *_keys;
1405 const short *_inds;
1406 if ( p == pe )
1407 goto _test_eof;
1408_resume:
1409 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1410 case 11:
1411#line 1 "NONE"
1412 {ts = p;}
1413 break;
1414#line 1415 "hb-ot-shape-complex-indic-machine.hh"
1415 }
1416
1417 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1418 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1419
1420 _slen = _indic_syllable_machine_key_spans[cs];
1421 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1422 ( info[p].indic_category()) <= _keys[1] ?
1423 ( info[p].indic_category()) - _keys[0] : _slen ];
1424
1425_eof_trans:
1426 cs = _indic_syllable_machine_trans_targs[_trans];
1427
1428 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1429 goto _again;
1430
1431 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1432 case 2:
1433#line 1 "NONE"
1434 {te = p+1;}
1435 break;
1436 case 15:
1437#line 88 "hb-ot-shape-complex-indic-machine.rl"
1438 {te = p+1;{ found_syllable (consonant_syllable); }}
1439 break;
1440 case 17:
1441#line 89 "hb-ot-shape-complex-indic-machine.rl"
1442 {te = p+1;{ found_syllable (vowel_syllable); }}
1443 break;
1444 case 22:
1445#line 90 "hb-ot-shape-complex-indic-machine.rl"
1446 {te = p+1;{ found_syllable (standalone_cluster); }}
1447 break;
1448 case 24:
1449#line 91 "hb-ot-shape-complex-indic-machine.rl"
1450 {te = p+1;{ found_syllable (symbol_cluster); }}
1451 break;
1452 case 19:
1453#line 92 "hb-ot-shape-complex-indic-machine.rl"
1454 {te = p+1;{ found_syllable (broken_cluster); }}
1455 break;
1456 case 12:
1457#line 93 "hb-ot-shape-complex-indic-machine.rl"
1458 {te = p+1;{ found_syllable (non_indic_cluster); }}
1459 break;
1460 case 14:
1461#line 88 "hb-ot-shape-complex-indic-machine.rl"
1462 {te = p;p--;{ found_syllable (consonant_syllable); }}
1463 break;
1464 case 16:
1465#line 89 "hb-ot-shape-complex-indic-machine.rl"
1466 {te = p;p--;{ found_syllable (vowel_syllable); }}
1467 break;
1468 case 21:
1469#line 90 "hb-ot-shape-complex-indic-machine.rl"
1470 {te = p;p--;{ found_syllable (standalone_cluster); }}
1471 break;
1472 case 23:
1473#line 91 "hb-ot-shape-complex-indic-machine.rl"
1474 {te = p;p--;{ found_syllable (symbol_cluster); }}
1475 break;
1476 case 18:
1477#line 92 "hb-ot-shape-complex-indic-machine.rl"
1478 {te = p;p--;{ found_syllable (broken_cluster); }}
1479 break;
1480 case 20:
1481#line 93 "hb-ot-shape-complex-indic-machine.rl"
1482 {te = p;p--;{ found_syllable (non_indic_cluster); }}
1483 break;
1484 case 1:
1485#line 88 "hb-ot-shape-complex-indic-machine.rl"
1486 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1487 break;
1488 case 3:
1489#line 89 "hb-ot-shape-complex-indic-machine.rl"
1490 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1491 break;
1492 case 7:
1493#line 90 "hb-ot-shape-complex-indic-machine.rl"
1494 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1495 break;
1496 case 9:
1497#line 91 "hb-ot-shape-complex-indic-machine.rl"
1498 {{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
1499 break;
1500 case 4:
1501#line 92 "hb-ot-shape-complex-indic-machine.rl"
1502 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1503 break;
1504 case 5:
1505#line 1 "NONE"
1506 { switch( act ) {
1507 case 1:
1508 {{p = ((te))-1;} found_syllable (consonant_syllable); }
1509 break;
1510 case 5:
1511 {{p = ((te))-1;} found_syllable (broken_cluster); }
1512 break;
1513 case 6:
1514 {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1515 break;
1516 }
1517 }
1518 break;
1519 case 8:
1520#line 1 "NONE"
1521 {te = p+1;}
1522#line 88 "hb-ot-shape-complex-indic-machine.rl"
1523 {act = 1;}
1524 break;
1525 case 6:
1526#line 1 "NONE"
1527 {te = p+1;}
1528#line 92 "hb-ot-shape-complex-indic-machine.rl"
1529 {act = 5;}
1530 break;
1531 case 13:
1532#line 1 "NONE"
1533 {te = p+1;}
1534#line 93 "hb-ot-shape-complex-indic-machine.rl"
1535 {act = 6;}
1536 break;
1537#line 1538 "hb-ot-shape-complex-indic-machine.hh"
1538 }
1539
1540_again:
1541 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1542 case 10:
1543#line 1 "NONE"
1544 {ts = 0;}
1545 break;
1546#line 1547 "hb-ot-shape-complex-indic-machine.hh"
1547 }
1548
1549 if ( ++p != pe )
1550 goto _resume;
1551 _test_eof: {}
1552 if ( p == eof )
1553 {
1554 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1555 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1556 goto _eof_trans;
1557 }
1558 }
1559
1560 }
1561
1562#line 127 "hb-ot-shape-complex-indic-machine.rl"
1563
1564}
1565
1566#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
1567

source code of qtbase/src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic-machine.hh