1
2 #line 1 "../../src/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 "../../src/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, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
59 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
60 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
61 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
62 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
63 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
64 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
65 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
66 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
67 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
68 1u, 16u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
69 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
70 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
71 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
72 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
73 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
74 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
75 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
76 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
77 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
78 4u, 14u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u,
79 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u,
80 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, 5u, 10u,
81 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
82 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
83 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u,
84 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
85 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
86 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
87 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
88 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
89 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
90 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
91 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
92 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
93 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
94 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
95 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
96 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
97 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
98 1u, 16u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 14u, 1u, 16u, 3u, 31u,
99 3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
100 5u, 10u, 3u, 31u, 3u, 31u, 1u, 16u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
101 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 8u, 14u,
102 3u, 13u, 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 3u, 10u, 8u, 10u,
103 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0
104 };
105
106 static const char _indic_syllable_machine_key_spans[] = {
107 16, 1, 3, 3, 1, 3, 3, 1,
108 3, 3, 1, 3, 3, 1, 1, 1,
109 1, 4, 1, 1, 4, 1, 1, 4,
110 1, 1, 11, 11, 11, 11, 11, 11,
111 11, 11, 11, 11, 16, 1, 3, 3,
112 1, 3, 3, 1, 3, 3, 1, 3,
113 3, 1, 1, 1, 1, 4, 1, 1,
114 4, 1, 1, 4, 1, 1, 11, 11,
115 11, 11, 11, 11, 11, 11, 11, 11,
116 16, 1, 3, 3, 1, 3, 3, 1,
117 3, 3, 1, 3, 3, 1, 1, 1,
118 1, 4, 1, 1, 4, 1, 1, 4,
119 1, 1, 11, 11, 11, 11, 11, 11,
120 11, 11, 11, 16, 1, 3, 3, 1,
121 3, 3, 1, 3, 3, 1, 3, 3,
122 1, 1, 1, 1, 4, 1, 1, 4,
123 1, 1, 4, 1, 1, 11, 11, 11,
124 11, 11, 11, 11, 11, 11, 11, 11,
125 11, 3, 3, 3, 3, 1, 3, 3,
126 1, 3, 3, 1, 16, 1, 1, 1,
127 1, 4, 1, 1, 4, 1, 1, 4,
128 1, 1, 31, 29, 29, 28, 16, 29,
129 29, 28, 16, 29, 29, 28, 16, 29,
130 29, 28, 16, 29, 29, 28, 10, 7,
131 6, 2, 1, 2, 2, 1, 6, 11,
132 8, 3, 8, 11, 12, 12, 11, 10,
133 12, 11, 10, 12, 11, 10, 12, 11,
134 9, 12, 16, 28, 11, 29, 29, 16,
135 16, 16, 16, 16, 29, 29, 16, 16,
136 16, 16, 16, 29, 29, 16, 16, 16,
137 16, 16, 29, 29, 16, 16, 16, 16,
138 16, 29, 29, 29, 29, 28, 16, 29,
139 29, 28, 16, 29, 29, 28, 16, 29,
140 29, 28, 16, 29, 29, 28, 10, 7,
141 6, 2, 1, 2, 2, 1, 6, 11,
142 8, 3, 8, 11, 12, 12, 11, 10,
143 12, 11, 10, 12, 11, 10, 12, 11,
144 9, 12, 16, 28, 11, 29, 29, 16,
145 16, 16, 16, 16, 29, 29, 16, 16,
146 16, 16, 16, 29, 29, 16, 16, 16,
147 16, 16, 29, 29, 16, 16, 16, 16,
148 11, 16, 29, 29, 28, 16, 29, 29,
149 28, 16, 29, 29, 28, 16, 29, 29,
150 28, 16, 29, 29, 28, 10, 7, 6,
151 2, 1, 2, 2, 1, 6, 11, 8,
152 3, 8, 11, 12, 12, 11, 10, 12,
153 11, 10, 12, 11, 10, 12, 11, 9,
154 12, 16, 28, 11, 29, 29, 16, 16,
155 16, 16, 16, 29, 29, 16, 16, 16,
156 16, 16, 29, 29, 16, 16, 16, 16,
157 16, 29, 29, 16, 16, 16, 16, 16,
158 11, 29, 11, 29, 29, 28, 16, 29,
159 29, 28, 16, 29, 29, 28, 16, 29,
160 29, 28, 16, 29, 29, 28, 10, 7,
161 6, 2, 1, 2, 2, 1, 6, 11,
162 8, 3, 8, 11, 12, 12, 11, 10,
163 12, 11, 10, 12, 11, 10, 12, 11,
164 9, 12, 16, 28, 11, 29, 29, 16,
165 16, 16, 16, 16, 29, 29, 16, 16,
166 16, 16, 16, 29, 29, 16, 16, 16,
167 16, 16, 29, 29, 16, 16, 16, 16,
168 16, 29, 31, 29, 31, 11, 16, 29,
169 29, 28, 6, 2, 1, 2, 2, 1,
170 6, 29, 29, 16, 12, 11, 10, 12,
171 11, 10, 12, 11, 10, 12, 11, 7,
172 11, 8, 3, 8, 11, 16, 8, 3,
173 6, 2, 1, 2, 2, 1, 6
174 };
175
176 static const short _indic_syllable_machine_index_offsets[] = {
177 0, 17, 19, 23, 27, 29, 33, 37,
178 39, 43, 47, 49, 53, 57, 59, 61,
179 63, 65, 70, 72, 74, 79, 81, 83,
180 88, 90, 92, 104, 116, 128, 140, 152,
181 164, 176, 188, 200, 212, 229, 231, 235,
182 239, 241, 245, 249, 251, 255, 259, 261,
183 265, 269, 271, 273, 275, 277, 282, 284,
184 286, 291, 293, 295, 300, 302, 304, 316,
185 328, 340, 352, 364, 376, 388, 400, 412,
186 424, 441, 443, 447, 451, 453, 457, 461,
187 463, 467, 471, 473, 477, 481, 483, 485,
188 487, 489, 494, 496, 498, 503, 505, 507,
189 512, 514, 516, 528, 540, 552, 564, 576,
190 588, 600, 612, 624, 641, 643, 647, 651,
191 653, 657, 661, 663, 667, 671, 673, 677,
192 681, 683, 685, 687, 689, 694, 696, 698,
193 703, 705, 707, 712, 714, 716, 728, 740,
194 752, 764, 776, 788, 800, 812, 824, 836,
195 848, 860, 864, 868, 872, 876, 878, 882,
196 886, 888, 892, 896, 898, 915, 917, 919,
197 921, 923, 928, 930, 932, 937, 939, 941,
198 946, 948, 950, 982, 1012, 1042, 1071, 1088,
199 1118, 1148, 1177, 1194, 1224, 1254, 1283, 1300,
200 1330, 1360, 1389, 1406, 1436, 1466, 1495, 1506,
201 1514, 1521, 1524, 1526, 1529, 1532, 1534, 1541,
202 1553, 1562, 1566, 1575, 1587, 1600, 1613, 1625,
203 1636, 1649, 1661, 1672, 1685, 1697, 1708, 1721,
204 1733, 1743, 1756, 1773, 1802, 1814, 1844, 1874,
205 1891, 1908, 1925, 1942, 1959, 1989, 2019, 2036,
206 2053, 2070, 2087, 2104, 2134, 2164, 2181, 2198,
207 2215, 2232, 2249, 2279, 2309, 2326, 2343, 2360,
208 2377, 2394, 2424, 2454, 2484, 2514, 2543, 2560,
209 2590, 2620, 2649, 2666, 2696, 2726, 2755, 2772,
210 2802, 2832, 2861, 2878, 2908, 2938, 2967, 2978,
211 2986, 2993, 2996, 2998, 3001, 3004, 3006, 3013,
212 3025, 3034, 3038, 3047, 3059, 3072, 3085, 3097,
213 3108, 3121, 3133, 3144, 3157, 3169, 3180, 3193,
214 3205, 3215, 3228, 3245, 3274, 3286, 3316, 3346,
215 3363, 3380, 3397, 3414, 3431, 3461, 3491, 3508,
216 3525, 3542, 3559, 3576, 3606, 3636, 3653, 3670,
217 3687, 3704, 3721, 3751, 3781, 3798, 3815, 3832,
218 3849, 3861, 3878, 3908, 3938, 3967, 3984, 4014,
219 4044, 4073, 4090, 4120, 4150, 4179, 4196, 4226,
220 4256, 4285, 4302, 4332, 4362, 4391, 4402, 4410,
221 4417, 4420, 4422, 4425, 4428, 4430, 4437, 4449,
222 4458, 4462, 4471, 4483, 4496, 4509, 4521, 4532,
223 4545, 4557, 4568, 4581, 4593, 4604, 4617, 4629,
224 4639, 4652, 4669, 4698, 4710, 4740, 4770, 4787,
225 4804, 4821, 4838, 4855, 4885, 4915, 4932, 4949,
226 4966, 4983, 5000, 5030, 5060, 5077, 5094, 5111,
227 5128, 5145, 5175, 5205, 5222, 5239, 5256, 5273,
228 5290, 5302, 5332, 5344, 5374, 5404, 5433, 5450,
229 5480, 5510, 5539, 5556, 5586, 5616, 5645, 5662,
230 5692, 5722, 5751, 5768, 5798, 5828, 5857, 5868,
231 5876, 5883, 5886, 5888, 5891, 5894, 5896, 5903,
232 5915, 5924, 5928, 5937, 5949, 5962, 5975, 5987,
233 5998, 6011, 6023, 6034, 6047, 6059, 6070, 6083,
234 6095, 6105, 6118, 6135, 6164, 6176, 6206, 6236,
235 6253, 6270, 6287, 6304, 6321, 6351, 6381, 6398,
236 6415, 6432, 6449, 6466, 6496, 6526, 6543, 6560,
237 6577, 6594, 6611, 6641, 6671, 6688, 6705, 6722,
238 6739, 6756, 6786, 6818, 6848, 6880, 6892, 6909,
239 6939, 6969, 6998, 7005, 7008, 7010, 7013, 7016,
240 7018, 7025, 7055, 7085, 7102, 7115, 7127, 7138,
241 7151, 7163, 7174, 7187, 7199, 7210, 7223, 7235,
242 7243, 7255, 7264, 7268, 7277, 7289, 7306, 7315,
243 7319, 7326, 7329, 7331, 7334, 7337, 7339
244 };
245
246 static const short _indic_syllable_machine_indicies[] = {
247 1, 2, 0, 0, 0, 0, 0, 0,
248 0, 0, 0, 0, 0, 0, 0, 1,
249 0, 3, 0, 4, 4, 5, 0, 6,
250 6, 5, 0, 5, 0, 7, 7, 8,
251 0, 9, 9, 8, 0, 8, 0, 10,
252 10, 11, 0, 12, 12, 11, 0, 11,
253 0, 13, 13, 14, 0, 15, 15, 14,
254 0, 14, 0, 16, 0, 17, 0, 18,
255 0, 19, 13, 13, 14, 0, 20, 0,
256 21, 0, 22, 10, 10, 11, 0, 23,
257 0, 24, 0, 25, 7, 7, 8, 0,
258 26, 0, 27, 0, 28, 4, 4, 5,
259 0, 0, 0, 0, 0, 0, 28, 0,
260 28, 4, 4, 5, 0, 0, 0, 0,
261 0, 29, 28, 0, 30, 4, 4, 5,
262 0, 0, 0, 0, 0, 0, 30, 0,
263 30, 4, 4, 5, 0, 0, 0, 0,
264 0, 31, 30, 0, 32, 4, 4, 5,
265 0, 0, 0, 0, 0, 0, 32, 0,
266 32, 4, 4, 5, 0, 0, 0, 0,
267 0, 33, 32, 0, 34, 4, 4, 5,
268 0, 0, 0, 0, 0, 0, 34, 0,
269 34, 4, 4, 5, 0, 0, 0, 0,
270 0, 35, 34, 0, 36, 4, 4, 5,
271 0, 0, 0, 0, 0, 0, 36, 0,
272 36, 4, 4, 5, 0, 0, 0, 0,
273 0, 37, 36, 0, 39, 40, 38, 38,
274 38, 38, 38, 38, 38, 38, 38, 38,
275 38, 38, 38, 39, 38, 41, 38, 42,
276 42, 43, 38, 44, 44, 43, 38, 43,
277 38, 45, 45, 46, 38, 47, 47, 46,
278 38, 46, 38, 48, 48, 49, 38, 50,
279 50, 49, 38, 49, 38, 51, 51, 52,
280 38, 53, 53, 52, 38, 52, 38, 54,
281 38, 55, 38, 56, 38, 57, 51, 51,
282 52, 38, 58, 38, 59, 38, 60, 48,
283 48, 49, 38, 61, 38, 62, 38, 63,
284 45, 45, 46, 38, 64, 38, 65, 38,
285 66, 42, 42, 43, 38, 38, 38, 38,
286 38, 38, 66, 38, 66, 42, 42, 43,
287 38, 38, 38, 38, 38, 67, 66, 38,
288 68, 42, 42, 43, 38, 38, 38, 38,
289 38, 38, 68, 38, 68, 42, 42, 43,
290 38, 38, 38, 38, 38, 69, 68, 38,
291 70, 42, 42, 43, 38, 38, 38, 38,
292 38, 38, 70, 38, 70, 42, 42, 43,
293 38, 38, 38, 38, 38, 71, 70, 38,
294 72, 42, 42, 43, 38, 38, 38, 38,
295 38, 38, 72, 38, 72, 42, 42, 43,
296 38, 38, 38, 38, 38, 73, 72, 38,
297 74, 42, 42, 43, 38, 38, 38, 38,
298 38, 38, 74, 38, 74, 42, 42, 43,
299 38, 38, 38, 38, 38, 75, 74, 38,
300 77, 78, 76, 76, 76, 76, 76, 76,
301 76, 76, 76, 76, 76, 76, 76, 77,
302 76, 79, 76, 80, 80, 81, 76, 83,
303 83, 81, 82, 81, 82, 84, 84, 85,
304 76, 86, 86, 85, 76, 85, 76, 87,
305 87, 88, 76, 89, 89, 88, 76, 88,
306 76, 90, 90, 91, 76, 92, 92, 91,
307 76, 91, 76, 93, 76, 94, 76, 95,
308 76, 96, 90, 90, 91, 76, 97, 76,
309 98, 76, 99, 87, 87, 88, 76, 100,
310 76, 101, 76, 102, 84, 84, 85, 76,
311 103, 76, 104, 76, 105, 80, 80, 81,
312 76, 76, 76, 76, 76, 76, 105, 76,
313 105, 80, 80, 81, 76, 76, 76, 76,
314 76, 106, 105, 76, 107, 80, 80, 81,
315 76, 76, 76, 76, 76, 76, 107, 76,
316 107, 80, 80, 81, 76, 76, 76, 76,
317 76, 108, 107, 76, 109, 80, 80, 81,
318 76, 76, 76, 76, 76, 76, 109, 76,
319 109, 80, 80, 81, 76, 76, 76, 76,
320 76, 110, 109, 76, 111, 80, 80, 81,
321 82, 82, 82, 82, 82, 82, 111, 82,
322 111, 80, 80, 81, 76, 76, 76, 76,
323 76, 112, 111, 76, 113, 80, 80, 81,
324 76, 76, 76, 76, 76, 76, 113, 76,
325 115, 116, 114, 114, 114, 114, 114, 114,
326 114, 114, 114, 114, 114, 114, 114, 115,
327 114, 117, 114, 118, 118, 119, 114, 120,
328 120, 119, 114, 119, 114, 121, 121, 122,
329 114, 123, 123, 122, 114, 122, 114, 124,
330 124, 125, 114, 126, 126, 125, 114, 125,
331 114, 127, 127, 128, 114, 129, 129, 128,
332 114, 128, 114, 130, 114, 131, 114, 132,
333 114, 133, 127, 127, 128, 114, 134, 114,
334 135, 114, 136, 124, 124, 125, 114, 137,
335 114, 138, 114, 139, 121, 121, 122, 114,
336 140, 114, 141, 114, 142, 118, 118, 119,
337 114, 114, 114, 114, 114, 114, 142, 114,
338 142, 118, 118, 119, 114, 114, 114, 114,
339 114, 143, 142, 114, 144, 118, 118, 119,
340 114, 114, 114, 114, 114, 114, 144, 114,
341 144, 118, 118, 119, 114, 114, 114, 114,
342 114, 145, 144, 114, 146, 118, 118, 119,
343 114, 114, 114, 114, 114, 114, 146, 114,
344 146, 118, 118, 119, 114, 114, 114, 114,
345 114, 147, 146, 114, 148, 118, 118, 119,
346 114, 114, 114, 114, 114, 114, 148, 114,
347 148, 118, 118, 119, 114, 114, 114, 114,
348 114, 149, 148, 114, 150, 118, 118, 119,
349 114, 114, 114, 114, 114, 114, 150, 114,
350 150, 118, 118, 119, 114, 114, 114, 114,
351 114, 151, 150, 114, 113, 80, 80, 81,
352 76, 76, 76, 76, 76, 152, 113, 76,
353 111, 80, 80, 81, 0, 0, 0, 0,
354 0, 153, 111, 0, 154, 154, 155, 0,
355 6, 6, 155, 0, 156, 156, 157, 0,
356 158, 158, 157, 0, 157, 0, 159, 159,
357 160, 0, 161, 161, 160, 0, 160, 0,
358 162, 162, 163, 0, 164, 164, 163, 0,
359 163, 0, 165, 166, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 165, 0, 167, 0, 168, 0, 169,
362 0, 170, 0, 171, 162, 162, 163, 0,
363 172, 0, 173, 0, 174, 159, 159, 160,
364 0, 175, 0, 176, 0, 177, 156, 156,
365 157, 0, 178, 0, 179, 0, 181, 182,
366 183, 184, 185, 186, 81, 187, 188, 189,
367 190, 190, 152, 191, 192, 193, 194, 195,
368 180, 180, 180, 180, 180, 180, 180, 180,
369 180, 180, 180, 180, 196, 180, 198, 199,
370 200, 201, 5, 202, 203, 204, 197, 197,
371 37, 205, 197, 197, 206, 197, 197, 197,
372 197, 197, 197, 197, 197, 197, 197, 197,
373 197, 197, 207, 197, 208, 199, 209, 209,
374 5, 202, 203, 204, 197, 197, 197, 205,
375 197, 197, 206, 197, 197, 197, 197, 197,
376 197, 197, 197, 197, 197, 197, 197, 197,
377 207, 197, 199, 209, 209, 5, 202, 203,
378 204, 197, 197, 197, 205, 197, 197, 206,
379 197, 197, 197, 197, 197, 197, 197, 197,
380 197, 197, 197, 197, 197, 207, 197, 210,
381 197, 197, 197, 18, 211, 197, 202, 203,
382 204, 197, 197, 197, 212, 197, 210, 197,
383 213, 214, 215, 216, 5, 202, 203, 204,
384 197, 197, 35, 217, 197, 197, 206, 197,
385 197, 197, 197, 197, 197, 197, 197, 197,
386 197, 197, 197, 197, 207, 197, 218, 214,
387 219, 219, 5, 202, 203, 204, 197, 197,
388 197, 217, 197, 197, 206, 197, 197, 197,
389 197, 197, 197, 197, 197, 197, 197, 197,
390 197, 197, 207, 197, 214, 219, 219, 5,
391 202, 203, 204, 197, 197, 197, 217, 197,
392 197, 206, 197, 197, 197, 197, 197, 197,
393 197, 197, 197, 197, 197, 197, 197, 207,
394 197, 220, 197, 197, 197, 18, 221, 197,
395 202, 203, 204, 197, 197, 197, 212, 197,
396 220, 197, 222, 223, 224, 225, 5, 202,
397 203, 204, 197, 197, 33, 226, 197, 197,
398 206, 197, 197, 197, 197, 197, 197, 197,
399 197, 197, 197, 197, 197, 197, 207, 197,
400 227, 223, 228, 228, 5, 202, 203, 204,
401 197, 197, 197, 226, 197, 197, 206, 197,
402 197, 197, 197, 197, 197, 197, 197, 197,
403 197, 197, 197, 197, 207, 197, 223, 228,
404 228, 5, 202, 203, 204, 197, 197, 197,
405 226, 197, 197, 206, 197, 197, 197, 197,
406 197, 197, 197, 197, 197, 197, 197, 197,
407 197, 207, 197, 229, 197, 197, 197, 18,
408 230, 197, 202, 203, 204, 197, 197, 197,
409 212, 197, 229, 197, 231, 232, 233, 234,
410 5, 202, 203, 204, 197, 197, 31, 235,
411 197, 197, 206, 197, 197, 197, 197, 197,
412 197, 197, 197, 197, 197, 197, 197, 197,
413 207, 197, 236, 232, 237, 237, 5, 202,
414 203, 204, 197, 197, 197, 235, 197, 197,
415 206, 197, 197, 197, 197, 197, 197, 197,
416 197, 197, 197, 197, 197, 197, 207, 197,
417 232, 237, 237, 5, 202, 203, 204, 197,
418 197, 197, 235, 197, 197, 206, 197, 197,
419 197, 197, 197, 197, 197, 197, 197, 197,
420 197, 197, 197, 207, 197, 238, 197, 197,
421 197, 18, 239, 197, 202, 203, 204, 197,
422 197, 197, 212, 197, 238, 197, 240, 241,
423 242, 243, 5, 202, 203, 204, 197, 197,
424 29, 244, 197, 197, 206, 197, 197, 197,
425 197, 197, 197, 197, 197, 197, 197, 197,
426 197, 197, 207, 197, 245, 241, 246, 246,
427 5, 202, 203, 204, 197, 197, 197, 244,
428 197, 197, 206, 197, 197, 197, 197, 197,
429 197, 197, 197, 197, 197, 197, 197, 197,
430 207, 197, 241, 246, 246, 5, 202, 203,
431 204, 197, 197, 197, 244, 197, 197, 206,
432 197, 197, 197, 197, 197, 197, 197, 197,
433 197, 197, 197, 197, 197, 207, 197, 18,
434 247, 197, 202, 203, 204, 197, 197, 197,
435 212, 197, 202, 203, 204, 197, 197, 197,
436 212, 197, 248, 197, 197, 249, 203, 204,
437 197, 203, 204, 197, 250, 197, 203, 251,
438 197, 203, 252, 197, 203, 197, 248, 197,
439 197, 197, 203, 204, 197, 253, 197, 254,
440 255, 197, 202, 203, 204, 197, 197, 3,
441 197, 2, 197, 197, 197, 197, 202, 203,
442 204, 197, 202, 203, 204, 197, 253, 197,
443 197, 197, 197, 202, 203, 204, 197, 253,
444 197, 254, 197, 197, 202, 203, 204, 197,
445 197, 3, 197, 18, 197, 256, 256, 5,
446 202, 203, 204, 197, 197, 197, 212, 197,
447 257, 27, 258, 259, 8, 202, 203, 204,
448 197, 197, 197, 212, 197, 27, 258, 259,
449 8, 202, 203, 204, 197, 197, 197, 212,
450 197, 258, 258, 8, 202, 203, 204, 197,
451 197, 197, 212, 197, 260, 24, 261, 262,
452 11, 202, 203, 204, 197, 197, 197, 212,
453 197, 24, 261, 262, 11, 202, 203, 204,
454 197, 197, 197, 212, 197, 261, 261, 11,
455 202, 203, 204, 197, 197, 197, 212, 197,
456 263, 21, 264, 265, 14, 202, 203, 204,
457 197, 197, 197, 212, 197, 21, 264, 265,
458 14, 202, 203, 204, 197, 197, 197, 212,
459 197, 264, 264, 14, 202, 203, 204, 197,
460 197, 197, 212, 197, 266, 18, 197, 267,
461 197, 202, 203, 204, 197, 197, 197, 212,
462 197, 18, 197, 267, 197, 202, 203, 204,
463 197, 197, 197, 212, 197, 268, 197, 202,
464 203, 204, 197, 197, 197, 212, 197, 18,
465 197, 197, 197, 197, 202, 203, 204, 197,
466 197, 197, 212, 197, 1, 2, 197, 197,
467 18, 247, 197, 202, 203, 204, 197, 197,
468 197, 212, 197, 1, 197, 241, 246, 246,
469 5, 202, 203, 204, 197, 197, 197, 244,
470 197, 197, 197, 197, 197, 197, 197, 197,
471 197, 197, 197, 197, 197, 197, 197, 197,
472 207, 197, 241, 246, 246, 5, 202, 203,
473 204, 197, 197, 197, 244, 197, 240, 241,
474 246, 246, 5, 202, 203, 204, 197, 197,
475 197, 244, 197, 197, 206, 197, 197, 197,
476 197, 197, 197, 197, 197, 197, 197, 197,
477 197, 197, 207, 197, 240, 241, 242, 246,
478 5, 202, 203, 204, 197, 197, 29, 244,
479 197, 197, 206, 197, 197, 197, 197, 197,
480 197, 197, 197, 197, 197, 197, 197, 197,
481 207, 197, 238, 197, 269, 197, 256, 256,
482 5, 202, 203, 204, 197, 197, 197, 212,
483 197, 238, 197, 238, 197, 197, 197, 197,
484 197, 197, 202, 203, 204, 197, 197, 197,
485 212, 197, 238, 197, 238, 197, 197, 197,
486 197, 270, 197, 202, 203, 204, 197, 197,
487 197, 212, 197, 238, 197, 238, 197, 269,
488 197, 197, 197, 197, 202, 203, 204, 197,
489 197, 197, 212, 197, 238, 197, 238, 2,
490 197, 197, 18, 239, 197, 202, 203, 204,
491 197, 197, 197, 212, 197, 238, 197, 231,
492 232, 237, 237, 5, 202, 203, 204, 197,
493 197, 197, 235, 197, 197, 206, 197, 197,
494 197, 197, 197, 197, 197, 197, 197, 197,
495 197, 197, 197, 207, 197, 231, 232, 233,
496 237, 5, 202, 203, 204, 197, 197, 31,
497 235, 197, 197, 206, 197, 197, 197, 197,
498 197, 197, 197, 197, 197, 197, 197, 197,
499 197, 207, 197, 229, 197, 271, 197, 256,
500 256, 5, 202, 203, 204, 197, 197, 197,
501 212, 197, 229, 197, 229, 197, 197, 197,
502 197, 197, 197, 202, 203, 204, 197, 197,
503 197, 212, 197, 229, 197, 229, 197, 197,
504 197, 197, 272, 197, 202, 203, 204, 197,
505 197, 197, 212, 197, 229, 197, 229, 197,
506 271, 197, 197, 197, 197, 202, 203, 204,
507 197, 197, 197, 212, 197, 229, 197, 229,
508 2, 197, 197, 18, 230, 197, 202, 203,
509 204, 197, 197, 197, 212, 197, 229, 197,
510 222, 223, 228, 228, 5, 202, 203, 204,
511 197, 197, 197, 226, 197, 197, 206, 197,
512 197, 197, 197, 197, 197, 197, 197, 197,
513 197, 197, 197, 197, 207, 197, 222, 223,
514 224, 228, 5, 202, 203, 204, 197, 197,
515 33, 226, 197, 197, 206, 197, 197, 197,
516 197, 197, 197, 197, 197, 197, 197, 197,
517 197, 197, 207, 197, 220, 197, 273, 197,
518 256, 256, 5, 202, 203, 204, 197, 197,
519 197, 212, 197, 220, 197, 220, 197, 197,
520 197, 197, 197, 197, 202, 203, 204, 197,
521 197, 197, 212, 197, 220, 197, 220, 197,
522 197, 197, 197, 274, 197, 202, 203, 204,
523 197, 197, 197, 212, 197, 220, 197, 220,
524 197, 273, 197, 197, 197, 197, 202, 203,
525 204, 197, 197, 197, 212, 197, 220, 197,
526 220, 2, 197, 197, 18, 221, 197, 202,
527 203, 204, 197, 197, 197, 212, 197, 220,
528 197, 213, 214, 219, 219, 5, 202, 203,
529 204, 197, 197, 197, 217, 197, 197, 206,
530 197, 197, 197, 197, 197, 197, 197, 197,
531 197, 197, 197, 197, 197, 207, 197, 213,
532 214, 215, 219, 5, 202, 203, 204, 197,
533 197, 35, 217, 197, 197, 206, 197, 197,
534 197, 197, 197, 197, 197, 197, 197, 197,
535 197, 197, 197, 207, 197, 210, 197, 275,
536 197, 256, 256, 5, 202, 203, 204, 197,
537 197, 197, 212, 197, 210, 197, 210, 197,
538 197, 197, 197, 197, 197, 202, 203, 204,
539 197, 197, 197, 212, 197, 210, 197, 210,
540 197, 197, 197, 197, 276, 197, 202, 203,
541 204, 197, 197, 197, 212, 197, 210, 197,
542 210, 197, 275, 197, 197, 197, 197, 202,
543 203, 204, 197, 197, 197, 212, 197, 210,
544 197, 210, 2, 197, 197, 18, 211, 197,
545 202, 203, 204, 197, 197, 197, 212, 197,
546 210, 197, 198, 199, 209, 209, 5, 202,
547 203, 204, 197, 197, 197, 205, 197, 197,
548 206, 197, 197, 197, 197, 197, 197, 197,
549 197, 197, 197, 197, 197, 197, 207, 197,
550 198, 199, 200, 209, 5, 202, 203, 204,
551 197, 197, 37, 205, 197, 197, 206, 197,
552 197, 197, 197, 197, 197, 197, 197, 197,
553 197, 197, 197, 197, 207, 197, 278, 279,
554 280, 281, 43, 282, 283, 284, 277, 277,
555 75, 285, 277, 277, 286, 277, 277, 277,
556 277, 277, 277, 277, 277, 277, 277, 277,
557 277, 277, 287, 277, 288, 279, 289, 281,
558 43, 282, 283, 284, 277, 277, 277, 285,
559 277, 277, 286, 277, 277, 277, 277, 277,
560 277, 277, 277, 277, 277, 277, 277, 277,
561 287, 277, 279, 289, 281, 43, 282, 283,
562 284, 277, 277, 277, 285, 277, 277, 286,
563 277, 277, 277, 277, 277, 277, 277, 277,
564 277, 277, 277, 277, 277, 287, 277, 290,
565 277, 277, 277, 56, 291, 277, 282, 283,
566 284, 277, 277, 277, 292, 277, 290, 277,
567 293, 294, 295, 296, 43, 282, 283, 284,
568 277, 277, 73, 297, 277, 277, 286, 277,
569 277, 277, 277, 277, 277, 277, 277, 277,
570 277, 277, 277, 277, 287, 277, 298, 294,
571 299, 299, 43, 282, 283, 284, 277, 277,
572 277, 297, 277, 277, 286, 277, 277, 277,
573 277, 277, 277, 277, 277, 277, 277, 277,
574 277, 277, 287, 277, 294, 299, 299, 43,
575 282, 283, 284, 277, 277, 277, 297, 277,
576 277, 286, 277, 277, 277, 277, 277, 277,
577 277, 277, 277, 277, 277, 277, 277, 287,
578 277, 300, 277, 277, 277, 56, 301, 277,
579 282, 283, 284, 277, 277, 277, 292, 277,
580 300, 277, 302, 303, 304, 305, 43, 282,
581 283, 284, 277, 277, 71, 306, 277, 277,
582 286, 277, 277, 277, 277, 277, 277, 277,
583 277, 277, 277, 277, 277, 277, 287, 277,
584 307, 303, 308, 308, 43, 282, 283, 284,
585 277, 277, 277, 306, 277, 277, 286, 277,
586 277, 277, 277, 277, 277, 277, 277, 277,
587 277, 277, 277, 277, 287, 277, 303, 308,
588 308, 43, 282, 283, 284, 277, 277, 277,
589 306, 277, 277, 286, 277, 277, 277, 277,
590 277, 277, 277, 277, 277, 277, 277, 277,
591 277, 287, 277, 309, 277, 277, 277, 56,
592 310, 277, 282, 283, 284, 277, 277, 277,
593 292, 277, 309, 277, 311, 312, 313, 314,
594 43, 282, 283, 284, 277, 277, 69, 315,
595 277, 277, 286, 277, 277, 277, 277, 277,
596 277, 277, 277, 277, 277, 277, 277, 277,
597 287, 277, 316, 312, 317, 317, 43, 282,
598 283, 284, 277, 277, 277, 315, 277, 277,
599 286, 277, 277, 277, 277, 277, 277, 277,
600 277, 277, 277, 277, 277, 277, 287, 277,
601 312, 317, 317, 43, 282, 283, 284, 277,
602 277, 277, 315, 277, 277, 286, 277, 277,
603 277, 277, 277, 277, 277, 277, 277, 277,
604 277, 277, 277, 287, 277, 318, 277, 277,
605 277, 56, 319, 277, 282, 283, 284, 277,
606 277, 277, 292, 277, 318, 277, 320, 321,
607 322, 323, 43, 282, 283, 284, 277, 277,
608 67, 324, 277, 277, 286, 277, 277, 277,
609 277, 277, 277, 277, 277, 277, 277, 277,
610 277, 277, 287, 277, 325, 321, 326, 326,
611 43, 282, 283, 284, 277, 277, 277, 324,
612 277, 277, 286, 277, 277, 277, 277, 277,
613 277, 277, 277, 277, 277, 277, 277, 277,
614 287, 277, 321, 326, 326, 43, 282, 283,
615 284, 277, 277, 277, 324, 277, 277, 286,
616 277, 277, 277, 277, 277, 277, 277, 277,
617 277, 277, 277, 277, 277, 287, 277, 56,
618 327, 277, 282, 283, 284, 277, 277, 277,
619 292, 277, 282, 283, 284, 277, 277, 277,
620 292, 277, 328, 277, 277, 329, 283, 284,
621 277, 283, 284, 277, 330, 277, 283, 331,
622 277, 283, 332, 277, 283, 277, 328, 277,
623 277, 277, 283, 284, 277, 333, 277, 334,
624 335, 277, 282, 283, 284, 277, 277, 41,
625 277, 40, 277, 277, 277, 277, 282, 283,
626 284, 277, 282, 283, 284, 277, 333, 277,
627 277, 277, 277, 282, 283, 284, 277, 333,
628 277, 334, 277, 277, 282, 283, 284, 277,
629 277, 41, 277, 56, 277, 336, 336, 43,
630 282, 283, 284, 277, 277, 277, 292, 277,
631 337, 65, 338, 339, 46, 282, 283, 284,
632 277, 277, 277, 292, 277, 65, 338, 339,
633 46, 282, 283, 284, 277, 277, 277, 292,
634 277, 338, 338, 46, 282, 283, 284, 277,
635 277, 277, 292, 277, 340, 62, 341, 342,
636 49, 282, 283, 284, 277, 277, 277, 292,
637 277, 62, 341, 342, 49, 282, 283, 284,
638 277, 277, 277, 292, 277, 341, 341, 49,
639 282, 283, 284, 277, 277, 277, 292, 277,
640 343, 59, 344, 345, 52, 282, 283, 284,
641 277, 277, 277, 292, 277, 59, 344, 345,
642 52, 282, 283, 284, 277, 277, 277, 292,
643 277, 344, 344, 52, 282, 283, 284, 277,
644 277, 277, 292, 277, 346, 56, 277, 347,
645 277, 282, 283, 284, 277, 277, 277, 292,
646 277, 56, 277, 347, 277, 282, 283, 284,
647 277, 277, 277, 292, 277, 348, 277, 282,
648 283, 284, 277, 277, 277, 292, 277, 56,
649 277, 277, 277, 277, 282, 283, 284, 277,
650 277, 277, 292, 277, 39, 40, 277, 277,
651 56, 327, 277, 282, 283, 284, 277, 277,
652 277, 292, 277, 39, 277, 321, 326, 326,
653 43, 282, 283, 284, 277, 277, 277, 324,
654 277, 277, 277, 277, 277, 277, 277, 277,
655 277, 277, 277, 277, 277, 277, 277, 277,
656 287, 277, 321, 326, 326, 43, 282, 283,
657 284, 277, 277, 277, 324, 277, 320, 321,
658 326, 326, 43, 282, 283, 284, 277, 277,
659 277, 324, 277, 277, 286, 277, 277, 277,
660 277, 277, 277, 277, 277, 277, 277, 277,
661 277, 277, 287, 277, 320, 321, 322, 326,
662 43, 282, 283, 284, 277, 277, 67, 324,
663 277, 277, 286, 277, 277, 277, 277, 277,
664 277, 277, 277, 277, 277, 277, 277, 277,
665 287, 277, 318, 277, 349, 277, 336, 336,
666 43, 282, 283, 284, 277, 277, 277, 292,
667 277, 318, 277, 318, 277, 277, 277, 277,
668 277, 277, 282, 283, 284, 277, 277, 277,
669 292, 277, 318, 277, 318, 277, 277, 277,
670 277, 350, 277, 282, 283, 284, 277, 277,
671 277, 292, 277, 318, 277, 318, 277, 349,
672 277, 277, 277, 277, 282, 283, 284, 277,
673 277, 277, 292, 277, 318, 277, 318, 40,
674 277, 277, 56, 319, 277, 282, 283, 284,
675 277, 277, 277, 292, 277, 318, 277, 311,
676 312, 317, 317, 43, 282, 283, 284, 277,
677 277, 277, 315, 277, 277, 286, 277, 277,
678 277, 277, 277, 277, 277, 277, 277, 277,
679 277, 277, 277, 287, 277, 311, 312, 313,
680 317, 43, 282, 283, 284, 277, 277, 69,
681 315, 277, 277, 286, 277, 277, 277, 277,
682 277, 277, 277, 277, 277, 277, 277, 277,
683 277, 287, 277, 309, 277, 351, 277, 336,
684 336, 43, 282, 283, 284, 277, 277, 277,
685 292, 277, 309, 277, 309, 277, 277, 277,
686 277, 277, 277, 282, 283, 284, 277, 277,
687 277, 292, 277, 309, 277, 309, 277, 277,
688 277, 277, 352, 277, 282, 283, 284, 277,
689 277, 277, 292, 277, 309, 277, 309, 277,
690 351, 277, 277, 277, 277, 282, 283, 284,
691 277, 277, 277, 292, 277, 309, 277, 309,
692 40, 277, 277, 56, 310, 277, 282, 283,
693 284, 277, 277, 277, 292, 277, 309, 277,
694 302, 303, 308, 308, 43, 282, 283, 284,
695 277, 277, 277, 306, 277, 277, 286, 277,
696 277, 277, 277, 277, 277, 277, 277, 277,
697 277, 277, 277, 277, 287, 277, 302, 303,
698 304, 308, 43, 282, 283, 284, 277, 277,
699 71, 306, 277, 277, 286, 277, 277, 277,
700 277, 277, 277, 277, 277, 277, 277, 277,
701 277, 277, 287, 277, 300, 277, 353, 277,
702 336, 336, 43, 282, 283, 284, 277, 277,
703 277, 292, 277, 300, 277, 300, 277, 277,
704 277, 277, 277, 277, 282, 283, 284, 277,
705 277, 277, 292, 277, 300, 277, 300, 277,
706 277, 277, 277, 354, 277, 282, 283, 284,
707 277, 277, 277, 292, 277, 300, 277, 300,
708 277, 353, 277, 277, 277, 277, 282, 283,
709 284, 277, 277, 277, 292, 277, 300, 277,
710 300, 40, 277, 277, 56, 301, 277, 282,
711 283, 284, 277, 277, 277, 292, 277, 300,
712 277, 293, 294, 299, 299, 43, 282, 283,
713 284, 277, 277, 277, 297, 277, 277, 286,
714 277, 277, 277, 277, 277, 277, 277, 277,
715 277, 277, 277, 277, 277, 287, 277, 293,
716 294, 295, 299, 43, 282, 283, 284, 277,
717 277, 73, 297, 277, 277, 286, 277, 277,
718 277, 277, 277, 277, 277, 277, 277, 277,
719 277, 277, 277, 287, 277, 290, 277, 355,
720 277, 336, 336, 43, 282, 283, 284, 277,
721 277, 277, 292, 277, 290, 277, 290, 277,
722 277, 277, 277, 277, 277, 282, 283, 284,
723 277, 277, 277, 292, 277, 290, 277, 290,
724 277, 277, 277, 277, 356, 277, 282, 283,
725 284, 277, 277, 277, 292, 277, 290, 277,
726 290, 277, 355, 277, 277, 277, 277, 282,
727 283, 284, 277, 277, 277, 292, 277, 290,
728 277, 74, 42, 42, 43, 277, 277, 277,
729 277, 277, 277, 74, 277, 290, 40, 277,
730 277, 56, 291, 277, 282, 283, 284, 277,
731 277, 277, 292, 277, 290, 277, 278, 279,
732 289, 281, 43, 282, 283, 284, 277, 277,
733 277, 285, 277, 277, 286, 277, 277, 277,
734 277, 277, 277, 277, 277, 277, 277, 277,
735 277, 277, 287, 277, 358, 184, 359, 359,
736 81, 187, 188, 189, 357, 357, 357, 191,
737 357, 357, 194, 357, 357, 357, 357, 357,
738 357, 357, 357, 357, 357, 357, 357, 357,
739 196, 357, 184, 359, 359, 81, 187, 188,
740 189, 357, 357, 357, 191, 357, 357, 194,
741 357, 357, 357, 357, 357, 357, 357, 357,
742 357, 357, 357, 357, 357, 196, 357, 360,
743 357, 357, 357, 95, 361, 357, 187, 188,
744 189, 357, 357, 357, 362, 357, 360, 357,
745 363, 364, 365, 366, 81, 187, 188, 189,
746 357, 357, 112, 367, 357, 357, 194, 357,
747 357, 357, 357, 357, 357, 357, 357, 357,
748 357, 357, 357, 357, 196, 357, 368, 364,
749 369, 369, 81, 187, 188, 189, 357, 357,
750 357, 367, 357, 357, 194, 357, 357, 357,
751 357, 357, 357, 357, 357, 357, 357, 357,
752 357, 357, 196, 357, 364, 369, 369, 81,
753 187, 188, 189, 357, 357, 357, 367, 357,
754 357, 194, 357, 357, 357, 357, 357, 357,
755 357, 357, 357, 357, 357, 357, 357, 196,
756 357, 370, 357, 357, 357, 95, 371, 357,
757 187, 188, 189, 357, 357, 357, 362, 357,
758 370, 357, 372, 373, 374, 375, 81, 187,
759 188, 189, 357, 357, 110, 376, 357, 357,
760 194, 357, 357, 357, 357, 357, 357, 357,
761 357, 357, 357, 357, 357, 357, 196, 357,
762 377, 373, 378, 378, 81, 187, 188, 189,
763 357, 357, 357, 376, 357, 357, 194, 357,
764 357, 357, 357, 357, 357, 357, 357, 357,
765 357, 357, 357, 357, 196, 357, 373, 378,
766 378, 81, 187, 188, 189, 357, 357, 357,
767 376, 357, 357, 194, 357, 357, 357, 357,
768 357, 357, 357, 357, 357, 357, 357, 357,
769 357, 196, 357, 379, 357, 357, 357, 95,
770 380, 357, 187, 188, 189, 357, 357, 357,
771 362, 357, 379, 357, 381, 382, 383, 384,
772 81, 187, 188, 189, 357, 357, 108, 385,
773 357, 357, 194, 357, 357, 357, 357, 357,
774 357, 357, 357, 357, 357, 357, 357, 357,
775 196, 357, 386, 382, 387, 387, 81, 187,
776 188, 189, 357, 357, 357, 385, 357, 357,
777 194, 357, 357, 357, 357, 357, 357, 357,
778 357, 357, 357, 357, 357, 357, 196, 357,
779 382, 387, 387, 81, 187, 188, 189, 357,
780 357, 357, 385, 357, 357, 194, 357, 357,
781 357, 357, 357, 357, 357, 357, 357, 357,
782 357, 357, 357, 196, 357, 388, 357, 357,
783 357, 95, 389, 357, 187, 188, 189, 357,
784 357, 357, 362, 357, 388, 357, 390, 391,
785 392, 393, 81, 187, 188, 189, 357, 357,
786 106, 394, 357, 357, 194, 357, 357, 357,
787 357, 357, 357, 357, 357, 357, 357, 357,
788 357, 357, 196, 357, 395, 391, 396, 396,
789 81, 187, 188, 189, 357, 357, 357, 394,
790 357, 357, 194, 357, 357, 357, 357, 357,
791 357, 357, 357, 357, 357, 357, 357, 357,
792 196, 357, 391, 396, 396, 81, 187, 188,
793 189, 357, 357, 357, 394, 357, 357, 194,
794 357, 357, 357, 357, 357, 357, 357, 357,
795 357, 357, 357, 357, 357, 196, 357, 95,
796 397, 357, 187, 188, 189, 357, 357, 357,
797 362, 357, 187, 188, 189, 357, 357, 357,
798 362, 357, 398, 357, 357, 399, 188, 189,
799 357, 188, 189, 357, 400, 357, 188, 401,
800 357, 188, 402, 357, 188, 357, 398, 357,
801 357, 357, 188, 189, 357, 403, 357, 404,
802 405, 357, 187, 188, 189, 357, 357, 79,
803 357, 78, 357, 357, 357, 357, 187, 188,
804 189, 357, 187, 188, 189, 357, 403, 357,
805 357, 357, 357, 187, 188, 189, 357, 403,
806 357, 404, 357, 357, 187, 188, 189, 357,
807 357, 79, 357, 95, 357, 406, 406, 81,
808 187, 188, 189, 357, 357, 357, 362, 357,
809 407, 104, 408, 409, 85, 187, 188, 189,
810 357, 357, 357, 362, 357, 104, 408, 409,
811 85, 187, 188, 189, 357, 357, 357, 362,
812 357, 408, 408, 85, 187, 188, 189, 357,
813 357, 357, 362, 357, 410, 101, 411, 412,
814 88, 187, 188, 189, 357, 357, 357, 362,
815 357, 101, 411, 412, 88, 187, 188, 189,
816 357, 357, 357, 362, 357, 411, 411, 88,
817 187, 188, 189, 357, 357, 357, 362, 357,
818 413, 98, 414, 415, 91, 187, 188, 189,
819 357, 357, 357, 362, 357, 98, 414, 415,
820 91, 187, 188, 189, 357, 357, 357, 362,
821 357, 414, 414, 91, 187, 188, 189, 357,
822 357, 357, 362, 357, 416, 95, 357, 417,
823 357, 187, 188, 189, 357, 357, 357, 362,
824 357, 95, 357, 417, 357, 187, 188, 189,
825 357, 357, 357, 362, 357, 418, 357, 187,
826 188, 189, 357, 357, 357, 362, 357, 95,
827 357, 357, 357, 357, 187, 188, 189, 357,
828 357, 357, 362, 357, 77, 78, 357, 357,
829 95, 397, 357, 187, 188, 189, 357, 357,
830 357, 362, 357, 77, 357, 391, 396, 396,
831 81, 187, 188, 189, 357, 357, 357, 394,
832 357, 357, 357, 357, 357, 357, 357, 357,
833 357, 357, 357, 357, 357, 357, 357, 357,
834 196, 357, 391, 396, 396, 81, 187, 188,
835 189, 357, 357, 357, 394, 357, 390, 391,
836 396, 396, 81, 187, 188, 189, 357, 357,
837 357, 394, 357, 357, 194, 357, 357, 357,
838 357, 357, 357, 357, 357, 357, 357, 357,
839 357, 357, 196, 357, 390, 391, 392, 396,
840 81, 187, 188, 189, 357, 357, 106, 394,
841 357, 357, 194, 357, 357, 357, 357, 357,
842 357, 357, 357, 357, 357, 357, 357, 357,
843 196, 357, 388, 357, 419, 357, 406, 406,
844 81, 187, 188, 189, 357, 357, 357, 362,
845 357, 388, 357, 388, 357, 357, 357, 357,
846 357, 357, 187, 188, 189, 357, 357, 357,
847 362, 357, 388, 357, 388, 357, 357, 357,
848 357, 420, 357, 187, 188, 189, 357, 357,
849 357, 362, 357, 388, 357, 388, 357, 419,
850 357, 357, 357, 357, 187, 188, 189, 357,
851 357, 357, 362, 357, 388, 357, 388, 78,
852 357, 357, 95, 389, 357, 187, 188, 189,
853 357, 357, 357, 362, 357, 388, 357, 381,
854 382, 387, 387, 81, 187, 188, 189, 357,
855 357, 357, 385, 357, 357, 194, 357, 357,
856 357, 357, 357, 357, 357, 357, 357, 357,
857 357, 357, 357, 196, 357, 381, 382, 383,
858 387, 81, 187, 188, 189, 357, 357, 108,
859 385, 357, 357, 194, 357, 357, 357, 357,
860 357, 357, 357, 357, 357, 357, 357, 357,
861 357, 196, 357, 379, 357, 421, 357, 406,
862 406, 81, 187, 188, 189, 357, 357, 357,
863 362, 357, 379, 357, 379, 357, 357, 357,
864 357, 357, 357, 187, 188, 189, 357, 357,
865 357, 362, 357, 379, 357, 379, 357, 357,
866 357, 357, 422, 357, 187, 188, 189, 357,
867 357, 357, 362, 357, 379, 357, 379, 357,
868 421, 357, 357, 357, 357, 187, 188, 189,
869 357, 357, 357, 362, 357, 379, 357, 379,
870 78, 357, 357, 95, 380, 357, 187, 188,
871 189, 357, 357, 357, 362, 357, 379, 357,
872 372, 373, 378, 378, 81, 187, 188, 189,
873 357, 357, 357, 376, 357, 357, 194, 357,
874 357, 357, 357, 357, 357, 357, 357, 357,
875 357, 357, 357, 357, 196, 357, 372, 373,
876 374, 378, 81, 187, 188, 189, 357, 357,
877 110, 376, 357, 357, 194, 357, 357, 357,
878 357, 357, 357, 357, 357, 357, 357, 357,
879 357, 357, 196, 357, 370, 357, 423, 357,
880 406, 406, 81, 187, 188, 189, 357, 357,
881 357, 362, 357, 370, 357, 370, 357, 357,
882 357, 357, 357, 357, 187, 188, 189, 357,
883 357, 357, 362, 357, 370, 357, 370, 357,
884 357, 357, 357, 424, 357, 187, 188, 189,
885 357, 357, 357, 362, 357, 370, 357, 370,
886 357, 423, 357, 357, 357, 357, 187, 188,
887 189, 357, 357, 357, 362, 357, 370, 357,
888 370, 78, 357, 357, 95, 371, 357, 187,
889 188, 189, 357, 357, 357, 362, 357, 370,
890 357, 363, 364, 369, 369, 81, 187, 188,
891 189, 357, 357, 357, 367, 357, 357, 194,
892 357, 357, 357, 357, 357, 357, 357, 357,
893 357, 357, 357, 357, 357, 196, 357, 363,
894 364, 365, 369, 81, 187, 188, 189, 357,
895 357, 112, 367, 357, 357, 194, 357, 357,
896 357, 357, 357, 357, 357, 357, 357, 357,
897 357, 357, 357, 196, 357, 360, 357, 425,
898 357, 406, 406, 81, 187, 188, 189, 357,
899 357, 357, 362, 357, 360, 357, 360, 357,
900 357, 357, 357, 357, 357, 187, 188, 189,
901 357, 357, 357, 362, 357, 360, 357, 360,
902 357, 357, 357, 357, 426, 357, 187, 188,
903 189, 357, 357, 357, 362, 357, 360, 357,
904 360, 357, 425, 357, 357, 357, 357, 187,
905 188, 189, 357, 357, 357, 362, 357, 360,
906 357, 360, 78, 357, 357, 95, 361, 357,
907 187, 188, 189, 357, 357, 357, 362, 357,
908 360, 357, 113, 80, 80, 81, 427, 427,
909 427, 427, 427, 152, 113, 427, 183, 184,
910 359, 359, 81, 187, 188, 189, 357, 357,
911 357, 191, 357, 357, 194, 357, 357, 357,
912 357, 357, 357, 357, 357, 357, 357, 357,
913 357, 357, 196, 357, 113, 80, 80, 81,
914 427, 427, 427, 427, 427, 427, 113, 427,
915 429, 430, 431, 432, 119, 433, 434, 435,
916 428, 428, 151, 436, 428, 428, 437, 428,
917 428, 428, 428, 428, 428, 428, 428, 428,
918 428, 428, 428, 428, 438, 428, 439, 430,
919 432, 432, 119, 433, 434, 435, 428, 428,
920 428, 436, 428, 428, 437, 428, 428, 428,
921 428, 428, 428, 428, 428, 428, 428, 428,
922 428, 428, 438, 428, 430, 432, 432, 119,
923 433, 434, 435, 428, 428, 428, 436, 428,
924 428, 437, 428, 428, 428, 428, 428, 428,
925 428, 428, 428, 428, 428, 428, 428, 438,
926 428, 440, 428, 428, 428, 132, 441, 428,
927 433, 434, 435, 428, 428, 428, 442, 428,
928 440, 428, 443, 444, 445, 446, 119, 433,
929 434, 435, 428, 428, 149, 447, 428, 428,
930 437, 428, 428, 428, 428, 428, 428, 428,
931 428, 428, 428, 428, 428, 428, 438, 428,
932 448, 444, 449, 449, 119, 433, 434, 435,
933 428, 428, 428, 447, 428, 428, 437, 428,
934 428, 428, 428, 428, 428, 428, 428, 428,
935 428, 428, 428, 428, 438, 428, 444, 449,
936 449, 119, 433, 434, 435, 428, 428, 428,
937 447, 428, 428, 437, 428, 428, 428, 428,
938 428, 428, 428, 428, 428, 428, 428, 428,
939 428, 438, 428, 450, 428, 428, 428, 132,
940 451, 428, 433, 434, 435, 428, 428, 428,
941 442, 428, 450, 428, 452, 453, 454, 455,
942 119, 433, 434, 435, 428, 428, 147, 456,
943 428, 428, 437, 428, 428, 428, 428, 428,
944 428, 428, 428, 428, 428, 428, 428, 428,
945 438, 428, 457, 453, 458, 458, 119, 433,
946 434, 435, 428, 428, 428, 456, 428, 428,
947 437, 428, 428, 428, 428, 428, 428, 428,
948 428, 428, 428, 428, 428, 428, 438, 428,
949 453, 458, 458, 119, 433, 434, 435, 428,
950 428, 428, 456, 428, 428, 437, 428, 428,
951 428, 428, 428, 428, 428, 428, 428, 428,
952 428, 428, 428, 438, 428, 459, 428, 428,
953 428, 132, 460, 428, 433, 434, 435, 428,
954 428, 428, 442, 428, 459, 428, 461, 462,
955 463, 464, 119, 433, 434, 435, 428, 428,
956 145, 465, 428, 428, 437, 428, 428, 428,
957 428, 428, 428, 428, 428, 428, 428, 428,
958 428, 428, 438, 428, 466, 462, 467, 467,
959 119, 433, 434, 435, 428, 428, 428, 465,
960 428, 428, 437, 428, 428, 428, 428, 428,
961 428, 428, 428, 428, 428, 428, 428, 428,
962 438, 428, 462, 467, 467, 119, 433, 434,
963 435, 428, 428, 428, 465, 428, 428, 437,
964 428, 428, 428, 428, 428, 428, 428, 428,
965 428, 428, 428, 428, 428, 438, 428, 468,
966 428, 428, 428, 132, 469, 428, 433, 434,
967 435, 428, 428, 428, 442, 428, 468, 428,
968 470, 471, 472, 473, 119, 433, 434, 435,
969 428, 428, 143, 474, 428, 428, 437, 428,
970 428, 428, 428, 428, 428, 428, 428, 428,
971 428, 428, 428, 428, 438, 428, 475, 471,
972 476, 476, 119, 433, 434, 435, 428, 428,
973 428, 474, 428, 428, 437, 428, 428, 428,
974 428, 428, 428, 428, 428, 428, 428, 428,
975 428, 428, 438, 428, 471, 476, 476, 119,
976 433, 434, 435, 428, 428, 428, 474, 428,
977 428, 437, 428, 428, 428, 428, 428, 428,
978 428, 428, 428, 428, 428, 428, 428, 438,
979 428, 132, 477, 428, 433, 434, 435, 428,
980 428, 428, 442, 428, 433, 434, 435, 428,
981 428, 428, 442, 428, 478, 428, 428, 479,
982 434, 435, 428, 434, 435, 428, 480, 428,
983 434, 481, 428, 434, 482, 428, 434, 428,
984 478, 428, 428, 428, 434, 435, 428, 483,
985 428, 484, 485, 428, 433, 434, 435, 428,
986 428, 117, 428, 116, 428, 428, 428, 428,
987 433, 434, 435, 428, 433, 434, 435, 428,
988 483, 428, 428, 428, 428, 433, 434, 435,
989 428, 483, 428, 484, 428, 428, 433, 434,
990 435, 428, 428, 117, 428, 132, 428, 486,
991 486, 119, 433, 434, 435, 428, 428, 428,
992 442, 428, 487, 141, 488, 489, 122, 433,
993 434, 435, 428, 428, 428, 442, 428, 141,
994 488, 489, 122, 433, 434, 435, 428, 428,
995 428, 442, 428, 488, 488, 122, 433, 434,
996 435, 428, 428, 428, 442, 428, 490, 138,
997 491, 492, 125, 433, 434, 435, 428, 428,
998 428, 442, 428, 138, 491, 492, 125, 433,
999 434, 435, 428, 428, 428, 442, 428, 491,
1000 491, 125, 433, 434, 435, 428, 428, 428,
1001 442, 428, 493, 135, 494, 495, 128, 433,
1002 434, 435, 428, 428, 428, 442, 428, 135,
1003 494, 495, 128, 433, 434, 435, 428, 428,
1004 428, 442, 428, 494, 494, 128, 433, 434,
1005 435, 428, 428, 428, 442, 428, 496, 132,
1006 428, 497, 428, 433, 434, 435, 428, 428,
1007 428, 442, 428, 132, 428, 497, 428, 433,
1008 434, 435, 428, 428, 428, 442, 428, 498,
1009 428, 433, 434, 435, 428, 428, 428, 442,
1010 428, 132, 428, 428, 428, 428, 433, 434,
1011 435, 428, 428, 428, 442, 428, 115, 116,
1012 428, 428, 132, 477, 428, 433, 434, 435,
1013 428, 428, 428, 442, 428, 115, 428, 471,
1014 476, 476, 119, 433, 434, 435, 428, 428,
1015 428, 474, 428, 428, 428, 428, 428, 428,
1016 428, 428, 428, 428, 428, 428, 428, 428,
1017 428, 428, 438, 428, 471, 476, 476, 119,
1018 433, 434, 435, 428, 428, 428, 474, 428,
1019 470, 471, 476, 476, 119, 433, 434, 435,
1020 428, 428, 428, 474, 428, 428, 437, 428,
1021 428, 428, 428, 428, 428, 428, 428, 428,
1022 428, 428, 428, 428, 438, 428, 470, 471,
1023 472, 476, 119, 433, 434, 435, 428, 428,
1024 143, 474, 428, 428, 437, 428, 428, 428,
1025 428, 428, 428, 428, 428, 428, 428, 428,
1026 428, 428, 438, 428, 468, 428, 499, 428,
1027 486, 486, 119, 433, 434, 435, 428, 428,
1028 428, 442, 428, 468, 428, 468, 428, 428,
1029 428, 428, 428, 428, 433, 434, 435, 428,
1030 428, 428, 442, 428, 468, 428, 468, 428,
1031 428, 428, 428, 500, 428, 433, 434, 435,
1032 428, 428, 428, 442, 428, 468, 428, 468,
1033 428, 499, 428, 428, 428, 428, 433, 434,
1034 435, 428, 428, 428, 442, 428, 468, 428,
1035 468, 116, 428, 428, 132, 469, 428, 433,
1036 434, 435, 428, 428, 428, 442, 428, 468,
1037 428, 461, 462, 467, 467, 119, 433, 434,
1038 435, 428, 428, 428, 465, 428, 428, 437,
1039 428, 428, 428, 428, 428, 428, 428, 428,
1040 428, 428, 428, 428, 428, 438, 428, 461,
1041 462, 463, 467, 119, 433, 434, 435, 428,
1042 428, 145, 465, 428, 428, 437, 428, 428,
1043 428, 428, 428, 428, 428, 428, 428, 428,
1044 428, 428, 428, 438, 428, 459, 428, 501,
1045 428, 486, 486, 119, 433, 434, 435, 428,
1046 428, 428, 442, 428, 459, 428, 459, 428,
1047 428, 428, 428, 428, 428, 433, 434, 435,
1048 428, 428, 428, 442, 428, 459, 428, 459,
1049 428, 428, 428, 428, 502, 428, 433, 434,
1050 435, 428, 428, 428, 442, 428, 459, 428,
1051 459, 428, 501, 428, 428, 428, 428, 433,
1052 434, 435, 428, 428, 428, 442, 428, 459,
1053 428, 459, 116, 428, 428, 132, 460, 428,
1054 433, 434, 435, 428, 428, 428, 442, 428,
1055 459, 428, 452, 453, 458, 458, 119, 433,
1056 434, 435, 428, 428, 428, 456, 428, 428,
1057 437, 428, 428, 428, 428, 428, 428, 428,
1058 428, 428, 428, 428, 428, 428, 438, 428,
1059 452, 453, 454, 458, 119, 433, 434, 435,
1060 428, 428, 147, 456, 428, 428, 437, 428,
1061 428, 428, 428, 428, 428, 428, 428, 428,
1062 428, 428, 428, 428, 438, 428, 450, 428,
1063 503, 428, 486, 486, 119, 433, 434, 435,
1064 428, 428, 428, 442, 428, 450, 428, 450,
1065 428, 428, 428, 428, 428, 428, 433, 434,
1066 435, 428, 428, 428, 442, 428, 450, 428,
1067 450, 428, 428, 428, 428, 504, 428, 433,
1068 434, 435, 428, 428, 428, 442, 428, 450,
1069 428, 450, 428, 503, 428, 428, 428, 428,
1070 433, 434, 435, 428, 428, 428, 442, 428,
1071 450, 428, 450, 116, 428, 428, 132, 451,
1072 428, 433, 434, 435, 428, 428, 428, 442,
1073 428, 450, 428, 443, 444, 449, 449, 119,
1074 433, 434, 435, 428, 428, 428, 447, 428,
1075 428, 437, 428, 428, 428, 428, 428, 428,
1076 428, 428, 428, 428, 428, 428, 428, 438,
1077 428, 443, 444, 445, 449, 119, 433, 434,
1078 435, 428, 428, 149, 447, 428, 428, 437,
1079 428, 428, 428, 428, 428, 428, 428, 428,
1080 428, 428, 428, 428, 428, 438, 428, 440,
1081 428, 505, 428, 486, 486, 119, 433, 434,
1082 435, 428, 428, 428, 442, 428, 440, 428,
1083 440, 428, 428, 428, 428, 428, 428, 433,
1084 434, 435, 428, 428, 428, 442, 428, 440,
1085 428, 440, 428, 428, 428, 428, 506, 428,
1086 433, 434, 435, 428, 428, 428, 442, 428,
1087 440, 428, 440, 428, 505, 428, 428, 428,
1088 428, 433, 434, 435, 428, 428, 428, 442,
1089 428, 440, 428, 440, 116, 428, 428, 132,
1090 441, 428, 433, 434, 435, 428, 428, 428,
1091 442, 428, 440, 428, 429, 430, 432, 432,
1092 119, 433, 434, 435, 428, 428, 428, 436,
1093 428, 428, 437, 428, 428, 428, 428, 428,
1094 428, 428, 428, 428, 428, 428, 428, 428,
1095 438, 428, 181, 182, 183, 184, 507, 359,
1096 81, 187, 188, 189, 190, 190, 152, 191,
1097 357, 181, 194, 357, 357, 357, 357, 357,
1098 357, 357, 357, 357, 357, 357, 357, 357,
1099 196, 357, 198, 508, 200, 201, 5, 202,
1100 203, 204, 197, 197, 37, 205, 197, 197,
1101 206, 197, 197, 197, 197, 197, 197, 197,
1102 197, 197, 197, 197, 197, 197, 207, 197,
1103 210, 182, 183, 184, 509, 510, 81, 511,
1104 512, 513, 197, 190, 152, 514, 197, 210,
1105 194, 197, 197, 197, 197, 197, 197, 197,
1106 197, 197, 197, 197, 197, 197, 196, 197,
1107 113, 80, 80, 81, 202, 203, 204, 197,
1108 197, 152, 515, 197, 516, 2, 357, 357,
1109 357, 426, 357, 187, 188, 189, 357, 357,
1110 357, 362, 357, 516, 357, 517, 364, 518,
1111 519, 81, 511, 512, 513, 197, 197, 153,
1112 367, 197, 197, 194, 197, 197, 197, 197,
1113 197, 197, 197, 197, 197, 197, 197, 197,
1114 197, 196, 197, 520, 364, 369, 369, 81,
1115 511, 512, 513, 197, 197, 197, 367, 197,
1116 197, 194, 197, 197, 197, 197, 197, 197,
1117 197, 197, 197, 197, 197, 197, 197, 196,
1118 197, 364, 369, 369, 81, 511, 512, 513,
1119 197, 197, 197, 367, 197, 197, 194, 197,
1120 197, 197, 197, 197, 197, 197, 197, 197,
1121 197, 197, 197, 197, 196, 197, 521, 197,
1122 197, 522, 512, 513, 197, 512, 513, 197,
1123 250, 197, 512, 523, 197, 512, 524, 197,
1124 512, 197, 521, 197, 197, 197, 512, 513,
1125 197, 517, 364, 369, 369, 81, 511, 512,
1126 513, 197, 197, 197, 367, 197, 197, 194,
1127 197, 197, 197, 197, 197, 197, 197, 197,
1128 197, 197, 197, 197, 197, 196, 197, 517,
1129 364, 518, 369, 81, 511, 512, 513, 197,
1130 197, 153, 367, 197, 197, 194, 197, 197,
1131 197, 197, 197, 197, 197, 197, 197, 197,
1132 197, 197, 197, 196, 197, 210, 197, 275,
1133 113, 525, 525, 155, 202, 203, 204, 197,
1134 197, 197, 515, 197, 210, 197, 526, 179,
1135 527, 528, 157, 511, 512, 513, 197, 197,
1136 197, 529, 197, 179, 527, 528, 157, 511,
1137 512, 513, 197, 197, 197, 529, 197, 527,
1138 527, 157, 511, 512, 513, 197, 197, 197,
1139 529, 197, 530, 176, 531, 532, 160, 511,
1140 512, 513, 197, 197, 197, 529, 197, 176,
1141 531, 532, 160, 511, 512, 513, 197, 197,
1142 197, 529, 197, 531, 531, 160, 511, 512,
1143 513, 197, 197, 197, 529, 197, 533, 173,
1144 534, 535, 163, 511, 512, 513, 197, 197,
1145 197, 529, 197, 173, 534, 535, 163, 511,
1146 512, 513, 197, 197, 197, 529, 197, 534,
1147 534, 163, 511, 512, 513, 197, 197, 197,
1148 529, 197, 536, 170, 197, 537, 197, 511,
1149 512, 513, 197, 197, 197, 529, 197, 170,
1150 197, 537, 197, 511, 512, 513, 197, 197,
1151 197, 529, 197, 511, 512, 513, 197, 197,
1152 197, 529, 197, 538, 197, 539, 540, 197,
1153 511, 512, 513, 197, 197, 167, 197, 166,
1154 197, 197, 197, 197, 511, 512, 513, 197,
1155 511, 512, 513, 197, 538, 197, 197, 197,
1156 197, 511, 512, 513, 197, 538, 197, 539,
1157 197, 197, 511, 512, 513, 197, 197, 167,
1158 197, 516, 166, 357, 357, 95, 361, 357,
1159 187, 188, 189, 357, 357, 357, 362, 357,
1160 516, 357, 542, 541, 541, 541, 541, 543,
1161 544, 545, 541, 543, 544, 545, 541, 546,
1162 541, 541, 547, 544, 545, 541, 544, 545,
1163 541, 548, 541, 544, 549, 541, 544, 550,
1164 541, 544, 541, 546, 541, 541, 541, 544,
1165 545, 541, 0
1166 };
1167
1168 static const short _indic_syllable_machine_trans_targs[] = {
1169 170, 199, 201, 202, 3, 205, 4, 6,
1170 208, 7, 9, 211, 10, 12, 214, 13,
1171 15, 16, 191, 18, 19, 213, 21, 22,
1172 210, 24, 25, 207, 216, 221, 225, 228,
1173 232, 235, 239, 242, 246, 249, 170, 279,
1174 281, 282, 39, 285, 40, 42, 288, 43,
1175 45, 291, 46, 48, 294, 49, 51, 52,
1176 271, 54, 55, 293, 57, 58, 290, 60,
1177 61, 287, 296, 301, 305, 308, 312, 315,
1178 319, 322, 326, 330, 170, 358, 360, 361,
1179 75, 364, 170, 76, 78, 367, 79, 81,
1180 370, 82, 84, 373, 85, 87, 88, 350,
1181 90, 91, 372, 93, 94, 369, 96, 97,
1182 366, 375, 380, 384, 387, 391, 394, 398,
1183 401, 405, 170, 439, 441, 442, 110, 445,
1184 111, 113, 448, 114, 116, 451, 117, 119,
1185 454, 120, 122, 123, 431, 125, 126, 453,
1186 128, 129, 450, 131, 132, 447, 456, 461,
1187 465, 468, 472, 475, 479, 482, 486, 489,
1188 409, 505, 146, 508, 148, 511, 149, 151,
1189 514, 152, 154, 517, 155, 520, 522, 523,
1190 159, 160, 519, 162, 163, 516, 165, 166,
1191 513, 168, 169, 510, 170, 171, 251, 331,
1192 333, 408, 410, 351, 353, 354, 411, 407,
1193 490, 491, 378, 526, 379, 170, 172, 174,
1194 35, 250, 192, 194, 195, 248, 219, 220,
1195 173, 34, 175, 244, 0, 176, 178, 33,
1196 243, 241, 177, 32, 179, 237, 180, 182,
1197 31, 236, 234, 181, 30, 183, 230, 184,
1198 186, 29, 229, 227, 185, 28, 187, 223,
1199 188, 190, 27, 222, 218, 189, 26, 204,
1200 193, 198, 170, 196, 197, 200, 1, 203,
1201 2, 206, 5, 23, 209, 8, 20, 212,
1202 11, 17, 215, 14, 217, 224, 226, 231,
1203 233, 238, 240, 245, 247, 170, 252, 254,
1204 71, 328, 272, 274, 275, 329, 299, 300,
1205 253, 70, 255, 324, 36, 256, 258, 69,
1206 323, 321, 257, 68, 259, 317, 260, 262,
1207 67, 316, 314, 261, 66, 263, 310, 264,
1208 266, 65, 309, 307, 265, 64, 267, 303,
1209 268, 270, 63, 302, 298, 269, 62, 284,
1210 273, 278, 170, 276, 277, 280, 37, 283,
1211 38, 286, 41, 59, 289, 44, 56, 292,
1212 47, 53, 295, 50, 297, 304, 306, 311,
1213 313, 318, 320, 325, 327, 170, 332, 106,
1214 334, 403, 72, 335, 337, 105, 402, 400,
1215 336, 104, 338, 396, 339, 341, 103, 395,
1216 393, 340, 102, 342, 389, 343, 345, 101,
1217 388, 386, 344, 100, 346, 382, 347, 349,
1218 99, 381, 377, 348, 98, 363, 352, 357,
1219 170, 355, 356, 359, 73, 362, 74, 365,
1220 77, 95, 368, 80, 92, 371, 83, 89,
1221 374, 86, 376, 383, 385, 390, 392, 397,
1222 399, 404, 406, 170, 170, 412, 414, 142,
1223 141, 432, 434, 435, 488, 459, 460, 413,
1224 415, 484, 107, 416, 418, 140, 483, 481,
1225 417, 139, 419, 477, 420, 422, 138, 476,
1226 474, 421, 137, 423, 470, 424, 426, 136,
1227 469, 467, 425, 135, 427, 463, 428, 430,
1228 134, 462, 458, 429, 133, 444, 433, 438,
1229 170, 436, 437, 440, 108, 443, 109, 446,
1230 112, 130, 449, 115, 127, 452, 118, 124,
1231 455, 121, 457, 464, 466, 471, 473, 478,
1232 480, 485, 487, 143, 492, 493, 507, 498,
1233 500, 501, 525, 494, 495, 496, 144, 506,
1234 497, 499, 504, 502, 503, 145, 509, 147,
1235 167, 156, 512, 150, 164, 515, 153, 161,
1236 518, 158, 521, 157, 524, 170, 527, 528,
1237 530, 531, 529, 534, 170, 532, 533
1238 };
1239
1240 static const char _indic_syllable_machine_trans_actions[] = {
1241 1, 2, 0, 0, 0, 2, 0, 0,
1242 2, 0, 0, 2, 0, 0, 2, 0,
1243 0, 0, 2, 0, 0, 2, 0, 0,
1244 2, 0, 0, 2, 2, 2, 2, 2,
1245 2, 2, 2, 2, 2, 2, 3, 2,
1246 0, 0, 0, 2, 0, 0, 2, 0,
1247 0, 2, 0, 0, 2, 0, 0, 0,
1248 2, 0, 0, 2, 0, 0, 2, 0,
1249 0, 2, 2, 2, 2, 2, 2, 2,
1250 2, 2, 2, 2, 4, 2, 0, 0,
1251 0, 2, 5, 0, 0, 2, 0, 0,
1252 2, 0, 0, 2, 0, 0, 0, 2,
1253 0, 0, 2, 0, 0, 2, 0, 0,
1254 2, 2, 6, 2, 6, 2, 6, 2,
1255 6, 2, 7, 2, 0, 0, 0, 2,
1256 0, 0, 2, 0, 0, 2, 0, 0,
1257 2, 0, 0, 0, 2, 0, 0, 2,
1258 0, 0, 2, 0, 0, 2, 2, 2,
1259 2, 2, 2, 2, 2, 2, 2, 2,
1260 6, 8, 0, 2, 0, 2, 0, 0,
1261 2, 0, 0, 2, 0, 2, 0, 0,
1262 0, 0, 2, 0, 0, 2, 0, 0,
1263 2, 0, 0, 2, 11, 2, 2, 6,
1264 2, 12, 12, 0, 0, 0, 2, 2,
1265 6, 2, 6, 0, 6, 13, 2, 2,
1266 0, 2, 0, 0, 0, 2, 2, 2,
1267 2, 0, 2, 2, 0, 2, 2, 0,
1268 2, 2, 2, 0, 2, 2, 2, 2,
1269 0, 2, 2, 2, 0, 2, 2, 2,
1270 2, 0, 2, 2, 2, 0, 2, 2,
1271 2, 2, 0, 2, 2, 2, 0, 2,
1272 0, 0, 14, 0, 0, 0, 0, 2,
1273 0, 2, 0, 0, 2, 0, 0, 2,
1274 0, 0, 2, 0, 2, 2, 2, 2,
1275 2, 2, 2, 2, 2, 15, 2, 2,
1276 0, 2, 0, 0, 0, 2, 2, 2,
1277 2, 0, 2, 2, 0, 2, 2, 0,
1278 2, 2, 2, 0, 2, 2, 2, 2,
1279 0, 2, 2, 2, 0, 2, 2, 2,
1280 2, 0, 2, 2, 2, 0, 2, 2,
1281 2, 2, 0, 2, 2, 2, 0, 2,
1282 0, 0, 16, 0, 0, 0, 0, 2,
1283 0, 2, 0, 0, 2, 0, 0, 2,
1284 0, 0, 2, 0, 2, 2, 2, 2,
1285 2, 2, 2, 2, 2, 17, 6, 0,
1286 6, 6, 0, 6, 2, 0, 6, 2,
1287 6, 0, 6, 6, 6, 2, 0, 6,
1288 2, 6, 0, 6, 6, 6, 2, 0,
1289 6, 2, 6, 0, 6, 6, 6, 2,
1290 0, 6, 2, 6, 0, 6, 0, 0,
1291 18, 0, 0, 0, 0, 2, 0, 2,
1292 0, 0, 2, 0, 0, 2, 0, 0,
1293 2, 0, 2, 2, 2, 2, 2, 2,
1294 2, 2, 2, 19, 20, 2, 2, 0,
1295 0, 0, 0, 0, 2, 2, 2, 2,
1296 2, 2, 0, 2, 2, 0, 2, 2,
1297 2, 0, 2, 2, 2, 2, 0, 2,
1298 2, 2, 0, 2, 2, 2, 2, 0,
1299 2, 2, 2, 0, 2, 2, 2, 2,
1300 0, 2, 2, 2, 0, 2, 0, 0,
1301 21, 0, 0, 0, 0, 2, 0, 2,
1302 0, 0, 2, 0, 0, 2, 0, 0,
1303 2, 0, 2, 2, 2, 2, 2, 2,
1304 2, 2, 2, 0, 0, 8, 2, 0,
1305 0, 0, 2, 2, 8, 8, 0, 8,
1306 8, 0, 0, 0, 0, 0, 2, 0,
1307 0, 0, 2, 0, 0, 2, 0, 0,
1308 2, 0, 0, 0, 2, 22, 0, 0,
1309 0, 0, 0, 0, 23, 0, 0
1310 };
1311
1312 static const char _indic_syllable_machine_to_state_actions[] = {
1313 0, 0, 0, 0, 0, 0, 0, 0,
1314 0, 0, 0, 0, 0, 0, 0, 0,
1315 0, 0, 0, 0, 0, 0, 0, 0,
1316 0, 0, 0, 0, 0, 0, 0, 0,
1317 0, 0, 0, 0, 0, 0, 0, 0,
1318 0, 0, 0, 0, 0, 0, 0, 0,
1319 0, 0, 0, 0, 0, 0, 0, 0,
1320 0, 0, 0, 0, 0, 0, 0, 0,
1321 0, 0, 0, 0, 0, 0, 0, 0,
1322 0, 0, 0, 0, 0, 0, 0, 0,
1323 0, 0, 0, 0, 0, 0, 0, 0,
1324 0, 0, 0, 0, 0, 0, 0, 0,
1325 0, 0, 0, 0, 0, 0, 0, 0,
1326 0, 0, 0, 0, 0, 0, 0, 0,
1327 0, 0, 0, 0, 0, 0, 0, 0,
1328 0, 0, 0, 0, 0, 0, 0, 0,
1329 0, 0, 0, 0, 0, 0, 0, 0,
1330 0, 0, 0, 0, 0, 0, 0, 0,
1331 0, 0, 0, 0, 0, 0, 0, 0,
1332 0, 0, 0, 0, 0, 0, 0, 0,
1333 0, 0, 0, 0, 0, 0, 0, 0,
1334 0, 0, 9, 0, 0, 0, 0, 0,
1335 0, 0, 0, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0,
1337 0, 0, 0, 0, 0, 0, 0, 0,
1338 0, 0, 0, 0, 0, 0, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0,
1342 0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0, 0, 0, 0, 0, 0, 0,
1344 0, 0, 0, 0, 0, 0, 0, 0,
1345 0, 0, 0, 0, 0, 0, 0, 0,
1346 0, 0, 0, 0, 0, 0, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 0, 0, 0,
1350 0, 0, 0, 0, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 0, 0, 0, 0, 0,
1353 0, 0, 0, 0, 0, 0, 0, 0,
1354 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 0, 0, 0, 0, 0,
1356 0, 0, 0, 0, 0, 0, 0, 0,
1357 0, 0, 0, 0, 0, 0, 0, 0,
1358 0, 0, 0, 0, 0, 0, 0, 0,
1359 0, 0, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 0,
1361 0, 0, 0, 0, 0, 0, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 0, 0, 0,
1364 0, 0, 0, 0, 0, 0, 0, 0,
1365 0, 0, 0, 0, 0, 0, 0, 0,
1366 0, 0, 0, 0, 0, 0, 0, 0,
1367 0, 0, 0, 0, 0, 0, 0, 0,
1368 0, 0, 0, 0, 0, 0, 0, 0,
1369 0, 0, 0, 0, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 0, 0, 0,
1371 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 0, 0, 0, 0,
1375 0, 0, 0, 0, 0, 0, 0, 0,
1376 0, 0, 0, 0, 0, 0, 0, 0,
1377 0, 0, 0, 0, 0, 0, 0, 0,
1378 0, 0, 0, 0, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 0
1380 };
1381
1382 static const char _indic_syllable_machine_from_state_actions[] = {
1383 0, 0, 0, 0, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 0, 0, 0, 0, 0, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0,
1388 0, 0, 0, 0, 0, 0, 0, 0,
1389 0, 0, 0, 0, 0, 0, 0, 0,
1390 0, 0, 0, 0, 0, 0, 0, 0,
1391 0, 0, 0, 0, 0, 0, 0, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 0,
1395 0, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 0, 0, 0,
1398 0, 0, 0, 0, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 0, 0, 0, 0, 0,
1401 0, 0, 0, 0, 0, 0, 0, 0,
1402 0, 0, 0, 0, 0, 0, 0, 0,
1403 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 10, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 0, 0, 0,
1406 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 0, 0, 0, 0,
1410 0, 0, 0, 0, 0, 0, 0, 0,
1411 0, 0, 0, 0, 0, 0, 0, 0,
1412 0, 0, 0, 0, 0, 0, 0, 0,
1413 0, 0, 0, 0, 0, 0, 0, 0,
1414 0, 0, 0, 0, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 0, 0, 0,
1416 0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 0, 0, 0,
1419 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 0, 0, 0, 0, 0, 0, 0,
1421 0, 0, 0, 0, 0, 0, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, 0,
1426 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 0, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 0, 0, 0, 0, 0, 0, 0,
1433 0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0
1450 };
1451
1452 static const short _indic_syllable_machine_eof_trans[] = {
1453 1, 1, 1, 1, 1, 1, 1, 1,
1454 1, 1, 1, 1, 1, 1, 1, 1,
1455 1, 1, 1, 1, 1, 1, 1, 1,
1456 1, 1, 1, 1, 1, 1, 1, 1,
1457 1, 1, 1, 1, 39, 39, 39, 39,
1458 39, 39, 39, 39, 39, 39, 39, 39,
1459 39, 39, 39, 39, 39, 39, 39, 39,
1460 39, 39, 39, 39, 39, 39, 39, 39,
1461 39, 39, 39, 39, 39, 39, 39, 39,
1462 77, 77, 77, 83, 83, 77, 77, 77,
1463 77, 77, 77, 77, 77, 77, 77, 77,
1464 77, 77, 77, 77, 77, 77, 77, 77,
1465 77, 77, 77, 77, 77, 77, 77, 77,
1466 83, 77, 77, 115, 115, 115, 115, 115,
1467 115, 115, 115, 115, 115, 115, 115, 115,
1468 115, 115, 115, 115, 115, 115, 115, 115,
1469 115, 115, 115, 115, 115, 115, 115, 115,
1470 115, 115, 115, 115, 115, 115, 115, 77,
1471 1, 1, 1, 1, 1, 1, 1, 1,
1472 1, 1, 1, 1, 1, 1, 1, 1,
1473 1, 1, 1, 1, 1, 1, 1, 1,
1474 1, 1, 0, 198, 198, 198, 198, 198,
1475 198, 198, 198, 198, 198, 198, 198, 198,
1476 198, 198, 198, 198, 198, 198, 198, 198,
1477 198, 198, 198, 198, 198, 198, 198, 198,
1478 198, 198, 198, 198, 198, 198, 198, 198,
1479 198, 198, 198, 198, 198, 198, 198, 198,
1480 198, 198, 198, 198, 198, 198, 198, 198,
1481 198, 198, 198, 198, 198, 198, 198, 198,
1482 198, 198, 198, 198, 198, 198, 198, 198,
1483 198, 198, 198, 198, 198, 198, 198, 198,
1484 198, 198, 198, 278, 278, 278, 278, 278,
1485 278, 278, 278, 278, 278, 278, 278, 278,
1486 278, 278, 278, 278, 278, 278, 278, 278,
1487 278, 278, 278, 278, 278, 278, 278, 278,
1488 278, 278, 278, 278, 278, 278, 278, 278,
1489 278, 278, 278, 278, 278, 278, 278, 278,
1490 278, 278, 278, 278, 278, 278, 278, 278,
1491 278, 278, 278, 278, 278, 278, 278, 278,
1492 278, 278, 278, 278, 278, 278, 278, 278,
1493 278, 278, 278, 278, 278, 278, 278, 278,
1494 278, 278, 278, 358, 358, 358, 358, 358,
1495 358, 358, 358, 358, 358, 358, 358, 358,
1496 358, 358, 358, 358, 358, 358, 358, 358,
1497 358, 358, 358, 358, 358, 358, 358, 358,
1498 358, 358, 358, 358, 358, 358, 358, 358,
1499 358, 358, 358, 358, 358, 358, 358, 358,
1500 358, 358, 358, 358, 358, 358, 358, 358,
1501 358, 358, 358, 358, 358, 358, 358, 358,
1502 358, 358, 358, 358, 358, 358, 358, 358,
1503 358, 358, 358, 358, 358, 358, 358, 358,
1504 428, 358, 428, 429, 429, 429, 429, 429,
1505 429, 429, 429, 429, 429, 429, 429, 429,
1506 429, 429, 429, 429, 429, 429, 429, 429,
1507 429, 429, 429, 429, 429, 429, 429, 429,
1508 429, 429, 429, 429, 429, 429, 429, 429,
1509 429, 429, 429, 429, 429, 429, 429, 429,
1510 429, 429, 429, 429, 429, 429, 429, 429,
1511 429, 429, 429, 429, 429, 429, 429, 429,
1512 429, 429, 429, 429, 429, 429, 429, 429,
1513 429, 429, 429, 429, 429, 429, 429, 429,
1514 429, 429, 358, 198, 198, 198, 358, 198,
1515 198, 198, 198, 198, 198, 198, 198, 198,
1516 198, 198, 198, 198, 198, 198, 198, 198,
1517 198, 198, 198, 198, 198, 198, 198, 198,
1518 198, 198, 198, 198, 198, 358, 542, 542,
1519 542, 542, 542, 542, 542, 542, 542
1520 };
1521
1522 static const int indic_syllable_machine_start = 170;
1523 static const int indic_syllable_machine_first_final = 170;
1524 static const int indic_syllable_machine_error = -1;
1525
1526 static const int indic_syllable_machine_en_main = 170;
1527
1528
1529 #line 36 "../../src/hb-ot-shape-complex-indic-machine.rl"
1530
1531
1532
1533 #line 97 "../../src/hb-ot-shape-complex-indic-machine.rl"
1534
1535
1536 #define found_syllable(syllable_type) \
1537 HB_STMT_START { \
1538 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1539 for (unsigned int i = last; i < p+1; i++) \
1540 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1541 last = p+1; \
1542 syllable_serial++; \
1543 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1544 } HB_STMT_END
1545
1546 static void
find_syllables(hb_buffer_t * buffer)1547 find_syllables (hb_buffer_t *buffer)
1548 {
1549 unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1550 int cs;
1551 hb_glyph_info_t *info = buffer->info;
1552
1553 #line 1554 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1554 {
1555 cs = indic_syllable_machine_start;
1556 ts = 0;
1557 te = 0;
1558 act = 0;
1559 }
1560
1561 #line 118 "../../src/hb-ot-shape-complex-indic-machine.rl"
1562
1563
1564 p = 0;
1565 pe = eof = buffer->len;
1566
1567 unsigned int last = 0;
1568 unsigned int syllable_serial = 1;
1569
1570 #line 1571 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1571 {
1572 int _slen;
1573 int _trans;
1574 const unsigned char *_keys;
1575 const short *_inds;
1576 if ( p == pe )
1577 goto _test_eof;
1578 _resume:
1579 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1580 case 10:
1581 #line 1 "NONE"
1582 {ts = p;}
1583 break;
1584 #line 1585 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1585 }
1586
1587 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1588 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1589
1590 _slen = _indic_syllable_machine_key_spans[cs];
1591 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1592 ( info[p].indic_category()) <= _keys[1] ?
1593 ( info[p].indic_category()) - _keys[0] : _slen ];
1594
1595 _eof_trans:
1596 cs = _indic_syllable_machine_trans_targs[_trans];
1597
1598 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1599 goto _again;
1600
1601 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1602 case 2:
1603 #line 1 "NONE"
1604 {te = p+1;}
1605 break;
1606 case 14:
1607 #line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1608 {te = p+1;{ found_syllable (consonant_syllable); }}
1609 break;
1610 case 16:
1611 #line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
1612 {te = p+1;{ found_syllable (vowel_syllable); }}
1613 break;
1614 case 21:
1615 #line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1616 {te = p+1;{ found_syllable (standalone_cluster); }}
1617 break;
1618 case 23:
1619 #line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
1620 {te = p+1;{ found_syllable (symbol_cluster); }}
1621 break;
1622 case 18:
1623 #line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1624 {te = p+1;{ found_syllable (broken_cluster); }}
1625 break;
1626 case 11:
1627 #line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
1628 {te = p+1;{ found_syllable (non_indic_cluster); }}
1629 break;
1630 case 13:
1631 #line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1632 {te = p;p--;{ found_syllable (consonant_syllable); }}
1633 break;
1634 case 15:
1635 #line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
1636 {te = p;p--;{ found_syllable (vowel_syllable); }}
1637 break;
1638 case 20:
1639 #line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1640 {te = p;p--;{ found_syllable (standalone_cluster); }}
1641 break;
1642 case 22:
1643 #line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
1644 {te = p;p--;{ found_syllable (symbol_cluster); }}
1645 break;
1646 case 17:
1647 #line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1648 {te = p;p--;{ found_syllable (broken_cluster); }}
1649 break;
1650 case 19:
1651 #line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
1652 {te = p;p--;{ found_syllable (non_indic_cluster); }}
1653 break;
1654 case 1:
1655 #line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1656 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1657 break;
1658 case 3:
1659 #line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
1660 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1661 break;
1662 case 7:
1663 #line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
1664 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1665 break;
1666 case 4:
1667 #line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1668 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1669 break;
1670 case 5:
1671 #line 1 "NONE"
1672 { switch( act ) {
1673 case 1:
1674 {{p = ((te))-1;} found_syllable (consonant_syllable); }
1675 break;
1676 case 5:
1677 {{p = ((te))-1;} found_syllable (broken_cluster); }
1678 break;
1679 case 6:
1680 {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1681 break;
1682 }
1683 }
1684 break;
1685 case 8:
1686 #line 1 "NONE"
1687 {te = p+1;}
1688 #line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
1689 {act = 1;}
1690 break;
1691 case 6:
1692 #line 1 "NONE"
1693 {te = p+1;}
1694 #line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
1695 {act = 5;}
1696 break;
1697 case 12:
1698 #line 1 "NONE"
1699 {te = p+1;}
1700 #line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
1701 {act = 6;}
1702 break;
1703 #line 1704 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1704 }
1705
1706 _again:
1707 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1708 case 9:
1709 #line 1 "NONE"
1710 {ts = 0;}
1711 break;
1712 #line 1713 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
1713 }
1714
1715 if ( ++p != pe )
1716 goto _resume;
1717 _test_eof: {}
1718 if ( p == eof )
1719 {
1720 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1721 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1722 goto _eof_trans;
1723 }
1724 }
1725
1726 }
1727
1728 #line 127 "../../src/hb-ot-shape-complex-indic-machine.rl"
1729
1730 }
1731
1732 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
1733