#line 1 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" /* * redcloth_bbcode_inline.c.rl * * Copyright (C) 2009 Ryan Alyea */ #include #include "redcloth.h" #line 35 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" #line 17 "ext/redcloth_scan/redcloth_bbcode_inline.c" static const char _redcloth_bbcode_inline_actions[] = { 0, 1, 0, 1, 1, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, 1, 49, 1, 50, 1, 51, 1, 52, 2, 0, 12, 2, 16, 2 }; static const short _redcloth_bbcode_inline_key_offsets[] = { 0, 0, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 29, 37, 45, 52, 58, 63, 68, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 87, 93, 99, 105, 111, 117, 123, 129, 135, 141, 142, 143, 144, 145, 151, 157, 158, 159, 160, 161, 162, 166, 170, 176, 181, 186, 190, 191, 192, 193, 194, 195, 196, 197, 203, 209, 215, 221, 227, 233, 239, 245, 246, 247, 248, 249, 250, 251, 252, 258, 263, 268, 272, 273, 274, 275, 281, 287, 293, 299, 300, 301, 302, 303, 304, 320, 326, 332, 338, 345, 351, 357, 358, 364, 369, 374, 378, 379, 380, 381, 382, 383, 384, 385, 391, 397, 403, 409, 415, 421, 427, 433, 434, 435, 436, 437, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 453, 454, 456, 457, 458, 459, 461, 462, 463, 464, 465, 466, 467, 468, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 506, 511, 516, 520, 521, 522, 523, 524, 525, 531, 537, 543, 549, 555, 561, 564, 570, 575, 580, 584, 585, 586, 587, 593, 599, 605, 611, 612, 614, 636, 656, 665, 671, 677, 684, 689, 694, 698, 699, 700, 701, 702, 703, 709, 715, 721, 727, 733, 740, 746, 752, 772, 778, 784, 805, 825, 847, 867, 876, 882, 888, 889, 890, 891, 892, 893, 899, 905, 925, 931, 937, 958, 978, 979, 980, 986, 991, 996, 1000, 1001, 1002, 1003, 1004, 1005, 1011, 1017, 1023, 1029, 1035, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1056, 1061, 1066, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1087, 1093, 1099, 1105, 1111, 1117, 1123, 1129, 1135, 1141, 1147, 1153, 1154, 1155, 1156, 1160, 1161, 1162, 1163, 1164, 1165, 1169, 1175, 1180, 1185, 1189, 1190, 1191, 1192, 1198, 1204, 1210, 1216, 1217, 1218, 1219, 1229, 1239, 1241, 1250, 1254, 1260, 1265, 1270, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1286, 1292, 1298, 1304, 1310, 1316, 1322, 1326, 1333, 1334, 1336, 1346, 1347, 1348, 1349, 1350, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1368, 1369, 1371, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1402, 1410, 1418, 1425, 1429, 1436, 1442, 1447, 1455, 1463, 1471, 1479, 1487, 1495, 1503, 1511, 1519, 1521, 1522, 1528, 1533, 1538, 1542, 1543, 1544, 1545, 1546, 1547, 1553, 1559, 1565, 1571, 1577, 1583, 1584, 1590, 1595, 1600, 1604, 1605, 1606, 1607, 1608, 1609, 1615, 1621, 1627, 1633, 1639, 1645, 1647, 1653, 1658, 1663, 1667, 1668, 1669, 1670, 1676, 1682, 1688, 1694, 1695, 1697, 1719, 1739, 1748, 1754, 1760, 1766, 1771, 1776, 1780, 1781, 1782, 1783, 1784, 1785, 1791, 1797, 1803, 1809, 1815, 1821, 1827, 1833, 1853, 1859, 1865, 1886, 1906, 1928, 1948, 1957, 1963, 1969, 1970, 1971, 1972, 1973, 1974, 1980, 1986, 2006, 2012, 2018, 2039, 2059, 2081, 2102, 2122, 2144, 2161, 2163, 2164, 2165, 2168, 2177 }; static const char _redcloth_bbcode_inline_trans_keys[] = { 99, 112, 111, 100, 101, 93, 32, 91, 9, 13, 47, 112, 114, 101, 93, 99, 108, 114, 111, 110, 121, 109, 61, 0, 32, 91, 93, 9, 13, 0, 9, 10, 32, 91, 93, 11, 13, 0, 9, 10, 32, 91, 93, 11, 13, 0, 9, 32, 91, 93, 10, 13, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 97, 99, 114, 111, 110, 121, 109, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 97, 11, 13, 0, 10, 91, 99, 11, 13, 0, 10, 91, 114, 11, 13, 0, 10, 91, 111, 11, 13, 0, 10, 91, 110, 11, 13, 0, 10, 91, 121, 11, 13, 0, 10, 91, 109, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 105, 103, 110, 61, 32, 99, 108, 114, 9, 13, 32, 99, 108, 114, 9, 13, 101, 110, 116, 101, 114, 32, 93, 9, 13, 32, 93, 9, 13, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 97, 108, 105, 103, 110, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 97, 11, 13, 0, 10, 91, 108, 11, 13, 0, 10, 91, 105, 11, 13, 0, 10, 91, 103, 11, 13, 0, 10, 91, 110, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 101, 102, 116, 105, 103, 104, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 98, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 98, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 111, 108, 111, 114, 61, 35, 97, 98, 99, 102, 103, 108, 109, 110, 111, 112, 114, 115, 116, 119, 121, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 93, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 99, 111, 108, 111, 114, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 99, 11, 13, 0, 10, 91, 111, 11, 13, 0, 10, 91, 108, 11, 13, 0, 10, 91, 111, 11, 13, 0, 10, 91, 114, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 113, 117, 97, 108, 97, 117, 99, 107, 101, 121, 97, 110, 117, 99, 104, 115, 105, 114, 97, 101, 121, 101, 121, 105, 109, 97, 103, 114, 101, 110, 116, 111, 111, 97, 118, 108, 114, 105, 118, 97, 110, 103, 117, 114, 112, 108, 101, 100, 105, 108, 118, 101, 114, 101, 97, 108, 104, 105, 116, 101, 108, 108, 111, 119, 101, 108, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 100, 101, 108, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 100, 11, 13, 0, 10, 91, 101, 11, 13, 0, 10, 91, 108, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 93, 109, 110, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 105, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 105, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 103, 61, 93, 34, 35, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 37, 60, 62, 91, 93, 127, 0, 32, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 0, 32, 91, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 105, 109, 103, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 105, 11, 13, 0, 10, 91, 109, 11, 13, 0, 10, 91, 103, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 91, 9, 10, 11, 13, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 58, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 35, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 37, 60, 62, 91, 93, 127, 0, 32, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 47, 105, 109, 103, 93, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 58, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 115, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 105, 110, 115, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 105, 11, 13, 0, 10, 91, 110, 11, 13, 0, 10, 91, 115, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 111, 116, 101, 120, 116, 105, 108, 101, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 110, 111, 116, 101, 120, 116, 105, 108, 101, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 110, 11, 13, 0, 10, 91, 111, 11, 13, 0, 10, 91, 116, 11, 13, 0, 10, 91, 101, 11, 13, 0, 10, 91, 120, 11, 13, 0, 10, 91, 116, 11, 13, 0, 10, 91, 105, 11, 13, 0, 10, 91, 108, 11, 13, 0, 10, 91, 101, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 114, 101, 93, 32, 91, 9, 13, 99, 111, 100, 101, 93, 93, 105, 112, 117, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 115, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 115, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 122, 101, 61, 32, 46, 108, 109, 115, 120, 9, 13, 48, 57, 32, 46, 108, 109, 115, 120, 9, 13, 48, 57, 48, 57, 32, 37, 93, 101, 112, 9, 13, 48, 57, 32, 93, 9, 13, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 115, 105, 122, 101, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 115, 11, 13, 0, 10, 91, 105, 11, 13, 0, 10, 91, 122, 11, 13, 0, 10, 91, 101, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 32, 93, 9, 13, 32, 37, 93, 101, 112, 9, 13, 109, 116, 120, 32, 37, 46, 93, 101, 112, 9, 13, 48, 57, 97, 114, 103, 101, 32, 93, 114, 9, 13, 101, 100, 105, 117, 109, 97, 108, 108, 32, 93, 101, 9, 13, 114, 45, 120, 108, 115, 97, 114, 103, 101, 109, 97, 108, 108, 45, 111, 105, 108, 101, 114, 32, 61, 93, 116, 105, 116, 108, 101, 61, 0, 32, 91, 93, 9, 13, 0, 9, 10, 32, 91, 93, 11, 13, 0, 9, 10, 32, 91, 93, 11, 13, 0, 9, 32, 91, 93, 10, 13, 0, 32, 9, 13, 0, 9, 10, 32, 91, 11, 13, 0, 9, 10, 32, 11, 13, 0, 9, 32, 10, 13, 0, 9, 10, 32, 47, 91, 11, 13, 0, 9, 10, 32, 91, 115, 11, 13, 0, 9, 10, 32, 91, 112, 11, 13, 0, 9, 10, 32, 91, 111, 11, 13, 0, 9, 10, 32, 91, 105, 11, 13, 0, 9, 10, 32, 91, 108, 11, 13, 0, 9, 10, 32, 91, 101, 11, 13, 0, 9, 10, 32, 91, 114, 11, 13, 0, 9, 10, 32, 91, 93, 11, 13, 98, 112, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 115, 117, 98, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 115, 11, 13, 0, 10, 91, 117, 11, 13, 0, 10, 91, 98, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 93, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 115, 117, 112, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 115, 11, 13, 0, 10, 91, 117, 11, 13, 0, 10, 91, 112, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 93, 114, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 117, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 117, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 108, 61, 93, 34, 35, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 37, 60, 62, 91, 93, 127, 0, 32, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 0, 32, 9, 10, 11, 13, 0, 10, 91, 11, 13, 0, 10, 91, 11, 13, 32, 91, 9, 10, 47, 117, 114, 108, 93, 0, 10, 47, 91, 11, 13, 0, 10, 91, 117, 11, 13, 0, 10, 91, 114, 11, 13, 0, 10, 91, 108, 11, 13, 0, 10, 91, 93, 11, 13, 0, 32, 9, 10, 11, 13, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 58, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 35, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 34, 37, 60, 62, 91, 93, 127, 0, 32, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 47, 117, 114, 108, 93, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70, 97, 102, 34, 36, 37, 43, 47, 91, 93, 95, 127, 0, 32, 45, 58, 59, 60, 62, 63, 65, 90, 97, 122, 34, 36, 37, 47, 91, 93, 95, 127, 0, 32, 45, 57, 59, 60, 62, 63, 65, 90, 97, 122, 0, 32, 33, 63, 91, 96, 124, 126, 9, 13, 35, 38, 40, 41, 44, 47, 48, 57, 58, 61, 92, 94, 0, 63, 96, 124, 126, 9, 13, 32, 33, 35, 38, 40, 41, 44, 47, 48, 57, 58, 61, 91, 94, 0, 34, 39, 63, 96, 120, 124, 126, 9, 13, 32, 41, 44, 47, 48, 57, 58, 61, 91, 94, 0, 63, 96, 120, 124, 126, 9, 13, 32, 33, 35, 38, 40, 41, 44, 47, 48, 57, 58, 61, 91, 94, 0, 63, 96, 124, 126, 9, 13, 32, 33, 35, 38, 40, 41, 44, 61, 91, 94, 0, 91, 47, 10, 0, 10, 91, 97, 98, 99, 100, 105, 110, 112, 115, 117, 32, 91, 9, 13, 0 }; static const char _redcloth_bbcode_inline_single_lengths[] = { 0, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 4, 6, 6, 5, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 4, 4, 4, 2, 1, 1, 1, 1, 1, 16, 0, 0, 0, 1, 0, 0, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 2, 3, 2, 3, 3, 2, 1, 1, 1, 4, 4, 4, 2, 1, 2, 10, 8, 7, 0, 0, 3, 3, 3, 2, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 3, 0, 0, 8, 0, 0, 9, 8, 10, 8, 7, 0, 0, 1, 1, 1, 1, 1, 0, 0, 8, 0, 0, 9, 8, 1, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 4, 2, 3, 3, 2, 1, 1, 1, 4, 4, 4, 2, 1, 1, 1, 6, 6, 0, 5, 2, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 2, 2, 5, 1, 2, 6, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 4, 6, 6, 5, 2, 5, 4, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 2, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 2, 2, 2, 3, 3, 2, 1, 1, 1, 4, 4, 4, 2, 1, 2, 10, 8, 7, 0, 0, 2, 3, 3, 2, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 2, 0, 0, 8, 0, 0, 9, 8, 10, 8, 7, 0, 0, 1, 1, 1, 1, 1, 0, 0, 8, 0, 0, 9, 8, 8, 5, 8, 6, 5, 2, 1, 1, 3, 9, 2 }; static const char _redcloth_bbcode_inline_range_lengths[] = { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 2, 0, 0, 6, 6, 1, 3, 3, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 3, 3, 6, 3, 3, 6, 6, 6, 6, 1, 3, 3, 0, 0, 0, 0, 0, 3, 3, 6, 3, 3, 6, 6, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 2, 2, 1, 2, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 2, 0, 0, 6, 6, 1, 3, 3, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 3, 3, 6, 3, 3, 6, 6, 6, 6, 1, 3, 3, 0, 0, 0, 0, 0, 3, 3, 6, 3, 3, 6, 6, 7, 8, 6, 8, 6, 0, 0, 0, 0, 0, 1 }; static const short _redcloth_bbcode_inline_index_offsets[] = { 0, 0, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25, 28, 30, 32, 34, 36, 38, 40, 46, 54, 62, 69, 74, 79, 84, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 112, 118, 124, 130, 136, 142, 148, 154, 160, 165, 167, 169, 171, 173, 179, 185, 187, 189, 191, 193, 195, 199, 203, 208, 213, 218, 222, 224, 226, 228, 230, 232, 234, 236, 242, 248, 254, 260, 266, 272, 278, 283, 285, 287, 289, 291, 293, 295, 297, 302, 307, 312, 316, 318, 320, 322, 328, 334, 340, 345, 347, 349, 351, 353, 355, 372, 376, 380, 384, 389, 393, 397, 399, 404, 409, 414, 418, 420, 422, 424, 426, 428, 430, 432, 438, 444, 450, 456, 462, 468, 474, 479, 481, 483, 485, 487, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 517, 519, 522, 524, 526, 528, 531, 533, 535, 537, 539, 541, 543, 545, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 613, 618, 623, 627, 629, 631, 633, 635, 637, 643, 649, 655, 661, 667, 672, 676, 681, 686, 691, 695, 697, 699, 701, 707, 713, 719, 724, 726, 729, 746, 761, 770, 774, 778, 784, 789, 794, 798, 800, 802, 804, 806, 808, 814, 820, 826, 832, 838, 844, 848, 852, 867, 871, 875, 891, 906, 923, 938, 947, 951, 955, 957, 959, 961, 963, 965, 969, 973, 988, 992, 996, 1012, 1027, 1029, 1031, 1036, 1041, 1046, 1050, 1052, 1054, 1056, 1058, 1060, 1066, 1072, 1078, 1084, 1090, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1118, 1123, 1128, 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1160, 1166, 1172, 1178, 1184, 1190, 1196, 1202, 1208, 1214, 1220, 1225, 1227, 1229, 1231, 1235, 1237, 1239, 1241, 1243, 1245, 1250, 1255, 1260, 1265, 1269, 1271, 1273, 1275, 1281, 1287, 1293, 1298, 1300, 1302, 1304, 1313, 1322, 1324, 1332, 1336, 1341, 1346, 1351, 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1373, 1379, 1385, 1391, 1397, 1403, 1408, 1412, 1419, 1421, 1424, 1433, 1435, 1437, 1439, 1441, 1446, 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1462, 1467, 1469, 1472, 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, 1497, 1499, 1501, 1503, 1507, 1509, 1511, 1513, 1515, 1517, 1519, 1525, 1533, 1541, 1548, 1552, 1559, 1565, 1570, 1578, 1586, 1594, 1602, 1610, 1618, 1626, 1634, 1642, 1645, 1647, 1652, 1657, 1662, 1666, 1668, 1670, 1672, 1674, 1676, 1682, 1688, 1694, 1700, 1706, 1711, 1713, 1718, 1723, 1728, 1732, 1734, 1736, 1738, 1740, 1742, 1748, 1754, 1760, 1766, 1772, 1777, 1780, 1785, 1790, 1795, 1799, 1801, 1803, 1805, 1811, 1817, 1823, 1828, 1830, 1833, 1850, 1865, 1874, 1878, 1882, 1887, 1892, 1897, 1901, 1903, 1905, 1907, 1909, 1911, 1917, 1923, 1929, 1935, 1941, 1946, 1950, 1954, 1969, 1973, 1977, 1993, 2008, 2025, 2040, 2049, 2053, 2057, 2059, 2061, 2063, 2065, 2067, 2071, 2075, 2090, 2094, 2098, 2114, 2129, 2145, 2159, 2174, 2189, 2201, 2204, 2206, 2208, 2212, 2222 }; static const short _redcloth_bbcode_inline_indicies[] = { 1, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 6, 7, 6, 0, 8, 0, 2, 0, 9, 0, 10, 0, 11, 0, 13, 14, 12, 15, 12, 16, 12, 17, 12, 18, 12, 19, 12, 20, 12, 12, 12, 12, 12, 12, 21, 12, 23, 24, 23, 12, 25, 12, 22, 12, 23, 24, 23, 12, 12, 12, 22, 12, 23, 23, 12, 12, 12, 22, 12, 27, 27, 12, 26, 12, 29, 30, 12, 28, 12, 31, 30, 12, 28, 31, 32, 31, 12, 33, 12, 34, 12, 35, 12, 36, 12, 37, 12, 38, 12, 39, 12, 40, 12, 41, 12, 12, 29, 42, 30, 12, 28, 12, 29, 30, 43, 12, 28, 12, 29, 30, 44, 12, 28, 12, 29, 30, 45, 12, 28, 12, 29, 30, 46, 12, 28, 12, 29, 30, 47, 12, 28, 12, 29, 30, 48, 12, 28, 12, 29, 30, 49, 12, 28, 12, 29, 30, 41, 12, 28, 12, 50, 50, 12, 28, 51, 12, 52, 12, 53, 12, 54, 12, 55, 56, 57, 58, 55, 12, 59, 60, 61, 62, 59, 12, 63, 12, 64, 12, 65, 12, 66, 12, 67, 12, 68, 69, 68, 12, 70, 71, 70, 12, 12, 73, 73, 12, 72, 12, 75, 76, 12, 74, 12, 77, 76, 12, 74, 77, 78, 77, 12, 79, 12, 80, 12, 81, 12, 82, 12, 83, 12, 84, 12, 85, 12, 12, 75, 86, 76, 12, 74, 12, 75, 76, 87, 12, 74, 12, 75, 76, 88, 12, 74, 12, 75, 76, 89, 12, 74, 12, 75, 76, 90, 12, 74, 12, 75, 76, 91, 12, 74, 12, 75, 76, 85, 12, 74, 12, 92, 92, 12, 74, 93, 12, 94, 12, 67, 12, 95, 12, 96, 12, 94, 12, 97, 12, 12, 99, 99, 12, 98, 12, 101, 102, 12, 100, 12, 103, 102, 12, 100, 103, 104, 103, 12, 105, 12, 106, 12, 107, 12, 12, 101, 108, 102, 12, 100, 12, 101, 102, 109, 12, 100, 12, 101, 102, 107, 12, 100, 12, 110, 110, 12, 100, 111, 12, 112, 12, 113, 12, 114, 12, 115, 12, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 12, 132, 132, 132, 12, 133, 133, 133, 12, 134, 134, 134, 12, 136, 135, 135, 135, 12, 137, 137, 137, 12, 138, 138, 138, 12, 136, 12, 12, 140, 140, 12, 139, 12, 142, 143, 12, 141, 12, 144, 143, 12, 141, 144, 145, 144, 12, 146, 12, 147, 12, 148, 12, 149, 12, 150, 12, 151, 12, 152, 12, 12, 142, 153, 143, 12, 141, 12, 142, 143, 154, 12, 141, 12, 142, 143, 155, 12, 141, 12, 142, 143, 156, 12, 141, 12, 142, 143, 157, 12, 141, 12, 142, 143, 158, 12, 141, 12, 142, 143, 152, 12, 141, 12, 159, 159, 12, 141, 160, 12, 161, 12, 138, 12, 162, 12, 163, 164, 12, 165, 12, 138, 12, 138, 12, 166, 12, 167, 12, 138, 12, 168, 12, 169, 12, 170, 12, 171, 12, 161, 12, 172, 12, 173, 174, 12, 138, 12, 167, 138, 12, 175, 12, 164, 12, 176, 12, 177, 178, 12, 179, 12, 180, 12, 161, 12, 181, 12, 167, 12, 182, 12, 173, 12, 183, 184, 12, 185, 12, 164, 12, 186, 12, 187, 12, 164, 12, 188, 12, 189, 12, 190, 12, 164, 12, 191, 12, 138, 12, 192, 12, 193, 12, 194, 12, 195, 12, 138, 12, 196, 12, 197, 12, 138, 12, 198, 12, 199, 12, 164, 12, 200, 12, 201, 12, 202, 12, 203, 12, 138, 12, 204, 12, 205, 12, 206, 12, 12, 208, 208, 12, 207, 12, 210, 211, 12, 209, 12, 212, 211, 12, 209, 212, 213, 212, 12, 214, 12, 215, 12, 216, 12, 217, 12, 218, 12, 12, 210, 219, 211, 12, 209, 12, 210, 211, 220, 12, 209, 12, 210, 211, 221, 12, 209, 12, 210, 211, 222, 12, 209, 12, 210, 211, 218, 12, 209, 12, 223, 223, 12, 209, 224, 225, 226, 12, 12, 228, 228, 12, 227, 12, 230, 231, 12, 229, 12, 232, 231, 12, 229, 232, 233, 232, 12, 234, 12, 235, 12, 236, 12, 12, 230, 237, 231, 12, 229, 12, 230, 231, 238, 12, 229, 12, 230, 231, 236, 12, 229, 12, 239, 239, 12, 229, 240, 12, 241, 242, 12, 12, 244, 245, 246, 247, 248, 12, 12, 245, 12, 12, 245, 12, 12, 245, 245, 243, 12, 250, 251, 12, 12, 12, 250, 12, 12, 250, 12, 12, 250, 250, 249, 12, 252, 12, 12, 12, 253, 12, 12, 250, 254, 254, 254, 12, 250, 250, 250, 12, 12, 256, 257, 256, 12, 255, 12, 259, 260, 12, 258, 12, 261, 260, 12, 258, 261, 262, 261, 12, 263, 12, 264, 12, 265, 12, 266, 12, 267, 12, 12, 259, 268, 260, 12, 258, 12, 259, 260, 269, 12, 258, 12, 259, 260, 270, 12, 258, 12, 259, 260, 271, 12, 258, 12, 259, 260, 267, 12, 258, 12, 272, 260, 272, 12, 258, 273, 273, 273, 12, 249, 249, 249, 12, 12, 250, 275, 12, 12, 253, 250, 12, 12, 250, 12, 12, 250, 250, 274, 276, 276, 276, 12, 274, 274, 274, 12, 12, 250, 251, 277, 12, 12, 12, 250, 12, 12, 250, 12, 12, 250, 250, 249, 12, 250, 251, 278, 12, 253, 250, 12, 12, 250, 12, 12, 250, 250, 249, 12, 280, 281, 282, 283, 284, 12, 12, 281, 12, 12, 281, 12, 12, 281, 281, 279, 12, 286, 287, 12, 12, 12, 286, 12, 12, 286, 12, 12, 286, 286, 285, 12, 288, 12, 12, 289, 12, 12, 12, 286, 290, 290, 290, 12, 286, 286, 286, 12, 291, 12, 292, 12, 293, 12, 294, 12, 295, 12, 296, 296, 296, 12, 285, 285, 285, 12, 12, 286, 298, 12, 289, 12, 286, 12, 12, 286, 12, 12, 286, 286, 297, 299, 299, 299, 12, 297, 297, 297, 12, 12, 286, 287, 300, 12, 12, 12, 286, 12, 12, 286, 12, 12, 286, 286, 285, 12, 286, 287, 301, 289, 12, 286, 12, 12, 286, 12, 12, 286, 286, 285, 302, 12, 303, 12, 12, 305, 305, 12, 304, 12, 307, 308, 12, 306, 12, 309, 308, 12, 306, 309, 310, 309, 12, 311, 12, 312, 12, 313, 12, 314, 12, 315, 12, 12, 307, 316, 308, 12, 306, 12, 307, 308, 317, 12, 306, 12, 307, 308, 318, 12, 306, 12, 307, 308, 319, 12, 306, 12, 307, 308, 315, 12, 306, 12, 320, 320, 12, 306, 321, 12, 322, 12, 323, 12, 324, 12, 325, 12, 326, 12, 327, 12, 328, 12, 329, 12, 12, 331, 331, 12, 330, 12, 333, 334, 12, 332, 12, 335, 334, 12, 332, 335, 336, 335, 12, 337, 12, 338, 12, 339, 12, 340, 12, 341, 12, 342, 12, 343, 12, 344, 12, 345, 12, 346, 12, 347, 12, 12, 333, 348, 334, 12, 332, 12, 333, 334, 349, 12, 332, 12, 333, 334, 350, 12, 332, 12, 333, 334, 351, 12, 332, 12, 333, 334, 352, 12, 332, 12, 333, 334, 353, 12, 332, 12, 333, 334, 354, 12, 332, 12, 333, 334, 355, 12, 332, 12, 333, 334, 356, 12, 332, 12, 333, 334, 357, 12, 332, 12, 333, 334, 347, 12, 332, 12, 358, 358, 12, 332, 359, 12, 360, 12, 361, 360, 363, 364, 363, 362, 365, 362, 366, 362, 367, 362, 368, 362, 369, 362, 370, 371, 372, 373, 12, 12, 375, 375, 12, 374, 12, 377, 378, 12, 376, 12, 379, 378, 12, 376, 379, 380, 379, 12, 381, 12, 382, 12, 383, 12, 12, 377, 384, 378, 12, 376, 12, 377, 378, 385, 12, 376, 12, 377, 378, 383, 12, 376, 12, 386, 386, 12, 376, 387, 12, 388, 12, 389, 12, 390, 391, 393, 394, 395, 396, 390, 392, 12, 397, 398, 400, 401, 402, 403, 397, 399, 12, 404, 12, 405, 406, 408, 409, 410, 405, 407, 12, 411, 412, 411, 12, 12, 414, 414, 12, 413, 12, 416, 417, 12, 415, 12, 418, 417, 12, 415, 418, 419, 418, 12, 420, 12, 421, 12, 422, 12, 423, 12, 424, 12, 425, 12, 12, 416, 426, 417, 12, 415, 12, 416, 417, 427, 12, 415, 12, 416, 417, 428, 12, 415, 12, 416, 417, 429, 12, 415, 12, 416, 417, 430, 12, 415, 12, 416, 417, 425, 12, 415, 12, 431, 431, 12, 415, 405, 408, 405, 12, 405, 406, 408, 409, 410, 405, 12, 406, 12, 406, 406, 12, 405, 406, 398, 408, 409, 410, 405, 404, 12, 432, 12, 433, 12, 434, 12, 435, 12, 405, 408, 406, 405, 12, 436, 12, 437, 12, 438, 12, 409, 12, 439, 12, 440, 12, 441, 12, 442, 12, 405, 408, 443, 405, 12, 406, 12, 444, 445, 12, 446, 447, 12, 448, 12, 449, 12, 450, 12, 406, 12, 451, 12, 452, 12, 453, 12, 406, 12, 444, 12, 454, 12, 455, 12, 456, 12, 457, 12, 458, 12, 459, 460, 461, 12, 462, 12, 463, 12, 464, 12, 465, 12, 466, 12, 460, 12, 12, 12, 12, 12, 12, 467, 12, 469, 470, 469, 12, 471, 12, 468, 12, 469, 470, 469, 12, 12, 12, 468, 12, 469, 469, 12, 12, 12, 468, 12, 12, 12, 472, 12, 474, 475, 474, 476, 12, 473, 12, 474, 475, 474, 12, 473, 12, 474, 474, 12, 473, 12, 474, 475, 474, 477, 476, 12, 473, 12, 474, 475, 474, 476, 478, 12, 473, 12, 474, 475, 474, 476, 479, 12, 473, 12, 474, 475, 474, 476, 480, 12, 473, 12, 474, 475, 474, 476, 481, 12, 473, 12, 474, 475, 474, 476, 482, 12, 473, 12, 474, 475, 474, 476, 483, 12, 473, 12, 474, 475, 474, 476, 484, 12, 473, 12, 474, 475, 474, 476, 485, 12, 473, 486, 487, 12, 488, 12, 12, 490, 490, 12, 489, 12, 492, 493, 12, 491, 12, 494, 493, 12, 491, 494, 495, 494, 12, 496, 12, 497, 12, 498, 12, 499, 12, 500, 12, 12, 492, 501, 493, 12, 491, 12, 492, 493, 502, 12, 491, 12, 492, 493, 503, 12, 491, 12, 492, 493, 504, 12, 491, 12, 492, 493, 500, 12, 491, 12, 505, 505, 12, 491, 506, 12, 12, 508, 508, 12, 507, 12, 510, 511, 12, 509, 12, 512, 511, 12, 509, 512, 513, 512, 12, 514, 12, 515, 12, 516, 12, 517, 12, 518, 12, 12, 510, 519, 511, 12, 509, 12, 510, 511, 520, 12, 509, 12, 510, 511, 521, 12, 509, 12, 510, 511, 522, 12, 509, 12, 510, 511, 518, 12, 509, 12, 523, 523, 12, 509, 524, 525, 12, 12, 527, 527, 12, 526, 12, 529, 530, 12, 528, 12, 531, 530, 12, 528, 531, 532, 531, 12, 533, 12, 534, 12, 535, 12, 12, 529, 536, 530, 12, 528, 12, 529, 530, 537, 12, 528, 12, 529, 530, 535, 12, 528, 12, 538, 538, 12, 528, 539, 12, 540, 541, 12, 12, 543, 544, 545, 546, 547, 12, 12, 544, 12, 12, 544, 12, 12, 544, 544, 542, 12, 549, 550, 12, 12, 12, 549, 12, 12, 549, 12, 12, 549, 549, 548, 12, 551, 12, 12, 12, 552, 12, 12, 549, 553, 553, 553, 12, 549, 549, 549, 12, 12, 555, 555, 12, 554, 12, 557, 558, 12, 556, 12, 559, 558, 12, 556, 559, 560, 559, 12, 561, 12, 562, 12, 563, 12, 564, 12, 565, 12, 12, 557, 566, 558, 12, 556, 12, 557, 558, 567, 12, 556, 12, 557, 558, 568, 12, 556, 12, 557, 558, 569, 12, 556, 12, 557, 558, 565, 12, 556, 12, 570, 570, 12, 556, 571, 571, 571, 12, 548, 548, 548, 12, 12, 549, 573, 12, 12, 552, 549, 12, 12, 549, 12, 12, 549, 549, 572, 574, 574, 574, 12, 572, 572, 572, 12, 12, 549, 550, 575, 12, 12, 12, 549, 12, 12, 549, 12, 12, 549, 549, 548, 12, 549, 550, 576, 12, 552, 549, 12, 12, 549, 12, 12, 549, 549, 548, 12, 578, 579, 580, 581, 582, 12, 12, 579, 12, 12, 579, 12, 12, 579, 579, 577, 12, 584, 585, 12, 12, 12, 584, 12, 12, 584, 12, 12, 584, 584, 583, 12, 586, 12, 12, 587, 12, 12, 12, 584, 588, 588, 588, 12, 584, 584, 584, 12, 589, 12, 590, 12, 591, 12, 592, 12, 593, 12, 594, 594, 594, 12, 583, 583, 583, 12, 12, 584, 596, 12, 587, 12, 584, 12, 12, 584, 12, 12, 584, 584, 595, 597, 597, 597, 12, 595, 595, 595, 12, 12, 584, 585, 598, 12, 12, 12, 584, 12, 12, 584, 12, 12, 584, 584, 583, 12, 584, 585, 599, 587, 12, 584, 12, 12, 584, 12, 12, 584, 584, 583, 601, 602, 603, 603, 605, 603, 603, 603, 602, 603, 603, 603, 604, 603, 603, 600, 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 604, 606, 606, 600, 606, 607, 607, 606, 606, 608, 606, 606, 606, 606, 606, 604, 606, 606, 600, 606, 606, 606, 608, 606, 606, 606, 606, 606, 606, 606, 604, 606, 606, 600, 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 600, 610, 611, 609, 613, 612, 615, 614, 617, 618, 619, 616, 621, 622, 623, 624, 625, 626, 627, 628, 629, 620, 363, 364, 363, 630, 0 }; static const short _redcloth_bbcode_inline_trans_targs[] = { 518, 2, 9, 3, 4, 5, 6, 7, 8, 10, 11, 520, 521, 13, 46, 14, 15, 16, 17, 18, 19, 20, 20, 21, 22, 23, 24, 45, 24, 25, 36, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 521, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 78, 81, 51, 52, 78, 81, 53, 54, 55, 56, 57, 58, 59, 58, 59, 60, 77, 60, 61, 70, 62, 63, 64, 65, 66, 67, 68, 69, 521, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, 83, 85, 86, 95, 86, 87, 92, 88, 89, 90, 91, 521, 93, 94, 95, 97, 98, 99, 100, 101, 102, 128, 131, 136, 139, 144, 148, 150, 157, 159, 165, 169, 171, 176, 179, 182, 103, 104, 105, 106, 109, 107, 108, 110, 127, 110, 111, 120, 112, 113, 114, 115, 116, 117, 118, 119, 521, 121, 122, 123, 124, 125, 126, 127, 129, 130, 132, 133, 135, 134, 137, 138, 140, 141, 142, 143, 145, 146, 147, 149, 151, 152, 155, 153, 154, 156, 158, 160, 162, 161, 163, 164, 166, 167, 168, 170, 172, 173, 174, 175, 177, 178, 180, 181, 183, 184, 185, 186, 188, 189, 190, 191, 204, 191, 192, 199, 193, 194, 195, 196, 197, 198, 521, 200, 201, 202, 203, 204, 206, 217, 263, 207, 216, 207, 208, 213, 209, 210, 211, 212, 521, 214, 215, 216, 218, 219, 246, 220, 241, 221, 239, 244, 245, 220, 221, 239, 222, 224, 223, 225, 238, 233, 225, 226, 233, 227, 228, 229, 230, 231, 232, 521, 234, 235, 236, 237, 238, 240, 241, 242, 243, 244, 245, 247, 258, 248, 256, 261, 262, 247, 248, 256, 249, 251, 250, 252, 253, 254, 255, 521, 257, 258, 259, 260, 261, 262, 264, 265, 266, 279, 266, 267, 274, 268, 269, 270, 271, 272, 273, 521, 275, 276, 277, 278, 279, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 315, 290, 291, 304, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 521, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 523, 521, 319, 320, 321, 322, 323, 324, 521, 326, 337, 393, 422, 327, 336, 327, 328, 333, 329, 330, 331, 332, 521, 334, 335, 336, 338, 339, 340, 341, 342, 366, 367, 372, 376, 382, 341, 342, 366, 367, 372, 376, 382, 343, 344, 362, 363, 345, 364, 365, 344, 345, 346, 361, 346, 347, 355, 348, 349, 350, 351, 352, 353, 354, 521, 356, 357, 358, 359, 360, 361, 368, 369, 370, 371, 373, 374, 375, 377, 378, 379, 380, 381, 383, 392, 384, 388, 385, 386, 387, 389, 390, 391, 394, 395, 396, 397, 398, 399, 405, 409, 400, 401, 402, 403, 404, 406, 406, 407, 408, 409, 410, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 521, 423, 439, 424, 425, 438, 425, 426, 433, 427, 428, 429, 430, 431, 432, 521, 434, 435, 436, 437, 438, 440, 441, 454, 441, 442, 449, 443, 444, 445, 446, 447, 448, 521, 450, 451, 452, 453, 454, 456, 467, 457, 466, 457, 458, 463, 459, 460, 461, 462, 521, 464, 465, 466, 468, 469, 496, 470, 491, 471, 489, 494, 495, 470, 471, 489, 472, 474, 473, 475, 488, 475, 476, 483, 477, 478, 479, 480, 481, 482, 521, 484, 485, 486, 487, 488, 490, 491, 492, 493, 494, 495, 497, 508, 498, 506, 511, 512, 497, 498, 506, 499, 501, 500, 502, 503, 504, 505, 521, 507, 508, 509, 510, 511, 512, 514, 513, 513, 513, 515, 513, 513, 516, 517, 518, 518, 519, 518, 1, 518, 518, 521, 0, 521, 522, 521, 12, 84, 96, 187, 205, 280, 316, 325, 455, 521 }; static const char _redcloth_bbcode_inline_trans_actions[] = { 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 11, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 5, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 21, 0, 1, 1, 105, 0, 0, 23, 0, 23, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 91, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 51, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 25, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0, 0, 49, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 15, 0, 1, 1, 0, 0, 17, 0, 17, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 101, 99, 97, 0, 95, 103, 0, 0, 35, 37, 31, 41, 0, 39, 33, 85, 0, 83, 108, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87 }; static const char _redcloth_bbcode_inline_to_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 27, 0, 0, 27, 0, 0 }; static const char _redcloth_bbcode_inline_from_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 29, 0, 0, 29, 0, 0 }; static const short _redcloth_bbcode_inline_eof_trans[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 363, 363, 363, 363, 363, 363, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 607, 607, 607, 607, 0, 613, 615, 0, 621, 631 }; static const int redcloth_bbcode_inline_start = 513; static const int redcloth_bbcode_inline_error = 0; static const int redcloth_bbcode_inline_en_bb_inline_pre_tag = 518; static const int redcloth_bbcode_inline_en_bbcode_inline = 521; static const int redcloth_bbcode_inline_en_main = 513; #line 38 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" VALUE redcloth_bbcode_inline(self, p, pe, refs) VALUE self; char *p, *pe; VALUE refs; { int cs, act, nest; char *ts = NULL, *te = NULL, *reg = NULL, *bck = NULL, *eof = NULL; char *orig_p = p, *orig_pe = pe; VALUE block = rb_str_new2(""); VALUE regs = Qnil; CLEAR_REGS() unsigned int opts = 0; VALUE buf = Qnil; VALUE hash = Qnil; VALUE html = rb_str_new2(""); VALUE failed_start = rb_str_new2(""); char *failed_start_point_p = NULL, *failed_start_point_ts = NULL, *failed_start_point_te = NULL; int stack[CALL_STACK_SIZE],top,nested_quote = 0, nested_spoiler = 0, store_cite = 1, store_title = 1; #line 1271 "ext/redcloth_scan/redcloth_bbcode_inline.c" { cs = redcloth_bbcode_inline_start; top = 0; ts = 0; te = 0; act = 0; } #line 60 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" #line 1283 "ext/redcloth_scan/redcloth_bbcode_inline.c" { int _klen; unsigned int _trans; const char *_acts; unsigned int _nacts; const char *_keys; if ( p == pe ) goto _test_eof; if ( cs == 0 ) goto _out; _resume: _acts = _redcloth_bbcode_inline_actions + _redcloth_bbcode_inline_from_state_actions[cs]; _nacts = (unsigned int) *_acts++; while ( _nacts-- > 0 ) { switch ( *_acts++ ) { case 15: #line 1 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {ts = p;} break; #line 1304 "ext/redcloth_scan/redcloth_bbcode_inline.c" } } _keys = _redcloth_bbcode_inline_trans_keys + _redcloth_bbcode_inline_key_offsets[cs]; _trans = _redcloth_bbcode_inline_index_offsets[cs]; _klen = _redcloth_bbcode_inline_single_lengths[cs]; if ( _klen > 0 ) { const char *_lower = _keys; const char *_mid; const char *_upper = _keys + _klen - 1; while (1) { if ( _upper < _lower ) break; _mid = _lower + ((_upper-_lower) >> 1); if ( (*p) < *_mid ) _upper = _mid - 1; else if ( (*p) > *_mid ) _lower = _mid + 1; else { _trans += (_mid - _keys); goto _match; } } _keys += _klen; _trans += _klen; } _klen = _redcloth_bbcode_inline_range_lengths[cs]; if ( _klen > 0 ) { const char *_lower = _keys; const char *_mid; const char *_upper = _keys + (_klen<<1) - 2; while (1) { if ( _upper < _lower ) break; _mid = _lower + (((_upper-_lower) >> 1) & ~1); if ( (*p) < _mid[0] ) _upper = _mid - 2; else if ( (*p) > _mid[1] ) _lower = _mid + 2; else { _trans += ((_mid - _keys)>>1); goto _match; } } _trans += _klen; } _match: _trans = _redcloth_bbcode_inline_indicies[_trans]; _eof_trans: cs = _redcloth_bbcode_inline_trans_targs[_trans]; if ( _redcloth_bbcode_inline_trans_actions[_trans] == 0 ) goto _again; _acts = _redcloth_bbcode_inline_actions + _redcloth_bbcode_inline_trans_actions[_trans]; _nacts = (unsigned int) *_acts++; while ( _nacts-- > 0 ) { switch ( *_acts++ ) { case 0: #line 5 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { reg = p; } break; case 1: #line 7 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("text"); } break; case 2: #line 8 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { CLEAR_REGS(); RESET_REG(); } break; case 3: #line 24 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("color"); } break; case 4: #line 26 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("size"); } break; case 5: #line 28 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("bbalign"); } break; case 6: #line 30 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("title"); } break; case 7: #line 32 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("href"); } break; case 8: #line 33 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("href"); } break; case 9: #line 33 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("name"); } break; case 10: #line 35 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("src"); } break; case 11: #line 36 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("src"); } break; case 12: #line 36 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("title"); } break; case 13: #line 41 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" { STORE("title"); } break; case 16: #line 1 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;} break; case 17: #line 50 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ rb_hash_aset(regs, ID2SYM(rb_intern("text")), rb_funcall(self, rb_intern("escape_pre"), 1, html)); rb_str_append(block,rb_funcall(self, rb_intern("bb_pre"), 1, regs)); BBDONE(); {cs = 521; goto _again;} }} break; case 18: #line 46 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ CAT(html); }} break; case 19: #line 47 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ rb_str_append(block,failed_start); rb_str_append(block,rb_funcall(self, rb_intern("escape"), 1, html)); {cs = 521; goto _again;} }} break; case 20: #line 50 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p;p--;{ rb_hash_aset(regs, ID2SYM(rb_intern("text")), rb_funcall(self, rb_intern("escape_pre"), 1, html)); rb_str_append(block,rb_funcall(self, rb_intern("bb_pre"), 1, regs)); BBDONE(); {cs = 521; goto _again;} }} break; case 21: #line 46 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p;p--;{ CAT(html); }} break; case 22: #line 46 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {{p = ((te))-1;}{ CAT(html); }} break; case 23: #line 61 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,strong,PASS(block, "text", "strong");) }} break; case 24: #line 62 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,em,PASS(block, "text", "em");) }} break; case 25: #line 63 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,ins,PASS(block, "text", "ins");) }} break; case 26: #line 64 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,s,PASS(block, "text", "del");) }} break; case 27: #line 65 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,del,PASS(block, "text", "del");) }} break; case 28: #line 66 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,ins,PASS(block, "text", "ins");) }} break; case 29: #line 67 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,sub,PASS(block, "text", "sub");) }} break; case 30: #line 68 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,sup,PASS(block, "text", "sup");) }} break; case 31: #line 8 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ rb_str_append(block, rb_funcall(self, rb_intern("ignore"), 1, regs)); }} break; case 32: #line 70 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,color,PASS(block, "text", "color");) }} break; case 33: #line 71 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,size,PASS(block, "text", "bbsize");) }} break; case 34: #line 72 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,align,PASS(block, "text", "bbalign");) }} break; case 35: #line 73 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,acronym,PASS(block, "text", "acronym");) }} break; case 36: #line 74 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,link,PASS(block, "name", "link");) }} break; case 37: #line 75 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,link,PASS(block, "name", "link");) }} break; case 38: #line 76 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,image,PASS(block, "name", "image");); }} break; case 39: #line 77 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ UNLESS_DISABLED_INLINE(block,image,PASS(block, "name", "image");); }} break; case 40: #line 78 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ PASS(block, "name", "bb_spoiler"); CLEAR_REGS();}} break; case 41: #line 80 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ ASET("type", "notextile"); rb_str_append(failed_start,rb_str_new(ts,te-ts)); {cs = 518; goto _again;} }} break; case 42: #line 81 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ p--; {cs = stack[--top]; goto _again;} }} break; case 43: #line 82 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ CAT(block); {cs = stack[--top]; goto _again;}}} break; case 44: #line 80 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p;p--;{ ASET("type", "notextile"); rb_str_append(failed_start,rb_str_new(ts,te-ts)); {cs = 518; goto _again;} }} break; case 45: #line 82 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p;p--;{ CAT(block); {cs = stack[--top]; goto _again;}}} break; case 46: #line 80 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {{p = ((te))-1;}{ ASET("type", "notextile"); rb_str_append(failed_start,rb_str_new(ts,te-ts)); {cs = 518; goto _again;} }} break; case 47: #line 82 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {{p = ((te))-1;}{ CAT(block); {cs = stack[--top]; goto _again;}}} break; case 48: #line 24 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ p--; {stack[top++] = cs; cs = 521; goto _again;} }} break; case 49: #line 6 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ rb_str_cat_escaped(self, block, ts, te); }} break; case 50: #line 6 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;{ rb_str_cat_escaped(self, block, ts, te); }} break; case 51: #line 32 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p+1;} break; case 52: #line 6 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {te = p;p--;{ rb_str_cat_escaped(self, block, ts, te); }} break; #line 1587 "ext/redcloth_scan/redcloth_bbcode_inline.c" } } _again: _acts = _redcloth_bbcode_inline_actions + _redcloth_bbcode_inline_to_state_actions[cs]; _nacts = (unsigned int) *_acts++; while ( _nacts-- > 0 ) { switch ( *_acts++ ) { case 14: #line 1 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" {ts = 0;} break; #line 1600 "ext/redcloth_scan/redcloth_bbcode_inline.c" } } if ( cs == 0 ) goto _out; if ( ++p != pe ) goto _resume; _test_eof: {} if ( p == eof ) { if ( _redcloth_bbcode_inline_eof_trans[cs] > 0 ) { _trans = _redcloth_bbcode_inline_eof_trans[cs] - 1; goto _eof_trans; } } _out: {} } #line 62 "ext/redcloth_scan/redcloth_bbcode_inline.c.rl" return block; } VALUE redcloth_bbcode_inline2(self, str, refs) VALUE self, str, refs; { StringValue(str); return redcloth_bbcode_inline(self, RSTRING_PTR(str), RSTRING_PTR(str) + RSTRING_LEN(str) + 1, refs); }