]> git.wincent.com - wikitext.git/blob - ext/wikitext_ragel.c
Fix CSS class of explicit mailto: URIs
[wikitext.git] / ext / wikitext_ragel.c
1
2 #line 1 "wikitext_ragel.rl"
3 // Copyright 2008-2009 Wincent Colaiuta. All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // 1. Redistributions of source code must retain the above copyright notice,
9 //    this list of conditions and the following disclaimer.
10 // 2. Redistributions in binary form must reproduce the above copyright notice,
11 //    this list of conditions and the following disclaimer in the documentation
12 //    and/or other materials provided with the distribution.
13
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25
26 //----------------------------------------------------------------------//
27 // NOTE: wikitext_ragel.c is generated from wikitext_ragel.rl, so       //
28 //       if you make changes to the former they will be overwritten.    //
29 //       You should perform all your edits in wikitext_ragel.rl.        //
30 //----------------------------------------------------------------------//
31
32 #include "wikitext_ragel.h"
33 #include "wikitext.h"
34 #include <stdio.h>
35
36 #define EMIT(t)     do { out->type = t; out->stop = p + 1; out->column_stop += (out->stop - out->start); } while (0)
37 #define MARK()      do { mark = p; } while (0)
38 #define REWIND()    do { p = mark; } while (0)
39 #define AT_END()    (p + 1 == pe)
40 #define DISTANCE()  (p + 1 - ts)
41 #define NEXT_CHAR() (*(p + 1))
42
43
44 #line 45 "wikitext_ragel.c"
45 static const int wikitext_start = 106;
46 static const int wikitext_first_final = 106;
47 static const int wikitext_error = 0;
48
49 static const int wikitext_en_main = 106;
50
51
52 #line 483 "wikitext_ragel.rl"
53
54
55 // for now we use the scanner as a tokenizer that returns one token at a time, just like ANTLR
56 // ultimately we could look at embedding all of the transformation inside the scanner itself (combined scanner/parser)
57 // pass in the last token because that's useful for the scanner to know
58 // p data pointer (required by Ragel machine); overriden with contents of last_token if supplied
59 // pe data end pointer (required by Ragel machine)
60 void next_token(token_t *out, token_t *last_token, char *p, char *pe)
61 {
62     int last_token_type = NO_TOKEN;
63     if (last_token)
64     {
65         last_token_type     = last_token->type;
66         p = last_token->stop;
67         out->line_start     = out->line_stop    = last_token->line_stop;
68         out->column_start   = out->column_stop  = last_token->column_stop;
69     }
70     else
71     {
72         out->line_start     = 1;
73         out->column_start   = 1;
74         out->line_stop      = 1;
75         out->column_stop    = 1;
76     }
77     out->type       = NO_TOKEN;
78     out->code_point = 0;
79     out->start      = p;
80     if (p == pe)
81     {
82         // all done, have reached end of input
83         out->stop  = p;
84         out->type  = END_OF_FILE;
85         return;
86     }
87
88     char    *mark;      // for manual backtracking
89     char    *eof = pe;  // required for backtracking (longest match determination)
90     int     cs;         // current state (standard Ragel)
91     char    *ts;        // token start (scanner)
92     char    *te;        // token end (scanner)
93     int     act;        // identity of last patterned matched (scanner)
94     
95 #line 96 "wikitext_ragel.c"
96         {
97         cs = wikitext_start;
98         ts = 0;
99         te = 0;
100         act = 0;
101         }
102
103 #line 525 "wikitext_ragel.rl"
104     
105 #line 106 "wikitext_ragel.c"
106         {
107         if ( p == pe )
108                 goto _test_eof;
109         switch ( cs )
110         {
111 tr0:
112 #line 55 "wikitext_ragel.rl"
113         {
114         out->code_point = ((uint32_t)(*(p - 1)) & 0x1f) << 6 |
115             (*p & 0x3f);
116     }
117 #line 474 "wikitext_ragel.rl"
118         {te = p+1;{
119             EMIT(DEFAULT);
120             out->column_stop = out->column_start + 1;
121             {p++; cs = 106; goto _out;}
122         }}
123         goto st106;
124 tr3:
125 #line 61 "wikitext_ragel.rl"
126         {
127         out->code_point = ((uint32_t)(*(p - 2)) & 0x0f) << 12 |
128             ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
129             (*p & 0x3f);
130     }
131 #line 474 "wikitext_ragel.rl"
132         {te = p+1;{
133             EMIT(DEFAULT);
134             out->column_stop = out->column_start + 1;
135             {p++; cs = 106; goto _out;}
136         }}
137         goto st106;
138 tr6:
139 #line 68 "wikitext_ragel.rl"
140         {
141         out->code_point = ((uint32_t)(*(p - 3)) & 0x07) << 18 |
142             ((uint32_t)(*(p - 2)) & 0x3f) << 12 |
143             ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
144             (*p & 0x3f);
145     }
146 #line 474 "wikitext_ragel.rl"
147         {te = p+1;{
148             EMIT(DEFAULT);
149             out->column_stop = out->column_start + 1;
150             {p++; cs = 106; goto _out;}
151         }}
152         goto st106;
153 tr7:
154 #line 381 "wikitext_ragel.rl"
155         {{p = ((te))-1;}{
156             EMIT(AMP);
157             {p++; cs = 106; goto _out;}
158         }}
159         goto st106;
160 tr10:
161 #line 369 "wikitext_ragel.rl"
162         {te = p+1;{
163             EMIT(DECIMAL_ENTITY);
164             {p++; cs = 106; goto _out;}
165         }}
166         goto st106;
167 tr12:
168 #line 363 "wikitext_ragel.rl"
169         {te = p+1;{
170             EMIT(HEX_ENTITY);
171             {p++; cs = 106; goto _out;}
172         }}
173         goto st106;
174 tr14:
175 #line 357 "wikitext_ragel.rl"
176         {te = p+1;{
177             EMIT(NAMED_ENTITY);
178             {p++; cs = 106; goto _out;}
179         }}
180         goto st106;
181 tr18:
182 #line 351 "wikitext_ragel.rl"
183         {te = p+1;{
184             EMIT(AMP_ENTITY);
185             {p++; cs = 106; goto _out;}
186         }}
187         goto st106;
188 tr22:
189 #line 345 "wikitext_ragel.rl"
190         {te = p+1;{
191             EMIT(QUOT_ENTITY);
192             {p++; cs = 106; goto _out;}
193         }}
194         goto st106;
195 tr23:
196 #line 1 "NONE"
197         {       switch( act ) {
198         case 21:
199         {{p = ((te))-1;}
200             EMIT(URI);
201             {p++; cs = 106; goto _out;}
202         }
203         break;
204         case 22:
205         {{p = ((te))-1;}
206             EMIT(MAIL);
207             {p++; cs = 106; goto _out;}
208         }
209         break;
210         case 43:
211         {{p = ((te))-1;}
212             EMIT(SPECIAL_URI_CHARS);
213             {p++; cs = 106; goto _out;}
214         }
215         break;
216         case 44:
217         {{p = ((te))-1;}
218             EMIT(ALNUM);
219             {p++; cs = 106; goto _out;}
220         }
221         break;
222         case 45:
223         {{p = ((te))-1;}
224             EMIT(PRINTABLE);
225             {p++; cs = 106; goto _out;}
226         }
227         break;
228         }
229         }
230         goto st106;
231 tr30:
232 #line 387 "wikitext_ragel.rl"
233         {{p = ((te))-1;}{
234             EMIT(LESS);
235             {p++; cs = 106; goto _out;}
236         }}
237         goto st106;
238 tr46:
239 #line 126 "wikitext_ragel.rl"
240         {te = p+1;{
241             EMIT(BLOCKQUOTE_END);
242             {p++; cs = 106; goto _out;}
243         }}
244         goto st106;
245 tr48:
246 #line 168 "wikitext_ragel.rl"
247         {te = p+1;{
248             EMIT(EM_END);
249             {p++; cs = 106; goto _out;}
250         }}
251         goto st106;
252 tr54:
253 #line 96 "wikitext_ragel.rl"
254         {te = p+1;{
255             EMIT(NO_WIKI_END);
256             {p++; cs = 106; goto _out;}
257         }}
258         goto st106;
259 tr57:
260 #line 114 "wikitext_ragel.rl"
261         {te = p+1;{
262             EMIT(PRE_END);
263             {p++; cs = 106; goto _out;}
264         }}
265         goto st106;
266 tr63:
267 #line 156 "wikitext_ragel.rl"
268         {te = p+1;{
269             EMIT(STRONG_END);
270             {p++; cs = 106; goto _out;}
271         }}
272         goto st106;
273 tr65:
274 #line 186 "wikitext_ragel.rl"
275         {te = p+1;{
276             EMIT(TT_END);
277             {p++; cs = 106; goto _out;}
278         }}
279         goto st106;
280 tr75:
281 #line 120 "wikitext_ragel.rl"
282         {te = p+1;{
283             EMIT(BLOCKQUOTE_START);
284             {p++; cs = 106; goto _out;}
285         }}
286         goto st106;
287 tr77:
288 #line 162 "wikitext_ragel.rl"
289         {te = p+1;{
290             EMIT(EM_START);
291             {p++; cs = 106; goto _out;}
292         }}
293         goto st106;
294 tr83:
295 #line 90 "wikitext_ragel.rl"
296         {te = p+1;{
297             EMIT(NO_WIKI_START);
298             {p++; cs = 106; goto _out;}
299         }}
300         goto st106;
301 tr86:
302 #line 102 "wikitext_ragel.rl"
303         {te = p+1;{
304             EMIT(PRE_START);
305             {p++; cs = 106; goto _out;}
306         }}
307         goto st106;
308 tr92:
309 #line 150 "wikitext_ragel.rl"
310         {te = p+1;{
311             EMIT(STRONG_START);
312             {p++; cs = 106; goto _out;}
313         }}
314         goto st106;
315 tr94:
316 #line 180 "wikitext_ragel.rl"
317         {te = p+1;{
318             EMIT(TT_START);
319             {p++; cs = 106; goto _out;}
320         }}
321         goto st106;
322 tr106:
323 #line 108 "wikitext_ragel.rl"
324         {te = p+1;{
325             EMIT(PRE_START);
326             {p++; cs = 106; goto _out;}
327         }}
328         goto st106;
329 tr107:
330 #line 442 "wikitext_ragel.rl"
331         {{p = ((te))-1;}{
332             EMIT(ALNUM);
333             {p++; cs = 106; goto _out;}
334         }}
335         goto st106;
336 tr111:
337 #line 297 "wikitext_ragel.rl"
338         {{p = ((te))-1;}{
339             EMIT(URI);
340             {p++; cs = 106; goto _out;}
341         }}
342         goto st106;
343 tr122:
344 #line 50 "wikitext_ragel.rl"
345         {
346         out->code_point = *p & 0x7f;
347     }
348 #line 474 "wikitext_ragel.rl"
349         {te = p+1;{
350             EMIT(DEFAULT);
351             out->column_stop = out->column_start + 1;
352             {p++; cs = 106; goto _out;}
353         }}
354         goto st106;
355 tr123:
356 #line 423 "wikitext_ragel.rl"
357         {te = p+1;{
358             EMIT(CRLF);
359             out->column_stop = 1;
360             out->line_stop++;
361             {p++; cs = 106; goto _out;}
362         }}
363 #line 50 "wikitext_ragel.rl"
364         {
365         out->code_point = *p & 0x7f;
366     }
367         goto st106;
368 tr127:
369 #line 375 "wikitext_ragel.rl"
370         {te = p+1;{
371             EMIT(QUOT);
372             {p++; cs = 106; goto _out;}
373         }}
374         goto st106;
375 tr128:
376 #line 218 "wikitext_ragel.rl"
377         {te = p+1;{
378             if (out->column_start == 1              ||
379                 last_token_type == OL               ||
380                 last_token_type == UL               ||
381                 last_token_type == BLOCKQUOTE       ||
382                 last_token_type == BLOCKQUOTE_START)
383                 EMIT(OL);
384             else
385                 EMIT(PRINTABLE);
386             {p++; cs = 106; goto _out;}
387         }}
388         goto st106;
389 tr132:
390 #line 231 "wikitext_ragel.rl"
391         {te = p+1;{
392             if (out->column_start == 1              ||
393                 last_token_type == OL               ||
394                 last_token_type == UL               ||
395                 last_token_type == BLOCKQUOTE       ||
396                 last_token_type == BLOCKQUOTE_START)
397                 EMIT(UL);
398             else
399                 EMIT(PRINTABLE);
400             {p++; cs = 106; goto _out;}
401         }}
402         goto st106;
403 tr146:
404 #line 174 "wikitext_ragel.rl"
405         {te = p+1;{
406             EMIT(TT);
407             {p++; cs = 106; goto _out;}
408         }}
409         goto st106;
410 tr148:
411 #line 327 "wikitext_ragel.rl"
412         {te = p+1;{
413             EMIT(SEPARATOR);
414             {p++; cs = 106; goto _out;}
415         }}
416         goto st106;
417 tr150:
418 #line 423 "wikitext_ragel.rl"
419         {te = p;p--;{
420             EMIT(CRLF);
421             out->column_stop = 1;
422             out->line_stop++;
423             {p++; cs = 106; goto _out;}
424         }}
425         goto st106;
426 tr151:
427 #line 423 "wikitext_ragel.rl"
428         {te = p+1;{
429             EMIT(CRLF);
430             out->column_stop = 1;
431             out->line_stop++;
432             {p++; cs = 106; goto _out;}
433         }}
434         goto st106;
435 tr152:
436 #line 206 "wikitext_ragel.rl"
437         {te = p;p--;{
438             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
439             {
440                 REWIND();
441                 EMIT(PRE);
442             }
443             else
444                 EMIT(SPACE);
445             {p++; cs = 106; goto _out;}
446         }}
447         goto st106;
448 tr154:
449 #line 436 "wikitext_ragel.rl"
450         {te = p;p--;{
451             EMIT(SPECIAL_URI_CHARS);
452             {p++; cs = 106; goto _out;}
453         }}
454         goto st106;
455 tr155:
456 #line 454 "wikitext_ragel.rl"
457         {te = p;p--;{
458             EMIT(PRINTABLE);
459             {p++; cs = 106; goto _out;}
460         }}
461         goto st106;
462 tr156:
463 #line 381 "wikitext_ragel.rl"
464         {te = p;p--;{
465             EMIT(AMP);
466             {p++; cs = 106; goto _out;}
467         }}
468         goto st106;
469 tr160:
470 #line 132 "wikitext_ragel.rl"
471         {te = p;p--;{
472             if (DISTANCE() == 5)
473                 EMIT(STRONG_EM);
474             else if (DISTANCE() == 4)
475             {
476                 p--;
477                 EMIT(STRONG_EM);
478             }
479             else if (DISTANCE() == 3)
480                 EMIT(STRONG);
481             else if (DISTANCE() == 2)
482                 EMIT(EM);
483             else
484                 EMIT(PRINTABLE);
485             {p++; cs = 106; goto _out;}
486         }}
487         goto st106;
488 tr164:
489 #line 132 "wikitext_ragel.rl"
490         {te = p+1;{
491             if (DISTANCE() == 5)
492                 EMIT(STRONG_EM);
493             else if (DISTANCE() == 4)
494             {
495                 p--;
496                 EMIT(STRONG_EM);
497             }
498             else if (DISTANCE() == 3)
499                 EMIT(STRONG);
500             else if (DISTANCE() == 2)
501                 EMIT(EM);
502             else
503                 EMIT(PRINTABLE);
504             {p++; cs = 106; goto _out;}
505         }}
506         goto st106;
507 tr166:
508 #line 303 "wikitext_ragel.rl"
509         {te = p;p--;{
510             EMIT(MAIL);
511             {p++; cs = 106; goto _out;}
512         }}
513         goto st106;
514 tr170:
515 #line 309 "wikitext_ragel.rl"
516         {te = p;p--;{
517             EMIT(PATH);
518             {p++; cs = 106; goto _out;}
519         }}
520         goto st106;
521 tr174:
522 #line 442 "wikitext_ragel.rl"
523         {te = p;p--;{
524             EMIT(ALNUM);
525             {p++; cs = 106; goto _out;}
526         }}
527         goto st106;
528 tr175:
529 #line 387 "wikitext_ragel.rl"
530         {te = p;p--;{
531             EMIT(LESS);
532             {p++; cs = 106; goto _out;}
533         }}
534         goto st106;
535 tr184:
536 #line 244 "wikitext_ragel.rl"
537         {te = p;p--;{
538             if (out->column_start == 1 || last_token_type == BLOCKQUOTE || last_token_type == BLOCKQUOTE_START)
539             {
540                 REWIND();
541                 if (DISTANCE() == 1)
542                     EMIT(H1_START);
543                 else if (DISTANCE() == 2)
544                     EMIT(H2_START);
545                 else if (DISTANCE() == 3)
546                     EMIT(H3_START);
547                 else if (DISTANCE() == 4)
548                     EMIT(H4_START);
549                 else if (DISTANCE() == 5)
550                     EMIT(H5_START);
551                 else if (DISTANCE() == 6)
552                     EMIT(H6_START);
553                 else if (DISTANCE() > 6)
554                 {
555                     p = ts + 6;
556                     EMIT(H6_START);
557                 }
558             }
559             else if (AT_END() || NEXT_CHAR() == '\n' || NEXT_CHAR() == '\r')
560             {
561                 REWIND();
562                 if (DISTANCE() == 1)
563                     EMIT(H1_END);
564                 else if (DISTANCE() == 2)
565                     EMIT(H2_END);
566                 else if (DISTANCE() == 3)
567                     EMIT(H3_END);
568                 else if (DISTANCE() == 4)
569                     EMIT(H4_END);
570                 else if (DISTANCE() == 5)
571                     EMIT(H5_END);
572                 else if (DISTANCE() == 6)
573                     EMIT(H6_END);
574                 else if (DISTANCE() > 6)
575                 {
576                     p -= 6; // will scan the H6 on the next scan
577                     EMIT(PRINTABLE);
578                 }
579             }
580             else
581             {
582                 // note that a H*_END token will never match before a BLOCKQUOTE_END
583                 REWIND();
584                 EMIT(PRINTABLE);
585             }
586             {p++; cs = 106; goto _out;}
587         }}
588         goto st106;
589 tr186:
590 #line 193 "wikitext_ragel.rl"
591         {te = p;p--;{
592             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
593                 EMIT(BLOCKQUOTE);
594             else
595             {
596                 REWIND();
597                 EMIT(GREATER);
598             }
599             {p++; cs = 106; goto _out;}
600         }}
601         goto st106;
602 tr187:
603 #line 193 "wikitext_ragel.rl"
604         {te = p+1;{
605             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
606                 EMIT(BLOCKQUOTE);
607             else
608             {
609                 REWIND();
610                 EMIT(GREATER);
611             }
612             {p++; cs = 106; goto _out;}
613         }}
614         goto st106;
615 tr191:
616 #line 297 "wikitext_ragel.rl"
617         {te = p;p--;{
618             EMIT(URI);
619             {p++; cs = 106; goto _out;}
620         }}
621         goto st106;
622 tr205:
623 #line 333 "wikitext_ragel.rl"
624         {te = p;p--;{
625             EMIT(EXT_LINK_START);
626             {p++; cs = 106; goto _out;}
627         }}
628         goto st106;
629 tr206:
630 #line 315 "wikitext_ragel.rl"
631         {te = p+1;{
632             EMIT(LINK_START);
633             {p++; cs = 106; goto _out;}
634         }}
635         goto st106;
636 tr207:
637 #line 339 "wikitext_ragel.rl"
638         {te = p;p--;{
639             EMIT(EXT_LINK_END);
640             {p++; cs = 106; goto _out;}
641         }}
642         goto st106;
643 tr208:
644 #line 321 "wikitext_ragel.rl"
645         {te = p+1;{
646             EMIT(LINK_END);
647             {p++; cs = 106; goto _out;}
648         }}
649         goto st106;
650 tr209:
651 #line 411 "wikitext_ragel.rl"
652         {te = p;p--;{
653             EMIT(LEFT_CURLY);
654             {p++; cs = 106; goto _out;}
655         }}
656         goto st106;
657 tr210:
658 #line 399 "wikitext_ragel.rl"
659         {te = p+1;{
660             EMIT(IMG_START);
661             {p++; cs = 106; goto _out;}
662         }}
663         goto st106;
664 tr211:
665 #line 417 "wikitext_ragel.rl"
666         {te = p;p--;{
667             EMIT(RIGHT_CURLY);
668             {p++; cs = 106; goto _out;}
669         }}
670         goto st106;
671 tr212:
672 #line 405 "wikitext_ragel.rl"
673         {te = p+1;{
674             EMIT(IMG_END);
675             {p++; cs = 106; goto _out;}
676         }}
677         goto st106;
678 st106:
679 #line 1 "NONE"
680         {ts = 0;}
681         if ( ++p == pe )
682                 goto _test_eof106;
683 case 106:
684 #line 1 "NONE"
685         {ts = p;}
686 #line 687 "wikitext_ragel.c"
687         switch( (*p) ) {
688                 case 10: goto tr123;
689                 case 13: goto tr124;
690                 case 32: goto tr125;
691                 case 33: goto st109;
692                 case 34: goto tr127;
693                 case 35: goto tr128;
694                 case 38: goto tr130;
695                 case 39: goto st112;
696                 case 42: goto tr132;
697                 case 43: goto st110;
698                 case 45: goto tr133;
699                 case 46: goto tr134;
700                 case 47: goto st123;
701                 case 60: goto tr137;
702                 case 61: goto tr138;
703                 case 62: goto tr139;
704                 case 64: goto st110;
705                 case 70: goto tr140;
706                 case 72: goto tr141;
707                 case 77: goto tr142;
708                 case 83: goto tr143;
709                 case 91: goto st152;
710                 case 92: goto st110;
711                 case 93: goto st153;
712                 case 94: goto st110;
713                 case 95: goto tr133;
714                 case 96: goto tr146;
715                 case 102: goto tr140;
716                 case 104: goto tr141;
717                 case 109: goto tr142;
718                 case 115: goto tr143;
719                 case 123: goto st154;
720                 case 124: goto tr148;
721                 case 125: goto st155;
722                 case 126: goto st110;
723                 case 127: goto tr122;
724         }
725         if ( (*p) < 36 ) {
726                 if ( (*p) < -32 ) {
727                         if ( -62 <= (*p) && (*p) <= -33 )
728                                 goto st1;
729                 } else if ( (*p) > -17 ) {
730                         if ( (*p) > -12 ) {
731                                 if ( 1 <= (*p) && (*p) <= 31 )
732                                         goto tr122;
733                         } else if ( (*p) >= -16 )
734                                 goto st4;
735                 } else
736                         goto st2;
737         } else if ( (*p) > 37 ) {
738                 if ( (*p) < 48 ) {
739                         if ( 40 <= (*p) && (*p) <= 44 )
740                                 goto st109;
741                 } else if ( (*p) > 57 ) {
742                         if ( (*p) > 63 ) {
743                                 if ( 65 <= (*p) && (*p) <= 122 )
744                                         goto tr136;
745                         } else if ( (*p) >= 58 )
746                                 goto st109;
747                 } else
748                         goto tr136;
749         } else
750                 goto st110;
751         goto st0;
752 st0:
753 cs = 0;
754         goto _out;
755 st1:
756         if ( ++p == pe )
757                 goto _test_eof1;
758 case 1:
759         if ( (*p) <= -65 )
760                 goto tr0;
761         goto st0;
762 st2:
763         if ( ++p == pe )
764                 goto _test_eof2;
765 case 2:
766         if ( (*p) <= -65 )
767                 goto st3;
768         goto st0;
769 st3:
770         if ( ++p == pe )
771                 goto _test_eof3;
772 case 3:
773         if ( (*p) <= -65 )
774                 goto tr3;
775         goto st0;
776 st4:
777         if ( ++p == pe )
778                 goto _test_eof4;
779 case 4:
780         if ( (*p) <= -65 )
781                 goto st5;
782         goto st0;
783 st5:
784         if ( ++p == pe )
785                 goto _test_eof5;
786 case 5:
787         if ( (*p) <= -65 )
788                 goto st6;
789         goto st0;
790 st6:
791         if ( ++p == pe )
792                 goto _test_eof6;
793 case 6:
794         if ( (*p) <= -65 )
795                 goto tr6;
796         goto st0;
797 tr124:
798 #line 50 "wikitext_ragel.rl"
799         {
800         out->code_point = *p & 0x7f;
801     }
802         goto st107;
803 st107:
804         if ( ++p == pe )
805                 goto _test_eof107;
806 case 107:
807 #line 808 "wikitext_ragel.c"
808         if ( (*p) == 10 )
809                 goto tr151;
810         goto tr150;
811 tr125:
812 #line 45 "wikitext_ragel.rl"
813         {
814         MARK();
815     }
816         goto st108;
817 st108:
818         if ( ++p == pe )
819                 goto _test_eof108;
820 case 108:
821 #line 822 "wikitext_ragel.c"
822         if ( (*p) == 32 )
823                 goto st108;
824         goto tr152;
825 st109:
826         if ( ++p == pe )
827                 goto _test_eof109;
828 case 109:
829         switch( (*p) ) {
830                 case 33: goto st109;
831                 case 44: goto st109;
832                 case 46: goto st109;
833                 case 63: goto st109;
834         }
835         if ( (*p) > 41 ) {
836                 if ( 58 <= (*p) && (*p) <= 59 )
837                         goto st109;
838         } else if ( (*p) >= 40 )
839                 goto st109;
840         goto tr154;
841 st110:
842         if ( ++p == pe )
843                 goto _test_eof110;
844 case 110:
845         switch( (*p) ) {
846                 case 43: goto st110;
847                 case 45: goto st110;
848                 case 47: goto st110;
849                 case 64: goto st110;
850                 case 92: goto st110;
851                 case 126: goto st110;
852         }
853         if ( (*p) > 37 ) {
854                 if ( 94 <= (*p) && (*p) <= 95 )
855                         goto st110;
856         } else if ( (*p) >= 36 )
857                 goto st110;
858         goto tr155;
859 tr130:
860 #line 1 "NONE"
861         {te = p+1;}
862         goto st111;
863 st111:
864         if ( ++p == pe )
865                 goto _test_eof111;
866 case 111:
867 #line 868 "wikitext_ragel.c"
868         switch( (*p) ) {
869                 case 35: goto st7;
870                 case 97: goto st13;
871                 case 113: goto st16;
872         }
873         if ( (*p) > 90 ) {
874                 if ( 98 <= (*p) && (*p) <= 122 )
875                         goto st11;
876         } else if ( (*p) >= 65 )
877                 goto st11;
878         goto tr156;
879 st7:
880         if ( ++p == pe )
881                 goto _test_eof7;
882 case 7:
883         switch( (*p) ) {
884                 case 88: goto st9;
885                 case 120: goto st9;
886         }
887         if ( 48 <= (*p) && (*p) <= 57 )
888                 goto st8;
889         goto tr7;
890 st8:
891         if ( ++p == pe )
892                 goto _test_eof8;
893 case 8:
894         if ( (*p) == 59 )
895                 goto tr10;
896         if ( 48 <= (*p) && (*p) <= 57 )
897                 goto st8;
898         goto tr7;
899 st9:
900         if ( ++p == pe )
901                 goto _test_eof9;
902 case 9:
903         if ( (*p) < 65 ) {
904                 if ( 48 <= (*p) && (*p) <= 57 )
905                         goto st10;
906         } else if ( (*p) > 70 ) {
907                 if ( 97 <= (*p) && (*p) <= 102 )
908                         goto st10;
909         } else
910                 goto st10;
911         goto tr7;
912 st10:
913         if ( ++p == pe )
914                 goto _test_eof10;
915 case 10:
916         if ( (*p) == 59 )
917                 goto tr12;
918         if ( (*p) < 65 ) {
919                 if ( 48 <= (*p) && (*p) <= 57 )
920                         goto st10;
921         } else if ( (*p) > 70 ) {
922                 if ( 97 <= (*p) && (*p) <= 102 )
923                         goto st10;
924         } else
925                 goto st10;
926         goto tr7;
927 st11:
928         if ( ++p == pe )
929                 goto _test_eof11;
930 case 11:
931         if ( (*p) == 59 )
932                 goto tr14;
933         if ( (*p) < 65 ) {
934                 if ( 48 <= (*p) && (*p) <= 57 )
935                         goto st12;
936         } else if ( (*p) > 90 ) {
937                 if ( 97 <= (*p) && (*p) <= 122 )
938                         goto st11;
939         } else
940                 goto st11;
941         goto tr7;
942 st12:
943         if ( ++p == pe )
944                 goto _test_eof12;
945 case 12:
946         if ( (*p) == 59 )
947                 goto tr14;
948         if ( 48 <= (*p) && (*p) <= 57 )
949                 goto st12;
950         goto tr7;
951 st13:
952         if ( ++p == pe )
953                 goto _test_eof13;
954 case 13:
955         switch( (*p) ) {
956                 case 59: goto tr14;
957                 case 109: goto st14;
958         }
959         if ( (*p) < 65 ) {
960                 if ( 48 <= (*p) && (*p) <= 57 )
961                         goto st12;
962         } else if ( (*p) > 90 ) {
963                 if ( 97 <= (*p) && (*p) <= 122 )
964                         goto st11;
965         } else
966                 goto st11;
967         goto tr7;
968 st14:
969         if ( ++p == pe )
970                 goto _test_eof14;
971 case 14:
972         switch( (*p) ) {
973                 case 59: goto tr14;
974                 case 112: goto st15;
975         }
976         if ( (*p) < 65 ) {
977                 if ( 48 <= (*p) && (*p) <= 57 )
978                         goto st12;
979         } else if ( (*p) > 90 ) {
980                 if ( 97 <= (*p) && (*p) <= 122 )
981                         goto st11;
982         } else
983                 goto st11;
984         goto tr7;
985 st15:
986         if ( ++p == pe )
987                 goto _test_eof15;
988 case 15:
989         if ( (*p) == 59 )
990                 goto tr18;
991         if ( (*p) < 65 ) {
992                 if ( 48 <= (*p) && (*p) <= 57 )
993                         goto st12;
994         } else if ( (*p) > 90 ) {
995                 if ( 97 <= (*p) && (*p) <= 122 )
996                         goto st11;
997         } else
998                 goto st11;
999         goto tr7;
1000 st16:
1001         if ( ++p == pe )
1002                 goto _test_eof16;
1003 case 16:
1004         switch( (*p) ) {
1005                 case 59: goto tr14;
1006                 case 117: goto st17;
1007         }
1008         if ( (*p) < 65 ) {
1009                 if ( 48 <= (*p) && (*p) <= 57 )
1010                         goto st12;
1011         } else if ( (*p) > 90 ) {
1012                 if ( 97 <= (*p) && (*p) <= 122 )
1013                         goto st11;
1014         } else
1015                 goto st11;
1016         goto tr7;
1017 st17:
1018         if ( ++p == pe )
1019                 goto _test_eof17;
1020 case 17:
1021         switch( (*p) ) {
1022                 case 59: goto tr14;
1023                 case 111: goto st18;
1024         }
1025         if ( (*p) < 65 ) {
1026                 if ( 48 <= (*p) && (*p) <= 57 )
1027                         goto st12;
1028         } else if ( (*p) > 90 ) {
1029                 if ( 97 <= (*p) && (*p) <= 122 )
1030                         goto st11;
1031         } else
1032                 goto st11;
1033         goto tr7;
1034 st18:
1035         if ( ++p == pe )
1036                 goto _test_eof18;
1037 case 18:
1038         switch( (*p) ) {
1039                 case 59: goto tr14;
1040                 case 116: goto st19;
1041         }
1042         if ( (*p) < 65 ) {
1043                 if ( 48 <= (*p) && (*p) <= 57 )
1044                         goto st12;
1045         } else if ( (*p) > 90 ) {
1046                 if ( 97 <= (*p) && (*p) <= 122 )
1047                         goto st11;
1048         } else
1049                 goto st11;
1050         goto tr7;
1051 st19:
1052         if ( ++p == pe )
1053                 goto _test_eof19;
1054 case 19:
1055         if ( (*p) == 59 )
1056                 goto tr22;
1057         if ( (*p) < 65 ) {
1058                 if ( 48 <= (*p) && (*p) <= 57 )
1059                         goto st12;
1060         } else if ( (*p) > 90 ) {
1061                 if ( 97 <= (*p) && (*p) <= 122 )
1062                         goto st11;
1063         } else
1064                 goto st11;
1065         goto tr7;
1066 st112:
1067         if ( ++p == pe )
1068                 goto _test_eof112;
1069 case 112:
1070         if ( (*p) == 39 )
1071                 goto st113;
1072         goto tr160;
1073 st113:
1074         if ( ++p == pe )
1075                 goto _test_eof113;
1076 case 113:
1077         if ( (*p) == 39 )
1078                 goto st114;
1079         goto tr160;
1080 st114:
1081         if ( ++p == pe )
1082                 goto _test_eof114;
1083 case 114:
1084         if ( (*p) == 39 )
1085                 goto st115;
1086         goto tr160;
1087 st115:
1088         if ( ++p == pe )
1089                 goto _test_eof115;
1090 case 115:
1091         if ( (*p) == 39 )
1092                 goto tr164;
1093         goto tr160;
1094 tr133:
1095 #line 1 "NONE"
1096         {te = p+1;}
1097 #line 454 "wikitext_ragel.rl"
1098         {act = 45;}
1099         goto st116;
1100 st116:
1101         if ( ++p == pe )
1102                 goto _test_eof116;
1103 case 116:
1104 #line 1105 "wikitext_ragel.c"
1105         switch( (*p) ) {
1106                 case 43: goto st110;
1107                 case 45: goto tr133;
1108                 case 47: goto st110;
1109                 case 64: goto tr165;
1110                 case 92: goto st110;
1111                 case 94: goto st110;
1112                 case 95: goto tr133;
1113                 case 126: goto st110;
1114         }
1115         if ( (*p) < 46 ) {
1116                 if ( 36 <= (*p) && (*p) <= 37 )
1117                         goto st110;
1118         } else if ( (*p) > 57 ) {
1119                 if ( (*p) > 90 ) {
1120                         if ( 97 <= (*p) && (*p) <= 122 )
1121                                 goto st20;
1122                 } else if ( (*p) >= 65 )
1123                         goto st20;
1124         } else
1125                 goto st20;
1126         goto tr155;
1127 st20:
1128         if ( ++p == pe )
1129                 goto _test_eof20;
1130 case 20:
1131         switch( (*p) ) {
1132                 case 64: goto st21;
1133                 case 95: goto st20;
1134         }
1135         if ( (*p) < 48 ) {
1136                 if ( 45 <= (*p) && (*p) <= 46 )
1137                         goto st20;
1138         } else if ( (*p) > 57 ) {
1139                 if ( (*p) > 90 ) {
1140                         if ( 97 <= (*p) && (*p) <= 122 )
1141                                 goto st20;
1142                 } else if ( (*p) >= 65 )
1143                         goto st20;
1144         } else
1145                 goto st20;
1146         goto tr23;
1147 st21:
1148         if ( ++p == pe )
1149                 goto _test_eof21;
1150 case 21:
1151         if ( (*p) < 65 ) {
1152                 if ( 48 <= (*p) && (*p) <= 57 )
1153                         goto st22;
1154         } else if ( (*p) > 90 ) {
1155                 if ( 97 <= (*p) && (*p) <= 122 )
1156                         goto st22;
1157         } else
1158                 goto st22;
1159         goto tr23;
1160 st22:
1161         if ( ++p == pe )
1162                 goto _test_eof22;
1163 case 22:
1164         if ( (*p) == 46 )
1165                 goto st23;
1166         if ( (*p) < 65 ) {
1167                 if ( 48 <= (*p) && (*p) <= 57 )
1168                         goto st22;
1169         } else if ( (*p) > 90 ) {
1170                 if ( 97 <= (*p) && (*p) <= 122 )
1171                         goto st22;
1172         } else
1173                 goto st22;
1174         goto tr23;
1175 st23:
1176         if ( ++p == pe )
1177                 goto _test_eof23;
1178 case 23:
1179         if ( (*p) < 65 ) {
1180                 if ( 48 <= (*p) && (*p) <= 57 )
1181                         goto st22;
1182         } else if ( (*p) > 90 ) {
1183                 if ( 97 <= (*p) && (*p) <= 122 )
1184                         goto st24;
1185         } else
1186                 goto st24;
1187         goto tr23;
1188 st24:
1189         if ( ++p == pe )
1190                 goto _test_eof24;
1191 case 24:
1192         if ( (*p) == 46 )
1193                 goto st23;
1194         if ( (*p) < 65 ) {
1195                 if ( 48 <= (*p) && (*p) <= 57 )
1196                         goto st22;
1197         } else if ( (*p) > 90 ) {
1198                 if ( 97 <= (*p) && (*p) <= 122 )
1199                         goto tr29;
1200         } else
1201                 goto tr29;
1202         goto tr23;
1203 tr29:
1204 #line 1 "NONE"
1205         {te = p+1;}
1206 #line 303 "wikitext_ragel.rl"
1207         {act = 22;}
1208         goto st117;
1209 st117:
1210         if ( ++p == pe )
1211                 goto _test_eof117;
1212 case 117:
1213 #line 1214 "wikitext_ragel.c"
1214         if ( (*p) == 46 )
1215                 goto st23;
1216         if ( (*p) < 65 ) {
1217                 if ( 48 <= (*p) && (*p) <= 57 )
1218                         goto st22;
1219         } else if ( (*p) > 90 ) {
1220                 if ( 97 <= (*p) && (*p) <= 122 )
1221                         goto tr167;
1222         } else
1223                 goto tr167;
1224         goto tr166;
1225 tr167:
1226 #line 1 "NONE"
1227         {te = p+1;}
1228 #line 303 "wikitext_ragel.rl"
1229         {act = 22;}
1230         goto st118;
1231 st118:
1232         if ( ++p == pe )
1233                 goto _test_eof118;
1234 case 118:
1235 #line 1236 "wikitext_ragel.c"
1236         if ( (*p) == 46 )
1237                 goto st23;
1238         if ( (*p) < 65 ) {
1239                 if ( 48 <= (*p) && (*p) <= 57 )
1240                         goto st22;
1241         } else if ( (*p) > 90 ) {
1242                 if ( 97 <= (*p) && (*p) <= 122 )
1243                         goto tr168;
1244         } else
1245                 goto tr168;
1246         goto tr166;
1247 tr168:
1248 #line 1 "NONE"
1249         {te = p+1;}
1250 #line 303 "wikitext_ragel.rl"
1251         {act = 22;}
1252         goto st119;
1253 st119:
1254         if ( ++p == pe )
1255                 goto _test_eof119;
1256 case 119:
1257 #line 1258 "wikitext_ragel.c"
1258         if ( (*p) == 46 )
1259                 goto st23;
1260         if ( (*p) < 65 ) {
1261                 if ( 48 <= (*p) && (*p) <= 57 )
1262                         goto st22;
1263         } else if ( (*p) > 90 ) {
1264                 if ( 97 <= (*p) && (*p) <= 122 )
1265                         goto tr169;
1266         } else
1267                 goto tr169;
1268         goto tr166;
1269 tr169:
1270 #line 1 "NONE"
1271         {te = p+1;}
1272 #line 303 "wikitext_ragel.rl"
1273         {act = 22;}
1274         goto st120;
1275 st120:
1276         if ( ++p == pe )
1277                 goto _test_eof120;
1278 case 120:
1279 #line 1280 "wikitext_ragel.c"
1280         if ( (*p) == 46 )
1281                 goto st23;
1282         if ( (*p) < 65 ) {
1283                 if ( 48 <= (*p) && (*p) <= 57 )
1284                         goto st22;
1285         } else if ( (*p) > 90 ) {
1286                 if ( 97 <= (*p) && (*p) <= 122 )
1287                         goto st22;
1288         } else
1289                 goto st22;
1290         goto tr166;
1291 tr165:
1292 #line 1 "NONE"
1293         {te = p+1;}
1294 #line 454 "wikitext_ragel.rl"
1295         {act = 45;}
1296         goto st121;
1297 st121:
1298         if ( ++p == pe )
1299                 goto _test_eof121;
1300 case 121:
1301 #line 1302 "wikitext_ragel.c"
1302         switch( (*p) ) {
1303                 case 43: goto st110;
1304                 case 45: goto st110;
1305                 case 47: goto st110;
1306                 case 64: goto st110;
1307                 case 92: goto st110;
1308                 case 126: goto st110;
1309         }
1310         if ( (*p) < 65 ) {
1311                 if ( (*p) > 37 ) {
1312                         if ( 48 <= (*p) && (*p) <= 57 )
1313                                 goto st22;
1314                 } else if ( (*p) >= 36 )
1315                         goto st110;
1316         } else if ( (*p) > 90 ) {
1317                 if ( (*p) > 95 ) {
1318                         if ( 97 <= (*p) && (*p) <= 122 )
1319                                 goto st22;
1320                 } else if ( (*p) >= 94 )
1321                         goto st110;
1322         } else
1323                 goto st22;
1324         goto tr155;
1325 tr134:
1326 #line 1 "NONE"
1327         {te = p+1;}
1328 #line 436 "wikitext_ragel.rl"
1329         {act = 43;}
1330         goto st122;
1331 st122:
1332         if ( ++p == pe )
1333                 goto _test_eof122;
1334 case 122:
1335 #line 1336 "wikitext_ragel.c"
1336         switch( (*p) ) {
1337                 case 33: goto st109;
1338                 case 44: goto st109;
1339                 case 45: goto st20;
1340                 case 46: goto tr134;
1341                 case 63: goto st109;
1342                 case 64: goto st21;
1343                 case 95: goto st20;
1344         }
1345         if ( (*p) < 58 ) {
1346                 if ( (*p) > 41 ) {
1347                         if ( 48 <= (*p) && (*p) <= 57 )
1348                                 goto st20;
1349                 } else if ( (*p) >= 40 )
1350                         goto st109;
1351         } else if ( (*p) > 59 ) {
1352                 if ( (*p) > 90 ) {
1353                         if ( 97 <= (*p) && (*p) <= 122 )
1354                                 goto st20;
1355                 } else if ( (*p) >= 65 )
1356                         goto st20;
1357         } else
1358                 goto st109;
1359         goto tr154;
1360 st123:
1361         if ( ++p == pe )
1362                 goto _test_eof123;
1363 case 123:
1364         switch( (*p) ) {
1365                 case 43: goto st110;
1366                 case 45: goto st124;
1367                 case 47: goto st110;
1368                 case 64: goto st110;
1369                 case 92: goto st110;
1370                 case 94: goto st110;
1371                 case 95: goto st124;
1372                 case 126: goto st110;
1373         }
1374         if ( (*p) < 46 ) {
1375                 if ( 36 <= (*p) && (*p) <= 37 )
1376                         goto st110;
1377         } else if ( (*p) > 57 ) {
1378                 if ( (*p) > 90 ) {
1379                         if ( 97 <= (*p) && (*p) <= 122 )
1380                                 goto st125;
1381                 } else if ( (*p) >= 65 )
1382                         goto st125;
1383         } else
1384                 goto st125;
1385         goto tr170;
1386 st124:
1387         if ( ++p == pe )
1388                 goto _test_eof124;
1389 case 124:
1390         switch( (*p) ) {
1391                 case 43: goto st110;
1392                 case 45: goto st124;
1393                 case 47: goto st123;
1394                 case 64: goto st110;
1395                 case 92: goto st110;
1396                 case 94: goto st110;
1397                 case 95: goto st124;
1398                 case 126: goto st110;
1399         }
1400         if ( (*p) < 46 ) {
1401                 if ( 36 <= (*p) && (*p) <= 37 )
1402                         goto st110;
1403         } else if ( (*p) > 57 ) {
1404                 if ( (*p) > 90 ) {
1405                         if ( 97 <= (*p) && (*p) <= 122 )
1406                                 goto st125;
1407                 } else if ( (*p) >= 65 )
1408                         goto st125;
1409         } else
1410                 goto st125;
1411         goto tr170;
1412 st125:
1413         if ( ++p == pe )
1414                 goto _test_eof125;
1415 case 125:
1416         switch( (*p) ) {
1417                 case 47: goto st126;
1418                 case 95: goto st125;
1419         }
1420         if ( (*p) < 65 ) {
1421                 if ( 45 <= (*p) && (*p) <= 57 )
1422                         goto st125;
1423         } else if ( (*p) > 90 ) {
1424                 if ( 97 <= (*p) && (*p) <= 122 )
1425                         goto st125;
1426         } else
1427                 goto st125;
1428         goto tr170;
1429 st126:
1430         if ( ++p == pe )
1431                 goto _test_eof126;
1432 case 126:
1433         if ( (*p) == 95 )
1434                 goto st125;
1435         if ( (*p) < 48 ) {
1436                 if ( 45 <= (*p) && (*p) <= 46 )
1437                         goto st125;
1438         } else if ( (*p) > 57 ) {
1439                 if ( (*p) > 90 ) {
1440                         if ( 97 <= (*p) && (*p) <= 122 )
1441                                 goto st125;
1442                 } else if ( (*p) >= 65 )
1443                         goto st125;
1444         } else
1445                 goto st125;
1446         goto tr170;
1447 tr136:
1448 #line 1 "NONE"
1449         {te = p+1;}
1450 #line 442 "wikitext_ragel.rl"
1451         {act = 44;}
1452         goto st127;
1453 st127:
1454         if ( ++p == pe )
1455                 goto _test_eof127;
1456 case 127:
1457 #line 1458 "wikitext_ragel.c"
1458         switch( (*p) ) {
1459                 case 64: goto st21;
1460                 case 95: goto st20;
1461         }
1462         if ( (*p) < 48 ) {
1463                 if ( 45 <= (*p) && (*p) <= 46 )
1464                         goto st20;
1465         } else if ( (*p) > 57 ) {
1466                 if ( (*p) > 90 ) {
1467                         if ( 97 <= (*p) && (*p) <= 122 )
1468                                 goto tr136;
1469                 } else if ( (*p) >= 65 )
1470                         goto tr136;
1471         } else
1472                 goto tr136;
1473         goto tr174;
1474 tr137:
1475 #line 1 "NONE"
1476         {te = p+1;}
1477         goto st128;
1478 st128:
1479         if ( ++p == pe )
1480                 goto _test_eof128;
1481 case 128:
1482 #line 1483 "wikitext_ragel.c"
1483         switch( (*p) ) {
1484                 case 47: goto st25;
1485                 case 66: goto st55;
1486                 case 69: goto st65;
1487                 case 78: goto st67;
1488                 case 80: goto st73;
1489                 case 83: goto st76;
1490                 case 84: goto st82;
1491                 case 98: goto st55;
1492                 case 101: goto st65;
1493                 case 110: goto st67;
1494                 case 112: goto st84;
1495                 case 115: goto st76;
1496                 case 116: goto st82;
1497         }
1498         goto tr175;
1499 st25:
1500         if ( ++p == pe )
1501                 goto _test_eof25;
1502 case 25:
1503         switch( (*p) ) {
1504                 case 66: goto st26;
1505                 case 69: goto st36;
1506                 case 78: goto st38;
1507                 case 80: goto st44;
1508                 case 83: goto st47;
1509                 case 84: goto st53;
1510                 case 98: goto st26;
1511                 case 101: goto st36;
1512                 case 110: goto st38;
1513                 case 112: goto st44;
1514                 case 115: goto st47;
1515                 case 116: goto st53;
1516         }
1517         goto tr30;
1518 st26:
1519         if ( ++p == pe )
1520                 goto _test_eof26;
1521 case 26:
1522         switch( (*p) ) {
1523                 case 76: goto st27;
1524                 case 108: goto st27;
1525         }
1526         goto tr30;
1527 st27:
1528         if ( ++p == pe )
1529                 goto _test_eof27;
1530 case 27:
1531         switch( (*p) ) {
1532                 case 79: goto st28;
1533                 case 111: goto st28;
1534         }
1535         goto tr30;
1536 st28:
1537         if ( ++p == pe )
1538                 goto _test_eof28;
1539 case 28:
1540         switch( (*p) ) {
1541                 case 67: goto st29;
1542                 case 99: goto st29;
1543         }
1544         goto tr30;
1545 st29:
1546         if ( ++p == pe )
1547                 goto _test_eof29;
1548 case 29:
1549         switch( (*p) ) {
1550                 case 75: goto st30;
1551                 case 107: goto st30;
1552         }
1553         goto tr30;
1554 st30:
1555         if ( ++p == pe )
1556                 goto _test_eof30;
1557 case 30:
1558         switch( (*p) ) {
1559                 case 81: goto st31;
1560                 case 113: goto st31;
1561         }
1562         goto tr30;
1563 st31:
1564         if ( ++p == pe )
1565                 goto _test_eof31;
1566 case 31:
1567         switch( (*p) ) {
1568                 case 85: goto st32;
1569                 case 117: goto st32;
1570         }
1571         goto tr30;
1572 st32:
1573         if ( ++p == pe )
1574                 goto _test_eof32;
1575 case 32:
1576         switch( (*p) ) {
1577                 case 79: goto st33;
1578                 case 111: goto st33;
1579         }
1580         goto tr30;
1581 st33:
1582         if ( ++p == pe )
1583                 goto _test_eof33;
1584 case 33:
1585         switch( (*p) ) {
1586                 case 84: goto st34;
1587                 case 116: goto st34;
1588         }
1589         goto tr30;
1590 st34:
1591         if ( ++p == pe )
1592                 goto _test_eof34;
1593 case 34:
1594         switch( (*p) ) {
1595                 case 69: goto st35;
1596                 case 101: goto st35;
1597         }
1598         goto tr30;
1599 st35:
1600         if ( ++p == pe )
1601                 goto _test_eof35;
1602 case 35:
1603         if ( (*p) == 62 )
1604                 goto tr46;
1605         goto tr30;
1606 st36:
1607         if ( ++p == pe )
1608                 goto _test_eof36;
1609 case 36:
1610         switch( (*p) ) {
1611                 case 77: goto st37;
1612                 case 109: goto st37;
1613         }
1614         goto tr30;
1615 st37:
1616         if ( ++p == pe )
1617                 goto _test_eof37;
1618 case 37:
1619         if ( (*p) == 62 )
1620                 goto tr48;
1621         goto tr30;
1622 st38:
1623         if ( ++p == pe )
1624                 goto _test_eof38;
1625 case 38:
1626         switch( (*p) ) {
1627                 case 79: goto st39;
1628                 case 111: goto st39;
1629         }
1630         goto tr30;
1631 st39:
1632         if ( ++p == pe )
1633                 goto _test_eof39;
1634 case 39:
1635         switch( (*p) ) {
1636                 case 87: goto st40;
1637                 case 119: goto st40;
1638         }
1639         goto tr30;
1640 st40:
1641         if ( ++p == pe )
1642                 goto _test_eof40;
1643 case 40:
1644         switch( (*p) ) {
1645                 case 73: goto st41;
1646                 case 105: goto st41;
1647         }
1648         goto tr30;
1649 st41:
1650         if ( ++p == pe )
1651                 goto _test_eof41;
1652 case 41:
1653         switch( (*p) ) {
1654                 case 75: goto st42;
1655                 case 107: goto st42;
1656         }
1657         goto tr30;
1658 st42:
1659         if ( ++p == pe )
1660                 goto _test_eof42;
1661 case 42:
1662         switch( (*p) ) {
1663                 case 73: goto st43;
1664                 case 105: goto st43;
1665         }
1666         goto tr30;
1667 st43:
1668         if ( ++p == pe )
1669                 goto _test_eof43;
1670 case 43:
1671         if ( (*p) == 62 )
1672                 goto tr54;
1673         goto tr30;
1674 st44:
1675         if ( ++p == pe )
1676                 goto _test_eof44;
1677 case 44:
1678         switch( (*p) ) {
1679                 case 82: goto st45;
1680                 case 114: goto st45;
1681         }
1682         goto tr30;
1683 st45:
1684         if ( ++p == pe )
1685                 goto _test_eof45;
1686 case 45:
1687         switch( (*p) ) {
1688                 case 69: goto st46;
1689                 case 101: goto st46;
1690         }
1691         goto tr30;
1692 st46:
1693         if ( ++p == pe )
1694                 goto _test_eof46;
1695 case 46:
1696         if ( (*p) == 62 )
1697                 goto tr57;
1698         goto tr30;
1699 st47:
1700         if ( ++p == pe )
1701                 goto _test_eof47;
1702 case 47:
1703         switch( (*p) ) {
1704                 case 84: goto st48;
1705                 case 116: goto st48;
1706         }
1707         goto tr30;
1708 st48:
1709         if ( ++p == pe )
1710                 goto _test_eof48;
1711 case 48:
1712         switch( (*p) ) {
1713                 case 82: goto st49;
1714                 case 114: goto st49;
1715         }
1716         goto tr30;
1717 st49:
1718         if ( ++p == pe )
1719                 goto _test_eof49;
1720 case 49:
1721         switch( (*p) ) {
1722                 case 79: goto st50;
1723                 case 111: goto st50;
1724         }
1725         goto tr30;
1726 st50:
1727         if ( ++p == pe )
1728                 goto _test_eof50;
1729 case 50:
1730         switch( (*p) ) {
1731                 case 78: goto st51;
1732                 case 110: goto st51;
1733         }
1734         goto tr30;
1735 st51:
1736         if ( ++p == pe )
1737                 goto _test_eof51;
1738 case 51:
1739         switch( (*p) ) {
1740                 case 71: goto st52;
1741                 case 103: goto st52;
1742         }
1743         goto tr30;
1744 st52:
1745         if ( ++p == pe )
1746                 goto _test_eof52;
1747 case 52:
1748         if ( (*p) == 62 )
1749                 goto tr63;
1750         goto tr30;
1751 st53:
1752         if ( ++p == pe )
1753                 goto _test_eof53;
1754 case 53:
1755         switch( (*p) ) {
1756                 case 84: goto st54;
1757                 case 116: goto st54;
1758         }
1759         goto tr30;
1760 st54:
1761         if ( ++p == pe )
1762                 goto _test_eof54;
1763 case 54:
1764         if ( (*p) == 62 )
1765                 goto tr65;
1766         goto tr30;
1767 st55:
1768         if ( ++p == pe )
1769                 goto _test_eof55;
1770 case 55:
1771         switch( (*p) ) {
1772                 case 76: goto st56;
1773                 case 108: goto st56;
1774         }
1775         goto tr30;
1776 st56:
1777         if ( ++p == pe )
1778                 goto _test_eof56;
1779 case 56:
1780         switch( (*p) ) {
1781                 case 79: goto st57;
1782                 case 111: goto st57;
1783         }
1784         goto tr30;
1785 st57:
1786         if ( ++p == pe )
1787                 goto _test_eof57;
1788 case 57:
1789         switch( (*p) ) {
1790                 case 67: goto st58;
1791                 case 99: goto st58;
1792         }
1793         goto tr30;
1794 st58:
1795         if ( ++p == pe )
1796                 goto _test_eof58;
1797 case 58:
1798         switch( (*p) ) {
1799                 case 75: goto st59;
1800                 case 107: goto st59;
1801         }
1802         goto tr30;
1803 st59:
1804         if ( ++p == pe )
1805                 goto _test_eof59;
1806 case 59:
1807         switch( (*p) ) {
1808                 case 81: goto st60;
1809                 case 113: goto st60;
1810         }
1811         goto tr30;
1812 st60:
1813         if ( ++p == pe )
1814                 goto _test_eof60;
1815 case 60:
1816         switch( (*p) ) {
1817                 case 85: goto st61;
1818                 case 117: goto st61;
1819         }
1820         goto tr30;
1821 st61:
1822         if ( ++p == pe )
1823                 goto _test_eof61;
1824 case 61:
1825         switch( (*p) ) {
1826                 case 79: goto st62;
1827                 case 111: goto st62;
1828         }
1829         goto tr30;
1830 st62:
1831         if ( ++p == pe )
1832                 goto _test_eof62;
1833 case 62:
1834         switch( (*p) ) {
1835                 case 84: goto st63;
1836                 case 116: goto st63;
1837         }
1838         goto tr30;
1839 st63:
1840         if ( ++p == pe )
1841                 goto _test_eof63;
1842 case 63:
1843         switch( (*p) ) {
1844                 case 69: goto st64;
1845                 case 101: goto st64;
1846         }
1847         goto tr30;
1848 st64:
1849         if ( ++p == pe )
1850                 goto _test_eof64;
1851 case 64:
1852         if ( (*p) == 62 )
1853                 goto tr75;
1854         goto tr30;
1855 st65:
1856         if ( ++p == pe )
1857                 goto _test_eof65;
1858 case 65:
1859         switch( (*p) ) {
1860                 case 77: goto st66;
1861                 case 109: goto st66;
1862         }
1863         goto tr30;
1864 st66:
1865         if ( ++p == pe )
1866                 goto _test_eof66;
1867 case 66:
1868         if ( (*p) == 62 )
1869                 goto tr77;
1870         goto tr30;
1871 st67:
1872         if ( ++p == pe )
1873                 goto _test_eof67;
1874 case 67:
1875         switch( (*p) ) {
1876                 case 79: goto st68;
1877                 case 111: goto st68;
1878         }
1879         goto tr30;
1880 st68:
1881         if ( ++p == pe )
1882                 goto _test_eof68;
1883 case 68:
1884         switch( (*p) ) {
1885                 case 87: goto st69;
1886                 case 119: goto st69;
1887         }
1888         goto tr30;
1889 st69:
1890         if ( ++p == pe )
1891                 goto _test_eof69;
1892 case 69:
1893         switch( (*p) ) {
1894                 case 73: goto st70;
1895                 case 105: goto st70;
1896         }
1897         goto tr30;
1898 st70:
1899         if ( ++p == pe )
1900                 goto _test_eof70;
1901 case 70:
1902         switch( (*p) ) {
1903                 case 75: goto st71;
1904                 case 107: goto st71;
1905         }
1906         goto tr30;
1907 st71:
1908         if ( ++p == pe )
1909                 goto _test_eof71;
1910 case 71:
1911         switch( (*p) ) {
1912                 case 73: goto st72;
1913                 case 105: goto st72;
1914         }
1915         goto tr30;
1916 st72:
1917         if ( ++p == pe )
1918                 goto _test_eof72;
1919 case 72:
1920         if ( (*p) == 62 )
1921                 goto tr83;
1922         goto tr30;
1923 st73:
1924         if ( ++p == pe )
1925                 goto _test_eof73;
1926 case 73:
1927         switch( (*p) ) {
1928                 case 82: goto st74;
1929                 case 114: goto st74;
1930         }
1931         goto tr30;
1932 st74:
1933         if ( ++p == pe )
1934                 goto _test_eof74;
1935 case 74:
1936         switch( (*p) ) {
1937                 case 69: goto st75;
1938                 case 101: goto st75;
1939         }
1940         goto tr30;
1941 st75:
1942         if ( ++p == pe )
1943                 goto _test_eof75;
1944 case 75:
1945         if ( (*p) == 62 )
1946                 goto tr86;
1947         goto tr30;
1948 st76:
1949         if ( ++p == pe )
1950                 goto _test_eof76;
1951 case 76:
1952         switch( (*p) ) {
1953                 case 84: goto st77;
1954                 case 116: goto st77;
1955         }
1956         goto tr30;
1957 st77:
1958         if ( ++p == pe )
1959                 goto _test_eof77;
1960 case 77:
1961         switch( (*p) ) {
1962                 case 82: goto st78;
1963                 case 114: goto st78;
1964         }
1965         goto tr30;
1966 st78:
1967         if ( ++p == pe )
1968                 goto _test_eof78;
1969 case 78:
1970         switch( (*p) ) {
1971                 case 79: goto st79;
1972                 case 111: goto st79;
1973         }
1974         goto tr30;
1975 st79:
1976         if ( ++p == pe )
1977                 goto _test_eof79;
1978 case 79:
1979         switch( (*p) ) {
1980                 case 78: goto st80;
1981                 case 110: goto st80;
1982         }
1983         goto tr30;
1984 st80:
1985         if ( ++p == pe )
1986                 goto _test_eof80;
1987 case 80:
1988         switch( (*p) ) {
1989                 case 71: goto st81;
1990                 case 103: goto st81;
1991         }
1992         goto tr30;
1993 st81:
1994         if ( ++p == pe )
1995                 goto _test_eof81;
1996 case 81:
1997         if ( (*p) == 62 )
1998                 goto tr92;
1999         goto tr30;
2000 st82:
2001         if ( ++p == pe )
2002                 goto _test_eof82;
2003 case 82:
2004         switch( (*p) ) {
2005                 case 84: goto st83;
2006                 case 116: goto st83;
2007         }
2008         goto tr30;
2009 st83:
2010         if ( ++p == pe )
2011                 goto _test_eof83;
2012 case 83:
2013         if ( (*p) == 62 )
2014                 goto tr94;
2015         goto tr30;
2016 st84:
2017         if ( ++p == pe )
2018                 goto _test_eof84;
2019 case 84:
2020         switch( (*p) ) {
2021                 case 82: goto st74;
2022                 case 114: goto st85;
2023         }
2024         goto tr30;
2025 st85:
2026         if ( ++p == pe )
2027                 goto _test_eof85;
2028 case 85:
2029         switch( (*p) ) {
2030                 case 69: goto st75;
2031                 case 101: goto st86;
2032         }
2033         goto tr30;
2034 st86:
2035         if ( ++p == pe )
2036                 goto _test_eof86;
2037 case 86:
2038         switch( (*p) ) {
2039                 case 32: goto st87;
2040                 case 62: goto tr86;
2041         }
2042         goto tr30;
2043 st87:
2044         if ( ++p == pe )
2045                 goto _test_eof87;
2046 case 87:
2047         if ( (*p) == 108 )
2048                 goto st88;
2049         goto tr30;
2050 st88:
2051         if ( ++p == pe )
2052                 goto _test_eof88;
2053 case 88:
2054         if ( (*p) == 97 )
2055                 goto st89;
2056         goto tr30;
2057 st89:
2058         if ( ++p == pe )
2059                 goto _test_eof89;
2060 case 89:
2061         if ( (*p) == 110 )
2062                 goto st90;
2063         goto tr30;
2064 st90:
2065         if ( ++p == pe )
2066                 goto _test_eof90;
2067 case 90:
2068         if ( (*p) == 103 )
2069                 goto st91;
2070         goto tr30;
2071 st91:
2072         if ( ++p == pe )
2073                 goto _test_eof91;
2074 case 91:
2075         if ( (*p) == 61 )
2076                 goto st92;
2077         goto tr30;
2078 st92:
2079         if ( ++p == pe )
2080                 goto _test_eof92;
2081 case 92:
2082         if ( (*p) == 34 )
2083                 goto st93;
2084         goto tr30;
2085 st93:
2086         if ( ++p == pe )
2087                 goto _test_eof93;
2088 case 93:
2089         if ( (*p) > 90 ) {
2090                 if ( 97 <= (*p) && (*p) <= 122 )
2091                         goto st94;
2092         } else if ( (*p) >= 65 )
2093                 goto st94;
2094         goto tr30;
2095 st94:
2096         if ( ++p == pe )
2097                 goto _test_eof94;
2098 case 94:
2099         if ( (*p) == 34 )
2100                 goto st95;
2101         if ( (*p) > 90 ) {
2102                 if ( 97 <= (*p) && (*p) <= 122 )
2103                         goto st94;
2104         } else if ( (*p) >= 65 )
2105                 goto st94;
2106         goto tr30;
2107 st95:
2108         if ( ++p == pe )
2109                 goto _test_eof95;
2110 case 95:
2111         if ( (*p) == 62 )
2112                 goto tr106;
2113         goto tr30;
2114 tr138:
2115 #line 45 "wikitext_ragel.rl"
2116         {
2117         MARK();
2118     }
2119         goto st129;
2120 st129:
2121         if ( ++p == pe )
2122                 goto _test_eof129;
2123 case 129:
2124 #line 2125 "wikitext_ragel.c"
2125         switch( (*p) ) {
2126                 case 32: goto st130;
2127                 case 61: goto tr138;
2128         }
2129         goto tr184;
2130 st130:
2131         if ( ++p == pe )
2132                 goto _test_eof130;
2133 case 130:
2134         if ( (*p) == 32 )
2135                 goto st130;
2136         goto tr184;
2137 tr139:
2138 #line 45 "wikitext_ragel.rl"
2139         {
2140         MARK();
2141     }
2142         goto st131;
2143 st131:
2144         if ( ++p == pe )
2145                 goto _test_eof131;
2146 case 131:
2147 #line 2148 "wikitext_ragel.c"
2148         if ( (*p) == 32 )
2149                 goto tr187;
2150         goto tr186;
2151 tr140:
2152 #line 1 "NONE"
2153         {te = p+1;}
2154 #line 442 "wikitext_ragel.rl"
2155         {act = 44;}
2156         goto st132;
2157 st132:
2158         if ( ++p == pe )
2159                 goto _test_eof132;
2160 case 132:
2161 #line 2162 "wikitext_ragel.c"
2162         switch( (*p) ) {
2163                 case 64: goto st21;
2164                 case 84: goto tr188;
2165                 case 95: goto st20;
2166                 case 116: goto tr188;
2167         }
2168         if ( (*p) < 48 ) {
2169                 if ( 45 <= (*p) && (*p) <= 46 )
2170                         goto st20;
2171         } else if ( (*p) > 57 ) {
2172                 if ( (*p) > 90 ) {
2173                         if ( 97 <= (*p) && (*p) <= 122 )
2174                                 goto tr136;
2175                 } else if ( (*p) >= 65 )
2176                         goto tr136;
2177         } else
2178                 goto tr136;
2179         goto tr174;
2180 tr188:
2181 #line 1 "NONE"
2182         {te = p+1;}
2183 #line 442 "wikitext_ragel.rl"
2184         {act = 44;}
2185         goto st133;
2186 st133:
2187         if ( ++p == pe )
2188                 goto _test_eof133;
2189 case 133:
2190 #line 2191 "wikitext_ragel.c"
2191         switch( (*p) ) {
2192                 case 64: goto st21;
2193                 case 80: goto tr189;
2194                 case 95: goto st20;
2195                 case 112: goto tr189;
2196         }
2197         if ( (*p) < 48 ) {
2198                 if ( 45 <= (*p) && (*p) <= 46 )
2199                         goto st20;
2200         } else if ( (*p) > 57 ) {
2201                 if ( (*p) > 90 ) {
2202                         if ( 97 <= (*p) && (*p) <= 122 )
2203                                 goto tr136;
2204                 } else if ( (*p) >= 65 )
2205                         goto tr136;
2206         } else
2207                 goto tr136;
2208         goto tr174;
2209 tr189:
2210 #line 1 "NONE"
2211         {te = p+1;}
2212 #line 442 "wikitext_ragel.rl"
2213         {act = 44;}
2214         goto st134;
2215 st134:
2216         if ( ++p == pe )
2217                 goto _test_eof134;
2218 case 134:
2219 #line 2220 "wikitext_ragel.c"
2220         switch( (*p) ) {
2221                 case 58: goto st96;
2222                 case 64: goto st21;
2223                 case 95: goto st20;
2224         }
2225         if ( (*p) < 48 ) {
2226                 if ( 45 <= (*p) && (*p) <= 46 )
2227                         goto st20;
2228         } else if ( (*p) > 57 ) {
2229                 if ( (*p) > 90 ) {
2230                         if ( 97 <= (*p) && (*p) <= 122 )
2231                                 goto tr136;
2232                 } else if ( (*p) >= 65 )
2233                         goto tr136;
2234         } else
2235                 goto tr136;
2236         goto tr174;
2237 st96:
2238         if ( ++p == pe )
2239                 goto _test_eof96;
2240 case 96:
2241         if ( (*p) == 47 )
2242                 goto st97;
2243         goto tr107;
2244 st97:
2245         if ( ++p == pe )
2246                 goto _test_eof97;
2247 case 97:
2248         if ( (*p) == 47 )
2249                 goto st98;
2250         goto tr107;
2251 st98:
2252         if ( ++p == pe )
2253                 goto _test_eof98;
2254 case 98:
2255         switch( (*p) ) {
2256                 case 45: goto tr110;
2257                 case 61: goto tr110;
2258                 case 95: goto tr110;
2259                 case 126: goto tr110;
2260         }
2261         if ( (*p) < 47 ) {
2262                 if ( (*p) > 40 ) {
2263                         if ( 42 <= (*p) && (*p) <= 43 )
2264                                 goto tr110;
2265                 } else if ( (*p) >= 35 )
2266                         goto tr110;
2267         } else if ( (*p) > 57 ) {
2268                 if ( (*p) > 90 ) {
2269                         if ( 97 <= (*p) && (*p) <= 122 )
2270                                 goto tr110;
2271                 } else if ( (*p) >= 64 )
2272                         goto tr110;
2273         } else
2274                 goto tr110;
2275         goto tr107;
2276 tr110:
2277 #line 1 "NONE"
2278         {te = p+1;}
2279         goto st135;
2280 st135:
2281         if ( ++p == pe )
2282                 goto _test_eof135;
2283 case 135:
2284 #line 2285 "wikitext_ragel.c"
2285         switch( (*p) ) {
2286                 case 33: goto st99;
2287                 case 41: goto st99;
2288                 case 44: goto st99;
2289                 case 46: goto st99;
2290                 case 61: goto tr110;
2291                 case 63: goto st99;
2292                 case 95: goto tr110;
2293                 case 126: goto tr110;
2294         }
2295         if ( (*p) < 58 ) {
2296                 if ( 35 <= (*p) && (*p) <= 57 )
2297                         goto tr110;
2298         } else if ( (*p) > 59 ) {
2299                 if ( (*p) > 90 ) {
2300                         if ( 97 <= (*p) && (*p) <= 122 )
2301                                 goto tr110;
2302                 } else if ( (*p) >= 64 )
2303                         goto tr110;
2304         } else
2305                 goto st99;
2306         goto tr191;
2307 st99:
2308         if ( ++p == pe )
2309                 goto _test_eof99;
2310 case 99:
2311         switch( (*p) ) {
2312                 case 33: goto st99;
2313                 case 41: goto st99;
2314                 case 44: goto st99;
2315                 case 46: goto st99;
2316                 case 61: goto tr110;
2317                 case 63: goto st99;
2318                 case 95: goto tr110;
2319                 case 126: goto tr110;
2320         }
2321         if ( (*p) < 58 ) {
2322                 if ( 35 <= (*p) && (*p) <= 57 )
2323                         goto tr110;
2324         } else if ( (*p) > 59 ) {
2325                 if ( (*p) > 90 ) {
2326                         if ( 97 <= (*p) && (*p) <= 122 )
2327                                 goto tr110;
2328                 } else if ( (*p) >= 64 )
2329                         goto tr110;
2330         } else
2331                 goto st99;
2332         goto tr111;
2333 tr141:
2334 #line 1 "NONE"
2335         {te = p+1;}
2336 #line 442 "wikitext_ragel.rl"
2337         {act = 44;}
2338         goto st136;
2339 st136:
2340         if ( ++p == pe )
2341                 goto _test_eof136;
2342 case 136:
2343 #line 2344 "wikitext_ragel.c"
2344         switch( (*p) ) {
2345                 case 64: goto st21;
2346                 case 84: goto tr192;
2347                 case 95: goto st20;
2348                 case 116: goto tr192;
2349         }
2350         if ( (*p) < 48 ) {
2351                 if ( 45 <= (*p) && (*p) <= 46 )
2352                         goto st20;
2353         } else if ( (*p) > 57 ) {
2354                 if ( (*p) > 90 ) {
2355                         if ( 97 <= (*p) && (*p) <= 122 )
2356                                 goto tr136;
2357                 } else if ( (*p) >= 65 )
2358                         goto tr136;
2359         } else
2360                 goto tr136;
2361         goto tr174;
2362 tr192:
2363 #line 1 "NONE"
2364         {te = p+1;}
2365 #line 442 "wikitext_ragel.rl"
2366         {act = 44;}
2367         goto st137;
2368 st137:
2369         if ( ++p == pe )
2370                 goto _test_eof137;
2371 case 137:
2372 #line 2373 "wikitext_ragel.c"
2373         switch( (*p) ) {
2374                 case 64: goto st21;
2375                 case 84: goto tr193;
2376                 case 95: goto st20;
2377                 case 116: goto tr193;
2378         }
2379         if ( (*p) < 48 ) {
2380                 if ( 45 <= (*p) && (*p) <= 46 )
2381                         goto st20;
2382         } else if ( (*p) > 57 ) {
2383                 if ( (*p) > 90 ) {
2384                         if ( 97 <= (*p) && (*p) <= 122 )
2385                                 goto tr136;
2386                 } else if ( (*p) >= 65 )
2387                         goto tr136;
2388         } else
2389                 goto tr136;
2390         goto tr174;
2391 tr193:
2392 #line 1 "NONE"
2393         {te = p+1;}
2394 #line 442 "wikitext_ragel.rl"
2395         {act = 44;}
2396         goto st138;
2397 st138:
2398         if ( ++p == pe )
2399                 goto _test_eof138;
2400 case 138:
2401 #line 2402 "wikitext_ragel.c"
2402         switch( (*p) ) {
2403                 case 64: goto st21;
2404                 case 80: goto tr194;
2405                 case 95: goto st20;
2406                 case 112: goto tr194;
2407         }
2408         if ( (*p) < 48 ) {
2409                 if ( 45 <= (*p) && (*p) <= 46 )
2410                         goto st20;
2411         } else if ( (*p) > 57 ) {
2412                 if ( (*p) > 90 ) {
2413                         if ( 97 <= (*p) && (*p) <= 122 )
2414                                 goto tr136;
2415                 } else if ( (*p) >= 65 )
2416                         goto tr136;
2417         } else
2418                 goto tr136;
2419         goto tr174;
2420 tr194:
2421 #line 1 "NONE"
2422         {te = p+1;}
2423 #line 442 "wikitext_ragel.rl"
2424         {act = 44;}
2425         goto st139;
2426 st139:
2427         if ( ++p == pe )
2428                 goto _test_eof139;
2429 case 139:
2430 #line 2431 "wikitext_ragel.c"
2431         switch( (*p) ) {
2432                 case 58: goto st96;
2433                 case 64: goto st21;
2434                 case 83: goto tr189;
2435                 case 95: goto st20;
2436                 case 115: goto tr189;
2437         }
2438         if ( (*p) < 48 ) {
2439                 if ( 45 <= (*p) && (*p) <= 46 )
2440                         goto st20;
2441         } else if ( (*p) > 57 ) {
2442                 if ( (*p) > 90 ) {
2443                         if ( 97 <= (*p) && (*p) <= 122 )
2444                                 goto tr136;
2445                 } else if ( (*p) >= 65 )
2446                         goto tr136;
2447         } else
2448                 goto tr136;
2449         goto tr174;
2450 tr142:
2451 #line 1 "NONE"
2452         {te = p+1;}
2453 #line 442 "wikitext_ragel.rl"
2454         {act = 44;}
2455         goto st140;
2456 st140:
2457         if ( ++p == pe )
2458                 goto _test_eof140;
2459 case 140:
2460 #line 2461 "wikitext_ragel.c"
2461         switch( (*p) ) {
2462                 case 64: goto st21;
2463                 case 65: goto tr195;
2464                 case 95: goto st20;
2465                 case 97: goto tr195;
2466         }
2467         if ( (*p) < 48 ) {
2468                 if ( 45 <= (*p) && (*p) <= 46 )
2469                         goto st20;
2470         } else if ( (*p) > 57 ) {
2471                 if ( (*p) > 90 ) {
2472                         if ( 98 <= (*p) && (*p) <= 122 )
2473                                 goto tr136;
2474                 } else if ( (*p) >= 66 )
2475                         goto tr136;
2476         } else
2477                 goto tr136;
2478         goto tr174;
2479 tr195:
2480 #line 1 "NONE"
2481         {te = p+1;}
2482 #line 442 "wikitext_ragel.rl"
2483         {act = 44;}
2484         goto st141;
2485 st141:
2486         if ( ++p == pe )
2487                 goto _test_eof141;
2488 case 141:
2489 #line 2490 "wikitext_ragel.c"
2490         switch( (*p) ) {
2491                 case 64: goto st21;
2492                 case 73: goto tr196;
2493                 case 95: goto st20;
2494                 case 105: goto tr196;
2495         }
2496         if ( (*p) < 48 ) {
2497                 if ( 45 <= (*p) && (*p) <= 46 )
2498                         goto st20;
2499         } else if ( (*p) > 57 ) {
2500                 if ( (*p) > 90 ) {
2501                         if ( 97 <= (*p) && (*p) <= 122 )
2502                                 goto tr136;
2503                 } else if ( (*p) >= 65 )
2504                         goto tr136;
2505         } else
2506                 goto tr136;
2507         goto tr174;
2508 tr196:
2509 #line 1 "NONE"
2510         {te = p+1;}
2511 #line 442 "wikitext_ragel.rl"
2512         {act = 44;}
2513         goto st142;
2514 st142:
2515         if ( ++p == pe )
2516                 goto _test_eof142;
2517 case 142:
2518 #line 2519 "wikitext_ragel.c"
2519         switch( (*p) ) {
2520                 case 64: goto st21;
2521                 case 76: goto tr197;
2522                 case 95: goto st20;
2523                 case 108: goto tr197;
2524         }
2525         if ( (*p) < 48 ) {
2526                 if ( 45 <= (*p) && (*p) <= 46 )
2527                         goto st20;
2528         } else if ( (*p) > 57 ) {
2529                 if ( (*p) > 90 ) {
2530                         if ( 97 <= (*p) && (*p) <= 122 )
2531                                 goto tr136;
2532                 } else if ( (*p) >= 65 )
2533                         goto tr136;
2534         } else
2535                 goto tr136;
2536         goto tr174;
2537 tr197:
2538 #line 1 "NONE"
2539         {te = p+1;}
2540 #line 442 "wikitext_ragel.rl"
2541         {act = 44;}
2542         goto st143;
2543 st143:
2544         if ( ++p == pe )
2545                 goto _test_eof143;
2546 case 143:
2547 #line 2548 "wikitext_ragel.c"
2548         switch( (*p) ) {
2549                 case 64: goto st21;
2550                 case 84: goto tr198;
2551                 case 95: goto st20;
2552                 case 116: goto tr198;
2553         }
2554         if ( (*p) < 48 ) {
2555                 if ( 45 <= (*p) && (*p) <= 46 )
2556                         goto st20;
2557         } else if ( (*p) > 57 ) {
2558                 if ( (*p) > 90 ) {
2559                         if ( 97 <= (*p) && (*p) <= 122 )
2560                                 goto tr136;
2561                 } else if ( (*p) >= 65 )
2562                         goto tr136;
2563         } else
2564                 goto tr136;
2565         goto tr174;
2566 tr198:
2567 #line 1 "NONE"
2568         {te = p+1;}
2569 #line 442 "wikitext_ragel.rl"
2570         {act = 44;}
2571         goto st144;
2572 st144:
2573         if ( ++p == pe )
2574                 goto _test_eof144;
2575 case 144:
2576 #line 2577 "wikitext_ragel.c"
2577         switch( (*p) ) {
2578                 case 64: goto st21;
2579                 case 79: goto tr199;
2580                 case 95: goto st20;
2581                 case 111: goto tr199;
2582         }
2583         if ( (*p) < 48 ) {
2584                 if ( 45 <= (*p) && (*p) <= 46 )
2585                         goto st20;
2586         } else if ( (*p) > 57 ) {
2587                 if ( (*p) > 90 ) {
2588                         if ( 97 <= (*p) && (*p) <= 122 )
2589                                 goto tr136;
2590                 } else if ( (*p) >= 65 )
2591                         goto tr136;
2592         } else
2593                 goto tr136;
2594         goto tr174;
2595 tr199:
2596 #line 1 "NONE"
2597         {te = p+1;}
2598 #line 442 "wikitext_ragel.rl"
2599         {act = 44;}
2600         goto st145;
2601 st145:
2602         if ( ++p == pe )
2603                 goto _test_eof145;
2604 case 145:
2605 #line 2606 "wikitext_ragel.c"
2606         switch( (*p) ) {
2607                 case 58: goto st100;
2608                 case 64: goto st21;
2609                 case 95: goto st20;
2610         }
2611         if ( (*p) < 48 ) {
2612                 if ( 45 <= (*p) && (*p) <= 46 )
2613                         goto st20;
2614         } else if ( (*p) > 57 ) {
2615                 if ( (*p) > 90 ) {
2616                         if ( 97 <= (*p) && (*p) <= 122 )
2617                                 goto tr136;
2618                 } else if ( (*p) >= 65 )
2619                         goto tr136;
2620         } else
2621                 goto tr136;
2622         goto tr174;
2623 st100:
2624         if ( ++p == pe )
2625                 goto _test_eof100;
2626 case 100:
2627         if ( (*p) == 95 )
2628                 goto st101;
2629         if ( (*p) < 48 ) {
2630                 if ( 45 <= (*p) && (*p) <= 46 )
2631                         goto st101;
2632         } else if ( (*p) > 57 ) {
2633                 if ( (*p) > 90 ) {
2634                         if ( 97 <= (*p) && (*p) <= 122 )
2635                                 goto st101;
2636                 } else if ( (*p) >= 65 )
2637                         goto st101;
2638         } else
2639                 goto st101;
2640         goto tr107;
2641 st101:
2642         if ( ++p == pe )
2643                 goto _test_eof101;
2644 case 101:
2645         switch( (*p) ) {
2646                 case 64: goto st102;
2647                 case 95: goto st101;
2648         }
2649         if ( (*p) < 48 ) {
2650                 if ( 45 <= (*p) && (*p) <= 46 )
2651                         goto st101;
2652         } else if ( (*p) > 57 ) {
2653                 if ( (*p) > 90 ) {
2654                         if ( 97 <= (*p) && (*p) <= 122 )
2655                                 goto st101;
2656                 } else if ( (*p) >= 65 )
2657                         goto st101;
2658         } else
2659                 goto st101;
2660         goto tr107;
2661 st102:
2662         if ( ++p == pe )
2663                 goto _test_eof102;
2664 case 102:
2665         if ( (*p) < 65 ) {
2666                 if ( 48 <= (*p) && (*p) <= 57 )
2667                         goto st103;
2668         } else if ( (*p) > 90 ) {
2669                 if ( 97 <= (*p) && (*p) <= 122 )
2670                         goto st103;
2671         } else
2672                 goto st103;
2673         goto tr107;
2674 st103:
2675         if ( ++p == pe )
2676                 goto _test_eof103;
2677 case 103:
2678         if ( (*p) == 46 )
2679                 goto st104;
2680         if ( (*p) < 65 ) {
2681                 if ( 48 <= (*p) && (*p) <= 57 )
2682                         goto st103;
2683         } else if ( (*p) > 90 ) {
2684                 if ( 97 <= (*p) && (*p) <= 122 )
2685                         goto st103;
2686         } else
2687                 goto st103;
2688         goto tr23;
2689 st104:
2690         if ( ++p == pe )
2691                 goto _test_eof104;
2692 case 104:
2693         if ( (*p) < 65 ) {
2694                 if ( 48 <= (*p) && (*p) <= 57 )
2695                         goto st103;
2696         } else if ( (*p) > 90 ) {
2697                 if ( 97 <= (*p) && (*p) <= 122 )
2698                         goto st105;
2699         } else
2700                 goto st105;
2701         goto tr23;
2702 st105:
2703         if ( ++p == pe )
2704                 goto _test_eof105;
2705 case 105:
2706         if ( (*p) == 46 )
2707                 goto st104;
2708         if ( (*p) < 65 ) {
2709                 if ( 48 <= (*p) && (*p) <= 57 )
2710                         goto st103;
2711         } else if ( (*p) > 90 ) {
2712                 if ( 97 <= (*p) && (*p) <= 122 )
2713                         goto tr118;
2714         } else
2715                 goto tr118;
2716         goto tr23;
2717 tr118:
2718 #line 1 "NONE"
2719         {te = p+1;}
2720 #line 297 "wikitext_ragel.rl"
2721         {act = 21;}
2722         goto st146;
2723 st146:
2724         if ( ++p == pe )
2725                 goto _test_eof146;
2726 case 146:
2727 #line 2728 "wikitext_ragel.c"
2728         if ( (*p) == 46 )
2729                 goto st104;
2730         if ( (*p) < 65 ) {
2731                 if ( 48 <= (*p) && (*p) <= 57 )
2732                         goto st103;
2733         } else if ( (*p) > 90 ) {
2734                 if ( 97 <= (*p) && (*p) <= 122 )
2735                         goto tr201;
2736         } else
2737                 goto tr201;
2738         goto tr191;
2739 tr201:
2740 #line 1 "NONE"
2741         {te = p+1;}
2742 #line 297 "wikitext_ragel.rl"
2743         {act = 21;}
2744         goto st147;
2745 st147:
2746         if ( ++p == pe )
2747                 goto _test_eof147;
2748 case 147:
2749 #line 2750 "wikitext_ragel.c"
2750         if ( (*p) == 46 )
2751                 goto st104;
2752         if ( (*p) < 65 ) {
2753                 if ( 48 <= (*p) && (*p) <= 57 )
2754                         goto st103;
2755         } else if ( (*p) > 90 ) {
2756                 if ( 97 <= (*p) && (*p) <= 122 )
2757                         goto tr202;
2758         } else
2759                 goto tr202;
2760         goto tr191;
2761 tr202:
2762 #line 1 "NONE"
2763         {te = p+1;}
2764 #line 297 "wikitext_ragel.rl"
2765         {act = 21;}
2766         goto st148;
2767 st148:
2768         if ( ++p == pe )
2769                 goto _test_eof148;
2770 case 148:
2771 #line 2772 "wikitext_ragel.c"
2772         if ( (*p) == 46 )
2773                 goto st104;
2774         if ( (*p) < 65 ) {
2775                 if ( 48 <= (*p) && (*p) <= 57 )
2776                         goto st103;
2777         } else if ( (*p) > 90 ) {
2778                 if ( 97 <= (*p) && (*p) <= 122 )
2779                         goto tr203;
2780         } else
2781                 goto tr203;
2782         goto tr191;
2783 tr203:
2784 #line 1 "NONE"
2785         {te = p+1;}
2786 #line 297 "wikitext_ragel.rl"
2787         {act = 21;}
2788         goto st149;
2789 st149:
2790         if ( ++p == pe )
2791                 goto _test_eof149;
2792 case 149:
2793 #line 2794 "wikitext_ragel.c"
2794         if ( (*p) == 46 )
2795                 goto st104;
2796         if ( (*p) < 65 ) {
2797                 if ( 48 <= (*p) && (*p) <= 57 )
2798                         goto st103;
2799         } else if ( (*p) > 90 ) {
2800                 if ( 97 <= (*p) && (*p) <= 122 )
2801                         goto st103;
2802         } else
2803                 goto st103;
2804         goto tr191;
2805 tr143:
2806 #line 1 "NONE"
2807         {te = p+1;}
2808 #line 442 "wikitext_ragel.rl"
2809         {act = 44;}
2810         goto st150;
2811 st150:
2812         if ( ++p == pe )
2813                 goto _test_eof150;
2814 case 150:
2815 #line 2816 "wikitext_ragel.c"
2816         switch( (*p) ) {
2817                 case 64: goto st21;
2818                 case 86: goto tr204;
2819                 case 95: goto st20;
2820                 case 118: goto tr204;
2821         }
2822         if ( (*p) < 48 ) {
2823                 if ( 45 <= (*p) && (*p) <= 46 )
2824                         goto st20;
2825         } else if ( (*p) > 57 ) {
2826                 if ( (*p) > 90 ) {
2827                         if ( 97 <= (*p) && (*p) <= 122 )
2828                                 goto tr136;
2829                 } else if ( (*p) >= 65 )
2830                         goto tr136;
2831         } else
2832                 goto tr136;
2833         goto tr174;
2834 tr204:
2835 #line 1 "NONE"
2836         {te = p+1;}
2837 #line 442 "wikitext_ragel.rl"
2838         {act = 44;}
2839         goto st151;
2840 st151:
2841         if ( ++p == pe )
2842                 goto _test_eof151;
2843 case 151:
2844 #line 2845 "wikitext_ragel.c"
2845         switch( (*p) ) {
2846                 case 64: goto st21;
2847                 case 78: goto tr189;
2848                 case 95: goto st20;
2849                 case 110: goto tr189;
2850         }
2851         if ( (*p) < 48 ) {
2852                 if ( 45 <= (*p) && (*p) <= 46 )
2853                         goto st20;
2854         } else if ( (*p) > 57 ) {
2855                 if ( (*p) > 90 ) {
2856                         if ( 97 <= (*p) && (*p) <= 122 )
2857                                 goto tr136;
2858                 } else if ( (*p) >= 65 )
2859                         goto tr136;
2860         } else
2861                 goto tr136;
2862         goto tr174;
2863 st152:
2864         if ( ++p == pe )
2865                 goto _test_eof152;
2866 case 152:
2867         if ( (*p) == 91 )
2868                 goto tr206;
2869         goto tr205;
2870 st153:
2871         if ( ++p == pe )
2872                 goto _test_eof153;
2873 case 153:
2874         if ( (*p) == 93 )
2875                 goto tr208;
2876         goto tr207;
2877 st154:
2878         if ( ++p == pe )
2879                 goto _test_eof154;
2880 case 154:
2881         if ( (*p) == 123 )
2882                 goto tr210;
2883         goto tr209;
2884 st155:
2885         if ( ++p == pe )
2886                 goto _test_eof155;
2887 case 155:
2888         if ( (*p) == 125 )
2889                 goto tr212;
2890         goto tr211;
2891         }
2892         _test_eof106: cs = 106; goto _test_eof; 
2893         _test_eof1: cs = 1; goto _test_eof; 
2894         _test_eof2: cs = 2; goto _test_eof; 
2895         _test_eof3: cs = 3; goto _test_eof; 
2896         _test_eof4: cs = 4; goto _test_eof; 
2897         _test_eof5: cs = 5; goto _test_eof; 
2898         _test_eof6: cs = 6; goto _test_eof; 
2899         _test_eof107: cs = 107; goto _test_eof; 
2900         _test_eof108: cs = 108; goto _test_eof; 
2901         _test_eof109: cs = 109; goto _test_eof; 
2902         _test_eof110: cs = 110; goto _test_eof; 
2903         _test_eof111: cs = 111; goto _test_eof; 
2904         _test_eof7: cs = 7; goto _test_eof; 
2905         _test_eof8: cs = 8; goto _test_eof; 
2906         _test_eof9: cs = 9; goto _test_eof; 
2907         _test_eof10: cs = 10; goto _test_eof; 
2908         _test_eof11: cs = 11; goto _test_eof; 
2909         _test_eof12: cs = 12; goto _test_eof; 
2910         _test_eof13: cs = 13; goto _test_eof; 
2911         _test_eof14: cs = 14; goto _test_eof; 
2912         _test_eof15: cs = 15; goto _test_eof; 
2913         _test_eof16: cs = 16; goto _test_eof; 
2914         _test_eof17: cs = 17; goto _test_eof; 
2915         _test_eof18: cs = 18; goto _test_eof; 
2916         _test_eof19: cs = 19; goto _test_eof; 
2917         _test_eof112: cs = 112; goto _test_eof; 
2918         _test_eof113: cs = 113; goto _test_eof; 
2919         _test_eof114: cs = 114; goto _test_eof; 
2920         _test_eof115: cs = 115; goto _test_eof; 
2921         _test_eof116: cs = 116; goto _test_eof; 
2922         _test_eof20: cs = 20; goto _test_eof; 
2923         _test_eof21: cs = 21; goto _test_eof; 
2924         _test_eof22: cs = 22; goto _test_eof; 
2925         _test_eof23: cs = 23; goto _test_eof; 
2926         _test_eof24: cs = 24; goto _test_eof; 
2927         _test_eof117: cs = 117; goto _test_eof; 
2928         _test_eof118: cs = 118; goto _test_eof; 
2929         _test_eof119: cs = 119; goto _test_eof; 
2930         _test_eof120: cs = 120; goto _test_eof; 
2931         _test_eof121: cs = 121; goto _test_eof; 
2932         _test_eof122: cs = 122; goto _test_eof; 
2933         _test_eof123: cs = 123; goto _test_eof; 
2934         _test_eof124: cs = 124; goto _test_eof; 
2935         _test_eof125: cs = 125; goto _test_eof; 
2936         _test_eof126: cs = 126; goto _test_eof; 
2937         _test_eof127: cs = 127; goto _test_eof; 
2938         _test_eof128: cs = 128; goto _test_eof; 
2939         _test_eof25: cs = 25; goto _test_eof; 
2940         _test_eof26: cs = 26; goto _test_eof; 
2941         _test_eof27: cs = 27; goto _test_eof; 
2942         _test_eof28: cs = 28; goto _test_eof; 
2943         _test_eof29: cs = 29; goto _test_eof; 
2944         _test_eof30: cs = 30; goto _test_eof; 
2945         _test_eof31: cs = 31; goto _test_eof; 
2946         _test_eof32: cs = 32; goto _test_eof; 
2947         _test_eof33: cs = 33; goto _test_eof; 
2948         _test_eof34: cs = 34; goto _test_eof; 
2949         _test_eof35: cs = 35; goto _test_eof; 
2950         _test_eof36: cs = 36; goto _test_eof; 
2951         _test_eof37: cs = 37; goto _test_eof; 
2952         _test_eof38: cs = 38; goto _test_eof; 
2953         _test_eof39: cs = 39; goto _test_eof; 
2954         _test_eof40: cs = 40; goto _test_eof; 
2955         _test_eof41: cs = 41; goto _test_eof; 
2956         _test_eof42: cs = 42; goto _test_eof; 
2957         _test_eof43: cs = 43; goto _test_eof; 
2958         _test_eof44: cs = 44; goto _test_eof; 
2959         _test_eof45: cs = 45; goto _test_eof; 
2960         _test_eof46: cs = 46; goto _test_eof; 
2961         _test_eof47: cs = 47; goto _test_eof; 
2962         _test_eof48: cs = 48; goto _test_eof; 
2963         _test_eof49: cs = 49; goto _test_eof; 
2964         _test_eof50: cs = 50; goto _test_eof; 
2965         _test_eof51: cs = 51; goto _test_eof; 
2966         _test_eof52: cs = 52; goto _test_eof; 
2967         _test_eof53: cs = 53; goto _test_eof; 
2968         _test_eof54: cs = 54; goto _test_eof; 
2969         _test_eof55: cs = 55; goto _test_eof; 
2970         _test_eof56: cs = 56; goto _test_eof; 
2971         _test_eof57: cs = 57; goto _test_eof; 
2972         _test_eof58: cs = 58; goto _test_eof; 
2973         _test_eof59: cs = 59; goto _test_eof; 
2974         _test_eof60: cs = 60; goto _test_eof; 
2975         _test_eof61: cs = 61; goto _test_eof; 
2976         _test_eof62: cs = 62; goto _test_eof; 
2977         _test_eof63: cs = 63; goto _test_eof; 
2978         _test_eof64: cs = 64; goto _test_eof; 
2979         _test_eof65: cs = 65; goto _test_eof; 
2980         _test_eof66: cs = 66; goto _test_eof; 
2981         _test_eof67: cs = 67; goto _test_eof; 
2982         _test_eof68: cs = 68; goto _test_eof; 
2983         _test_eof69: cs = 69; goto _test_eof; 
2984         _test_eof70: cs = 70; goto _test_eof; 
2985         _test_eof71: cs = 71; goto _test_eof; 
2986         _test_eof72: cs = 72; goto _test_eof; 
2987         _test_eof73: cs = 73; goto _test_eof; 
2988         _test_eof74: cs = 74; goto _test_eof; 
2989         _test_eof75: cs = 75; goto _test_eof; 
2990         _test_eof76: cs = 76; goto _test_eof; 
2991         _test_eof77: cs = 77; goto _test_eof; 
2992         _test_eof78: cs = 78; goto _test_eof; 
2993         _test_eof79: cs = 79; goto _test_eof; 
2994         _test_eof80: cs = 80; goto _test_eof; 
2995         _test_eof81: cs = 81; goto _test_eof; 
2996         _test_eof82: cs = 82; goto _test_eof; 
2997         _test_eof83: cs = 83; goto _test_eof; 
2998         _test_eof84: cs = 84; goto _test_eof; 
2999         _test_eof85: cs = 85; goto _test_eof; 
3000         _test_eof86: cs = 86; goto _test_eof; 
3001         _test_eof87: cs = 87; goto _test_eof; 
3002         _test_eof88: cs = 88; goto _test_eof; 
3003         _test_eof89: cs = 89; goto _test_eof; 
3004         _test_eof90: cs = 90; goto _test_eof; 
3005         _test_eof91: cs = 91; goto _test_eof; 
3006         _test_eof92: cs = 92; goto _test_eof; 
3007         _test_eof93: cs = 93; goto _test_eof; 
3008         _test_eof94: cs = 94; goto _test_eof; 
3009         _test_eof95: cs = 95; goto _test_eof; 
3010         _test_eof129: cs = 129; goto _test_eof; 
3011         _test_eof130: cs = 130; goto _test_eof; 
3012         _test_eof131: cs = 131; goto _test_eof; 
3013         _test_eof132: cs = 132; goto _test_eof; 
3014         _test_eof133: cs = 133; goto _test_eof; 
3015         _test_eof134: cs = 134; goto _test_eof; 
3016         _test_eof96: cs = 96; goto _test_eof; 
3017         _test_eof97: cs = 97; goto _test_eof; 
3018         _test_eof98: cs = 98; goto _test_eof; 
3019         _test_eof135: cs = 135; goto _test_eof; 
3020         _test_eof99: cs = 99; goto _test_eof; 
3021         _test_eof136: cs = 136; goto _test_eof; 
3022         _test_eof137: cs = 137; goto _test_eof; 
3023         _test_eof138: cs = 138; goto _test_eof; 
3024         _test_eof139: cs = 139; goto _test_eof; 
3025         _test_eof140: cs = 140; goto _test_eof; 
3026         _test_eof141: cs = 141; goto _test_eof; 
3027         _test_eof142: cs = 142; goto _test_eof; 
3028         _test_eof143: cs = 143; goto _test_eof; 
3029         _test_eof144: cs = 144; goto _test_eof; 
3030         _test_eof145: cs = 145; goto _test_eof; 
3031         _test_eof100: cs = 100; goto _test_eof; 
3032         _test_eof101: cs = 101; goto _test_eof; 
3033         _test_eof102: cs = 102; goto _test_eof; 
3034         _test_eof103: cs = 103; goto _test_eof; 
3035         _test_eof104: cs = 104; goto _test_eof; 
3036         _test_eof105: cs = 105; goto _test_eof; 
3037         _test_eof146: cs = 146; goto _test_eof; 
3038         _test_eof147: cs = 147; goto _test_eof; 
3039         _test_eof148: cs = 148; goto _test_eof; 
3040         _test_eof149: cs = 149; goto _test_eof; 
3041         _test_eof150: cs = 150; goto _test_eof; 
3042         _test_eof151: cs = 151; goto _test_eof; 
3043         _test_eof152: cs = 152; goto _test_eof; 
3044         _test_eof153: cs = 153; goto _test_eof; 
3045         _test_eof154: cs = 154; goto _test_eof; 
3046         _test_eof155: cs = 155; goto _test_eof; 
3047
3048         _test_eof: {}
3049         if ( p == eof )
3050         {
3051         switch ( cs ) {
3052         case 107: goto tr150;
3053         case 108: goto tr152;
3054         case 109: goto tr154;
3055         case 110: goto tr155;
3056         case 111: goto tr156;
3057         case 7: goto tr7;
3058         case 8: goto tr7;
3059         case 9: goto tr7;
3060         case 10: goto tr7;
3061         case 11: goto tr7;
3062         case 12: goto tr7;
3063         case 13: goto tr7;
3064         case 14: goto tr7;
3065         case 15: goto tr7;
3066         case 16: goto tr7;
3067         case 17: goto tr7;
3068         case 18: goto tr7;
3069         case 19: goto tr7;
3070         case 112: goto tr160;
3071         case 113: goto tr160;
3072         case 114: goto tr160;
3073         case 115: goto tr160;
3074         case 116: goto tr155;
3075         case 20: goto tr23;
3076         case 21: goto tr23;
3077         case 22: goto tr23;
3078         case 23: goto tr23;
3079         case 24: goto tr23;
3080         case 117: goto tr166;
3081         case 118: goto tr166;
3082         case 119: goto tr166;
3083         case 120: goto tr166;
3084         case 121: goto tr155;
3085         case 122: goto tr154;
3086         case 123: goto tr170;
3087         case 124: goto tr170;
3088         case 125: goto tr170;
3089         case 126: goto tr170;
3090         case 127: goto tr174;
3091         case 128: goto tr175;
3092         case 25: goto tr30;
3093         case 26: goto tr30;
3094         case 27: goto tr30;
3095         case 28: goto tr30;
3096         case 29: goto tr30;
3097         case 30: goto tr30;
3098         case 31: goto tr30;
3099         case 32: goto tr30;
3100         case 33: goto tr30;
3101         case 34: goto tr30;
3102         case 35: goto tr30;
3103         case 36: goto tr30;
3104         case 37: goto tr30;
3105         case 38: goto tr30;
3106         case 39: goto tr30;
3107         case 40: goto tr30;
3108         case 41: goto tr30;
3109         case 42: goto tr30;
3110         case 43: goto tr30;
3111         case 44: goto tr30;
3112         case 45: goto tr30;
3113         case 46: goto tr30;
3114         case 47: goto tr30;
3115         case 48: goto tr30;
3116         case 49: goto tr30;
3117         case 50: goto tr30;
3118         case 51: goto tr30;
3119         case 52: goto tr30;
3120         case 53: goto tr30;
3121         case 54: goto tr30;
3122         case 55: goto tr30;
3123         case 56: goto tr30;
3124         case 57: goto tr30;
3125         case 58: goto tr30;
3126         case 59: goto tr30;
3127         case 60: goto tr30;
3128         case 61: goto tr30;
3129         case 62: goto tr30;
3130         case 63: goto tr30;
3131         case 64: goto tr30;
3132         case 65: goto tr30;
3133         case 66: goto tr30;
3134         case 67: goto tr30;
3135         case 68: goto tr30;
3136         case 69: goto tr30;
3137         case 70: goto tr30;
3138         case 71: goto tr30;
3139         case 72: goto tr30;
3140         case 73: goto tr30;
3141         case 74: goto tr30;
3142         case 75: goto tr30;
3143         case 76: goto tr30;
3144         case 77: goto tr30;
3145         case 78: goto tr30;
3146         case 79: goto tr30;
3147         case 80: goto tr30;
3148         case 81: goto tr30;
3149         case 82: goto tr30;
3150         case 83: goto tr30;
3151         case 84: goto tr30;
3152         case 85: goto tr30;
3153         case 86: goto tr30;
3154         case 87: goto tr30;
3155         case 88: goto tr30;
3156         case 89: goto tr30;
3157         case 90: goto tr30;
3158         case 91: goto tr30;
3159         case 92: goto tr30;
3160         case 93: goto tr30;
3161         case 94: goto tr30;
3162         case 95: goto tr30;
3163         case 129: goto tr184;
3164         case 130: goto tr184;
3165         case 131: goto tr186;
3166         case 132: goto tr174;
3167         case 133: goto tr174;
3168         case 134: goto tr174;
3169         case 96: goto tr107;
3170         case 97: goto tr107;
3171         case 98: goto tr107;
3172         case 135: goto tr191;
3173         case 99: goto tr111;
3174         case 136: goto tr174;
3175         case 137: goto tr174;
3176         case 138: goto tr174;
3177         case 139: goto tr174;
3178         case 140: goto tr174;
3179         case 141: goto tr174;
3180         case 142: goto tr174;
3181         case 143: goto tr174;
3182         case 144: goto tr174;
3183         case 145: goto tr174;
3184         case 100: goto tr107;
3185         case 101: goto tr107;
3186         case 102: goto tr107;
3187         case 103: goto tr23;
3188         case 104: goto tr23;
3189         case 105: goto tr23;
3190         case 146: goto tr191;
3191         case 147: goto tr191;
3192         case 148: goto tr191;
3193         case 149: goto tr191;
3194         case 150: goto tr174;
3195         case 151: goto tr174;
3196         case 152: goto tr205;
3197         case 153: goto tr207;
3198         case 154: goto tr209;
3199         case 155: goto tr211;
3200         }
3201         }
3202
3203         _out: {}
3204         }
3205
3206 #line 526 "wikitext_ragel.rl"
3207     if (cs == wikitext_error)
3208         rb_raise(eWikitextParserError, "failed before finding a token");
3209     else if (out->type == NO_TOKEN)
3210         rb_raise(eWikitextParserError, "failed to produce a token");
3211 }