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.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, 18u, 3u, 31u,
59 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
60 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u,
61 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u,
62 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u,
63 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u,
64 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u,
65 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
66 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
67 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
68 1u, 18u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
69 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
70 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u,
71 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u,
72 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u,
73 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u,
74 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u,
75 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
76 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
77 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
78 4u, 14u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u,
79 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u,
80 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u, 5u, 10u,
81 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u, 3u, 10u,
82 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u,
83 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 6u, 18u,
84 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
85 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
86 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
87 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
88 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
89 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
90 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u,
91 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u,
92 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u,
93 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u,
94 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u,
95 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
96 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
97 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
98 1u, 18u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 18u, 1u, 18u, 3u, 31u,
99 3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 10u,
100 8u, 10u, 3u, 31u, 3u, 31u, 1u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u,
101 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 8u, 18u,
102 3u, 18u, 3u, 18u, 8u, 18u, 3u, 18u, 3u, 18u, 1u, 18u, 3u, 10u, 8u, 10u,
103 5u, 10u, 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, 18, 29,
129 29, 28, 18, 29, 29, 28, 18, 29,
130 29, 28, 18, 29, 29, 28, 14, 11,
131 6, 2, 2, 1, 6, 16, 16, 11,
132 8, 3, 16, 16, 16, 16, 15, 14,
133 16, 15, 14, 16, 15, 14, 16, 15,
134 13, 16, 18, 28, 15, 29, 29, 18,
135 18, 18, 18, 18, 29, 29, 18, 18,
136 18, 18, 18, 29, 29, 18, 18, 18,
137 18, 18, 29, 29, 18, 18, 18, 18,
138 18, 29, 29, 29, 29, 28, 18, 29,
139 29, 28, 18, 29, 29, 28, 18, 29,
140 29, 28, 18, 29, 29, 28, 14, 11,
141 6, 2, 2, 1, 6, 16, 16, 11,
142 8, 3, 16, 16, 16, 16, 15, 14,
143 16, 15, 14, 16, 15, 14, 16, 15,
144 13, 16, 18, 28, 15, 29, 29, 18,
145 18, 18, 18, 18, 29, 29, 18, 18,
146 18, 18, 18, 29, 29, 18, 18, 18,
147 18, 18, 29, 29, 18, 18, 18, 18,
148 11, 18, 29, 29, 28, 18, 29, 29,
149 28, 18, 29, 29, 28, 18, 29, 29,
150 28, 18, 29, 29, 28, 14, 11, 6,
151 2, 2, 1, 6, 16, 16, 11, 8,
152 3, 16, 16, 16, 16, 15, 14, 16,
153 15, 14, 16, 15, 14, 16, 15, 13,
154 16, 18, 28, 15, 29, 29, 18, 18,
155 18, 18, 18, 29, 29, 18, 18, 18,
156 18, 18, 29, 29, 18, 18, 18, 18,
157 18, 29, 29, 18, 18, 18, 18, 18,
158 11, 29, 11, 29, 29, 28, 18, 29,
159 29, 28, 18, 29, 29, 28, 18, 29,
160 29, 28, 18, 29, 29, 28, 14, 11,
161 6, 2, 2, 1, 6, 16, 16, 11,
162 8, 3, 16, 16, 16, 16, 15, 14,
163 16, 15, 14, 16, 15, 14, 16, 15,
164 13, 16, 18, 28, 15, 29, 29, 18,
165 18, 18, 18, 18, 29, 29, 18, 18,
166 18, 18, 18, 29, 29, 18, 18, 18,
167 18, 18, 29, 29, 18, 18, 18, 18,
168 18, 29, 31, 29, 31, 15, 18, 29,
169 29, 28, 6, 2, 2, 1, 6, 8,
170 3, 29, 29, 18, 16, 15, 14, 16,
171 15, 14, 16, 15, 14, 16, 15, 11,
172 16, 16, 11, 16, 16, 18, 8, 3,
173 6, 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, 1090,
199 1120, 1150, 1179, 1198, 1228, 1258, 1287, 1306,
200 1336, 1366, 1395, 1414, 1444, 1474, 1503, 1518,
201 1530, 1537, 1540, 1543, 1545, 1552, 1569, 1586,
202 1598, 1607, 1611, 1628, 1645, 1662, 1679, 1695,
203 1710, 1727, 1743, 1758, 1775, 1791, 1806, 1823,
204 1839, 1853, 1870, 1889, 1918, 1934, 1964, 1994,
205 2013, 2032, 2051, 2070, 2089, 2119, 2149, 2168,
206 2187, 2206, 2225, 2244, 2274, 2304, 2323, 2342,
207 2361, 2380, 2399, 2429, 2459, 2478, 2497, 2516,
208 2535, 2554, 2584, 2614, 2644, 2674, 2703, 2722,
209 2752, 2782, 2811, 2830, 2860, 2890, 2919, 2938,
210 2968, 2998, 3027, 3046, 3076, 3106, 3135, 3150,
211 3162, 3169, 3172, 3175, 3177, 3184, 3201, 3218,
212 3230, 3239, 3243, 3260, 3277, 3294, 3311, 3327,
213 3342, 3359, 3375, 3390, 3407, 3423, 3438, 3455,
214 3471, 3485, 3502, 3521, 3550, 3566, 3596, 3626,
215 3645, 3664, 3683, 3702, 3721, 3751, 3781, 3800,
216 3819, 3838, 3857, 3876, 3906, 3936, 3955, 3974,
217 3993, 4012, 4031, 4061, 4091, 4110, 4129, 4148,
218 4167, 4179, 4198, 4228, 4258, 4287, 4306, 4336,
219 4366, 4395, 4414, 4444, 4474, 4503, 4522, 4552,
220 4582, 4611, 4630, 4660, 4690, 4719, 4734, 4746,
221 4753, 4756, 4759, 4761, 4768, 4785, 4802, 4814,
222 4823, 4827, 4844, 4861, 4878, 4895, 4911, 4926,
223 4943, 4959, 4974, 4991, 5007, 5022, 5039, 5055,
224 5069, 5086, 5105, 5134, 5150, 5180, 5210, 5229,
225 5248, 5267, 5286, 5305, 5335, 5365, 5384, 5403,
226 5422, 5441, 5460, 5490, 5520, 5539, 5558, 5577,
227 5596, 5615, 5645, 5675, 5694, 5713, 5732, 5751,
228 5770, 5782, 5812, 5824, 5854, 5884, 5913, 5932,
229 5962, 5992, 6021, 6040, 6070, 6100, 6129, 6148,
230 6178, 6208, 6237, 6256, 6286, 6316, 6345, 6360,
231 6372, 6379, 6382, 6385, 6387, 6394, 6411, 6428,
232 6440, 6449, 6453, 6470, 6487, 6504, 6521, 6537,
233 6552, 6569, 6585, 6600, 6617, 6633, 6648, 6665,
234 6681, 6695, 6712, 6731, 6760, 6776, 6806, 6836,
235 6855, 6874, 6893, 6912, 6931, 6961, 6991, 7010,
236 7029, 7048, 7067, 7086, 7116, 7146, 7165, 7184,
237 7203, 7222, 7241, 7271, 7301, 7320, 7339, 7358,
238 7377, 7396, 7426, 7458, 7488, 7520, 7536, 7555,
239 7585, 7615, 7644, 7651, 7654, 7657, 7659, 7666,
240 7675, 7679, 7709, 7739, 7758, 7775, 7791, 7806,
241 7823, 7839, 7854, 7871, 7887, 7902, 7919, 7935,
242 7947, 7964, 7981, 7993, 8010, 8027, 8046, 8055,
243 8059, 8066, 8069, 8072, 8074
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, 207, 197, 197,
372 197, 197, 197, 197, 197, 197, 197, 197,
373 197, 197, 208, 197, 209, 199, 210, 210,
374 5, 202, 203, 204, 197, 197, 197, 205,
375 197, 197, 206, 207, 197, 197, 197, 197,
376 197, 197, 197, 197, 197, 197, 197, 197,
377 208, 197, 199, 210, 210, 5, 202, 203,
378 204, 197, 197, 197, 205, 197, 197, 206,
379 207, 197, 197, 197, 197, 197, 197, 197,
380 197, 197, 197, 197, 197, 208, 197, 211,
381 197, 197, 197, 18, 212, 197, 202, 203,
382 204, 197, 197, 197, 213, 197, 211, 197,
383 207, 197, 214, 215, 216, 217, 5, 202,
384 203, 204, 197, 197, 35, 218, 197, 197,
385 206, 207, 197, 197, 197, 197, 197, 197,
386 197, 197, 197, 197, 197, 197, 208, 197,
387 219, 215, 220, 220, 5, 202, 203, 204,
388 197, 197, 197, 218, 197, 197, 206, 207,
389 197, 197, 197, 197, 197, 197, 197, 197,
390 197, 197, 197, 197, 208, 197, 215, 220,
391 220, 5, 202, 203, 204, 197, 197, 197,
392 218, 197, 197, 206, 207, 197, 197, 197,
393 197, 197, 197, 197, 197, 197, 197, 197,
394 197, 208, 197, 221, 197, 197, 197, 18,
395 222, 197, 202, 203, 204, 197, 197, 197,
396 213, 197, 221, 197, 207, 197, 223, 224,
397 225, 226, 5, 202, 203, 204, 197, 197,
398 33, 227, 197, 197, 206, 207, 197, 197,
399 197, 197, 197, 197, 197, 197, 197, 197,
400 197, 197, 208, 197, 228, 224, 229, 229,
401 5, 202, 203, 204, 197, 197, 197, 227,
402 197, 197, 206, 207, 197, 197, 197, 197,
403 197, 197, 197, 197, 197, 197, 197, 197,
404 208, 197, 224, 229, 229, 5, 202, 203,
405 204, 197, 197, 197, 227, 197, 197, 206,
406 207, 197, 197, 197, 197, 197, 197, 197,
407 197, 197, 197, 197, 197, 208, 197, 230,
408 197, 197, 197, 18, 231, 197, 202, 203,
409 204, 197, 197, 197, 213, 197, 230, 197,
410 207, 197, 232, 233, 234, 235, 5, 202,
411 203, 204, 197, 197, 31, 236, 197, 197,
412 206, 207, 197, 197, 197, 197, 197, 197,
413 197, 197, 197, 197, 197, 197, 208, 197,
414 237, 233, 238, 238, 5, 202, 203, 204,
415 197, 197, 197, 236, 197, 197, 206, 207,
416 197, 197, 197, 197, 197, 197, 197, 197,
417 197, 197, 197, 197, 208, 197, 233, 238,
418 238, 5, 202, 203, 204, 197, 197, 197,
419 236, 197, 197, 206, 207, 197, 197, 197,
420 197, 197, 197, 197, 197, 197, 197, 197,
421 197, 208, 197, 239, 197, 197, 197, 18,
422 240, 197, 202, 203, 204, 197, 197, 197,
423 213, 197, 239, 197, 207, 197, 241, 242,
424 243, 244, 5, 202, 203, 204, 197, 197,
425 29, 245, 197, 197, 206, 207, 197, 197,
426 197, 197, 197, 197, 197, 197, 197, 197,
427 197, 197, 208, 197, 246, 242, 247, 247,
428 5, 202, 203, 204, 197, 197, 197, 245,
429 197, 197, 206, 207, 197, 197, 197, 197,
430 197, 197, 197, 197, 197, 197, 197, 197,
431 208, 197, 242, 247, 247, 5, 202, 203,
432 204, 197, 197, 197, 245, 197, 197, 206,
433 207, 197, 197, 197, 197, 197, 197, 197,
434 197, 197, 197, 197, 197, 208, 197, 18,
435 248, 197, 202, 203, 204, 197, 197, 197,
436 213, 197, 197, 197, 207, 197, 202, 203,
437 204, 197, 197, 197, 213, 197, 197, 197,
438 207, 197, 249, 197, 197, 250, 203, 204,
439 197, 203, 204, 197, 203, 251, 197, 203,
440 197, 249, 197, 197, 197, 203, 204, 197,
441 252, 197, 253, 254, 197, 202, 203, 204,
442 197, 197, 3, 197, 197, 197, 197, 207,
443 197, 2, 197, 197, 197, 197, 202, 203,
444 204, 197, 197, 197, 197, 197, 197, 197,
445 207, 197, 202, 203, 204, 197, 197, 197,
446 197, 197, 197, 197, 207, 197, 255, 197,
447 197, 197, 197, 202, 203, 204, 197, 202,
448 203, 204, 197, 252, 197, 197, 197, 197,
449 202, 203, 204, 197, 197, 197, 197, 197,
450 197, 197, 207, 197, 252, 197, 253, 197,
451 197, 202, 203, 204, 197, 197, 3, 197,
452 197, 197, 197, 207, 197, 18, 197, 256,
453 256, 5, 202, 203, 204, 197, 197, 197,
454 213, 197, 197, 197, 207, 197, 257, 27,
455 258, 259, 8, 202, 203, 204, 197, 197,
456 197, 213, 197, 197, 197, 207, 197, 27,
457 258, 259, 8, 202, 203, 204, 197, 197,
458 197, 213, 197, 197, 197, 207, 197, 258,
459 258, 8, 202, 203, 204, 197, 197, 197,
460 213, 197, 197, 197, 207, 197, 260, 24,
461 261, 262, 11, 202, 203, 204, 197, 197,
462 197, 213, 197, 197, 197, 207, 197, 24,
463 261, 262, 11, 202, 203, 204, 197, 197,
464 197, 213, 197, 197, 197, 207, 197, 261,
465 261, 11, 202, 203, 204, 197, 197, 197,
466 213, 197, 197, 197, 207, 197, 263, 21,
467 264, 265, 14, 202, 203, 204, 197, 197,
468 197, 213, 197, 197, 197, 207, 197, 21,
469 264, 265, 14, 202, 203, 204, 197, 197,
470 197, 213, 197, 197, 197, 207, 197, 264,
471 264, 14, 202, 203, 204, 197, 197, 197,
472 213, 197, 197, 197, 207, 197, 266, 18,
473 197, 267, 197, 202, 203, 204, 197, 197,
474 197, 213, 197, 197, 197, 207, 197, 18,
475 197, 267, 197, 202, 203, 204, 197, 197,
476 197, 213, 197, 197, 197, 207, 197, 268,
477 197, 202, 203, 204, 197, 197, 197, 213,
478 197, 197, 197, 207, 197, 18, 197, 197,
479 197, 197, 202, 203, 204, 197, 197, 197,
480 213, 197, 197, 197, 207, 197, 1, 2,
481 197, 197, 18, 248, 197, 202, 203, 204,
482 197, 197, 197, 213, 197, 1, 197, 207,
483 197, 242, 247, 247, 5, 202, 203, 204,
484 197, 197, 197, 245, 197, 197, 197, 207,
485 197, 197, 197, 197, 197, 197, 197, 197,
486 197, 197, 197, 197, 208, 197, 242, 247,
487 247, 5, 202, 203, 204, 197, 197, 197,
488 245, 197, 197, 197, 207, 197, 241, 242,
489 247, 247, 5, 202, 203, 204, 197, 197,
490 197, 245, 197, 197, 206, 207, 197, 197,
491 197, 197, 197, 197, 197, 197, 197, 197,
492 197, 197, 208, 197, 241, 242, 243, 247,
493 5, 202, 203, 204, 197, 197, 29, 245,
494 197, 197, 206, 207, 197, 197, 197, 197,
495 197, 197, 197, 197, 197, 197, 197, 197,
496 208, 197, 239, 197, 269, 197, 256, 256,
497 5, 202, 203, 204, 197, 197, 197, 213,
498 197, 239, 197, 207, 197, 239, 197, 197,
499 197, 197, 197, 197, 202, 203, 204, 197,
500 197, 197, 213, 197, 239, 197, 207, 197,
501 239, 197, 197, 197, 197, 270, 197, 202,
502 203, 204, 197, 197, 197, 213, 197, 239,
503 197, 207, 197, 239, 197, 269, 197, 197,
504 197, 197, 202, 203, 204, 197, 197, 197,
505 213, 197, 239, 197, 207, 197, 239, 2,
506 197, 197, 18, 240, 197, 202, 203, 204,
507 197, 197, 197, 213, 197, 239, 197, 207,
508 197, 232, 233, 238, 238, 5, 202, 203,
509 204, 197, 197, 197, 236, 197, 197, 206,
510 207, 197, 197, 197, 197, 197, 197, 197,
511 197, 197, 197, 197, 197, 208, 197, 232,
512 233, 234, 238, 5, 202, 203, 204, 197,
513 197, 31, 236, 197, 197, 206, 207, 197,
514 197, 197, 197, 197, 197, 197, 197, 197,
515 197, 197, 197, 208, 197, 230, 197, 271,
516 197, 256, 256, 5, 202, 203, 204, 197,
517 197, 197, 213, 197, 230, 197, 207, 197,
518 230, 197, 197, 197, 197, 197, 197, 202,
519 203, 204, 197, 197, 197, 213, 197, 230,
520 197, 207, 197, 230, 197, 197, 197, 197,
521 272, 197, 202, 203, 204, 197, 197, 197,
522 213, 197, 230, 197, 207, 197, 230, 197,
523 271, 197, 197, 197, 197, 202, 203, 204,
524 197, 197, 197, 213, 197, 230, 197, 207,
525 197, 230, 2, 197, 197, 18, 231, 197,
526 202, 203, 204, 197, 197, 197, 213, 197,
527 230, 197, 207, 197, 223, 224, 229, 229,
528 5, 202, 203, 204, 197, 197, 197, 227,
529 197, 197, 206, 207, 197, 197, 197, 197,
530 197, 197, 197, 197, 197, 197, 197, 197,
531 208, 197, 223, 224, 225, 229, 5, 202,
532 203, 204, 197, 197, 33, 227, 197, 197,
533 206, 207, 197, 197, 197, 197, 197, 197,
534 197, 197, 197, 197, 197, 197, 208, 197,
535 221, 197, 273, 197, 256, 256, 5, 202,
536 203, 204, 197, 197, 197, 213, 197, 221,
537 197, 207, 197, 221, 197, 197, 197, 197,
538 197, 197, 202, 203, 204, 197, 197, 197,
539 213, 197, 221, 197, 207, 197, 221, 197,
540 197, 197, 197, 274, 197, 202, 203, 204,
541 197, 197, 197, 213, 197, 221, 197, 207,
542 197, 221, 197, 273, 197, 197, 197, 197,
543 202, 203, 204, 197, 197, 197, 213, 197,
544 221, 197, 207, 197, 221, 2, 197, 197,
545 18, 222, 197, 202, 203, 204, 197, 197,
546 197, 213, 197, 221, 197, 207, 197, 214,
547 215, 220, 220, 5, 202, 203, 204, 197,
548 197, 197, 218, 197, 197, 206, 207, 197,
549 197, 197, 197, 197, 197, 197, 197, 197,
550 197, 197, 197, 208, 197, 214, 215, 216,
551 220, 5, 202, 203, 204, 197, 197, 35,
552 218, 197, 197, 206, 207, 197, 197, 197,
553 197, 197, 197, 197, 197, 197, 197, 197,
554 197, 208, 197, 211, 197, 275, 197, 256,
555 256, 5, 202, 203, 204, 197, 197, 197,
556 213, 197, 211, 197, 207, 197, 211, 197,
557 197, 197, 197, 197, 197, 202, 203, 204,
558 197, 197, 197, 213, 197, 211, 197, 207,
559 197, 211, 197, 197, 197, 197, 276, 197,
560 202, 203, 204, 197, 197, 197, 213, 197,
561 211, 197, 207, 197, 211, 197, 275, 197,
562 197, 197, 197, 202, 203, 204, 197, 197,
563 197, 213, 197, 211, 197, 207, 197, 211,
564 2, 197, 197, 18, 212, 197, 202, 203,
565 204, 197, 197, 197, 213, 197, 211, 197,
566 207, 197, 198, 199, 210, 210, 5, 202,
567 203, 204, 197, 197, 197, 205, 197, 197,
568 206, 207, 197, 197, 197, 197, 197, 197,
569 197, 197, 197, 197, 197, 197, 208, 197,
570 198, 199, 200, 210, 5, 202, 203, 204,
571 197, 197, 37, 205, 197, 197, 206, 207,
572 197, 197, 197, 197, 197, 197, 197, 197,
573 197, 197, 197, 197, 208, 197, 278, 279,
574 280, 281, 43, 282, 283, 284, 277, 277,
575 75, 285, 277, 277, 286, 287, 277, 277,
576 277, 277, 277, 277, 277, 277, 277, 277,
577 277, 277, 288, 277, 289, 279, 290, 281,
578 43, 282, 283, 284, 277, 277, 277, 285,
579 277, 277, 286, 287, 277, 277, 277, 277,
580 277, 277, 277, 277, 277, 277, 277, 277,
581 288, 277, 279, 290, 281, 43, 282, 283,
582 284, 277, 277, 277, 285, 277, 277, 286,
583 287, 277, 277, 277, 277, 277, 277, 277,
584 277, 277, 277, 277, 277, 288, 277, 291,
585 277, 277, 277, 56, 292, 277, 282, 283,
586 284, 277, 277, 277, 293, 277, 291, 277,
587 287, 277, 294, 295, 296, 297, 43, 282,
588 283, 284, 277, 277, 73, 298, 277, 277,
589 286, 287, 277, 277, 277, 277, 277, 277,
590 277, 277, 277, 277, 277, 277, 288, 277,
591 299, 295, 300, 300, 43, 282, 283, 284,
592 277, 277, 277, 298, 277, 277, 286, 287,
593 277, 277, 277, 277, 277, 277, 277, 277,
594 277, 277, 277, 277, 288, 277, 295, 300,
595 300, 43, 282, 283, 284, 277, 277, 277,
596 298, 277, 277, 286, 287, 277, 277, 277,
597 277, 277, 277, 277, 277, 277, 277, 277,
598 277, 288, 277, 301, 277, 277, 277, 56,
599 302, 277, 282, 283, 284, 277, 277, 277,
600 293, 277, 301, 277, 287, 277, 303, 304,
601 305, 306, 43, 282, 283, 284, 277, 277,
602 71, 307, 277, 277, 286, 287, 277, 277,
603 277, 277, 277, 277, 277, 277, 277, 277,
604 277, 277, 288, 277, 308, 304, 309, 309,
605 43, 282, 283, 284, 277, 277, 277, 307,
606 277, 277, 286, 287, 277, 277, 277, 277,
607 277, 277, 277, 277, 277, 277, 277, 277,
608 288, 277, 304, 309, 309, 43, 282, 283,
609 284, 277, 277, 277, 307, 277, 277, 286,
610 287, 277, 277, 277, 277, 277, 277, 277,
611 277, 277, 277, 277, 277, 288, 277, 310,
612 277, 277, 277, 56, 311, 277, 282, 283,
613 284, 277, 277, 277, 293, 277, 310, 277,
614 287, 277, 312, 313, 314, 315, 43, 282,
615 283, 284, 277, 277, 69, 316, 277, 277,
616 286, 287, 277, 277, 277, 277, 277, 277,
617 277, 277, 277, 277, 277, 277, 288, 277,
618 317, 313, 318, 318, 43, 282, 283, 284,
619 277, 277, 277, 316, 277, 277, 286, 287,
620 277, 277, 277, 277, 277, 277, 277, 277,
621 277, 277, 277, 277, 288, 277, 313, 318,
622 318, 43, 282, 283, 284, 277, 277, 277,
623 316, 277, 277, 286, 287, 277, 277, 277,
624 277, 277, 277, 277, 277, 277, 277, 277,
625 277, 288, 277, 319, 277, 277, 277, 56,
626 320, 277, 282, 283, 284, 277, 277, 277,
627 293, 277, 319, 277, 287, 277, 321, 322,
628 323, 324, 43, 282, 283, 284, 277, 277,
629 67, 325, 277, 277, 286, 287, 277, 277,
630 277, 277, 277, 277, 277, 277, 277, 277,
631 277, 277, 288, 277, 326, 322, 327, 327,
632 43, 282, 283, 284, 277, 277, 277, 325,
633 277, 277, 286, 287, 277, 277, 277, 277,
634 277, 277, 277, 277, 277, 277, 277, 277,
635 288, 277, 322, 327, 327, 43, 282, 283,
636 284, 277, 277, 277, 325, 277, 277, 286,
637 287, 277, 277, 277, 277, 277, 277, 277,
638 277, 277, 277, 277, 277, 288, 277, 56,
639 328, 277, 282, 283, 284, 277, 277, 277,
640 293, 277, 277, 277, 287, 277, 282, 283,
641 284, 277, 277, 277, 293, 277, 277, 277,
642 287, 277, 329, 277, 277, 330, 283, 284,
643 277, 283, 284, 277, 283, 331, 277, 283,
644 277, 329, 277, 277, 277, 283, 284, 277,
645 332, 277, 333, 334, 277, 282, 283, 284,
646 277, 277, 41, 277, 277, 277, 277, 287,
647 277, 40, 277, 277, 277, 277, 282, 283,
648 284, 277, 277, 277, 277, 277, 277, 277,
649 287, 277, 282, 283, 284, 277, 277, 277,
650 277, 277, 277, 277, 287, 277, 335, 277,
651 277, 277, 277, 282, 283, 284, 277, 282,
652 283, 284, 277, 332, 277, 277, 277, 277,
653 282, 283, 284, 277, 277, 277, 277, 277,
654 277, 277, 287, 277, 332, 277, 333, 277,
655 277, 282, 283, 284, 277, 277, 41, 277,
656 277, 277, 277, 287, 277, 56, 277, 336,
657 336, 43, 282, 283, 284, 277, 277, 277,
658 293, 277, 277, 277, 287, 277, 337, 65,
659 338, 339, 46, 282, 283, 284, 277, 277,
660 277, 293, 277, 277, 277, 287, 277, 65,
661 338, 339, 46, 282, 283, 284, 277, 277,
662 277, 293, 277, 277, 277, 287, 277, 338,
663 338, 46, 282, 283, 284, 277, 277, 277,
664 293, 277, 277, 277, 287, 277, 340, 62,
665 341, 342, 49, 282, 283, 284, 277, 277,
666 277, 293, 277, 277, 277, 287, 277, 62,
667 341, 342, 49, 282, 283, 284, 277, 277,
668 277, 293, 277, 277, 277, 287, 277, 341,
669 341, 49, 282, 283, 284, 277, 277, 277,
670 293, 277, 277, 277, 287, 277, 343, 59,
671 344, 345, 52, 282, 283, 284, 277, 277,
672 277, 293, 277, 277, 277, 287, 277, 59,
673 344, 345, 52, 282, 283, 284, 277, 277,
674 277, 293, 277, 277, 277, 287, 277, 344,
675 344, 52, 282, 283, 284, 277, 277, 277,
676 293, 277, 277, 277, 287, 277, 346, 56,
677 277, 347, 277, 282, 283, 284, 277, 277,
678 277, 293, 277, 277, 277, 287, 277, 56,
679 277, 347, 277, 282, 283, 284, 277, 277,
680 277, 293, 277, 277, 277, 287, 277, 348,
681 277, 282, 283, 284, 277, 277, 277, 293,
682 277, 277, 277, 287, 277, 56, 277, 277,
683 277, 277, 282, 283, 284, 277, 277, 277,
684 293, 277, 277, 277, 287, 277, 39, 40,
685 277, 277, 56, 328, 277, 282, 283, 284,
686 277, 277, 277, 293, 277, 39, 277, 287,
687 277, 322, 327, 327, 43, 282, 283, 284,
688 277, 277, 277, 325, 277, 277, 277, 287,
689 277, 277, 277, 277, 277, 277, 277, 277,
690 277, 277, 277, 277, 288, 277, 322, 327,
691 327, 43, 282, 283, 284, 277, 277, 277,
692 325, 277, 277, 277, 287, 277, 321, 322,
693 327, 327, 43, 282, 283, 284, 277, 277,
694 277, 325, 277, 277, 286, 287, 277, 277,
695 277, 277, 277, 277, 277, 277, 277, 277,
696 277, 277, 288, 277, 321, 322, 323, 327,
697 43, 282, 283, 284, 277, 277, 67, 325,
698 277, 277, 286, 287, 277, 277, 277, 277,
699 277, 277, 277, 277, 277, 277, 277, 277,
700 288, 277, 319, 277, 349, 277, 336, 336,
701 43, 282, 283, 284, 277, 277, 277, 293,
702 277, 319, 277, 287, 277, 319, 277, 277,
703 277, 277, 277, 277, 282, 283, 284, 277,
704 277, 277, 293, 277, 319, 277, 287, 277,
705 319, 277, 277, 277, 277, 350, 277, 282,
706 283, 284, 277, 277, 277, 293, 277, 319,
707 277, 287, 277, 319, 277, 349, 277, 277,
708 277, 277, 282, 283, 284, 277, 277, 277,
709 293, 277, 319, 277, 287, 277, 319, 40,
710 277, 277, 56, 320, 277, 282, 283, 284,
711 277, 277, 277, 293, 277, 319, 277, 287,
712 277, 312, 313, 318, 318, 43, 282, 283,
713 284, 277, 277, 277, 316, 277, 277, 286,
714 287, 277, 277, 277, 277, 277, 277, 277,
715 277, 277, 277, 277, 277, 288, 277, 312,
716 313, 314, 318, 43, 282, 283, 284, 277,
717 277, 69, 316, 277, 277, 286, 287, 277,
718 277, 277, 277, 277, 277, 277, 277, 277,
719 277, 277, 277, 288, 277, 310, 277, 351,
720 277, 336, 336, 43, 282, 283, 284, 277,
721 277, 277, 293, 277, 310, 277, 287, 277,
722 310, 277, 277, 277, 277, 277, 277, 282,
723 283, 284, 277, 277, 277, 293, 277, 310,
724 277, 287, 277, 310, 277, 277, 277, 277,
725 352, 277, 282, 283, 284, 277, 277, 277,
726 293, 277, 310, 277, 287, 277, 310, 277,
727 351, 277, 277, 277, 277, 282, 283, 284,
728 277, 277, 277, 293, 277, 310, 277, 287,
729 277, 310, 40, 277, 277, 56, 311, 277,
730 282, 283, 284, 277, 277, 277, 293, 277,
731 310, 277, 287, 277, 303, 304, 309, 309,
732 43, 282, 283, 284, 277, 277, 277, 307,
733 277, 277, 286, 287, 277, 277, 277, 277,
734 277, 277, 277, 277, 277, 277, 277, 277,
735 288, 277, 303, 304, 305, 309, 43, 282,
736 283, 284, 277, 277, 71, 307, 277, 277,
737 286, 287, 277, 277, 277, 277, 277, 277,
738 277, 277, 277, 277, 277, 277, 288, 277,
739 301, 277, 353, 277, 336, 336, 43, 282,
740 283, 284, 277, 277, 277, 293, 277, 301,
741 277, 287, 277, 301, 277, 277, 277, 277,
742 277, 277, 282, 283, 284, 277, 277, 277,
743 293, 277, 301, 277, 287, 277, 301, 277,
744 277, 277, 277, 354, 277, 282, 283, 284,
745 277, 277, 277, 293, 277, 301, 277, 287,
746 277, 301, 277, 353, 277, 277, 277, 277,
747 282, 283, 284, 277, 277, 277, 293, 277,
748 301, 277, 287, 277, 301, 40, 277, 277,
749 56, 302, 277, 282, 283, 284, 277, 277,
750 277, 293, 277, 301, 277, 287, 277, 294,
751 295, 300, 300, 43, 282, 283, 284, 277,
752 277, 277, 298, 277, 277, 286, 287, 277,
753 277, 277, 277, 277, 277, 277, 277, 277,
754 277, 277, 277, 288, 277, 294, 295, 296,
755 300, 43, 282, 283, 284, 277, 277, 73,
756 298, 277, 277, 286, 287, 277, 277, 277,
757 277, 277, 277, 277, 277, 277, 277, 277,
758 277, 288, 277, 291, 277, 355, 277, 336,
759 336, 43, 282, 283, 284, 277, 277, 277,
760 293, 277, 291, 277, 287, 277, 291, 277,
761 277, 277, 277, 277, 277, 282, 283, 284,
762 277, 277, 277, 293, 277, 291, 277, 287,
763 277, 291, 277, 277, 277, 277, 356, 277,
764 282, 283, 284, 277, 277, 277, 293, 277,
765 291, 277, 287, 277, 291, 277, 355, 277,
766 277, 277, 277, 282, 283, 284, 277, 277,
767 277, 293, 277, 291, 277, 287, 277, 74,
768 42, 42, 43, 277, 277, 277, 277, 277,
769 277, 74, 277, 291, 40, 277, 277, 56,
770 292, 277, 282, 283, 284, 277, 277, 277,
771 293, 277, 291, 277, 287, 277, 278, 279,
772 290, 281, 43, 282, 283, 284, 277, 277,
773 277, 285, 277, 277, 286, 287, 277, 277,
774 277, 277, 277, 277, 277, 277, 277, 277,
775 277, 277, 288, 277, 358, 184, 359, 359,
776 81, 187, 188, 189, 357, 357, 357, 191,
777 357, 357, 194, 360, 357, 357, 357, 357,
778 357, 357, 357, 357, 357, 357, 357, 357,
779 196, 357, 184, 359, 359, 81, 187, 188,
780 189, 357, 357, 357, 191, 357, 357, 194,
781 360, 357, 357, 357, 357, 357, 357, 357,
782 357, 357, 357, 357, 357, 196, 357, 361,
783 357, 357, 357, 95, 362, 357, 187, 188,
784 189, 357, 357, 357, 363, 357, 361, 357,
785 360, 357, 364, 365, 366, 367, 81, 187,
786 188, 189, 357, 357, 112, 368, 357, 357,
787 194, 360, 357, 357, 357, 357, 357, 357,
788 357, 357, 357, 357, 357, 357, 196, 357,
789 369, 365, 370, 370, 81, 187, 188, 189,
790 357, 357, 357, 368, 357, 357, 194, 360,
791 357, 357, 357, 357, 357, 357, 357, 357,
792 357, 357, 357, 357, 196, 357, 365, 370,
793 370, 81, 187, 188, 189, 357, 357, 357,
794 368, 357, 357, 194, 360, 357, 357, 357,
795 357, 357, 357, 357, 357, 357, 357, 357,
796 357, 196, 357, 371, 357, 357, 357, 95,
797 372, 357, 187, 188, 189, 357, 357, 357,
798 363, 357, 371, 357, 360, 357, 373, 374,
799 375, 376, 81, 187, 188, 189, 357, 357,
800 110, 377, 357, 357, 194, 360, 357, 357,
801 357, 357, 357, 357, 357, 357, 357, 357,
802 357, 357, 196, 357, 378, 374, 379, 379,
803 81, 187, 188, 189, 357, 357, 357, 377,
804 357, 357, 194, 360, 357, 357, 357, 357,
805 357, 357, 357, 357, 357, 357, 357, 357,
806 196, 357, 374, 379, 379, 81, 187, 188,
807 189, 357, 357, 357, 377, 357, 357, 194,
808 360, 357, 357, 357, 357, 357, 357, 357,
809 357, 357, 357, 357, 357, 196, 357, 380,
810 357, 357, 357, 95, 381, 357, 187, 188,
811 189, 357, 357, 357, 363, 357, 380, 357,
812 360, 357, 382, 383, 384, 385, 81, 187,
813 188, 189, 357, 357, 108, 386, 357, 357,
814 194, 360, 357, 357, 357, 357, 357, 357,
815 357, 357, 357, 357, 357, 357, 196, 357,
816 387, 383, 388, 388, 81, 187, 188, 189,
817 357, 357, 357, 386, 357, 357, 194, 360,
818 357, 357, 357, 357, 357, 357, 357, 357,
819 357, 357, 357, 357, 196, 357, 383, 388,
820 388, 81, 187, 188, 189, 357, 357, 357,
821 386, 357, 357, 194, 360, 357, 357, 357,
822 357, 357, 357, 357, 357, 357, 357, 357,
823 357, 196, 357, 389, 357, 357, 357, 95,
824 390, 357, 187, 188, 189, 357, 357, 357,
825 363, 357, 389, 357, 360, 357, 391, 392,
826 393, 394, 81, 187, 188, 189, 357, 357,
827 106, 395, 357, 357, 194, 360, 357, 357,
828 357, 357, 357, 357, 357, 357, 357, 357,
829 357, 357, 196, 357, 396, 392, 397, 397,
830 81, 187, 188, 189, 357, 357, 357, 395,
831 357, 357, 194, 360, 357, 357, 357, 357,
832 357, 357, 357, 357, 357, 357, 357, 357,
833 196, 357, 392, 397, 397, 81, 187, 188,
834 189, 357, 357, 357, 395, 357, 357, 194,
835 360, 357, 357, 357, 357, 357, 357, 357,
836 357, 357, 357, 357, 357, 196, 357, 95,
837 398, 357, 187, 188, 189, 357, 357, 357,
838 363, 357, 357, 357, 360, 357, 187, 188,
839 189, 357, 357, 357, 363, 357, 357, 357,
840 360, 357, 399, 357, 357, 400, 188, 189,
841 357, 188, 189, 357, 188, 401, 357, 188,
842 357, 399, 357, 357, 357, 188, 189, 357,
843 402, 357, 403, 404, 357, 187, 188, 189,
844 357, 357, 79, 357, 357, 357, 357, 360,
845 357, 78, 357, 357, 357, 357, 187, 188,
846 189, 357, 357, 357, 357, 357, 357, 357,
847 360, 357, 187, 188, 189, 357, 357, 357,
848 357, 357, 357, 357, 360, 357, 405, 357,
849 357, 357, 357, 187, 188, 189, 357, 187,
850 188, 189, 357, 402, 357, 357, 357, 357,
851 187, 188, 189, 357, 357, 357, 357, 357,
852 357, 357, 360, 357, 402, 357, 403, 357,
853 357, 187, 188, 189, 357, 357, 79, 357,
854 357, 357, 357, 360, 357, 95, 357, 406,
855 406, 81, 187, 188, 189, 357, 357, 357,
856 363, 357, 357, 357, 360, 357, 407, 104,
857 408, 409, 85, 187, 188, 189, 357, 357,
858 357, 363, 357, 357, 357, 360, 357, 104,
859 408, 409, 85, 187, 188, 189, 357, 357,
860 357, 363, 357, 357, 357, 360, 357, 408,
861 408, 85, 187, 188, 189, 357, 357, 357,
862 363, 357, 357, 357, 360, 357, 410, 101,
863 411, 412, 88, 187, 188, 189, 357, 357,
864 357, 363, 357, 357, 357, 360, 357, 101,
865 411, 412, 88, 187, 188, 189, 357, 357,
866 357, 363, 357, 357, 357, 360, 357, 411,
867 411, 88, 187, 188, 189, 357, 357, 357,
868 363, 357, 357, 357, 360, 357, 413, 98,
869 414, 415, 91, 187, 188, 189, 357, 357,
870 357, 363, 357, 357, 357, 360, 357, 98,
871 414, 415, 91, 187, 188, 189, 357, 357,
872 357, 363, 357, 357, 357, 360, 357, 414,
873 414, 91, 187, 188, 189, 357, 357, 357,
874 363, 357, 357, 357, 360, 357, 416, 95,
875 357, 417, 357, 187, 188, 189, 357, 357,
876 357, 363, 357, 357, 357, 360, 357, 95,
877 357, 417, 357, 187, 188, 189, 357, 357,
878 357, 363, 357, 357, 357, 360, 357, 418,
879 357, 187, 188, 189, 357, 357, 357, 363,
880 357, 357, 357, 360, 357, 95, 357, 357,
881 357, 357, 187, 188, 189, 357, 357, 357,
882 363, 357, 357, 357, 360, 357, 77, 78,
883 357, 357, 95, 398, 357, 187, 188, 189,
884 357, 357, 357, 363, 357, 77, 357, 360,
885 357, 392, 397, 397, 81, 187, 188, 189,
886 357, 357, 357, 395, 357, 357, 357, 360,
887 357, 357, 357, 357, 357, 357, 357, 357,
888 357, 357, 357, 357, 196, 357, 392, 397,
889 397, 81, 187, 188, 189, 357, 357, 357,
890 395, 357, 357, 357, 360, 357, 391, 392,
891 397, 397, 81, 187, 188, 189, 357, 357,
892 357, 395, 357, 357, 194, 360, 357, 357,
893 357, 357, 357, 357, 357, 357, 357, 357,
894 357, 357, 196, 357, 391, 392, 393, 397,
895 81, 187, 188, 189, 357, 357, 106, 395,
896 357, 357, 194, 360, 357, 357, 357, 357,
897 357, 357, 357, 357, 357, 357, 357, 357,
898 196, 357, 389, 357, 419, 357, 406, 406,
899 81, 187, 188, 189, 357, 357, 357, 363,
900 357, 389, 357, 360, 357, 389, 357, 357,
901 357, 357, 357, 357, 187, 188, 189, 357,
902 357, 357, 363, 357, 389, 357, 360, 357,
903 389, 357, 357, 357, 357, 420, 357, 187,
904 188, 189, 357, 357, 357, 363, 357, 389,
905 357, 360, 357, 389, 357, 419, 357, 357,
906 357, 357, 187, 188, 189, 357, 357, 357,
907 363, 357, 389, 357, 360, 357, 389, 78,
908 357, 357, 95, 390, 357, 187, 188, 189,
909 357, 357, 357, 363, 357, 389, 357, 360,
910 357, 382, 383, 388, 388, 81, 187, 188,
911 189, 357, 357, 357, 386, 357, 357, 194,
912 360, 357, 357, 357, 357, 357, 357, 357,
913 357, 357, 357, 357, 357, 196, 357, 382,
914 383, 384, 388, 81, 187, 188, 189, 357,
915 357, 108, 386, 357, 357, 194, 360, 357,
916 357, 357, 357, 357, 357, 357, 357, 357,
917 357, 357, 357, 196, 357, 380, 357, 421,
918 357, 406, 406, 81, 187, 188, 189, 357,
919 357, 357, 363, 357, 380, 357, 360, 357,
920 380, 357, 357, 357, 357, 357, 357, 187,
921 188, 189, 357, 357, 357, 363, 357, 380,
922 357, 360, 357, 380, 357, 357, 357, 357,
923 422, 357, 187, 188, 189, 357, 357, 357,
924 363, 357, 380, 357, 360, 357, 380, 357,
925 421, 357, 357, 357, 357, 187, 188, 189,
926 357, 357, 357, 363, 357, 380, 357, 360,
927 357, 380, 78, 357, 357, 95, 381, 357,
928 187, 188, 189, 357, 357, 357, 363, 357,
929 380, 357, 360, 357, 373, 374, 379, 379,
930 81, 187, 188, 189, 357, 357, 357, 377,
931 357, 357, 194, 360, 357, 357, 357, 357,
932 357, 357, 357, 357, 357, 357, 357, 357,
933 196, 357, 373, 374, 375, 379, 81, 187,
934 188, 189, 357, 357, 110, 377, 357, 357,
935 194, 360, 357, 357, 357, 357, 357, 357,
936 357, 357, 357, 357, 357, 357, 196, 357,
937 371, 357, 423, 357, 406, 406, 81, 187,
938 188, 189, 357, 357, 357, 363, 357, 371,
939 357, 360, 357, 371, 357, 357, 357, 357,
940 357, 357, 187, 188, 189, 357, 357, 357,
941 363, 357, 371, 357, 360, 357, 371, 357,
942 357, 357, 357, 424, 357, 187, 188, 189,
943 357, 357, 357, 363, 357, 371, 357, 360,
944 357, 371, 357, 423, 357, 357, 357, 357,
945 187, 188, 189, 357, 357, 357, 363, 357,
946 371, 357, 360, 357, 371, 78, 357, 357,
947 95, 372, 357, 187, 188, 189, 357, 357,
948 357, 363, 357, 371, 357, 360, 357, 364,
949 365, 370, 370, 81, 187, 188, 189, 357,
950 357, 357, 368, 357, 357, 194, 360, 357,
951 357, 357, 357, 357, 357, 357, 357, 357,
952 357, 357, 357, 196, 357, 364, 365, 366,
953 370, 81, 187, 188, 189, 357, 357, 112,
954 368, 357, 357, 194, 360, 357, 357, 357,
955 357, 357, 357, 357, 357, 357, 357, 357,
956 357, 196, 357, 361, 357, 425, 357, 406,
957 406, 81, 187, 188, 189, 357, 357, 357,
958 363, 357, 361, 357, 360, 357, 361, 357,
959 357, 357, 357, 357, 357, 187, 188, 189,
960 357, 357, 357, 363, 357, 361, 357, 360,
961 357, 361, 357, 357, 357, 357, 426, 357,
962 187, 188, 189, 357, 357, 357, 363, 357,
963 361, 357, 360, 357, 361, 357, 425, 357,
964 357, 357, 357, 187, 188, 189, 357, 357,
965 357, 363, 357, 361, 357, 360, 357, 361,
966 78, 357, 357, 95, 362, 357, 187, 188,
967 189, 357, 357, 357, 363, 357, 361, 357,
968 360, 357, 113, 80, 80, 81, 427, 427,
969 427, 427, 427, 152, 113, 427, 183, 184,
970 359, 359, 81, 187, 188, 189, 357, 357,
971 357, 191, 357, 357, 194, 360, 357, 357,
972 357, 357, 357, 357, 357, 357, 357, 357,
973 357, 357, 196, 357, 113, 80, 80, 81,
974 427, 427, 427, 427, 427, 427, 113, 427,
975 429, 430, 431, 432, 119, 433, 434, 435,
976 428, 428, 151, 436, 428, 428, 437, 438,
977 428, 428, 428, 428, 428, 428, 428, 428,
978 428, 428, 428, 428, 439, 428, 440, 430,
979 432, 432, 119, 433, 434, 435, 428, 428,
980 428, 436, 428, 428, 437, 438, 428, 428,
981 428, 428, 428, 428, 428, 428, 428, 428,
982 428, 428, 439, 428, 430, 432, 432, 119,
983 433, 434, 435, 428, 428, 428, 436, 428,
984 428, 437, 438, 428, 428, 428, 428, 428,
985 428, 428, 428, 428, 428, 428, 428, 439,
986 428, 441, 428, 428, 428, 132, 442, 428,
987 433, 434, 435, 428, 428, 428, 443, 428,
988 441, 428, 438, 428, 444, 445, 446, 447,
989 119, 433, 434, 435, 428, 428, 149, 448,
990 428, 428, 437, 438, 428, 428, 428, 428,
991 428, 428, 428, 428, 428, 428, 428, 428,
992 439, 428, 449, 445, 450, 450, 119, 433,
993 434, 435, 428, 428, 428, 448, 428, 428,
994 437, 438, 428, 428, 428, 428, 428, 428,
995 428, 428, 428, 428, 428, 428, 439, 428,
996 445, 450, 450, 119, 433, 434, 435, 428,
997 428, 428, 448, 428, 428, 437, 438, 428,
998 428, 428, 428, 428, 428, 428, 428, 428,
999 428, 428, 428, 439, 428, 451, 428, 428,
1000 428, 132, 452, 428, 433, 434, 435, 428,
1001 428, 428, 443, 428, 451, 428, 438, 428,
1002 453, 454, 455, 456, 119, 433, 434, 435,
1003 428, 428, 147, 457, 428, 428, 437, 438,
1004 428, 428, 428, 428, 428, 428, 428, 428,
1005 428, 428, 428, 428, 439, 428, 458, 454,
1006 459, 459, 119, 433, 434, 435, 428, 428,
1007 428, 457, 428, 428, 437, 438, 428, 428,
1008 428, 428, 428, 428, 428, 428, 428, 428,
1009 428, 428, 439, 428, 454, 459, 459, 119,
1010 433, 434, 435, 428, 428, 428, 457, 428,
1011 428, 437, 438, 428, 428, 428, 428, 428,
1012 428, 428, 428, 428, 428, 428, 428, 439,
1013 428, 460, 428, 428, 428, 132, 461, 428,
1014 433, 434, 435, 428, 428, 428, 443, 428,
1015 460, 428, 438, 428, 462, 463, 464, 465,
1016 119, 433, 434, 435, 428, 428, 145, 466,
1017 428, 428, 437, 438, 428, 428, 428, 428,
1018 428, 428, 428, 428, 428, 428, 428, 428,
1019 439, 428, 467, 463, 468, 468, 119, 433,
1020 434, 435, 428, 428, 428, 466, 428, 428,
1021 437, 438, 428, 428, 428, 428, 428, 428,
1022 428, 428, 428, 428, 428, 428, 439, 428,
1023 463, 468, 468, 119, 433, 434, 435, 428,
1024 428, 428, 466, 428, 428, 437, 438, 428,
1025 428, 428, 428, 428, 428, 428, 428, 428,
1026 428, 428, 428, 439, 428, 469, 428, 428,
1027 428, 132, 470, 428, 433, 434, 435, 428,
1028 428, 428, 443, 428, 469, 428, 438, 428,
1029 471, 472, 473, 474, 119, 433, 434, 435,
1030 428, 428, 143, 475, 428, 428, 437, 438,
1031 428, 428, 428, 428, 428, 428, 428, 428,
1032 428, 428, 428, 428, 439, 428, 476, 472,
1033 477, 477, 119, 433, 434, 435, 428, 428,
1034 428, 475, 428, 428, 437, 438, 428, 428,
1035 428, 428, 428, 428, 428, 428, 428, 428,
1036 428, 428, 439, 428, 472, 477, 477, 119,
1037 433, 434, 435, 428, 428, 428, 475, 428,
1038 428, 437, 438, 428, 428, 428, 428, 428,
1039 428, 428, 428, 428, 428, 428, 428, 439,
1040 428, 132, 478, 428, 433, 434, 435, 428,
1041 428, 428, 443, 428, 428, 428, 438, 428,
1042 433, 434, 435, 428, 428, 428, 443, 428,
1043 428, 428, 438, 428, 479, 428, 428, 480,
1044 434, 435, 428, 434, 435, 428, 434, 481,
1045 428, 434, 428, 479, 428, 428, 428, 434,
1046 435, 428, 482, 428, 483, 484, 428, 433,
1047 434, 435, 428, 428, 117, 428, 428, 428,
1048 428, 438, 428, 116, 428, 428, 428, 428,
1049 433, 434, 435, 428, 428, 428, 428, 428,
1050 428, 428, 438, 428, 433, 434, 435, 428,
1051 428, 428, 428, 428, 428, 428, 438, 428,
1052 485, 428, 428, 428, 428, 433, 434, 435,
1053 428, 433, 434, 435, 428, 482, 428, 428,
1054 428, 428, 433, 434, 435, 428, 428, 428,
1055 428, 428, 428, 428, 438, 428, 482, 428,
1056 483, 428, 428, 433, 434, 435, 428, 428,
1057 117, 428, 428, 428, 428, 438, 428, 132,
1058 428, 486, 486, 119, 433, 434, 435, 428,
1059 428, 428, 443, 428, 428, 428, 438, 428,
1060 487, 141, 488, 489, 122, 433, 434, 435,
1061 428, 428, 428, 443, 428, 428, 428, 438,
1062 428, 141, 488, 489, 122, 433, 434, 435,
1063 428, 428, 428, 443, 428, 428, 428, 438,
1064 428, 488, 488, 122, 433, 434, 435, 428,
1065 428, 428, 443, 428, 428, 428, 438, 428,
1066 490, 138, 491, 492, 125, 433, 434, 435,
1067 428, 428, 428, 443, 428, 428, 428, 438,
1068 428, 138, 491, 492, 125, 433, 434, 435,
1069 428, 428, 428, 443, 428, 428, 428, 438,
1070 428, 491, 491, 125, 433, 434, 435, 428,
1071 428, 428, 443, 428, 428, 428, 438, 428,
1072 493, 135, 494, 495, 128, 433, 434, 435,
1073 428, 428, 428, 443, 428, 428, 428, 438,
1074 428, 135, 494, 495, 128, 433, 434, 435,
1075 428, 428, 428, 443, 428, 428, 428, 438,
1076 428, 494, 494, 128, 433, 434, 435, 428,
1077 428, 428, 443, 428, 428, 428, 438, 428,
1078 496, 132, 428, 497, 428, 433, 434, 435,
1079 428, 428, 428, 443, 428, 428, 428, 438,
1080 428, 132, 428, 497, 428, 433, 434, 435,
1081 428, 428, 428, 443, 428, 428, 428, 438,
1082 428, 498, 428, 433, 434, 435, 428, 428,
1083 428, 443, 428, 428, 428, 438, 428, 132,
1084 428, 428, 428, 428, 433, 434, 435, 428,
1085 428, 428, 443, 428, 428, 428, 438, 428,
1086 115, 116, 428, 428, 132, 478, 428, 433,
1087 434, 435, 428, 428, 428, 443, 428, 115,
1088 428, 438, 428, 472, 477, 477, 119, 433,
1089 434, 435, 428, 428, 428, 475, 428, 428,
1090 428, 438, 428, 428, 428, 428, 428, 428,
1091 428, 428, 428, 428, 428, 428, 439, 428,
1092 472, 477, 477, 119, 433, 434, 435, 428,
1093 428, 428, 475, 428, 428, 428, 438, 428,
1094 471, 472, 477, 477, 119, 433, 434, 435,
1095 428, 428, 428, 475, 428, 428, 437, 438,
1096 428, 428, 428, 428, 428, 428, 428, 428,
1097 428, 428, 428, 428, 439, 428, 471, 472,
1098 473, 477, 119, 433, 434, 435, 428, 428,
1099 143, 475, 428, 428, 437, 438, 428, 428,
1100 428, 428, 428, 428, 428, 428, 428, 428,
1101 428, 428, 439, 428, 469, 428, 499, 428,
1102 486, 486, 119, 433, 434, 435, 428, 428,
1103 428, 443, 428, 469, 428, 438, 428, 469,
1104 428, 428, 428, 428, 428, 428, 433, 434,
1105 435, 428, 428, 428, 443, 428, 469, 428,
1106 438, 428, 469, 428, 428, 428, 428, 500,
1107 428, 433, 434, 435, 428, 428, 428, 443,
1108 428, 469, 428, 438, 428, 469, 428, 499,
1109 428, 428, 428, 428, 433, 434, 435, 428,
1110 428, 428, 443, 428, 469, 428, 438, 428,
1111 469, 116, 428, 428, 132, 470, 428, 433,
1112 434, 435, 428, 428, 428, 443, 428, 469,
1113 428, 438, 428, 462, 463, 468, 468, 119,
1114 433, 434, 435, 428, 428, 428, 466, 428,
1115 428, 437, 438, 428, 428, 428, 428, 428,
1116 428, 428, 428, 428, 428, 428, 428, 439,
1117 428, 462, 463, 464, 468, 119, 433, 434,
1118 435, 428, 428, 145, 466, 428, 428, 437,
1119 438, 428, 428, 428, 428, 428, 428, 428,
1120 428, 428, 428, 428, 428, 439, 428, 460,
1121 428, 501, 428, 486, 486, 119, 433, 434,
1122 435, 428, 428, 428, 443, 428, 460, 428,
1123 438, 428, 460, 428, 428, 428, 428, 428,
1124 428, 433, 434, 435, 428, 428, 428, 443,
1125 428, 460, 428, 438, 428, 460, 428, 428,
1126 428, 428, 502, 428, 433, 434, 435, 428,
1127 428, 428, 443, 428, 460, 428, 438, 428,
1128 460, 428, 501, 428, 428, 428, 428, 433,
1129 434, 435, 428, 428, 428, 443, 428, 460,
1130 428, 438, 428, 460, 116, 428, 428, 132,
1131 461, 428, 433, 434, 435, 428, 428, 428,
1132 443, 428, 460, 428, 438, 428, 453, 454,
1133 459, 459, 119, 433, 434, 435, 428, 428,
1134 428, 457, 428, 428, 437, 438, 428, 428,
1135 428, 428, 428, 428, 428, 428, 428, 428,
1136 428, 428, 439, 428, 453, 454, 455, 459,
1137 119, 433, 434, 435, 428, 428, 147, 457,
1138 428, 428, 437, 438, 428, 428, 428, 428,
1139 428, 428, 428, 428, 428, 428, 428, 428,
1140 439, 428, 451, 428, 503, 428, 486, 486,
1141 119, 433, 434, 435, 428, 428, 428, 443,
1142 428, 451, 428, 438, 428, 451, 428, 428,
1143 428, 428, 428, 428, 433, 434, 435, 428,
1144 428, 428, 443, 428, 451, 428, 438, 428,
1145 451, 428, 428, 428, 428, 504, 428, 433,
1146 434, 435, 428, 428, 428, 443, 428, 451,
1147 428, 438, 428, 451, 428, 503, 428, 428,
1148 428, 428, 433, 434, 435, 428, 428, 428,
1149 443, 428, 451, 428, 438, 428, 451, 116,
1150 428, 428, 132, 452, 428, 433, 434, 435,
1151 428, 428, 428, 443, 428, 451, 428, 438,
1152 428, 444, 445, 450, 450, 119, 433, 434,
1153 435, 428, 428, 428, 448, 428, 428, 437,
1154 438, 428, 428, 428, 428, 428, 428, 428,
1155 428, 428, 428, 428, 428, 439, 428, 444,
1156 445, 446, 450, 119, 433, 434, 435, 428,
1157 428, 149, 448, 428, 428, 437, 438, 428,
1158 428, 428, 428, 428, 428, 428, 428, 428,
1159 428, 428, 428, 439, 428, 441, 428, 505,
1160 428, 486, 486, 119, 433, 434, 435, 428,
1161 428, 428, 443, 428, 441, 428, 438, 428,
1162 441, 428, 428, 428, 428, 428, 428, 433,
1163 434, 435, 428, 428, 428, 443, 428, 441,
1164 428, 438, 428, 441, 428, 428, 428, 428,
1165 506, 428, 433, 434, 435, 428, 428, 428,
1166 443, 428, 441, 428, 438, 428, 441, 428,
1167 505, 428, 428, 428, 428, 433, 434, 435,
1168 428, 428, 428, 443, 428, 441, 428, 438,
1169 428, 441, 116, 428, 428, 132, 442, 428,
1170 433, 434, 435, 428, 428, 428, 443, 428,
1171 441, 428, 438, 428, 429, 430, 432, 432,
1172 119, 433, 434, 435, 428, 428, 428, 436,
1173 428, 428, 437, 438, 428, 428, 428, 428,
1174 428, 428, 428, 428, 428, 428, 428, 428,
1175 439, 428, 181, 182, 183, 184, 507, 359,
1176 81, 187, 188, 189, 190, 190, 152, 191,
1177 357, 181, 194, 360, 357, 357, 357, 357,
1178 357, 357, 357, 357, 357, 357, 357, 357,
1179 196, 357, 198, 508, 200, 201, 5, 202,
1180 203, 204, 197, 197, 37, 205, 197, 197,
1181 206, 207, 197, 197, 197, 197, 197, 197,
1182 197, 197, 197, 197, 197, 197, 208, 197,
1183 211, 182, 183, 184, 509, 510, 81, 511,
1184 203, 512, 190, 190, 152, 513, 197, 211,
1185 194, 514, 197, 197, 197, 197, 197, 197,
1186 197, 197, 197, 197, 197, 197, 196, 197,
1187 113, 80, 80, 81, 202, 203, 204, 197,
1188 197, 152, 515, 197, 197, 197, 207, 197,
1189 516, 2, 357, 357, 357, 426, 357, 187,
1190 188, 189, 357, 357, 357, 363, 357, 516,
1191 357, 360, 357, 517, 365, 518, 519, 81,
1192 511, 203, 512, 197, 197, 153, 368, 197,
1193 197, 194, 514, 197, 197, 197, 197, 197,
1194 197, 197, 197, 197, 197, 197, 197, 196,
1195 197, 520, 365, 370, 370, 81, 511, 203,
1196 512, 197, 197, 197, 368, 197, 197, 194,
1197 514, 197, 197, 197, 197, 197, 197, 197,
1198 197, 197, 197, 197, 197, 196, 197, 365,
1199 370, 370, 81, 511, 203, 512, 197, 197,
1200 197, 368, 197, 197, 194, 514, 197, 197,
1201 197, 197, 197, 197, 197, 197, 197, 197,
1202 197, 197, 196, 197, 521, 197, 197, 522,
1203 203, 512, 197, 203, 512, 197, 203, 523,
1204 197, 203, 197, 521, 197, 197, 197, 203,
1205 512, 197, 524, 197, 197, 197, 197, 511,
1206 203, 512, 197, 511, 203, 512, 197, 517,
1207 365, 370, 370, 81, 511, 203, 512, 197,
1208 197, 197, 368, 197, 197, 194, 514, 197,
1209 197, 197, 197, 197, 197, 197, 197, 197,
1210 197, 197, 197, 196, 197, 517, 365, 518,
1211 370, 81, 511, 203, 512, 197, 197, 153,
1212 368, 197, 197, 194, 514, 197, 197, 197,
1213 197, 197, 197, 197, 197, 197, 197, 197,
1214 197, 196, 197, 211, 197, 275, 113, 525,
1215 525, 155, 202, 203, 204, 197, 197, 197,
1216 515, 197, 211, 197, 207, 197, 526, 179,
1217 527, 528, 157, 511, 203, 512, 197, 197,
1218 197, 529, 197, 197, 197, 514, 197, 179,
1219 527, 528, 157, 511, 203, 512, 197, 197,
1220 197, 529, 197, 197, 197, 514, 197, 527,
1221 527, 157, 511, 203, 512, 197, 197, 197,
1222 529, 197, 197, 197, 514, 197, 530, 176,
1223 531, 532, 160, 511, 203, 512, 197, 197,
1224 197, 529, 197, 197, 197, 514, 197, 176,
1225 531, 532, 160, 511, 203, 512, 197, 197,
1226 197, 529, 197, 197, 197, 514, 197, 531,
1227 531, 160, 511, 203, 512, 197, 197, 197,
1228 529, 197, 197, 197, 514, 197, 533, 173,
1229 534, 535, 163, 511, 203, 512, 197, 197,
1230 197, 529, 197, 197, 197, 514, 197, 173,
1231 534, 535, 163, 511, 203, 512, 197, 197,
1232 197, 529, 197, 197, 197, 514, 197, 534,
1233 534, 163, 511, 203, 512, 197, 197, 197,
1234 529, 197, 197, 197, 514, 197, 536, 170,
1235 197, 537, 197, 511, 203, 512, 197, 197,
1236 197, 529, 197, 197, 197, 514, 197, 170,
1237 197, 537, 197, 511, 203, 512, 197, 197,
1238 197, 529, 197, 197, 197, 514, 197, 511,
1239 203, 512, 197, 197, 197, 529, 197, 197,
1240 197, 514, 197, 538, 197, 539, 540, 197,
1241 511, 203, 512, 197, 197, 167, 197, 197,
1242 197, 197, 514, 197, 166, 197, 197, 197,
1243 197, 511, 203, 512, 197, 197, 197, 197,
1244 197, 197, 197, 514, 197, 511, 203, 512,
1245 197, 197, 197, 197, 197, 197, 197, 514,
1246 197, 538, 197, 197, 197, 197, 511, 203,
1247 512, 197, 197, 197, 197, 197, 197, 197,
1248 514, 197, 538, 197, 539, 197, 197, 511,
1249 203, 512, 197, 197, 167, 197, 197, 197,
1250 197, 514, 197, 516, 166, 357, 357, 95,
1251 362, 357, 187, 188, 189, 357, 357, 357,
1252 363, 357, 516, 357, 360, 357, 542, 541,
1253 541, 541, 541, 543, 544, 545, 541, 543,
1254 544, 545, 541, 546, 541, 541, 547, 544,
1255 545, 541, 544, 545, 541, 544, 548, 541,
1256 544, 541, 546, 541, 541, 541, 544, 545,
1257 541, 0
1258 };
1259
1260 static const short _indic_syllable_machine_trans_targs[] = {
1261 170, 197, 199, 202, 3, 205, 4, 6,
1262 208, 7, 9, 211, 10, 12, 214, 13,
1263 15, 16, 191, 18, 19, 213, 21, 22,
1264 210, 24, 25, 207, 216, 221, 225, 228,
1265 232, 235, 239, 242, 246, 249, 170, 277,
1266 279, 282, 39, 285, 40, 42, 288, 43,
1267 45, 291, 46, 48, 294, 49, 51, 52,
1268 271, 54, 55, 293, 57, 58, 290, 60,
1269 61, 287, 296, 301, 305, 308, 312, 315,
1270 319, 322, 326, 330, 170, 356, 358, 361,
1271 75, 364, 170, 76, 78, 367, 79, 81,
1272 370, 82, 84, 373, 85, 87, 88, 350,
1273 90, 91, 372, 93, 94, 369, 96, 97,
1274 366, 375, 380, 384, 387, 391, 394, 398,
1275 401, 405, 170, 437, 439, 442, 110, 445,
1276 111, 113, 448, 114, 116, 451, 117, 119,
1277 454, 120, 122, 123, 431, 125, 126, 453,
1278 128, 129, 450, 131, 132, 447, 456, 461,
1279 465, 468, 472, 475, 479, 482, 486, 489,
1280 409, 505, 146, 508, 148, 511, 149, 151,
1281 514, 152, 154, 517, 155, 520, 522, 523,
1282 159, 160, 519, 162, 163, 516, 165, 166,
1283 513, 168, 169, 510, 170, 171, 251, 331,
1284 333, 408, 410, 351, 170, 353, 411, 407,
1285 490, 491, 378, 526, 379, 170, 172, 174,
1286 35, 250, 192, 170, 194, 248, 219, 200,
1287 220, 173, 34, 175, 244, 0, 176, 178,
1288 33, 243, 241, 177, 32, 179, 237, 180,
1289 182, 31, 236, 234, 181, 30, 183, 230,
1290 184, 186, 29, 229, 227, 185, 28, 187,
1291 223, 188, 190, 27, 222, 218, 189, 26,
1292 204, 193, 196, 195, 198, 1, 203, 201,
1293 2, 206, 5, 23, 209, 8, 20, 212,
1294 11, 17, 215, 14, 217, 224, 226, 231,
1295 233, 238, 240, 245, 247, 170, 252, 254,
1296 71, 328, 272, 170, 274, 329, 299, 280,
1297 300, 253, 70, 255, 324, 36, 256, 258,
1298 69, 323, 321, 257, 68, 259, 317, 260,
1299 262, 67, 316, 314, 261, 66, 263, 310,
1300 264, 266, 65, 309, 307, 265, 64, 267,
1301 303, 268, 270, 63, 302, 298, 269, 62,
1302 284, 273, 276, 275, 278, 37, 283, 281,
1303 38, 286, 41, 59, 289, 44, 56, 292,
1304 47, 53, 295, 50, 297, 304, 306, 311,
1305 313, 318, 320, 325, 327, 170, 332, 106,
1306 359, 334, 403, 72, 335, 337, 105, 402,
1307 400, 336, 104, 338, 396, 339, 341, 103,
1308 395, 393, 340, 102, 342, 389, 343, 345,
1309 101, 388, 386, 344, 100, 346, 382, 347,
1310 349, 99, 381, 377, 348, 98, 363, 352,
1311 355, 354, 357, 73, 362, 360, 74, 365,
1312 77, 95, 368, 80, 92, 371, 83, 89,
1313 374, 86, 376, 383, 385, 390, 392, 397,
1314 399, 404, 406, 170, 170, 412, 414, 142,
1315 141, 432, 170, 434, 488, 459, 440, 460,
1316 413, 415, 484, 107, 416, 418, 140, 483,
1317 481, 417, 139, 419, 477, 420, 422, 138,
1318 476, 474, 421, 137, 423, 470, 424, 426,
1319 136, 469, 467, 425, 135, 427, 463, 428,
1320 430, 134, 462, 458, 429, 133, 444, 433,
1321 436, 435, 438, 108, 443, 441, 109, 446,
1322 112, 130, 449, 115, 127, 452, 118, 124,
1323 455, 121, 457, 464, 466, 471, 473, 478,
1324 480, 485, 487, 143, 492, 493, 507, 498,
1325 500, 525, 503, 494, 495, 496, 144, 506,
1326 497, 499, 502, 501, 504, 145, 509, 147,
1327 167, 156, 512, 150, 164, 515, 153, 161,
1328 518, 158, 521, 157, 524, 170, 527, 528,
1329 170, 530, 529, 532, 531
1330 };
1331
1332 static const char _indic_syllable_machine_trans_actions[] = {
1333 1, 2, 0, 0, 0, 2, 0, 0,
1334 2, 0, 0, 2, 0, 0, 2, 0,
1335 0, 0, 2, 0, 0, 2, 0, 0,
1336 2, 0, 0, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 2, 2, 3, 2,
1338 0, 0, 0, 2, 0, 0, 2, 0,
1339 0, 2, 0, 0, 2, 0, 0, 0,
1340 2, 0, 0, 2, 0, 0, 2, 0,
1341 0, 2, 2, 2, 2, 2, 2, 2,
1342 2, 2, 2, 2, 4, 2, 0, 0,
1343 0, 2, 5, 0, 0, 2, 0, 0,
1344 2, 0, 0, 2, 0, 0, 0, 2,
1345 0, 0, 2, 0, 0, 2, 0, 0,
1346 2, 2, 6, 2, 6, 2, 6, 2,
1347 6, 2, 7, 2, 0, 0, 0, 2,
1348 0, 0, 2, 0, 0, 2, 0, 0,
1349 2, 0, 0, 0, 2, 0, 0, 2,
1350 0, 0, 2, 0, 0, 2, 2, 2,
1351 2, 2, 2, 2, 2, 2, 2, 2,
1352 6, 8, 0, 2, 0, 2, 0, 0,
1353 2, 0, 0, 2, 0, 2, 0, 0,
1354 0, 0, 2, 0, 0, 2, 0, 0,
1355 2, 0, 0, 2, 11, 2, 2, 6,
1356 2, 12, 12, 0, 13, 0, 2, 2,
1357 6, 2, 6, 0, 6, 14, 2, 2,
1358 0, 2, 0, 15, 0, 2, 2, 0,
1359 2, 2, 0, 2, 2, 0, 2, 2,
1360 0, 2, 2, 2, 0, 2, 2, 2,
1361 2, 0, 2, 2, 2, 0, 2, 2,
1362 2, 2, 0, 2, 2, 2, 0, 2,
1363 2, 2, 2, 0, 2, 2, 2, 0,
1364 2, 0, 0, 0, 0, 0, 2, 0,
1365 0, 2, 0, 0, 2, 0, 0, 2,
1366 0, 0, 2, 0, 2, 2, 2, 2,
1367 2, 2, 2, 2, 2, 16, 2, 2,
1368 0, 2, 0, 17, 0, 2, 2, 0,
1369 2, 2, 0, 2, 2, 0, 2, 2,
1370 0, 2, 2, 2, 0, 2, 2, 2,
1371 2, 0, 2, 2, 2, 0, 2, 2,
1372 2, 2, 0, 2, 2, 2, 0, 2,
1373 2, 2, 2, 0, 2, 2, 2, 0,
1374 2, 0, 0, 0, 0, 0, 2, 0,
1375 0, 2, 0, 0, 2, 0, 0, 2,
1376 0, 0, 2, 0, 2, 2, 2, 2,
1377 2, 2, 2, 2, 2, 18, 6, 0,
1378 0, 6, 6, 0, 6, 2, 0, 6,
1379 2, 6, 0, 6, 6, 6, 2, 0,
1380 6, 2, 6, 0, 6, 6, 6, 2,
1381 0, 6, 2, 6, 0, 6, 6, 6,
1382 2, 0, 6, 2, 6, 0, 6, 0,
1383 0, 0, 0, 0, 2, 0, 0, 2,
1384 0, 0, 2, 0, 0, 2, 0, 0,
1385 2, 0, 2, 2, 2, 2, 2, 2,
1386 2, 2, 2, 19, 20, 2, 2, 0,
1387 0, 0, 21, 0, 2, 2, 0, 2,
1388 2, 2, 2, 0, 2, 2, 0, 2,
1389 2, 2, 0, 2, 2, 2, 2, 0,
1390 2, 2, 2, 0, 2, 2, 2, 2,
1391 0, 2, 2, 2, 0, 2, 2, 2,
1392 2, 0, 2, 2, 2, 0, 2, 0,
1393 0, 0, 0, 0, 2, 0, 0, 2,
1394 0, 0, 2, 0, 0, 2, 0, 0,
1395 2, 0, 2, 2, 2, 2, 2, 2,
1396 2, 2, 2, 0, 0, 8, 2, 0,
1397 0, 2, 0, 2, 8, 8, 0, 8,
1398 8, 0, 0, 0, 0, 0, 2, 0,
1399 0, 0, 2, 0, 0, 2, 0, 0,
1400 2, 0, 0, 0, 2, 22, 0, 0,
1401 23, 0, 0, 0, 0
1402 };
1403
1404 static const char _indic_syllable_machine_to_state_actions[] = {
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, 9, 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, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, 0, 0, 0, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0,
1455 0, 0, 0, 0, 0, 0, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0,
1457 0, 0, 0, 0, 0, 0, 0, 0,
1458 0, 0, 0, 0, 0, 0, 0, 0,
1459 0, 0, 0, 0, 0, 0, 0, 0,
1460 0, 0, 0, 0, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0,
1471 0, 0, 0, 0, 0
1472 };
1473
1474 static const char _indic_syllable_machine_from_state_actions[] = {
1475 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0,
1480 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0,
1482 0, 0, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 10, 0, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 0,
1499 0, 0, 0, 0, 0, 0, 0, 0,
1500 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 0, 0, 0, 0,
1511 0, 0, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0,
1513 0, 0, 0, 0, 0, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 0,
1515 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0,
1521 0, 0, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 0, 0, 0, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 0, 0,
1531 0, 0, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 0, 0,
1537 0, 0, 0, 0, 0, 0, 0, 0,
1538 0, 0, 0, 0, 0, 0, 0, 0,
1539 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0
1542 };
1543
1544 static const short _indic_syllable_machine_eof_trans[] = {
1545 1, 1, 1, 1, 1, 1, 1, 1,
1546 1, 1, 1, 1, 1, 1, 1, 1,
1547 1, 1, 1, 1, 1, 1, 1, 1,
1548 1, 1, 1, 1, 1, 1, 1, 1,
1549 1, 1, 1, 1, 39, 39, 39, 39,
1550 39, 39, 39, 39, 39, 39, 39, 39,
1551 39, 39, 39, 39, 39, 39, 39, 39,
1552 39, 39, 39, 39, 39, 39, 39, 39,
1553 39, 39, 39, 39, 39, 39, 39, 39,
1554 77, 77, 77, 83, 83, 77, 77, 77,
1555 77, 77, 77, 77, 77, 77, 77, 77,
1556 77, 77, 77, 77, 77, 77, 77, 77,
1557 77, 77, 77, 77, 77, 77, 77, 77,
1558 83, 77, 77, 115, 115, 115, 115, 115,
1559 115, 115, 115, 115, 115, 115, 115, 115,
1560 115, 115, 115, 115, 115, 115, 115, 115,
1561 115, 115, 115, 115, 115, 115, 115, 115,
1562 115, 115, 115, 115, 115, 115, 115, 77,
1563 1, 1, 1, 1, 1, 1, 1, 1,
1564 1, 1, 1, 1, 1, 1, 1, 1,
1565 1, 1, 1, 1, 1, 1, 1, 1,
1566 1, 1, 0, 198, 198, 198, 198, 198,
1567 198, 198, 198, 198, 198, 198, 198, 198,
1568 198, 198, 198, 198, 198, 198, 198, 198,
1569 198, 198, 198, 198, 198, 198, 198, 198,
1570 198, 198, 198, 198, 198, 198, 198, 198,
1571 198, 198, 198, 198, 198, 198, 198, 198,
1572 198, 198, 198, 198, 198, 198, 198, 198,
1573 198, 198, 198, 198, 198, 198, 198, 198,
1574 198, 198, 198, 198, 198, 198, 198, 198,
1575 198, 198, 198, 198, 198, 198, 198, 198,
1576 198, 198, 198, 278, 278, 278, 278, 278,
1577 278, 278, 278, 278, 278, 278, 278, 278,
1578 278, 278, 278, 278, 278, 278, 278, 278,
1579 278, 278, 278, 278, 278, 278, 278, 278,
1580 278, 278, 278, 278, 278, 278, 278, 278,
1581 278, 278, 278, 278, 278, 278, 278, 278,
1582 278, 278, 278, 278, 278, 278, 278, 278,
1583 278, 278, 278, 278, 278, 278, 278, 278,
1584 278, 278, 278, 278, 278, 278, 278, 278,
1585 278, 278, 278, 278, 278, 278, 278, 278,
1586 278, 278, 278, 358, 358, 358, 358, 358,
1587 358, 358, 358, 358, 358, 358, 358, 358,
1588 358, 358, 358, 358, 358, 358, 358, 358,
1589 358, 358, 358, 358, 358, 358, 358, 358,
1590 358, 358, 358, 358, 358, 358, 358, 358,
1591 358, 358, 358, 358, 358, 358, 358, 358,
1592 358, 358, 358, 358, 358, 358, 358, 358,
1593 358, 358, 358, 358, 358, 358, 358, 358,
1594 358, 358, 358, 358, 358, 358, 358, 358,
1595 358, 358, 358, 358, 358, 358, 358, 358,
1596 428, 358, 428, 429, 429, 429, 429, 429,
1597 429, 429, 429, 429, 429, 429, 429, 429,
1598 429, 429, 429, 429, 429, 429, 429, 429,
1599 429, 429, 429, 429, 429, 429, 429, 429,
1600 429, 429, 429, 429, 429, 429, 429, 429,
1601 429, 429, 429, 429, 429, 429, 429, 429,
1602 429, 429, 429, 429, 429, 429, 429, 429,
1603 429, 429, 429, 429, 429, 429, 429, 429,
1604 429, 429, 429, 429, 429, 429, 429, 429,
1605 429, 429, 429, 429, 429, 429, 429, 429,
1606 429, 429, 358, 198, 198, 198, 358, 198,
1607 198, 198, 198, 198, 198, 198, 198, 198,
1608 198, 198, 198, 198, 198, 198, 198, 198,
1609 198, 198, 198, 198, 198, 198, 198, 198,
1610 198, 198, 198, 198, 198, 358, 542, 542,
1611 542, 542, 542, 542, 542
1612 };
1613
1614 static const int indic_syllable_machine_start = 170;
1615 static const int indic_syllable_machine_first_final = 170;
1616 static const int indic_syllable_machine_error = -1;
1617
1618 static const int indic_syllable_machine_en_main = 170;
1619
1620
1621 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1622
1623
1624
1625 #line 98 "hb-ot-shape-complex-indic-machine.rl"
1626
1627
1628 #define found_syllable(syllable_type) \
1629 HB_STMT_START { \
1630 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1631 for (unsigned int i = last; i < p+1; i++) \
1632 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1633 last = p+1; \
1634 syllable_serial++; \
1635 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1636 } HB_STMT_END
1637
1638 static void
find_syllables(hb_buffer_t * buffer)1639 find_syllables (hb_buffer_t *buffer)
1640 {
1641 unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1642 int cs;
1643 hb_glyph_info_t *info = buffer->info;
1644
1645 #line 1646 "hb-ot-shape-complex-indic-machine.hh.tmp"
1646 {
1647 cs = indic_syllable_machine_start;
1648 ts = 0;
1649 te = 0;
1650 act = 0;
1651 }
1652
1653 #line 119 "hb-ot-shape-complex-indic-machine.rl"
1654
1655
1656 p = 0;
1657 pe = eof = buffer->len;
1658
1659 unsigned int last = 0;
1660 unsigned int syllable_serial = 1;
1661
1662 #line 1663 "hb-ot-shape-complex-indic-machine.hh.tmp"
1663 {
1664 int _slen;
1665 int _trans;
1666 const unsigned char *_keys;
1667 const short *_inds;
1668 if ( p == pe )
1669 goto _test_eof;
1670 _resume:
1671 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1672 case 10:
1673 #line 1 "NONE"
1674 {ts = p;}
1675 break;
1676 #line 1677 "hb-ot-shape-complex-indic-machine.hh.tmp"
1677 }
1678
1679 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1680 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1681
1682 _slen = _indic_syllable_machine_key_spans[cs];
1683 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1684 ( info[p].indic_category()) <= _keys[1] ?
1685 ( info[p].indic_category()) - _keys[0] : _slen ];
1686
1687 _eof_trans:
1688 cs = _indic_syllable_machine_trans_targs[_trans];
1689
1690 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1691 goto _again;
1692
1693 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1694 case 2:
1695 #line 1 "NONE"
1696 {te = p+1;}
1697 break;
1698 case 15:
1699 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1700 {te = p+1;{ found_syllable (consonant_syllable); }}
1701 break;
1702 case 17:
1703 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1704 {te = p+1;{ found_syllable (vowel_syllable); }}
1705 break;
1706 case 21:
1707 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1708 {te = p+1;{ found_syllable (standalone_cluster); }}
1709 break;
1710 case 23:
1711 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1712 {te = p+1;{ found_syllable (avagraha_cluster); }}
1713 break;
1714 case 13:
1715 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1716 {te = p+1;{ found_syllable (broken_cluster); }}
1717 break;
1718 case 11:
1719 #line 94 "hb-ot-shape-complex-indic-machine.rl"
1720 {te = p+1;{ found_syllable (non_indic_cluster); }}
1721 break;
1722 case 14:
1723 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1724 {te = p;p--;{ found_syllable (consonant_syllable); }}
1725 break;
1726 case 16:
1727 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1728 {te = p;p--;{ found_syllable (vowel_syllable); }}
1729 break;
1730 case 20:
1731 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1732 {te = p;p--;{ found_syllable (standalone_cluster); }}
1733 break;
1734 case 22:
1735 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1736 {te = p;p--;{ found_syllable (avagraha_cluster); }}
1737 break;
1738 case 18:
1739 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1740 {te = p;p--;{ found_syllable (broken_cluster); }}
1741 break;
1742 case 19:
1743 #line 94 "hb-ot-shape-complex-indic-machine.rl"
1744 {te = p;p--;{ found_syllable (non_indic_cluster); }}
1745 break;
1746 case 1:
1747 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1748 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1749 break;
1750 case 3:
1751 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1752 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1753 break;
1754 case 7:
1755 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1756 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1757 break;
1758 case 4:
1759 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1760 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1761 break;
1762 case 5:
1763 #line 1 "NONE"
1764 { switch( act ) {
1765 case 1:
1766 {{p = ((te))-1;} found_syllable (consonant_syllable); }
1767 break;
1768 case 5:
1769 {{p = ((te))-1;} found_syllable (broken_cluster); }
1770 break;
1771 case 6:
1772 {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1773 break;
1774 }
1775 }
1776 break;
1777 case 8:
1778 #line 1 "NONE"
1779 {te = p+1;}
1780 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1781 {act = 1;}
1782 break;
1783 case 6:
1784 #line 1 "NONE"
1785 {te = p+1;}
1786 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1787 {act = 5;}
1788 break;
1789 case 12:
1790 #line 1 "NONE"
1791 {te = p+1;}
1792 #line 94 "hb-ot-shape-complex-indic-machine.rl"
1793 {act = 6;}
1794 break;
1795 #line 1796 "hb-ot-shape-complex-indic-machine.hh.tmp"
1796 }
1797
1798 _again:
1799 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1800 case 9:
1801 #line 1 "NONE"
1802 {ts = 0;}
1803 break;
1804 #line 1805 "hb-ot-shape-complex-indic-machine.hh.tmp"
1805 }
1806
1807 if ( ++p != pe )
1808 goto _resume;
1809 _test_eof: {}
1810 if ( p == eof )
1811 {
1812 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1813 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1814 goto _eof_trans;
1815 }
1816 }
1817
1818 }
1819
1820 #line 128 "hb-ot-shape-complex-indic-machine.rl"
1821
1822 }
1823
1824 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
1825