ext/dtext/dtext.c in dtext_rb-1.0.0 vs ext/dtext/dtext.c in dtext_rb-1.0.2

- old
+ new

@@ -9,11 +9,11 @@ #include <stdint.h> #include <stdbool.h> #include <glib.h> typedef struct StateMachine { - int top; + size_t top; int cs; int act; const char * p; const char * pe; const char * eof; @@ -23,20 +23,22 @@ const char * a1; const char * a2; const char * b1; const char * b2; bool f_inline; + bool f_strip; bool list_mode; GString * output; GArray * stack; GQueue * dstack; int list_nest; int d; int b; } StateMachine; -static const int MAX_STACK_DEPTH = 512; +static const size_t MAX_STACK_DEPTH = 512; + static const int BLOCK_P = 1; static const int INLINE_SPOILER = 2; static const int BLOCK_SPOILER = 3; static const int BLOCK_QUOTE = 4; static const int BLOCK_EXPAND = 5; @@ -57,39 +59,41 @@ static const int BLOCK_UL = 20; static const int BLOCK_LI = 21; static const int BLOCK_TH = 22; -#line 980 "ext/dtext/dtext.rl" +#line 1001 "ext/dtext/dtext.rl" -#line 67 "ext/dtext/dtext.c" -static const int dtext_start = 248; -static const int dtext_first_final = 248; +#line 69 "ext/dtext/dtext.c" +static const int dtext_start = 244; +static const int dtext_first_final = 244; static const int dtext_error = -1; -static const int dtext_en_inline = 264; -static const int dtext_en_code = 301; -static const int dtext_en_nodtext = 303; -static const int dtext_en_table = 305; -static const int dtext_en_list = 307; -static const int dtext_en_main = 248; +static const int dtext_en_inline = 260; +static const int dtext_en_code = 296; +static const int dtext_en_nodtext = 298; +static const int dtext_en_table = 300; +static const int dtext_en_list = 302; +static const int dtext_en_main = 244; -#line 983 "ext/dtext/dtext.rl" +#line 1004 "ext/dtext/dtext.rl" static inline void underscore_string(char * str, size_t len) { for (size_t i=0; i<len; ++i) { if (str[i] == ' ') { str[i] = '_'; } } } -static inline void append(StateMachine * sm, const char * s) { - sm->output = g_string_append(sm->output, s); +static inline void append(StateMachine * sm, bool is_markup, const char * s) { + if (!(is_markup && sm->f_strip)) { + sm->output = g_string_append(sm->output, s); + } } static inline void append_newline(StateMachine * sm) { #if (PRETTY_PRINT) g_string_append_c(sm->output, '\n'); @@ -118,15 +122,21 @@ sm->output = g_string_append_c(sm->output, s); break; } } -static inline void append_segment(StateMachine * sm, const char * a, const char * b) { - sm->output = g_string_append_len(sm->output, a, b - a + 1); +static inline void append_segment(StateMachine * sm, bool is_markup, const char * a, const char * b) { + if (!(is_markup && sm->f_strip)) { + sm->output = g_string_append_len(sm->output, a, b - a + 1); + } } static inline void append_segment_uri_escaped(StateMachine * sm, const char * a, const char * b) { + if (sm->f_strip) { + return; + } + GString * segment_string = g_string_new_len(a, b - a + 1); char * segment = g_uri_escape_string(segment_string->str, G_URI_RESERVED_CHARS_ALLOWED_IN_PATH "#%?", TRUE); sm->output = g_string_append(sm->output, segment); g_string_free(segment_string, TRUE); g_free(segment); @@ -139,10 +149,12 @@ } static inline void append_block(StateMachine * sm, const char * s) { if (sm->f_inline) { sm->output = g_string_append_c(sm->output, ' '); + } else if (sm->f_strip) { + // do nothing } else { sm->output = g_string_append(sm->output, s); } } @@ -176,123 +188,95 @@ int * top = dstack_peek(sm); return top && *top == expected_element; } static inline bool dstack_check2(StateMachine * sm, int expected_element) { + int * top2 = NULL; + if (sm->dstack->length < 2) { return false; } - int * top2 = g_queue_peek_nth(sm->dstack, sm->dstack->length - 2); + top2 = g_queue_peek_nth(sm->dstack, sm->dstack->length - 2); return top2 && *top2 == expected_element; } -static void dstack_print_element(gpointer data, gpointer user_data) { - printf("%i\n", *(int *)data); -} - -static void dstack_dump(StateMachine * sm) { - g_queue_foreach(sm->dstack, dstack_print_element, NULL); -} - static void dstack_rewind(StateMachine * sm) { int * element = dstack_pop(sm); if (element == NULL) { return; } - switch (*element) { - case BLOCK_P: + if (*element == BLOCK_P) { append_closing_p(sm); append_newline(sm); - break; - case INLINE_SPOILER: - append(sm, "</span>"); - break; + } else if (*element == INLINE_SPOILER) { + append(sm, true, "</span>"); - case BLOCK_SPOILER: + } else if (*element == BLOCK_SPOILER) { append_block(sm, "</div>"); - break; - case BLOCK_QUOTE: + } else if (*element == BLOCK_QUOTE) { append_block(sm, "</blockquote>"); - break; - case BLOCK_EXPAND: + } else if (*element == BLOCK_EXPAND) { append_block(sm, "</div></div>"); - break; - case BLOCK_NODTEXT: + } else if (*element == BLOCK_NODTEXT) { append_closing_p(sm); append_newline(sm); - break; - case BLOCK_CODE: + } else if (*element == BLOCK_CODE) { append_block(sm, "</pre>"); - break; - case BLOCK_TD: + } else if (*element == BLOCK_TD) { append_block(sm, "</td>"); - break; - case INLINE_NODTEXT: - break; + } else if (*element == INLINE_NODTEXT) { - case INLINE_B: - append(sm, "</strong>"); - break; + } else if (*element == INLINE_B) { + append(sm, true, "</strong>"); - case INLINE_I: - append(sm, "</em>"); - break; + } else if (*element == INLINE_I) { + append(sm, true, "</em>"); - case INLINE_U: - append(sm, "</u>"); - break; + } else if (*element == INLINE_U) { + append(sm, true, "</u>"); - case INLINE_S: - append(sm, "</s>"); - break; + } else if (*element == INLINE_S) { + append(sm, true, "</s>"); - case INLINE_TN: - append(sm, "</span>"); - break; + } else if (*element == INLINE_TN) { + append(sm, true, "</span>"); - case BLOCK_TN: + } else if (*element == BLOCK_TN) { append_closing_p(sm); append_newline(sm); - break; - case BLOCK_TABLE: + } else if (*element == BLOCK_TABLE) { append_block(sm, "</table>"); - break; - case BLOCK_THEAD: + } else if (*element == BLOCK_THEAD) { append_block(sm, "</thead>"); - break; - case BLOCK_TBODY: + } else if (*element == BLOCK_TBODY) { append_block(sm, "</tbody>"); - break; - case BLOCK_TR: + } else if (*element == BLOCK_TR) { append_block(sm, "</tr>"); - break; - case BLOCK_UL: + } else if (*element == BLOCK_UL) { append_block(sm, "</ul>"); append_newline(sm); - break; - case BLOCK_LI: + } else if (*element == BLOCK_LI) { append_block(sm, "</li>"); append_newline(sm); - break; + } } -} static void dstack_close(StateMachine * sm) { while (dstack_peek(sm) != NULL) { dstack_rewind(sm); } @@ -315,28 +299,30 @@ return false; } static void init_machine(StateMachine * sm, VALUE input) { + size_t output_length = 0; sm->p = RSTRING_PTR(input); sm->pe = sm->p + RSTRING_LEN(input); sm->eof = sm->pe; sm->ts = NULL; sm->te = NULL; sm->cs = 0; sm->act = 0; sm->top = 0; - size_t output_length = RSTRING_LEN(input); + output_length = RSTRING_LEN(input); if (output_length < (INT16_MAX / 2)) { output_length *= 2; } sm->output = g_string_sized_new(output_length); sm->a1 = NULL; sm->a2 = NULL; sm->b1 = NULL; sm->b2 = NULL; sm->f_inline = false; + sm->f_strip = false; sm->stack = g_array_sized_new(FALSE, TRUE, sizeof(int), 16); sm->dstack = g_queue_new(); sm->list_nest = 0; sm->list_mode = false; } @@ -347,63 +333,74 @@ g_queue_free(sm->dstack); g_free(sm); } static VALUE parse(int argc, VALUE * argv, VALUE self) { + VALUE input; + VALUE options; + VALUE opt_inline; + VALUE opt_strip; + VALUE ret; + StateMachine * sm = NULL; + g_debug("start\n"); if (argc == 0) { rb_raise(rb_eArgError, "wrong number of arguments (0 for 1)"); } - VALUE input = argv[0]; + input = argv[0]; - StateMachine * sm = (StateMachine *)g_malloc0(sizeof(StateMachine)); + sm = (StateMachine *)g_malloc0(sizeof(StateMachine)); input = rb_str_cat(input, "\0", 1); init_machine(sm, input); if (argc > 1) { - VALUE options = argv[1]; + options = argv[1]; if (!NIL_P(options)) { - VALUE opt_inline = rb_hash_aref(options, ID2SYM(rb_intern("inline"))); + opt_strip = rb_hash_aref(options, ID2SYM(rb_intern("strip"))); + if (RTEST(opt_strip)) { + sm->f_strip = true; + } + opt_inline = rb_hash_aref(options, ID2SYM(rb_intern("inline"))); if (RTEST(opt_inline)) { sm->f_inline = true; } } } -#line 378 "ext/dtext/dtext.c" +#line 375 "ext/dtext/dtext.c" { sm->cs = dtext_start; ( sm->top) = 0; ( sm->ts) = 0; ( sm->te) = 0; ( sm->act) = 0; } -#line 1280 "ext/dtext/dtext.rl" +#line 1296 "ext/dtext/dtext.rl" -#line 389 "ext/dtext/dtext.c" +#line 386 "ext/dtext/dtext.c" { if ( ( sm->p) == ( sm->pe) ) goto _test_eof; goto _resume; _again: switch ( sm->cs ) { + case 244: goto st244; + case 245: goto st245; + case 246: goto st246; + case 247: goto st247; + case 0: goto st0; case 248: goto st248; case 249: goto st249; - case 250: goto st250; - case 251: goto st251; - case 0: goto st0; - case 252: goto st252; - case 253: goto st253; case 1: goto st1; - case 254: goto st254; + case 250: goto st250; case 2: goto st2; case 3: goto st3; case 4: goto st4; case 5: goto st5; case 6: goto st6; @@ -412,60 +409,63 @@ case 9: goto st9; case 10: goto st10; case 11: goto st11; case 12: goto st12; case 13: goto st13; - case 255: goto st255; + case 251: goto st251; case 14: goto st14; case 15: goto st15; case 16: goto st16; case 17: goto st17; case 18: goto st18; case 19: goto st19; case 20: goto st20; case 21: goto st21; - case 256: goto st256; - case 257: goto st257; + case 252: goto st252; + case 253: goto st253; case 22: goto st22; case 23: goto st23; case 24: goto st24; case 25: goto st25; case 26: goto st26; case 27: goto st27; case 28: goto st28; - case 258: goto st258; + case 254: goto st254; case 29: goto st29; case 30: goto st30; case 31: goto st31; case 32: goto st32; case 33: goto st33; - case 259: goto st259; + case 255: goto st255; case 34: goto st34; case 35: goto st35; case 36: goto st36; case 37: goto st37; case 38: goto st38; case 39: goto st39; case 40: goto st40; - case 260: goto st260; + case 256: goto st256; case 41: goto st41; case 42: goto st42; case 43: goto st43; case 44: goto st44; case 45: goto st45; case 46: goto st46; - case 261: goto st261; + case 257: goto st257; case 47: goto st47; case 48: goto st48; + case 258: goto st258; + case 259: goto st259; + case 260: goto st260; + case 261: goto st261; case 262: goto st262; case 263: goto st263; - case 264: goto st264; - case 265: goto st265; case 49: goto st49; case 50: goto st50; case 51: goto st51; case 52: goto st52; + case 264: goto st264; case 53: goto st53; case 54: goto st54; case 55: goto st55; case 56: goto st56; case 57: goto st57; @@ -479,31 +479,34 @@ case 65: goto st65; case 66: goto st66; case 67: goto st67; case 68: goto st68; case 69: goto st69; + case 265: goto st265; case 70: goto st70; + case 266: goto st266; + case 267: goto st267; case 71: goto st71; + case 268: goto st268; + case 269: goto st269; + case 270: goto st270; + case 271: goto st271; case 72: goto st72; case 73: goto st73; case 74: goto st74; case 75: goto st75; - case 266: goto st266; case 76: goto st76; case 77: goto st77; case 78: goto st78; case 79: goto st79; case 80: goto st80; - case 267: goto st267; - case 268: goto st268; - case 269: goto st269; case 81: goto st81; case 82: goto st82; case 83: goto st83; case 84: goto st84; - case 270: goto st270; case 85: goto st85; + case 272: goto st272; case 86: goto st86; case 87: goto st87; case 88: goto st88; case 89: goto st89; case 90: goto st90; @@ -516,19 +519,12 @@ case 97: goto st97; case 98: goto st98; case 99: goto st99; case 100: goto st100; case 101: goto st101; - case 271: goto st271; case 102: goto st102; - case 272: goto st272; - case 273: goto st273; case 103: goto st103; - case 274: goto st274; - case 275: goto st275; - case 276: goto st276; - case 277: goto st277; case 104: goto st104; case 105: goto st105; case 106: goto st106; case 107: goto st107; case 108: goto st108; @@ -555,125 +551,125 @@ case 129: goto st129; case 130: goto st130; case 131: goto st131; case 132: goto st132; case 133: goto st133; + case 273: goto st273; case 134: goto st134; case 135: goto st135; case 136: goto st136; case 137: goto st137; - case 278: goto st278; case 138: goto st138; case 139: goto st139; case 140: goto st140; + case 274: goto st274; + case 275: goto st275; case 141: goto st141; case 142: goto st142; case 143: goto st143; case 144: goto st144; - case 279: goto st279; - case 280: goto st280; case 145: goto st145; case 146: goto st146; case 147: goto st147; case 148: goto st148; + case 276: goto st276; + case 277: goto st277; case 149: goto st149; case 150: goto st150; case 151: goto st151; case 152: goto st152; - case 281: goto st281; - case 282: goto st282; case 153: goto st153; case 154: goto st154; + case 278: goto st278; + case 279: goto st279; case 155: goto st155; case 156: goto st156; + case 280: goto st280; + case 281: goto st281; case 157: goto st157; case 158: goto st158; - case 283: goto st283; - case 284: goto st284; case 159: goto st159; case 160: goto st160; - case 285: goto st285; - case 286: goto st286; case 161: goto st161; case 162: goto st162; + case 282: goto st282; case 163: goto st163; + case 283: goto st283; case 164: goto st164; case 165: goto st165; case 166: goto st166; - case 287: goto st287; case 167: goto st167; - case 288: goto st288; case 168: goto st168; case 169: goto st169; + case 284: goto st284; + case 285: goto st285; case 170: goto st170; case 171: goto st171; case 172: goto st172; case 173: goto st173; - case 289: goto st289; - case 290: goto st290; case 174: goto st174; case 175: goto st175; + case 286: goto st286; case 176: goto st176; case 177: goto st177; + case 287: goto st287; case 178: goto st178; case 179: goto st179; - case 291: goto st291; case 180: goto st180; case 181: goto st181; - case 292: goto st292; case 182: goto st182; + case 288: goto st288; case 183: goto st183; case 184: goto st184; case 185: goto st185; case 186: goto st186; - case 293: goto st293; + case 289: goto st289; + case 290: goto st290; case 187: goto st187; case 188: goto st188; case 189: goto st189; case 190: goto st190; - case 294: goto st294; - case 295: goto st295; case 191: goto st191; case 192: goto st192; + case 291: goto st291; case 193: goto st193; case 194: goto st194; + case 292: goto st292; + case 293: goto st293; case 195: goto st195; case 196: goto st196; - case 296: goto st296; case 197: goto st197; case 198: goto st198; - case 297: goto st297; - case 298: goto st298; case 199: goto st199; + case 294: goto st294; + case 295: goto st295; case 200: goto st200; case 201: goto st201; case 202: goto st202; + case 296: goto st296; + case 297: goto st297; case 203: goto st203; - case 299: goto st299; - case 300: goto st300; case 204: goto st204; case 205: goto st205; case 206: goto st206; - case 301: goto st301; - case 302: goto st302; case 207: goto st207; + case 298: goto st298; + case 299: goto st299; case 208: goto st208; case 209: goto st209; case 210: goto st210; case 211: goto st211; - case 303: goto st303; - case 304: goto st304; case 212: goto st212; case 213: goto st213; case 214: goto st214; case 215: goto st215; + case 300: goto st300; + case 301: goto st301; case 216: goto st216; case 217: goto st217; case 218: goto st218; case 219: goto st219; - case 305: goto st305; - case 306: goto st306; case 220: goto st220; case 221: goto st221; case 222: goto st222; case 223: goto st223; case 224: goto st224; @@ -692,37 +688,33 @@ case 237: goto st237; case 238: goto st238; case 239: goto st239; case 240: goto st240; case 241: goto st241; + case 302: goto st302; + case 303: goto st303; + case 304: goto st304; + case 305: goto st305; case 242: goto st242; - case 243: goto st243; - case 244: goto st244; - case 245: goto st245; + case 306: goto st306; case 307: goto st307; - case 308: goto st308; - case 309: goto st309; - case 310: goto st310; - case 246: goto st246; - case 311: goto st311; - case 312: goto st312; - case 247: goto st247; + case 243: goto st243; default: break; } if ( ++( sm->p) == ( sm->pe) ) goto _test_eof; _resume: switch ( sm->cs ) { tr0: -#line 964 "ext/dtext/dtext.rl" +#line 985 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ g_debug("block c: %c", (*( sm->p))); ( sm->p)--; - if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER)) { + if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER) || dstack_check(sm, BLOCK_EXPAND)) { g_debug(" push p"); g_debug(" print <p>"); dstack_push(sm, &BLOCK_P); append_newline(sm); append_block(sm, "<p>"); @@ -737,27 +729,27 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; + goto st244; tr12: -#line 863 "ext/dtext/dtext.rl" +#line 884 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_P)) { dstack_rewind(sm); } if (dstack_check(sm, BLOCK_SPOILER)) { dstack_rewind(sm); } }} - goto st248; + goto st244; tr51: -#line 917 "ext/dtext/dtext.rl" +#line 938 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TABLE); append_newline(sm); append_newline(sm); append_block(sm, "<table class=\"striped\">"); @@ -770,15 +762,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st305;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st300;}} }} - goto st248; + goto st244; tr52: -#line 925 "ext/dtext/dtext.rl" +#line 946 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TN); append_newline(sm); append_newline(sm); append_block(sm, "<p class=\"tn\">"); @@ -791,20 +783,20 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr296: -#line 964 "ext/dtext/dtext.rl" + goto st244; +tr289: +#line 985 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("block c: %c", (*( sm->p))); ( sm->p)--; - if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER)) { + if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER) || dstack_check(sm, BLOCK_EXPAND)) { g_debug(" push p"); g_debug(" print <p>"); dstack_push(sm, &BLOCK_P); append_newline(sm); append_block(sm, "<p>"); @@ -819,22 +811,22 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr297: -#line 946 "ext/dtext/dtext.rl" + goto st244; +tr290: +#line 967 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("block 0"); g_debug(" close dstack"); dstack_close(sm); }} - goto st248; -tr303: + goto st244; +tr296: #line 1 "NONE" { switch( ( sm->act) ) { case 78: {{( sm->p) = ((( sm->te)))-1;} g_debug("block newline2"); @@ -849,24 +841,24 @@ g_debug("block newline"); } break; } } - goto st248; -tr305: -#line 960 "ext/dtext/dtext.rl" + goto st244; +tr298: +#line 981 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("block newline"); }} - goto st248; -tr306: -#line 964 "ext/dtext/dtext.rl" + goto st244; +tr299: +#line 985 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("block c: %c", (*( sm->p))); ( sm->p)--; - if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER)) { + if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER) || dstack_check(sm, BLOCK_EXPAND)) { g_debug(" push p"); g_debug(" print <p>"); dstack_push(sm, &BLOCK_P); append_newline(sm); append_block(sm, "<p>"); @@ -881,19 +873,19 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr307: -#line 97 "ext/dtext/dtext.rl" + goto st244; +tr300: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 933 "ext/dtext/dtext.rl" +#line 954 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("inline list"); sm->list_nest = 0; sm->list_mode = true; if (dstack_check(sm, BLOCK_P)) { @@ -911,15 +903,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st307;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st302;}} }} - goto st248; -tr316: -#line 873 "ext/dtext/dtext.rl" + goto st244; +tr309: +#line 894 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_push(sm, &BLOCK_CODE); append_newline(sm); append_newline(sm); append_block(sm, "<pre>"); @@ -933,24 +925,24 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st301;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st296;}} }} - goto st248; -tr317: -#line 895 "ext/dtext/dtext.rl" + goto st244; +tr310: +#line 916 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_push(sm, &BLOCK_EXPAND); dstack_push(sm, &BLOCK_P); append_newline(sm); append_newline(sm); append_block(sm, "<div class=\"expandable\"><div class=\"expandable-header\">"); - append(sm, "<span>"); + append(sm, true, "<span>"); append_segment_html_escaped(sm, sm->a1, sm->a2); - append(sm, "</span>"); + append(sm, true, "</span>"); append_block(sm, "<input type=\"button\" value=\"Show\" class=\"expandable-button\"/></div>"); append_block(sm, "<div class=\"expandable-content\">"); append_newline(sm); { size_t len = sm->stack->len; @@ -961,15 +953,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr319: -#line 882 "ext/dtext/dtext.rl" + goto st244; +tr312: +#line 903 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_push(sm, &BLOCK_EXPAND); dstack_push(sm, &BLOCK_P); append_newline(sm); append_newline(sm); @@ -987,15 +979,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr320: -#line 910 "ext/dtext/dtext.rl" + goto st244; +tr313: +#line 931 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_push(sm, &BLOCK_NODTEXT); append_newline(sm); append_block(sm, "<p>"); { @@ -1007,15 +999,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st303;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st298;}} }} - goto st248; -tr321: -#line 830 "ext/dtext/dtext.rl" + goto st244; +tr314: +#line 851 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("block [quote]"); g_debug(" push quote"); g_debug(" push p"); g_debug(" print <blockquote>"); @@ -1037,15 +1029,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr322: -#line 847 "ext/dtext/dtext.rl" + goto st244; +tr315: +#line 868 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("block [spoiler]"); g_debug(" push spoiler"); g_debug(" push p"); g_debug(" print <div>"); @@ -1066,159 +1058,163 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 248; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st248; -tr324: -#line 97 "ext/dtext/dtext.rl" + goto st244; +tr317: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 810 "ext/dtext/dtext.rl" +#line 827 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ char header = *sm->a1; if (sm->f_inline) { header = '6'; } append_newline(sm); append_newline(sm); - append(sm, "<h"); - append_c(sm, header); - append_c(sm, '>'); - append_segment(sm, sm->b1, sm->b2 - 1); - append(sm, "</h"); - append_c(sm, header); - append(sm, ">"); + if (!sm->f_strip) { + append(sm, true, "<h"); + append_c(sm, header); + append_c(sm, '>'); + } + append_segment(sm, false, sm->b1, sm->b2 - 1); + if (!sm->f_strip) { + append(sm, true, "</h"); + append_c(sm, header); + append_c(sm, '>'); + } append_newline(sm); append_newline(sm); }} - goto st248; -st248: + goto st244; +st244: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof248; -case 248: + goto _test_eof244; +case 244: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 1109 "ext/dtext/dtext.c" +#line 1105 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr297; - case 10: goto tr298; - case 13: goto st250; - case 42: goto tr300; - case 91: goto tr301; - case 104: goto tr302; + case 0: goto tr290; + case 10: goto tr291; + case 13: goto st246; + case 42: goto tr293; + case 91: goto tr294; + case 104: goto tr295; } - goto tr296; -tr298: + goto tr289; +tr291: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 960 "ext/dtext/dtext.rl" +#line 981 "ext/dtext/dtext.rl" {( sm->act) = 79;} - goto st249; -tr304: + goto st245; +tr297: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 952 "ext/dtext/dtext.rl" +#line 973 "ext/dtext/dtext.rl" {( sm->act) = 78;} - goto st249; -st249: + goto st245; +st245: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof249; -case 249: -#line 1135 "ext/dtext/dtext.c" + goto _test_eof245; +case 245: +#line 1131 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 10: goto tr304; - case 13: goto tr304; + case 10: goto tr297; + case 13: goto tr297; } - goto tr303; -st250: + goto tr296; +st246: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof250; -case 250: + goto _test_eof246; +case 246: switch( (*( sm->p)) ) { - case 10: goto tr304; - case 13: goto tr304; + case 10: goto tr297; + case 13: goto tr297; } - goto tr305; -tr300: + goto tr298; +tr293: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 85 "ext/dtext/dtext.rl" +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st251; -st251: + goto st247; +st247: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof251; -case 251: -#line 1162 "ext/dtext/dtext.c" + goto _test_eof247; +case 247: +#line 1158 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 9: goto tr3; case 32: goto tr3; case 42: goto st1; } - goto tr306; + goto tr299; tr3: -#line 89 "ext/dtext/dtext.rl" +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } goto st0; st0: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof0; case 0: -#line 1179 "ext/dtext/dtext.c" +#line 1175 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 0: goto tr0; case 9: goto tr2; case 10: goto tr0; case 13: goto tr0; case 32: goto tr2; } goto tr1; tr1: -#line 93 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st252; -st252: + goto st248; +st248: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof252; -case 252: -#line 1198 "ext/dtext/dtext.c" + goto _test_eof248; +case 248: +#line 1194 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr307; - case 10: goto tr307; - case 13: goto tr307; + case 0: goto tr300; + case 10: goto tr300; + case 13: goto tr300; } - goto st252; + goto st248; tr2: -#line 93 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st253; -st253: + goto st249; +st249: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof253; -case 253: -#line 1215 "ext/dtext/dtext.c" + goto _test_eof249; +case 249: +#line 1211 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr307; + case 0: goto tr300; case 9: goto tr2; - case 10: goto tr307; - case 13: goto tr307; + case 10: goto tr300; + case 13: goto tr300; case 32: goto tr2; } goto tr1; st1: if ( ++( sm->p) == ( sm->pe) ) @@ -1228,29 +1224,29 @@ case 9: goto tr3; case 32: goto tr3; case 42: goto st1; } goto tr0; -tr301: +tr294: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st254; -st254: + goto st250; +st250: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof254; -case 254: -#line 1242 "ext/dtext/dtext.c" + goto _test_eof250; +case 250: +#line 1238 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 47: goto st2; case 99: goto st10; case 101: goto st14; case 110: goto st22; case 113: goto st29; case 115: goto st34; case 116: goto st41; } - goto tr306; + goto tr299; st2: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof2; case 2: if ( (*( sm->p)) == 115 ) @@ -1329,21 +1325,21 @@ st13: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof13; case 13: if ( (*( sm->p)) == 93 ) - goto st255; + goto st251; goto tr0; -st255: +st251: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof255; -case 255: + goto _test_eof251; +case 251: if ( (*( sm->p)) == 32 ) - goto st255; + goto st251; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st255; - goto tr316; + goto st251; + goto tr309; st14: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof14; case 14: if ( (*( sm->p)) == 120 ) @@ -1381,59 +1377,59 @@ if ( ++( sm->p) == ( sm->pe) ) goto _test_eof19; case 19: switch( (*( sm->p)) ) { case 61: goto st20; - case 93: goto st257; + case 93: goto st253; } goto tr0; st20: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof20; case 20: if ( (*( sm->p)) == 93 ) goto tr0; goto tr24; tr24: -#line 85 "ext/dtext/dtext.rl" +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } goto st21; st21: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof21; case 21: -#line 1407 "ext/dtext/dtext.c" +#line 1403 "ext/dtext/dtext.c" if ( (*( sm->p)) == 93 ) goto tr26; goto st21; tr26: -#line 89 "ext/dtext/dtext.rl" +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st256; -st256: + goto st252; +st252: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof256; -case 256: -#line 1421 "ext/dtext/dtext.c" + goto _test_eof252; +case 252: +#line 1417 "ext/dtext/dtext.c" if ( (*( sm->p)) == 32 ) - goto st256; + goto st252; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st256; - goto tr317; -st257: + goto st252; + goto tr310; +st253: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof257; -case 257: + goto _test_eof253; +case 253: if ( (*( sm->p)) == 32 ) - goto st257; + goto st253; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st257; - goto tr319; + goto st253; + goto tr312; st22: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof22; case 22: if ( (*( sm->p)) == 111 ) @@ -1477,21 +1473,21 @@ st28: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof28; case 28: if ( (*( sm->p)) == 93 ) - goto st258; + goto st254; goto tr0; -st258: +st254: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof258; -case 258: + goto _test_eof254; +case 254: if ( (*( sm->p)) == 32 ) - goto st258; + goto st254; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st258; - goto tr320; + goto st254; + goto tr313; st29: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof29; case 29: if ( (*( sm->p)) == 117 ) @@ -1521,21 +1517,21 @@ st33: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof33; case 33: if ( (*( sm->p)) == 93 ) - goto st259; + goto st255; goto tr0; -st259: +st255: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof259; -case 259: + goto _test_eof255; +case 255: if ( (*( sm->p)) == 32 ) - goto st259; + goto st255; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st259; - goto tr321; + goto st255; + goto tr314; st34: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof34; case 34: if ( (*( sm->p)) == 112 ) @@ -1579,21 +1575,21 @@ st40: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof40; case 40: if ( (*( sm->p)) == 93 ) - goto st260; + goto st256; goto tr0; -st260: +st256: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof260; -case 260: + goto _test_eof256; +case 256: if ( (*( sm->p)) == 32 ) - goto st260; + goto st256; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st260; - goto tr322; + goto st256; + goto tr315; st41: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof41; case 41: switch( (*( sm->p)) ) { @@ -1634,161 +1630,126 @@ goto _test_eof46; case 46: if ( (*( sm->p)) == 93 ) goto tr52; goto tr0; -tr302: +tr295: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st261; -st261: + goto st257; +st257: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof261; -case 261: -#line 1648 "ext/dtext/dtext.c" + goto _test_eof257; +case 257: +#line 1644 "ext/dtext/dtext.c" if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 ) - goto tr323; - goto tr306; -tr323: -#line 85 "ext/dtext/dtext.rl" + goto tr316; + goto tr299; +tr316: +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } goto st47; st47: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof47; case 47: -#line 1662 "ext/dtext/dtext.c" +#line 1658 "ext/dtext/dtext.c" if ( (*( sm->p)) == 46 ) goto tr53; goto tr0; tr53: -#line 89 "ext/dtext/dtext.rl" +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } goto st48; st48: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof48; case 48: -#line 1676 "ext/dtext/dtext.c" +#line 1672 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 0: goto tr0; case 9: goto tr55; case 10: goto tr0; case 13: goto tr0; case 32: goto tr55; } goto tr54; tr54: -#line 93 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st262; -st262: + goto st258; +st258: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof262; -case 262: -#line 1695 "ext/dtext/dtext.c" + goto _test_eof258; +case 258: +#line 1691 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr324; - case 10: goto tr324; - case 13: goto tr324; + case 0: goto tr317; + case 10: goto tr317; + case 13: goto tr317; } - goto st262; + goto st258; tr55: -#line 93 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st263; -st263: + goto st259; +st259: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof263; -case 263: -#line 1712 "ext/dtext/dtext.c" + goto _test_eof259; +case 259: +#line 1708 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr324; + case 0: goto tr317; case 9: goto tr55; - case 10: goto tr324; - case 13: goto tr324; + case 10: goto tr317; + case 13: goto tr317; case 32: goto tr55; } goto tr54; tr56: -#line 1 "NONE" - { switch( ( sm->act) ) { - case 18: - {{( sm->p) = ((( sm->te)))-1;} - append_segment(sm, sm->ts, sm->te - 1); - } - break; - case 19: - {{( sm->p) = ((( sm->te)))-1;} - if (is_boundary_c((*( sm->p)))) { - sm->b = true; - sm->d = 2; - } else { - sm->b = false; - sm->d = 1; - } - - append(sm, "<a rel=\"nofollow\" href=\"/users?name="); - append_segment_uri_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, "\">@"); - append_segment_html_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, "</a>"); - - if (sm->b) { - append_c_html_escaped(sm, (*( sm->p))); - } - } - break; - case 42: - {{( sm->p) = ((( sm->te)))-1;} - g_debug("inline newline2"); - g_debug(" return"); - - if (sm->list_mode) { - if (dstack_check(sm, BLOCK_LI)) { - dstack_rewind(sm); - } - - sm->list_mode = false; - } - - {( sm->p) = (( sm->ts))-1;} - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - } - break; - case 43: - {{( sm->p) = ((( sm->te)))-1;} - g_debug("inline newline"); - - if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { - dstack_rewind(sm); - } else { - append(sm, "<br>"); - append_newline(sm); - } - } - break; - case 44: - {{( sm->p) = ((( sm->te)))-1;} +#line 624 "ext/dtext/dtext.rl" + {{( sm->p) = ((( sm->te)))-1;}{ g_debug("inline c: %c", (*( sm->p))); append_c_html_escaped(sm, (*( sm->p))); - } - break; - } - } - goto st264; -tr70: -#line 526 "ext/dtext/dtext.rl" + }} + goto st260; +tr67: +#line 99 "ext/dtext/dtext.rl" + { + sm->b2 = sm->p; +} +#line 320 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ + append(sm, true, "<a href=\""); + append_segment_uri_escaped(sm, sm->b1, sm->b2 - 1); + append(sm, true, "\">"); + append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); + }} + goto st260; +tr93: +#line 392 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p)+1;{ + if (dstack_check(sm, INLINE_B)) { + dstack_pop(sm); + append(sm, true, "</strong>"); + } else { + append(sm, true, "[/b]"); + } + }} + goto st260; +tr99: +#line 541 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_P)) { append_closing_p(sm); append_newline(sm); dstack_pop(sm); } @@ -1799,41 +1760,46 @@ append_newline(sm); append_newline(sm); dstack_pop(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - append(sm, "[/expand]"); + append_block(sm, "[/expand]"); } }} - goto st264; -tr75: -#line 472 "ext/dtext/dtext.rl" + goto st260; +tr100: +#line 406 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - g_debug("inline [/quote]"); - - if (dstack_check(sm, BLOCK_P)) { - dstack_rewind(sm); + if (dstack_check(sm, INLINE_I)) { + dstack_pop(sm); + append(sm, true, "</em>"); + } else { + append(sm, true, "[/i]"); } - - if (dstack_check(sm, BLOCK_QUOTE)) { - dstack_rewind(sm); - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + }} + goto st260; +tr106: +#line 420 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p)+1;{ + if (dstack_check(sm, INLINE_S)) { + dstack_pop(sm); + append(sm, true, "</s>"); } else { - append(sm, "[/quote]"); + append(sm, true, "[/s]"); } }} - goto st264; -tr82: -#line 494 "ext/dtext/dtext.rl" + goto st260; +tr113: +#line 508 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline [/spoiler]"); if (dstack_check(sm, INLINE_SPOILER)) { g_debug(" pop dstack"); g_debug(" print </span>"); dstack_pop(sm); - append(sm, "</span>"); + append(sm, true, "</span>"); } else if (dstack_check(sm, BLOCK_P) && dstack_check2(sm, BLOCK_SPOILER)) { g_debug(" pop dstack"); g_debug(" print </p></div>"); g_debug(" return"); dstack_pop(sm); @@ -1844,203 +1810,140 @@ append_newline(sm); append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - append(sm, "[/spoiler]"); + append_block(sm, "[/spoiler]"); } }} - goto st264; -tr93: -#line 456 "ext/dtext/dtext.rl" + goto st260; +tr117: +#line 577 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - g_debug("inline [quote]"); - - if (dstack_check(sm, BLOCK_P)) { - g_debug(" pop dstack"); - g_debug(" print </p>"); - - dstack_pop(sm); - append_closing_p(sm); - append_newline(sm); - } - - {( sm->p) = (( sm->p - 6))-1;} - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - }} - goto st264; -tr94: -#line 609 "ext/dtext/dtext.rl" - {{( sm->p) = ((( sm->te)))-1;}{ - g_debug("inline c: %c", (*( sm->p))); - append_c_html_escaped(sm, (*( sm->p))); - }} - goto st264; -tr105: -#line 97 "ext/dtext/dtext.rl" - { - sm->b2 = sm->p; -} -#line 307 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p)+1;{ - append(sm, "<a href=\""); - append_segment_uri_escaped(sm, sm->b1, sm->b2 - 1); - append(sm, "\">"); - append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); - }} - goto st264; -tr129: -#line 378 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p)+1;{ - if (dstack_check(sm, INLINE_B)) { - dstack_pop(sm); - append(sm, "</strong>"); - } else { - append(sm, "[/b]"); - } - }} - goto st264; -tr130: -#line 392 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p)+1;{ - if (dstack_check(sm, INLINE_I)) { - dstack_pop(sm); - append(sm, "</em>"); - } else { - append(sm, "[/i]"); - } - }} - goto st264; -tr131: -#line 406 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p)+1;{ - if (dstack_check(sm, INLINE_S)) { - dstack_pop(sm); - append(sm, "</s>"); - } else { - append(sm, "[/s]"); - } - }} - goto st264; -tr135: -#line 562 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TD)) { dstack_pop(sm); append_newline(sm); append_block(sm, "</td>"); append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - append(sm, "[/td]"); + append_block(sm, "[/td]"); } }} - goto st264; -tr136: -#line 550 "ext/dtext/dtext.rl" + goto st260; +tr118: +#line 565 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TH)) { dstack_pop(sm); append_newline(sm); append_block(sm, "</th>"); append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - append(sm, "[/th]"); + append_block(sm, "[/th]"); } }} - goto st264; -tr137: -#line 434 "ext/dtext/dtext.rl" + goto st260; +tr119: +#line 448 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TN)) { dstack_pop(sm); append_closing_p(sm); append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else if (dstack_check(sm, INLINE_TN)) { dstack_pop(sm); - append(sm, "</span>"); + append(sm, true, "</span>"); } else { - append(sm, "[/tn]"); + append_block(sm, "[/tn]"); } }} - goto st264; -tr138: -#line 420 "ext/dtext/dtext.rl" + goto st260; +tr120: +#line 434 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, INLINE_U)) { dstack_pop(sm); - append(sm, "</u>"); + append(sm, true, "</u>"); } else { - append(sm, "[/u]"); + append(sm, true, "[/u]"); } }} - goto st264; -tr143: -#line 245 "ext/dtext/dtext.rl" + goto st260; +tr125: +#line 258 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ GString * segment = g_string_new_len(sm->a1, sm->a2 - sm->a1); - underscore_string(segment->str, segment->len); GString * lowercase_segment = NULL; + underscore_string(segment->str, segment->len); if (g_utf8_validate(segment->str, -1, NULL)) { lowercase_segment = g_string_new(g_utf8_strdown(segment->str, -1)); } else { lowercase_segment = g_string_new(g_ascii_strdown(segment->str, -1)); } - append(sm, "<a href=\"/wiki_pages/show_or_new?title="); + append(sm, true, "<a href=\"/wiki_pages/show_or_new?title="); append_segment_uri_escaped(sm, lowercase_segment->str, lowercase_segment->str + lowercase_segment->len - 1); - append(sm, "\">"); + append(sm, true, "\">"); append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "</a>"); g_string_free(lowercase_segment, TRUE); g_string_free(segment, TRUE); }} - goto st264; -tr147: -#line 266 "ext/dtext/dtext.rl" + goto st260; +tr129: +#line 279 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ GString * segment = g_string_new_len(sm->a1, sm->a2 - sm->a1); - underscore_string(segment->str, segment->len); GString * lowercase_segment = NULL; + underscore_string(segment->str, segment->len); if (g_utf8_validate(segment->str, -1, NULL)) { lowercase_segment = g_string_new(g_utf8_strdown(segment->str, -1)); } else { lowercase_segment = g_string_new(g_ascii_strdown(segment->str, -1)); } - append(sm, "<a href=\"/wiki_pages/show_or_new?title="); + append(sm, true, "<a href=\"/wiki_pages/show_or_new?title="); append_segment_uri_escaped(sm, lowercase_segment->str, lowercase_segment->str + lowercase_segment->len - 1); - append(sm, "\">"); + append(sm, true, "\">"); append_segment_html_escaped(sm, sm->b1, sm->b2 - 1); - append(sm, "</a>"); + append(sm, true, "</a>"); g_string_free(lowercase_segment, TRUE); g_string_free(segment, TRUE); }} - goto st264; -tr148: -#line 373 "ext/dtext/dtext.rl" + goto st260; +tr130: +#line 387 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_B); - append(sm, "<strong>"); + append(sm, true, "<strong>"); }} - goto st264; -tr149: -#line 387 "ext/dtext/dtext.rl" + goto st260; +tr136: +#line 534 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ + g_debug("inline [expand]"); + dstack_rewind(sm); + {( sm->p) = (((sm->p - 7)))-1;} + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + }} + goto st260; +tr137: +#line 401 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_I); - append(sm, "<em>"); + append(sm, true, "<em>"); }} - goto st264; -tr156: -#line 545 "ext/dtext/dtext.rl" + goto st260; +tr144: +#line 560 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_NODTEXT); { size_t len = sm->stack->len; @@ -2050,150 +1953,224 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 264; goto st303;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 260; goto st298;}} }} - goto st264; -tr157: -#line 401 "ext/dtext/dtext.rl" + goto st260; +tr149: +#line 470 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ + g_debug("inline [quote]"); + + if (dstack_check(sm, BLOCK_P)) { + g_debug(" pop dstack"); + g_debug(" print </p>"); + + dstack_pop(sm); + append_closing_p(sm); + append_newline(sm); + } + + {( sm->p) = (( sm->ts))-1;} + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + }} + goto st260; +tr150: +#line 415 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_S); - append(sm, "<s>"); + append(sm, true, "<s>"); }} - goto st264; -tr164: -#line 487 "ext/dtext/dtext.rl" + goto st260; +tr157: +#line 501 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline [spoiler]"); g_debug(" push <span>"); dstack_push(sm, &INLINE_SPOILER); - append(sm, "<span class=\"spoiler\">"); + append(sm, true, "<span class=\"spoiler\">"); }} - goto st264; -tr166: -#line 429 "ext/dtext/dtext.rl" + goto st260; +tr159: +#line 443 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_TN); - append(sm, "<span class=\"tn\">"); + append(sm, true, "<span class=\"tn\">"); }} - goto st264; -tr167: -#line 415 "ext/dtext/dtext.rl" + goto st260; +tr160: +#line 429 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_U); - append(sm, "<u>"); + append(sm, true, "<u>"); }} - goto st264; -tr211: -#line 217 "ext/dtext/dtext.rl" + goto st260; +tr204: +#line 228 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ - append(sm, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">pixiv #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "pixiv #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr230: -#line 157 "ext/dtext/dtext.rl" + goto st260; +tr223: +#line 161 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ - append(sm, "<a href=\"/forum_topics/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">topic #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/forum_topics/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "topic #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr241: -#line 237 "ext/dtext/dtext.rl" + goto st260; +tr234: +#line 250 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - append(sm, "<a rel=\"nofollow\" href=\"/posts?tags="); + append(sm, true, "<a rel=\"nofollow\" href=\"/posts?tags="); append_segment_uri_escaped(sm, sm->a1, sm->a2 - 1); - append(sm, "\">"); + append(sm, true, "\">"); append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "</a>"); }} - goto st264; -tr326: -#line 609 "ext/dtext/dtext.rl" + goto st260; +tr319: +#line 624 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline c: %c", (*( sm->p))); append_c_html_escaped(sm, (*( sm->p))); }} - goto st264; -tr327: -#line 574 "ext/dtext/dtext.rl" + goto st260; +tr320: +#line 589 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline 0"); g_debug(" return"); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st264; -tr344: -#line 609 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("inline c: %c", (*( sm->p))); - append_c_html_escaped(sm, (*( sm->p))); - }} - goto st264; -tr345: -#line 520 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - dstack_rewind(sm); - {( sm->p) = (((sm->p - 8)))-1;} + goto st260; +tr336: +#line 1 "NONE" + { switch( ( sm->act) ) { + case 18: + {{( sm->p) = ((( sm->te)))-1;} + append_segment_html_escaped(sm, sm->ts, sm->te - 1); + } + break; + case 19: + {{( sm->p) = ((( sm->te)))-1;} + if (is_boundary_c((*( sm->p)))) { + sm->b = true; + sm->d = 2; + } else { + sm->b = false; + sm->d = 1; + } + + append(sm, true, "<a rel=\"nofollow\" href=\"/users?name="); + append_segment_uri_escaped(sm, sm->a1, sm->a2 - sm->d); + append(sm, true, "\">"); + append_c(sm, '@'); + append_segment_html_escaped(sm, sm->a1, sm->a2 - sm->d); + append(sm, true, "</a>"); + + if (sm->b) { + append_c_html_escaped(sm, (*( sm->p))); + } + } + break; + case 42: + {{( sm->p) = ((( sm->te)))-1;} + g_debug("inline newline2"); + g_debug(" return"); + + if (sm->list_mode) { + if (dstack_check(sm, BLOCK_LI)) { + dstack_rewind(sm); + } + + sm->list_mode = false; + } + + {( sm->p) = (( sm->ts))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - }} - goto st264; -tr347: -#line 598 "ext/dtext/dtext.rl" + } + break; + case 43: + {{( sm->p) = ((( sm->te)))-1;} + g_debug("inline newline"); + + if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { + dstack_rewind(sm); + } else { + append(sm, true, "<br>"); + append_newline(sm); + } + } + break; + } + } + goto st260; +tr338: +#line 613 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("inline newline"); if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { dstack_rewind(sm); } else { - append(sm, "<br>"); + append(sm, true, "<br>"); append_newline(sm); } }} - goto st264; -tr349: -#line 97 "ext/dtext/dtext.rl" + goto st260; +tr339: +#line 624 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("inline c: %c", (*( sm->p))); + append_c_html_escaped(sm, (*( sm->p))); + }} + goto st260; +tr341: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 287 "ext/dtext/dtext.rl" +#line 300 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ if (is_boundary_c((*( sm->p)))) { sm->d = 2; sm->b = true; } else { sm->d = 1; sm->b = false; } - append(sm, "<a href=\""); + append(sm, true, "<a href=\""); append_segment_uri_escaped(sm, sm->b1, sm->b2 - sm->d); - append(sm, "\">"); + append(sm, true, "\">"); append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "</a>"); if (sm->b) { append_c_html_escaped(sm, (*( sm->p))); } }} - goto st264; -tr350: -#line 97 "ext/dtext/dtext.rl" + goto st260; +tr342: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 360 "ext/dtext/dtext.rl" +#line 374 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("inline list"); if (dstack_check(sm, BLOCK_P)) { g_debug(" rewind p"); @@ -2211,49 +2188,50 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 264; goto st307;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 260; goto st302;}} }} - goto st264; -tr353: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr345: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 340 "ext/dtext/dtext.rl" +#line 353 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ if (is_boundary_c((*( sm->p)))) { sm->b = true; sm->d = 2; } else { sm->b = false; sm->d = 1; } - append(sm, "<a rel=\"nofollow\" href=\"/users?name="); + append(sm, true, "<a rel=\"nofollow\" href=\"/users?name="); append_segment_uri_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, "\">@"); + append(sm, true, "\">"); + append_c(sm, '@'); append_segment_html_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, "</a>"); + append(sm, true, "</a>"); if (sm->b) { append_c_html_escaped(sm, (*( sm->p))); } }} - goto st264; -tr356: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr348: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } #line 1 "NONE" { switch( ( sm->act) ) { case 18: {{( sm->p) = ((( sm->te)))-1;} - append_segment(sm, sm->ts, sm->te - 1); + append_segment_html_escaped(sm, sm->ts, sm->te - 1); } break; case 19: {{( sm->p) = ((( sm->te)))-1;} if (is_boundary_c((*( sm->p)))) { @@ -2262,15 +2240,16 @@ } else { sm->b = false; sm->d = 1; } - append(sm, "<a rel=\"nofollow\" href=\"/users?name="); + append(sm, true, "<a rel=\"nofollow\" href=\"/users?name="); append_segment_uri_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, "\">@"); + append(sm, true, "\">"); + append_c(sm, '@'); append_segment_html_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, "</a>"); + append(sm, true, "</a>"); if (sm->b) { append_c_html_escaped(sm, (*( sm->p))); } } @@ -2297,2183 +2276,2129 @@ g_debug("inline newline"); if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { dstack_rewind(sm); } else { - append(sm, "<br>"); + append(sm, true, "<br>"); append_newline(sm); } } break; - case 44: - {{( sm->p) = ((( sm->te)))-1;} - g_debug("inline c: %c", (*( sm->p))); - append_c_html_escaped(sm, (*( sm->p))); - } - break; } } - goto st264; -tr366: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr359: +#line 486 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("inline [/quote]"); + + if (dstack_check(sm, BLOCK_P)) { + dstack_rewind(sm); + } + + if (dstack_check(sm, BLOCK_QUOTE)) { + dstack_rewind(sm); + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + } else { + append_block(sm, "[/quote]"); + } + }} + goto st260; +tr361: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 201 "ext/dtext/dtext.rl" +#line 210 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/artists/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">artist #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/artists/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "artist #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr369: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr364: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 177 "ext/dtext/dtext.rl" +#line 183 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/comments/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">comment #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/comments/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "comment #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr372: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr367: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 149 "ext/dtext/dtext.rl" +#line 152 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/forum_posts/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">forum #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/forum_posts/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "forum #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr376: -#line 97 "ext/dtext/dtext.rl" + goto st260; +tr371: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 450 "ext/dtext/dtext.rl" +#line 464 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_rewind(sm); {( sm->p) = (( sm->a1 - 1))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st264; -tr378: -#line 315 "ext/dtext/dtext.rl" + goto st260; +tr373: +#line 328 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ if (is_boundary_c((*( sm->p)))) { sm->b = true; sm->d = 2; } else { sm->b = false; sm->d = 1; } - append(sm, "<a href=\""); + append(sm, true, "<a href=\""); append_segment_uri_escaped(sm, sm->ts, sm->te - sm->d); - append(sm, "\">"); + append(sm, true, "\">"); append_segment_html_escaped(sm, sm->ts, sm->te - sm->d); - append(sm, "</a>"); + append(sm, true, "</a>"); if (sm->b) { append_c_html_escaped(sm, (*( sm->p))); } }} - goto st264; -tr380: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr375: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 209 "ext/dtext/dtext.rl" +#line 219 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"https://github.com/r888888888/danbooru/issues/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">issue #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"https://github.com/r888888888/danbooru/issues/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "issue #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr384: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr379: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 217 "ext/dtext/dtext.rl" +#line 228 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">pixiv #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "pixiv #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr387: -#line 97 "ext/dtext/dtext.rl" + goto st260; +tr382: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 225 "ext/dtext/dtext.rl" +#line 237 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"http://www.pixiv.net/member_illust.php?mode=manga_big&illust_id="); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "&page="); - append_segment(sm, sm->b1, sm->b2 - 1); - append(sm, "\">pixiv #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "/p"); - append_segment(sm, sm->b1, sm->b2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=manga_big&illust_id="); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "&page="); + append_segment(sm, true, sm->b1, sm->b2 - 1); + append(sm, true, "\">"); + append(sm, false, "pixiv #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, false, "/p"); + append_segment(sm, false, sm->b1, sm->b2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr389: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr384: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 185 "ext/dtext/dtext.rl" +#line 192 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/pools/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">pool #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/pools/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "pool #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr391: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr386: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 141 "ext/dtext/dtext.rl" +#line 143 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/posts/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">post #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/posts/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "post #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr394: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr389: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 157 "ext/dtext/dtext.rl" +#line 161 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/forum_topics/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">topic #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/forum_topics/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "topic #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr397: -#line 97 "ext/dtext/dtext.rl" + goto st260; +tr392: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 165 "ext/dtext/dtext.rl" +#line 170 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/forum_topics/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "?page="); - append_segment(sm, sm->b1, sm->b2 - 1); - append(sm, "\">topic #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "/p"); - append_segment(sm, sm->b1, sm->b2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/forum_topics/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "?page="); + append_segment(sm, true, sm->b1, sm->b2 - 1); + append(sm, true, "\">"); + append(sm, false, "topic #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, false, "/p"); + append_segment(sm, false, sm->b1, sm->b2 - 1); + append(sm, true, "</a>"); }} - goto st264; -tr400: -#line 89 "ext/dtext/dtext.rl" + goto st260; +tr395: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 193 "ext/dtext/dtext.rl" +#line 201 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - append(sm, "<a href=\"/users/"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "\">user #"); - append_segment(sm, sm->a1, sm->a2 - 1); - append(sm, "</a>"); + append(sm, true, "<a href=\"/users/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "user #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); }} - goto st264; -st264: + goto st260; +st260: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof264; -case 264: + goto _test_eof260; +case 260: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 2521 "ext/dtext/dtext.c" +#line 2522 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr327; - case 10: goto tr329; - case 13: goto tr330; - case 32: goto tr328; - case 34: goto tr331; - case 42: goto tr332; - case 64: goto st274; - case 91: goto tr334; - case 97: goto tr335; - case 99: goto tr336; - case 102: goto tr337; - case 104: goto tr338; - case 105: goto tr339; - case 112: goto tr340; - case 116: goto tr341; - case 117: goto tr342; - case 123: goto tr343; + case 0: goto tr320; + case 10: goto tr321; + case 13: goto st262; + case 34: goto tr323; + case 42: goto tr324; + case 64: goto st268; + case 91: goto tr326; + case 97: goto tr327; + case 99: goto tr328; + case 102: goto tr329; + case 104: goto tr330; + case 105: goto tr331; + case 112: goto tr332; + case 116: goto tr333; + case 117: goto tr334; + case 123: goto tr335; } - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 12 ) - goto tr328; - goto tr326; -tr328: + goto tr319; +tr321: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 609 "ext/dtext/dtext.rl" - {( sm->act) = 44;} - goto st265; -st265: +#line 613 "ext/dtext/dtext.rl" + {( sm->act) = 43;} + goto st261; +tr337: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 597 "ext/dtext/dtext.rl" + {( sm->act) = 42;} + goto st261; +st261: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof265; -case 265: -#line 2554 "ext/dtext/dtext.c" + goto _test_eof261; +case 261: +#line 2558 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 32: goto st49; - case 91: goto st50; + case 10: goto tr337; + case 13: goto tr337; } - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st49; - goto tr344; + goto tr336; +st262: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof262; +case 262: + switch( (*( sm->p)) ) { + case 10: goto tr337; + case 13: goto tr337; + } + goto tr338; +tr323: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st263; +st263: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof263; +case 263: +#line 2581 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 34 ) + goto tr339; + goto tr340; +tr340: +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st49; st49: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof49; case 49: - switch( (*( sm->p)) ) { - case 32: goto st49; - case 91: goto st50; - } - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st49; - goto tr56; +#line 2595 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 34 ) + goto tr58; + goto st49; +tr58: +#line 91 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st50; st50: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof50; case 50: - switch( (*( sm->p)) ) { - case 47: goto st51; - case 101: goto st70; - case 113: goto st76; - } +#line 2609 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 58 ) + goto st51; goto tr56; st51: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof51; case 51: switch( (*( sm->p)) ) { - case 101: goto st52; - case 113: goto st58; - case 115: goto st63; + case 47: goto tr60; + case 91: goto st53; + case 104: goto tr62; } goto tr56; +tr60: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st52; st52: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof52; case 52: - if ( (*( sm->p)) == 120 ) - goto st53; +#line 2633 "ext/dtext/dtext.c" + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st264; goto tr56; +st264: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof264; +case 264: + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st264; + goto tr341; st53: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof53; case 53: - if ( (*( sm->p)) == 112 ) - goto st54; + switch( (*( sm->p)) ) { + case 47: goto tr64; + case 104: goto tr65; + } goto tr56; +tr64: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st54; st54: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof54; case 54: - if ( (*( sm->p)) == 97 ) +#line 2663 "ext/dtext/dtext.c" + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) goto st55; goto tr56; st55: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof55; case 55: - if ( (*( sm->p)) == 110 ) - goto st56; + if ( (*( sm->p)) == 93 ) + goto tr67; + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st55; goto tr56; +tr65: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st56; st56: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof56; case 56: - if ( (*( sm->p)) == 100 ) +#line 2686 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 116 ) goto st57; goto tr56; st57: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof57; case 57: - if ( (*( sm->p)) == 93 ) - goto tr70; + if ( (*( sm->p)) == 116 ) + goto st58; goto tr56; st58: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof58; case 58: - if ( (*( sm->p)) == 117 ) + if ( (*( sm->p)) == 112 ) goto st59; goto tr56; st59: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof59; case 59: - if ( (*( sm->p)) == 111 ) - goto st60; + switch( (*( sm->p)) ) { + case 58: goto st60; + case 115: goto st62; + } goto tr56; st60: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof60; case 60: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 47 ) goto st61; goto tr56; st61: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof61; case 61: - if ( (*( sm->p)) == 101 ) - goto st62; + if ( (*( sm->p)) == 47 ) + goto st54; goto tr56; st62: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof62; case 62: - if ( (*( sm->p)) == 93 ) - goto tr75; + if ( (*( sm->p)) == 58 ) + goto st60; goto tr56; +tr62: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st63; st63: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof63; case 63: - if ( (*( sm->p)) == 112 ) +#line 2744 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 116 ) goto st64; goto tr56; st64: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof64; case 64: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 116 ) goto st65; goto tr56; st65: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof65; case 65: - if ( (*( sm->p)) == 105 ) + if ( (*( sm->p)) == 112 ) goto st66; goto tr56; st66: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof66; case 66: - if ( (*( sm->p)) == 108 ) - goto st67; + switch( (*( sm->p)) ) { + case 58: goto st67; + case 115: goto st69; + } goto tr56; st67: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof67; case 67: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 47 ) goto st68; goto tr56; st68: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof68; case 68: - if ( (*( sm->p)) == 114 ) - goto st69; + if ( (*( sm->p)) == 47 ) + goto st52; goto tr56; st69: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof69; case 69: - if ( (*( sm->p)) == 93 ) - goto tr82; + if ( (*( sm->p)) == 58 ) + goto st67; goto tr56; +tr324: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st265; +st265: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof265; +case 265: +#line 2804 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 9: goto tr84; + case 32: goto tr84; + case 42: goto st71; + } + goto tr339; +tr84: +#line 91 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st70; st70: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof70; case 70: - if ( (*( sm->p)) == 120 ) - goto st71; - goto tr56; +#line 2821 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 0: goto tr56; + case 9: goto tr83; + case 10: goto tr56; + case 13: goto tr56; + case 32: goto tr83; + } + goto tr82; +tr82: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st266; +st266: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof266; +case 266: +#line 2840 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 0: goto tr342; + case 10: goto tr342; + case 13: goto tr342; + } + goto st266; +tr83: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st267; +st267: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof267; +case 267: +#line 2857 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 0: goto tr342; + case 9: goto tr83; + case 10: goto tr342; + case 13: goto tr342; + case 32: goto tr83; + } + goto tr82; st71: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof71; case 71: - if ( (*( sm->p)) == 112 ) - goto st72; + switch( (*( sm->p)) ) { + case 9: goto tr84; + case 32: goto tr84; + case 42: goto st71; + } goto tr56; +st268: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof268; +case 268: + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto tr344; + goto tr339; +tr344: +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st269; +st269: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof269; +case 269: +#line 2893 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 64 ) + goto tr347; + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto tr346; + goto tr345; +tr346: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 353 "ext/dtext/dtext.rl" + {( sm->act) = 19;} + goto st270; +tr347: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 349 "ext/dtext/dtext.rl" + {( sm->act) = 18;} + goto st270; +st270: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof270; +case 270: +#line 2915 "ext/dtext/dtext.c" + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto tr346; + goto tr348; +tr326: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st271; +st271: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof271; +case 271: +#line 2927 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 47: goto st72; + case 91: goto st98; + case 98: goto st104; + case 101: goto st105; + case 105: goto st111; + case 110: goto st112; + case 113: goto st119; + case 115: goto st124; + case 116: goto st131; + case 117: goto st133; + } + goto tr339; st72: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof72; case 72: - if ( (*( sm->p)) == 97 ) - goto st73; + switch( (*( sm->p)) ) { + case 98: goto st73; + case 101: goto st74; + case 105: goto st80; + case 113: goto st81; + case 115: goto st86; + case 116: goto st93; + case 117: goto st97; + } goto tr56; st73: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof73; case 73: - if ( (*( sm->p)) == 110 ) - goto st74; + if ( (*( sm->p)) == 93 ) + goto tr93; goto tr56; st74: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof74; case 74: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 120 ) goto st75; goto tr56; st75: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof75; case 75: - if ( (*( sm->p)) == 93 ) - goto st266; + if ( (*( sm->p)) == 112 ) + goto st76; goto tr56; -st266: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof266; -case 266: - if ( (*( sm->p)) == 32 ) - goto st266; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st266; - goto tr345; st76: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof76; case 76: - if ( (*( sm->p)) == 117 ) + if ( (*( sm->p)) == 97 ) goto st77; goto tr56; st77: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof77; case 77: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 110 ) goto st78; goto tr56; st78: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof78; case 78: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 100 ) goto st79; goto tr56; st79: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof79; case 79: - if ( (*( sm->p)) == 101 ) - goto st80; + if ( (*( sm->p)) == 93 ) + goto tr99; goto tr56; st80: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof80; case 80: if ( (*( sm->p)) == 93 ) - goto tr93; + goto tr100; goto tr56; -tr329: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 598 "ext/dtext/dtext.rl" - {( sm->act) = 43;} - goto st267; -tr346: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 582 "ext/dtext/dtext.rl" - {( sm->act) = 42;} - goto st267; -st267: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof267; -case 267: -#line 2821 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 10: goto tr346; - case 13: goto tr346; - case 32: goto st49; - case 91: goto st50; - } - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 12 ) - goto st49; - goto tr56; -tr330: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 598 "ext/dtext/dtext.rl" - {( sm->act) = 43;} - goto st268; -st268: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof268; -case 268: -#line 2841 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 10: goto tr346; - case 13: goto tr346; - case 32: goto st49; - case 91: goto st50; - } - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 12 ) - goto st49; - goto tr347; -tr331: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st269; -st269: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof269; -case 269: -#line 2859 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 34 ) - goto tr344; - goto tr348; -tr348: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st81; st81: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof81; case 81: -#line 2873 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 34 ) - goto tr96; - goto st81; -tr96: -#line 89 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st82; + if ( (*( sm->p)) == 117 ) + goto st82; + goto tr56; st82: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof82; case 82: -#line 2887 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 58 ) + if ( (*( sm->p)) == 111 ) goto st83; - goto tr94; + goto tr56; st83: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof83; case 83: - switch( (*( sm->p)) ) { - case 47: goto tr98; - case 91: goto st85; - case 104: goto tr100; - } - goto tr94; -tr98: -#line 93 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st84; + if ( (*( sm->p)) == 116 ) + goto st84; + goto tr56; st84: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof84; case 84: -#line 2911 "ext/dtext/dtext.c" - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st270; - goto tr94; -st270: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof270; -case 270: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st270; - goto tr349; + if ( (*( sm->p)) == 101 ) + goto st85; + goto tr56; st85: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof85; case 85: - switch( (*( sm->p)) ) { - case 47: goto tr102; - case 104: goto tr103; - } - goto tr94; -tr102: -#line 93 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st86; + if ( (*( sm->p)) == 93 ) + goto st272; + goto tr56; +st272: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof272; +case 272: + if ( (*( sm->p)) == 32 ) + goto st272; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st272; + goto tr359; st86: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof86; case 86: -#line 2941 "ext/dtext/dtext.c" - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st87; - goto tr94; + switch( (*( sm->p)) ) { + case 93: goto tr106; + case 112: goto st87; + } + goto tr56; st87: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof87; case 87: - if ( (*( sm->p)) == 93 ) - goto tr105; - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st87; - goto tr94; -tr103: -#line 93 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st88; + if ( (*( sm->p)) == 111 ) + goto st88; + goto tr56; st88: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof88; case 88: -#line 2964 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 105 ) goto st89; - goto tr94; + goto tr56; st89: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof89; case 89: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 108 ) goto st90; - goto tr94; + goto tr56; st90: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof90; case 90: - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 101 ) goto st91; - goto tr94; + goto tr56; st91: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof91; case 91: - switch( (*( sm->p)) ) { - case 58: goto st92; - case 115: goto st94; - } - goto tr94; + if ( (*( sm->p)) == 114 ) + goto st92; + goto tr56; st92: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof92; case 92: - if ( (*( sm->p)) == 47 ) - goto st93; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr113; + goto tr56; st93: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof93; case 93: - if ( (*( sm->p)) == 47 ) - goto st86; - goto tr94; + switch( (*( sm->p)) ) { + case 100: goto st94; + case 104: goto st95; + case 110: goto st96; + } + goto tr56; st94: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof94; case 94: - if ( (*( sm->p)) == 58 ) - goto st92; - goto tr94; -tr100: -#line 93 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st95; + if ( (*( sm->p)) == 93 ) + goto tr117; + goto tr56; st95: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof95; case 95: -#line 3022 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 116 ) - goto st96; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr118; + goto tr56; st96: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof96; case 96: - if ( (*( sm->p)) == 116 ) - goto st97; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr119; + goto tr56; st97: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof97; case 97: - if ( (*( sm->p)) == 112 ) - goto st98; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr120; + goto tr56; st98: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof98; case 98: switch( (*( sm->p)) ) { - case 58: goto st99; - case 115: goto st101; + case 93: goto tr56; + case 124: goto tr56; } - goto tr94; + goto tr121; +tr121: +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st99; st99: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof99; case 99: - if ( (*( sm->p)) == 47 ) - goto st100; - goto tr94; +#line 3163 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 93: goto tr123; + case 124: goto tr124; + } + goto st99; +tr123: +#line 91 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st100; st100: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof100; case 100: - if ( (*( sm->p)) == 47 ) - goto st84; - goto tr94; +#line 3179 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr125; + goto tr56; +tr124: +#line 91 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st101; st101: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof101; case 101: - if ( (*( sm->p)) == 58 ) - goto st99; - goto tr94; -tr332: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 85 "ext/dtext/dtext.rl" +#line 3193 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr56; + goto tr126; +tr126: +#line 95 "ext/dtext/dtext.rl" { - sm->a1 = sm->p; + sm->b1 = sm->p; } - goto st271; -st271: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof271; -case 271: -#line 3082 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 9: goto tr122; - case 32: goto tr122; - case 42: goto st103; - } - goto tr344; -tr122: -#line 89 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} goto st102; st102: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof102; case 102: -#line 3099 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr94; - case 9: goto tr121; - case 10: goto tr94; - case 13: goto tr94; - case 32: goto tr121; - } - goto tr120; -tr120: -#line 93 "ext/dtext/dtext.rl" +#line 3207 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr128; + goto st102; +tr128: +#line 99 "ext/dtext/dtext.rl" { - sm->b1 = sm->p; + sm->b2 = sm->p; } - goto st272; -st272: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof272; -case 272: -#line 3118 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr350; - case 10: goto tr350; - case 13: goto tr350; - } - goto st272; -tr121: -#line 93 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st273; -st273: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof273; -case 273: -#line 3135 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr350; - case 9: goto tr121; - case 10: goto tr350; - case 13: goto tr350; - case 32: goto tr121; - } - goto tr120; + goto st103; st103: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof103; case 103: - switch( (*( sm->p)) ) { - case 9: goto tr122; - case 32: goto tr122; - case 42: goto st103; - } - goto tr94; -st274: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof274; -case 274: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto tr352; - goto tr344; -tr352: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st275; -st275: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof275; -case 275: -#line 3171 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 64 ) - goto tr355; - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto tr354; - goto tr353; -tr354: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 340 "ext/dtext/dtext.rl" - {( sm->act) = 19;} - goto st276; -tr355: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 336 "ext/dtext/dtext.rl" - {( sm->act) = 18;} - goto st276; -st276: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof276; -case 276: -#line 3193 "ext/dtext/dtext.c" - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto tr354; - goto tr356; -tr334: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 609 "ext/dtext/dtext.rl" - {( sm->act) = 44;} - goto st277; -st277: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof277; -case 277: -#line 3207 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 47: goto st104; - case 91: goto st113; - case 98: goto st119; - case 101: goto st70; - case 105: goto st120; - case 110: goto st121; - case 113: goto st76; - case 115: goto st128; - case 116: goto st135; - case 117: goto st137; - } - goto tr344; +#line 3221 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr129; + goto tr56; st104: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof104; case 104: - switch( (*( sm->p)) ) { - case 98: goto st105; - case 101: goto st52; - case 105: goto st106; - case 113: goto st58; - case 115: goto st107; - case 116: goto st108; - case 117: goto st112; - } - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr130; + goto tr56; st105: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof105; case 105: - if ( (*( sm->p)) == 93 ) - goto tr129; - goto tr94; + if ( (*( sm->p)) == 120 ) + goto st106; + goto tr56; st106: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof106; case 106: - if ( (*( sm->p)) == 93 ) - goto tr130; - goto tr94; + if ( (*( sm->p)) == 112 ) + goto st107; + goto tr56; st107: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof107; case 107: - switch( (*( sm->p)) ) { - case 93: goto tr131; - case 112: goto st64; - } - goto tr94; + if ( (*( sm->p)) == 97 ) + goto st108; + goto tr56; st108: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof108; case 108: - switch( (*( sm->p)) ) { - case 100: goto st109; - case 104: goto st110; - case 110: goto st111; - } - goto tr94; + if ( (*( sm->p)) == 110 ) + goto st109; + goto tr56; st109: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof109; case 109: - if ( (*( sm->p)) == 93 ) - goto tr135; - goto tr94; + if ( (*( sm->p)) == 100 ) + goto st110; + goto tr56; st110: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof110; case 110: if ( (*( sm->p)) == 93 ) goto tr136; - goto tr94; + goto tr56; st111: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof111; case 111: if ( (*( sm->p)) == 93 ) goto tr137; - goto tr94; + goto tr56; st112: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof112; case 112: - if ( (*( sm->p)) == 93 ) - goto tr138; - goto tr94; + if ( (*( sm->p)) == 111 ) + goto st113; + goto tr56; st113: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof113; case 113: - switch( (*( sm->p)) ) { - case 93: goto tr94; - case 124: goto tr94; - } - goto tr139; -tr139: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st114; + if ( (*( sm->p)) == 100 ) + goto st114; + goto tr56; st114: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof114; case 114: -#line 3315 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 93: goto tr141; - case 124: goto tr142; - } - goto st114; -tr141: -#line 89 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st115; + if ( (*( sm->p)) == 116 ) + goto st115; + goto tr56; st115: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof115; case 115: -#line 3331 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr143; - goto tr94; -tr142: -#line 89 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st116; + if ( (*( sm->p)) == 101 ) + goto st116; + goto tr56; st116: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof116; case 116: -#line 3345 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr94; - goto tr144; -tr144: -#line 93 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st117; + if ( (*( sm->p)) == 120 ) + goto st117; + goto tr56; st117: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof117; case 117: -#line 3359 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr146; - goto st117; -tr146: -#line 97 "ext/dtext/dtext.rl" - { - sm->b2 = sm->p; -} - goto st118; + if ( (*( sm->p)) == 116 ) + goto st118; + goto tr56; st118: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof118; case 118: -#line 3373 "ext/dtext/dtext.c" if ( (*( sm->p)) == 93 ) - goto tr147; - goto tr94; + goto tr144; + goto tr56; st119: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof119; case 119: - if ( (*( sm->p)) == 93 ) - goto tr148; - goto tr94; + if ( (*( sm->p)) == 117 ) + goto st120; + goto tr56; st120: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof120; case 120: - if ( (*( sm->p)) == 93 ) - goto tr149; - goto tr94; + if ( (*( sm->p)) == 111 ) + goto st121; + goto tr56; st121: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof121; case 121: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 116 ) goto st122; - goto tr94; + goto tr56; st122: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof122; case 122: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 101 ) goto st123; - goto tr94; + goto tr56; st123: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof123; case 123: - if ( (*( sm->p)) == 116 ) - goto st124; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr149; + goto tr56; st124: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof124; case 124: - if ( (*( sm->p)) == 101 ) - goto st125; - goto tr94; + switch( (*( sm->p)) ) { + case 93: goto tr150; + case 112: goto st125; + } + goto tr56; st125: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof125; case 125: - if ( (*( sm->p)) == 120 ) + if ( (*( sm->p)) == 111 ) goto st126; - goto tr94; + goto tr56; st126: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof126; case 126: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 105 ) goto st127; - goto tr94; + goto tr56; st127: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof127; case 127: - if ( (*( sm->p)) == 93 ) - goto tr156; - goto tr94; + if ( (*( sm->p)) == 108 ) + goto st128; + goto tr56; st128: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof128; case 128: - switch( (*( sm->p)) ) { - case 93: goto tr157; - case 112: goto st129; - } - goto tr94; + if ( (*( sm->p)) == 101 ) + goto st129; + goto tr56; st129: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof129; case 129: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 114 ) goto st130; - goto tr94; + goto tr56; st130: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof130; case 130: - if ( (*( sm->p)) == 105 ) - goto st131; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr157; + goto tr56; st131: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof131; case 131: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 110 ) goto st132; - goto tr94; + goto tr56; st132: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof132; case 132: - if ( (*( sm->p)) == 101 ) - goto st133; - goto tr94; + if ( (*( sm->p)) == 93 ) + goto tr159; + goto tr56; st133: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof133; case 133: + if ( (*( sm->p)) == 93 ) + goto tr160; + goto tr56; +tr327: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st273; +st273: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof273; +case 273: +#line 3445 "ext/dtext/dtext.c" if ( (*( sm->p)) == 114 ) goto st134; - goto tr94; + goto tr339; st134: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof134; case 134: - if ( (*( sm->p)) == 93 ) - goto tr164; - goto tr94; + if ( (*( sm->p)) == 116 ) + goto st135; + goto tr56; st135: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof135; case 135: - if ( (*( sm->p)) == 110 ) + if ( (*( sm->p)) == 105 ) goto st136; - goto tr94; + goto tr56; st136: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof136; case 136: - if ( (*( sm->p)) == 93 ) - goto tr166; - goto tr94; + if ( (*( sm->p)) == 115 ) + goto st137; + goto tr56; st137: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof137; case 137: - if ( (*( sm->p)) == 93 ) - goto tr167; - goto tr94; -tr335: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st278; -st278: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof278; -case 278: -#line 3520 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 116 ) goto st138; - goto tr344; + goto tr56; st138: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof138; case 138: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 32 ) goto st139; - goto tr94; + goto tr56; st139: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof139; case 139: - if ( (*( sm->p)) == 105 ) + if ( (*( sm->p)) == 35 ) goto st140; - goto tr94; + goto tr56; st140: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof140; case 140: - if ( (*( sm->p)) == 115 ) + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr167; + goto tr56; +tr167: +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st274; +st274: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof274; +case 274: +#line 3508 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st274; + goto tr361; +tr328: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st275; +st275: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof275; +case 275: +#line 3520 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 111 ) goto st141; - goto tr94; + goto tr339; st141: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof141; case 141: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 109 ) goto st142; - goto tr94; + goto tr56; st142: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof142; case 142: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 109 ) goto st143; - goto tr94; + goto tr56; st143: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof143; case 143: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 101 ) goto st144; - goto tr94; + goto tr56; st144: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof144; case 144: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr174; - goto tr94; -tr174: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st279; -st279: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof279; -case 279: -#line 3583 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st279; - goto tr366; -tr336: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st280; -st280: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof280; -case 280: -#line 3595 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 110 ) goto st145; - goto tr344; + goto tr56; st145: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof145; case 145: - if ( (*( sm->p)) == 109 ) + if ( (*( sm->p)) == 116 ) goto st146; - goto tr94; + goto tr56; st146: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof146; case 146: - if ( (*( sm->p)) == 109 ) + if ( (*( sm->p)) == 32 ) goto st147; - goto tr94; + goto tr56; st147: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof147; case 147: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 35 ) goto st148; - goto tr94; + goto tr56; st148: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof148; case 148: - if ( (*( sm->p)) == 110 ) + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr175; + goto tr56; +tr175: +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st276; +st276: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof276; +case 276: +#line 3590 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st276; + goto tr364; +tr329: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st277; +st277: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof277; +case 277: +#line 3602 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 111 ) goto st149; - goto tr94; + goto tr339; st149: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof149; case 149: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 114 ) goto st150; - goto tr94; + goto tr56; st150: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof150; case 150: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 117 ) goto st151; - goto tr94; + goto tr56; st151: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof151; case 151: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 109 ) goto st152; - goto tr94; + goto tr56; st152: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof152; case 152: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr182; - goto tr94; -tr182: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st281; -st281: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof281; -case 281: -#line 3665 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st281; - goto tr369; -tr337: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st282; -st282: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof282; -case 282: -#line 3677 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 32 ) goto st153; - goto tr344; + goto tr56; st153: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof153; case 153: - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 35 ) goto st154; - goto tr94; + goto tr56; st154: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof154; case 154: - if ( (*( sm->p)) == 117 ) - goto st155; - goto tr94; -st155: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof155; -case 155: - if ( (*( sm->p)) == 109 ) - goto st156; - goto tr94; -st156: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof156; -case 156: - if ( (*( sm->p)) == 32 ) - goto st157; - goto tr94; -st157: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof157; -case 157: - if ( (*( sm->p)) == 35 ) - goto st158; - goto tr94; -st158: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof158; -case 158: if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr188; - goto tr94; -tr188: -#line 85 "ext/dtext/dtext.rl" + goto tr181; + goto tr56; +tr181: +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st283; -st283: + goto st278; +st278: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof283; -case 283: -#line 3733 "ext/dtext/dtext.c" + goto _test_eof278; +case 278: +#line 3658 "ext/dtext/dtext.c" if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st283; - goto tr372; -tr338: + goto st278; + goto tr367; +tr330: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st284; -st284: + goto st279; +st279: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof284; -case 284: -#line 3745 "ext/dtext/dtext.c" + goto _test_eof279; +case 279: +#line 3670 "ext/dtext/dtext.c" if ( (*( sm->p)) == 116 ) - goto st161; + goto st157; if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 ) - goto tr374; - goto tr344; -tr374: -#line 85 "ext/dtext/dtext.rl" + goto tr369; + goto tr339; +tr369: +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st159; -st159: + goto st155; +st155: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof159; -case 159: -#line 3761 "ext/dtext/dtext.c" + goto _test_eof155; +case 155: +#line 3686 "ext/dtext/dtext.c" if ( (*( sm->p)) == 46 ) - goto tr189; - goto tr94; -tr189: -#line 89 "ext/dtext/dtext.rl" + goto tr182; + goto tr56; +tr182: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st160; -st160: + goto st156; +st156: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof160; -case 160: -#line 3775 "ext/dtext/dtext.c" + goto _test_eof156; +case 156: +#line 3700 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr94; - case 9: goto tr191; - case 10: goto tr94; - case 13: goto tr94; - case 32: goto tr191; + case 0: goto tr56; + case 9: goto tr184; + case 10: goto tr56; + case 13: goto tr56; + case 32: goto tr184; } - goto tr190; -tr190: -#line 93 "ext/dtext/dtext.rl" + goto tr183; +tr183: +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st285; -st285: + goto st280; +st280: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof285; -case 285: -#line 3794 "ext/dtext/dtext.c" + goto _test_eof280; +case 280: +#line 3719 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr376; - case 10: goto tr376; - case 13: goto tr376; + case 0: goto tr371; + case 10: goto tr371; + case 13: goto tr371; } - goto st285; -tr191: -#line 93 "ext/dtext/dtext.rl" + goto st280; +tr184: +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st286; -st286: + goto st281; +st281: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof286; -case 286: -#line 3811 "ext/dtext/dtext.c" + goto _test_eof281; +case 281: +#line 3736 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr376; - case 9: goto tr191; - case 10: goto tr376; - case 13: goto tr376; - case 32: goto tr191; + case 0: goto tr371; + case 9: goto tr184; + case 10: goto tr371; + case 13: goto tr371; + case 32: goto tr184; } - goto tr190; + goto tr183; +st157: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof157; +case 157: + if ( (*( sm->p)) == 116 ) + goto st158; + goto tr56; +st158: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof158; +case 158: + if ( (*( sm->p)) == 112 ) + goto st159; + goto tr56; +st159: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof159; +case 159: + switch( (*( sm->p)) ) { + case 58: goto st160; + case 115: goto st163; + } + goto tr56; +st160: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof160; +case 160: + if ( (*( sm->p)) == 47 ) + goto st161; + goto tr56; st161: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof161; case 161: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 47 ) goto st162; - goto tr94; + goto tr56; st162: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof162; case 162: - if ( (*( sm->p)) == 112 ) - goto st163; - goto tr94; + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st282; + goto tr56; +st282: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof282; +case 282: + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st282; + goto tr373; st163: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof163; case 163: - switch( (*( sm->p)) ) { - case 58: goto st164; - case 115: goto st167; - } - goto tr94; + if ( (*( sm->p)) == 58 ) + goto st160; + goto tr56; +tr331: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st283; +st283: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof283; +case 283: +#line 3811 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 115 ) + goto st164; + goto tr339; st164: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof164; case 164: - if ( (*( sm->p)) == 47 ) + if ( (*( sm->p)) == 115 ) goto st165; - goto tr94; + goto tr56; st165: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof165; case 165: - if ( (*( sm->p)) == 47 ) + if ( (*( sm->p)) == 117 ) goto st166; - goto tr94; + goto tr56; st166: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof166; case 166: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st287; - goto tr94; -st287: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof287; -case 287: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st287; - goto tr378; + if ( (*( sm->p)) == 101 ) + goto st167; + goto tr56; st167: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof167; case 167: - if ( (*( sm->p)) == 58 ) - goto st164; - goto tr94; -tr339: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st288; -st288: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof288; -case 288: -#line 3886 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 115 ) + if ( (*( sm->p)) == 32 ) goto st168; - goto tr344; + goto tr56; st168: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof168; case 168: - if ( (*( sm->p)) == 115 ) + if ( (*( sm->p)) == 35 ) goto st169; - goto tr94; + goto tr56; st169: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof169; case 169: - if ( (*( sm->p)) == 117 ) - goto st170; - goto tr94; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr197; + goto tr56; +tr197: +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st284; +st284: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof284; +case 284: +#line 3867 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st284; + goto tr375; +tr332: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st285; +st285: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof285; +case 285: +#line 3879 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 105: goto st170; + case 111: goto st178; + } + goto tr339; st170: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof170; case 170: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 120 ) goto st171; - goto tr94; + goto tr56; st171: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof171; case 171: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 105 ) goto st172; - goto tr94; + goto tr56; st172: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof172; case 172: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 118 ) goto st173; - goto tr94; + goto tr56; st173: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof173; case 173: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr204; - goto tr94; -tr204: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st289; -st289: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof289; -case 289: -#line 3942 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st289; - goto tr380; -tr340: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st290; -st290: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof290; -case 290: -#line 3954 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 105: goto st174; - case 111: goto st182; - } - goto tr344; + if ( (*( sm->p)) == 32 ) + goto st174; + goto tr56; st174: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof174; case 174: - if ( (*( sm->p)) == 120 ) + if ( (*( sm->p)) == 35 ) goto st175; - goto tr94; + goto tr56; st175: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof175; case 175: - if ( (*( sm->p)) == 105 ) - goto st176; - goto tr94; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr203; + goto tr56; +tr203: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 87 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st286; +tr381: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st286; +st286: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof286; +case 286: +#line 3943 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 47 ) + goto tr380; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr381; + goto tr379; +tr380: +#line 91 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st176; st176: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof176; case 176: - if ( (*( sm->p)) == 118 ) +#line 3959 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 112 ) goto st177; - goto tr94; + goto tr204; st177: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof177; case 177: - if ( (*( sm->p)) == 32 ) - goto st178; - goto tr94; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr206; + goto tr204; +tr206: +#line 95 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st287; +st287: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof287; +case 287: +#line 3980 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st287; + goto tr382; st178: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof178; case 178: - if ( (*( sm->p)) == 35 ) - goto st179; - goto tr94; + switch( (*( sm->p)) ) { + case 111: goto st179; + case 115: goto st183; + } + goto tr56; st179: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof179; case 179: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr210; - goto tr94; -tr210: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st291; -tr386: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st291; -st291: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof291; -case 291: -#line 4018 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 47 ) - goto tr385; - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr386; - goto tr384; -tr385: -#line 89 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st180; + if ( (*( sm->p)) == 108 ) + goto st180; + goto tr56; st180: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof180; case 180: -#line 4034 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 32 ) goto st181; - goto tr211; + goto tr56; st181: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof181; case 181: + if ( (*( sm->p)) == 35 ) + goto st182; + goto tr56; +st182: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof182; +case 182: if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr213; - goto tr211; -tr213: -#line 93 "ext/dtext/dtext.rl" + goto tr212; + goto tr56; +tr212: +#line 87 "ext/dtext/dtext.rl" { - sm->b1 = sm->p; + sm->a1 = sm->p; } - goto st292; -st292: + goto st288; +st288: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof292; -case 292: -#line 4055 "ext/dtext/dtext.c" + goto _test_eof288; +case 288: +#line 4031 "ext/dtext/dtext.c" if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st292; - goto tr387; -st182: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof182; -case 182: - switch( (*( sm->p)) ) { - case 111: goto st183; - case 115: goto st187; - } - goto tr94; + goto st288; + goto tr384; st183: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof183; case 183: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 116 ) goto st184; - goto tr94; + goto tr56; st184: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof184; case 184: if ( (*( sm->p)) == 32 ) goto st185; - goto tr94; + goto tr56; st185: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof185; case 185: if ( (*( sm->p)) == 35 ) goto st186; - goto tr94; + goto tr56; st186: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof186; case 186: if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr219; - goto tr94; -tr219: -#line 85 "ext/dtext/dtext.rl" + goto tr216; + goto tr56; +tr216: +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st293; -st293: + goto st289; +st289: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof293; -case 293: -#line 4106 "ext/dtext/dtext.c" + goto _test_eof289; +case 289: +#line 4073 "ext/dtext/dtext.c" if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st293; - goto tr389; + goto st289; + goto tr386; +tr333: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st290; +st290: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof290; +case 290: +#line 4085 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 111 ) + goto st187; + goto tr339; st187: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof187; case 187: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 112 ) goto st188; - goto tr94; + goto tr56; st188: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof188; case 188: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 105 ) goto st189; - goto tr94; + goto tr56; st189: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof189; case 189: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 99 ) goto st190; - goto tr94; + goto tr56; st190: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof190; case 190: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr223; - goto tr94; -tr223: -#line 85 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st294; -st294: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof294; -case 294: -#line 4148 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st294; - goto tr391; -tr341: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st295; -st295: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof295; -case 295: -#line 4160 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 32 ) goto st191; - goto tr344; + goto tr56; st191: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof191; case 191: - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 35 ) goto st192; - goto tr94; + goto tr56; st192: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof192; case 192: - if ( (*( sm->p)) == 105 ) - goto st193; - goto tr94; -st193: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof193; -case 193: - if ( (*( sm->p)) == 99 ) - goto st194; - goto tr94; -st194: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof194; -case 194: - if ( (*( sm->p)) == 32 ) - goto st195; - goto tr94; -st195: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof195; -case 195: - if ( (*( sm->p)) == 35 ) - goto st196; - goto tr94; -st196: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof196; -case 196: if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr229; - goto tr94; -tr229: + goto tr222; + goto tr56; +tr222: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 85 "ext/dtext/dtext.rl" +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st296; -tr396: + goto st291; +tr391: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st296; -st296: + goto st291; +st291: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof296; -case 296: -#line 4222 "ext/dtext/dtext.c" + goto _test_eof291; +case 291: +#line 4147 "ext/dtext/dtext.c" if ( (*( sm->p)) == 47 ) - goto tr395; + goto tr390; if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr396; - goto tr394; -tr395: -#line 89 "ext/dtext/dtext.rl" + goto tr391; + goto tr389; +tr390: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st197; -st197: + goto st193; +st193: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof197; -case 197: -#line 4238 "ext/dtext/dtext.c" + goto _test_eof193; +case 193: +#line 4163 "ext/dtext/dtext.c" if ( (*( sm->p)) == 112 ) - goto st198; - goto tr230; -st198: + goto st194; + goto tr223; +st194: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof198; -case 198: + goto _test_eof194; +case 194: if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr232; - goto tr230; -tr232: -#line 93 "ext/dtext/dtext.rl" + goto tr225; + goto tr223; +tr225: +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st297; -st297: + goto st292; +st292: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof297; -case 297: -#line 4259 "ext/dtext/dtext.c" + goto _test_eof292; +case 292: +#line 4184 "ext/dtext/dtext.c" if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st297; - goto tr397; -tr342: + goto st292; + goto tr392; +tr334: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st298; -st298: + goto st293; +st293: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof298; -case 298: -#line 4271 "ext/dtext/dtext.c" + goto _test_eof293; +case 293: +#line 4196 "ext/dtext/dtext.c" if ( (*( sm->p)) == 115 ) - goto st199; - goto tr344; -st199: + goto st195; + goto tr339; +st195: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof199; -case 199: + goto _test_eof195; +case 195: if ( (*( sm->p)) == 101 ) - goto st200; - goto tr94; -st200: + goto st196; + goto tr56; +st196: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof200; -case 200: + goto _test_eof196; +case 196: if ( (*( sm->p)) == 114 ) - goto st201; - goto tr94; -st201: + goto st197; + goto tr56; +st197: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof201; -case 201: + goto _test_eof197; +case 197: if ( (*( sm->p)) == 32 ) - goto st202; - goto tr94; -st202: + goto st198; + goto tr56; +st198: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof202; -case 202: + goto _test_eof198; +case 198: if ( (*( sm->p)) == 35 ) - goto st203; - goto tr94; -st203: + goto st199; + goto tr56; +st199: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof203; -case 203: + goto _test_eof199; +case 199: if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr237; - goto tr94; -tr237: -#line 85 "ext/dtext/dtext.rl" + goto tr230; + goto tr56; +tr230: +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st299; -st299: + goto st294; +st294: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof299; -case 299: -#line 4320 "ext/dtext/dtext.c" + goto _test_eof294; +case 294: +#line 4245 "ext/dtext/dtext.c" if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st299; - goto tr400; -tr343: + goto st294; + goto tr395; +tr335: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st300; -st300: + goto st295; +st295: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof300; -case 300: -#line 4332 "ext/dtext/dtext.c" + goto _test_eof295; +case 295: +#line 4257 "ext/dtext/dtext.c" if ( (*( sm->p)) == 123 ) - goto st204; - goto tr344; -st204: + goto st200; + goto tr339; +st200: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof204; -case 204: + goto _test_eof200; +case 200: if ( (*( sm->p)) == 125 ) - goto tr94; - goto tr238; -tr238: -#line 85 "ext/dtext/dtext.rl" + goto tr56; + goto tr231; +tr231: +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st205; -st205: + goto st201; +st201: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof205; -case 205: -#line 4353 "ext/dtext/dtext.c" + goto _test_eof201; +case 201: +#line 4278 "ext/dtext/dtext.c" if ( (*( sm->p)) == 125 ) - goto tr240; - goto st205; -tr240: -#line 89 "ext/dtext/dtext.rl" + goto tr233; + goto st201; +tr233: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st206; -st206: + goto st202; +st202: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof206; -case 206: -#line 4367 "ext/dtext/dtext.c" + goto _test_eof202; +case 202: +#line 4292 "ext/dtext/dtext.c" if ( (*( sm->p)) == 125 ) - goto tr241; - goto tr94; -tr242: -#line 630 "ext/dtext/dtext.rl" + goto tr234; + goto tr56; +tr235: +#line 645 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st301; -tr247: -#line 616 "ext/dtext/dtext.rl" + goto st296; +tr240: +#line 631 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_CODE)) { dstack_rewind(sm); } else { - append(sm, "[/code]"); + append(sm, true, "[/code]"); } { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st301; -tr403: -#line 630 "ext/dtext/dtext.rl" + goto st296; +tr398: +#line 645 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st301; -tr404: -#line 625 "ext/dtext/dtext.rl" + goto st296; +tr399: +#line 640 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st301; -tr406: -#line 630 "ext/dtext/dtext.rl" + goto st296; +tr401: +#line 645 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st301; -st301: + goto st296; +st296: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof301; -case 301: + goto _test_eof296; +case 296: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4415 "ext/dtext/dtext.c" +#line 4340 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr404; - case 91: goto tr405; + case 0: goto tr399; + case 91: goto tr400; } - goto tr403; -tr405: + goto tr398; +tr400: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st302; -st302: + goto st297; +st297: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof302; -case 302: -#line 4429 "ext/dtext/dtext.c" + goto _test_eof297; +case 297: +#line 4354 "ext/dtext/dtext.c" if ( (*( sm->p)) == 47 ) - goto st207; - goto tr406; -st207: + goto st203; + goto tr401; +st203: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof207; -case 207: + goto _test_eof203; +case 203: if ( (*( sm->p)) == 99 ) - goto st208; - goto tr242; -st208: + goto st204; + goto tr235; +st204: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof208; -case 208: + goto _test_eof204; +case 204: if ( (*( sm->p)) == 111 ) - goto st209; - goto tr242; -st209: + goto st205; + goto tr235; +st205: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof209; -case 209: + goto _test_eof205; +case 205: if ( (*( sm->p)) == 100 ) - goto st210; - goto tr242; -st210: + goto st206; + goto tr235; +st206: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof210; -case 210: + goto _test_eof206; +case 206: if ( (*( sm->p)) == 101 ) - goto st211; - goto tr242; -st211: + goto st207; + goto tr235; +st207: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof211; -case 211: + goto _test_eof207; +case 207: if ( (*( sm->p)) == 93 ) - goto tr247; - goto tr242; -tr248: -#line 657 "ext/dtext/dtext.rl" + goto tr240; + goto tr235; +tr241: +#line 672 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st303; -tr256: -#line 636 "ext/dtext/dtext.rl" + goto st298; +tr249: +#line 651 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_NODTEXT)) { dstack_pop(sm); append_newline(sm); append_closing_p(sm); @@ -4482,184 +4407,184 @@ { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else if (dstack_check(sm, INLINE_NODTEXT)) { dstack_pop(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - append(sm, "[/nodtext]"); + append(sm, true, "[/nodtext]"); } }} - goto st303; -tr408: -#line 657 "ext/dtext/dtext.rl" + goto st298; +tr403: +#line 672 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st303; -tr409: -#line 652 "ext/dtext/dtext.rl" + goto st298; +tr404: +#line 667 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st303; -tr411: -#line 657 "ext/dtext/dtext.rl" + goto st298; +tr406: +#line 672 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st303; -st303: + goto st298; +st298: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof303; -case 303: + goto _test_eof298; +case 298: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4519 "ext/dtext/dtext.c" +#line 4444 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr409; - case 91: goto tr410; + case 0: goto tr404; + case 91: goto tr405; } - goto tr408; -tr410: + goto tr403; +tr405: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st304; -st304: + goto st299; +st299: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof304; -case 304: -#line 4533 "ext/dtext/dtext.c" + goto _test_eof299; +case 299: +#line 4458 "ext/dtext/dtext.c" if ( (*( sm->p)) == 47 ) + goto st208; + goto tr406; +st208: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof208; +case 208: + if ( (*( sm->p)) == 110 ) + goto st209; + goto tr241; +st209: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof209; +case 209: + if ( (*( sm->p)) == 111 ) + goto st210; + goto tr241; +st210: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof210; +case 210: + if ( (*( sm->p)) == 100 ) + goto st211; + goto tr241; +st211: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof211; +case 211: + if ( (*( sm->p)) == 116 ) goto st212; - goto tr411; + goto tr241; st212: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof212; case 212: - if ( (*( sm->p)) == 110 ) + if ( (*( sm->p)) == 101 ) goto st213; - goto tr248; + goto tr241; st213: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof213; case 213: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 120 ) goto st214; - goto tr248; + goto tr241; st214: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof214; case 214: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 116 ) goto st215; - goto tr248; + goto tr241; st215: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof215; case 215: - if ( (*( sm->p)) == 116 ) - goto st216; - goto tr248; -st216: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof216; -case 216: - if ( (*( sm->p)) == 101 ) - goto st217; - goto tr248; -st217: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof217; -case 217: - if ( (*( sm->p)) == 120 ) - goto st218; - goto tr248; -st218: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof218; -case 218: - if ( (*( sm->p)) == 116 ) - goto st219; - goto tr248; -st219: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof219; -case 219: if ( (*( sm->p)) == 93 ) - goto tr256; - goto tr248; -tr257: -#line 751 "ext/dtext/dtext.rl" + goto tr249; + goto tr241; +tr250: +#line 766 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}} - goto st305; -tr266: -#line 733 "ext/dtext/dtext.rl" + goto st300; +tr259: +#line 748 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TABLE)) { dstack_pop(sm); append_newline(sm); append_block(sm, "</table>"); append_newline(sm); append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - append(sm, "[/table]"); + append(sm, true, "[/table]"); } }} - goto st305; -tr270: -#line 688 "ext/dtext/dtext.rl" + goto st300; +tr263: +#line 703 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TBODY)) { dstack_pop(sm); append_newline(sm); append_block(sm, "</tbody>"); append_newline(sm); } else { - append(sm, "[/tbody]"); + append(sm, true, "[/tbody]"); } }} - goto st305; -tr274: -#line 670 "ext/dtext/dtext.rl" + goto st300; +tr267: +#line 685 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_THEAD)) { dstack_pop(sm); append_newline(sm); append_block(sm, "</thead>"); append_newline(sm); } else { - append(sm, "[/thead]"); + append(sm, true, "[/thead]"); } }} - goto st305; -tr275: -#line 714 "ext/dtext/dtext.rl" + goto st300; +tr268: +#line 729 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TR)) { dstack_pop(sm); append_newline(sm); append_block(sm, "</tr>"); append_newline(sm); } else { - append(sm, "[/tr]"); + append(sm, true, "[/tr]"); } }} - goto st305; -tr283: -#line 681 "ext/dtext/dtext.rl" + goto st300; +tr276: +#line 696 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TBODY); append_newline(sm); append_block(sm, "<tbody>"); append_newline(sm); }} - goto st305; -tr284: -#line 725 "ext/dtext/dtext.rl" + goto st300; +tr277: +#line 740 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TD); append_newline(sm); append_block(sm, "<td>"); append_newline(sm); @@ -4672,15 +4597,15 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 305; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 300; goto st260;}} }} - goto st305; -tr285: -#line 699 "ext/dtext/dtext.rl" + goto st300; +tr278: +#line 714 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TH); append_newline(sm); append_block(sm, "<th>"); append_newline(sm); @@ -4693,291 +4618,291 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 305; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 300; goto st260;}} }} - goto st305; -tr289: -#line 663 "ext/dtext/dtext.rl" + goto st300; +tr282: +#line 678 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_THEAD); append_newline(sm); append_block(sm, "<thead>"); append_newline(sm); }} - goto st305; -tr290: -#line 707 "ext/dtext/dtext.rl" + goto st300; +tr283: +#line 722 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TR); append_newline(sm); append_block(sm, "<tr>"); append_newline(sm); }} - goto st305; -tr413: -#line 751 "ext/dtext/dtext.rl" + goto st300; +tr408: +#line 766 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;} - goto st305; -tr414: -#line 746 "ext/dtext/dtext.rl" + goto st300; +tr409: +#line 761 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st305; -tr416: -#line 751 "ext/dtext/dtext.rl" + goto st300; +tr411: +#line 766 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;} - goto st305; -st305: + goto st300; +st300: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof305; -case 305: + goto _test_eof300; +case 300: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4743 "ext/dtext/dtext.c" +#line 4668 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr414; - case 91: goto tr415; + case 0: goto tr409; + case 91: goto tr410; } - goto tr413; -tr415: + goto tr408; +tr410: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st306; -st306: + goto st301; +st301: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof306; -case 306: -#line 4757 "ext/dtext/dtext.c" + goto _test_eof301; +case 301: +#line 4682 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 47: goto st220; - case 116: goto st235; + case 47: goto st216; + case 116: goto st231; } - goto tr416; + goto tr411; +st216: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof216; +case 216: + if ( (*( sm->p)) == 116 ) + goto st217; + goto tr250; +st217: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof217; +case 217: + switch( (*( sm->p)) ) { + case 97: goto st218; + case 98: goto st222; + case 104: goto st226; + case 114: goto st230; + } + goto tr250; +st218: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof218; +case 218: + if ( (*( sm->p)) == 98 ) + goto st219; + goto tr250; +st219: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof219; +case 219: + if ( (*( sm->p)) == 108 ) + goto st220; + goto tr250; st220: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof220; case 220: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 101 ) goto st221; - goto tr257; + goto tr250; st221: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof221; case 221: - switch( (*( sm->p)) ) { - case 97: goto st222; - case 98: goto st226; - case 104: goto st230; - case 114: goto st234; - } - goto tr257; + if ( (*( sm->p)) == 93 ) + goto tr259; + goto tr250; st222: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof222; case 222: - if ( (*( sm->p)) == 98 ) + if ( (*( sm->p)) == 111 ) goto st223; - goto tr257; + goto tr250; st223: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof223; case 223: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 100 ) goto st224; - goto tr257; + goto tr250; st224: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof224; case 224: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 121 ) goto st225; - goto tr257; + goto tr250; st225: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof225; case 225: if ( (*( sm->p)) == 93 ) - goto tr266; - goto tr257; + goto tr263; + goto tr250; st226: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof226; case 226: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 101 ) goto st227; - goto tr257; + goto tr250; st227: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof227; case 227: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 97 ) goto st228; - goto tr257; + goto tr250; st228: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof228; case 228: - if ( (*( sm->p)) == 121 ) + if ( (*( sm->p)) == 100 ) goto st229; - goto tr257; + goto tr250; st229: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof229; case 229: if ( (*( sm->p)) == 93 ) - goto tr270; - goto tr257; + goto tr267; + goto tr250; st230: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof230; case 230: - if ( (*( sm->p)) == 101 ) - goto st231; - goto tr257; + if ( (*( sm->p)) == 93 ) + goto tr268; + goto tr250; st231: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof231; case 231: - if ( (*( sm->p)) == 97 ) - goto st232; - goto tr257; + switch( (*( sm->p)) ) { + case 98: goto st232; + case 100: goto st236; + case 104: goto st237; + case 114: goto st241; + } + goto tr250; st232: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof232; case 232: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 111 ) goto st233; - goto tr257; + goto tr250; st233: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof233; case 233: - if ( (*( sm->p)) == 93 ) - goto tr274; - goto tr257; + if ( (*( sm->p)) == 100 ) + goto st234; + goto tr250; st234: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof234; case 234: - if ( (*( sm->p)) == 93 ) - goto tr275; - goto tr257; + if ( (*( sm->p)) == 121 ) + goto st235; + goto tr250; st235: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof235; case 235: - switch( (*( sm->p)) ) { - case 98: goto st236; - case 100: goto st240; - case 104: goto st241; - case 114: goto st245; - } - goto tr257; + if ( (*( sm->p)) == 93 ) + goto tr276; + goto tr250; st236: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof236; case 236: - if ( (*( sm->p)) == 111 ) - goto st237; - goto tr257; + if ( (*( sm->p)) == 93 ) + goto tr277; + goto tr250; st237: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof237; case 237: - if ( (*( sm->p)) == 100 ) - goto st238; - goto tr257; + switch( (*( sm->p)) ) { + case 93: goto tr278; + case 101: goto st238; + } + goto tr250; st238: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof238; case 238: - if ( (*( sm->p)) == 121 ) + if ( (*( sm->p)) == 97 ) goto st239; - goto tr257; + goto tr250; st239: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof239; case 239: - if ( (*( sm->p)) == 93 ) - goto tr283; - goto tr257; + if ( (*( sm->p)) == 100 ) + goto st240; + goto tr250; st240: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof240; case 240: if ( (*( sm->p)) == 93 ) - goto tr284; - goto tr257; + goto tr282; + goto tr250; st241: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof241; case 241: - switch( (*( sm->p)) ) { - case 93: goto tr285; - case 101: goto st242; - } - goto tr257; -st242: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof242; -case 242: - if ( (*( sm->p)) == 97 ) - goto st243; - goto tr257; -st243: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof243; -case 243: - if ( (*( sm->p)) == 100 ) - goto st244; - goto tr257; -st244: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof244; -case 244: if ( (*( sm->p)) == 93 ) - goto tr289; - goto tr257; -st245: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof245; -case 245: - if ( (*( sm->p)) == 93 ) - goto tr290; - goto tr257; -tr291: -#line 802 "ext/dtext/dtext.rl" + goto tr283; + goto tr250; +tr284: +#line 819 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ dstack_rewind(sm); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st307; -tr419: -#line 802 "ext/dtext/dtext.rl" + goto st302; +tr414: +#line 819 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_rewind(sm); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st307; -tr420: -#line 794 "ext/dtext/dtext.rl" + goto st302; +tr415: +#line 811 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_rewind(sm); {( sm->p) = (( sm->ts))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st307; -tr424: + goto st302; +tr419: #line 1 "NONE" { switch( ( sm->act) ) { case 63: {{( sm->p) = ((( sm->te)))-1;} dstack_rewind(sm); @@ -4988,47 +4913,49 @@ default: {{( sm->p) = ((( sm->te)))-1;}} break; } } - goto st307; -tr426: -#line 800 "ext/dtext/dtext.rl" + goto st302; +tr421: +#line 817 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;} - goto st307; -tr427: -#line 802 "ext/dtext/dtext.rl" + goto st302; +tr422: +#line 819 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_rewind(sm); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st307; -tr428: -#line 97 "ext/dtext/dtext.rl" + goto st302; +tr423: +#line 99 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 755 "ext/dtext/dtext.rl" +#line 770 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ + int prev_nest = sm->list_nest; g_debug("list start"); - int prev_nest = sm->list_nest; sm->list_mode = true; sm->list_nest = sm->a2 - sm->a1; {( sm->p) = (( sm->b1))-1;} if (sm->list_nest > prev_nest) { - for (int i=prev_nest; i<sm->list_nest; ++i) { + int i=0; + for (i=prev_nest; i<sm->list_nest; ++i) { g_debug(" dstack push ul"); g_debug(" print <ul>"); append_block(sm, "<ul>"); append_newline(sm); dstack_push(sm, &BLOCK_UL); } } else if (sm->list_nest < prev_nest) { - for (int i=sm->list_nest; i<prev_nest; ++i) { + int i=0; + for (i=sm->list_nest; i<prev_nest; ++i) { if (dstack_check(sm, BLOCK_UL)) { g_debug(" dstack pop"); g_debug(" print </ul>"); dstack_pop(sm); append_block(sm, "</ul>"); @@ -5053,154 +4980,154 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 307; goto st264;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 302; goto st260;}} }} - goto st307; -st307: + goto st302; +st302: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof307; -case 307: + goto _test_eof302; +case 302: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 5070 "ext/dtext/dtext.c" +#line 4997 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr420; - case 10: goto tr421; - case 13: goto st309; - case 42: goto tr423; + case 0: goto tr415; + case 10: goto tr416; + case 13: goto st304; + case 42: goto tr418; } - goto tr419; -tr421: + goto tr414; +tr416: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 800 "ext/dtext/dtext.rl" +#line 817 "ext/dtext/dtext.rl" {( sm->act) = 64;} - goto st308; -tr425: + goto st303; +tr420: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 794 "ext/dtext/dtext.rl" +#line 811 "ext/dtext/dtext.rl" {( sm->act) = 63;} - goto st308; -st308: + goto st303; +st303: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof308; -case 308: -#line 5094 "ext/dtext/dtext.c" + goto _test_eof303; +case 303: +#line 5021 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 10: goto tr425; - case 13: goto tr425; + case 10: goto tr420; + case 13: goto tr420; } - goto tr424; -st309: + goto tr419; +st304: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof309; -case 309: + goto _test_eof304; +case 304: switch( (*( sm->p)) ) { - case 10: goto tr425; - case 13: goto tr425; + case 10: goto tr420; + case 13: goto tr420; } - goto tr426; -tr423: + goto tr421; +tr418: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 85 "ext/dtext/dtext.rl" +#line 87 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st310; -st310: + goto st305; +st305: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof310; -case 310: -#line 5121 "ext/dtext/dtext.c" + goto _test_eof305; +case 305: +#line 5048 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 9: goto tr294; - case 32: goto tr294; - case 42: goto st247; + case 9: goto tr287; + case 32: goto tr287; + case 42: goto st243; } - goto tr427; -tr294: -#line 89 "ext/dtext/dtext.rl" + goto tr422; +tr287: +#line 91 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st246; -st246: + goto st242; +st242: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof246; -case 246: -#line 5138 "ext/dtext/dtext.c" + goto _test_eof242; +case 242: +#line 5065 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr291; - case 9: goto tr293; - case 10: goto tr291; - case 13: goto tr291; - case 32: goto tr293; + case 0: goto tr284; + case 9: goto tr286; + case 10: goto tr284; + case 13: goto tr284; + case 32: goto tr286; } - goto tr292; -tr292: -#line 93 "ext/dtext/dtext.rl" + goto tr285; +tr285: +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st311; -st311: + goto st306; +st306: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof311; -case 311: -#line 5157 "ext/dtext/dtext.c" + goto _test_eof306; +case 306: +#line 5084 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr428; - case 10: goto tr428; - case 13: goto tr428; + case 0: goto tr423; + case 10: goto tr423; + case 13: goto tr423; } - goto st311; -tr293: -#line 93 "ext/dtext/dtext.rl" + goto st306; +tr286: +#line 95 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st312; -st312: + goto st307; +st307: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof312; -case 312: -#line 5174 "ext/dtext/dtext.c" + goto _test_eof307; +case 307: +#line 5101 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr428; - case 9: goto tr293; - case 10: goto tr428; - case 13: goto tr428; - case 32: goto tr293; + case 0: goto tr423; + case 9: goto tr286; + case 10: goto tr423; + case 13: goto tr423; + case 32: goto tr286; } - goto tr292; -st247: + goto tr285; +st243: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof247; -case 247: + goto _test_eof243; +case 243: switch( (*( sm->p)) ) { - case 9: goto tr294; - case 32: goto tr294; - case 42: goto st247; + case 9: goto tr287; + case 32: goto tr287; + case 42: goto st243; } - goto tr291; + goto tr284; } + _test_eof244: sm->cs = 244; goto _test_eof; + _test_eof245: sm->cs = 245; goto _test_eof; + _test_eof246: sm->cs = 246; goto _test_eof; + _test_eof247: sm->cs = 247; goto _test_eof; + _test_eof0: sm->cs = 0; goto _test_eof; _test_eof248: sm->cs = 248; goto _test_eof; _test_eof249: sm->cs = 249; goto _test_eof; - _test_eof250: sm->cs = 250; goto _test_eof; - _test_eof251: sm->cs = 251; goto _test_eof; - _test_eof0: sm->cs = 0; goto _test_eof; - _test_eof252: sm->cs = 252; goto _test_eof; - _test_eof253: sm->cs = 253; goto _test_eof; _test_eof1: sm->cs = 1; goto _test_eof; - _test_eof254: sm->cs = 254; goto _test_eof; + _test_eof250: sm->cs = 250; goto _test_eof; _test_eof2: sm->cs = 2; goto _test_eof; _test_eof3: sm->cs = 3; goto _test_eof; _test_eof4: sm->cs = 4; goto _test_eof; _test_eof5: sm->cs = 5; goto _test_eof; _test_eof6: sm->cs = 6; goto _test_eof; @@ -5209,60 +5136,63 @@ _test_eof9: sm->cs = 9; goto _test_eof; _test_eof10: sm->cs = 10; goto _test_eof; _test_eof11: sm->cs = 11; goto _test_eof; _test_eof12: sm->cs = 12; goto _test_eof; _test_eof13: sm->cs = 13; goto _test_eof; - _test_eof255: sm->cs = 255; goto _test_eof; + _test_eof251: sm->cs = 251; goto _test_eof; _test_eof14: sm->cs = 14; goto _test_eof; _test_eof15: sm->cs = 15; goto _test_eof; _test_eof16: sm->cs = 16; goto _test_eof; _test_eof17: sm->cs = 17; goto _test_eof; _test_eof18: sm->cs = 18; goto _test_eof; _test_eof19: sm->cs = 19; goto _test_eof; _test_eof20: sm->cs = 20; goto _test_eof; _test_eof21: sm->cs = 21; goto _test_eof; - _test_eof256: sm->cs = 256; goto _test_eof; - _test_eof257: sm->cs = 257; goto _test_eof; + _test_eof252: sm->cs = 252; goto _test_eof; + _test_eof253: sm->cs = 253; goto _test_eof; _test_eof22: sm->cs = 22; goto _test_eof; _test_eof23: sm->cs = 23; goto _test_eof; _test_eof24: sm->cs = 24; goto _test_eof; _test_eof25: sm->cs = 25; goto _test_eof; _test_eof26: sm->cs = 26; goto _test_eof; _test_eof27: sm->cs = 27; goto _test_eof; _test_eof28: sm->cs = 28; goto _test_eof; - _test_eof258: sm->cs = 258; goto _test_eof; + _test_eof254: sm->cs = 254; goto _test_eof; _test_eof29: sm->cs = 29; goto _test_eof; _test_eof30: sm->cs = 30; goto _test_eof; _test_eof31: sm->cs = 31; goto _test_eof; _test_eof32: sm->cs = 32; goto _test_eof; _test_eof33: sm->cs = 33; goto _test_eof; - _test_eof259: sm->cs = 259; goto _test_eof; + _test_eof255: sm->cs = 255; goto _test_eof; _test_eof34: sm->cs = 34; goto _test_eof; _test_eof35: sm->cs = 35; goto _test_eof; _test_eof36: sm->cs = 36; goto _test_eof; _test_eof37: sm->cs = 37; goto _test_eof; _test_eof38: sm->cs = 38; goto _test_eof; _test_eof39: sm->cs = 39; goto _test_eof; _test_eof40: sm->cs = 40; goto _test_eof; - _test_eof260: sm->cs = 260; goto _test_eof; + _test_eof256: sm->cs = 256; goto _test_eof; _test_eof41: sm->cs = 41; goto _test_eof; _test_eof42: sm->cs = 42; goto _test_eof; _test_eof43: sm->cs = 43; goto _test_eof; _test_eof44: sm->cs = 44; goto _test_eof; _test_eof45: sm->cs = 45; goto _test_eof; _test_eof46: sm->cs = 46; goto _test_eof; - _test_eof261: sm->cs = 261; goto _test_eof; + _test_eof257: sm->cs = 257; goto _test_eof; _test_eof47: sm->cs = 47; goto _test_eof; _test_eof48: sm->cs = 48; goto _test_eof; + _test_eof258: sm->cs = 258; goto _test_eof; + _test_eof259: sm->cs = 259; goto _test_eof; + _test_eof260: sm->cs = 260; goto _test_eof; + _test_eof261: sm->cs = 261; goto _test_eof; _test_eof262: sm->cs = 262; goto _test_eof; _test_eof263: sm->cs = 263; goto _test_eof; - _test_eof264: sm->cs = 264; goto _test_eof; - _test_eof265: sm->cs = 265; goto _test_eof; _test_eof49: sm->cs = 49; goto _test_eof; _test_eof50: sm->cs = 50; goto _test_eof; _test_eof51: sm->cs = 51; goto _test_eof; _test_eof52: sm->cs = 52; goto _test_eof; + _test_eof264: sm->cs = 264; goto _test_eof; _test_eof53: sm->cs = 53; goto _test_eof; _test_eof54: sm->cs = 54; goto _test_eof; _test_eof55: sm->cs = 55; goto _test_eof; _test_eof56: sm->cs = 56; goto _test_eof; _test_eof57: sm->cs = 57; goto _test_eof; @@ -5276,31 +5206,34 @@ _test_eof65: sm->cs = 65; goto _test_eof; _test_eof66: sm->cs = 66; goto _test_eof; _test_eof67: sm->cs = 67; goto _test_eof; _test_eof68: sm->cs = 68; goto _test_eof; _test_eof69: sm->cs = 69; goto _test_eof; + _test_eof265: sm->cs = 265; goto _test_eof; _test_eof70: sm->cs = 70; goto _test_eof; + _test_eof266: sm->cs = 266; goto _test_eof; + _test_eof267: sm->cs = 267; goto _test_eof; _test_eof71: sm->cs = 71; goto _test_eof; + _test_eof268: sm->cs = 268; goto _test_eof; + _test_eof269: sm->cs = 269; goto _test_eof; + _test_eof270: sm->cs = 270; goto _test_eof; + _test_eof271: sm->cs = 271; goto _test_eof; _test_eof72: sm->cs = 72; goto _test_eof; _test_eof73: sm->cs = 73; goto _test_eof; _test_eof74: sm->cs = 74; goto _test_eof; _test_eof75: sm->cs = 75; goto _test_eof; - _test_eof266: sm->cs = 266; goto _test_eof; _test_eof76: sm->cs = 76; goto _test_eof; _test_eof77: sm->cs = 77; goto _test_eof; _test_eof78: sm->cs = 78; goto _test_eof; _test_eof79: sm->cs = 79; goto _test_eof; _test_eof80: sm->cs = 80; goto _test_eof; - _test_eof267: sm->cs = 267; goto _test_eof; - _test_eof268: sm->cs = 268; goto _test_eof; - _test_eof269: sm->cs = 269; goto _test_eof; _test_eof81: sm->cs = 81; goto _test_eof; _test_eof82: sm->cs = 82; goto _test_eof; _test_eof83: sm->cs = 83; goto _test_eof; _test_eof84: sm->cs = 84; goto _test_eof; - _test_eof270: sm->cs = 270; goto _test_eof; _test_eof85: sm->cs = 85; goto _test_eof; + _test_eof272: sm->cs = 272; goto _test_eof; _test_eof86: sm->cs = 86; goto _test_eof; _test_eof87: sm->cs = 87; goto _test_eof; _test_eof88: sm->cs = 88; goto _test_eof; _test_eof89: sm->cs = 89; goto _test_eof; _test_eof90: sm->cs = 90; goto _test_eof; @@ -5313,19 +5246,12 @@ _test_eof97: sm->cs = 97; goto _test_eof; _test_eof98: sm->cs = 98; goto _test_eof; _test_eof99: sm->cs = 99; goto _test_eof; _test_eof100: sm->cs = 100; goto _test_eof; _test_eof101: sm->cs = 101; goto _test_eof; - _test_eof271: sm->cs = 271; goto _test_eof; _test_eof102: sm->cs = 102; goto _test_eof; - _test_eof272: sm->cs = 272; goto _test_eof; - _test_eof273: sm->cs = 273; goto _test_eof; _test_eof103: sm->cs = 103; goto _test_eof; - _test_eof274: sm->cs = 274; goto _test_eof; - _test_eof275: sm->cs = 275; goto _test_eof; - _test_eof276: sm->cs = 276; goto _test_eof; - _test_eof277: sm->cs = 277; goto _test_eof; _test_eof104: sm->cs = 104; goto _test_eof; _test_eof105: sm->cs = 105; goto _test_eof; _test_eof106: sm->cs = 106; goto _test_eof; _test_eof107: sm->cs = 107; goto _test_eof; _test_eof108: sm->cs = 108; goto _test_eof; @@ -5352,125 +5278,125 @@ _test_eof129: sm->cs = 129; goto _test_eof; _test_eof130: sm->cs = 130; goto _test_eof; _test_eof131: sm->cs = 131; goto _test_eof; _test_eof132: sm->cs = 132; goto _test_eof; _test_eof133: sm->cs = 133; goto _test_eof; + _test_eof273: sm->cs = 273; goto _test_eof; _test_eof134: sm->cs = 134; goto _test_eof; _test_eof135: sm->cs = 135; goto _test_eof; _test_eof136: sm->cs = 136; goto _test_eof; _test_eof137: sm->cs = 137; goto _test_eof; - _test_eof278: sm->cs = 278; goto _test_eof; _test_eof138: sm->cs = 138; goto _test_eof; _test_eof139: sm->cs = 139; goto _test_eof; _test_eof140: sm->cs = 140; goto _test_eof; + _test_eof274: sm->cs = 274; goto _test_eof; + _test_eof275: sm->cs = 275; goto _test_eof; _test_eof141: sm->cs = 141; goto _test_eof; _test_eof142: sm->cs = 142; goto _test_eof; _test_eof143: sm->cs = 143; goto _test_eof; _test_eof144: sm->cs = 144; goto _test_eof; - _test_eof279: sm->cs = 279; goto _test_eof; - _test_eof280: sm->cs = 280; goto _test_eof; _test_eof145: sm->cs = 145; goto _test_eof; _test_eof146: sm->cs = 146; goto _test_eof; _test_eof147: sm->cs = 147; goto _test_eof; _test_eof148: sm->cs = 148; goto _test_eof; + _test_eof276: sm->cs = 276; goto _test_eof; + _test_eof277: sm->cs = 277; goto _test_eof; _test_eof149: sm->cs = 149; goto _test_eof; _test_eof150: sm->cs = 150; goto _test_eof; _test_eof151: sm->cs = 151; goto _test_eof; _test_eof152: sm->cs = 152; goto _test_eof; - _test_eof281: sm->cs = 281; goto _test_eof; - _test_eof282: sm->cs = 282; goto _test_eof; _test_eof153: sm->cs = 153; goto _test_eof; _test_eof154: sm->cs = 154; goto _test_eof; + _test_eof278: sm->cs = 278; goto _test_eof; + _test_eof279: sm->cs = 279; goto _test_eof; _test_eof155: sm->cs = 155; goto _test_eof; _test_eof156: sm->cs = 156; goto _test_eof; + _test_eof280: sm->cs = 280; goto _test_eof; + _test_eof281: sm->cs = 281; goto _test_eof; _test_eof157: sm->cs = 157; goto _test_eof; _test_eof158: sm->cs = 158; goto _test_eof; - _test_eof283: sm->cs = 283; goto _test_eof; - _test_eof284: sm->cs = 284; goto _test_eof; _test_eof159: sm->cs = 159; goto _test_eof; _test_eof160: sm->cs = 160; goto _test_eof; - _test_eof285: sm->cs = 285; goto _test_eof; - _test_eof286: sm->cs = 286; goto _test_eof; _test_eof161: sm->cs = 161; goto _test_eof; _test_eof162: sm->cs = 162; goto _test_eof; + _test_eof282: sm->cs = 282; goto _test_eof; _test_eof163: sm->cs = 163; goto _test_eof; + _test_eof283: sm->cs = 283; goto _test_eof; _test_eof164: sm->cs = 164; goto _test_eof; _test_eof165: sm->cs = 165; goto _test_eof; _test_eof166: sm->cs = 166; goto _test_eof; - _test_eof287: sm->cs = 287; goto _test_eof; _test_eof167: sm->cs = 167; goto _test_eof; - _test_eof288: sm->cs = 288; goto _test_eof; _test_eof168: sm->cs = 168; goto _test_eof; _test_eof169: sm->cs = 169; goto _test_eof; + _test_eof284: sm->cs = 284; goto _test_eof; + _test_eof285: sm->cs = 285; goto _test_eof; _test_eof170: sm->cs = 170; goto _test_eof; _test_eof171: sm->cs = 171; goto _test_eof; _test_eof172: sm->cs = 172; goto _test_eof; _test_eof173: sm->cs = 173; goto _test_eof; - _test_eof289: sm->cs = 289; goto _test_eof; - _test_eof290: sm->cs = 290; goto _test_eof; _test_eof174: sm->cs = 174; goto _test_eof; _test_eof175: sm->cs = 175; goto _test_eof; + _test_eof286: sm->cs = 286; goto _test_eof; _test_eof176: sm->cs = 176; goto _test_eof; _test_eof177: sm->cs = 177; goto _test_eof; + _test_eof287: sm->cs = 287; goto _test_eof; _test_eof178: sm->cs = 178; goto _test_eof; _test_eof179: sm->cs = 179; goto _test_eof; - _test_eof291: sm->cs = 291; goto _test_eof; _test_eof180: sm->cs = 180; goto _test_eof; _test_eof181: sm->cs = 181; goto _test_eof; - _test_eof292: sm->cs = 292; goto _test_eof; _test_eof182: sm->cs = 182; goto _test_eof; + _test_eof288: sm->cs = 288; goto _test_eof; _test_eof183: sm->cs = 183; goto _test_eof; _test_eof184: sm->cs = 184; goto _test_eof; _test_eof185: sm->cs = 185; goto _test_eof; _test_eof186: sm->cs = 186; goto _test_eof; - _test_eof293: sm->cs = 293; goto _test_eof; + _test_eof289: sm->cs = 289; goto _test_eof; + _test_eof290: sm->cs = 290; goto _test_eof; _test_eof187: sm->cs = 187; goto _test_eof; _test_eof188: sm->cs = 188; goto _test_eof; _test_eof189: sm->cs = 189; goto _test_eof; _test_eof190: sm->cs = 190; goto _test_eof; - _test_eof294: sm->cs = 294; goto _test_eof; - _test_eof295: sm->cs = 295; goto _test_eof; _test_eof191: sm->cs = 191; goto _test_eof; _test_eof192: sm->cs = 192; goto _test_eof; + _test_eof291: sm->cs = 291; goto _test_eof; _test_eof193: sm->cs = 193; goto _test_eof; _test_eof194: sm->cs = 194; goto _test_eof; + _test_eof292: sm->cs = 292; goto _test_eof; + _test_eof293: sm->cs = 293; goto _test_eof; _test_eof195: sm->cs = 195; goto _test_eof; _test_eof196: sm->cs = 196; goto _test_eof; - _test_eof296: sm->cs = 296; goto _test_eof; _test_eof197: sm->cs = 197; goto _test_eof; _test_eof198: sm->cs = 198; goto _test_eof; - _test_eof297: sm->cs = 297; goto _test_eof; - _test_eof298: sm->cs = 298; goto _test_eof; _test_eof199: sm->cs = 199; goto _test_eof; + _test_eof294: sm->cs = 294; goto _test_eof; + _test_eof295: sm->cs = 295; goto _test_eof; _test_eof200: sm->cs = 200; goto _test_eof; _test_eof201: sm->cs = 201; goto _test_eof; _test_eof202: sm->cs = 202; goto _test_eof; + _test_eof296: sm->cs = 296; goto _test_eof; + _test_eof297: sm->cs = 297; goto _test_eof; _test_eof203: sm->cs = 203; goto _test_eof; - _test_eof299: sm->cs = 299; goto _test_eof; - _test_eof300: sm->cs = 300; goto _test_eof; _test_eof204: sm->cs = 204; goto _test_eof; _test_eof205: sm->cs = 205; goto _test_eof; _test_eof206: sm->cs = 206; goto _test_eof; - _test_eof301: sm->cs = 301; goto _test_eof; - _test_eof302: sm->cs = 302; goto _test_eof; _test_eof207: sm->cs = 207; goto _test_eof; + _test_eof298: sm->cs = 298; goto _test_eof; + _test_eof299: sm->cs = 299; goto _test_eof; _test_eof208: sm->cs = 208; goto _test_eof; _test_eof209: sm->cs = 209; goto _test_eof; _test_eof210: sm->cs = 210; goto _test_eof; _test_eof211: sm->cs = 211; goto _test_eof; - _test_eof303: sm->cs = 303; goto _test_eof; - _test_eof304: sm->cs = 304; goto _test_eof; _test_eof212: sm->cs = 212; goto _test_eof; _test_eof213: sm->cs = 213; goto _test_eof; _test_eof214: sm->cs = 214; goto _test_eof; _test_eof215: sm->cs = 215; goto _test_eof; + _test_eof300: sm->cs = 300; goto _test_eof; + _test_eof301: sm->cs = 301; goto _test_eof; _test_eof216: sm->cs = 216; goto _test_eof; _test_eof217: sm->cs = 217; goto _test_eof; _test_eof218: sm->cs = 218; goto _test_eof; _test_eof219: sm->cs = 219; goto _test_eof; - _test_eof305: sm->cs = 305; goto _test_eof; - _test_eof306: sm->cs = 306; goto _test_eof; _test_eof220: sm->cs = 220; goto _test_eof; _test_eof221: sm->cs = 221; goto _test_eof; _test_eof222: sm->cs = 222; goto _test_eof; _test_eof223: sm->cs = 223; goto _test_eof; _test_eof224: sm->cs = 224; goto _test_eof; @@ -5489,35 +5415,31 @@ _test_eof237: sm->cs = 237; goto _test_eof; _test_eof238: sm->cs = 238; goto _test_eof; _test_eof239: sm->cs = 239; goto _test_eof; _test_eof240: sm->cs = 240; goto _test_eof; _test_eof241: sm->cs = 241; goto _test_eof; + _test_eof302: sm->cs = 302; goto _test_eof; + _test_eof303: sm->cs = 303; goto _test_eof; + _test_eof304: sm->cs = 304; goto _test_eof; + _test_eof305: sm->cs = 305; goto _test_eof; _test_eof242: sm->cs = 242; goto _test_eof; - _test_eof243: sm->cs = 243; goto _test_eof; - _test_eof244: sm->cs = 244; goto _test_eof; - _test_eof245: sm->cs = 245; goto _test_eof; + _test_eof306: sm->cs = 306; goto _test_eof; _test_eof307: sm->cs = 307; goto _test_eof; - _test_eof308: sm->cs = 308; goto _test_eof; - _test_eof309: sm->cs = 309; goto _test_eof; - _test_eof310: sm->cs = 310; goto _test_eof; - _test_eof246: sm->cs = 246; goto _test_eof; - _test_eof311: sm->cs = 311; goto _test_eof; - _test_eof312: sm->cs = 312; goto _test_eof; - _test_eof247: sm->cs = 247; goto _test_eof; + _test_eof243: sm->cs = 243; goto _test_eof; _test_eof: {} if ( ( sm->p) == ( sm->eof) ) { switch ( sm->cs ) { - case 249: goto tr303; - case 250: goto tr305; - case 251: goto tr306; + case 245: goto tr296; + case 246: goto tr298; + case 247: goto tr299; case 0: goto tr0; - case 252: goto tr307; - case 253: goto tr307; + case 248: goto tr300; + case 249: goto tr300; case 1: goto tr0; - case 254: goto tr306; + case 250: goto tr299; case 2: goto tr0; case 3: goto tr0; case 4: goto tr0; case 5: goto tr0; case 6: goto tr0; @@ -5526,59 +5448,62 @@ case 9: goto tr0; case 10: goto tr0; case 11: goto tr0; case 12: goto tr0; case 13: goto tr0; - case 255: goto tr316; + case 251: goto tr309; case 14: goto tr0; case 15: goto tr0; case 16: goto tr0; case 17: goto tr0; case 18: goto tr0; case 19: goto tr0; case 20: goto tr0; case 21: goto tr0; - case 256: goto tr317; - case 257: goto tr319; + case 252: goto tr310; + case 253: goto tr312; case 22: goto tr0; case 23: goto tr0; case 24: goto tr0; case 25: goto tr0; case 26: goto tr0; case 27: goto tr0; case 28: goto tr0; - case 258: goto tr320; + case 254: goto tr313; case 29: goto tr0; case 30: goto tr0; case 31: goto tr0; case 32: goto tr0; case 33: goto tr0; - case 259: goto tr321; + case 255: goto tr314; case 34: goto tr0; case 35: goto tr0; case 36: goto tr0; case 37: goto tr0; case 38: goto tr0; case 39: goto tr0; case 40: goto tr0; - case 260: goto tr322; + case 256: goto tr315; case 41: goto tr0; case 42: goto tr0; case 43: goto tr0; case 44: goto tr0; case 45: goto tr0; case 46: goto tr0; - case 261: goto tr306; + case 257: goto tr299; case 47: goto tr0; case 48: goto tr0; - case 262: goto tr324; - case 263: goto tr324; - case 265: goto tr344; + case 258: goto tr317; + case 259: goto tr317; + case 261: goto tr336; + case 262: goto tr338; + case 263: goto tr339; case 49: goto tr56; case 50: goto tr56; case 51: goto tr56; case 52: goto tr56; + case 264: goto tr341; case 53: goto tr56; case 54: goto tr56; case 55: goto tr56; case 56: goto tr56; case 57: goto tr56; @@ -5592,240 +5517,232 @@ case 65: goto tr56; case 66: goto tr56; case 67: goto tr56; case 68: goto tr56; case 69: goto tr56; + case 265: goto tr339; case 70: goto tr56; + case 266: goto tr342; + case 267: goto tr342; case 71: goto tr56; + case 268: goto tr339; + case 269: goto tr345; + case 270: goto tr348; + case 271: goto tr339; case 72: goto tr56; case 73: goto tr56; case 74: goto tr56; case 75: goto tr56; - case 266: goto tr345; case 76: goto tr56; case 77: goto tr56; case 78: goto tr56; case 79: goto tr56; case 80: goto tr56; - case 267: goto tr56; - case 268: goto tr347; - case 269: goto tr344; - case 81: goto tr94; - case 82: goto tr94; - case 83: goto tr94; - case 84: goto tr94; - case 270: goto tr349; - case 85: goto tr94; - case 86: goto tr94; - case 87: goto tr94; - case 88: goto tr94; - case 89: goto tr94; - case 90: goto tr94; - case 91: goto tr94; - case 92: goto tr94; - case 93: goto tr94; - case 94: goto tr94; - case 95: goto tr94; - case 96: goto tr94; - case 97: goto tr94; - case 98: goto tr94; - case 99: goto tr94; - case 100: goto tr94; - case 101: goto tr94; - case 271: goto tr344; - case 102: goto tr94; - case 272: goto tr350; - case 273: goto tr350; - case 103: goto tr94; - case 274: goto tr344; - case 275: goto tr353; - case 276: goto tr356; - case 277: goto tr344; - case 104: goto tr94; - case 105: goto tr94; - case 106: goto tr94; - case 107: goto tr94; - case 108: goto tr94; - case 109: goto tr94; - case 110: goto tr94; - case 111: goto tr94; - case 112: goto tr94; - case 113: goto tr94; - case 114: goto tr94; - case 115: goto tr94; - case 116: goto tr94; - case 117: goto tr94; - case 118: goto tr94; - case 119: goto tr94; - case 120: goto tr94; - case 121: goto tr94; - case 122: goto tr94; - case 123: goto tr94; - case 124: goto tr94; - case 125: goto tr94; - case 126: goto tr94; - case 127: goto tr94; - case 128: goto tr94; - case 129: goto tr94; - case 130: goto tr94; - case 131: goto tr94; - case 132: goto tr94; - case 133: goto tr94; - case 134: goto tr94; - case 135: goto tr94; - case 136: goto tr94; - case 137: goto tr94; - case 278: goto tr344; - case 138: goto tr94; - case 139: goto tr94; - case 140: goto tr94; - case 141: goto tr94; - case 142: goto tr94; - case 143: goto tr94; - case 144: goto tr94; - case 279: goto tr366; - case 280: goto tr344; - case 145: goto tr94; - case 146: goto tr94; - case 147: goto tr94; - case 148: goto tr94; - case 149: goto tr94; - case 150: goto tr94; - case 151: goto tr94; - case 152: goto tr94; - case 281: goto tr369; - case 282: goto tr344; - case 153: goto tr94; - case 154: goto tr94; - case 155: goto tr94; - case 156: goto tr94; - case 157: goto tr94; - case 158: goto tr94; - case 283: goto tr372; - case 284: goto tr344; - case 159: goto tr94; - case 160: goto tr94; - case 285: goto tr376; - case 286: goto tr376; - case 161: goto tr94; - case 162: goto tr94; - case 163: goto tr94; - case 164: goto tr94; - case 165: goto tr94; - case 166: goto tr94; - case 287: goto tr378; - case 167: goto tr94; - case 288: goto tr344; - case 168: goto tr94; - case 169: goto tr94; - case 170: goto tr94; - case 171: goto tr94; - case 172: goto tr94; - case 173: goto tr94; - case 289: goto tr380; - case 290: goto tr344; - case 174: goto tr94; - case 175: goto tr94; - case 176: goto tr94; - case 177: goto tr94; - case 178: goto tr94; - case 179: goto tr94; - case 291: goto tr384; - case 180: goto tr211; - case 181: goto tr211; - case 292: goto tr387; - case 182: goto tr94; - case 183: goto tr94; - case 184: goto tr94; - case 185: goto tr94; - case 186: goto tr94; - case 293: goto tr389; - case 187: goto tr94; - case 188: goto tr94; - case 189: goto tr94; - case 190: goto tr94; - case 294: goto tr391; - case 295: goto tr344; - case 191: goto tr94; - case 192: goto tr94; - case 193: goto tr94; - case 194: goto tr94; - case 195: goto tr94; - case 196: goto tr94; - case 296: goto tr394; - case 197: goto tr230; - case 198: goto tr230; - case 297: goto tr397; - case 298: goto tr344; - case 199: goto tr94; - case 200: goto tr94; - case 201: goto tr94; - case 202: goto tr94; - case 203: goto tr94; - case 299: goto tr400; - case 300: goto tr344; - case 204: goto tr94; - case 205: goto tr94; - case 206: goto tr94; - case 302: goto tr406; - case 207: goto tr242; - case 208: goto tr242; - case 209: goto tr242; - case 210: goto tr242; - case 211: goto tr242; - case 304: goto tr411; - case 212: goto tr248; - case 213: goto tr248; - case 214: goto tr248; - case 215: goto tr248; - case 216: goto tr248; - case 217: goto tr248; - case 218: goto tr248; - case 219: goto tr248; - case 306: goto tr416; - case 220: goto tr257; - case 221: goto tr257; - case 222: goto tr257; - case 223: goto tr257; - case 224: goto tr257; - case 225: goto tr257; - case 226: goto tr257; - case 227: goto tr257; - case 228: goto tr257; - case 229: goto tr257; - case 230: goto tr257; - case 231: goto tr257; - case 232: goto tr257; - case 233: goto tr257; - case 234: goto tr257; - case 235: goto tr257; - case 236: goto tr257; - case 237: goto tr257; - case 238: goto tr257; - case 239: goto tr257; - case 240: goto tr257; - case 241: goto tr257; - case 242: goto tr257; - case 243: goto tr257; - case 244: goto tr257; - case 245: goto tr257; - case 308: goto tr424; - case 309: goto tr426; - case 310: goto tr427; - case 246: goto tr291; - case 311: goto tr428; - case 312: goto tr428; - case 247: goto tr291; + case 81: goto tr56; + case 82: goto tr56; + case 83: goto tr56; + case 84: goto tr56; + case 85: goto tr56; + case 272: goto tr359; + case 86: goto tr56; + case 87: goto tr56; + case 88: goto tr56; + case 89: goto tr56; + case 90: goto tr56; + case 91: goto tr56; + case 92: goto tr56; + case 93: goto tr56; + case 94: goto tr56; + case 95: goto tr56; + case 96: goto tr56; + case 97: goto tr56; + case 98: goto tr56; + case 99: goto tr56; + case 100: goto tr56; + case 101: goto tr56; + case 102: goto tr56; + case 103: goto tr56; + case 104: goto tr56; + case 105: goto tr56; + case 106: goto tr56; + case 107: goto tr56; + case 108: goto tr56; + case 109: goto tr56; + case 110: goto tr56; + case 111: goto tr56; + case 112: goto tr56; + case 113: goto tr56; + case 114: goto tr56; + case 115: goto tr56; + case 116: goto tr56; + case 117: goto tr56; + case 118: goto tr56; + case 119: goto tr56; + case 120: goto tr56; + case 121: goto tr56; + case 122: goto tr56; + case 123: goto tr56; + case 124: goto tr56; + case 125: goto tr56; + case 126: goto tr56; + case 127: goto tr56; + case 128: goto tr56; + case 129: goto tr56; + case 130: goto tr56; + case 131: goto tr56; + case 132: goto tr56; + case 133: goto tr56; + case 273: goto tr339; + case 134: goto tr56; + case 135: goto tr56; + case 136: goto tr56; + case 137: goto tr56; + case 138: goto tr56; + case 139: goto tr56; + case 140: goto tr56; + case 274: goto tr361; + case 275: goto tr339; + case 141: goto tr56; + case 142: goto tr56; + case 143: goto tr56; + case 144: goto tr56; + case 145: goto tr56; + case 146: goto tr56; + case 147: goto tr56; + case 148: goto tr56; + case 276: goto tr364; + case 277: goto tr339; + case 149: goto tr56; + case 150: goto tr56; + case 151: goto tr56; + case 152: goto tr56; + case 153: goto tr56; + case 154: goto tr56; + case 278: goto tr367; + case 279: goto tr339; + case 155: goto tr56; + case 156: goto tr56; + case 280: goto tr371; + case 281: goto tr371; + case 157: goto tr56; + case 158: goto tr56; + case 159: goto tr56; + case 160: goto tr56; + case 161: goto tr56; + case 162: goto tr56; + case 282: goto tr373; + case 163: goto tr56; + case 283: goto tr339; + case 164: goto tr56; + case 165: goto tr56; + case 166: goto tr56; + case 167: goto tr56; + case 168: goto tr56; + case 169: goto tr56; + case 284: goto tr375; + case 285: goto tr339; + case 170: goto tr56; + case 171: goto tr56; + case 172: goto tr56; + case 173: goto tr56; + case 174: goto tr56; + case 175: goto tr56; + case 286: goto tr379; + case 176: goto tr204; + case 177: goto tr204; + case 287: goto tr382; + case 178: goto tr56; + case 179: goto tr56; + case 180: goto tr56; + case 181: goto tr56; + case 182: goto tr56; + case 288: goto tr384; + case 183: goto tr56; + case 184: goto tr56; + case 185: goto tr56; + case 186: goto tr56; + case 289: goto tr386; + case 290: goto tr339; + case 187: goto tr56; + case 188: goto tr56; + case 189: goto tr56; + case 190: goto tr56; + case 191: goto tr56; + case 192: goto tr56; + case 291: goto tr389; + case 193: goto tr223; + case 194: goto tr223; + case 292: goto tr392; + case 293: goto tr339; + case 195: goto tr56; + case 196: goto tr56; + case 197: goto tr56; + case 198: goto tr56; + case 199: goto tr56; + case 294: goto tr395; + case 295: goto tr339; + case 200: goto tr56; + case 201: goto tr56; + case 202: goto tr56; + case 297: goto tr401; + case 203: goto tr235; + case 204: goto tr235; + case 205: goto tr235; + case 206: goto tr235; + case 207: goto tr235; + case 299: goto tr406; + case 208: goto tr241; + case 209: goto tr241; + case 210: goto tr241; + case 211: goto tr241; + case 212: goto tr241; + case 213: goto tr241; + case 214: goto tr241; + case 215: goto tr241; + case 301: goto tr411; + case 216: goto tr250; + case 217: goto tr250; + case 218: goto tr250; + case 219: goto tr250; + case 220: goto tr250; + case 221: goto tr250; + case 222: goto tr250; + case 223: goto tr250; + case 224: goto tr250; + case 225: goto tr250; + case 226: goto tr250; + case 227: goto tr250; + case 228: goto tr250; + case 229: goto tr250; + case 230: goto tr250; + case 231: goto tr250; + case 232: goto tr250; + case 233: goto tr250; + case 234: goto tr250; + case 235: goto tr250; + case 236: goto tr250; + case 237: goto tr250; + case 238: goto tr250; + case 239: goto tr250; + case 240: goto tr250; + case 241: goto tr250; + case 303: goto tr419; + case 304: goto tr421; + case 305: goto tr422; + case 242: goto tr284; + case 306: goto tr423; + case 307: goto tr423; + case 243: goto tr284; } } } -#line 1281 "ext/dtext/dtext.rl" +#line 1297 "ext/dtext/dtext.rl" dstack_close(sm); - VALUE ret = rb_str_new(sm->output->str, sm->output->len); + ret = rb_str_new(sm->output->str, sm->output->len); free_machine(sm); return ret; }