< prev index next >

src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-machine.hh

Print this page




  39         6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 
  40         4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 
  41         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 
  42         5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 
  43         7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 
  44         6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 
  45         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 
  46         4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 
  47         5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 
  48         7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 
  49         6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 
  50         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 
  51         8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 
  52         5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 
  53         4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 
  54         16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 
  55         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u, 
  56         5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 
  57         5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u, 
  58         4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 
  59         16u, 16u, 8u, 8u, 1u, 18u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 
  60         3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 
  61         3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 
  62         5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 
  63         3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 
  64         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 
  65         5u, 14u, 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 
  66         1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 
  67         1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 
  68         1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 
  69         3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 
  70         4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 
  71         4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 
  72         9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 
  73         5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 
  74         4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 
  75         3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 
  76         1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 
  77         1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 
  78         3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u, 
  79         3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 


  84         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u, 
  85         4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 
  86         3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 
  87         3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 
  88         1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 17u, 4u, 14u, 
  89         3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 
  90         3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 
  91         3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 
  92         9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u, 
  93         3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 
  94         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u, 
  95         4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 
  96         3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 
  97         3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 
  98         1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u, 
  99         1u, 17u, 4u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 
 100         5u, 10u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 3u, 17u, 3u, 17u, 1u, 16u, 
 101         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 
 102         5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u, 
 103         3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 
 104         9u, 10u, 9u, 9u, 5u, 10u, 0
 105 };
 106 
 107 static const char _indic_syllable_machine_key_spans[] = {
 108         1, 16, 6, 4, 3, 1, 4, 3, 
 109         1, 4, 3, 1, 4, 3, 1, 5, 
 110         1, 1, 5, 1, 1, 5, 1, 1, 
 111         5, 1, 1, 11, 11, 11, 11, 11, 
 112         11, 11, 11, 11, 11, 1, 16, 6, 
 113         4, 3, 1, 4, 3, 1, 4, 3, 
 114         1, 4, 3, 1, 5, 1, 1, 5, 
 115         1, 1, 5, 1, 1, 5, 1, 1, 
 116         11, 11, 11, 11, 11, 11, 11, 11, 
 117         11, 11, 1, 16, 6, 4, 3, 1, 
 118         4, 3, 1, 4, 3, 1, 4, 3, 
 119         1, 5, 1, 1, 5, 1, 1, 5, 
 120         1, 1, 5, 1, 1, 11, 11, 11, 
 121         11, 11, 11, 11, 11, 11, 1, 16, 
 122         6, 4, 3, 1, 4, 3, 1, 4, 
 123         3, 1, 4, 3, 1, 5, 1, 1, 
 124         5, 1, 1, 5, 1, 1, 5, 1, 
 125         1, 11, 11, 11, 11, 11, 11, 11, 
 126         11, 11, 11, 11, 4, 11, 11, 4, 
 127         3, 4, 3, 1, 4, 3, 1, 4, 
 128         3, 1, 1, 16, 6, 5, 1, 1, 
 129         5, 1, 1, 5, 1, 1, 5, 1, 
 130         1, 1, 18, 15, 15, 14, 16, 15, 
 131         15, 14, 16, 15, 15, 14, 16, 15, 
 132         15, 14, 16, 15, 15, 14, 10, 10, 
 133         6, 2, 1, 2, 2, 1, 6, 11, 
 134         8, 6, 8, 11, 12, 12, 11, 10, 
 135         12, 11, 10, 12, 11, 10, 12, 11, 
 136         10, 12, 16, 11, 15, 15, 16, 16, 
 137         16, 16, 16, 15, 15, 16, 16, 16, 
 138         16, 16, 15, 15, 16, 16, 16, 16, 
 139         16, 15, 15, 16, 16, 16, 16, 16, 
 140         15, 15, 15, 15, 14, 16, 15, 15, 
 141         14, 16, 15, 15, 14, 16, 15, 15, 
 142         14, 16, 15, 15, 14, 10, 10, 6, 
 143         2, 1, 2, 2, 1, 6, 11, 8, 
 144         6, 8, 11, 12, 12, 11, 10, 12, 
 145         11, 10, 12, 11, 10, 12, 11, 10, 
 146         12, 16, 11, 15, 15, 16, 16, 16, 
 147         16, 16, 15, 15, 16, 16, 16, 16, 
 148         16, 15, 15, 16, 16, 16, 16, 16, 
 149         15, 15, 16, 16, 16, 16, 11, 16, 
 150         15, 15, 14, 16, 15, 15, 14, 16, 


 155         12, 11, 10, 12, 11, 10, 12, 16, 
 156         11, 15, 15, 16, 16, 16, 16, 16, 
 157         15, 15, 16, 16, 16, 16, 16, 15, 
 158         15, 16, 16, 16, 16, 16, 15, 15, 
 159         16, 16, 16, 16, 16, 11, 15, 11, 
 160         15, 15, 14, 16, 15, 15, 14, 16, 
 161         15, 15, 14, 16, 15, 15, 14, 16, 
 162         15, 15, 14, 10, 10, 6, 2, 1, 
 163         2, 2, 1, 6, 11, 8, 6, 8, 
 164         11, 12, 12, 11, 10, 12, 11, 10, 
 165         12, 11, 10, 12, 11, 10, 12, 16, 
 166         11, 15, 15, 16, 16, 16, 16, 16, 
 167         15, 15, 16, 16, 16, 16, 16, 15, 
 168         15, 16, 16, 16, 16, 16, 15, 15, 
 169         16, 16, 16, 16, 16, 15, 17, 15, 
 170         17, 11, 6, 2, 1, 2, 2, 1, 
 171         6, 16, 15, 15, 14, 15, 15, 16, 
 172         12, 11, 10, 12, 11, 10, 12, 11, 
 173         10, 12, 11, 10, 11, 8, 6, 8, 
 174         11, 16, 8, 6, 6, 2, 1, 2, 
 175         2, 1, 6
 176 };
 177 
 178 static const short _indic_syllable_machine_index_offsets[] = {
 179         0, 2, 19, 26, 31, 35, 37, 42, 
 180         46, 48, 53, 57, 59, 64, 68, 70, 
 181         76, 78, 80, 86, 88, 90, 96, 98, 
 182         100, 106, 108, 110, 122, 134, 146, 158, 
 183         170, 182, 194, 206, 218, 230, 232, 249, 
 184         256, 261, 265, 267, 272, 276, 278, 283, 
 185         287, 289, 294, 298, 300, 306, 308, 310, 
 186         316, 318, 320, 326, 328, 330, 336, 338, 
 187         340, 352, 364, 376, 388, 400, 412, 424, 
 188         436, 448, 460, 462, 479, 486, 491, 495, 
 189         497, 502, 506, 508, 513, 517, 519, 524, 
 190         528, 530, 536, 538, 540, 546, 548, 550, 
 191         556, 558, 560, 566, 568, 570, 582, 594, 
 192         606, 618, 630, 642, 654, 666, 678, 680, 
 193         697, 704, 709, 713, 715, 720, 724, 726, 
 194         731, 735, 737, 742, 746, 748, 754, 756, 
 195         758, 764, 766, 768, 774, 776, 778, 784, 
 196         786, 788, 800, 812, 824, 836, 848, 860, 
 197         872, 884, 896, 908, 920, 925, 937, 949, 
 198         954, 958, 963, 967, 969, 974, 978, 980, 
 199         985, 989, 991, 993, 1010, 1017, 1023, 1025, 
 200         1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053, 
 201         1055, 1057, 1059, 1078, 1094, 1110, 1125, 1142, 
 202         1158, 1174, 1189, 1206, 1222, 1238, 1253, 1270, 
 203         1286, 1302, 1317, 1334, 1350, 1366, 1381, 1392, 
 204         1403, 1410, 1413, 1415, 1418, 1421, 1423, 1430, 
 205         1442, 1451, 1458, 1467, 1479, 1492, 1505, 1517, 
 206         1528, 1541, 1553, 1564, 1577, 1589, 1600, 1613, 
 207         1625, 1636, 1649, 1666, 1678, 1694, 1710, 1727, 
 208         1744, 1761, 1778, 1795, 1811, 1827, 1844, 1861, 
 209         1878, 1895, 1912, 1928, 1944, 1961, 1978, 1995, 
 210         2012, 2029, 2045, 2061, 2078, 2095, 2112, 2129, 
 211         2146, 2162, 2178, 2194, 2210, 2225, 2242, 2258, 
 212         2274, 2289, 2306, 2322, 2338, 2353, 2370, 2386, 
 213         2402, 2417, 2434, 2450, 2466, 2481, 2492, 2503, 
 214         2510, 2513, 2515, 2518, 2521, 2523, 2530, 2542, 
 215         2551, 2558, 2567, 2579, 2592, 2605, 2617, 2628, 
 216         2641, 2653, 2664, 2677, 2689, 2700, 2713, 2725, 
 217         2736, 2749, 2766, 2778, 2794, 2810, 2827, 2844, 
 218         2861, 2878, 2895, 2911, 2927, 2944, 2961, 2978, 
 219         2995, 3012, 3028, 3044, 3061, 3078, 3095, 3112, 
 220         3129, 3145, 3161, 3178, 3195, 3212, 3229, 3241, 
 221         3258, 3274, 3290, 3305, 3322, 3338, 3354, 3369, 
 222         3386, 3402, 3418, 3433, 3450, 3466, 3482, 3497, 
 223         3514, 3530, 3546, 3561, 3572, 3583, 3590, 3593, 
 224         3595, 3598, 3601, 3603, 3610, 3622, 3631, 3638, 
 225         3647, 3659, 3672, 3685, 3697, 3708, 3721, 3733, 
 226         3744, 3757, 3769, 3780, 3793, 3805, 3816, 3829, 
 227         3846, 3858, 3874, 3890, 3907, 3924, 3941, 3958, 
 228         3975, 3991, 4007, 4024, 4041, 4058, 4075, 4092, 
 229         4108, 4124, 4141, 4158, 4175, 4192, 4209, 4225, 
 230         4241, 4258, 4275, 4292, 4309, 4326, 4338, 4354, 
 231         4366, 4382, 4398, 4413, 4430, 4446, 4462, 4477, 
 232         4494, 4510, 4526, 4541, 4558, 4574, 4590, 4605, 
 233         4622, 4638, 4654, 4669, 4680, 4691, 4698, 4701, 
 234         4703, 4706, 4709, 4711, 4718, 4730, 4739, 4746, 
 235         4755, 4767, 4780, 4793, 4805, 4816, 4829, 4841, 
 236         4852, 4865, 4877, 4888, 4901, 4913, 4924, 4937, 
 237         4954, 4966, 4982, 4998, 5015, 5032, 5049, 5066, 
 238         5083, 5099, 5115, 5132, 5149, 5166, 5183, 5200, 
 239         5216, 5232, 5249, 5266, 5283, 5300, 5317, 5333, 
 240         5349, 5366, 5383, 5400, 5417, 5434, 5450, 5468, 
 241         5484, 5502, 5514, 5521, 5524, 5526, 5529, 5532, 
 242         5534, 5541, 5558, 5574, 5590, 5605, 5621, 5637, 
 243         5654, 5667, 5679, 5690, 5703, 5715, 5726, 5739, 
 244         5751, 5762, 5775, 5787, 5798, 5810, 5819, 5826, 
 245         5835, 5847, 5864, 5873, 5880, 5887, 5890, 5892, 
 246         5895, 5898, 5900
 247 };
 248 
 249 static const short _indic_syllable_machine_indicies[] = {
 250         1, 0, 2, 3, 0, 0, 0, 0, 
 251         0, 0, 0, 0, 0, 0, 0, 0, 
 252         0, 2, 0, 1, 0, 0, 0, 0, 
 253         4, 0, 5, 5, 6, 1, 0, 7, 
 254         7, 6, 0, 6, 0, 8, 8, 9, 
 255         1, 0, 10, 10, 9, 0, 9, 0, 
 256         11, 11, 12, 1, 0, 13, 13, 12, 
 257         0, 12, 0, 14, 14, 15, 1, 0, 
 258         16, 16, 15, 0, 15, 0, 17, 0, 
 259         0, 0, 1, 0, 18, 0, 19, 0, 
 260         20, 14, 14, 15, 1, 0, 21, 0, 
 261         22, 0, 23, 11, 11, 12, 1, 0, 
 262         24, 0, 25, 0, 26, 8, 8, 9, 
 263         1, 0, 27, 0, 28, 0, 29, 5, 
 264         5, 6, 1, 0, 0, 0, 0, 0, 
 265         29, 0, 29, 5, 5, 6, 1, 0, 
 266         0, 0, 0, 30, 29, 0, 31, 5, 


 364         79, 78, 78, 78, 78, 156, 116, 78, 
 365         86, 86, 84, 1, 0, 114, 83, 83, 
 366         84, 157, 0, 0, 0, 0, 0, 114, 
 367         0, 114, 83, 83, 84, 157, 0, 0, 
 368         0, 0, 158, 114, 0, 159, 159, 160, 
 369         1, 0, 7, 7, 160, 0, 161, 161, 
 370         162, 157, 0, 163, 163, 162, 0, 162, 
 371         0, 164, 164, 165, 157, 0, 166, 166, 
 372         165, 0, 165, 0, 167, 167, 168, 157, 
 373         0, 169, 169, 168, 0, 168, 0, 157, 
 374         0, 170, 171, 0, 0, 0, 0, 0, 
 375         0, 0, 0, 0, 0, 0, 0, 0, 
 376         170, 0, 157, 0, 0, 0, 0, 172, 
 377         0, 173, 0, 0, 0, 157, 0, 174, 
 378         0, 175, 0, 176, 167, 167, 168, 157, 
 379         0, 177, 0, 178, 0, 179, 164, 164, 
 380         165, 157, 0, 180, 0, 181, 0, 182, 
 381         161, 161, 162, 157, 0, 183, 0, 184, 
 382         0, 186, 185, 188, 189, 190, 191, 192, 
 383         193, 84, 79, 194, 195, 196, 196, 156, 
 384         197, 198, 199, 200, 201, 187, 203, 204, 
 385         205, 206, 6, 1, 207, 208, 202, 202, 
 386         38, 209, 202, 202, 210, 202, 211, 204, 
 387         212, 212, 6, 1, 207, 208, 202, 202, 
 388         202, 209, 202, 202, 210, 202, 204, 212, 
 389         212, 6, 1, 207, 208, 202, 202, 202, 
 390         209, 202, 202, 210, 202, 213, 202, 202, 
 391         202, 19, 214, 202, 1, 207, 208, 202, 
 392         202, 202, 215, 202, 213, 202, 216, 217, 
 393         218, 219, 6, 1, 207, 208, 202, 202, 
 394         36, 220, 202, 202, 210, 202, 221, 217, 
 395         222, 222, 6, 1, 207, 208, 202, 202, 
 396         202, 220, 202, 202, 210, 202, 217, 222, 
 397         222, 6, 1, 207, 208, 202, 202, 202, 
 398         220, 202, 202, 210, 202, 223, 202, 202, 
 399         202, 19, 224, 202, 1, 207, 208, 202, 
 400         202, 202, 215, 202, 223, 202, 225, 226, 
 401         227, 228, 6, 1, 207, 208, 202, 202, 
 402         34, 229, 202, 202, 210, 202, 230, 226, 
 403         231, 231, 6, 1, 207, 208, 202, 202, 
 404         202, 229, 202, 202, 210, 202, 226, 231, 
 405         231, 6, 1, 207, 208, 202, 202, 202, 
 406         229, 202, 202, 210, 202, 232, 202, 202, 
 407         202, 19, 233, 202, 1, 207, 208, 202, 
 408         202, 202, 215, 202, 232, 202, 234, 235, 
 409         236, 237, 6, 1, 207, 208, 202, 202, 
 410         32, 238, 202, 202, 210, 202, 239, 235, 
 411         240, 240, 6, 1, 207, 208, 202, 202, 
 412         202, 238, 202, 202, 210, 202, 235, 240, 
 413         240, 6, 1, 207, 208, 202, 202, 202, 
 414         238, 202, 202, 210, 202, 241, 202, 202, 
 415         202, 19, 242, 202, 1, 207, 208, 202, 
 416         202, 202, 215, 202, 241, 202, 243, 244, 
 417         245, 246, 6, 1, 207, 208, 202, 202, 
 418         30, 247, 202, 202, 210, 202, 248, 244, 
 419         249, 249, 6, 1, 207, 208, 202, 202, 
 420         202, 247, 202, 202, 210, 202, 244, 249, 
 421         249, 6, 1, 207, 208, 202, 202, 202, 
 422         247, 202, 202, 210, 202, 19, 250, 202, 
 423         1, 207, 208, 202, 202, 202, 215, 202, 
 424         251, 251, 202, 1, 207, 208, 202, 202, 
 425         202, 215, 202, 252, 202, 202, 253, 207, 
 426         208, 202, 207, 208, 202, 254, 202, 207, 
 427         255, 202, 207, 256, 202, 207, 202, 252, 
 428         202, 202, 202, 207, 208, 202, 257, 202, 
 429         258, 259, 202, 1, 207, 208, 202, 202, 
 430         4, 202, 3, 202, 251, 251, 202, 1, 
 431         207, 208, 202, 251, 251, 202, 1, 207, 
 432         208, 202, 257, 202, 251, 251, 202, 1, 
 433         207, 208, 202, 257, 202, 258, 251, 202, 
 434         1, 207, 208, 202, 202, 4, 202, 19, 
 435         202, 260, 260, 6, 1, 207, 208, 202, 
 436         202, 202, 215, 202, 261, 28, 262, 263, 
 437         9, 1, 207, 208, 202, 202, 202, 215, 
 438         202, 28, 262, 263, 9, 1, 207, 208, 
 439         202, 202, 202, 215, 202, 262, 262, 9, 
 440         1, 207, 208, 202, 202, 202, 215, 202, 
 441         264, 25, 265, 266, 12, 1, 207, 208, 
 442         202, 202, 202, 215, 202, 25, 265, 266, 
 443         12, 1, 207, 208, 202, 202, 202, 215, 
 444         202, 265, 265, 12, 1, 207, 208, 202, 
 445         202, 202, 215, 202, 267, 22, 268, 269, 
 446         15, 1, 207, 208, 202, 202, 202, 215, 
 447         202, 22, 268, 269, 15, 1, 207, 208, 
 448         202, 202, 202, 215, 202, 268, 268, 15, 
 449         1, 207, 208, 202, 202, 202, 215, 202, 
 450         270, 19, 251, 271, 202, 1, 207, 208, 
 451         202, 202, 202, 215, 202, 19, 251, 271, 
 452         202, 1, 207, 208, 202, 202, 202, 215, 
 453         202, 251, 272, 202, 1, 207, 208, 202, 
 454         202, 202, 215, 202, 19, 202, 251, 251, 
 455         202, 1, 207, 208, 202, 202, 202, 215, 
 456         202, 2, 3, 202, 202, 19, 250, 202, 
 457         1, 207, 208, 202, 202, 202, 215, 202, 
 458         2, 202, 244, 249, 249, 6, 1, 207, 
 459         208, 202, 202, 202, 247, 202, 243, 244, 
 460         249, 249, 6, 1, 207, 208, 202, 202, 
 461         202, 247, 202, 202, 210, 202, 243, 244, 
 462         245, 249, 6, 1, 207, 208, 202, 202, 
 463         30, 247, 202, 202, 210, 202, 241, 202, 
 464         273, 202, 260, 260, 6, 1, 207, 208, 
 465         202, 202, 202, 215, 202, 241, 202, 241, 
 466         202, 202, 202, 251, 251, 202, 1, 207, 
 467         208, 202, 202, 202, 215, 202, 241, 202, 
 468         241, 202, 202, 202, 251, 274, 202, 1, 
 469         207, 208, 202, 202, 202, 215, 202, 241, 
 470         202, 241, 202, 273, 202, 251, 251, 202, 
 471         1, 207, 208, 202, 202, 202, 215, 202, 
 472         241, 202, 241, 3, 202, 202, 19, 242, 
 473         202, 1, 207, 208, 202, 202, 202, 215, 
 474         202, 241, 202, 234, 235, 240, 240, 6, 
 475         1, 207, 208, 202, 202, 202, 238, 202, 
 476         202, 210, 202, 234, 235, 236, 240, 6, 
 477         1, 207, 208, 202, 202, 32, 238, 202, 
 478         202, 210, 202, 232, 202, 275, 202, 260, 
 479         260, 6, 1, 207, 208, 202, 202, 202, 
 480         215, 202, 232, 202, 232, 202, 202, 202, 
 481         251, 251, 202, 1, 207, 208, 202, 202, 
 482         202, 215, 202, 232, 202, 232, 202, 202, 
 483         202, 251, 276, 202, 1, 207, 208, 202, 
 484         202, 202, 215, 202, 232, 202, 232, 202, 
 485         275, 202, 251, 251, 202, 1, 207, 208, 
 486         202, 202, 202, 215, 202, 232, 202, 232, 
 487         3, 202, 202, 19, 233, 202, 1, 207, 
 488         208, 202, 202, 202, 215, 202, 232, 202, 
 489         225, 226, 231, 231, 6, 1, 207, 208, 
 490         202, 202, 202, 229, 202, 202, 210, 202, 
 491         225, 226, 227, 231, 6, 1, 207, 208, 
 492         202, 202, 34, 229, 202, 202, 210, 202, 
 493         223, 202, 277, 202, 260, 260, 6, 1, 
 494         207, 208, 202, 202, 202, 215, 202, 223, 
 495         202, 223, 202, 202, 202, 251, 251, 202, 
 496         1, 207, 208, 202, 202, 202, 215, 202, 
 497         223, 202, 223, 202, 202, 202, 251, 278, 
 498         202, 1, 207, 208, 202, 202, 202, 215, 
 499         202, 223, 202, 223, 202, 277, 202, 251, 
 500         251, 202, 1, 207, 208, 202, 202, 202, 
 501         215, 202, 223, 202, 223, 3, 202, 202, 
 502         19, 224, 202, 1, 207, 208, 202, 202, 
 503         202, 215, 202, 223, 202, 216, 217, 222, 
 504         222, 6, 1, 207, 208, 202, 202, 202, 
 505         220, 202, 202, 210, 202, 216, 217, 218, 
 506         222, 6, 1, 207, 208, 202, 202, 36, 
 507         220, 202, 202, 210, 202, 213, 202, 279, 
 508         202, 260, 260, 6, 1, 207, 208, 202, 
 509         202, 202, 215, 202, 213, 202, 213, 202, 
 510         202, 202, 251, 251, 202, 1, 207, 208, 
 511         202, 202, 202, 215, 202, 213, 202, 213, 
 512         202, 202, 202, 251, 280, 202, 1, 207, 
 513         208, 202, 202, 202, 215, 202, 213, 202, 
 514         213, 202, 279, 202, 251, 251, 202, 1, 
 515         207, 208, 202, 202, 202, 215, 202, 213, 
 516         202, 213, 3, 202, 202, 19, 214, 202, 
 517         1, 207, 208, 202, 202, 202, 215, 202, 
 518         213, 202, 203, 204, 212, 212, 6, 1, 
 519         207, 208, 202, 202, 202, 209, 202, 202, 
 520         210, 202, 203, 204, 205, 212, 6, 1, 
 521         207, 208, 202, 202, 38, 209, 202, 202, 
 522         210, 202, 282, 283, 284, 285, 45, 40, 
 523         286, 287, 281, 281, 77, 288, 281, 281, 
 524         289, 281, 290, 283, 291, 285, 45, 40, 
 525         286, 287, 281, 281, 281, 288, 281, 281, 
 526         289, 281, 283, 291, 285, 45, 40, 286, 
 527         287, 281, 281, 281, 288, 281, 281, 289, 
 528         281, 292, 281, 281, 281, 58, 293, 281, 
 529         40, 286, 287, 281, 281, 281, 294, 281, 
 530         292, 281, 295, 296, 297, 298, 45, 40, 
 531         286, 287, 281, 281, 75, 299, 281, 281, 
 532         289, 281, 300, 296, 301, 301, 45, 40, 
 533         286, 287, 281, 281, 281, 299, 281, 281, 
 534         289, 281, 296, 301, 301, 45, 40, 286, 
 535         287, 281, 281, 281, 299, 281, 281, 289, 
 536         281, 302, 281, 281, 281, 58, 303, 281, 
 537         40, 286, 287, 281, 281, 281, 294, 281, 
 538         302, 281, 304, 305, 306, 307, 45, 40, 
 539         286, 287, 281, 281, 73, 308, 281, 281, 
 540         289, 281, 309, 305, 310, 310, 45, 40, 
 541         286, 287, 281, 281, 281, 308, 281, 281, 
 542         289, 281, 305, 310, 310, 45, 40, 286, 
 543         287, 281, 281, 281, 308, 281, 281, 289, 
 544         281, 311, 281, 281, 281, 58, 312, 281, 
 545         40, 286, 287, 281, 281, 281, 294, 281, 
 546         311, 281, 313, 314, 315, 316, 45, 40, 
 547         286, 287, 281, 281, 71, 317, 281, 281, 
 548         289, 281, 318, 314, 319, 319, 45, 40, 
 549         286, 287, 281, 281, 281, 317, 281, 281, 
 550         289, 281, 314, 319, 319, 45, 40, 286, 
 551         287, 281, 281, 281, 317, 281, 281, 289, 
 552         281, 320, 281, 281, 281, 58, 321, 281, 
 553         40, 286, 287, 281, 281, 281, 294, 281, 
 554         320, 281, 322, 323, 324, 325, 45, 40, 
 555         286, 287, 281, 281, 69, 326, 281, 281, 
 556         289, 281, 327, 323, 328, 328, 45, 40, 
 557         286, 287, 281, 281, 281, 326, 281, 281, 
 558         289, 281, 323, 328, 328, 45, 40, 286, 
 559         287, 281, 281, 281, 326, 281, 281, 289, 
 560         281, 58, 329, 281, 40, 286, 287, 281, 
 561         281, 281, 294, 281, 330, 330, 281, 40, 
 562         286, 287, 281, 281, 281, 294, 281, 331, 
 563         281, 281, 332, 286, 287, 281, 286, 287, 
 564         281, 333, 281, 286, 334, 281, 286, 335, 
 565         281, 286, 281, 331, 281, 281, 281, 286, 
 566         287, 281, 336, 281, 337, 338, 281, 40, 
 567         286, 287, 281, 281, 43, 281, 42, 281, 
 568         330, 330, 281, 40, 286, 287, 281, 330, 
 569         330, 281, 40, 286, 287, 281, 336, 281, 
 570         330, 330, 281, 40, 286, 287, 281, 336, 
 571         281, 337, 330, 281, 40, 286, 287, 281, 
 572         281, 43, 281, 58, 281, 339, 339, 45, 
 573         40, 286, 287, 281, 281, 281, 294, 281, 
 574         340, 67, 341, 342, 48, 40, 286, 287, 
 575         281, 281, 281, 294, 281, 67, 341, 342, 
 576         48, 40, 286, 287, 281, 281, 281, 294, 
 577         281, 341, 341, 48, 40, 286, 287, 281, 
 578         281, 281, 294, 281, 343, 64, 344, 345, 
 579         51, 40, 286, 287, 281, 281, 281, 294, 
 580         281, 64, 344, 345, 51, 40, 286, 287, 
 581         281, 281, 281, 294, 281, 344, 344, 51, 
 582         40, 286, 287, 281, 281, 281, 294, 281, 
 583         346, 61, 347, 348, 54, 40, 286, 287, 
 584         281, 281, 281, 294, 281, 61, 347, 348, 
 585         54, 40, 286, 287, 281, 281, 281, 294, 
 586         281, 347, 347, 54, 40, 286, 287, 281, 
 587         281, 281, 294, 281, 349, 58, 330, 350, 
 588         281, 40, 286, 287, 281, 281, 281, 294, 
 589         281, 58, 330, 350, 281, 40, 286, 287, 
 590         281, 281, 281, 294, 281, 330, 351, 281, 
 591         40, 286, 287, 281, 281, 281, 294, 281, 
 592         58, 281, 330, 330, 281, 40, 286, 287, 
 593         281, 281, 281, 294, 281, 41, 42, 281, 
 594         281, 58, 329, 281, 40, 286, 287, 281, 
 595         281, 281, 294, 281, 41, 281, 323, 328, 
 596         328, 45, 40, 286, 287, 281, 281, 281, 
 597         326, 281, 322, 323, 328, 328, 45, 40, 
 598         286, 287, 281, 281, 281, 326, 281, 281, 
 599         289, 281, 322, 323, 324, 328, 45, 40, 
 600         286, 287, 281, 281, 69, 326, 281, 281, 
 601         289, 281, 320, 281, 352, 281, 339, 339, 
 602         45, 40, 286, 287, 281, 281, 281, 294, 
 603         281, 320, 281, 320, 281, 281, 281, 330, 
 604         330, 281, 40, 286, 287, 281, 281, 281, 
 605         294, 281, 320, 281, 320, 281, 281, 281, 
 606         330, 353, 281, 40, 286, 287, 281, 281, 
 607         281, 294, 281, 320, 281, 320, 281, 352, 
 608         281, 330, 330, 281, 40, 286, 287, 281, 
 609         281, 281, 294, 281, 320, 281, 320, 42, 
 610         281, 281, 58, 321, 281, 40, 286, 287, 
 611         281, 281, 281, 294, 281, 320, 281, 313, 
 612         314, 319, 319, 45, 40, 286, 287, 281, 
 613         281, 281, 317, 281, 281, 289, 281, 313, 
 614         314, 315, 319, 45, 40, 286, 287, 281, 
 615         281, 71, 317, 281, 281, 289, 281, 311, 
 616         281, 354, 281, 339, 339, 45, 40, 286, 
 617         287, 281, 281, 281, 294, 281, 311, 281, 
 618         311, 281, 281, 281, 330, 330, 281, 40, 
 619         286, 287, 281, 281, 281, 294, 281, 311, 
 620         281, 311, 281, 281, 281, 330, 355, 281, 
 621         40, 286, 287, 281, 281, 281, 294, 281, 
 622         311, 281, 311, 281, 354, 281, 330, 330, 
 623         281, 40, 286, 287, 281, 281, 281, 294, 
 624         281, 311, 281, 311, 42, 281, 281, 58, 
 625         312, 281, 40, 286, 287, 281, 281, 281, 
 626         294, 281, 311, 281, 304, 305, 310, 310, 
 627         45, 40, 286, 287, 281, 281, 281, 308, 
 628         281, 281, 289, 281, 304, 305, 306, 310, 
 629         45, 40, 286, 287, 281, 281, 73, 308, 
 630         281, 281, 289, 281, 302, 281, 356, 281, 
 631         339, 339, 45, 40, 286, 287, 281, 281, 
 632         281, 294, 281, 302, 281, 302, 281, 281, 
 633         281, 330, 330, 281, 40, 286, 287, 281, 
 634         281, 281, 294, 281, 302, 281, 302, 281, 
 635         281, 281, 330, 357, 281, 40, 286, 287, 
 636         281, 281, 281, 294, 281, 302, 281, 302, 
 637         281, 356, 281, 330, 330, 281, 40, 286, 
 638         287, 281, 281, 281, 294, 281, 302, 281, 
 639         302, 42, 281, 281, 58, 303, 281, 40, 
 640         286, 287, 281, 281, 281, 294, 281, 302, 
 641         281, 295, 296, 301, 301, 45, 40, 286, 
 642         287, 281, 281, 281, 299, 281, 281, 289, 
 643         281, 295, 296, 297, 301, 45, 40, 286, 
 644         287, 281, 281, 75, 299, 281, 281, 289, 
 645         281, 292, 281, 358, 281, 339, 339, 45, 
 646         40, 286, 287, 281, 281, 281, 294, 281, 
 647         292, 281, 292, 281, 281, 281, 330, 330, 
 648         281, 40, 286, 287, 281, 281, 281, 294, 
 649         281, 292, 281, 292, 281, 281, 281, 330, 
 650         359, 281, 40, 286, 287, 281, 281, 281, 
 651         294, 281, 292, 281, 292, 281, 358, 281, 
 652         330, 330, 281, 40, 286, 287, 281, 281, 
 653         281, 294, 281, 292, 281, 76, 44, 44, 
 654         45, 40, 281, 281, 281, 281, 281, 76, 
 655         281, 292, 42, 281, 281, 58, 293, 281, 
 656         40, 286, 287, 281, 281, 281, 294, 281, 
 657         292, 281, 282, 283, 291, 285, 45, 40, 
 658         286, 287, 281, 281, 281, 288, 281, 281, 
 659         289, 281, 361, 191, 362, 362, 84, 79, 
 660         194, 195, 360, 360, 360, 197, 360, 360, 
 661         200, 360, 191, 362, 362, 84, 79, 194, 
 662         195, 360, 360, 360, 197, 360, 360, 200, 
 663         360, 363, 360, 360, 360, 98, 364, 360, 
 664         79, 194, 195, 360, 360, 360, 365, 360, 
 665         363, 360, 366, 367, 368, 369, 84, 79, 
 666         194, 195, 360, 360, 115, 370, 360, 360, 
 667         200, 360, 371, 367, 372, 372, 84, 79, 
 668         194, 195, 360, 360, 360, 370, 360, 360, 
 669         200, 360, 367, 372, 372, 84, 79, 194, 
 670         195, 360, 360, 360, 370, 360, 360, 200, 
 671         360, 373, 360, 360, 360, 98, 374, 360, 
 672         79, 194, 195, 360, 360, 360, 365, 360, 
 673         373, 360, 375, 376, 377, 378, 84, 79, 
 674         194, 195, 360, 360, 113, 379, 360, 360, 
 675         200, 360, 380, 376, 381, 381, 84, 79, 
 676         194, 195, 360, 360, 360, 379, 360, 360, 
 677         200, 360, 376, 381, 381, 84, 79, 194, 
 678         195, 360, 360, 360, 379, 360, 360, 200, 
 679         360, 382, 360, 360, 360, 98, 383, 360, 
 680         79, 194, 195, 360, 360, 360, 365, 360, 
 681         382, 360, 384, 385, 386, 387, 84, 79, 
 682         194, 195, 360, 360, 111, 388, 360, 360, 
 683         200, 360, 389, 385, 390, 390, 84, 79, 
 684         194, 195, 360, 360, 360, 388, 360, 360, 
 685         200, 360, 385, 390, 390, 84, 79, 194, 
 686         195, 360, 360, 360, 388, 360, 360, 200, 
 687         360, 391, 360, 360, 360, 98, 392, 360, 
 688         79, 194, 195, 360, 360, 360, 365, 360, 
 689         391, 360, 393, 394, 395, 396, 84, 79, 
 690         194, 195, 360, 360, 109, 397, 360, 360, 
 691         200, 360, 398, 394, 399, 399, 84, 79, 
 692         194, 195, 360, 360, 360, 397, 360, 360, 
 693         200, 360, 394, 399, 399, 84, 79, 194, 
 694         195, 360, 360, 360, 397, 360, 360, 200, 
 695         360, 98, 400, 360, 79, 194, 195, 360, 
 696         360, 360, 365, 360, 401, 401, 360, 79, 
 697         194, 195, 360, 360, 360, 365, 360, 402, 
 698         360, 360, 403, 194, 195, 360, 194, 195, 
 699         360, 404, 360, 194, 405, 360, 194, 406, 
 700         360, 194, 360, 402, 360, 360, 360, 194, 
 701         195, 360, 407, 360, 408, 409, 360, 79, 
 702         194, 195, 360, 360, 82, 360, 81, 360, 
 703         401, 401, 360, 79, 194, 195, 360, 401, 
 704         401, 360, 79, 194, 195, 360, 407, 360, 
 705         401, 401, 360, 79, 194, 195, 360, 407, 
 706         360, 408, 401, 360, 79, 194, 195, 360, 
 707         360, 82, 360, 98, 360, 410, 410, 84, 
 708         79, 194, 195, 360, 360, 360, 365, 360, 
 709         411, 107, 412, 413, 88, 79, 194, 195, 
 710         360, 360, 360, 365, 360, 107, 412, 413, 
 711         88, 79, 194, 195, 360, 360, 360, 365, 
 712         360, 412, 412, 88, 79, 194, 195, 360, 
 713         360, 360, 365, 360, 414, 104, 415, 416, 
 714         91, 79, 194, 195, 360, 360, 360, 365, 
 715         360, 104, 415, 416, 91, 79, 194, 195, 
 716         360, 360, 360, 365, 360, 415, 415, 91, 
 717         79, 194, 195, 360, 360, 360, 365, 360, 
 718         417, 101, 418, 419, 94, 79, 194, 195, 
 719         360, 360, 360, 365, 360, 101, 418, 419, 
 720         94, 79, 194, 195, 360, 360, 360, 365, 
 721         360, 418, 418, 94, 79, 194, 195, 360, 
 722         360, 360, 365, 360, 420, 98, 401, 421, 
 723         360, 79, 194, 195, 360, 360, 360, 365, 
 724         360, 98, 401, 421, 360, 79, 194, 195, 
 725         360, 360, 360, 365, 360, 401, 422, 360, 
 726         79, 194, 195, 360, 360, 360, 365, 360, 
 727         98, 360, 401, 401, 360, 79, 194, 195, 
 728         360, 360, 360, 365, 360, 80, 81, 360, 
 729         360, 98, 400, 360, 79, 194, 195, 360, 
 730         360, 360, 365, 360, 80, 360, 394, 399, 
 731         399, 84, 79, 194, 195, 360, 360, 360, 
 732         397, 360, 393, 394, 399, 399, 84, 79, 
 733         194, 195, 360, 360, 360, 397, 360, 360, 
 734         200, 360, 393, 394, 395, 399, 84, 79, 
 735         194, 195, 360, 360, 109, 397, 360, 360, 
 736         200, 360, 391, 360, 423, 360, 410, 410, 
 737         84, 79, 194, 195, 360, 360, 360, 365, 
 738         360, 391, 360, 391, 360, 360, 360, 401, 
 739         401, 360, 79, 194, 195, 360, 360, 360, 
 740         365, 360, 391, 360, 391, 360, 360, 360, 
 741         401, 424, 360, 79, 194, 195, 360, 360, 
 742         360, 365, 360, 391, 360, 391, 360, 423, 
 743         360, 401, 401, 360, 79, 194, 195, 360, 
 744         360, 360, 365, 360, 391, 360, 391, 81, 
 745         360, 360, 98, 392, 360, 79, 194, 195, 
 746         360, 360, 360, 365, 360, 391, 360, 384, 
 747         385, 390, 390, 84, 79, 194, 195, 360, 
 748         360, 360, 388, 360, 360, 200, 360, 384, 
 749         385, 386, 390, 84, 79, 194, 195, 360, 
 750         360, 111, 388, 360, 360, 200, 360, 382, 
 751         360, 425, 360, 410, 410, 84, 79, 194, 
 752         195, 360, 360, 360, 365, 360, 382, 360, 
 753         382, 360, 360, 360, 401, 401, 360, 79, 
 754         194, 195, 360, 360, 360, 365, 360, 382, 
 755         360, 382, 360, 360, 360, 401, 426, 360, 
 756         79, 194, 195, 360, 360, 360, 365, 360, 
 757         382, 360, 382, 360, 425, 360, 401, 401, 
 758         360, 79, 194, 195, 360, 360, 360, 365, 
 759         360, 382, 360, 382, 81, 360, 360, 98, 
 760         383, 360, 79, 194, 195, 360, 360, 360, 
 761         365, 360, 382, 360, 375, 376, 381, 381, 
 762         84, 79, 194, 195, 360, 360, 360, 379, 
 763         360, 360, 200, 360, 375, 376, 377, 381, 
 764         84, 79, 194, 195, 360, 360, 113, 379, 
 765         360, 360, 200, 360, 373, 360, 427, 360, 
 766         410, 410, 84, 79, 194, 195, 360, 360, 
 767         360, 365, 360, 373, 360, 373, 360, 360, 
 768         360, 401, 401, 360, 79, 194, 195, 360, 
 769         360, 360, 365, 360, 373, 360, 373, 360, 
 770         360, 360, 401, 428, 360, 79, 194, 195, 
 771         360, 360, 360, 365, 360, 373, 360, 373, 
 772         360, 427, 360, 401, 401, 360, 79, 194, 
 773         195, 360, 360, 360, 365, 360, 373, 360, 
 774         373, 81, 360, 360, 98, 374, 360, 79, 
 775         194, 195, 360, 360, 360, 365, 360, 373, 
 776         360, 366, 367, 372, 372, 84, 79, 194, 
 777         195, 360, 360, 360, 370, 360, 360, 200, 
 778         360, 366, 367, 368, 372, 84, 79, 194, 
 779         195, 360, 360, 115, 370, 360, 360, 200, 
 780         360, 363, 360, 429, 360, 410, 410, 84, 
 781         79, 194, 195, 360, 360, 360, 365, 360, 
 782         363, 360, 363, 360, 360, 360, 401, 401, 
 783         360, 79, 194, 195, 360, 360, 360, 365, 
 784         360, 363, 360, 363, 360, 360, 360, 401, 
 785         430, 360, 79, 194, 195, 360, 360, 360, 
 786         365, 360, 363, 360, 363, 360, 429, 360, 
 787         401, 401, 360, 79, 194, 195, 360, 360, 
 788         360, 365, 360, 363, 360, 363, 81, 360, 
 789         360, 98, 364, 360, 79, 194, 195, 360, 
 790         360, 360, 365, 360, 363, 360, 116, 83, 
 791         83, 84, 79, 431, 431, 431, 431, 156, 
 792         116, 431, 190, 191, 362, 362, 84, 79, 
 793         194, 195, 360, 360, 360, 197, 360, 360, 
 794         200, 360, 116, 83, 83, 84, 79, 431, 
 795         431, 431, 431, 431, 116, 431, 433, 434, 
 796         435, 436, 123, 118, 437, 438, 432, 432, 
 797         155, 439, 432, 432, 440, 432, 441, 434, 
 798         436, 436, 123, 118, 437, 438, 432, 432, 
 799         432, 439, 432, 432, 440, 432, 434, 436, 
 800         436, 123, 118, 437, 438, 432, 432, 432, 
 801         439, 432, 432, 440, 432, 442, 432, 432, 
 802         432, 136, 443, 432, 118, 437, 438, 432, 
 803         432, 432, 444, 432, 442, 432, 445, 446, 
 804         447, 448, 123, 118, 437, 438, 432, 432, 
 805         153, 449, 432, 432, 440, 432, 450, 446, 
 806         451, 451, 123, 118, 437, 438, 432, 432, 
 807         432, 449, 432, 432, 440, 432, 446, 451, 
 808         451, 123, 118, 437, 438, 432, 432, 432, 
 809         449, 432, 432, 440, 432, 452, 432, 432, 
 810         432, 136, 453, 432, 118, 437, 438, 432, 
 811         432, 432, 444, 432, 452, 432, 454, 455, 
 812         456, 457, 123, 118, 437, 438, 432, 432, 
 813         151, 458, 432, 432, 440, 432, 459, 455, 
 814         460, 460, 123, 118, 437, 438, 432, 432, 
 815         432, 458, 432, 432, 440, 432, 455, 460, 
 816         460, 123, 118, 437, 438, 432, 432, 432, 
 817         458, 432, 432, 440, 432, 461, 432, 432, 
 818         432, 136, 462, 432, 118, 437, 438, 432, 
 819         432, 432, 444, 432, 461, 432, 463, 464, 
 820         465, 466, 123, 118, 437, 438, 432, 432, 
 821         149, 467, 432, 432, 440, 432, 468, 464, 
 822         469, 469, 123, 118, 437, 438, 432, 432, 
 823         432, 467, 432, 432, 440, 432, 464, 469, 
 824         469, 123, 118, 437, 438, 432, 432, 432, 
 825         467, 432, 432, 440, 432, 470, 432, 432, 
 826         432, 136, 471, 432, 118, 437, 438, 432, 
 827         432, 432, 444, 432, 470, 432, 472, 473, 
 828         474, 475, 123, 118, 437, 438, 432, 432, 
 829         147, 476, 432, 432, 440, 432, 477, 473, 
 830         478, 478, 123, 118, 437, 438, 432, 432, 
 831         432, 476, 432, 432, 440, 432, 473, 478, 
 832         478, 123, 118, 437, 438, 432, 432, 432, 
 833         476, 432, 432, 440, 432, 136, 479, 432, 
 834         118, 437, 438, 432, 432, 432, 444, 432, 
 835         480, 480, 432, 118, 437, 438, 432, 432, 
 836         432, 444, 432, 481, 432, 432, 482, 437, 
 837         438, 432, 437, 438, 432, 483, 432, 437, 
 838         484, 432, 437, 485, 432, 437, 432, 481, 
 839         432, 432, 432, 437, 438, 432, 486, 432, 
 840         487, 488, 432, 118, 437, 438, 432, 432, 
 841         121, 432, 120, 432, 480, 480, 432, 118, 
 842         437, 438, 432, 480, 480, 432, 118, 437, 
 843         438, 432, 486, 432, 480, 480, 432, 118, 
 844         437, 438, 432, 486, 432, 487, 480, 432, 
 845         118, 437, 438, 432, 432, 121, 432, 136, 
 846         432, 489, 489, 123, 118, 437, 438, 432, 
 847         432, 432, 444, 432, 490, 145, 491, 492, 
 848         126, 118, 437, 438, 432, 432, 432, 444, 
 849         432, 145, 491, 492, 126, 118, 437, 438, 
 850         432, 432, 432, 444, 432, 491, 491, 126, 
 851         118, 437, 438, 432, 432, 432, 444, 432, 
 852         493, 142, 494, 495, 129, 118, 437, 438, 
 853         432, 432, 432, 444, 432, 142, 494, 495, 
 854         129, 118, 437, 438, 432, 432, 432, 444, 
 855         432, 494, 494, 129, 118, 437, 438, 432, 
 856         432, 432, 444, 432, 496, 139, 497, 498, 
 857         132, 118, 437, 438, 432, 432, 432, 444, 
 858         432, 139, 497, 498, 132, 118, 437, 438, 
 859         432, 432, 432, 444, 432, 497, 497, 132, 
 860         118, 437, 438, 432, 432, 432, 444, 432, 
 861         499, 136, 480, 500, 432, 118, 437, 438, 
 862         432, 432, 432, 444, 432, 136, 480, 500, 
 863         432, 118, 437, 438, 432, 432, 432, 444, 
 864         432, 480, 501, 432, 118, 437, 438, 432, 
 865         432, 432, 444, 432, 136, 432, 480, 480, 
 866         432, 118, 437, 438, 432, 432, 432, 444, 
 867         432, 119, 120, 432, 432, 136, 479, 432, 
 868         118, 437, 438, 432, 432, 432, 444, 432, 
 869         119, 432, 473, 478, 478, 123, 118, 437, 
 870         438, 432, 432, 432, 476, 432, 472, 473, 
 871         478, 478, 123, 118, 437, 438, 432, 432, 
 872         432, 476, 432, 432, 440, 432, 472, 473, 
 873         474, 478, 123, 118, 437, 438, 432, 432, 
 874         147, 476, 432, 432, 440, 432, 470, 432, 
 875         502, 432, 489, 489, 123, 118, 437, 438, 
 876         432, 432, 432, 444, 432, 470, 432, 470, 
 877         432, 432, 432, 480, 480, 432, 118, 437, 
 878         438, 432, 432, 432, 444, 432, 470, 432, 
 879         470, 432, 432, 432, 480, 503, 432, 118, 
 880         437, 438, 432, 432, 432, 444, 432, 470, 
 881         432, 470, 432, 502, 432, 480, 480, 432, 
 882         118, 437, 438, 432, 432, 432, 444, 432, 
 883         470, 432, 470, 120, 432, 432, 136, 471, 
 884         432, 118, 437, 438, 432, 432, 432, 444, 
 885         432, 470, 432, 463, 464, 469, 469, 123, 
 886         118, 437, 438, 432, 432, 432, 467, 432, 
 887         432, 440, 432, 463, 464, 465, 469, 123, 
 888         118, 437, 438, 432, 432, 149, 467, 432, 
 889         432, 440, 432, 461, 432, 504, 432, 489, 
 890         489, 123, 118, 437, 438, 432, 432, 432, 
 891         444, 432, 461, 432, 461, 432, 432, 432, 
 892         480, 480, 432, 118, 437, 438, 432, 432, 
 893         432, 444, 432, 461, 432, 461, 432, 432, 
 894         432, 480, 505, 432, 118, 437, 438, 432, 
 895         432, 432, 444, 432, 461, 432, 461, 432, 
 896         504, 432, 480, 480, 432, 118, 437, 438, 
 897         432, 432, 432, 444, 432, 461, 432, 461, 
 898         120, 432, 432, 136, 462, 432, 118, 437, 
 899         438, 432, 432, 432, 444, 432, 461, 432, 
 900         454, 455, 460, 460, 123, 118, 437, 438, 
 901         432, 432, 432, 458, 432, 432, 440, 432, 
 902         454, 455, 456, 460, 123, 118, 437, 438, 
 903         432, 432, 151, 458, 432, 432, 440, 432, 
 904         452, 432, 506, 432, 489, 489, 123, 118, 
 905         437, 438, 432, 432, 432, 444, 432, 452, 
 906         432, 452, 432, 432, 432, 480, 480, 432, 
 907         118, 437, 438, 432, 432, 432, 444, 432, 
 908         452, 432, 452, 432, 432, 432, 480, 507, 
 909         432, 118, 437, 438, 432, 432, 432, 444, 
 910         432, 452, 432, 452, 432, 506, 432, 480, 
 911         480, 432, 118, 437, 438, 432, 432, 432, 
 912         444, 432, 452, 432, 452, 120, 432, 432, 
 913         136, 453, 432, 118, 437, 438, 432, 432, 
 914         432, 444, 432, 452, 432, 445, 446, 451, 
 915         451, 123, 118, 437, 438, 432, 432, 432, 
 916         449, 432, 432, 440, 432, 445, 446, 447, 
 917         451, 123, 118, 437, 438, 432, 432, 153, 
 918         449, 432, 432, 440, 432, 442, 432, 508, 
 919         432, 489, 489, 123, 118, 437, 438, 432, 
 920         432, 432, 444, 432, 442, 432, 442, 432, 
 921         432, 432, 480, 480, 432, 118, 437, 438, 
 922         432, 432, 432, 444, 432, 442, 432, 442, 
 923         432, 432, 432, 480, 509, 432, 118, 437, 
 924         438, 432, 432, 432, 444, 432, 442, 432, 
 925         442, 432, 508, 432, 480, 480, 432, 118, 
 926         437, 438, 432, 432, 432, 444, 432, 442, 
 927         432, 442, 120, 432, 432, 136, 443, 432, 
 928         118, 437, 438, 432, 432, 432, 444, 432, 
 929         442, 432, 433, 434, 436, 436, 123, 118, 
 930         437, 438, 432, 432, 432, 439, 432, 432, 
 931         440, 432, 188, 189, 190, 191, 510, 362, 
 932         84, 79, 194, 195, 196, 196, 156, 197, 
 933         360, 188, 200, 360, 203, 511, 205, 206, 
 934         6, 1, 207, 208, 202, 202, 38, 209, 
 935         202, 202, 210, 202, 213, 189, 190, 191, 
 936         512, 513, 84, 157, 514, 515, 202, 196, 
 937         156, 516, 202, 213, 200, 202, 116, 517, 
 938         517, 84, 157, 207, 208, 202, 202, 156, 
 939         518, 202, 519, 202, 202, 520, 514, 515, 
 940         202, 514, 515, 202, 254, 202, 514, 521, 
 941         202, 514, 522, 202, 514, 202, 519, 202, 
 942         202, 202, 514, 515, 202, 523, 3, 360, 
 943         360, 401, 430, 360, 79, 194, 195, 360, 
 944         360, 360, 365, 360, 523, 360, 524, 367, 
 945         525, 526, 84, 157, 514, 515, 202, 202, 
 946         158, 370, 202, 202, 200, 202, 527, 367, 
 947         528, 528, 84, 157, 514, 515, 202, 202, 
 948         202, 370, 202, 202, 200, 202, 367, 528, 
 949         528, 84, 157, 514, 515, 202, 202, 202, 
 950         370, 202, 202, 200, 202, 524, 367, 528, 
 951         528, 84, 157, 514, 515, 202, 202, 202, 
 952         370, 202, 202, 200, 202, 524, 367, 525, 
 953         528, 84, 157, 514, 515, 202, 202, 158, 
 954         370, 202, 202, 200, 202, 213, 202, 279, 
 955         116, 529, 529, 160, 157, 207, 208, 202, 
 956         202, 202, 518, 202, 213, 202, 530, 184, 
 957         531, 532, 162, 157, 514, 515, 202, 202, 
 958         202, 533, 202, 184, 531, 532, 162, 157, 
 959         514, 515, 202, 202, 202, 533, 202, 531, 
 960         531, 162, 157, 514, 515, 202, 202, 202, 
 961         533, 202, 534, 181, 535, 536, 165, 157, 
 962         514, 515, 202, 202, 202, 533, 202, 181, 
 963         535, 536, 165, 157, 514, 515, 202, 202, 
 964         202, 533, 202, 535, 535, 165, 157, 514, 
 965         515, 202, 202, 202, 533, 202, 537, 178, 
 966         538, 539, 168, 157, 514, 515, 202, 202, 
 967         202, 533, 202, 178, 538, 539, 168, 157, 
 968         514, 515, 202, 202, 202, 533, 202, 538, 
 969         538, 168, 157, 514, 515, 202, 202, 202, 
 970         533, 202, 540, 175, 541, 542, 202, 157, 
 971         514, 515, 202, 202, 202, 533, 202, 175, 
 972         541, 542, 202, 157, 514, 515, 202, 202, 
 973         202, 533, 202, 541, 541, 202, 157, 514, 
 974         515, 202, 202, 202, 533, 202, 543, 202, 
 975         544, 545, 202, 157, 514, 515, 202, 202, 
 976         172, 202, 171, 202, 541, 541, 202, 157, 
 977         514, 515, 202, 541, 541, 202, 157, 514, 
 978         515, 202, 543, 202, 541, 541, 202, 157, 
 979         514, 515, 202, 543, 202, 544, 541, 202, 
 980         157, 514, 515, 202, 202, 172, 202, 523, 
 981         171, 360, 360, 98, 364, 360, 79, 194, 
 982         195, 360, 360, 360, 365, 360, 523, 360, 
 983         547, 546, 548, 548, 546, 186, 549, 550, 
 984         546, 548, 548, 546, 186, 549, 550, 546, 
 985         551, 546, 546, 552, 549, 550, 546, 549, 
 986         550, 546, 553, 546, 549, 554, 546, 549, 
 987         555, 546, 549, 546, 551, 546, 546, 546, 
 988         549, 550, 546, 0


 989 };
 990 
 991 static const short _indic_syllable_machine_trans_targs[] = {
 992         178, 200, 207, 209, 210, 4, 213, 5, 
 993         7, 216, 8, 10, 219, 11, 13, 222, 
 994         14, 16, 17, 199, 19, 20, 221, 22, 
 995         23, 218, 25, 26, 215, 224, 228, 232, 
 996         235, 239, 242, 246, 249, 253, 256, 178, 
 997         279, 286, 288, 289, 41, 292, 42, 44, 
 998         295, 45, 47, 298, 48, 50, 301, 51, 
 999         53, 54, 278, 56, 57, 300, 59, 60, 
1000         297, 62, 63, 294, 303, 307, 311, 314, 
1001         318, 321, 325, 328, 332, 336, 178, 357, 
1002         364, 366, 367, 78, 370, 178, 79, 81, 
1003         373, 82, 84, 376, 85, 87, 379, 88, 
1004         90, 91, 356, 93, 94, 378, 96, 97, 
1005         375, 99, 100, 372, 381, 385, 389, 392, 
1006         396, 399, 403, 406, 410, 178, 437, 444, 
1007         446, 447, 114, 450, 115, 117, 453, 118, 
1008         120, 456, 121, 123, 459, 124, 126, 127, 
1009         436, 129, 130, 458, 132, 133, 455, 135, 
1010         136, 452, 461, 465, 469, 472, 476, 479, 
1011         483, 486, 490, 493, 414, 498, 509, 152, 
1012         512, 154, 515, 155, 157, 518, 158, 160, 
1013         521, 161, 524, 526, 527, 166, 167, 523, 
1014         169, 170, 520, 172, 173, 517, 175, 176, 
1015         514, 178, 532, 178, 179, 258, 337, 339, 
1016         413, 415, 359, 360, 416, 412, 494, 495, 
1017         384, 530, 178, 180, 182, 36, 257, 202, 
1018         203, 255, 227, 181, 35, 183, 251, 1, 
1019         184, 186, 34, 250, 248, 185, 33, 187, 
1020         244, 188, 190, 32, 243, 241, 189, 31, 
1021         191, 237, 192, 194, 30, 236, 234, 193, 
1022         29, 195, 230, 196, 198, 28, 229, 226, 
1023         197, 27, 212, 0, 201, 206, 178, 204, 
1024         205, 208, 2, 211, 3, 214, 6, 24, 
1025         217, 9, 21, 220, 12, 18, 223, 15, 
1026         225, 231, 233, 238, 240, 245, 247, 252, 
1027         254, 178, 259, 261, 73, 334, 281, 282, 
1028         335, 306, 260, 72, 262, 330, 38, 263, 
1029         265, 71, 329, 327, 264, 70, 266, 323, 
1030         267, 269, 69, 322, 320, 268, 68, 270, 
1031         316, 271, 273, 67, 315, 313, 272, 66, 
1032         274, 309, 275, 277, 65, 308, 305, 276, 
1033         64, 291, 37, 280, 285, 178, 283, 284, 
1034         287, 39, 290, 40, 293, 43, 61, 296, 
1035         46, 58, 299, 49, 55, 302, 52, 304, 
1036         310, 312, 317, 319, 324, 326, 331, 333, 
1037         178, 338, 109, 340, 408, 75, 341, 343, 
1038         108, 407, 405, 342, 107, 344, 401, 345, 
1039         347, 106, 400, 398, 346, 105, 348, 394, 
1040         349, 351, 104, 393, 391, 350, 103, 352, 
1041         387, 353, 355, 102, 386, 383, 354, 101, 
1042         369, 74, 358, 363, 178, 361, 362, 365, 
1043         76, 368, 77, 371, 80, 98, 374, 83, 
1044         95, 377, 86, 92, 380, 89, 382, 388, 
1045         390, 395, 397, 402, 404, 409, 411, 178, 
1046         178, 417, 419, 146, 145, 439, 440, 492, 
1047         464, 418, 420, 488, 111, 421, 423, 144, 
1048         487, 485, 422, 143, 424, 481, 425, 427, 
1049         142, 480, 478, 426, 141, 428, 474, 429, 
1050         431, 140, 473, 471, 430, 139, 432, 467, 
1051         433, 435, 138, 466, 463, 434, 137, 449, 
1052         110, 438, 443, 178, 441, 442, 445, 112, 
1053         448, 113, 451, 116, 134, 454, 119, 131, 
1054         457, 122, 128, 460, 125, 462, 468, 470, 
1055         475, 477, 482, 484, 489, 491, 147, 496, 
1056         497, 511, 500, 501, 529, 148, 505, 499, 
1057         504, 502, 503, 506, 507, 150, 510, 508, 
1058         149, 151, 513, 153, 174, 163, 516, 156, 
1059         171, 519, 159, 168, 522, 162, 165, 525, 
1060         164, 528, 178, 531, 177, 534, 535, 533, 
1061         538, 178, 536, 537
1062 };
1063 
1064 static const char _indic_syllable_machine_trans_actions[] = {
1065         1, 0, 2, 2, 2, 0, 2, 0, 
1066         0, 2, 0, 0, 2, 0, 0, 2, 
1067         0, 0, 0, 2, 0, 0, 2, 0, 
1068         0, 2, 0, 0, 2, 2, 2, 2, 
1069         2, 2, 2, 2, 2, 2, 2, 3, 
1070         0, 2, 2, 2, 0, 2, 0, 0, 
1071         2, 0, 0, 2, 0, 0, 2, 0, 
1072         0, 0, 2, 0, 0, 2, 0, 0, 
1073         2, 0, 0, 2, 2, 2, 2, 2, 
1074         2, 2, 2, 2, 2, 2, 4, 0, 
1075         2, 2, 2, 0, 2, 5, 0, 0, 
1076         2, 0, 0, 2, 0, 0, 2, 0, 
1077         0, 0, 2, 0, 0, 2, 0, 0, 
1078         2, 0, 0, 2, 2, 6, 2, 6, 
1079         2, 6, 2, 6, 2, 7, 0, 2, 
1080         2, 2, 0, 2, 0, 0, 2, 0, 
1081         0, 2, 0, 0, 2, 0, 0, 0, 
1082         2, 0, 0, 2, 0, 0, 2, 0, 
1083         0, 2, 2, 2, 2, 2, 2, 2, 
1084         2, 2, 2, 2, 6, 0, 8, 0, 
1085         2, 0, 2, 0, 0, 2, 0, 0, 
1086         2, 0, 2, 2, 2, 0, 0, 2, 
1087         0, 0, 2, 0, 0, 2, 0, 0, 
1088         2, 9, 0, 12, 2, 2, 6, 2, 
1089         13, 13, 0, 0, 2, 2, 6, 2, 
1090         6, 2, 14, 2, 2, 0, 2, 0, 










1091         0, 2, 2, 2, 0, 2, 2, 0, 
1092         2, 2, 0, 2, 2, 2, 0, 2, 
1093         2, 2, 2, 0, 2, 2, 2, 0, 
1094         2, 2, 2, 2, 0, 2, 2, 2, 
1095         0, 2, 2, 2, 2, 0, 2, 2, 
1096         2, 0, 2, 0, 0, 0, 15, 0, 
1097         0, 2, 0, 2, 0, 2, 0, 0, 
1098         2, 0, 0, 2, 0, 0, 2, 0, 
1099         2, 2, 2, 2, 2, 2, 2, 2, 
1100         2, 16, 2, 2, 0, 2, 0, 0, 
1101         2, 2, 2, 0, 2, 2, 0, 2, 
1102         2, 0, 2, 2, 2, 0, 2, 2, 
1103         2, 2, 0, 2, 2, 2, 0, 2, 
1104         2, 2, 2, 0, 2, 2, 2, 0, 
1105         2, 2, 2, 2, 0, 2, 2, 2, 
1106         0, 2, 0, 0, 0, 17, 0, 0, 
1107         2, 0, 2, 0, 2, 0, 0, 2, 
1108         0, 0, 2, 0, 0, 2, 0, 2, 
1109         2, 2, 2, 2, 2, 2, 2, 2, 
1110         18, 6, 0, 6, 6, 0, 6, 2, 
1111         0, 6, 2, 6, 0, 6, 6, 6, 
1112         2, 0, 6, 2, 6, 0, 6, 6, 
1113         6, 2, 0, 6, 2, 6, 0, 6, 
1114         6, 6, 2, 0, 6, 2, 6, 0, 
1115         6, 0, 0, 0, 19, 0, 0, 2, 
1116         0, 2, 0, 2, 0, 0, 2, 0, 
1117         0, 2, 0, 0, 2, 0, 2, 2, 
1118         2, 2, 2, 2, 2, 2, 2, 20, 
1119         21, 2, 2, 0, 0, 0, 0, 2, 
1120         2, 2, 2, 2, 0, 2, 2, 0, 
1121         2, 2, 2, 0, 2, 2, 2, 2, 
1122         0, 2, 2, 2, 0, 2, 2, 2, 
1123         2, 0, 2, 2, 2, 0, 2, 2, 
1124         2, 2, 0, 2, 2, 2, 0, 2, 
1125         0, 0, 0, 22, 0, 0, 2, 0, 
1126         2, 0, 2, 0, 0, 2, 0, 0, 
1127         2, 0, 0, 2, 0, 2, 2, 2, 
1128         2, 2, 2, 2, 2, 2, 0, 0, 
1129         8, 2, 0, 0, 2, 0, 2, 0, 
1130         0, 0, 0, 8, 8, 0, 8, 8, 
1131         0, 0, 2, 0, 0, 0, 2, 0, 
1132         0, 2, 0, 0, 2, 0, 0, 2, 
1133         0, 2, 23, 2, 0, 0, 0, 0, 
1134         0, 24, 0, 0

1135 };
1136 
1137 static const char _indic_syllable_machine_to_state_actions[] = {
1138         0, 0, 0, 0, 0, 0, 0, 0, 
1139         0, 0, 0, 0, 0, 0, 0, 0, 
1140         0, 0, 0, 0, 0, 0, 0, 0, 
1141         0, 0, 0, 0, 0, 0, 0, 0, 
1142         0, 0, 0, 0, 0, 0, 0, 0, 
1143         0, 0, 0, 0, 0, 0, 0, 0, 
1144         0, 0, 0, 0, 0, 0, 0, 0, 
1145         0, 0, 0, 0, 0, 0, 0, 0, 
1146         0, 0, 0, 0, 0, 0, 0, 0, 
1147         0, 0, 0, 0, 0, 0, 0, 0, 
1148         0, 0, 0, 0, 0, 0, 0, 0, 
1149         0, 0, 0, 0, 0, 0, 0, 0, 
1150         0, 0, 0, 0, 0, 0, 0, 0, 
1151         0, 0, 0, 0, 0, 0, 0, 0, 
1152         0, 0, 0, 0, 0, 0, 0, 0, 
1153         0, 0, 0, 0, 0, 0, 0, 0, 
1154         0, 0, 0, 0, 0, 0, 0, 0, 


1185         0, 0, 0, 0, 0, 0, 0, 0, 
1186         0, 0, 0, 0, 0, 0, 0, 0, 
1187         0, 0, 0, 0, 0, 0, 0, 0, 
1188         0, 0, 0, 0, 0, 0, 0, 0, 
1189         0, 0, 0, 0, 0, 0, 0, 0, 
1190         0, 0, 0, 0, 0, 0, 0, 0, 
1191         0, 0, 0, 0, 0, 0, 0, 0, 
1192         0, 0, 0, 0, 0, 0, 0, 0, 
1193         0, 0, 0, 0, 0, 0, 0, 0, 
1194         0, 0, 0, 0, 0, 0, 0, 0, 
1195         0, 0, 0, 0, 0, 0, 0, 0, 
1196         0, 0, 0, 0, 0, 0, 0, 0, 
1197         0, 0, 0, 0, 0, 0, 0, 0, 
1198         0, 0, 0, 0, 0, 0, 0, 0, 
1199         0, 0, 0, 0, 0, 0, 0, 0, 
1200         0, 0, 0, 0, 0, 0, 0, 0, 
1201         0, 0, 0, 0, 0, 0, 0, 0, 
1202         0, 0, 0, 0, 0, 0, 0, 0, 
1203         0, 0, 0, 0, 0, 0, 0, 0, 
1204         0, 0, 0, 0, 0, 0, 0, 0, 
1205         0, 0, 0
1206 };
1207 
1208 static const char _indic_syllable_machine_from_state_actions[] = {
1209         0, 0, 0, 0, 0, 0, 0, 0, 
1210         0, 0, 0, 0, 0, 0, 0, 0, 
1211         0, 0, 0, 0, 0, 0, 0, 0, 
1212         0, 0, 0, 0, 0, 0, 0, 0, 
1213         0, 0, 0, 0, 0, 0, 0, 0, 
1214         0, 0, 0, 0, 0, 0, 0, 0, 
1215         0, 0, 0, 0, 0, 0, 0, 0, 
1216         0, 0, 0, 0, 0, 0, 0, 0, 
1217         0, 0, 0, 0, 0, 0, 0, 0, 
1218         0, 0, 0, 0, 0, 0, 0, 0, 
1219         0, 0, 0, 0, 0, 0, 0, 0, 
1220         0, 0, 0, 0, 0, 0, 0, 0, 
1221         0, 0, 0, 0, 0, 0, 0, 0, 
1222         0, 0, 0, 0, 0, 0, 0, 0, 
1223         0, 0, 0, 0, 0, 0, 0, 0, 
1224         0, 0, 0, 0, 0, 0, 0, 0, 
1225         0, 0, 0, 0, 0, 0, 0, 0, 


1256         0, 0, 0, 0, 0, 0, 0, 0, 
1257         0, 0, 0, 0, 0, 0, 0, 0, 
1258         0, 0, 0, 0, 0, 0, 0, 0, 
1259         0, 0, 0, 0, 0, 0, 0, 0, 
1260         0, 0, 0, 0, 0, 0, 0, 0, 
1261         0, 0, 0, 0, 0, 0, 0, 0, 
1262         0, 0, 0, 0, 0, 0, 0, 0, 
1263         0, 0, 0, 0, 0, 0, 0, 0, 
1264         0, 0, 0, 0, 0, 0, 0, 0, 
1265         0, 0, 0, 0, 0, 0, 0, 0, 
1266         0, 0, 0, 0, 0, 0, 0, 0, 
1267         0, 0, 0, 0, 0, 0, 0, 0, 
1268         0, 0, 0, 0, 0, 0, 0, 0, 
1269         0, 0, 0, 0, 0, 0, 0, 0, 
1270         0, 0, 0, 0, 0, 0, 0, 0, 
1271         0, 0, 0, 0, 0, 0, 0, 0, 
1272         0, 0, 0, 0, 0, 0, 0, 0, 
1273         0, 0, 0, 0, 0, 0, 0, 0, 
1274         0, 0, 0, 0, 0, 0, 0, 0, 
1275         0, 0, 0, 0, 0, 0, 0, 0, 
1276         0, 0, 0
1277 };
1278 
1279 static const short _indic_syllable_machine_eof_trans[] = {
1280         1, 1, 1, 1, 1, 1, 1, 1, 
1281         1, 1, 1, 1, 1, 1, 1, 1, 
1282         1, 1, 1, 1, 1, 1, 1, 1, 
1283         1, 1, 1, 1, 1, 1, 1, 1, 
1284         1, 1, 1, 1, 1, 40, 40, 40, 
1285         40, 40, 40, 40, 40, 40, 40, 40, 
1286         40, 40, 40, 40, 40, 40, 40, 40, 
1287         40, 40, 40, 40, 40, 40, 40, 40, 
1288         40, 40, 40, 40, 40, 40, 40, 40, 
1289         40, 40, 79, 79, 79, 79, 86, 86, 
1290         79, 79, 79, 79, 79, 79, 79, 79, 
1291         79, 79, 79, 79, 79, 79, 79, 79, 
1292         79, 79, 79, 79, 79, 79, 79, 79, 
1293         79, 79, 79, 79, 79, 79, 118, 118, 
1294         118, 118, 118, 118, 118, 118, 118, 118, 
1295         118, 118, 118, 118, 118, 118, 118, 118, 
1296         118, 118, 118, 118, 118, 118, 118, 118, 
1297         118, 118, 118, 118, 118, 118, 118, 118, 
1298         118, 118, 118, 79, 1, 1, 1, 1, 
1299         1, 1, 1, 1, 1, 1, 1, 1, 
1300         1, 1, 1, 1, 1, 1, 1, 1, 
1301         1, 1, 1, 1, 1, 1, 1, 1, 
1302         1, 186, 0, 203, 203, 203, 203, 203, 
1303         203, 203, 203, 203, 203, 203, 203, 203, 
1304         203, 203, 203, 203, 203, 203, 203, 203, 
1305         203, 203, 203, 203, 203, 203, 203, 203, 
1306         203, 203, 203, 203, 203, 203, 203, 203, 
1307         203, 203, 203, 203, 203, 203, 203, 203, 
1308         203, 203, 203, 203, 203, 203, 203, 203, 
1309         203, 203, 203, 203, 203, 203, 203, 203, 
1310         203, 203, 203, 203, 203, 203, 203, 203, 
1311         203, 203, 203, 203, 203, 203, 203, 203, 
1312         203, 203, 282, 282, 282, 282, 282, 282, 
1313         282, 282, 282, 282, 282, 282, 282, 282, 
1314         282, 282, 282, 282, 282, 282, 282, 282, 
1315         282, 282, 282, 282, 282, 282, 282, 282, 
1316         282, 282, 282, 282, 282, 282, 282, 282, 
1317         282, 282, 282, 282, 282, 282, 282, 282, 
1318         282, 282, 282, 282, 282, 282, 282, 282, 
1319         282, 282, 282, 282, 282, 282, 282, 282, 
1320         282, 282, 282, 282, 282, 282, 282, 282, 
1321         282, 282, 282, 282, 282, 282, 282, 282, 
1322         282, 361, 361, 361, 361, 361, 361, 361, 
1323         361, 361, 361, 361, 361, 361, 361, 361, 
1324         361, 361, 361, 361, 361, 361, 361, 361, 
1325         361, 361, 361, 361, 361, 361, 361, 361, 
1326         361, 361, 361, 361, 361, 361, 361, 361, 
1327         361, 361, 361, 361, 361, 361, 361, 361, 
1328         361, 361, 361, 361, 361, 361, 361, 361, 
1329         361, 361, 361, 361, 361, 361, 361, 361, 
1330         361, 361, 361, 361, 361, 361, 361, 361, 
1331         361, 361, 361, 361, 361, 432, 361, 432, 
1332         433, 433, 433, 433, 433, 433, 433, 433, 
1333         433, 433, 433, 433, 433, 433, 433, 433, 
1334         433, 433, 433, 433, 433, 433, 433, 433, 
1335         433, 433, 433, 433, 433, 433, 433, 433, 
1336         433, 433, 433, 433, 433, 433, 433, 433, 
1337         433, 433, 433, 433, 433, 433, 433, 433, 
1338         433, 433, 433, 433, 433, 433, 433, 433, 
1339         433, 433, 433, 433, 433, 433, 433, 433, 
1340         433, 433, 433, 433, 433, 433, 433, 433, 
1341         433, 433, 433, 433, 433, 433, 361, 203, 
1342         203, 203, 203, 203, 203, 203, 203, 203, 
1343         203, 361, 203, 203, 203, 203, 203, 203, 
1344         203, 203, 203, 203, 203, 203, 203, 203, 
1345         203, 203, 203, 203, 203, 203, 203, 203, 
1346         203, 361, 547, 547, 547, 547, 547, 547, 
1347         547, 547, 547
1348 };
1349 
1350 static const int indic_syllable_machine_start = 178;
1351 static const int indic_syllable_machine_first_final = 178;
1352 static const int indic_syllable_machine_error = -1;
1353 
1354 static const int indic_syllable_machine_en_main = 178;
1355 
1356 
1357 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1358 
1359 
1360 
1361 #line 96 "hb-ot-shape-complex-indic-machine.rl"
1362 
1363 
1364 #define found_syllable(syllable_type) \
1365   HB_STMT_START { \
1366     if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1367     for (unsigned int i = last; i < p+1; i++) \
1368       info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1369     last = p+1; \
1370     syllable_serial++; \
1371     if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1372   } HB_STMT_END
1373 
1374 static void
1375 find_syllables (hb_buffer_t *buffer)
1376 {
1377   unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1378   int cs;
1379   hb_glyph_info_t *info = buffer->info;
1380   
1381 #line 1382 "hb-ot-shape-complex-indic-machine.hh"
1382         {
1383         cs = indic_syllable_machine_start;
1384         ts = 0;
1385         te = 0;
1386         act = 0;
1387         }
1388 
1389 #line 117 "hb-ot-shape-complex-indic-machine.rl"
1390 
1391 
1392   p = 0;
1393   pe = eof = buffer->len;
1394 
1395   unsigned int last = 0;
1396   unsigned int syllable_serial = 1;
1397   
1398 #line 1399 "hb-ot-shape-complex-indic-machine.hh"
1399         {
1400         int _slen;
1401         int _trans;
1402         const unsigned char *_keys;
1403         const short *_inds;
1404         if ( p == pe )
1405                 goto _test_eof;
1406 _resume:
1407         switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1408         case 11:
1409 #line 1 "NONE"
1410         {ts = p;}
1411         break;
1412 #line 1413 "hb-ot-shape-complex-indic-machine.hh"
1413         }
1414 
1415         _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1416         _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1417 
1418         _slen = _indic_syllable_machine_key_spans[cs];
1419         _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1420                 ( info[p].indic_category()) <= _keys[1] ?
1421                 ( info[p].indic_category()) - _keys[0] : _slen ];
1422 
1423 _eof_trans:
1424         cs = _indic_syllable_machine_trans_targs[_trans];
1425 
1426         if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1427                 goto _again;
1428 
1429         switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1430         case 2:
1431 #line 1 "NONE"
1432         {te = p+1;}
1433         break;
1434         case 15:
1435 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1436         {te = p+1;{ found_syllable (consonant_syllable); }}
1437         break;
1438         case 17:
1439 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1440         {te = p+1;{ found_syllable (vowel_syllable); }}
1441         break;
1442         case 22:
1443 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1444         {te = p+1;{ found_syllable (standalone_cluster); }}
1445         break;
1446         case 24:
1447 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1448         {te = p+1;{ found_syllable (symbol_cluster); }}
1449         break;
1450         case 19:
1451 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1452         {te = p+1;{ found_syllable (broken_cluster); }}
1453         break;
1454         case 12:
1455 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1456         {te = p+1;{ found_syllable (non_indic_cluster); }}
1457         break;
1458         case 14:
1459 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1460         {te = p;p--;{ found_syllable (consonant_syllable); }}
1461         break;
1462         case 16:
1463 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1464         {te = p;p--;{ found_syllable (vowel_syllable); }}
1465         break;
1466         case 21:
1467 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1468         {te = p;p--;{ found_syllable (standalone_cluster); }}
1469         break;
1470         case 23:
1471 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1472         {te = p;p--;{ found_syllable (symbol_cluster); }}
1473         break;
1474         case 18:
1475 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1476         {te = p;p--;{ found_syllable (broken_cluster); }}
1477         break;
1478         case 20:
1479 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1480         {te = p;p--;{ found_syllable (non_indic_cluster); }}
1481         break;
1482         case 1:
1483 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1484         {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1485         break;
1486         case 3:
1487 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1488         {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1489         break;
1490         case 7:
1491 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1492         {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1493         break;
1494         case 9:
1495 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1496         {{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
1497         break;
1498         case 4:
1499 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1500         {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1501         break;
1502         case 5:
1503 #line 1 "NONE"
1504         {       switch( act ) {
1505         case 1:
1506         {{p = ((te))-1;} found_syllable (consonant_syllable); }
1507         break;
1508         case 5:
1509         {{p = ((te))-1;} found_syllable (broken_cluster); }
1510         break;
1511         case 6:
1512         {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1513         break;
1514         }
1515         }
1516         break;
1517         case 8:
1518 #line 1 "NONE"
1519         {te = p+1;}
1520 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1521         {act = 1;}
1522         break;
1523         case 6:
1524 #line 1 "NONE"
1525         {te = p+1;}
1526 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1527         {act = 5;}
1528         break;
1529         case 13:
1530 #line 1 "NONE"
1531         {te = p+1;}
1532 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1533         {act = 6;}
1534         break;
1535 #line 1536 "hb-ot-shape-complex-indic-machine.hh"
1536         }
1537 
1538 _again:
1539         switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1540         case 10:
1541 #line 1 "NONE"
1542         {ts = 0;}
1543         break;
1544 #line 1545 "hb-ot-shape-complex-indic-machine.hh"
1545         }
1546 
1547         if ( ++p != pe )
1548                 goto _resume;
1549         _test_eof: {}
1550         if ( p == eof )
1551         {
1552         if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1553                 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1554                 goto _eof_trans;
1555         }
1556         }
1557 
1558         }
1559 
1560 #line 126 "hb-ot-shape-complex-indic-machine.rl"
1561 
1562 }
1563 
1564 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */


  39         6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
  40         4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
  41         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u,
  42         5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
  43         7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
  44         6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
  45         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
  46         4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u,
  47         5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
  48         7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
  49         6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
  50         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u,
  51         8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
  52         5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u,
  53         4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
  54         16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
  55         4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u,
  56         5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
  57         5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u,
  58         4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
  59         16u, 16u, 8u, 8u, 1u, 19u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
  60         3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
  61         3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u,
  62         5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
  63         3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
  64         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
  65         5u, 14u, 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u,
  66         1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
  67         1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
  68         1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
  69         3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
  70         4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
  71         4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u,
  72         9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
  73         5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
  74         4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
  75         3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
  76         1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
  77         1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
  78         3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u,
  79         3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,


  84         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
  85         4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
  86         3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
  87         3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
  88         1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 17u, 4u, 14u,
  89         3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
  90         3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
  91         3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
  92         9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
  93         3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
  94         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
  95         4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
  96         3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
  97         3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
  98         1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u,
  99         1u, 17u, 4u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
 100         5u, 10u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 3u, 17u, 3u, 17u, 1u, 16u,
 101         3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
 102         5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
 103         3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u,
 104         9u, 10u, 9u, 9u, 5u, 10u, 1u, 16u, 0
 105 };
 106 
 107 static const char _indic_syllable_machine_key_spans[] = {
 108         1, 16, 6, 4, 3, 1, 4, 3,
 109         1, 4, 3, 1, 4, 3, 1, 5,
 110         1, 1, 5, 1, 1, 5, 1, 1,
 111         5, 1, 1, 11, 11, 11, 11, 11,
 112         11, 11, 11, 11, 11, 1, 16, 6,
 113         4, 3, 1, 4, 3, 1, 4, 3,
 114         1, 4, 3, 1, 5, 1, 1, 5,
 115         1, 1, 5, 1, 1, 5, 1, 1,
 116         11, 11, 11, 11, 11, 11, 11, 11,
 117         11, 11, 1, 16, 6, 4, 3, 1,
 118         4, 3, 1, 4, 3, 1, 4, 3,
 119         1, 5, 1, 1, 5, 1, 1, 5,
 120         1, 1, 5, 1, 1, 11, 11, 11,
 121         11, 11, 11, 11, 11, 11, 1, 16,
 122         6, 4, 3, 1, 4, 3, 1, 4,
 123         3, 1, 4, 3, 1, 5, 1, 1,
 124         5, 1, 1, 5, 1, 1, 5, 1,
 125         1, 11, 11, 11, 11, 11, 11, 11,
 126         11, 11, 11, 11, 4, 11, 11, 4,
 127         3, 4, 3, 1, 4, 3, 1, 4,
 128         3, 1, 1, 16, 6, 5, 1, 1,
 129         5, 1, 1, 5, 1, 1, 5, 1,
 130         1, 1, 19, 15, 15, 14, 16, 15,
 131         15, 14, 16, 15, 15, 14, 16, 15,
 132         15, 14, 16, 15, 15, 14, 10, 10,
 133         6, 2, 1, 2, 2, 1, 6, 11,
 134         8, 6, 8, 11, 12, 12, 11, 10,
 135         12, 11, 10, 12, 11, 10, 12, 11,
 136         10, 12, 16, 11, 15, 15, 16, 16,
 137         16, 16, 16, 15, 15, 16, 16, 16,
 138         16, 16, 15, 15, 16, 16, 16, 16,
 139         16, 15, 15, 16, 16, 16, 16, 16,
 140         15, 15, 15, 15, 14, 16, 15, 15,
 141         14, 16, 15, 15, 14, 16, 15, 15,
 142         14, 16, 15, 15, 14, 10, 10, 6,
 143         2, 1, 2, 2, 1, 6, 11, 8,
 144         6, 8, 11, 12, 12, 11, 10, 12,
 145         11, 10, 12, 11, 10, 12, 11, 10,
 146         12, 16, 11, 15, 15, 16, 16, 16,
 147         16, 16, 15, 15, 16, 16, 16, 16,
 148         16, 15, 15, 16, 16, 16, 16, 16,
 149         15, 15, 16, 16, 16, 16, 11, 16,
 150         15, 15, 14, 16, 15, 15, 14, 16,


 155         12, 11, 10, 12, 11, 10, 12, 16,
 156         11, 15, 15, 16, 16, 16, 16, 16,
 157         15, 15, 16, 16, 16, 16, 16, 15,
 158         15, 16, 16, 16, 16, 16, 15, 15,
 159         16, 16, 16, 16, 16, 11, 15, 11,
 160         15, 15, 14, 16, 15, 15, 14, 16,
 161         15, 15, 14, 16, 15, 15, 14, 16,
 162         15, 15, 14, 10, 10, 6, 2, 1,
 163         2, 2, 1, 6, 11, 8, 6, 8,
 164         11, 12, 12, 11, 10, 12, 11, 10,
 165         12, 11, 10, 12, 11, 10, 12, 16,
 166         11, 15, 15, 16, 16, 16, 16, 16,
 167         15, 15, 16, 16, 16, 16, 16, 15,
 168         15, 16, 16, 16, 16, 16, 15, 15,
 169         16, 16, 16, 16, 16, 15, 17, 15,
 170         17, 11, 6, 2, 1, 2, 2, 1,
 171         6, 16, 15, 15, 14, 15, 15, 16,
 172         12, 11, 10, 12, 11, 10, 12, 11,
 173         10, 12, 11, 10, 11, 8, 6, 8,
 174         11, 16, 8, 6, 6, 2, 1, 2,
 175         2, 1, 6, 16
 176 };
 177 
 178 static const short _indic_syllable_machine_index_offsets[] = {
 179         0, 2, 19, 26, 31, 35, 37, 42,
 180         46, 48, 53, 57, 59, 64, 68, 70,
 181         76, 78, 80, 86, 88, 90, 96, 98,
 182         100, 106, 108, 110, 122, 134, 146, 158,
 183         170, 182, 194, 206, 218, 230, 232, 249,
 184         256, 261, 265, 267, 272, 276, 278, 283,
 185         287, 289, 294, 298, 300, 306, 308, 310,
 186         316, 318, 320, 326, 328, 330, 336, 338,
 187         340, 352, 364, 376, 388, 400, 412, 424,
 188         436, 448, 460, 462, 479, 486, 491, 495,
 189         497, 502, 506, 508, 513, 517, 519, 524,
 190         528, 530, 536, 538, 540, 546, 548, 550,
 191         556, 558, 560, 566, 568, 570, 582, 594,
 192         606, 618, 630, 642, 654, 666, 678, 680,
 193         697, 704, 709, 713, 715, 720, 724, 726,
 194         731, 735, 737, 742, 746, 748, 754, 756,
 195         758, 764, 766, 768, 774, 776, 778, 784,
 196         786, 788, 800, 812, 824, 836, 848, 860,
 197         872, 884, 896, 908, 920, 925, 937, 949,
 198         954, 958, 963, 967, 969, 974, 978, 980,
 199         985, 989, 991, 993, 1010, 1017, 1023, 1025,
 200         1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053,
 201         1055, 1057, 1059, 1079, 1095, 1111, 1126, 1143,
 202         1159, 1175, 1190, 1207, 1223, 1239, 1254, 1271,
 203         1287, 1303, 1318, 1335, 1351, 1367, 1382, 1393,
 204         1404, 1411, 1414, 1416, 1419, 1422, 1424, 1431,
 205         1443, 1452, 1459, 1468, 1480, 1493, 1506, 1518,
 206         1529, 1542, 1554, 1565, 1578, 1590, 1601, 1614,
 207         1626, 1637, 1650, 1667, 1679, 1695, 1711, 1728,
 208         1745, 1762, 1779, 1796, 1812, 1828, 1845, 1862,
 209         1879, 1896, 1913, 1929, 1945, 1962, 1979, 1996,
 210         2013, 2030, 2046, 2062, 2079, 2096, 2113, 2130,
 211         2147, 2163, 2179, 2195, 2211, 2226, 2243, 2259,
 212         2275, 2290, 2307, 2323, 2339, 2354, 2371, 2387,
 213         2403, 2418, 2435, 2451, 2467, 2482, 2493, 2504,
 214         2511, 2514, 2516, 2519, 2522, 2524, 2531, 2543,
 215         2552, 2559, 2568, 2580, 2593, 2606, 2618, 2629,
 216         2642, 2654, 2665, 2678, 2690, 2701, 2714, 2726,
 217         2737, 2750, 2767, 2779, 2795, 2811, 2828, 2845,
 218         2862, 2879, 2896, 2912, 2928, 2945, 2962, 2979,
 219         2996, 3013, 3029, 3045, 3062, 3079, 3096, 3113,
 220         3130, 3146, 3162, 3179, 3196, 3213, 3230, 3242,
 221         3259, 3275, 3291, 3306, 3323, 3339, 3355, 3370,
 222         3387, 3403, 3419, 3434, 3451, 3467, 3483, 3498,
 223         3515, 3531, 3547, 3562, 3573, 3584, 3591, 3594,
 224         3596, 3599, 3602, 3604, 3611, 3623, 3632, 3639,
 225         3648, 3660, 3673, 3686, 3698, 3709, 3722, 3734,
 226         3745, 3758, 3770, 3781, 3794, 3806, 3817, 3830,
 227         3847, 3859, 3875, 3891, 3908, 3925, 3942, 3959,
 228         3976, 3992, 4008, 4025, 4042, 4059, 4076, 4093,
 229         4109, 4125, 4142, 4159, 4176, 4193, 4210, 4226,
 230         4242, 4259, 4276, 4293, 4310, 4327, 4339, 4355,
 231         4367, 4383, 4399, 4414, 4431, 4447, 4463, 4478,
 232         4495, 4511, 4527, 4542, 4559, 4575, 4591, 4606,
 233         4623, 4639, 4655, 4670, 4681, 4692, 4699, 4702,
 234         4704, 4707, 4710, 4712, 4719, 4731, 4740, 4747,
 235         4756, 4768, 4781, 4794, 4806, 4817, 4830, 4842,
 236         4853, 4866, 4878, 4889, 4902, 4914, 4925, 4938,
 237         4955, 4967, 4983, 4999, 5016, 5033, 5050, 5067,
 238         5084, 5100, 5116, 5133, 5150, 5167, 5184, 5201,
 239         5217, 5233, 5250, 5267, 5284, 5301, 5318, 5334,
 240         5350, 5367, 5384, 5401, 5418, 5435, 5451, 5469,
 241         5485, 5503, 5515, 5522, 5525, 5527, 5530, 5533,
 242         5535, 5542, 5559, 5575, 5591, 5606, 5622, 5638,
 243         5655, 5668, 5680, 5691, 5704, 5716, 5727, 5740,
 244         5752, 5763, 5776, 5788, 5799, 5811, 5820, 5827,
 245         5836, 5848, 5865, 5874, 5881, 5888, 5891, 5893,
 246         5896, 5899, 5901, 5908
 247 };
 248 
 249 static const short _indic_syllable_machine_indicies[] = {
 250         1, 0, 2, 3, 0, 0, 0, 0,
 251         0, 0, 0, 0, 0, 0, 0, 0,
 252         0, 2, 0, 1, 0, 0, 0, 0,
 253         4, 0, 5, 5, 6, 1, 0, 7,
 254         7, 6, 0, 6, 0, 8, 8, 9,
 255         1, 0, 10, 10, 9, 0, 9, 0,
 256         11, 11, 12, 1, 0, 13, 13, 12,
 257         0, 12, 0, 14, 14, 15, 1, 0,
 258         16, 16, 15, 0, 15, 0, 17, 0,
 259         0, 0, 1, 0, 18, 0, 19, 0,
 260         20, 14, 14, 15, 1, 0, 21, 0,
 261         22, 0, 23, 11, 11, 12, 1, 0,
 262         24, 0, 25, 0, 26, 8, 8, 9,
 263         1, 0, 27, 0, 28, 0, 29, 5,
 264         5, 6, 1, 0, 0, 0, 0, 0,
 265         29, 0, 29, 5, 5, 6, 1, 0,
 266         0, 0, 0, 30, 29, 0, 31, 5,


 364         79, 78, 78, 78, 78, 156, 116, 78,
 365         86, 86, 84, 1, 0, 114, 83, 83,
 366         84, 157, 0, 0, 0, 0, 0, 114,
 367         0, 114, 83, 83, 84, 157, 0, 0,
 368         0, 0, 158, 114, 0, 159, 159, 160,
 369         1, 0, 7, 7, 160, 0, 161, 161,
 370         162, 157, 0, 163, 163, 162, 0, 162,
 371         0, 164, 164, 165, 157, 0, 166, 166,
 372         165, 0, 165, 0, 167, 167, 168, 157,
 373         0, 169, 169, 168, 0, 168, 0, 157,
 374         0, 170, 171, 0, 0, 0, 0, 0,
 375         0, 0, 0, 0, 0, 0, 0, 0,
 376         170, 0, 157, 0, 0, 0, 0, 172,
 377         0, 173, 0, 0, 0, 157, 0, 174,
 378         0, 175, 0, 176, 167, 167, 168, 157,
 379         0, 177, 0, 178, 0, 179, 164, 164,
 380         165, 157, 0, 180, 0, 181, 0, 182,
 381         161, 161, 162, 157, 0, 183, 0, 184,
 382         0, 186, 185, 188, 189, 190, 191, 192,
 383         193, 84, 79, 194, 195, 196, 196, 156,
 384         197, 198, 199, 200, 201, 202, 187, 204,
 385         205, 206, 207, 6, 1, 208, 209, 203,
 386         203, 38, 210, 203, 203, 211, 203, 212,
 387         205, 213, 213, 6, 1, 208, 209, 203,
 388         203, 203, 210, 203, 203, 211, 203, 205,
 389         213, 213, 6, 1, 208, 209, 203, 203,
 390         203, 210, 203, 203, 211, 203, 214, 203,
 391         203, 203, 19, 215, 203, 1, 208, 209,
 392         203, 203, 203, 216, 203, 214, 203, 217,
 393         218, 219, 220, 6, 1, 208, 209, 203,
 394         203, 36, 221, 203, 203, 211, 203, 222,
 395         218, 223, 223, 6, 1, 208, 209, 203,
 396         203, 203, 221, 203, 203, 211, 203, 218,
 397         223, 223, 6, 1, 208, 209, 203, 203,
 398         203, 221, 203, 203, 211, 203, 224, 203,
 399         203, 203, 19, 225, 203, 1, 208, 209,
 400         203, 203, 203, 216, 203, 224, 203, 226,
 401         227, 228, 229, 6, 1, 208, 209, 203,
 402         203, 34, 230, 203, 203, 211, 203, 231,
 403         227, 232, 232, 6, 1, 208, 209, 203,
 404         203, 203, 230, 203, 203, 211, 203, 227,
 405         232, 232, 6, 1, 208, 209, 203, 203,
 406         203, 230, 203, 203, 211, 203, 233, 203,
 407         203, 203, 19, 234, 203, 1, 208, 209,
 408         203, 203, 203, 216, 203, 233, 203, 235,
 409         236, 237, 238, 6, 1, 208, 209, 203,
 410         203, 32, 239, 203, 203, 211, 203, 240,
 411         236, 241, 241, 6, 1, 208, 209, 203,
 412         203, 203, 239, 203, 203, 211, 203, 236,
 413         241, 241, 6, 1, 208, 209, 203, 203,
 414         203, 239, 203, 203, 211, 203, 242, 203,
 415         203, 203, 19, 243, 203, 1, 208, 209,
 416         203, 203, 203, 216, 203, 242, 203, 244,
 417         245, 246, 247, 6, 1, 208, 209, 203,
 418         203, 30, 248, 203, 203, 211, 203, 249,
 419         245, 250, 250, 6, 1, 208, 209, 203,
 420         203, 203, 248, 203, 203, 211, 203, 245,
 421         250, 250, 6, 1, 208, 209, 203, 203,
 422         203, 248, 203, 203, 211, 203, 19, 251,
 423         203, 1, 208, 209, 203, 203, 203, 216,
 424         203, 252, 252, 203, 1, 208, 209, 203,
 425         203, 203, 216, 203, 253, 203, 203, 254,
 426         208, 209, 203, 208, 209, 203, 255, 203,
 427         208, 256, 203, 208, 257, 203, 208, 203,
 428         253, 203, 203, 203, 208, 209, 203, 258,
 429         203, 259, 260, 203, 1, 208, 209, 203,
 430         203, 4, 203, 3, 203, 252, 252, 203,
 431         1, 208, 209, 203, 252, 252, 203, 1,
 432         208, 209, 203, 258, 203, 252, 252, 203,
 433         1, 208, 209, 203, 258, 203, 259, 252,
 434         203, 1, 208, 209, 203, 203, 4, 203,
 435         19, 203, 261, 261, 6, 1, 208, 209,
 436         203, 203, 203, 216, 203, 262, 28, 263,
 437         264, 9, 1, 208, 209, 203, 203, 203,
 438         216, 203, 28, 263, 264, 9, 1, 208,
 439         209, 203, 203, 203, 216, 203, 263, 263,
 440         9, 1, 208, 209, 203, 203, 203, 216,
 441         203, 265, 25, 266, 267, 12, 1, 208,
 442         209, 203, 203, 203, 216, 203, 25, 266,
 443         267, 12, 1, 208, 209, 203, 203, 203,
 444         216, 203, 266, 266, 12, 1, 208, 209,
 445         203, 203, 203, 216, 203, 268, 22, 269,
 446         270, 15, 1, 208, 209, 203, 203, 203,
 447         216, 203, 22, 269, 270, 15, 1, 208,
 448         209, 203, 203, 203, 216, 203, 269, 269,
 449         15, 1, 208, 209, 203, 203, 203, 216,
 450         203, 271, 19, 252, 272, 203, 1, 208,
 451         209, 203, 203, 203, 216, 203, 19, 252,
 452         272, 203, 1, 208, 209, 203, 203, 203,
 453         216, 203, 252, 273, 203, 1, 208, 209,
 454         203, 203, 203, 216, 203, 19, 203, 252,
 455         252, 203, 1, 208, 209, 203, 203, 203,
 456         216, 203, 2, 3, 203, 203, 19, 251,
 457         203, 1, 208, 209, 203, 203, 203, 216,
 458         203, 2, 203, 245, 250, 250, 6, 1,
 459         208, 209, 203, 203, 203, 248, 203, 244,
 460         245, 250, 250, 6, 1, 208, 209, 203,
 461         203, 203, 248, 203, 203, 211, 203, 244,
 462         245, 246, 250, 6, 1, 208, 209, 203,
 463         203, 30, 248, 203, 203, 211, 203, 242,
 464         203, 274, 203, 261, 261, 6, 1, 208,
 465         209, 203, 203, 203, 216, 203, 242, 203,
 466         242, 203, 203, 203, 252, 252, 203, 1,
 467         208, 209, 203, 203, 203, 216, 203, 242,
 468         203, 242, 203, 203, 203, 252, 275, 203,
 469         1, 208, 209, 203, 203, 203, 216, 203,
 470         242, 203, 242, 203, 274, 203, 252, 252,
 471         203, 1, 208, 209, 203, 203, 203, 216,
 472         203, 242, 203, 242, 3, 203, 203, 19,
 473         243, 203, 1, 208, 209, 203, 203, 203,
 474         216, 203, 242, 203, 235, 236, 241, 241,
 475         6, 1, 208, 209, 203, 203, 203, 239,
 476         203, 203, 211, 203, 235, 236, 237, 241,
 477         6, 1, 208, 209, 203, 203, 32, 239,
 478         203, 203, 211, 203, 233, 203, 276, 203,
 479         261, 261, 6, 1, 208, 209, 203, 203,
 480         203, 216, 203, 233, 203, 233, 203, 203,
 481         203, 252, 252, 203, 1, 208, 209, 203,
 482         203, 203, 216, 203, 233, 203, 233, 203,
 483         203, 203, 252, 277, 203, 1, 208, 209,
 484         203, 203, 203, 216, 203, 233, 203, 233,
 485         203, 276, 203, 252, 252, 203, 1, 208,
 486         209, 203, 203, 203, 216, 203, 233, 203,
 487         233, 3, 203, 203, 19, 234, 203, 1,
 488         208, 209, 203, 203, 203, 216, 203, 233,
 489         203, 226, 227, 232, 232, 6, 1, 208,
 490         209, 203, 203, 203, 230, 203, 203, 211,
 491         203, 226, 227, 228, 232, 6, 1, 208,
 492         209, 203, 203, 34, 230, 203, 203, 211,
 493         203, 224, 203, 278, 203, 261, 261, 6,
 494         1, 208, 209, 203, 203, 203, 216, 203,
 495         224, 203, 224, 203, 203, 203, 252, 252,
 496         203, 1, 208, 209, 203, 203, 203, 216,
 497         203, 224, 203, 224, 203, 203, 203, 252,
 498         279, 203, 1, 208, 209, 203, 203, 203,
 499         216, 203, 224, 203, 224, 203, 278, 203,
 500         252, 252, 203, 1, 208, 209, 203, 203,
 501         203, 216, 203, 224, 203, 224, 3, 203,
 502         203, 19, 225, 203, 1, 208, 209, 203,
 503         203, 203, 216, 203, 224, 203, 217, 218,
 504         223, 223, 6, 1, 208, 209, 203, 203,
 505         203, 221, 203, 203, 211, 203, 217, 218,
 506         219, 223, 6, 1, 208, 209, 203, 203,
 507         36, 221, 203, 203, 211, 203, 214, 203,
 508         280, 203, 261, 261, 6, 1, 208, 209,
 509         203, 203, 203, 216, 203, 214, 203, 214,
 510         203, 203, 203, 252, 252, 203, 1, 208,
 511         209, 203, 203, 203, 216, 203, 214, 203,
 512         214, 203, 203, 203, 252, 281, 203, 1,
 513         208, 209, 203, 203, 203, 216, 203, 214,
 514         203, 214, 203, 280, 203, 252, 252, 203,
 515         1, 208, 209, 203, 203, 203, 216, 203,
 516         214, 203, 214, 3, 203, 203, 19, 215,
 517         203, 1, 208, 209, 203, 203, 203, 216,
 518         203, 214, 203, 204, 205, 213, 213, 6,
 519         1, 208, 209, 203, 203, 203, 210, 203,
 520         203, 211, 203, 204, 205, 206, 213, 6,
 521         1, 208, 209, 203, 203, 38, 210, 203,
 522         203, 211, 203, 283, 284, 285, 286, 45,
 523         40, 287, 288, 282, 282, 77, 289, 282,
 524         282, 290, 282, 291, 284, 292, 286, 45,
 525         40, 287, 288, 282, 282, 282, 289, 282,
 526         282, 290, 282, 284, 292, 286, 45, 40,
 527         287, 288, 282, 282, 282, 289, 282, 282,
 528         290, 282, 293, 282, 282, 282, 58, 294,
 529         282, 40, 287, 288, 282, 282, 282, 295,
 530         282, 293, 282, 296, 297, 298, 299, 45,
 531         40, 287, 288, 282, 282, 75, 300, 282,
 532         282, 290, 282, 301, 297, 302, 302, 45,
 533         40, 287, 288, 282, 282, 282, 300, 282,
 534         282, 290, 282, 297, 302, 302, 45, 40,
 535         287, 288, 282, 282, 282, 300, 282, 282,
 536         290, 282, 303, 282, 282, 282, 58, 304,
 537         282, 40, 287, 288, 282, 282, 282, 295,
 538         282, 303, 282, 305, 306, 307, 308, 45,
 539         40, 287, 288, 282, 282, 73, 309, 282,
 540         282, 290, 282, 310, 306, 311, 311, 45,
 541         40, 287, 288, 282, 282, 282, 309, 282,
 542         282, 290, 282, 306, 311, 311, 45, 40,
 543         287, 288, 282, 282, 282, 309, 282, 282,
 544         290, 282, 312, 282, 282, 282, 58, 313,
 545         282, 40, 287, 288, 282, 282, 282, 295,
 546         282, 312, 282, 314, 315, 316, 317, 45,
 547         40, 287, 288, 282, 282, 71, 318, 282,
 548         282, 290, 282, 319, 315, 320, 320, 45,
 549         40, 287, 288, 282, 282, 282, 318, 282,
 550         282, 290, 282, 315, 320, 320, 45, 40,
 551         287, 288, 282, 282, 282, 318, 282, 282,
 552         290, 282, 321, 282, 282, 282, 58, 322,
 553         282, 40, 287, 288, 282, 282, 282, 295,
 554         282, 321, 282, 323, 324, 325, 326, 45,
 555         40, 287, 288, 282, 282, 69, 327, 282,
 556         282, 290, 282, 328, 324, 329, 329, 45,
 557         40, 287, 288, 282, 282, 282, 327, 282,
 558         282, 290, 282, 324, 329, 329, 45, 40,
 559         287, 288, 282, 282, 282, 327, 282, 282,
 560         290, 282, 58, 330, 282, 40, 287, 288,
 561         282, 282, 282, 295, 282, 331, 331, 282,
 562         40, 287, 288, 282, 282, 282, 295, 282,
 563         332, 282, 282, 333, 287, 288, 282, 287,
 564         288, 282, 334, 282, 287, 335, 282, 287,
 565         336, 282, 287, 282, 332, 282, 282, 282,
 566         287, 288, 282, 337, 282, 338, 339, 282,
 567         40, 287, 288, 282, 282, 43, 282, 42,
 568         282, 331, 331, 282, 40, 287, 288, 282,
 569         331, 331, 282, 40, 287, 288, 282, 337,
 570         282, 331, 331, 282, 40, 287, 288, 282,
 571         337, 282, 338, 331, 282, 40, 287, 288,
 572         282, 282, 43, 282, 58, 282, 340, 340,
 573         45, 40, 287, 288, 282, 282, 282, 295,
 574         282, 341, 67, 342, 343, 48, 40, 287,
 575         288, 282, 282, 282, 295, 282, 67, 342,
 576         343, 48, 40, 287, 288, 282, 282, 282,
 577         295, 282, 342, 342, 48, 40, 287, 288,
 578         282, 282, 282, 295, 282, 344, 64, 345,
 579         346, 51, 40, 287, 288, 282, 282, 282,
 580         295, 282, 64, 345, 346, 51, 40, 287,
 581         288, 282, 282, 282, 295, 282, 345, 345,
 582         51, 40, 287, 288, 282, 282, 282, 295,
 583         282, 347, 61, 348, 349, 54, 40, 287,
 584         288, 282, 282, 282, 295, 282, 61, 348,
 585         349, 54, 40, 287, 288, 282, 282, 282,
 586         295, 282, 348, 348, 54, 40, 287, 288,
 587         282, 282, 282, 295, 282, 350, 58, 331,
 588         351, 282, 40, 287, 288, 282, 282, 282,
 589         295, 282, 58, 331, 351, 282, 40, 287,
 590         288, 282, 282, 282, 295, 282, 331, 352,
 591         282, 40, 287, 288, 282, 282, 282, 295,
 592         282, 58, 282, 331, 331, 282, 40, 287,
 593         288, 282, 282, 282, 295, 282, 41, 42,
 594         282, 282, 58, 330, 282, 40, 287, 288,
 595         282, 282, 282, 295, 282, 41, 282, 324,
 596         329, 329, 45, 40, 287, 288, 282, 282,
 597         282, 327, 282, 323, 324, 329, 329, 45,
 598         40, 287, 288, 282, 282, 282, 327, 282,
 599         282, 290, 282, 323, 324, 325, 329, 45,
 600         40, 287, 288, 282, 282, 69, 327, 282,
 601         282, 290, 282, 321, 282, 353, 282, 340,
 602         340, 45, 40, 287, 288, 282, 282, 282,
 603         295, 282, 321, 282, 321, 282, 282, 282,
 604         331, 331, 282, 40, 287, 288, 282, 282,
 605         282, 295, 282, 321, 282, 321, 282, 282,
 606         282, 331, 354, 282, 40, 287, 288, 282,
 607         282, 282, 295, 282, 321, 282, 321, 282,
 608         353, 282, 331, 331, 282, 40, 287, 288,
 609         282, 282, 282, 295, 282, 321, 282, 321,
 610         42, 282, 282, 58, 322, 282, 40, 287,
 611         288, 282, 282, 282, 295, 282, 321, 282,
 612         314, 315, 320, 320, 45, 40, 287, 288,
 613         282, 282, 282, 318, 282, 282, 290, 282,
 614         314, 315, 316, 320, 45, 40, 287, 288,
 615         282, 282, 71, 318, 282, 282, 290, 282,
 616         312, 282, 355, 282, 340, 340, 45, 40,
 617         287, 288, 282, 282, 282, 295, 282, 312,
 618         282, 312, 282, 282, 282, 331, 331, 282,
 619         40, 287, 288, 282, 282, 282, 295, 282,
 620         312, 282, 312, 282, 282, 282, 331, 356,
 621         282, 40, 287, 288, 282, 282, 282, 295,
 622         282, 312, 282, 312, 282, 355, 282, 331,
 623         331, 282, 40, 287, 288, 282, 282, 282,
 624         295, 282, 312, 282, 312, 42, 282, 282,
 625         58, 313, 282, 40, 287, 288, 282, 282,
 626         282, 295, 282, 312, 282, 305, 306, 311,
 627         311, 45, 40, 287, 288, 282, 282, 282,
 628         309, 282, 282, 290, 282, 305, 306, 307,
 629         311, 45, 40, 287, 288, 282, 282, 73,
 630         309, 282, 282, 290, 282, 303, 282, 357,
 631         282, 340, 340, 45, 40, 287, 288, 282,
 632         282, 282, 295, 282, 303, 282, 303, 282,
 633         282, 282, 331, 331, 282, 40, 287, 288,
 634         282, 282, 282, 295, 282, 303, 282, 303,
 635         282, 282, 282, 331, 358, 282, 40, 287,
 636         288, 282, 282, 282, 295, 282, 303, 282,
 637         303, 282, 357, 282, 331, 331, 282, 40,
 638         287, 288, 282, 282, 282, 295, 282, 303,
 639         282, 303, 42, 282, 282, 58, 304, 282,
 640         40, 287, 288, 282, 282, 282, 295, 282,
 641         303, 282, 296, 297, 302, 302, 45, 40,
 642         287, 288, 282, 282, 282, 300, 282, 282,
 643         290, 282, 296, 297, 298, 302, 45, 40,
 644         287, 288, 282, 282, 75, 300, 282, 282,
 645         290, 282, 293, 282, 359, 282, 340, 340,
 646         45, 40, 287, 288, 282, 282, 282, 295,
 647         282, 293, 282, 293, 282, 282, 282, 331,
 648         331, 282, 40, 287, 288, 282, 282, 282,
 649         295, 282, 293, 282, 293, 282, 282, 282,
 650         331, 360, 282, 40, 287, 288, 282, 282,
 651         282, 295, 282, 293, 282, 293, 282, 359,
 652         282, 331, 331, 282, 40, 287, 288, 282,
 653         282, 282, 295, 282, 293, 282, 76, 44,
 654         44, 45, 40, 282, 282, 282, 282, 282,
 655         76, 282, 293, 42, 282, 282, 58, 294,
 656         282, 40, 287, 288, 282, 282, 282, 295,
 657         282, 293, 282, 283, 284, 292, 286, 45,
 658         40, 287, 288, 282, 282, 282, 289, 282,
 659         282, 290, 282, 362, 191, 363, 363, 84,
 660         79, 194, 195, 361, 361, 361, 197, 361,
 661         361, 200, 361, 191, 363, 363, 84, 79,
 662         194, 195, 361, 361, 361, 197, 361, 361,
 663         200, 361, 364, 361, 361, 361, 98, 365,
 664         361, 79, 194, 195, 361, 361, 361, 366,
 665         361, 364, 361, 367, 368, 369, 370, 84,
 666         79, 194, 195, 361, 361, 115, 371, 361,
 667         361, 200, 361, 372, 368, 373, 373, 84,
 668         79, 194, 195, 361, 361, 361, 371, 361,
 669         361, 200, 361, 368, 373, 373, 84, 79,
 670         194, 195, 361, 361, 361, 371, 361, 361,
 671         200, 361, 374, 361, 361, 361, 98, 375,
 672         361, 79, 194, 195, 361, 361, 361, 366,
 673         361, 374, 361, 376, 377, 378, 379, 84,
 674         79, 194, 195, 361, 361, 113, 380, 361,
 675         361, 200, 361, 381, 377, 382, 382, 84,
 676         79, 194, 195, 361, 361, 361, 380, 361,
 677         361, 200, 361, 377, 382, 382, 84, 79,
 678         194, 195, 361, 361, 361, 380, 361, 361,
 679         200, 361, 383, 361, 361, 361, 98, 384,
 680         361, 79, 194, 195, 361, 361, 361, 366,
 681         361, 383, 361, 385, 386, 387, 388, 84,
 682         79, 194, 195, 361, 361, 111, 389, 361,
 683         361, 200, 361, 390, 386, 391, 391, 84,
 684         79, 194, 195, 361, 361, 361, 389, 361,
 685         361, 200, 361, 386, 391, 391, 84, 79,
 686         194, 195, 361, 361, 361, 389, 361, 361,
 687         200, 361, 392, 361, 361, 361, 98, 393,
 688         361, 79, 194, 195, 361, 361, 361, 366,
 689         361, 392, 361, 394, 395, 396, 397, 84,
 690         79, 194, 195, 361, 361, 109, 398, 361,
 691         361, 200, 361, 399, 395, 400, 400, 84,
 692         79, 194, 195, 361, 361, 361, 398, 361,
 693         361, 200, 361, 395, 400, 400, 84, 79,
 694         194, 195, 361, 361, 361, 398, 361, 361,
 695         200, 361, 98, 401, 361, 79, 194, 195,
 696         361, 361, 361, 366, 361, 402, 402, 361,
 697         79, 194, 195, 361, 361, 361, 366, 361,
 698         403, 361, 361, 404, 194, 195, 361, 194,
 699         195, 361, 405, 361, 194, 406, 361, 194,
 700         407, 361, 194, 361, 403, 361, 361, 361,
 701         194, 195, 361, 408, 361, 409, 410, 361,
 702         79, 194, 195, 361, 361, 82, 361, 81,
 703         361, 402, 402, 361, 79, 194, 195, 361,
 704         402, 402, 361, 79, 194, 195, 361, 408,
 705         361, 402, 402, 361, 79, 194, 195, 361,
 706         408, 361, 409, 402, 361, 79, 194, 195,
 707         361, 361, 82, 361, 98, 361, 411, 411,
 708         84, 79, 194, 195, 361, 361, 361, 366,
 709         361, 412, 107, 413, 414, 88, 79, 194,
 710         195, 361, 361, 361, 366, 361, 107, 413,
 711         414, 88, 79, 194, 195, 361, 361, 361,
 712         366, 361, 413, 413, 88, 79, 194, 195,
 713         361, 361, 361, 366, 361, 415, 104, 416,
 714         417, 91, 79, 194, 195, 361, 361, 361,
 715         366, 361, 104, 416, 417, 91, 79, 194,
 716         195, 361, 361, 361, 366, 361, 416, 416,
 717         91, 79, 194, 195, 361, 361, 361, 366,
 718         361, 418, 101, 419, 420, 94, 79, 194,
 719         195, 361, 361, 361, 366, 361, 101, 419,
 720         420, 94, 79, 194, 195, 361, 361, 361,
 721         366, 361, 419, 419, 94, 79, 194, 195,
 722         361, 361, 361, 366, 361, 421, 98, 402,
 723         422, 361, 79, 194, 195, 361, 361, 361,
 724         366, 361, 98, 402, 422, 361, 79, 194,
 725         195, 361, 361, 361, 366, 361, 402, 423,
 726         361, 79, 194, 195, 361, 361, 361, 366,
 727         361, 98, 361, 402, 402, 361, 79, 194,
 728         195, 361, 361, 361, 366, 361, 80, 81,
 729         361, 361, 98, 401, 361, 79, 194, 195,
 730         361, 361, 361, 366, 361, 80, 361, 395,
 731         400, 400, 84, 79, 194, 195, 361, 361,
 732         361, 398, 361, 394, 395, 400, 400, 84,
 733         79, 194, 195, 361, 361, 361, 398, 361,
 734         361, 200, 361, 394, 395, 396, 400, 84,
 735         79, 194, 195, 361, 361, 109, 398, 361,
 736         361, 200, 361, 392, 361, 424, 361, 411,
 737         411, 84, 79, 194, 195, 361, 361, 361,
 738         366, 361, 392, 361, 392, 361, 361, 361,
 739         402, 402, 361, 79, 194, 195, 361, 361,
 740         361, 366, 361, 392, 361, 392, 361, 361,
 741         361, 402, 425, 361, 79, 194, 195, 361,
 742         361, 361, 366, 361, 392, 361, 392, 361,
 743         424, 361, 402, 402, 361, 79, 194, 195,
 744         361, 361, 361, 366, 361, 392, 361, 392,
 745         81, 361, 361, 98, 393, 361, 79, 194,
 746         195, 361, 361, 361, 366, 361, 392, 361,
 747         385, 386, 391, 391, 84, 79, 194, 195,
 748         361, 361, 361, 389, 361, 361, 200, 361,
 749         385, 386, 387, 391, 84, 79, 194, 195,
 750         361, 361, 111, 389, 361, 361, 200, 361,
 751         383, 361, 426, 361, 411, 411, 84, 79,
 752         194, 195, 361, 361, 361, 366, 361, 383,
 753         361, 383, 361, 361, 361, 402, 402, 361,
 754         79, 194, 195, 361, 361, 361, 366, 361,
 755         383, 361, 383, 361, 361, 361, 402, 427,
 756         361, 79, 194, 195, 361, 361, 361, 366,
 757         361, 383, 361, 383, 361, 426, 361, 402,
 758         402, 361, 79, 194, 195, 361, 361, 361,
 759         366, 361, 383, 361, 383, 81, 361, 361,
 760         98, 384, 361, 79, 194, 195, 361, 361,
 761         361, 366, 361, 383, 361, 376, 377, 382,
 762         382, 84, 79, 194, 195, 361, 361, 361,
 763         380, 361, 361, 200, 361, 376, 377, 378,
 764         382, 84, 79, 194, 195, 361, 361, 113,
 765         380, 361, 361, 200, 361, 374, 361, 428,
 766         361, 411, 411, 84, 79, 194, 195, 361,
 767         361, 361, 366, 361, 374, 361, 374, 361,
 768         361, 361, 402, 402, 361, 79, 194, 195,
 769         361, 361, 361, 366, 361, 374, 361, 374,
 770         361, 361, 361, 402, 429, 361, 79, 194,
 771         195, 361, 361, 361, 366, 361, 374, 361,
 772         374, 361, 428, 361, 402, 402, 361, 79,
 773         194, 195, 361, 361, 361, 366, 361, 374,
 774         361, 374, 81, 361, 361, 98, 375, 361,
 775         79, 194, 195, 361, 361, 361, 366, 361,
 776         374, 361, 367, 368, 373, 373, 84, 79,
 777         194, 195, 361, 361, 361, 371, 361, 361,
 778         200, 361, 367, 368, 369, 373, 84, 79,
 779         194, 195, 361, 361, 115, 371, 361, 361,
 780         200, 361, 364, 361, 430, 361, 411, 411,
 781         84, 79, 194, 195, 361, 361, 361, 366,
 782         361, 364, 361, 364, 361, 361, 361, 402,
 783         402, 361, 79, 194, 195, 361, 361, 361,
 784         366, 361, 364, 361, 364, 361, 361, 361,
 785         402, 431, 361, 79, 194, 195, 361, 361,
 786         361, 366, 361, 364, 361, 364, 361, 430,
 787         361, 402, 402, 361, 79, 194, 195, 361,
 788         361, 361, 366, 361, 364, 361, 364, 81,
 789         361, 361, 98, 365, 361, 79, 194, 195,
 790         361, 361, 361, 366, 361, 364, 361, 116,
 791         83, 83, 84, 79, 432, 432, 432, 432,
 792         156, 116, 432, 190, 191, 363, 363, 84,
 793         79, 194, 195, 361, 361, 361, 197, 361,
 794         361, 200, 361, 116, 83, 83, 84, 79,
 795         432, 432, 432, 432, 432, 116, 432, 434,
 796         435, 436, 437, 123, 118, 438, 439, 433,
 797         433, 155, 440, 433, 433, 441, 433, 442,
 798         435, 437, 437, 123, 118, 438, 439, 433,
 799         433, 433, 440, 433, 433, 441, 433, 435,
 800         437, 437, 123, 118, 438, 439, 433, 433,
 801         433, 440, 433, 433, 441, 433, 443, 433,
 802         433, 433, 136, 444, 433, 118, 438, 439,
 803         433, 433, 433, 445, 433, 443, 433, 446,
 804         447, 448, 449, 123, 118, 438, 439, 433,
 805         433, 153, 450, 433, 433, 441, 433, 451,
 806         447, 452, 452, 123, 118, 438, 439, 433,
 807         433, 433, 450, 433, 433, 441, 433, 447,
 808         452, 452, 123, 118, 438, 439, 433, 433,
 809         433, 450, 433, 433, 441, 433, 453, 433,
 810         433, 433, 136, 454, 433, 118, 438, 439,
 811         433, 433, 433, 445, 433, 453, 433, 455,
 812         456, 457, 458, 123, 118, 438, 439, 433,
 813         433, 151, 459, 433, 433, 441, 433, 460,
 814         456, 461, 461, 123, 118, 438, 439, 433,
 815         433, 433, 459, 433, 433, 441, 433, 456,
 816         461, 461, 123, 118, 438, 439, 433, 433,
 817         433, 459, 433, 433, 441, 433, 462, 433,
 818         433, 433, 136, 463, 433, 118, 438, 439,
 819         433, 433, 433, 445, 433, 462, 433, 464,
 820         465, 466, 467, 123, 118, 438, 439, 433,
 821         433, 149, 468, 433, 433, 441, 433, 469,
 822         465, 470, 470, 123, 118, 438, 439, 433,
 823         433, 433, 468, 433, 433, 441, 433, 465,
 824         470, 470, 123, 118, 438, 439, 433, 433,
 825         433, 468, 433, 433, 441, 433, 471, 433,
 826         433, 433, 136, 472, 433, 118, 438, 439,
 827         433, 433, 433, 445, 433, 471, 433, 473,
 828         474, 475, 476, 123, 118, 438, 439, 433,
 829         433, 147, 477, 433, 433, 441, 433, 478,
 830         474, 479, 479, 123, 118, 438, 439, 433,
 831         433, 433, 477, 433, 433, 441, 433, 474,
 832         479, 479, 123, 118, 438, 439, 433, 433,
 833         433, 477, 433, 433, 441, 433, 136, 480,
 834         433, 118, 438, 439, 433, 433, 433, 445,
 835         433, 481, 481, 433, 118, 438, 439, 433,
 836         433, 433, 445, 433, 482, 433, 433, 483,
 837         438, 439, 433, 438, 439, 433, 484, 433,
 838         438, 485, 433, 438, 486, 433, 438, 433,
 839         482, 433, 433, 433, 438, 439, 433, 487,
 840         433, 488, 489, 433, 118, 438, 439, 433,
 841         433, 121, 433, 120, 433, 481, 481, 433,
 842         118, 438, 439, 433, 481, 481, 433, 118,
 843         438, 439, 433, 487, 433, 481, 481, 433,
 844         118, 438, 439, 433, 487, 433, 488, 481,
 845         433, 118, 438, 439, 433, 433, 121, 433,
 846         136, 433, 490, 490, 123, 118, 438, 439,
 847         433, 433, 433, 445, 433, 491, 145, 492,
 848         493, 126, 118, 438, 439, 433, 433, 433,
 849         445, 433, 145, 492, 493, 126, 118, 438,
 850         439, 433, 433, 433, 445, 433, 492, 492,
 851         126, 118, 438, 439, 433, 433, 433, 445,
 852         433, 494, 142, 495, 496, 129, 118, 438,
 853         439, 433, 433, 433, 445, 433, 142, 495,
 854         496, 129, 118, 438, 439, 433, 433, 433,
 855         445, 433, 495, 495, 129, 118, 438, 439,
 856         433, 433, 433, 445, 433, 497, 139, 498,
 857         499, 132, 118, 438, 439, 433, 433, 433,
 858         445, 433, 139, 498, 499, 132, 118, 438,
 859         439, 433, 433, 433, 445, 433, 498, 498,
 860         132, 118, 438, 439, 433, 433, 433, 445,
 861         433, 500, 136, 481, 501, 433, 118, 438,
 862         439, 433, 433, 433, 445, 433, 136, 481,
 863         501, 433, 118, 438, 439, 433, 433, 433,
 864         445, 433, 481, 502, 433, 118, 438, 439,
 865         433, 433, 433, 445, 433, 136, 433, 481,
 866         481, 433, 118, 438, 439, 433, 433, 433,
 867         445, 433, 119, 120, 433, 433, 136, 480,
 868         433, 118, 438, 439, 433, 433, 433, 445,
 869         433, 119, 433, 474, 479, 479, 123, 118,
 870         438, 439, 433, 433, 433, 477, 433, 473,
 871         474, 479, 479, 123, 118, 438, 439, 433,
 872         433, 433, 477, 433, 433, 441, 433, 473,
 873         474, 475, 479, 123, 118, 438, 439, 433,
 874         433, 147, 477, 433, 433, 441, 433, 471,
 875         433, 503, 433, 490, 490, 123, 118, 438,
 876         439, 433, 433, 433, 445, 433, 471, 433,
 877         471, 433, 433, 433, 481, 481, 433, 118,
 878         438, 439, 433, 433, 433, 445, 433, 471,
 879         433, 471, 433, 433, 433, 481, 504, 433,
 880         118, 438, 439, 433, 433, 433, 445, 433,
 881         471, 433, 471, 433, 503, 433, 481, 481,
 882         433, 118, 438, 439, 433, 433, 433, 445,
 883         433, 471, 433, 471, 120, 433, 433, 136,
 884         472, 433, 118, 438, 439, 433, 433, 433,
 885         445, 433, 471, 433, 464, 465, 470, 470,
 886         123, 118, 438, 439, 433, 433, 433, 468,
 887         433, 433, 441, 433, 464, 465, 466, 470,
 888         123, 118, 438, 439, 433, 433, 149, 468,
 889         433, 433, 441, 433, 462, 433, 505, 433,
 890         490, 490, 123, 118, 438, 439, 433, 433,
 891         433, 445, 433, 462, 433, 462, 433, 433,
 892         433, 481, 481, 433, 118, 438, 439, 433,
 893         433, 433, 445, 433, 462, 433, 462, 433,
 894         433, 433, 481, 506, 433, 118, 438, 439,
 895         433, 433, 433, 445, 433, 462, 433, 462,
 896         433, 505, 433, 481, 481, 433, 118, 438,
 897         439, 433, 433, 433, 445, 433, 462, 433,
 898         462, 120, 433, 433, 136, 463, 433, 118,
 899         438, 439, 433, 433, 433, 445, 433, 462,
 900         433, 455, 456, 461, 461, 123, 118, 438,
 901         439, 433, 433, 433, 459, 433, 433, 441,
 902         433, 455, 456, 457, 461, 123, 118, 438,
 903         439, 433, 433, 151, 459, 433, 433, 441,
 904         433, 453, 433, 507, 433, 490, 490, 123,
 905         118, 438, 439, 433, 433, 433, 445, 433,
 906         453, 433, 453, 433, 433, 433, 481, 481,
 907         433, 118, 438, 439, 433, 433, 433, 445,
 908         433, 453, 433, 453, 433, 433, 433, 481,
 909         508, 433, 118, 438, 439, 433, 433, 433,
 910         445, 433, 453, 433, 453, 433, 507, 433,
 911         481, 481, 433, 118, 438, 439, 433, 433,
 912         433, 445, 433, 453, 433, 453, 120, 433,
 913         433, 136, 454, 433, 118, 438, 439, 433,
 914         433, 433, 445, 433, 453, 433, 446, 447,
 915         452, 452, 123, 118, 438, 439, 433, 433,
 916         433, 450, 433, 433, 441, 433, 446, 447,
 917         448, 452, 123, 118, 438, 439, 433, 433,
 918         153, 450, 433, 433, 441, 433, 443, 433,
 919         509, 433, 490, 490, 123, 118, 438, 439,
 920         433, 433, 433, 445, 433, 443, 433, 443,
 921         433, 433, 433, 481, 481, 433, 118, 438,
 922         439, 433, 433, 433, 445, 433, 443, 433,
 923         443, 433, 433, 433, 481, 510, 433, 118,
 924         438, 439, 433, 433, 433, 445, 433, 443,
 925         433, 443, 433, 509, 433, 481, 481, 433,
 926         118, 438, 439, 433, 433, 433, 445, 433,
 927         443, 433, 443, 120, 433, 433, 136, 444,
 928         433, 118, 438, 439, 433, 433, 433, 445,
 929         433, 443, 433, 434, 435, 437, 437, 123,
 930         118, 438, 439, 433, 433, 433, 440, 433,
 931         433, 441, 433, 188, 189, 190, 191, 511,
 932         363, 84, 79, 194, 195, 196, 196, 156,
 933         197, 361, 188, 200, 361, 204, 512, 206,
 934         207, 6, 1, 208, 209, 203, 203, 38,
 935         210, 203, 203, 211, 203, 214, 189, 190,
 936         191, 513, 514, 84, 157, 515, 516, 203,
 937         196, 156, 517, 203, 214, 200, 203, 116,
 938         518, 518, 84, 157, 208, 209, 203, 203,
 939         156, 519, 203, 520, 203, 203, 521, 515,
 940         516, 203, 515, 516, 203, 255, 203, 515,
 941         522, 203, 515, 523, 203, 515, 203, 520,
 942         203, 203, 203, 515, 516, 203, 524, 3,
 943         361, 361, 402, 431, 361, 79, 194, 195,
 944         361, 361, 361, 366, 361, 524, 361, 525,
 945         368, 526, 527, 84, 157, 515, 516, 203,
 946         203, 158, 371, 203, 203, 200, 203, 528,
 947         368, 529, 529, 84, 157, 515, 516, 203,
 948         203, 203, 371, 203, 203, 200, 203, 368,
 949         529, 529, 84, 157, 515, 516, 203, 203,
 950         203, 371, 203, 203, 200, 203, 525, 368,
 951         529, 529, 84, 157, 515, 516, 203, 203,
 952         203, 371, 203, 203, 200, 203, 525, 368,
 953         526, 529, 84, 157, 515, 516, 203, 203,
 954         158, 371, 203, 203, 200, 203, 214, 203,
 955         280, 116, 530, 530, 160, 157, 208, 209,
 956         203, 203, 203, 519, 203, 214, 203, 531,
 957         184, 532, 533, 162, 157, 515, 516, 203,
 958         203, 203, 534, 203, 184, 532, 533, 162,
 959         157, 515, 516, 203, 203, 203, 534, 203,
 960         532, 532, 162, 157, 515, 516, 203, 203,
 961         203, 534, 203, 535, 181, 536, 537, 165,
 962         157, 515, 516, 203, 203, 203, 534, 203,
 963         181, 536, 537, 165, 157, 515, 516, 203,
 964         203, 203, 534, 203, 536, 536, 165, 157,
 965         515, 516, 203, 203, 203, 534, 203, 538,
 966         178, 539, 540, 168, 157, 515, 516, 203,
 967         203, 203, 534, 203, 178, 539, 540, 168,
 968         157, 515, 516, 203, 203, 203, 534, 203,
 969         539, 539, 168, 157, 515, 516, 203, 203,
 970         203, 534, 203, 541, 175, 542, 543, 203,
 971         157, 515, 516, 203, 203, 203, 534, 203,
 972         175, 542, 543, 203, 157, 515, 516, 203,
 973         203, 203, 534, 203, 542, 542, 203, 157,
 974         515, 516, 203, 203, 203, 534, 203, 544,
 975         203, 545, 546, 203, 157, 515, 516, 203,
 976         203, 172, 203, 171, 203, 542, 542, 203,
 977         157, 515, 516, 203, 542, 542, 203, 157,
 978         515, 516, 203, 544, 203, 542, 542, 203,
 979         157, 515, 516, 203, 544, 203, 545, 542,
 980         203, 157, 515, 516, 203, 203, 172, 203,
 981         524, 171, 361, 361, 98, 365, 361, 79,
 982         194, 195, 361, 361, 361, 366, 361, 524,
 983         361, 548, 547, 549, 549, 547, 186, 550,
 984         551, 547, 549, 549, 547, 186, 550, 551,
 985         547, 552, 547, 547, 553, 550, 551, 547,
 986         550, 551, 547, 554, 547, 550, 555, 547,
 987         550, 556, 547, 550, 547, 552, 547, 547,
 988         547, 550, 551, 547, 188, 432, 432, 432,
 989         432, 432, 432, 432, 432, 432, 196, 432,
 990         432, 432, 432, 188, 432, 0
 991 };
 992 
 993 static const short _indic_syllable_machine_trans_targs[] = {
 994         178, 200, 207, 209, 210, 4, 213, 5,
 995         7, 216, 8, 10, 219, 11, 13, 222,
 996         14, 16, 17, 199, 19, 20, 221, 22,
 997         23, 218, 25, 26, 215, 224, 228, 232,
 998         235, 239, 242, 246, 249, 253, 256, 178,
 999         279, 286, 288, 289, 41, 292, 42, 44,
1000         295, 45, 47, 298, 48, 50, 301, 51,
1001         53, 54, 278, 56, 57, 300, 59, 60,
1002         297, 62, 63, 294, 303, 307, 311, 314,
1003         318, 321, 325, 328, 332, 336, 178, 357,
1004         364, 366, 367, 78, 370, 178, 79, 81,
1005         373, 82, 84, 376, 85, 87, 379, 88,
1006         90, 91, 356, 93, 94, 378, 96, 97,
1007         375, 99, 100, 372, 381, 385, 389, 392,
1008         396, 399, 403, 406, 410, 178, 437, 444,
1009         446, 447, 114, 450, 115, 117, 453, 118,
1010         120, 456, 121, 123, 459, 124, 126, 127,
1011         436, 129, 130, 458, 132, 133, 455, 135,
1012         136, 452, 461, 465, 469, 472, 476, 479,
1013         483, 486, 490, 493, 414, 498, 509, 152,
1014         512, 154, 515, 155, 157, 518, 158, 160,
1015         521, 161, 524, 526, 527, 166, 167, 523,
1016         169, 170, 520, 172, 173, 517, 175, 176,
1017         514, 178, 532, 178, 179, 258, 337, 339,
1018         413, 415, 359, 360, 416, 412, 494, 495,
1019         384, 530, 539, 178, 180, 182, 36, 257,
1020         202, 203, 255, 227, 181, 35, 183, 251,
1021         1, 184, 186, 34, 250, 248, 185, 33,
1022         187, 244, 188, 190, 32, 243, 241, 189,
1023         31, 191, 237, 192, 194, 30, 236, 234,
1024         193, 29, 195, 230, 196, 198, 28, 229,
1025         226, 197, 27, 212, 0, 201, 206, 178,
1026         204, 205, 208, 2, 211, 3, 214, 6,
1027         24, 217, 9, 21, 220, 12, 18, 223,
1028         15, 225, 231, 233, 238, 240, 245, 247,
1029         252, 254, 178, 259, 261, 73, 334, 281,
1030         282, 335, 306, 260, 72, 262, 330, 38,
1031         263, 265, 71, 329, 327, 264, 70, 266,
1032         323, 267, 269, 69, 322, 320, 268, 68,
1033         270, 316, 271, 273, 67, 315, 313, 272,
1034         66, 274, 309, 275, 277, 65, 308, 305,
1035         276, 64, 291, 37, 280, 285, 178, 283,
1036         284, 287, 39, 290, 40, 293, 43, 61,
1037         296, 46, 58, 299, 49, 55, 302, 52,
1038         304, 310, 312, 317, 319, 324, 326, 331,
1039         333, 178, 338, 109, 340, 408, 75, 341,
1040         343, 108, 407, 405, 342, 107, 344, 401,
1041         345, 347, 106, 400, 398, 346, 105, 348,
1042         394, 349, 351, 104, 393, 391, 350, 103,
1043         352, 387, 353, 355, 102, 386, 383, 354,
1044         101, 369, 74, 358, 363, 178, 361, 362,
1045         365, 76, 368, 77, 371, 80, 98, 374,
1046         83, 95, 377, 86, 92, 380, 89, 382,
1047         388, 390, 395, 397, 402, 404, 409, 411,
1048         178, 178, 417, 419, 146, 145, 439, 440,
1049         492, 464, 418, 420, 488, 111, 421, 423,
1050         144, 487, 485, 422, 143, 424, 481, 425,
1051         427, 142, 480, 478, 426, 141, 428, 474,
1052         429, 431, 140, 473, 471, 430, 139, 432,
1053         467, 433, 435, 138, 466, 463, 434, 137,
1054         449, 110, 438, 443, 178, 441, 442, 445,
1055         112, 448, 113, 451, 116, 134, 454, 119,
1056         131, 457, 122, 128, 460, 125, 462, 468,
1057         470, 475, 477, 482, 484, 489, 491, 147,
1058         496, 497, 511, 500, 501, 529, 148, 505,
1059         499, 504, 502, 503, 506, 507, 150, 510,
1060         508, 149, 151, 513, 153, 174, 163, 516,
1061         156, 171, 519, 159, 168, 522, 162, 165,
1062         525, 164, 528, 178, 531, 177, 534, 535,
1063         533, 538, 178, 536, 537
1064 };
1065 
1066 static const char _indic_syllable_machine_trans_actions[] = {
1067         1, 0, 2, 2, 2, 0, 2, 0,
1068         0, 2, 0, 0, 2, 0, 0, 2,
1069         0, 0, 0, 2, 0, 0, 2, 0,
1070         0, 2, 0, 0, 2, 2, 2, 2,
1071         2, 2, 2, 2, 2, 2, 2, 3,
1072         0, 2, 2, 2, 0, 2, 0, 0,
1073         2, 0, 0, 2, 0, 0, 2, 0,
1074         0, 0, 2, 0, 0, 2, 0, 0,
1075         2, 0, 0, 2, 2, 2, 2, 2,
1076         2, 2, 2, 2, 2, 2, 4, 0,
1077         2, 2, 2, 0, 2, 5, 0, 0,
1078         2, 0, 0, 2, 0, 0, 2, 0,
1079         0, 0, 2, 0, 0, 2, 0, 0,
1080         2, 0, 0, 2, 2, 6, 2, 6,
1081         2, 6, 2, 6, 2, 7, 0, 2,
1082         2, 2, 0, 2, 0, 0, 2, 0,
1083         0, 2, 0, 0, 2, 0, 0, 0,
1084         2, 0, 0, 2, 0, 0, 2, 0,
1085         0, 2, 2, 2, 2, 2, 2, 2,
1086         2, 2, 2, 2, 6, 0, 8, 0,
1087         2, 0, 2, 0, 0, 2, 0, 0,
1088         2, 0, 2, 2, 2, 0, 0, 2,
1089         0, 0, 2, 0, 0, 2, 0, 0,
1090         2, 9, 0, 12, 2, 2, 6, 2,
1091         13, 13, 0, 0, 2, 2, 6, 2,
1092         6, 2, 0, 14, 2, 2, 0, 2,
1093         0, 0, 2, 2, 2, 0, 2, 2,
1094         0, 2, 2, 0, 2, 2, 2, 0,
1095         2, 2, 2, 2, 0, 2, 2, 2,
1096         0, 2, 2, 2, 2, 0, 2, 2,
1097         2, 0, 2, 2, 2, 2, 0, 2,
1098         2, 2, 0, 2, 0, 0, 0, 15,
1099         0, 0, 2, 0, 2, 0, 2, 0,
1100         0, 2, 0, 0, 2, 0, 0, 2,
1101         0, 2, 2, 2, 2, 2, 2, 2,
1102         2, 2, 16, 2, 2, 0, 2, 0,
1103         0, 2, 2, 2, 0, 2, 2, 0,
1104         2, 2, 0, 2, 2, 2, 0, 2,
1105         2, 2, 2, 0, 2, 2, 2, 0,
1106         2, 2, 2, 2, 0, 2, 2, 2,
1107         0, 2, 2, 2, 2, 0, 2, 2,
1108         2, 0, 2, 0, 0, 0, 17, 0,
1109         0, 2, 0, 2, 0, 2, 0, 0,
1110         2, 0, 0, 2, 0, 0, 2, 0,
1111         2, 2, 2, 2, 2, 2, 2, 2,
1112         2, 18, 6, 0, 6, 6, 0, 6,











1113         2, 0, 6, 2, 6, 0, 6, 6,
1114         6, 2, 0, 6, 2, 6, 0, 6,
1115         6, 6, 2, 0, 6, 2, 6, 0,
1116         6, 6, 6, 2, 0, 6, 2, 6,
1117         0, 6, 0, 0, 0, 19, 0, 0,
1118         2, 0, 2, 0, 2, 0, 0, 2,
1119         0, 0, 2, 0, 0, 2, 0, 2,
1120         2, 2, 2, 2, 2, 2, 2, 2,
1121         20, 21, 2, 2, 0, 0, 0, 0,
1122         2, 2, 2, 2, 2, 0, 2, 2,
1123         0, 2, 2, 2, 0, 2, 2, 2,
1124         2, 0, 2, 2, 2, 0, 2, 2,
1125         2, 2, 0, 2, 2, 2, 0, 2,
1126         2, 2, 2, 0, 2, 2, 2, 0,
1127         2, 0, 0, 0, 22, 0, 0, 2,
1128         0, 2, 0, 2, 0, 0, 2, 0,
1129         0, 2, 0, 0, 2, 0, 2, 2,
1130         2, 2, 2, 2, 2, 2, 2, 0,
1131         0, 8, 2, 0, 0, 2, 0, 2,
1132         0, 0, 0, 0, 8, 8, 0, 8,
1133         8, 0, 0, 2, 0, 0, 0, 2,
1134         0, 0, 2, 0, 0, 2, 0, 0,
1135         2, 0, 2, 23, 2, 0, 0, 0,
1136         0, 0, 24, 0, 0
1137 };
1138 
1139 static const char _indic_syllable_machine_to_state_actions[] = {
1140         0, 0, 0, 0, 0, 0, 0, 0,
1141         0, 0, 0, 0, 0, 0, 0, 0,
1142         0, 0, 0, 0, 0, 0, 0, 0,
1143         0, 0, 0, 0, 0, 0, 0, 0,
1144         0, 0, 0, 0, 0, 0, 0, 0,
1145         0, 0, 0, 0, 0, 0, 0, 0,
1146         0, 0, 0, 0, 0, 0, 0, 0,
1147         0, 0, 0, 0, 0, 0, 0, 0,
1148         0, 0, 0, 0, 0, 0, 0, 0,
1149         0, 0, 0, 0, 0, 0, 0, 0,
1150         0, 0, 0, 0, 0, 0, 0, 0,
1151         0, 0, 0, 0, 0, 0, 0, 0,
1152         0, 0, 0, 0, 0, 0, 0, 0,
1153         0, 0, 0, 0, 0, 0, 0, 0,
1154         0, 0, 0, 0, 0, 0, 0, 0,
1155         0, 0, 0, 0, 0, 0, 0, 0,
1156         0, 0, 0, 0, 0, 0, 0, 0,


1187         0, 0, 0, 0, 0, 0, 0, 0,
1188         0, 0, 0, 0, 0, 0, 0, 0,
1189         0, 0, 0, 0, 0, 0, 0, 0,
1190         0, 0, 0, 0, 0, 0, 0, 0,
1191         0, 0, 0, 0, 0, 0, 0, 0,
1192         0, 0, 0, 0, 0, 0, 0, 0,
1193         0, 0, 0, 0, 0, 0, 0, 0,
1194         0, 0, 0, 0, 0, 0, 0, 0,
1195         0, 0, 0, 0, 0, 0, 0, 0,
1196         0, 0, 0, 0, 0, 0, 0, 0,
1197         0, 0, 0, 0, 0, 0, 0, 0,
1198         0, 0, 0, 0, 0, 0, 0, 0,
1199         0, 0, 0, 0, 0, 0, 0, 0,
1200         0, 0, 0, 0, 0, 0, 0, 0,
1201         0, 0, 0, 0, 0, 0, 0, 0,
1202         0, 0, 0, 0, 0, 0, 0, 0,
1203         0, 0, 0, 0, 0, 0, 0, 0,
1204         0, 0, 0, 0, 0, 0, 0, 0,
1205         0, 0, 0, 0, 0, 0, 0, 0,
1206         0, 0, 0, 0, 0, 0, 0, 0,
1207         0, 0, 0, 0
1208 };
1209 
1210 static const char _indic_syllable_machine_from_state_actions[] = {
1211         0, 0, 0, 0, 0, 0, 0, 0,
1212         0, 0, 0, 0, 0, 0, 0, 0,
1213         0, 0, 0, 0, 0, 0, 0, 0,
1214         0, 0, 0, 0, 0, 0, 0, 0,
1215         0, 0, 0, 0, 0, 0, 0, 0,
1216         0, 0, 0, 0, 0, 0, 0, 0,
1217         0, 0, 0, 0, 0, 0, 0, 0,
1218         0, 0, 0, 0, 0, 0, 0, 0,
1219         0, 0, 0, 0, 0, 0, 0, 0,
1220         0, 0, 0, 0, 0, 0, 0, 0,
1221         0, 0, 0, 0, 0, 0, 0, 0,
1222         0, 0, 0, 0, 0, 0, 0, 0,
1223         0, 0, 0, 0, 0, 0, 0, 0,
1224         0, 0, 0, 0, 0, 0, 0, 0,
1225         0, 0, 0, 0, 0, 0, 0, 0,
1226         0, 0, 0, 0, 0, 0, 0, 0,
1227         0, 0, 0, 0, 0, 0, 0, 0,


1258         0, 0, 0, 0, 0, 0, 0, 0,
1259         0, 0, 0, 0, 0, 0, 0, 0,
1260         0, 0, 0, 0, 0, 0, 0, 0,
1261         0, 0, 0, 0, 0, 0, 0, 0,
1262         0, 0, 0, 0, 0, 0, 0, 0,
1263         0, 0, 0, 0, 0, 0, 0, 0,
1264         0, 0, 0, 0, 0, 0, 0, 0,
1265         0, 0, 0, 0, 0, 0, 0, 0,
1266         0, 0, 0, 0, 0, 0, 0, 0,
1267         0, 0, 0, 0, 0, 0, 0, 0,
1268         0, 0, 0, 0, 0, 0, 0, 0,
1269         0, 0, 0, 0, 0, 0, 0, 0,
1270         0, 0, 0, 0, 0, 0, 0, 0,
1271         0, 0, 0, 0, 0, 0, 0, 0,
1272         0, 0, 0, 0, 0, 0, 0, 0,
1273         0, 0, 0, 0, 0, 0, 0, 0,
1274         0, 0, 0, 0, 0, 0, 0, 0,
1275         0, 0, 0, 0, 0, 0, 0, 0,
1276         0, 0, 0, 0, 0, 0, 0, 0,
1277         0, 0, 0, 0, 0, 0, 0, 0,
1278         0, 0, 0, 0
1279 };
1280 
1281 static const short _indic_syllable_machine_eof_trans[] = {
1282         1, 1, 1, 1, 1, 1, 1, 1,
1283         1, 1, 1, 1, 1, 1, 1, 1,
1284         1, 1, 1, 1, 1, 1, 1, 1,
1285         1, 1, 1, 1, 1, 1, 1, 1,
1286         1, 1, 1, 1, 1, 40, 40, 40,
1287         40, 40, 40, 40, 40, 40, 40, 40,
1288         40, 40, 40, 40, 40, 40, 40, 40,
1289         40, 40, 40, 40, 40, 40, 40, 40,
1290         40, 40, 40, 40, 40, 40, 40, 40,
1291         40, 40, 79, 79, 79, 79, 86, 86,
1292         79, 79, 79, 79, 79, 79, 79, 79,
1293         79, 79, 79, 79, 79, 79, 79, 79,
1294         79, 79, 79, 79, 79, 79, 79, 79,
1295         79, 79, 79, 79, 79, 79, 118, 118,
1296         118, 118, 118, 118, 118, 118, 118, 118,
1297         118, 118, 118, 118, 118, 118, 118, 118,
1298         118, 118, 118, 118, 118, 118, 118, 118,
1299         118, 118, 118, 118, 118, 118, 118, 118,
1300         118, 118, 118, 79, 1, 1, 1, 1,
1301         1, 1, 1, 1, 1, 1, 1, 1,
1302         1, 1, 1, 1, 1, 1, 1, 1,
1303         1, 1, 1, 1, 1, 1, 1, 1,
1304         1, 186, 0, 204, 204, 204, 204, 204,
1305         204, 204, 204, 204, 204, 204, 204, 204,
1306         204, 204, 204, 204, 204, 204, 204, 204,
1307         204, 204, 204, 204, 204, 204, 204, 204,
1308         204, 204, 204, 204, 204, 204, 204, 204,
1309         204, 204, 204, 204, 204, 204, 204, 204,
1310         204, 204, 204, 204, 204, 204, 204, 204,
1311         204, 204, 204, 204, 204, 204, 204, 204,
1312         204, 204, 204, 204, 204, 204, 204, 204,
1313         204, 204, 204, 204, 204, 204, 204, 204,
1314         204, 204, 283, 283, 283, 283, 283, 283,
1315         283, 283, 283, 283, 283, 283, 283, 283,
1316         283, 283, 283, 283, 283, 283, 283, 283,
1317         283, 283, 283, 283, 283, 283, 283, 283,
1318         283, 283, 283, 283, 283, 283, 283, 283,
1319         283, 283, 283, 283, 283, 283, 283, 283,
1320         283, 283, 283, 283, 283, 283, 283, 283,
1321         283, 283, 283, 283, 283, 283, 283, 283,
1322         283, 283, 283, 283, 283, 283, 283, 283,
1323         283, 283, 283, 283, 283, 283, 283, 283,
1324         283, 362, 362, 362, 362, 362, 362, 362,
1325         362, 362, 362, 362, 362, 362, 362, 362,
1326         362, 362, 362, 362, 362, 362, 362, 362,
1327         362, 362, 362, 362, 362, 362, 362, 362,
1328         362, 362, 362, 362, 362, 362, 362, 362,
1329         362, 362, 362, 362, 362, 362, 362, 362,
1330         362, 362, 362, 362, 362, 362, 362, 362,
1331         362, 362, 362, 362, 362, 362, 362, 362,
1332         362, 362, 362, 362, 362, 362, 362, 362,
1333         362, 362, 362, 362, 362, 433, 362, 433,
1334         434, 434, 434, 434, 434, 434, 434, 434,
1335         434, 434, 434, 434, 434, 434, 434, 434,
1336         434, 434, 434, 434, 434, 434, 434, 434,
1337         434, 434, 434, 434, 434, 434, 434, 434,
1338         434, 434, 434, 434, 434, 434, 434, 434,
1339         434, 434, 434, 434, 434, 434, 434, 434,
1340         434, 434, 434, 434, 434, 434, 434, 434,
1341         434, 434, 434, 434, 434, 434, 434, 434,
1342         434, 434, 434, 434, 434, 434, 434, 434,
1343         434, 434, 434, 434, 434, 434, 362, 204,
1344         204, 204, 204, 204, 204, 204, 204, 204,
1345         204, 362, 204, 204, 204, 204, 204, 204,
1346         204, 204, 204, 204, 204, 204, 204, 204,
1347         204, 204, 204, 204, 204, 204, 204, 204,
1348         204, 362, 548, 548, 548, 548, 548, 548,
1349         548, 548, 548, 433
1350 };
1351 
1352 static const int indic_syllable_machine_start = 178;
1353 static const int indic_syllable_machine_first_final = 178;
1354 static const int indic_syllable_machine_error = -1;
1355 
1356 static const int indic_syllable_machine_en_main = 178;
1357 
1358 
1359 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1360 
1361 
1362 
1363 #line 97 "hb-ot-shape-complex-indic-machine.rl"
1364 
1365 
1366 #define found_syllable(syllable_type) \
1367   HB_STMT_START { \
1368     if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1369     for (unsigned int i = last; i < p+1; i++) \
1370       info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1371     last = p+1; \
1372     syllable_serial++; \
1373     if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1374   } HB_STMT_END
1375 
1376 static void
1377 find_syllables (hb_buffer_t *buffer)
1378 {
1379   unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1380   int cs;
1381   hb_glyph_info_t *info = buffer->info;
1382 
1383 #line 1384 "hb-ot-shape-complex-indic-machine.hh"
1384         {
1385         cs = indic_syllable_machine_start;
1386         ts = 0;
1387         te = 0;
1388         act = 0;
1389         }
1390 
1391 #line 118 "hb-ot-shape-complex-indic-machine.rl"
1392 
1393 
1394   p = 0;
1395   pe = eof = buffer->len;
1396 
1397   unsigned int last = 0;
1398   unsigned int syllable_serial = 1;
1399 
1400 #line 1401 "hb-ot-shape-complex-indic-machine.hh"
1401         {
1402         int _slen;
1403         int _trans;
1404         const unsigned char *_keys;
1405         const short *_inds;
1406         if ( p == pe )
1407                 goto _test_eof;
1408 _resume:
1409         switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1410         case 11:
1411 #line 1 "NONE"
1412         {ts = p;}
1413         break;
1414 #line 1415 "hb-ot-shape-complex-indic-machine.hh"
1415         }
1416 
1417         _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1418         _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1419 
1420         _slen = _indic_syllable_machine_key_spans[cs];
1421         _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1422                 ( info[p].indic_category()) <= _keys[1] ?
1423                 ( info[p].indic_category()) - _keys[0] : _slen ];
1424 
1425 _eof_trans:
1426         cs = _indic_syllable_machine_trans_targs[_trans];
1427 
1428         if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1429                 goto _again;
1430 
1431         switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1432         case 2:
1433 #line 1 "NONE"
1434         {te = p+1;}
1435         break;
1436         case 15:
1437 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1438         {te = p+1;{ found_syllable (consonant_syllable); }}
1439         break;
1440         case 17:
1441 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1442         {te = p+1;{ found_syllable (vowel_syllable); }}
1443         break;
1444         case 22:
1445 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1446         {te = p+1;{ found_syllable (standalone_cluster); }}
1447         break;
1448         case 24:
1449 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1450         {te = p+1;{ found_syllable (symbol_cluster); }}
1451         break;
1452         case 19:
1453 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1454         {te = p+1;{ found_syllable (broken_cluster); }}
1455         break;
1456         case 12:
1457 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1458         {te = p+1;{ found_syllable (non_indic_cluster); }}
1459         break;
1460         case 14:
1461 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1462         {te = p;p--;{ found_syllable (consonant_syllable); }}
1463         break;
1464         case 16:
1465 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1466         {te = p;p--;{ found_syllable (vowel_syllable); }}
1467         break;
1468         case 21:
1469 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1470         {te = p;p--;{ found_syllable (standalone_cluster); }}
1471         break;
1472         case 23:
1473 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1474         {te = p;p--;{ found_syllable (symbol_cluster); }}
1475         break;
1476         case 18:
1477 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1478         {te = p;p--;{ found_syllable (broken_cluster); }}
1479         break;
1480         case 20:
1481 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1482         {te = p;p--;{ found_syllable (non_indic_cluster); }}
1483         break;
1484         case 1:
1485 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1486         {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1487         break;
1488         case 3:
1489 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1490         {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1491         break;
1492         case 7:
1493 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1494         {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1495         break;
1496         case 9:
1497 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1498         {{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
1499         break;
1500         case 4:
1501 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1502         {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1503         break;
1504         case 5:
1505 #line 1 "NONE"
1506         {       switch( act ) {
1507         case 1:
1508         {{p = ((te))-1;} found_syllable (consonant_syllable); }
1509         break;
1510         case 5:
1511         {{p = ((te))-1;} found_syllable (broken_cluster); }
1512         break;
1513         case 6:
1514         {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1515         break;
1516         }
1517         }
1518         break;
1519         case 8:
1520 #line 1 "NONE"
1521         {te = p+1;}
1522 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1523         {act = 1;}
1524         break;
1525         case 6:
1526 #line 1 "NONE"
1527         {te = p+1;}
1528 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1529         {act = 5;}
1530         break;
1531         case 13:
1532 #line 1 "NONE"
1533         {te = p+1;}
1534 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1535         {act = 6;}
1536         break;
1537 #line 1538 "hb-ot-shape-complex-indic-machine.hh"
1538         }
1539 
1540 _again:
1541         switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1542         case 10:
1543 #line 1 "NONE"
1544         {ts = 0;}
1545         break;
1546 #line 1547 "hb-ot-shape-complex-indic-machine.hh"
1547         }
1548 
1549         if ( ++p != pe )
1550                 goto _resume;
1551         _test_eof: {}
1552         if ( p == eof )
1553         {
1554         if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1555                 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1556                 goto _eof_trans;
1557         }
1558         }
1559 
1560         }
1561 
1562 #line 127 "hb-ot-shape-complex-indic-machine.rl"
1563 
1564 }
1565 
1566 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
< prev index next >