1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,1824 @@ 1.4 + 1.5 +#line 1 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.6 +/* 1.7 + * Copyright © 2011,2012 Google, Inc. 1.8 + * 1.9 + * This is part of HarfBuzz, a text shaping library. 1.10 + * 1.11 + * Permission is hereby granted, without written agreement and without 1.12 + * license or royalty fees, to use, copy, modify, and distribute this 1.13 + * software and its documentation for any purpose, provided that the 1.14 + * above copyright notice and the following two paragraphs appear in 1.15 + * all copies of this software. 1.16 + * 1.17 + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 1.18 + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 1.19 + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 1.20 + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 1.21 + * DAMAGE. 1.22 + * 1.23 + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 1.24 + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 1.25 + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 1.26 + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 1.27 + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 1.28 + * 1.29 + * Google Author(s): Behdad Esfahbod 1.30 + */ 1.31 + 1.32 +#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH 1.33 +#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH 1.34 + 1.35 +#include "hb-private.hh" 1.36 + 1.37 + 1.38 +#line 36 "hb-ot-shape-complex-indic-machine.hh.tmp" 1.39 +static const unsigned char _indic_syllable_machine_trans_keys[] = { 1.40 + 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1.41 + 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 1.42 + 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 1.43 + 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1.44 + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 1.45 + 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 1.46 + 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 1.47 + 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 1.48 + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1.49 + 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1.50 + 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 1.51 + 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 1.52 + 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1.53 + 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 1.54 + 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 1.55 + 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 1.56 + 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 1.57 + 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1.58 + 4u, 14u, 5u, 7u, 5u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 1.59 + 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1u, 16u, 13u, 13u, 4u, 4u, 6u, 6u, 1.60 + 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 1.61 + 6u, 6u, 16u, 16u, 1u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 1.62 + 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 1.63 + 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u, 1.64 + 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u, 1.65 + 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 1.66 + 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 1.67 + 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1.68 + 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1.69 + 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1.70 + 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1.71 + 1u, 18u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 1.72 + 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 1.73 + 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u, 1.74 + 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u, 1.75 + 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 1.76 + 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 1.77 + 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1.78 + 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1.79 + 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1.80 + 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1.81 + 4u, 14u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 1.82 + 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 1.83 + 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u, 5u, 10u, 1.84 + 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u, 3u, 10u, 1.85 + 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 1.86 + 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 6u, 18u, 1.87 + 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1.88 + 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1.89 + 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1.90 + 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1.91 + 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 1.92 + 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 1.93 + 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u, 1.94 + 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u, 1.95 + 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 1.96 + 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 1.97 + 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1.98 + 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1.99 + 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1.100 + 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1.101 + 1u, 18u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 18u, 1u, 18u, 3u, 31u, 1.102 + 3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 10u, 1.103 + 8u, 10u, 3u, 31u, 3u, 31u, 1u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 1.104 + 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 8u, 18u, 1.105 + 3u, 18u, 3u, 18u, 8u, 18u, 3u, 18u, 3u, 18u, 1u, 18u, 3u, 10u, 8u, 10u, 1.106 + 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0 1.107 +}; 1.108 + 1.109 +static const char _indic_syllable_machine_key_spans[] = { 1.110 + 16, 1, 3, 3, 1, 3, 3, 1, 1.111 + 3, 3, 1, 3, 3, 1, 1, 1, 1.112 + 1, 4, 1, 1, 4, 1, 1, 4, 1.113 + 1, 1, 11, 11, 11, 11, 11, 11, 1.114 + 11, 11, 11, 11, 16, 1, 3, 3, 1.115 + 1, 3, 3, 1, 3, 3, 1, 3, 1.116 + 3, 1, 1, 1, 1, 4, 1, 1, 1.117 + 4, 1, 1, 4, 1, 1, 11, 11, 1.118 + 11, 11, 11, 11, 11, 11, 11, 11, 1.119 + 16, 1, 3, 3, 1, 3, 3, 1, 1.120 + 3, 3, 1, 3, 3, 1, 1, 1, 1.121 + 1, 4, 1, 1, 4, 1, 1, 4, 1.122 + 1, 1, 11, 11, 11, 11, 11, 11, 1.123 + 11, 11, 11, 16, 1, 3, 3, 1, 1.124 + 3, 3, 1, 3, 3, 1, 3, 3, 1.125 + 1, 1, 1, 1, 4, 1, 1, 4, 1.126 + 1, 1, 4, 1, 1, 11, 11, 11, 1.127 + 11, 11, 11, 11, 11, 11, 11, 11, 1.128 + 11, 3, 3, 3, 3, 1, 3, 3, 1.129 + 1, 3, 3, 1, 16, 1, 1, 1, 1.130 + 1, 4, 1, 1, 4, 1, 1, 4, 1.131 + 1, 1, 31, 29, 29, 28, 18, 29, 1.132 + 29, 28, 18, 29, 29, 28, 18, 29, 1.133 + 29, 28, 18, 29, 29, 28, 14, 11, 1.134 + 6, 2, 2, 1, 6, 16, 16, 11, 1.135 + 8, 3, 16, 16, 16, 16, 15, 14, 1.136 + 16, 15, 14, 16, 15, 14, 16, 15, 1.137 + 13, 16, 18, 28, 15, 29, 29, 18, 1.138 + 18, 18, 18, 18, 29, 29, 18, 18, 1.139 + 18, 18, 18, 29, 29, 18, 18, 18, 1.140 + 18, 18, 29, 29, 18, 18, 18, 18, 1.141 + 18, 29, 29, 29, 29, 28, 18, 29, 1.142 + 29, 28, 18, 29, 29, 28, 18, 29, 1.143 + 29, 28, 18, 29, 29, 28, 14, 11, 1.144 + 6, 2, 2, 1, 6, 16, 16, 11, 1.145 + 8, 3, 16, 16, 16, 16, 15, 14, 1.146 + 16, 15, 14, 16, 15, 14, 16, 15, 1.147 + 13, 16, 18, 28, 15, 29, 29, 18, 1.148 + 18, 18, 18, 18, 29, 29, 18, 18, 1.149 + 18, 18, 18, 29, 29, 18, 18, 18, 1.150 + 18, 18, 29, 29, 18, 18, 18, 18, 1.151 + 11, 18, 29, 29, 28, 18, 29, 29, 1.152 + 28, 18, 29, 29, 28, 18, 29, 29, 1.153 + 28, 18, 29, 29, 28, 14, 11, 6, 1.154 + 2, 2, 1, 6, 16, 16, 11, 8, 1.155 + 3, 16, 16, 16, 16, 15, 14, 16, 1.156 + 15, 14, 16, 15, 14, 16, 15, 13, 1.157 + 16, 18, 28, 15, 29, 29, 18, 18, 1.158 + 18, 18, 18, 29, 29, 18, 18, 18, 1.159 + 18, 18, 29, 29, 18, 18, 18, 18, 1.160 + 18, 29, 29, 18, 18, 18, 18, 18, 1.161 + 11, 29, 11, 29, 29, 28, 18, 29, 1.162 + 29, 28, 18, 29, 29, 28, 18, 29, 1.163 + 29, 28, 18, 29, 29, 28, 14, 11, 1.164 + 6, 2, 2, 1, 6, 16, 16, 11, 1.165 + 8, 3, 16, 16, 16, 16, 15, 14, 1.166 + 16, 15, 14, 16, 15, 14, 16, 15, 1.167 + 13, 16, 18, 28, 15, 29, 29, 18, 1.168 + 18, 18, 18, 18, 29, 29, 18, 18, 1.169 + 18, 18, 18, 29, 29, 18, 18, 18, 1.170 + 18, 18, 29, 29, 18, 18, 18, 18, 1.171 + 18, 29, 31, 29, 31, 15, 18, 29, 1.172 + 29, 28, 6, 2, 2, 1, 6, 8, 1.173 + 3, 29, 29, 18, 16, 15, 14, 16, 1.174 + 15, 14, 16, 15, 14, 16, 15, 11, 1.175 + 16, 16, 11, 16, 16, 18, 8, 3, 1.176 + 6, 2, 2, 1, 6 1.177 +}; 1.178 + 1.179 +static const short _indic_syllable_machine_index_offsets[] = { 1.180 + 0, 17, 19, 23, 27, 29, 33, 37, 1.181 + 39, 43, 47, 49, 53, 57, 59, 61, 1.182 + 63, 65, 70, 72, 74, 79, 81, 83, 1.183 + 88, 90, 92, 104, 116, 128, 140, 152, 1.184 + 164, 176, 188, 200, 212, 229, 231, 235, 1.185 + 239, 241, 245, 249, 251, 255, 259, 261, 1.186 + 265, 269, 271, 273, 275, 277, 282, 284, 1.187 + 286, 291, 293, 295, 300, 302, 304, 316, 1.188 + 328, 340, 352, 364, 376, 388, 400, 412, 1.189 + 424, 441, 443, 447, 451, 453, 457, 461, 1.190 + 463, 467, 471, 473, 477, 481, 483, 485, 1.191 + 487, 489, 494, 496, 498, 503, 505, 507, 1.192 + 512, 514, 516, 528, 540, 552, 564, 576, 1.193 + 588, 600, 612, 624, 641, 643, 647, 651, 1.194 + 653, 657, 661, 663, 667, 671, 673, 677, 1.195 + 681, 683, 685, 687, 689, 694, 696, 698, 1.196 + 703, 705, 707, 712, 714, 716, 728, 740, 1.197 + 752, 764, 776, 788, 800, 812, 824, 836, 1.198 + 848, 860, 864, 868, 872, 876, 878, 882, 1.199 + 886, 888, 892, 896, 898, 915, 917, 919, 1.200 + 921, 923, 928, 930, 932, 937, 939, 941, 1.201 + 946, 948, 950, 982, 1012, 1042, 1071, 1090, 1.202 + 1120, 1150, 1179, 1198, 1228, 1258, 1287, 1306, 1.203 + 1336, 1366, 1395, 1414, 1444, 1474, 1503, 1518, 1.204 + 1530, 1537, 1540, 1543, 1545, 1552, 1569, 1586, 1.205 + 1598, 1607, 1611, 1628, 1645, 1662, 1679, 1695, 1.206 + 1710, 1727, 1743, 1758, 1775, 1791, 1806, 1823, 1.207 + 1839, 1853, 1870, 1889, 1918, 1934, 1964, 1994, 1.208 + 2013, 2032, 2051, 2070, 2089, 2119, 2149, 2168, 1.209 + 2187, 2206, 2225, 2244, 2274, 2304, 2323, 2342, 1.210 + 2361, 2380, 2399, 2429, 2459, 2478, 2497, 2516, 1.211 + 2535, 2554, 2584, 2614, 2644, 2674, 2703, 2722, 1.212 + 2752, 2782, 2811, 2830, 2860, 2890, 2919, 2938, 1.213 + 2968, 2998, 3027, 3046, 3076, 3106, 3135, 3150, 1.214 + 3162, 3169, 3172, 3175, 3177, 3184, 3201, 3218, 1.215 + 3230, 3239, 3243, 3260, 3277, 3294, 3311, 3327, 1.216 + 3342, 3359, 3375, 3390, 3407, 3423, 3438, 3455, 1.217 + 3471, 3485, 3502, 3521, 3550, 3566, 3596, 3626, 1.218 + 3645, 3664, 3683, 3702, 3721, 3751, 3781, 3800, 1.219 + 3819, 3838, 3857, 3876, 3906, 3936, 3955, 3974, 1.220 + 3993, 4012, 4031, 4061, 4091, 4110, 4129, 4148, 1.221 + 4167, 4179, 4198, 4228, 4258, 4287, 4306, 4336, 1.222 + 4366, 4395, 4414, 4444, 4474, 4503, 4522, 4552, 1.223 + 4582, 4611, 4630, 4660, 4690, 4719, 4734, 4746, 1.224 + 4753, 4756, 4759, 4761, 4768, 4785, 4802, 4814, 1.225 + 4823, 4827, 4844, 4861, 4878, 4895, 4911, 4926, 1.226 + 4943, 4959, 4974, 4991, 5007, 5022, 5039, 5055, 1.227 + 5069, 5086, 5105, 5134, 5150, 5180, 5210, 5229, 1.228 + 5248, 5267, 5286, 5305, 5335, 5365, 5384, 5403, 1.229 + 5422, 5441, 5460, 5490, 5520, 5539, 5558, 5577, 1.230 + 5596, 5615, 5645, 5675, 5694, 5713, 5732, 5751, 1.231 + 5770, 5782, 5812, 5824, 5854, 5884, 5913, 5932, 1.232 + 5962, 5992, 6021, 6040, 6070, 6100, 6129, 6148, 1.233 + 6178, 6208, 6237, 6256, 6286, 6316, 6345, 6360, 1.234 + 6372, 6379, 6382, 6385, 6387, 6394, 6411, 6428, 1.235 + 6440, 6449, 6453, 6470, 6487, 6504, 6521, 6537, 1.236 + 6552, 6569, 6585, 6600, 6617, 6633, 6648, 6665, 1.237 + 6681, 6695, 6712, 6731, 6760, 6776, 6806, 6836, 1.238 + 6855, 6874, 6893, 6912, 6931, 6961, 6991, 7010, 1.239 + 7029, 7048, 7067, 7086, 7116, 7146, 7165, 7184, 1.240 + 7203, 7222, 7241, 7271, 7301, 7320, 7339, 7358, 1.241 + 7377, 7396, 7426, 7458, 7488, 7520, 7536, 7555, 1.242 + 7585, 7615, 7644, 7651, 7654, 7657, 7659, 7666, 1.243 + 7675, 7679, 7709, 7739, 7758, 7775, 7791, 7806, 1.244 + 7823, 7839, 7854, 7871, 7887, 7902, 7919, 7935, 1.245 + 7947, 7964, 7981, 7993, 8010, 8027, 8046, 8055, 1.246 + 8059, 8066, 8069, 8072, 8074 1.247 +}; 1.248 + 1.249 +static const short _indic_syllable_machine_indicies[] = { 1.250 + 1, 2, 0, 0, 0, 0, 0, 0, 1.251 + 0, 0, 0, 0, 0, 0, 0, 1, 1.252 + 0, 3, 0, 4, 4, 5, 0, 6, 1.253 + 6, 5, 0, 5, 0, 7, 7, 8, 1.254 + 0, 9, 9, 8, 0, 8, 0, 10, 1.255 + 10, 11, 0, 12, 12, 11, 0, 11, 1.256 + 0, 13, 13, 14, 0, 15, 15, 14, 1.257 + 0, 14, 0, 16, 0, 17, 0, 18, 1.258 + 0, 19, 13, 13, 14, 0, 20, 0, 1.259 + 21, 0, 22, 10, 10, 11, 0, 23, 1.260 + 0, 24, 0, 25, 7, 7, 8, 0, 1.261 + 26, 0, 27, 0, 28, 4, 4, 5, 1.262 + 0, 0, 0, 0, 0, 0, 28, 0, 1.263 + 28, 4, 4, 5, 0, 0, 0, 0, 1.264 + 0, 29, 28, 0, 30, 4, 4, 5, 1.265 + 0, 0, 0, 0, 0, 0, 30, 0, 1.266 + 30, 4, 4, 5, 0, 0, 0, 0, 1.267 + 0, 31, 30, 0, 32, 4, 4, 5, 1.268 + 0, 0, 0, 0, 0, 0, 32, 0, 1.269 + 32, 4, 4, 5, 0, 0, 0, 0, 1.270 + 0, 33, 32, 0, 34, 4, 4, 5, 1.271 + 0, 0, 0, 0, 0, 0, 34, 0, 1.272 + 34, 4, 4, 5, 0, 0, 0, 0, 1.273 + 0, 35, 34, 0, 36, 4, 4, 5, 1.274 + 0, 0, 0, 0, 0, 0, 36, 0, 1.275 + 36, 4, 4, 5, 0, 0, 0, 0, 1.276 + 0, 37, 36, 0, 39, 40, 38, 38, 1.277 + 38, 38, 38, 38, 38, 38, 38, 38, 1.278 + 38, 38, 38, 39, 38, 41, 38, 42, 1.279 + 42, 43, 38, 44, 44, 43, 38, 43, 1.280 + 38, 45, 45, 46, 38, 47, 47, 46, 1.281 + 38, 46, 38, 48, 48, 49, 38, 50, 1.282 + 50, 49, 38, 49, 38, 51, 51, 52, 1.283 + 38, 53, 53, 52, 38, 52, 38, 54, 1.284 + 38, 55, 38, 56, 38, 57, 51, 51, 1.285 + 52, 38, 58, 38, 59, 38, 60, 48, 1.286 + 48, 49, 38, 61, 38, 62, 38, 63, 1.287 + 45, 45, 46, 38, 64, 38, 65, 38, 1.288 + 66, 42, 42, 43, 38, 38, 38, 38, 1.289 + 38, 38, 66, 38, 66, 42, 42, 43, 1.290 + 38, 38, 38, 38, 38, 67, 66, 38, 1.291 + 68, 42, 42, 43, 38, 38, 38, 38, 1.292 + 38, 38, 68, 38, 68, 42, 42, 43, 1.293 + 38, 38, 38, 38, 38, 69, 68, 38, 1.294 + 70, 42, 42, 43, 38, 38, 38, 38, 1.295 + 38, 38, 70, 38, 70, 42, 42, 43, 1.296 + 38, 38, 38, 38, 38, 71, 70, 38, 1.297 + 72, 42, 42, 43, 38, 38, 38, 38, 1.298 + 38, 38, 72, 38, 72, 42, 42, 43, 1.299 + 38, 38, 38, 38, 38, 73, 72, 38, 1.300 + 74, 42, 42, 43, 38, 38, 38, 38, 1.301 + 38, 38, 74, 38, 74, 42, 42, 43, 1.302 + 38, 38, 38, 38, 38, 75, 74, 38, 1.303 + 77, 78, 76, 76, 76, 76, 76, 76, 1.304 + 76, 76, 76, 76, 76, 76, 76, 77, 1.305 + 76, 79, 76, 80, 80, 81, 76, 83, 1.306 + 83, 81, 82, 81, 82, 84, 84, 85, 1.307 + 76, 86, 86, 85, 76, 85, 76, 87, 1.308 + 87, 88, 76, 89, 89, 88, 76, 88, 1.309 + 76, 90, 90, 91, 76, 92, 92, 91, 1.310 + 76, 91, 76, 93, 76, 94, 76, 95, 1.311 + 76, 96, 90, 90, 91, 76, 97, 76, 1.312 + 98, 76, 99, 87, 87, 88, 76, 100, 1.313 + 76, 101, 76, 102, 84, 84, 85, 76, 1.314 + 103, 76, 104, 76, 105, 80, 80, 81, 1.315 + 76, 76, 76, 76, 76, 76, 105, 76, 1.316 + 105, 80, 80, 81, 76, 76, 76, 76, 1.317 + 76, 106, 105, 76, 107, 80, 80, 81, 1.318 + 76, 76, 76, 76, 76, 76, 107, 76, 1.319 + 107, 80, 80, 81, 76, 76, 76, 76, 1.320 + 76, 108, 107, 76, 109, 80, 80, 81, 1.321 + 76, 76, 76, 76, 76, 76, 109, 76, 1.322 + 109, 80, 80, 81, 76, 76, 76, 76, 1.323 + 76, 110, 109, 76, 111, 80, 80, 81, 1.324 + 82, 82, 82, 82, 82, 82, 111, 82, 1.325 + 111, 80, 80, 81, 76, 76, 76, 76, 1.326 + 76, 112, 111, 76, 113, 80, 80, 81, 1.327 + 76, 76, 76, 76, 76, 76, 113, 76, 1.328 + 115, 116, 114, 114, 114, 114, 114, 114, 1.329 + 114, 114, 114, 114, 114, 114, 114, 115, 1.330 + 114, 117, 114, 118, 118, 119, 114, 120, 1.331 + 120, 119, 114, 119, 114, 121, 121, 122, 1.332 + 114, 123, 123, 122, 114, 122, 114, 124, 1.333 + 124, 125, 114, 126, 126, 125, 114, 125, 1.334 + 114, 127, 127, 128, 114, 129, 129, 128, 1.335 + 114, 128, 114, 130, 114, 131, 114, 132, 1.336 + 114, 133, 127, 127, 128, 114, 134, 114, 1.337 + 135, 114, 136, 124, 124, 125, 114, 137, 1.338 + 114, 138, 114, 139, 121, 121, 122, 114, 1.339 + 140, 114, 141, 114, 142, 118, 118, 119, 1.340 + 114, 114, 114, 114, 114, 114, 142, 114, 1.341 + 142, 118, 118, 119, 114, 114, 114, 114, 1.342 + 114, 143, 142, 114, 144, 118, 118, 119, 1.343 + 114, 114, 114, 114, 114, 114, 144, 114, 1.344 + 144, 118, 118, 119, 114, 114, 114, 114, 1.345 + 114, 145, 144, 114, 146, 118, 118, 119, 1.346 + 114, 114, 114, 114, 114, 114, 146, 114, 1.347 + 146, 118, 118, 119, 114, 114, 114, 114, 1.348 + 114, 147, 146, 114, 148, 118, 118, 119, 1.349 + 114, 114, 114, 114, 114, 114, 148, 114, 1.350 + 148, 118, 118, 119, 114, 114, 114, 114, 1.351 + 114, 149, 148, 114, 150, 118, 118, 119, 1.352 + 114, 114, 114, 114, 114, 114, 150, 114, 1.353 + 150, 118, 118, 119, 114, 114, 114, 114, 1.354 + 114, 151, 150, 114, 113, 80, 80, 81, 1.355 + 76, 76, 76, 76, 76, 152, 113, 76, 1.356 + 111, 80, 80, 81, 0, 0, 0, 0, 1.357 + 0, 153, 111, 0, 154, 154, 155, 0, 1.358 + 6, 6, 155, 0, 156, 156, 157, 0, 1.359 + 158, 158, 157, 0, 157, 0, 159, 159, 1.360 + 160, 0, 161, 161, 160, 0, 160, 0, 1.361 + 162, 162, 163, 0, 164, 164, 163, 0, 1.362 + 163, 0, 165, 166, 0, 0, 0, 0, 1.363 + 0, 0, 0, 0, 0, 0, 0, 0, 1.364 + 0, 165, 0, 167, 0, 168, 0, 169, 1.365 + 0, 170, 0, 171, 162, 162, 163, 0, 1.366 + 172, 0, 173, 0, 174, 159, 159, 160, 1.367 + 0, 175, 0, 176, 0, 177, 156, 156, 1.368 + 157, 0, 178, 0, 179, 0, 181, 182, 1.369 + 183, 184, 185, 186, 81, 187, 188, 189, 1.370 + 190, 190, 152, 191, 192, 193, 194, 195, 1.371 + 180, 180, 180, 180, 180, 180, 180, 180, 1.372 + 180, 180, 180, 180, 196, 180, 198, 199, 1.373 + 200, 201, 5, 202, 203, 204, 197, 197, 1.374 + 37, 205, 197, 197, 206, 207, 197, 197, 1.375 + 197, 197, 197, 197, 197, 197, 197, 197, 1.376 + 197, 197, 208, 197, 209, 199, 210, 210, 1.377 + 5, 202, 203, 204, 197, 197, 197, 205, 1.378 + 197, 197, 206, 207, 197, 197, 197, 197, 1.379 + 197, 197, 197, 197, 197, 197, 197, 197, 1.380 + 208, 197, 199, 210, 210, 5, 202, 203, 1.381 + 204, 197, 197, 197, 205, 197, 197, 206, 1.382 + 207, 197, 197, 197, 197, 197, 197, 197, 1.383 + 197, 197, 197, 197, 197, 208, 197, 211, 1.384 + 197, 197, 197, 18, 212, 197, 202, 203, 1.385 + 204, 197, 197, 197, 213, 197, 211, 197, 1.386 + 207, 197, 214, 215, 216, 217, 5, 202, 1.387 + 203, 204, 197, 197, 35, 218, 197, 197, 1.388 + 206, 207, 197, 197, 197, 197, 197, 197, 1.389 + 197, 197, 197, 197, 197, 197, 208, 197, 1.390 + 219, 215, 220, 220, 5, 202, 203, 204, 1.391 + 197, 197, 197, 218, 197, 197, 206, 207, 1.392 + 197, 197, 197, 197, 197, 197, 197, 197, 1.393 + 197, 197, 197, 197, 208, 197, 215, 220, 1.394 + 220, 5, 202, 203, 204, 197, 197, 197, 1.395 + 218, 197, 197, 206, 207, 197, 197, 197, 1.396 + 197, 197, 197, 197, 197, 197, 197, 197, 1.397 + 197, 208, 197, 221, 197, 197, 197, 18, 1.398 + 222, 197, 202, 203, 204, 197, 197, 197, 1.399 + 213, 197, 221, 197, 207, 197, 223, 224, 1.400 + 225, 226, 5, 202, 203, 204, 197, 197, 1.401 + 33, 227, 197, 197, 206, 207, 197, 197, 1.402 + 197, 197, 197, 197, 197, 197, 197, 197, 1.403 + 197, 197, 208, 197, 228, 224, 229, 229, 1.404 + 5, 202, 203, 204, 197, 197, 197, 227, 1.405 + 197, 197, 206, 207, 197, 197, 197, 197, 1.406 + 197, 197, 197, 197, 197, 197, 197, 197, 1.407 + 208, 197, 224, 229, 229, 5, 202, 203, 1.408 + 204, 197, 197, 197, 227, 197, 197, 206, 1.409 + 207, 197, 197, 197, 197, 197, 197, 197, 1.410 + 197, 197, 197, 197, 197, 208, 197, 230, 1.411 + 197, 197, 197, 18, 231, 197, 202, 203, 1.412 + 204, 197, 197, 197, 213, 197, 230, 197, 1.413 + 207, 197, 232, 233, 234, 235, 5, 202, 1.414 + 203, 204, 197, 197, 31, 236, 197, 197, 1.415 + 206, 207, 197, 197, 197, 197, 197, 197, 1.416 + 197, 197, 197, 197, 197, 197, 208, 197, 1.417 + 237, 233, 238, 238, 5, 202, 203, 204, 1.418 + 197, 197, 197, 236, 197, 197, 206, 207, 1.419 + 197, 197, 197, 197, 197, 197, 197, 197, 1.420 + 197, 197, 197, 197, 208, 197, 233, 238, 1.421 + 238, 5, 202, 203, 204, 197, 197, 197, 1.422 + 236, 197, 197, 206, 207, 197, 197, 197, 1.423 + 197, 197, 197, 197, 197, 197, 197, 197, 1.424 + 197, 208, 197, 239, 197, 197, 197, 18, 1.425 + 240, 197, 202, 203, 204, 197, 197, 197, 1.426 + 213, 197, 239, 197, 207, 197, 241, 242, 1.427 + 243, 244, 5, 202, 203, 204, 197, 197, 1.428 + 29, 245, 197, 197, 206, 207, 197, 197, 1.429 + 197, 197, 197, 197, 197, 197, 197, 197, 1.430 + 197, 197, 208, 197, 246, 242, 247, 247, 1.431 + 5, 202, 203, 204, 197, 197, 197, 245, 1.432 + 197, 197, 206, 207, 197, 197, 197, 197, 1.433 + 197, 197, 197, 197, 197, 197, 197, 197, 1.434 + 208, 197, 242, 247, 247, 5, 202, 203, 1.435 + 204, 197, 197, 197, 245, 197, 197, 206, 1.436 + 207, 197, 197, 197, 197, 197, 197, 197, 1.437 + 197, 197, 197, 197, 197, 208, 197, 18, 1.438 + 248, 197, 202, 203, 204, 197, 197, 197, 1.439 + 213, 197, 197, 197, 207, 197, 202, 203, 1.440 + 204, 197, 197, 197, 213, 197, 197, 197, 1.441 + 207, 197, 249, 197, 197, 250, 203, 204, 1.442 + 197, 203, 204, 197, 203, 251, 197, 203, 1.443 + 197, 249, 197, 197, 197, 203, 204, 197, 1.444 + 252, 197, 253, 254, 197, 202, 203, 204, 1.445 + 197, 197, 3, 197, 197, 197, 197, 207, 1.446 + 197, 2, 197, 197, 197, 197, 202, 203, 1.447 + 204, 197, 197, 197, 197, 197, 197, 197, 1.448 + 207, 197, 202, 203, 204, 197, 197, 197, 1.449 + 197, 197, 197, 197, 207, 197, 255, 197, 1.450 + 197, 197, 197, 202, 203, 204, 197, 202, 1.451 + 203, 204, 197, 252, 197, 197, 197, 197, 1.452 + 202, 203, 204, 197, 197, 197, 197, 197, 1.453 + 197, 197, 207, 197, 252, 197, 253, 197, 1.454 + 197, 202, 203, 204, 197, 197, 3, 197, 1.455 + 197, 197, 197, 207, 197, 18, 197, 256, 1.456 + 256, 5, 202, 203, 204, 197, 197, 197, 1.457 + 213, 197, 197, 197, 207, 197, 257, 27, 1.458 + 258, 259, 8, 202, 203, 204, 197, 197, 1.459 + 197, 213, 197, 197, 197, 207, 197, 27, 1.460 + 258, 259, 8, 202, 203, 204, 197, 197, 1.461 + 197, 213, 197, 197, 197, 207, 197, 258, 1.462 + 258, 8, 202, 203, 204, 197, 197, 197, 1.463 + 213, 197, 197, 197, 207, 197, 260, 24, 1.464 + 261, 262, 11, 202, 203, 204, 197, 197, 1.465 + 197, 213, 197, 197, 197, 207, 197, 24, 1.466 + 261, 262, 11, 202, 203, 204, 197, 197, 1.467 + 197, 213, 197, 197, 197, 207, 197, 261, 1.468 + 261, 11, 202, 203, 204, 197, 197, 197, 1.469 + 213, 197, 197, 197, 207, 197, 263, 21, 1.470 + 264, 265, 14, 202, 203, 204, 197, 197, 1.471 + 197, 213, 197, 197, 197, 207, 197, 21, 1.472 + 264, 265, 14, 202, 203, 204, 197, 197, 1.473 + 197, 213, 197, 197, 197, 207, 197, 264, 1.474 + 264, 14, 202, 203, 204, 197, 197, 197, 1.475 + 213, 197, 197, 197, 207, 197, 266, 18, 1.476 + 197, 267, 197, 202, 203, 204, 197, 197, 1.477 + 197, 213, 197, 197, 197, 207, 197, 18, 1.478 + 197, 267, 197, 202, 203, 204, 197, 197, 1.479 + 197, 213, 197, 197, 197, 207, 197, 268, 1.480 + 197, 202, 203, 204, 197, 197, 197, 213, 1.481 + 197, 197, 197, 207, 197, 18, 197, 197, 1.482 + 197, 197, 202, 203, 204, 197, 197, 197, 1.483 + 213, 197, 197, 197, 207, 197, 1, 2, 1.484 + 197, 197, 18, 248, 197, 202, 203, 204, 1.485 + 197, 197, 197, 213, 197, 1, 197, 207, 1.486 + 197, 242, 247, 247, 5, 202, 203, 204, 1.487 + 197, 197, 197, 245, 197, 197, 197, 207, 1.488 + 197, 197, 197, 197, 197, 197, 197, 197, 1.489 + 197, 197, 197, 197, 208, 197, 242, 247, 1.490 + 247, 5, 202, 203, 204, 197, 197, 197, 1.491 + 245, 197, 197, 197, 207, 197, 241, 242, 1.492 + 247, 247, 5, 202, 203, 204, 197, 197, 1.493 + 197, 245, 197, 197, 206, 207, 197, 197, 1.494 + 197, 197, 197, 197, 197, 197, 197, 197, 1.495 + 197, 197, 208, 197, 241, 242, 243, 247, 1.496 + 5, 202, 203, 204, 197, 197, 29, 245, 1.497 + 197, 197, 206, 207, 197, 197, 197, 197, 1.498 + 197, 197, 197, 197, 197, 197, 197, 197, 1.499 + 208, 197, 239, 197, 269, 197, 256, 256, 1.500 + 5, 202, 203, 204, 197, 197, 197, 213, 1.501 + 197, 239, 197, 207, 197, 239, 197, 197, 1.502 + 197, 197, 197, 197, 202, 203, 204, 197, 1.503 + 197, 197, 213, 197, 239, 197, 207, 197, 1.504 + 239, 197, 197, 197, 197, 270, 197, 202, 1.505 + 203, 204, 197, 197, 197, 213, 197, 239, 1.506 + 197, 207, 197, 239, 197, 269, 197, 197, 1.507 + 197, 197, 202, 203, 204, 197, 197, 197, 1.508 + 213, 197, 239, 197, 207, 197, 239, 2, 1.509 + 197, 197, 18, 240, 197, 202, 203, 204, 1.510 + 197, 197, 197, 213, 197, 239, 197, 207, 1.511 + 197, 232, 233, 238, 238, 5, 202, 203, 1.512 + 204, 197, 197, 197, 236, 197, 197, 206, 1.513 + 207, 197, 197, 197, 197, 197, 197, 197, 1.514 + 197, 197, 197, 197, 197, 208, 197, 232, 1.515 + 233, 234, 238, 5, 202, 203, 204, 197, 1.516 + 197, 31, 236, 197, 197, 206, 207, 197, 1.517 + 197, 197, 197, 197, 197, 197, 197, 197, 1.518 + 197, 197, 197, 208, 197, 230, 197, 271, 1.519 + 197, 256, 256, 5, 202, 203, 204, 197, 1.520 + 197, 197, 213, 197, 230, 197, 207, 197, 1.521 + 230, 197, 197, 197, 197, 197, 197, 202, 1.522 + 203, 204, 197, 197, 197, 213, 197, 230, 1.523 + 197, 207, 197, 230, 197, 197, 197, 197, 1.524 + 272, 197, 202, 203, 204, 197, 197, 197, 1.525 + 213, 197, 230, 197, 207, 197, 230, 197, 1.526 + 271, 197, 197, 197, 197, 202, 203, 204, 1.527 + 197, 197, 197, 213, 197, 230, 197, 207, 1.528 + 197, 230, 2, 197, 197, 18, 231, 197, 1.529 + 202, 203, 204, 197, 197, 197, 213, 197, 1.530 + 230, 197, 207, 197, 223, 224, 229, 229, 1.531 + 5, 202, 203, 204, 197, 197, 197, 227, 1.532 + 197, 197, 206, 207, 197, 197, 197, 197, 1.533 + 197, 197, 197, 197, 197, 197, 197, 197, 1.534 + 208, 197, 223, 224, 225, 229, 5, 202, 1.535 + 203, 204, 197, 197, 33, 227, 197, 197, 1.536 + 206, 207, 197, 197, 197, 197, 197, 197, 1.537 + 197, 197, 197, 197, 197, 197, 208, 197, 1.538 + 221, 197, 273, 197, 256, 256, 5, 202, 1.539 + 203, 204, 197, 197, 197, 213, 197, 221, 1.540 + 197, 207, 197, 221, 197, 197, 197, 197, 1.541 + 197, 197, 202, 203, 204, 197, 197, 197, 1.542 + 213, 197, 221, 197, 207, 197, 221, 197, 1.543 + 197, 197, 197, 274, 197, 202, 203, 204, 1.544 + 197, 197, 197, 213, 197, 221, 197, 207, 1.545 + 197, 221, 197, 273, 197, 197, 197, 197, 1.546 + 202, 203, 204, 197, 197, 197, 213, 197, 1.547 + 221, 197, 207, 197, 221, 2, 197, 197, 1.548 + 18, 222, 197, 202, 203, 204, 197, 197, 1.549 + 197, 213, 197, 221, 197, 207, 197, 214, 1.550 + 215, 220, 220, 5, 202, 203, 204, 197, 1.551 + 197, 197, 218, 197, 197, 206, 207, 197, 1.552 + 197, 197, 197, 197, 197, 197, 197, 197, 1.553 + 197, 197, 197, 208, 197, 214, 215, 216, 1.554 + 220, 5, 202, 203, 204, 197, 197, 35, 1.555 + 218, 197, 197, 206, 207, 197, 197, 197, 1.556 + 197, 197, 197, 197, 197, 197, 197, 197, 1.557 + 197, 208, 197, 211, 197, 275, 197, 256, 1.558 + 256, 5, 202, 203, 204, 197, 197, 197, 1.559 + 213, 197, 211, 197, 207, 197, 211, 197, 1.560 + 197, 197, 197, 197, 197, 202, 203, 204, 1.561 + 197, 197, 197, 213, 197, 211, 197, 207, 1.562 + 197, 211, 197, 197, 197, 197, 276, 197, 1.563 + 202, 203, 204, 197, 197, 197, 213, 197, 1.564 + 211, 197, 207, 197, 211, 197, 275, 197, 1.565 + 197, 197, 197, 202, 203, 204, 197, 197, 1.566 + 197, 213, 197, 211, 197, 207, 197, 211, 1.567 + 2, 197, 197, 18, 212, 197, 202, 203, 1.568 + 204, 197, 197, 197, 213, 197, 211, 197, 1.569 + 207, 197, 198, 199, 210, 210, 5, 202, 1.570 + 203, 204, 197, 197, 197, 205, 197, 197, 1.571 + 206, 207, 197, 197, 197, 197, 197, 197, 1.572 + 197, 197, 197, 197, 197, 197, 208, 197, 1.573 + 198, 199, 200, 210, 5, 202, 203, 204, 1.574 + 197, 197, 37, 205, 197, 197, 206, 207, 1.575 + 197, 197, 197, 197, 197, 197, 197, 197, 1.576 + 197, 197, 197, 197, 208, 197, 278, 279, 1.577 + 280, 281, 43, 282, 283, 284, 277, 277, 1.578 + 75, 285, 277, 277, 286, 287, 277, 277, 1.579 + 277, 277, 277, 277, 277, 277, 277, 277, 1.580 + 277, 277, 288, 277, 289, 279, 290, 281, 1.581 + 43, 282, 283, 284, 277, 277, 277, 285, 1.582 + 277, 277, 286, 287, 277, 277, 277, 277, 1.583 + 277, 277, 277, 277, 277, 277, 277, 277, 1.584 + 288, 277, 279, 290, 281, 43, 282, 283, 1.585 + 284, 277, 277, 277, 285, 277, 277, 286, 1.586 + 287, 277, 277, 277, 277, 277, 277, 277, 1.587 + 277, 277, 277, 277, 277, 288, 277, 291, 1.588 + 277, 277, 277, 56, 292, 277, 282, 283, 1.589 + 284, 277, 277, 277, 293, 277, 291, 277, 1.590 + 287, 277, 294, 295, 296, 297, 43, 282, 1.591 + 283, 284, 277, 277, 73, 298, 277, 277, 1.592 + 286, 287, 277, 277, 277, 277, 277, 277, 1.593 + 277, 277, 277, 277, 277, 277, 288, 277, 1.594 + 299, 295, 300, 300, 43, 282, 283, 284, 1.595 + 277, 277, 277, 298, 277, 277, 286, 287, 1.596 + 277, 277, 277, 277, 277, 277, 277, 277, 1.597 + 277, 277, 277, 277, 288, 277, 295, 300, 1.598 + 300, 43, 282, 283, 284, 277, 277, 277, 1.599 + 298, 277, 277, 286, 287, 277, 277, 277, 1.600 + 277, 277, 277, 277, 277, 277, 277, 277, 1.601 + 277, 288, 277, 301, 277, 277, 277, 56, 1.602 + 302, 277, 282, 283, 284, 277, 277, 277, 1.603 + 293, 277, 301, 277, 287, 277, 303, 304, 1.604 + 305, 306, 43, 282, 283, 284, 277, 277, 1.605 + 71, 307, 277, 277, 286, 287, 277, 277, 1.606 + 277, 277, 277, 277, 277, 277, 277, 277, 1.607 + 277, 277, 288, 277, 308, 304, 309, 309, 1.608 + 43, 282, 283, 284, 277, 277, 277, 307, 1.609 + 277, 277, 286, 287, 277, 277, 277, 277, 1.610 + 277, 277, 277, 277, 277, 277, 277, 277, 1.611 + 288, 277, 304, 309, 309, 43, 282, 283, 1.612 + 284, 277, 277, 277, 307, 277, 277, 286, 1.613 + 287, 277, 277, 277, 277, 277, 277, 277, 1.614 + 277, 277, 277, 277, 277, 288, 277, 310, 1.615 + 277, 277, 277, 56, 311, 277, 282, 283, 1.616 + 284, 277, 277, 277, 293, 277, 310, 277, 1.617 + 287, 277, 312, 313, 314, 315, 43, 282, 1.618 + 283, 284, 277, 277, 69, 316, 277, 277, 1.619 + 286, 287, 277, 277, 277, 277, 277, 277, 1.620 + 277, 277, 277, 277, 277, 277, 288, 277, 1.621 + 317, 313, 318, 318, 43, 282, 283, 284, 1.622 + 277, 277, 277, 316, 277, 277, 286, 287, 1.623 + 277, 277, 277, 277, 277, 277, 277, 277, 1.624 + 277, 277, 277, 277, 288, 277, 313, 318, 1.625 + 318, 43, 282, 283, 284, 277, 277, 277, 1.626 + 316, 277, 277, 286, 287, 277, 277, 277, 1.627 + 277, 277, 277, 277, 277, 277, 277, 277, 1.628 + 277, 288, 277, 319, 277, 277, 277, 56, 1.629 + 320, 277, 282, 283, 284, 277, 277, 277, 1.630 + 293, 277, 319, 277, 287, 277, 321, 322, 1.631 + 323, 324, 43, 282, 283, 284, 277, 277, 1.632 + 67, 325, 277, 277, 286, 287, 277, 277, 1.633 + 277, 277, 277, 277, 277, 277, 277, 277, 1.634 + 277, 277, 288, 277, 326, 322, 327, 327, 1.635 + 43, 282, 283, 284, 277, 277, 277, 325, 1.636 + 277, 277, 286, 287, 277, 277, 277, 277, 1.637 + 277, 277, 277, 277, 277, 277, 277, 277, 1.638 + 288, 277, 322, 327, 327, 43, 282, 283, 1.639 + 284, 277, 277, 277, 325, 277, 277, 286, 1.640 + 287, 277, 277, 277, 277, 277, 277, 277, 1.641 + 277, 277, 277, 277, 277, 288, 277, 56, 1.642 + 328, 277, 282, 283, 284, 277, 277, 277, 1.643 + 293, 277, 277, 277, 287, 277, 282, 283, 1.644 + 284, 277, 277, 277, 293, 277, 277, 277, 1.645 + 287, 277, 329, 277, 277, 330, 283, 284, 1.646 + 277, 283, 284, 277, 283, 331, 277, 283, 1.647 + 277, 329, 277, 277, 277, 283, 284, 277, 1.648 + 332, 277, 333, 334, 277, 282, 283, 284, 1.649 + 277, 277, 41, 277, 277, 277, 277, 287, 1.650 + 277, 40, 277, 277, 277, 277, 282, 283, 1.651 + 284, 277, 277, 277, 277, 277, 277, 277, 1.652 + 287, 277, 282, 283, 284, 277, 277, 277, 1.653 + 277, 277, 277, 277, 287, 277, 335, 277, 1.654 + 277, 277, 277, 282, 283, 284, 277, 282, 1.655 + 283, 284, 277, 332, 277, 277, 277, 277, 1.656 + 282, 283, 284, 277, 277, 277, 277, 277, 1.657 + 277, 277, 287, 277, 332, 277, 333, 277, 1.658 + 277, 282, 283, 284, 277, 277, 41, 277, 1.659 + 277, 277, 277, 287, 277, 56, 277, 336, 1.660 + 336, 43, 282, 283, 284, 277, 277, 277, 1.661 + 293, 277, 277, 277, 287, 277, 337, 65, 1.662 + 338, 339, 46, 282, 283, 284, 277, 277, 1.663 + 277, 293, 277, 277, 277, 287, 277, 65, 1.664 + 338, 339, 46, 282, 283, 284, 277, 277, 1.665 + 277, 293, 277, 277, 277, 287, 277, 338, 1.666 + 338, 46, 282, 283, 284, 277, 277, 277, 1.667 + 293, 277, 277, 277, 287, 277, 340, 62, 1.668 + 341, 342, 49, 282, 283, 284, 277, 277, 1.669 + 277, 293, 277, 277, 277, 287, 277, 62, 1.670 + 341, 342, 49, 282, 283, 284, 277, 277, 1.671 + 277, 293, 277, 277, 277, 287, 277, 341, 1.672 + 341, 49, 282, 283, 284, 277, 277, 277, 1.673 + 293, 277, 277, 277, 287, 277, 343, 59, 1.674 + 344, 345, 52, 282, 283, 284, 277, 277, 1.675 + 277, 293, 277, 277, 277, 287, 277, 59, 1.676 + 344, 345, 52, 282, 283, 284, 277, 277, 1.677 + 277, 293, 277, 277, 277, 287, 277, 344, 1.678 + 344, 52, 282, 283, 284, 277, 277, 277, 1.679 + 293, 277, 277, 277, 287, 277, 346, 56, 1.680 + 277, 347, 277, 282, 283, 284, 277, 277, 1.681 + 277, 293, 277, 277, 277, 287, 277, 56, 1.682 + 277, 347, 277, 282, 283, 284, 277, 277, 1.683 + 277, 293, 277, 277, 277, 287, 277, 348, 1.684 + 277, 282, 283, 284, 277, 277, 277, 293, 1.685 + 277, 277, 277, 287, 277, 56, 277, 277, 1.686 + 277, 277, 282, 283, 284, 277, 277, 277, 1.687 + 293, 277, 277, 277, 287, 277, 39, 40, 1.688 + 277, 277, 56, 328, 277, 282, 283, 284, 1.689 + 277, 277, 277, 293, 277, 39, 277, 287, 1.690 + 277, 322, 327, 327, 43, 282, 283, 284, 1.691 + 277, 277, 277, 325, 277, 277, 277, 287, 1.692 + 277, 277, 277, 277, 277, 277, 277, 277, 1.693 + 277, 277, 277, 277, 288, 277, 322, 327, 1.694 + 327, 43, 282, 283, 284, 277, 277, 277, 1.695 + 325, 277, 277, 277, 287, 277, 321, 322, 1.696 + 327, 327, 43, 282, 283, 284, 277, 277, 1.697 + 277, 325, 277, 277, 286, 287, 277, 277, 1.698 + 277, 277, 277, 277, 277, 277, 277, 277, 1.699 + 277, 277, 288, 277, 321, 322, 323, 327, 1.700 + 43, 282, 283, 284, 277, 277, 67, 325, 1.701 + 277, 277, 286, 287, 277, 277, 277, 277, 1.702 + 277, 277, 277, 277, 277, 277, 277, 277, 1.703 + 288, 277, 319, 277, 349, 277, 336, 336, 1.704 + 43, 282, 283, 284, 277, 277, 277, 293, 1.705 + 277, 319, 277, 287, 277, 319, 277, 277, 1.706 + 277, 277, 277, 277, 282, 283, 284, 277, 1.707 + 277, 277, 293, 277, 319, 277, 287, 277, 1.708 + 319, 277, 277, 277, 277, 350, 277, 282, 1.709 + 283, 284, 277, 277, 277, 293, 277, 319, 1.710 + 277, 287, 277, 319, 277, 349, 277, 277, 1.711 + 277, 277, 282, 283, 284, 277, 277, 277, 1.712 + 293, 277, 319, 277, 287, 277, 319, 40, 1.713 + 277, 277, 56, 320, 277, 282, 283, 284, 1.714 + 277, 277, 277, 293, 277, 319, 277, 287, 1.715 + 277, 312, 313, 318, 318, 43, 282, 283, 1.716 + 284, 277, 277, 277, 316, 277, 277, 286, 1.717 + 287, 277, 277, 277, 277, 277, 277, 277, 1.718 + 277, 277, 277, 277, 277, 288, 277, 312, 1.719 + 313, 314, 318, 43, 282, 283, 284, 277, 1.720 + 277, 69, 316, 277, 277, 286, 287, 277, 1.721 + 277, 277, 277, 277, 277, 277, 277, 277, 1.722 + 277, 277, 277, 288, 277, 310, 277, 351, 1.723 + 277, 336, 336, 43, 282, 283, 284, 277, 1.724 + 277, 277, 293, 277, 310, 277, 287, 277, 1.725 + 310, 277, 277, 277, 277, 277, 277, 282, 1.726 + 283, 284, 277, 277, 277, 293, 277, 310, 1.727 + 277, 287, 277, 310, 277, 277, 277, 277, 1.728 + 352, 277, 282, 283, 284, 277, 277, 277, 1.729 + 293, 277, 310, 277, 287, 277, 310, 277, 1.730 + 351, 277, 277, 277, 277, 282, 283, 284, 1.731 + 277, 277, 277, 293, 277, 310, 277, 287, 1.732 + 277, 310, 40, 277, 277, 56, 311, 277, 1.733 + 282, 283, 284, 277, 277, 277, 293, 277, 1.734 + 310, 277, 287, 277, 303, 304, 309, 309, 1.735 + 43, 282, 283, 284, 277, 277, 277, 307, 1.736 + 277, 277, 286, 287, 277, 277, 277, 277, 1.737 + 277, 277, 277, 277, 277, 277, 277, 277, 1.738 + 288, 277, 303, 304, 305, 309, 43, 282, 1.739 + 283, 284, 277, 277, 71, 307, 277, 277, 1.740 + 286, 287, 277, 277, 277, 277, 277, 277, 1.741 + 277, 277, 277, 277, 277, 277, 288, 277, 1.742 + 301, 277, 353, 277, 336, 336, 43, 282, 1.743 + 283, 284, 277, 277, 277, 293, 277, 301, 1.744 + 277, 287, 277, 301, 277, 277, 277, 277, 1.745 + 277, 277, 282, 283, 284, 277, 277, 277, 1.746 + 293, 277, 301, 277, 287, 277, 301, 277, 1.747 + 277, 277, 277, 354, 277, 282, 283, 284, 1.748 + 277, 277, 277, 293, 277, 301, 277, 287, 1.749 + 277, 301, 277, 353, 277, 277, 277, 277, 1.750 + 282, 283, 284, 277, 277, 277, 293, 277, 1.751 + 301, 277, 287, 277, 301, 40, 277, 277, 1.752 + 56, 302, 277, 282, 283, 284, 277, 277, 1.753 + 277, 293, 277, 301, 277, 287, 277, 294, 1.754 + 295, 300, 300, 43, 282, 283, 284, 277, 1.755 + 277, 277, 298, 277, 277, 286, 287, 277, 1.756 + 277, 277, 277, 277, 277, 277, 277, 277, 1.757 + 277, 277, 277, 288, 277, 294, 295, 296, 1.758 + 300, 43, 282, 283, 284, 277, 277, 73, 1.759 + 298, 277, 277, 286, 287, 277, 277, 277, 1.760 + 277, 277, 277, 277, 277, 277, 277, 277, 1.761 + 277, 288, 277, 291, 277, 355, 277, 336, 1.762 + 336, 43, 282, 283, 284, 277, 277, 277, 1.763 + 293, 277, 291, 277, 287, 277, 291, 277, 1.764 + 277, 277, 277, 277, 277, 282, 283, 284, 1.765 + 277, 277, 277, 293, 277, 291, 277, 287, 1.766 + 277, 291, 277, 277, 277, 277, 356, 277, 1.767 + 282, 283, 284, 277, 277, 277, 293, 277, 1.768 + 291, 277, 287, 277, 291, 277, 355, 277, 1.769 + 277, 277, 277, 282, 283, 284, 277, 277, 1.770 + 277, 293, 277, 291, 277, 287, 277, 74, 1.771 + 42, 42, 43, 277, 277, 277, 277, 277, 1.772 + 277, 74, 277, 291, 40, 277, 277, 56, 1.773 + 292, 277, 282, 283, 284, 277, 277, 277, 1.774 + 293, 277, 291, 277, 287, 277, 278, 279, 1.775 + 290, 281, 43, 282, 283, 284, 277, 277, 1.776 + 277, 285, 277, 277, 286, 287, 277, 277, 1.777 + 277, 277, 277, 277, 277, 277, 277, 277, 1.778 + 277, 277, 288, 277, 358, 184, 359, 359, 1.779 + 81, 187, 188, 189, 357, 357, 357, 191, 1.780 + 357, 357, 194, 360, 357, 357, 357, 357, 1.781 + 357, 357, 357, 357, 357, 357, 357, 357, 1.782 + 196, 357, 184, 359, 359, 81, 187, 188, 1.783 + 189, 357, 357, 357, 191, 357, 357, 194, 1.784 + 360, 357, 357, 357, 357, 357, 357, 357, 1.785 + 357, 357, 357, 357, 357, 196, 357, 361, 1.786 + 357, 357, 357, 95, 362, 357, 187, 188, 1.787 + 189, 357, 357, 357, 363, 357, 361, 357, 1.788 + 360, 357, 364, 365, 366, 367, 81, 187, 1.789 + 188, 189, 357, 357, 112, 368, 357, 357, 1.790 + 194, 360, 357, 357, 357, 357, 357, 357, 1.791 + 357, 357, 357, 357, 357, 357, 196, 357, 1.792 + 369, 365, 370, 370, 81, 187, 188, 189, 1.793 + 357, 357, 357, 368, 357, 357, 194, 360, 1.794 + 357, 357, 357, 357, 357, 357, 357, 357, 1.795 + 357, 357, 357, 357, 196, 357, 365, 370, 1.796 + 370, 81, 187, 188, 189, 357, 357, 357, 1.797 + 368, 357, 357, 194, 360, 357, 357, 357, 1.798 + 357, 357, 357, 357, 357, 357, 357, 357, 1.799 + 357, 196, 357, 371, 357, 357, 357, 95, 1.800 + 372, 357, 187, 188, 189, 357, 357, 357, 1.801 + 363, 357, 371, 357, 360, 357, 373, 374, 1.802 + 375, 376, 81, 187, 188, 189, 357, 357, 1.803 + 110, 377, 357, 357, 194, 360, 357, 357, 1.804 + 357, 357, 357, 357, 357, 357, 357, 357, 1.805 + 357, 357, 196, 357, 378, 374, 379, 379, 1.806 + 81, 187, 188, 189, 357, 357, 357, 377, 1.807 + 357, 357, 194, 360, 357, 357, 357, 357, 1.808 + 357, 357, 357, 357, 357, 357, 357, 357, 1.809 + 196, 357, 374, 379, 379, 81, 187, 188, 1.810 + 189, 357, 357, 357, 377, 357, 357, 194, 1.811 + 360, 357, 357, 357, 357, 357, 357, 357, 1.812 + 357, 357, 357, 357, 357, 196, 357, 380, 1.813 + 357, 357, 357, 95, 381, 357, 187, 188, 1.814 + 189, 357, 357, 357, 363, 357, 380, 357, 1.815 + 360, 357, 382, 383, 384, 385, 81, 187, 1.816 + 188, 189, 357, 357, 108, 386, 357, 357, 1.817 + 194, 360, 357, 357, 357, 357, 357, 357, 1.818 + 357, 357, 357, 357, 357, 357, 196, 357, 1.819 + 387, 383, 388, 388, 81, 187, 188, 189, 1.820 + 357, 357, 357, 386, 357, 357, 194, 360, 1.821 + 357, 357, 357, 357, 357, 357, 357, 357, 1.822 + 357, 357, 357, 357, 196, 357, 383, 388, 1.823 + 388, 81, 187, 188, 189, 357, 357, 357, 1.824 + 386, 357, 357, 194, 360, 357, 357, 357, 1.825 + 357, 357, 357, 357, 357, 357, 357, 357, 1.826 + 357, 196, 357, 389, 357, 357, 357, 95, 1.827 + 390, 357, 187, 188, 189, 357, 357, 357, 1.828 + 363, 357, 389, 357, 360, 357, 391, 392, 1.829 + 393, 394, 81, 187, 188, 189, 357, 357, 1.830 + 106, 395, 357, 357, 194, 360, 357, 357, 1.831 + 357, 357, 357, 357, 357, 357, 357, 357, 1.832 + 357, 357, 196, 357, 396, 392, 397, 397, 1.833 + 81, 187, 188, 189, 357, 357, 357, 395, 1.834 + 357, 357, 194, 360, 357, 357, 357, 357, 1.835 + 357, 357, 357, 357, 357, 357, 357, 357, 1.836 + 196, 357, 392, 397, 397, 81, 187, 188, 1.837 + 189, 357, 357, 357, 395, 357, 357, 194, 1.838 + 360, 357, 357, 357, 357, 357, 357, 357, 1.839 + 357, 357, 357, 357, 357, 196, 357, 95, 1.840 + 398, 357, 187, 188, 189, 357, 357, 357, 1.841 + 363, 357, 357, 357, 360, 357, 187, 188, 1.842 + 189, 357, 357, 357, 363, 357, 357, 357, 1.843 + 360, 357, 399, 357, 357, 400, 188, 189, 1.844 + 357, 188, 189, 357, 188, 401, 357, 188, 1.845 + 357, 399, 357, 357, 357, 188, 189, 357, 1.846 + 402, 357, 403, 404, 357, 187, 188, 189, 1.847 + 357, 357, 79, 357, 357, 357, 357, 360, 1.848 + 357, 78, 357, 357, 357, 357, 187, 188, 1.849 + 189, 357, 357, 357, 357, 357, 357, 357, 1.850 + 360, 357, 187, 188, 189, 357, 357, 357, 1.851 + 357, 357, 357, 357, 360, 357, 405, 357, 1.852 + 357, 357, 357, 187, 188, 189, 357, 187, 1.853 + 188, 189, 357, 402, 357, 357, 357, 357, 1.854 + 187, 188, 189, 357, 357, 357, 357, 357, 1.855 + 357, 357, 360, 357, 402, 357, 403, 357, 1.856 + 357, 187, 188, 189, 357, 357, 79, 357, 1.857 + 357, 357, 357, 360, 357, 95, 357, 406, 1.858 + 406, 81, 187, 188, 189, 357, 357, 357, 1.859 + 363, 357, 357, 357, 360, 357, 407, 104, 1.860 + 408, 409, 85, 187, 188, 189, 357, 357, 1.861 + 357, 363, 357, 357, 357, 360, 357, 104, 1.862 + 408, 409, 85, 187, 188, 189, 357, 357, 1.863 + 357, 363, 357, 357, 357, 360, 357, 408, 1.864 + 408, 85, 187, 188, 189, 357, 357, 357, 1.865 + 363, 357, 357, 357, 360, 357, 410, 101, 1.866 + 411, 412, 88, 187, 188, 189, 357, 357, 1.867 + 357, 363, 357, 357, 357, 360, 357, 101, 1.868 + 411, 412, 88, 187, 188, 189, 357, 357, 1.869 + 357, 363, 357, 357, 357, 360, 357, 411, 1.870 + 411, 88, 187, 188, 189, 357, 357, 357, 1.871 + 363, 357, 357, 357, 360, 357, 413, 98, 1.872 + 414, 415, 91, 187, 188, 189, 357, 357, 1.873 + 357, 363, 357, 357, 357, 360, 357, 98, 1.874 + 414, 415, 91, 187, 188, 189, 357, 357, 1.875 + 357, 363, 357, 357, 357, 360, 357, 414, 1.876 + 414, 91, 187, 188, 189, 357, 357, 357, 1.877 + 363, 357, 357, 357, 360, 357, 416, 95, 1.878 + 357, 417, 357, 187, 188, 189, 357, 357, 1.879 + 357, 363, 357, 357, 357, 360, 357, 95, 1.880 + 357, 417, 357, 187, 188, 189, 357, 357, 1.881 + 357, 363, 357, 357, 357, 360, 357, 418, 1.882 + 357, 187, 188, 189, 357, 357, 357, 363, 1.883 + 357, 357, 357, 360, 357, 95, 357, 357, 1.884 + 357, 357, 187, 188, 189, 357, 357, 357, 1.885 + 363, 357, 357, 357, 360, 357, 77, 78, 1.886 + 357, 357, 95, 398, 357, 187, 188, 189, 1.887 + 357, 357, 357, 363, 357, 77, 357, 360, 1.888 + 357, 392, 397, 397, 81, 187, 188, 189, 1.889 + 357, 357, 357, 395, 357, 357, 357, 360, 1.890 + 357, 357, 357, 357, 357, 357, 357, 357, 1.891 + 357, 357, 357, 357, 196, 357, 392, 397, 1.892 + 397, 81, 187, 188, 189, 357, 357, 357, 1.893 + 395, 357, 357, 357, 360, 357, 391, 392, 1.894 + 397, 397, 81, 187, 188, 189, 357, 357, 1.895 + 357, 395, 357, 357, 194, 360, 357, 357, 1.896 + 357, 357, 357, 357, 357, 357, 357, 357, 1.897 + 357, 357, 196, 357, 391, 392, 393, 397, 1.898 + 81, 187, 188, 189, 357, 357, 106, 395, 1.899 + 357, 357, 194, 360, 357, 357, 357, 357, 1.900 + 357, 357, 357, 357, 357, 357, 357, 357, 1.901 + 196, 357, 389, 357, 419, 357, 406, 406, 1.902 + 81, 187, 188, 189, 357, 357, 357, 363, 1.903 + 357, 389, 357, 360, 357, 389, 357, 357, 1.904 + 357, 357, 357, 357, 187, 188, 189, 357, 1.905 + 357, 357, 363, 357, 389, 357, 360, 357, 1.906 + 389, 357, 357, 357, 357, 420, 357, 187, 1.907 + 188, 189, 357, 357, 357, 363, 357, 389, 1.908 + 357, 360, 357, 389, 357, 419, 357, 357, 1.909 + 357, 357, 187, 188, 189, 357, 357, 357, 1.910 + 363, 357, 389, 357, 360, 357, 389, 78, 1.911 + 357, 357, 95, 390, 357, 187, 188, 189, 1.912 + 357, 357, 357, 363, 357, 389, 357, 360, 1.913 + 357, 382, 383, 388, 388, 81, 187, 188, 1.914 + 189, 357, 357, 357, 386, 357, 357, 194, 1.915 + 360, 357, 357, 357, 357, 357, 357, 357, 1.916 + 357, 357, 357, 357, 357, 196, 357, 382, 1.917 + 383, 384, 388, 81, 187, 188, 189, 357, 1.918 + 357, 108, 386, 357, 357, 194, 360, 357, 1.919 + 357, 357, 357, 357, 357, 357, 357, 357, 1.920 + 357, 357, 357, 196, 357, 380, 357, 421, 1.921 + 357, 406, 406, 81, 187, 188, 189, 357, 1.922 + 357, 357, 363, 357, 380, 357, 360, 357, 1.923 + 380, 357, 357, 357, 357, 357, 357, 187, 1.924 + 188, 189, 357, 357, 357, 363, 357, 380, 1.925 + 357, 360, 357, 380, 357, 357, 357, 357, 1.926 + 422, 357, 187, 188, 189, 357, 357, 357, 1.927 + 363, 357, 380, 357, 360, 357, 380, 357, 1.928 + 421, 357, 357, 357, 357, 187, 188, 189, 1.929 + 357, 357, 357, 363, 357, 380, 357, 360, 1.930 + 357, 380, 78, 357, 357, 95, 381, 357, 1.931 + 187, 188, 189, 357, 357, 357, 363, 357, 1.932 + 380, 357, 360, 357, 373, 374, 379, 379, 1.933 + 81, 187, 188, 189, 357, 357, 357, 377, 1.934 + 357, 357, 194, 360, 357, 357, 357, 357, 1.935 + 357, 357, 357, 357, 357, 357, 357, 357, 1.936 + 196, 357, 373, 374, 375, 379, 81, 187, 1.937 + 188, 189, 357, 357, 110, 377, 357, 357, 1.938 + 194, 360, 357, 357, 357, 357, 357, 357, 1.939 + 357, 357, 357, 357, 357, 357, 196, 357, 1.940 + 371, 357, 423, 357, 406, 406, 81, 187, 1.941 + 188, 189, 357, 357, 357, 363, 357, 371, 1.942 + 357, 360, 357, 371, 357, 357, 357, 357, 1.943 + 357, 357, 187, 188, 189, 357, 357, 357, 1.944 + 363, 357, 371, 357, 360, 357, 371, 357, 1.945 + 357, 357, 357, 424, 357, 187, 188, 189, 1.946 + 357, 357, 357, 363, 357, 371, 357, 360, 1.947 + 357, 371, 357, 423, 357, 357, 357, 357, 1.948 + 187, 188, 189, 357, 357, 357, 363, 357, 1.949 + 371, 357, 360, 357, 371, 78, 357, 357, 1.950 + 95, 372, 357, 187, 188, 189, 357, 357, 1.951 + 357, 363, 357, 371, 357, 360, 357, 364, 1.952 + 365, 370, 370, 81, 187, 188, 189, 357, 1.953 + 357, 357, 368, 357, 357, 194, 360, 357, 1.954 + 357, 357, 357, 357, 357, 357, 357, 357, 1.955 + 357, 357, 357, 196, 357, 364, 365, 366, 1.956 + 370, 81, 187, 188, 189, 357, 357, 112, 1.957 + 368, 357, 357, 194, 360, 357, 357, 357, 1.958 + 357, 357, 357, 357, 357, 357, 357, 357, 1.959 + 357, 196, 357, 361, 357, 425, 357, 406, 1.960 + 406, 81, 187, 188, 189, 357, 357, 357, 1.961 + 363, 357, 361, 357, 360, 357, 361, 357, 1.962 + 357, 357, 357, 357, 357, 187, 188, 189, 1.963 + 357, 357, 357, 363, 357, 361, 357, 360, 1.964 + 357, 361, 357, 357, 357, 357, 426, 357, 1.965 + 187, 188, 189, 357, 357, 357, 363, 357, 1.966 + 361, 357, 360, 357, 361, 357, 425, 357, 1.967 + 357, 357, 357, 187, 188, 189, 357, 357, 1.968 + 357, 363, 357, 361, 357, 360, 357, 361, 1.969 + 78, 357, 357, 95, 362, 357, 187, 188, 1.970 + 189, 357, 357, 357, 363, 357, 361, 357, 1.971 + 360, 357, 113, 80, 80, 81, 427, 427, 1.972 + 427, 427, 427, 152, 113, 427, 183, 184, 1.973 + 359, 359, 81, 187, 188, 189, 357, 357, 1.974 + 357, 191, 357, 357, 194, 360, 357, 357, 1.975 + 357, 357, 357, 357, 357, 357, 357, 357, 1.976 + 357, 357, 196, 357, 113, 80, 80, 81, 1.977 + 427, 427, 427, 427, 427, 427, 113, 427, 1.978 + 429, 430, 431, 432, 119, 433, 434, 435, 1.979 + 428, 428, 151, 436, 428, 428, 437, 438, 1.980 + 428, 428, 428, 428, 428, 428, 428, 428, 1.981 + 428, 428, 428, 428, 439, 428, 440, 430, 1.982 + 432, 432, 119, 433, 434, 435, 428, 428, 1.983 + 428, 436, 428, 428, 437, 438, 428, 428, 1.984 + 428, 428, 428, 428, 428, 428, 428, 428, 1.985 + 428, 428, 439, 428, 430, 432, 432, 119, 1.986 + 433, 434, 435, 428, 428, 428, 436, 428, 1.987 + 428, 437, 438, 428, 428, 428, 428, 428, 1.988 + 428, 428, 428, 428, 428, 428, 428, 439, 1.989 + 428, 441, 428, 428, 428, 132, 442, 428, 1.990 + 433, 434, 435, 428, 428, 428, 443, 428, 1.991 + 441, 428, 438, 428, 444, 445, 446, 447, 1.992 + 119, 433, 434, 435, 428, 428, 149, 448, 1.993 + 428, 428, 437, 438, 428, 428, 428, 428, 1.994 + 428, 428, 428, 428, 428, 428, 428, 428, 1.995 + 439, 428, 449, 445, 450, 450, 119, 433, 1.996 + 434, 435, 428, 428, 428, 448, 428, 428, 1.997 + 437, 438, 428, 428, 428, 428, 428, 428, 1.998 + 428, 428, 428, 428, 428, 428, 439, 428, 1.999 + 445, 450, 450, 119, 433, 434, 435, 428, 1.1000 + 428, 428, 448, 428, 428, 437, 438, 428, 1.1001 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1002 + 428, 428, 428, 439, 428, 451, 428, 428, 1.1003 + 428, 132, 452, 428, 433, 434, 435, 428, 1.1004 + 428, 428, 443, 428, 451, 428, 438, 428, 1.1005 + 453, 454, 455, 456, 119, 433, 434, 435, 1.1006 + 428, 428, 147, 457, 428, 428, 437, 438, 1.1007 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1008 + 428, 428, 428, 428, 439, 428, 458, 454, 1.1009 + 459, 459, 119, 433, 434, 435, 428, 428, 1.1010 + 428, 457, 428, 428, 437, 438, 428, 428, 1.1011 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1012 + 428, 428, 439, 428, 454, 459, 459, 119, 1.1013 + 433, 434, 435, 428, 428, 428, 457, 428, 1.1014 + 428, 437, 438, 428, 428, 428, 428, 428, 1.1015 + 428, 428, 428, 428, 428, 428, 428, 439, 1.1016 + 428, 460, 428, 428, 428, 132, 461, 428, 1.1017 + 433, 434, 435, 428, 428, 428, 443, 428, 1.1018 + 460, 428, 438, 428, 462, 463, 464, 465, 1.1019 + 119, 433, 434, 435, 428, 428, 145, 466, 1.1020 + 428, 428, 437, 438, 428, 428, 428, 428, 1.1021 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1022 + 439, 428, 467, 463, 468, 468, 119, 433, 1.1023 + 434, 435, 428, 428, 428, 466, 428, 428, 1.1024 + 437, 438, 428, 428, 428, 428, 428, 428, 1.1025 + 428, 428, 428, 428, 428, 428, 439, 428, 1.1026 + 463, 468, 468, 119, 433, 434, 435, 428, 1.1027 + 428, 428, 466, 428, 428, 437, 438, 428, 1.1028 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1029 + 428, 428, 428, 439, 428, 469, 428, 428, 1.1030 + 428, 132, 470, 428, 433, 434, 435, 428, 1.1031 + 428, 428, 443, 428, 469, 428, 438, 428, 1.1032 + 471, 472, 473, 474, 119, 433, 434, 435, 1.1033 + 428, 428, 143, 475, 428, 428, 437, 438, 1.1034 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1035 + 428, 428, 428, 428, 439, 428, 476, 472, 1.1036 + 477, 477, 119, 433, 434, 435, 428, 428, 1.1037 + 428, 475, 428, 428, 437, 438, 428, 428, 1.1038 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1039 + 428, 428, 439, 428, 472, 477, 477, 119, 1.1040 + 433, 434, 435, 428, 428, 428, 475, 428, 1.1041 + 428, 437, 438, 428, 428, 428, 428, 428, 1.1042 + 428, 428, 428, 428, 428, 428, 428, 439, 1.1043 + 428, 132, 478, 428, 433, 434, 435, 428, 1.1044 + 428, 428, 443, 428, 428, 428, 438, 428, 1.1045 + 433, 434, 435, 428, 428, 428, 443, 428, 1.1046 + 428, 428, 438, 428, 479, 428, 428, 480, 1.1047 + 434, 435, 428, 434, 435, 428, 434, 481, 1.1048 + 428, 434, 428, 479, 428, 428, 428, 434, 1.1049 + 435, 428, 482, 428, 483, 484, 428, 433, 1.1050 + 434, 435, 428, 428, 117, 428, 428, 428, 1.1051 + 428, 438, 428, 116, 428, 428, 428, 428, 1.1052 + 433, 434, 435, 428, 428, 428, 428, 428, 1.1053 + 428, 428, 438, 428, 433, 434, 435, 428, 1.1054 + 428, 428, 428, 428, 428, 428, 438, 428, 1.1055 + 485, 428, 428, 428, 428, 433, 434, 435, 1.1056 + 428, 433, 434, 435, 428, 482, 428, 428, 1.1057 + 428, 428, 433, 434, 435, 428, 428, 428, 1.1058 + 428, 428, 428, 428, 438, 428, 482, 428, 1.1059 + 483, 428, 428, 433, 434, 435, 428, 428, 1.1060 + 117, 428, 428, 428, 428, 438, 428, 132, 1.1061 + 428, 486, 486, 119, 433, 434, 435, 428, 1.1062 + 428, 428, 443, 428, 428, 428, 438, 428, 1.1063 + 487, 141, 488, 489, 122, 433, 434, 435, 1.1064 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1065 + 428, 141, 488, 489, 122, 433, 434, 435, 1.1066 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1067 + 428, 488, 488, 122, 433, 434, 435, 428, 1.1068 + 428, 428, 443, 428, 428, 428, 438, 428, 1.1069 + 490, 138, 491, 492, 125, 433, 434, 435, 1.1070 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1071 + 428, 138, 491, 492, 125, 433, 434, 435, 1.1072 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1073 + 428, 491, 491, 125, 433, 434, 435, 428, 1.1074 + 428, 428, 443, 428, 428, 428, 438, 428, 1.1075 + 493, 135, 494, 495, 128, 433, 434, 435, 1.1076 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1077 + 428, 135, 494, 495, 128, 433, 434, 435, 1.1078 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1079 + 428, 494, 494, 128, 433, 434, 435, 428, 1.1080 + 428, 428, 443, 428, 428, 428, 438, 428, 1.1081 + 496, 132, 428, 497, 428, 433, 434, 435, 1.1082 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1083 + 428, 132, 428, 497, 428, 433, 434, 435, 1.1084 + 428, 428, 428, 443, 428, 428, 428, 438, 1.1085 + 428, 498, 428, 433, 434, 435, 428, 428, 1.1086 + 428, 443, 428, 428, 428, 438, 428, 132, 1.1087 + 428, 428, 428, 428, 433, 434, 435, 428, 1.1088 + 428, 428, 443, 428, 428, 428, 438, 428, 1.1089 + 115, 116, 428, 428, 132, 478, 428, 433, 1.1090 + 434, 435, 428, 428, 428, 443, 428, 115, 1.1091 + 428, 438, 428, 472, 477, 477, 119, 433, 1.1092 + 434, 435, 428, 428, 428, 475, 428, 428, 1.1093 + 428, 438, 428, 428, 428, 428, 428, 428, 1.1094 + 428, 428, 428, 428, 428, 428, 439, 428, 1.1095 + 472, 477, 477, 119, 433, 434, 435, 428, 1.1096 + 428, 428, 475, 428, 428, 428, 438, 428, 1.1097 + 471, 472, 477, 477, 119, 433, 434, 435, 1.1098 + 428, 428, 428, 475, 428, 428, 437, 438, 1.1099 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1100 + 428, 428, 428, 428, 439, 428, 471, 472, 1.1101 + 473, 477, 119, 433, 434, 435, 428, 428, 1.1102 + 143, 475, 428, 428, 437, 438, 428, 428, 1.1103 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1104 + 428, 428, 439, 428, 469, 428, 499, 428, 1.1105 + 486, 486, 119, 433, 434, 435, 428, 428, 1.1106 + 428, 443, 428, 469, 428, 438, 428, 469, 1.1107 + 428, 428, 428, 428, 428, 428, 433, 434, 1.1108 + 435, 428, 428, 428, 443, 428, 469, 428, 1.1109 + 438, 428, 469, 428, 428, 428, 428, 500, 1.1110 + 428, 433, 434, 435, 428, 428, 428, 443, 1.1111 + 428, 469, 428, 438, 428, 469, 428, 499, 1.1112 + 428, 428, 428, 428, 433, 434, 435, 428, 1.1113 + 428, 428, 443, 428, 469, 428, 438, 428, 1.1114 + 469, 116, 428, 428, 132, 470, 428, 433, 1.1115 + 434, 435, 428, 428, 428, 443, 428, 469, 1.1116 + 428, 438, 428, 462, 463, 468, 468, 119, 1.1117 + 433, 434, 435, 428, 428, 428, 466, 428, 1.1118 + 428, 437, 438, 428, 428, 428, 428, 428, 1.1119 + 428, 428, 428, 428, 428, 428, 428, 439, 1.1120 + 428, 462, 463, 464, 468, 119, 433, 434, 1.1121 + 435, 428, 428, 145, 466, 428, 428, 437, 1.1122 + 438, 428, 428, 428, 428, 428, 428, 428, 1.1123 + 428, 428, 428, 428, 428, 439, 428, 460, 1.1124 + 428, 501, 428, 486, 486, 119, 433, 434, 1.1125 + 435, 428, 428, 428, 443, 428, 460, 428, 1.1126 + 438, 428, 460, 428, 428, 428, 428, 428, 1.1127 + 428, 433, 434, 435, 428, 428, 428, 443, 1.1128 + 428, 460, 428, 438, 428, 460, 428, 428, 1.1129 + 428, 428, 502, 428, 433, 434, 435, 428, 1.1130 + 428, 428, 443, 428, 460, 428, 438, 428, 1.1131 + 460, 428, 501, 428, 428, 428, 428, 433, 1.1132 + 434, 435, 428, 428, 428, 443, 428, 460, 1.1133 + 428, 438, 428, 460, 116, 428, 428, 132, 1.1134 + 461, 428, 433, 434, 435, 428, 428, 428, 1.1135 + 443, 428, 460, 428, 438, 428, 453, 454, 1.1136 + 459, 459, 119, 433, 434, 435, 428, 428, 1.1137 + 428, 457, 428, 428, 437, 438, 428, 428, 1.1138 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1139 + 428, 428, 439, 428, 453, 454, 455, 459, 1.1140 + 119, 433, 434, 435, 428, 428, 147, 457, 1.1141 + 428, 428, 437, 438, 428, 428, 428, 428, 1.1142 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1143 + 439, 428, 451, 428, 503, 428, 486, 486, 1.1144 + 119, 433, 434, 435, 428, 428, 428, 443, 1.1145 + 428, 451, 428, 438, 428, 451, 428, 428, 1.1146 + 428, 428, 428, 428, 433, 434, 435, 428, 1.1147 + 428, 428, 443, 428, 451, 428, 438, 428, 1.1148 + 451, 428, 428, 428, 428, 504, 428, 433, 1.1149 + 434, 435, 428, 428, 428, 443, 428, 451, 1.1150 + 428, 438, 428, 451, 428, 503, 428, 428, 1.1151 + 428, 428, 433, 434, 435, 428, 428, 428, 1.1152 + 443, 428, 451, 428, 438, 428, 451, 116, 1.1153 + 428, 428, 132, 452, 428, 433, 434, 435, 1.1154 + 428, 428, 428, 443, 428, 451, 428, 438, 1.1155 + 428, 444, 445, 450, 450, 119, 433, 434, 1.1156 + 435, 428, 428, 428, 448, 428, 428, 437, 1.1157 + 438, 428, 428, 428, 428, 428, 428, 428, 1.1158 + 428, 428, 428, 428, 428, 439, 428, 444, 1.1159 + 445, 446, 450, 119, 433, 434, 435, 428, 1.1160 + 428, 149, 448, 428, 428, 437, 438, 428, 1.1161 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1162 + 428, 428, 428, 439, 428, 441, 428, 505, 1.1163 + 428, 486, 486, 119, 433, 434, 435, 428, 1.1164 + 428, 428, 443, 428, 441, 428, 438, 428, 1.1165 + 441, 428, 428, 428, 428, 428, 428, 433, 1.1166 + 434, 435, 428, 428, 428, 443, 428, 441, 1.1167 + 428, 438, 428, 441, 428, 428, 428, 428, 1.1168 + 506, 428, 433, 434, 435, 428, 428, 428, 1.1169 + 443, 428, 441, 428, 438, 428, 441, 428, 1.1170 + 505, 428, 428, 428, 428, 433, 434, 435, 1.1171 + 428, 428, 428, 443, 428, 441, 428, 438, 1.1172 + 428, 441, 116, 428, 428, 132, 442, 428, 1.1173 + 433, 434, 435, 428, 428, 428, 443, 428, 1.1174 + 441, 428, 438, 428, 429, 430, 432, 432, 1.1175 + 119, 433, 434, 435, 428, 428, 428, 436, 1.1176 + 428, 428, 437, 438, 428, 428, 428, 428, 1.1177 + 428, 428, 428, 428, 428, 428, 428, 428, 1.1178 + 439, 428, 181, 182, 183, 184, 507, 359, 1.1179 + 81, 187, 188, 189, 190, 190, 152, 191, 1.1180 + 357, 181, 194, 360, 357, 357, 357, 357, 1.1181 + 357, 357, 357, 357, 357, 357, 357, 357, 1.1182 + 196, 357, 198, 508, 200, 201, 5, 202, 1.1183 + 203, 204, 197, 197, 37, 205, 197, 197, 1.1184 + 206, 207, 197, 197, 197, 197, 197, 197, 1.1185 + 197, 197, 197, 197, 197, 197, 208, 197, 1.1186 + 211, 182, 183, 184, 509, 510, 81, 511, 1.1187 + 203, 512, 190, 190, 152, 513, 197, 211, 1.1188 + 194, 514, 197, 197, 197, 197, 197, 197, 1.1189 + 197, 197, 197, 197, 197, 197, 196, 197, 1.1190 + 113, 80, 80, 81, 202, 203, 204, 197, 1.1191 + 197, 152, 515, 197, 197, 197, 207, 197, 1.1192 + 516, 2, 357, 357, 357, 426, 357, 187, 1.1193 + 188, 189, 357, 357, 357, 363, 357, 516, 1.1194 + 357, 360, 357, 517, 365, 518, 519, 81, 1.1195 + 511, 203, 512, 197, 197, 153, 368, 197, 1.1196 + 197, 194, 514, 197, 197, 197, 197, 197, 1.1197 + 197, 197, 197, 197, 197, 197, 197, 196, 1.1198 + 197, 520, 365, 370, 370, 81, 511, 203, 1.1199 + 512, 197, 197, 197, 368, 197, 197, 194, 1.1200 + 514, 197, 197, 197, 197, 197, 197, 197, 1.1201 + 197, 197, 197, 197, 197, 196, 197, 365, 1.1202 + 370, 370, 81, 511, 203, 512, 197, 197, 1.1203 + 197, 368, 197, 197, 194, 514, 197, 197, 1.1204 + 197, 197, 197, 197, 197, 197, 197, 197, 1.1205 + 197, 197, 196, 197, 521, 197, 197, 522, 1.1206 + 203, 512, 197, 203, 512, 197, 203, 523, 1.1207 + 197, 203, 197, 521, 197, 197, 197, 203, 1.1208 + 512, 197, 524, 197, 197, 197, 197, 511, 1.1209 + 203, 512, 197, 511, 203, 512, 197, 517, 1.1210 + 365, 370, 370, 81, 511, 203, 512, 197, 1.1211 + 197, 197, 368, 197, 197, 194, 514, 197, 1.1212 + 197, 197, 197, 197, 197, 197, 197, 197, 1.1213 + 197, 197, 197, 196, 197, 517, 365, 518, 1.1214 + 370, 81, 511, 203, 512, 197, 197, 153, 1.1215 + 368, 197, 197, 194, 514, 197, 197, 197, 1.1216 + 197, 197, 197, 197, 197, 197, 197, 197, 1.1217 + 197, 196, 197, 211, 197, 275, 113, 525, 1.1218 + 525, 155, 202, 203, 204, 197, 197, 197, 1.1219 + 515, 197, 211, 197, 207, 197, 526, 179, 1.1220 + 527, 528, 157, 511, 203, 512, 197, 197, 1.1221 + 197, 529, 197, 197, 197, 514, 197, 179, 1.1222 + 527, 528, 157, 511, 203, 512, 197, 197, 1.1223 + 197, 529, 197, 197, 197, 514, 197, 527, 1.1224 + 527, 157, 511, 203, 512, 197, 197, 197, 1.1225 + 529, 197, 197, 197, 514, 197, 530, 176, 1.1226 + 531, 532, 160, 511, 203, 512, 197, 197, 1.1227 + 197, 529, 197, 197, 197, 514, 197, 176, 1.1228 + 531, 532, 160, 511, 203, 512, 197, 197, 1.1229 + 197, 529, 197, 197, 197, 514, 197, 531, 1.1230 + 531, 160, 511, 203, 512, 197, 197, 197, 1.1231 + 529, 197, 197, 197, 514, 197, 533, 173, 1.1232 + 534, 535, 163, 511, 203, 512, 197, 197, 1.1233 + 197, 529, 197, 197, 197, 514, 197, 173, 1.1234 + 534, 535, 163, 511, 203, 512, 197, 197, 1.1235 + 197, 529, 197, 197, 197, 514, 197, 534, 1.1236 + 534, 163, 511, 203, 512, 197, 197, 197, 1.1237 + 529, 197, 197, 197, 514, 197, 536, 170, 1.1238 + 197, 537, 197, 511, 203, 512, 197, 197, 1.1239 + 197, 529, 197, 197, 197, 514, 197, 170, 1.1240 + 197, 537, 197, 511, 203, 512, 197, 197, 1.1241 + 197, 529, 197, 197, 197, 514, 197, 511, 1.1242 + 203, 512, 197, 197, 197, 529, 197, 197, 1.1243 + 197, 514, 197, 538, 197, 539, 540, 197, 1.1244 + 511, 203, 512, 197, 197, 167, 197, 197, 1.1245 + 197, 197, 514, 197, 166, 197, 197, 197, 1.1246 + 197, 511, 203, 512, 197, 197, 197, 197, 1.1247 + 197, 197, 197, 514, 197, 511, 203, 512, 1.1248 + 197, 197, 197, 197, 197, 197, 197, 514, 1.1249 + 197, 538, 197, 197, 197, 197, 511, 203, 1.1250 + 512, 197, 197, 197, 197, 197, 197, 197, 1.1251 + 514, 197, 538, 197, 539, 197, 197, 511, 1.1252 + 203, 512, 197, 197, 167, 197, 197, 197, 1.1253 + 197, 514, 197, 516, 166, 357, 357, 95, 1.1254 + 362, 357, 187, 188, 189, 357, 357, 357, 1.1255 + 363, 357, 516, 357, 360, 357, 542, 541, 1.1256 + 541, 541, 541, 543, 544, 545, 541, 543, 1.1257 + 544, 545, 541, 546, 541, 541, 547, 544, 1.1258 + 545, 541, 544, 545, 541, 544, 548, 541, 1.1259 + 544, 541, 546, 541, 541, 541, 544, 545, 1.1260 + 541, 0 1.1261 +}; 1.1262 + 1.1263 +static const short _indic_syllable_machine_trans_targs[] = { 1.1264 + 170, 197, 199, 202, 3, 205, 4, 6, 1.1265 + 208, 7, 9, 211, 10, 12, 214, 13, 1.1266 + 15, 16, 191, 18, 19, 213, 21, 22, 1.1267 + 210, 24, 25, 207, 216, 221, 225, 228, 1.1268 + 232, 235, 239, 242, 246, 249, 170, 277, 1.1269 + 279, 282, 39, 285, 40, 42, 288, 43, 1.1270 + 45, 291, 46, 48, 294, 49, 51, 52, 1.1271 + 271, 54, 55, 293, 57, 58, 290, 60, 1.1272 + 61, 287, 296, 301, 305, 308, 312, 315, 1.1273 + 319, 322, 326, 330, 170, 356, 358, 361, 1.1274 + 75, 364, 170, 76, 78, 367, 79, 81, 1.1275 + 370, 82, 84, 373, 85, 87, 88, 350, 1.1276 + 90, 91, 372, 93, 94, 369, 96, 97, 1.1277 + 366, 375, 380, 384, 387, 391, 394, 398, 1.1278 + 401, 405, 170, 437, 439, 442, 110, 445, 1.1279 + 111, 113, 448, 114, 116, 451, 117, 119, 1.1280 + 454, 120, 122, 123, 431, 125, 126, 453, 1.1281 + 128, 129, 450, 131, 132, 447, 456, 461, 1.1282 + 465, 468, 472, 475, 479, 482, 486, 489, 1.1283 + 409, 505, 146, 508, 148, 511, 149, 151, 1.1284 + 514, 152, 154, 517, 155, 520, 522, 523, 1.1285 + 159, 160, 519, 162, 163, 516, 165, 166, 1.1286 + 513, 168, 169, 510, 170, 171, 251, 331, 1.1287 + 333, 408, 410, 351, 170, 353, 411, 407, 1.1288 + 490, 491, 378, 526, 379, 170, 172, 174, 1.1289 + 35, 250, 192, 170, 194, 248, 219, 200, 1.1290 + 220, 173, 34, 175, 244, 0, 176, 178, 1.1291 + 33, 243, 241, 177, 32, 179, 237, 180, 1.1292 + 182, 31, 236, 234, 181, 30, 183, 230, 1.1293 + 184, 186, 29, 229, 227, 185, 28, 187, 1.1294 + 223, 188, 190, 27, 222, 218, 189, 26, 1.1295 + 204, 193, 196, 195, 198, 1, 203, 201, 1.1296 + 2, 206, 5, 23, 209, 8, 20, 212, 1.1297 + 11, 17, 215, 14, 217, 224, 226, 231, 1.1298 + 233, 238, 240, 245, 247, 170, 252, 254, 1.1299 + 71, 328, 272, 170, 274, 329, 299, 280, 1.1300 + 300, 253, 70, 255, 324, 36, 256, 258, 1.1301 + 69, 323, 321, 257, 68, 259, 317, 260, 1.1302 + 262, 67, 316, 314, 261, 66, 263, 310, 1.1303 + 264, 266, 65, 309, 307, 265, 64, 267, 1.1304 + 303, 268, 270, 63, 302, 298, 269, 62, 1.1305 + 284, 273, 276, 275, 278, 37, 283, 281, 1.1306 + 38, 286, 41, 59, 289, 44, 56, 292, 1.1307 + 47, 53, 295, 50, 297, 304, 306, 311, 1.1308 + 313, 318, 320, 325, 327, 170, 332, 106, 1.1309 + 359, 334, 403, 72, 335, 337, 105, 402, 1.1310 + 400, 336, 104, 338, 396, 339, 341, 103, 1.1311 + 395, 393, 340, 102, 342, 389, 343, 345, 1.1312 + 101, 388, 386, 344, 100, 346, 382, 347, 1.1313 + 349, 99, 381, 377, 348, 98, 363, 352, 1.1314 + 355, 354, 357, 73, 362, 360, 74, 365, 1.1315 + 77, 95, 368, 80, 92, 371, 83, 89, 1.1316 + 374, 86, 376, 383, 385, 390, 392, 397, 1.1317 + 399, 404, 406, 170, 170, 412, 414, 142, 1.1318 + 141, 432, 170, 434, 488, 459, 440, 460, 1.1319 + 413, 415, 484, 107, 416, 418, 140, 483, 1.1320 + 481, 417, 139, 419, 477, 420, 422, 138, 1.1321 + 476, 474, 421, 137, 423, 470, 424, 426, 1.1322 + 136, 469, 467, 425, 135, 427, 463, 428, 1.1323 + 430, 134, 462, 458, 429, 133, 444, 433, 1.1324 + 436, 435, 438, 108, 443, 441, 109, 446, 1.1325 + 112, 130, 449, 115, 127, 452, 118, 124, 1.1326 + 455, 121, 457, 464, 466, 471, 473, 478, 1.1327 + 480, 485, 487, 143, 492, 493, 507, 498, 1.1328 + 500, 525, 503, 494, 495, 496, 144, 506, 1.1329 + 497, 499, 502, 501, 504, 145, 509, 147, 1.1330 + 167, 156, 512, 150, 164, 515, 153, 161, 1.1331 + 518, 158, 521, 157, 524, 170, 527, 528, 1.1332 + 170, 530, 529, 532, 531 1.1333 +}; 1.1334 + 1.1335 +static const char _indic_syllable_machine_trans_actions[] = { 1.1336 + 1, 2, 0, 0, 0, 2, 0, 0, 1.1337 + 2, 0, 0, 2, 0, 0, 2, 0, 1.1338 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1339 + 2, 0, 0, 2, 2, 2, 2, 2, 1.1340 + 2, 2, 2, 2, 2, 2, 3, 2, 1.1341 + 0, 0, 0, 2, 0, 0, 2, 0, 1.1342 + 0, 2, 0, 0, 2, 0, 0, 0, 1.1343 + 2, 0, 0, 2, 0, 0, 2, 0, 1.1344 + 0, 2, 2, 2, 2, 2, 2, 2, 1.1345 + 2, 2, 2, 2, 4, 2, 0, 0, 1.1346 + 0, 2, 5, 0, 0, 2, 0, 0, 1.1347 + 2, 0, 0, 2, 0, 0, 0, 2, 1.1348 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1349 + 2, 2, 6, 2, 6, 2, 6, 2, 1.1350 + 6, 2, 7, 2, 0, 0, 0, 2, 1.1351 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1352 + 2, 0, 0, 0, 2, 0, 0, 2, 1.1353 + 0, 0, 2, 0, 0, 2, 2, 2, 1.1354 + 2, 2, 2, 2, 2, 2, 2, 2, 1.1355 + 6, 8, 0, 2, 0, 2, 0, 0, 1.1356 + 2, 0, 0, 2, 0, 2, 0, 0, 1.1357 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1358 + 2, 0, 0, 2, 11, 2, 2, 6, 1.1359 + 2, 12, 12, 0, 13, 0, 2, 2, 1.1360 + 6, 2, 6, 0, 6, 14, 2, 2, 1.1361 + 0, 2, 0, 15, 0, 2, 2, 0, 1.1362 + 2, 2, 0, 2, 2, 0, 2, 2, 1.1363 + 0, 2, 2, 2, 0, 2, 2, 2, 1.1364 + 2, 0, 2, 2, 2, 0, 2, 2, 1.1365 + 2, 2, 0, 2, 2, 2, 0, 2, 1.1366 + 2, 2, 2, 0, 2, 2, 2, 0, 1.1367 + 2, 0, 0, 0, 0, 0, 2, 0, 1.1368 + 0, 2, 0, 0, 2, 0, 0, 2, 1.1369 + 0, 0, 2, 0, 2, 2, 2, 2, 1.1370 + 2, 2, 2, 2, 2, 16, 2, 2, 1.1371 + 0, 2, 0, 17, 0, 2, 2, 0, 1.1372 + 2, 2, 0, 2, 2, 0, 2, 2, 1.1373 + 0, 2, 2, 2, 0, 2, 2, 2, 1.1374 + 2, 0, 2, 2, 2, 0, 2, 2, 1.1375 + 2, 2, 0, 2, 2, 2, 0, 2, 1.1376 + 2, 2, 2, 0, 2, 2, 2, 0, 1.1377 + 2, 0, 0, 0, 0, 0, 2, 0, 1.1378 + 0, 2, 0, 0, 2, 0, 0, 2, 1.1379 + 0, 0, 2, 0, 2, 2, 2, 2, 1.1380 + 2, 2, 2, 2, 2, 18, 6, 0, 1.1381 + 0, 6, 6, 0, 6, 2, 0, 6, 1.1382 + 2, 6, 0, 6, 6, 6, 2, 0, 1.1383 + 6, 2, 6, 0, 6, 6, 6, 2, 1.1384 + 0, 6, 2, 6, 0, 6, 6, 6, 1.1385 + 2, 0, 6, 2, 6, 0, 6, 0, 1.1386 + 0, 0, 0, 0, 2, 0, 0, 2, 1.1387 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1388 + 2, 0, 2, 2, 2, 2, 2, 2, 1.1389 + 2, 2, 2, 19, 20, 2, 2, 0, 1.1390 + 0, 0, 21, 0, 2, 2, 0, 2, 1.1391 + 2, 2, 2, 0, 2, 2, 0, 2, 1.1392 + 2, 2, 0, 2, 2, 2, 2, 0, 1.1393 + 2, 2, 2, 0, 2, 2, 2, 2, 1.1394 + 0, 2, 2, 2, 0, 2, 2, 2, 1.1395 + 2, 0, 2, 2, 2, 0, 2, 0, 1.1396 + 0, 0, 0, 0, 2, 0, 0, 2, 1.1397 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1398 + 2, 0, 2, 2, 2, 2, 2, 2, 1.1399 + 2, 2, 2, 0, 0, 8, 2, 0, 1.1400 + 0, 2, 0, 2, 8, 8, 0, 8, 1.1401 + 8, 0, 0, 0, 0, 0, 2, 0, 1.1402 + 0, 0, 2, 0, 0, 2, 0, 0, 1.1403 + 2, 0, 0, 0, 2, 22, 0, 0, 1.1404 + 23, 0, 0, 0, 0 1.1405 +}; 1.1406 + 1.1407 +static const char _indic_syllable_machine_to_state_actions[] = { 1.1408 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1409 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1410 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1411 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1412 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1413 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1414 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1415 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1416 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1417 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1418 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1419 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1420 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1421 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1422 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1423 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1424 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1425 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1426 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1427 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1428 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1429 + 0, 0, 9, 0, 0, 0, 0, 0, 1.1430 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1431 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1432 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1433 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1434 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1435 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1436 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1437 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1438 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1439 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1440 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1441 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1442 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1443 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1444 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1445 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1446 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1447 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1448 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1449 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1450 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1451 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1452 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1453 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1454 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1455 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1456 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1457 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1458 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1459 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1460 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1461 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1462 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1463 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1464 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1465 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1466 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1467 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1468 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1469 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1470 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1471 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1472 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1473 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1474 + 0, 0, 0, 0, 0 1.1475 +}; 1.1476 + 1.1477 +static const char _indic_syllable_machine_from_state_actions[] = { 1.1478 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1479 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1480 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1481 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1482 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1483 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1484 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1485 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1486 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1487 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1488 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1489 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1490 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1491 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1492 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1493 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1494 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1495 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1496 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1497 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1498 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1499 + 0, 0, 10, 0, 0, 0, 0, 0, 1.1500 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1501 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1502 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1503 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1504 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1505 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1506 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1507 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1508 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1509 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1510 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1511 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1512 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1513 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1514 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1515 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1516 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1517 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1518 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1519 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1520 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1521 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1522 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1523 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1524 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1525 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1526 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1527 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1528 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1529 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1530 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1531 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1532 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1533 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1534 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1535 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1536 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1537 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1538 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1539 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1540 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1541 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1542 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1543 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1544 + 0, 0, 0, 0, 0 1.1545 +}; 1.1546 + 1.1547 +static const short _indic_syllable_machine_eof_trans[] = { 1.1548 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1549 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1550 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1551 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1552 + 1, 1, 1, 1, 39, 39, 39, 39, 1.1553 + 39, 39, 39, 39, 39, 39, 39, 39, 1.1554 + 39, 39, 39, 39, 39, 39, 39, 39, 1.1555 + 39, 39, 39, 39, 39, 39, 39, 39, 1.1556 + 39, 39, 39, 39, 39, 39, 39, 39, 1.1557 + 77, 77, 77, 83, 83, 77, 77, 77, 1.1558 + 77, 77, 77, 77, 77, 77, 77, 77, 1.1559 + 77, 77, 77, 77, 77, 77, 77, 77, 1.1560 + 77, 77, 77, 77, 77, 77, 77, 77, 1.1561 + 83, 77, 77, 115, 115, 115, 115, 115, 1.1562 + 115, 115, 115, 115, 115, 115, 115, 115, 1.1563 + 115, 115, 115, 115, 115, 115, 115, 115, 1.1564 + 115, 115, 115, 115, 115, 115, 115, 115, 1.1565 + 115, 115, 115, 115, 115, 115, 115, 77, 1.1566 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1567 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1568 + 1, 1, 1, 1, 1, 1, 1, 1, 1.1569 + 1, 1, 0, 198, 198, 198, 198, 198, 1.1570 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1571 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1572 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1573 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1574 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1575 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1576 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1577 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1578 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1579 + 198, 198, 198, 278, 278, 278, 278, 278, 1.1580 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1581 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1582 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1583 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1584 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1585 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1586 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1587 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1588 + 278, 278, 278, 278, 278, 278, 278, 278, 1.1589 + 278, 278, 278, 358, 358, 358, 358, 358, 1.1590 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1591 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1592 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1593 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1594 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1595 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1596 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1597 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1598 + 358, 358, 358, 358, 358, 358, 358, 358, 1.1599 + 428, 358, 428, 429, 429, 429, 429, 429, 1.1600 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1601 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1602 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1603 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1604 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1605 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1606 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1607 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1608 + 429, 429, 429, 429, 429, 429, 429, 429, 1.1609 + 429, 429, 358, 198, 198, 198, 358, 198, 1.1610 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1611 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1612 + 198, 198, 198, 198, 198, 198, 198, 198, 1.1613 + 198, 198, 198, 198, 198, 358, 542, 542, 1.1614 + 542, 542, 542, 542, 542 1.1615 +}; 1.1616 + 1.1617 +static const int indic_syllable_machine_start = 170; 1.1618 +static const int indic_syllable_machine_first_final = 170; 1.1619 +static const int indic_syllable_machine_error = -1; 1.1620 + 1.1621 +static const int indic_syllable_machine_en_main = 170; 1.1622 + 1.1623 + 1.1624 +#line 36 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1625 + 1.1626 + 1.1627 + 1.1628 +#line 98 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1629 + 1.1630 + 1.1631 +#define found_syllable(syllable_type) \ 1.1632 + HB_STMT_START { \ 1.1633 + if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ 1.1634 + for (unsigned int i = last; i < p+1; i++) \ 1.1635 + info[i].syllable() = (syllable_serial << 4) | syllable_type; \ 1.1636 + last = p+1; \ 1.1637 + syllable_serial++; \ 1.1638 + if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ 1.1639 + } HB_STMT_END 1.1640 + 1.1641 +static void 1.1642 +find_syllables (hb_buffer_t *buffer) 1.1643 +{ 1.1644 + unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED; 1.1645 + int cs; 1.1646 + hb_glyph_info_t *info = buffer->info; 1.1647 + 1.1648 +#line 1646 "hb-ot-shape-complex-indic-machine.hh.tmp" 1.1649 + { 1.1650 + cs = indic_syllable_machine_start; 1.1651 + ts = 0; 1.1652 + te = 0; 1.1653 + act = 0; 1.1654 + } 1.1655 + 1.1656 +#line 119 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1657 + 1.1658 + 1.1659 + p = 0; 1.1660 + pe = eof = buffer->len; 1.1661 + 1.1662 + unsigned int last = 0; 1.1663 + unsigned int syllable_serial = 1; 1.1664 + 1.1665 +#line 1663 "hb-ot-shape-complex-indic-machine.hh.tmp" 1.1666 + { 1.1667 + int _slen; 1.1668 + int _trans; 1.1669 + const unsigned char *_keys; 1.1670 + const short *_inds; 1.1671 + if ( p == pe ) 1.1672 + goto _test_eof; 1.1673 +_resume: 1.1674 + switch ( _indic_syllable_machine_from_state_actions[cs] ) { 1.1675 + case 10: 1.1676 +#line 1 "NONE" 1.1677 + {ts = p;} 1.1678 + break; 1.1679 +#line 1677 "hb-ot-shape-complex-indic-machine.hh.tmp" 1.1680 + } 1.1681 + 1.1682 + _keys = _indic_syllable_machine_trans_keys + (cs<<1); 1.1683 + _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs]; 1.1684 + 1.1685 + _slen = _indic_syllable_machine_key_spans[cs]; 1.1686 + _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) && 1.1687 + ( info[p].indic_category()) <= _keys[1] ? 1.1688 + ( info[p].indic_category()) - _keys[0] : _slen ]; 1.1689 + 1.1690 +_eof_trans: 1.1691 + cs = _indic_syllable_machine_trans_targs[_trans]; 1.1692 + 1.1693 + if ( _indic_syllable_machine_trans_actions[_trans] == 0 ) 1.1694 + goto _again; 1.1695 + 1.1696 + switch ( _indic_syllable_machine_trans_actions[_trans] ) { 1.1697 + case 2: 1.1698 +#line 1 "NONE" 1.1699 + {te = p+1;} 1.1700 + break; 1.1701 + case 15: 1.1702 +#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1703 + {te = p+1;{ found_syllable (consonant_syllable); }} 1.1704 + break; 1.1705 + case 17: 1.1706 +#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1707 + {te = p+1;{ found_syllable (vowel_syllable); }} 1.1708 + break; 1.1709 + case 21: 1.1710 +#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1711 + {te = p+1;{ found_syllable (standalone_cluster); }} 1.1712 + break; 1.1713 + case 23: 1.1714 +#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1715 + {te = p+1;{ found_syllable (avagraha_cluster); }} 1.1716 + break; 1.1717 + case 13: 1.1718 +#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1719 + {te = p+1;{ found_syllable (broken_cluster); }} 1.1720 + break; 1.1721 + case 11: 1.1722 +#line 94 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1723 + {te = p+1;{ found_syllable (non_indic_cluster); }} 1.1724 + break; 1.1725 + case 14: 1.1726 +#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1727 + {te = p;p--;{ found_syllable (consonant_syllable); }} 1.1728 + break; 1.1729 + case 16: 1.1730 +#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1731 + {te = p;p--;{ found_syllable (vowel_syllable); }} 1.1732 + break; 1.1733 + case 20: 1.1734 +#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1735 + {te = p;p--;{ found_syllable (standalone_cluster); }} 1.1736 + break; 1.1737 + case 22: 1.1738 +#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1739 + {te = p;p--;{ found_syllable (avagraha_cluster); }} 1.1740 + break; 1.1741 + case 18: 1.1742 +#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1743 + {te = p;p--;{ found_syllable (broken_cluster); }} 1.1744 + break; 1.1745 + case 19: 1.1746 +#line 94 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1747 + {te = p;p--;{ found_syllable (non_indic_cluster); }} 1.1748 + break; 1.1749 + case 1: 1.1750 +#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1751 + {{p = ((te))-1;}{ found_syllable (consonant_syllable); }} 1.1752 + break; 1.1753 + case 3: 1.1754 +#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1755 + {{p = ((te))-1;}{ found_syllable (vowel_syllable); }} 1.1756 + break; 1.1757 + case 7: 1.1758 +#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1759 + {{p = ((te))-1;}{ found_syllable (standalone_cluster); }} 1.1760 + break; 1.1761 + case 4: 1.1762 +#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1763 + {{p = ((te))-1;}{ found_syllable (broken_cluster); }} 1.1764 + break; 1.1765 + case 5: 1.1766 +#line 1 "NONE" 1.1767 + { switch( act ) { 1.1768 + case 1: 1.1769 + {{p = ((te))-1;} found_syllable (consonant_syllable); } 1.1770 + break; 1.1771 + case 5: 1.1772 + {{p = ((te))-1;} found_syllable (broken_cluster); } 1.1773 + break; 1.1774 + case 6: 1.1775 + {{p = ((te))-1;} found_syllable (non_indic_cluster); } 1.1776 + break; 1.1777 + } 1.1778 + } 1.1779 + break; 1.1780 + case 8: 1.1781 +#line 1 "NONE" 1.1782 + {te = p+1;} 1.1783 +#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1784 + {act = 1;} 1.1785 + break; 1.1786 + case 6: 1.1787 +#line 1 "NONE" 1.1788 + {te = p+1;} 1.1789 +#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1790 + {act = 5;} 1.1791 + break; 1.1792 + case 12: 1.1793 +#line 1 "NONE" 1.1794 + {te = p+1;} 1.1795 +#line 94 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1796 + {act = 6;} 1.1797 + break; 1.1798 +#line 1796 "hb-ot-shape-complex-indic-machine.hh.tmp" 1.1799 + } 1.1800 + 1.1801 +_again: 1.1802 + switch ( _indic_syllable_machine_to_state_actions[cs] ) { 1.1803 + case 9: 1.1804 +#line 1 "NONE" 1.1805 + {ts = 0;} 1.1806 + break; 1.1807 +#line 1805 "hb-ot-shape-complex-indic-machine.hh.tmp" 1.1808 + } 1.1809 + 1.1810 + if ( ++p != pe ) 1.1811 + goto _resume; 1.1812 + _test_eof: {} 1.1813 + if ( p == eof ) 1.1814 + { 1.1815 + if ( _indic_syllable_machine_eof_trans[cs] > 0 ) { 1.1816 + _trans = _indic_syllable_machine_eof_trans[cs] - 1; 1.1817 + goto _eof_trans; 1.1818 + } 1.1819 + } 1.1820 + 1.1821 + } 1.1822 + 1.1823 +#line 128 "../../src/hb-ot-shape-complex-indic-machine.rl" 1.1824 + 1.1825 +} 1.1826 + 1.1827 +#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */