1 /* Generated by re2c 0.15.3 */
2 #include <stdlib.h>
3 #include "ext_scanners.h"
4 
_ext_scan_at(bufsize_t (* scanner)(const unsigned char *),unsigned char * ptr,int len,bufsize_t offset)5 bufsize_t _ext_scan_at(bufsize_t (*scanner)(const unsigned char *),
6                        unsigned char *ptr, int len, bufsize_t offset) {
7   bufsize_t res;
8 
9   if (ptr == NULL || offset > len) {
10     return 0;
11   } else {
12     unsigned char lim = ptr[len];
13 
14     ptr[len] = '\0';
15     res = scanner(ptr + offset);
16     ptr[len] = lim;
17   }
18 
19   return res;
20 }
21 
_scan_table_start(const unsigned char * p)22 bufsize_t _scan_table_start(const unsigned char *p) {
23   const unsigned char *marker = NULL;
24   const unsigned char *start = p;
25 
26   {
27     unsigned char yych;
28     static const unsigned char yybm[] = {
29         0, 0,   0, 0, 0, 0, 0, 0, 0, 64, 0,  64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  64, 0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
31         0, 128, 0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
32         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
33         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
34         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
35         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
36         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
37         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
38         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
39         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
40         0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0,
41     };
42     yych = *(marker = p);
43     if (yych <= '{') {
44       if (yych <= 0x1F) {
45         if (yych <= '\t') {
46           if (yych <= 0x08)
47             goto yy6;
48           goto yy3;
49         } else {
50           if (yych <= '\n')
51             goto yy2;
52           if (yych <= '\f')
53             goto yy3;
54           goto yy6;
55         }
56       } else {
57         if (yych <= '-') {
58           if (yych <= ' ')
59             goto yy3;
60           if (yych <= ',')
61             goto yy6;
62           goto yy5;
63         } else {
64           if (yych == ':')
65             goto yy4;
66           goto yy6;
67         }
68       }
69     } else {
70       if (yych <= 0xEC) {
71         if (yych <= 0xC1) {
72           if (yych <= '|')
73             goto yy3;
74           if (yych <= 0x7F)
75             goto yy6;
76         } else {
77           if (yych <= 0xDF)
78             goto yy7;
79           if (yych <= 0xE0)
80             goto yy9;
81           goto yy10;
82         }
83       } else {
84         if (yych <= 0xF0) {
85           if (yych <= 0xED)
86             goto yy14;
87           if (yych <= 0xEF)
88             goto yy10;
89           goto yy11;
90         } else {
91           if (yych <= 0xF3)
92             goto yy12;
93           if (yych <= 0xF4)
94             goto yy13;
95         }
96       }
97     }
98   yy2 : { return 0; }
99   yy3:
100     yych = *(marker = ++p);
101     if (yybm[0 + yych] & 128) {
102       goto yy22;
103     }
104     if (yych <= '\f') {
105       if (yych == '\t')
106         goto yy29;
107       if (yych <= '\n')
108         goto yy2;
109       goto yy29;
110     } else {
111       if (yych <= ' ') {
112         if (yych <= 0x1F)
113           goto yy2;
114         goto yy29;
115       } else {
116         if (yych == ':')
117           goto yy31;
118         goto yy2;
119       }
120     }
121   yy4:
122     yych = *(marker = ++p);
123     if (yybm[0 + yych] & 128) {
124       goto yy22;
125     }
126     goto yy2;
127   yy5:
128     yych = *(marker = ++p);
129     if (yybm[0 + yych] & 128) {
130       goto yy22;
131     }
132     if (yych <= ' ') {
133       if (yych <= 0x08)
134         goto yy2;
135       if (yych <= '\r')
136         goto yy16;
137       if (yych <= 0x1F)
138         goto yy2;
139       goto yy16;
140     } else {
141       if (yych <= ':') {
142         if (yych <= '9')
143           goto yy2;
144         goto yy15;
145       } else {
146         if (yych == '|')
147           goto yy16;
148         goto yy2;
149       }
150     }
151   yy6:
152     yych = *++p;
153     goto yy2;
154   yy7:
155     yych = *++p;
156     if (yych <= 0x7F)
157       goto yy8;
158     if (yych <= 0xBF)
159       goto yy6;
160   yy8:
161     p = marker;
162     goto yy2;
163   yy9:
164     yych = *++p;
165     if (yych <= 0x9F)
166       goto yy8;
167     if (yych <= 0xBF)
168       goto yy7;
169     goto yy8;
170   yy10:
171     yych = *++p;
172     if (yych <= 0x7F)
173       goto yy8;
174     if (yych <= 0xBF)
175       goto yy7;
176     goto yy8;
177   yy11:
178     yych = *++p;
179     if (yych <= 0x8F)
180       goto yy8;
181     if (yych <= 0xBF)
182       goto yy10;
183     goto yy8;
184   yy12:
185     yych = *++p;
186     if (yych <= 0x7F)
187       goto yy8;
188     if (yych <= 0xBF)
189       goto yy10;
190     goto yy8;
191   yy13:
192     yych = *++p;
193     if (yych <= 0x7F)
194       goto yy8;
195     if (yych <= 0x8F)
196       goto yy10;
197     goto yy8;
198   yy14:
199     yych = *++p;
200     if (yych <= 0x7F)
201       goto yy8;
202     if (yych <= 0x9F)
203       goto yy7;
204     goto yy8;
205   yy15:
206     ++p;
207     yych = *p;
208   yy16:
209     if (yybm[0 + yych] & 64) {
210       goto yy15;
211     }
212     if (yych <= '\r') {
213       if (yych <= 0x08)
214         goto yy8;
215       if (yych <= '\n')
216         goto yy20;
217       goto yy19;
218     } else {
219       if (yych != '|')
220         goto yy8;
221     }
222   yy17:
223     ++p;
224     yych = *p;
225     if (yych <= 0x1F) {
226       if (yych <= '\n') {
227         if (yych <= 0x08)
228           goto yy8;
229         if (yych <= '\t')
230           goto yy17;
231         goto yy20;
232       } else {
233         if (yych <= '\f')
234           goto yy17;
235         if (yych >= 0x0E)
236           goto yy8;
237       }
238     } else {
239       if (yych <= '-') {
240         if (yych <= ' ')
241           goto yy17;
242         if (yych <= ',')
243           goto yy8;
244         goto yy25;
245       } else {
246         if (yych == ':')
247           goto yy24;
248         goto yy8;
249       }
250     }
251   yy19:
252     yych = *++p;
253     if (yych != '\n')
254       goto yy8;
255   yy20:
256     ++p;
257     { return (bufsize_t)(p - start); }
258   yy22:
259     ++p;
260     yych = *p;
261     if (yybm[0 + yych] & 128) {
262       goto yy22;
263     }
264     if (yych <= 0x1F) {
265       if (yych <= '\n') {
266         if (yych <= 0x08)
267           goto yy8;
268         if (yych <= '\t')
269           goto yy15;
270         goto yy20;
271       } else {
272         if (yych <= '\f')
273           goto yy15;
274         if (yych <= '\r')
275           goto yy19;
276         goto yy8;
277       }
278     } else {
279       if (yych <= ':') {
280         if (yych <= ' ')
281           goto yy15;
282         if (yych <= '9')
283           goto yy8;
284         goto yy15;
285       } else {
286         if (yych == '|')
287           goto yy17;
288         goto yy8;
289       }
290     }
291   yy24:
292     ++p;
293     yych = *p;
294     if (yych != '-')
295       goto yy8;
296   yy25:
297     ++p;
298     yych = *p;
299     if (yych <= ' ') {
300       if (yych <= '\n') {
301         if (yych <= 0x08)
302           goto yy8;
303         if (yych >= '\n')
304           goto yy20;
305       } else {
306         if (yych <= '\f')
307           goto yy27;
308         if (yych <= '\r')
309           goto yy19;
310         if (yych <= 0x1F)
311           goto yy8;
312       }
313     } else {
314       if (yych <= '9') {
315         if (yych == '-')
316           goto yy25;
317         goto yy8;
318       } else {
319         if (yych <= ':')
320           goto yy27;
321         if (yych == '|')
322           goto yy17;
323         goto yy8;
324       }
325     }
326   yy27:
327     ++p;
328     yych = *p;
329     if (yych <= '\r') {
330       if (yych <= '\t') {
331         if (yych <= 0x08)
332           goto yy8;
333         goto yy27;
334       } else {
335         if (yych <= '\n')
336           goto yy20;
337         if (yych <= '\f')
338           goto yy27;
339         goto yy19;
340       }
341     } else {
342       if (yych <= ' ') {
343         if (yych <= 0x1F)
344           goto yy8;
345         goto yy27;
346       } else {
347         if (yych == '|')
348           goto yy17;
349         goto yy8;
350       }
351     }
352   yy29:
353     ++p;
354     yych = *p;
355     if (yybm[0 + yych] & 128) {
356       goto yy22;
357     }
358     if (yych <= '\f') {
359       if (yych == '\t')
360         goto yy29;
361       if (yych <= '\n')
362         goto yy8;
363       goto yy29;
364     } else {
365       if (yych <= ' ') {
366         if (yych <= 0x1F)
367           goto yy8;
368         goto yy29;
369       } else {
370         if (yych != ':')
371           goto yy8;
372       }
373     }
374   yy31:
375     ++p;
376     if (yybm[0 + (yych = *p)] & 128) {
377       goto yy22;
378     }
379     goto yy8;
380   }
381 }
382 
_scan_table_cell(const unsigned char * p)383 bufsize_t _scan_table_cell(const unsigned char *p) {
384   const unsigned char *marker = NULL;
385   const unsigned char *start = p;
386 
387   {
388     unsigned char yych;
389     static const unsigned char yybm[] = {
390         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0,   128, 128, 0,
391         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
392         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
393         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
394         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
395         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
396         128, 128, 128, 128, 128, 128, 128, 128, 64,  128, 128, 128, 128, 128,
397         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
398         128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0,   128,
399         128, 128, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
400         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
401         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
402         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
403         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
404         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
405         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
406         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
407         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
408         0,   0,   0,   0,
409     };
410     yych = *(marker = p);
411     if (yych <= 0x7F) {
412       if (yych <= '\r') {
413         if (yych == '\n')
414           goto yy34;
415         if (yych <= '\f')
416           goto yy36;
417         goto yy45;
418       } else {
419         if (yych <= '\\') {
420           if (yych <= '[')
421             goto yy36;
422           goto yy35;
423         } else {
424           if (yych == '|')
425             goto yy45;
426           goto yy36;
427         }
428       }
429     } else {
430       if (yych <= 0xED) {
431         if (yych <= 0xDF) {
432           if (yych >= 0xC2)
433             goto yy37;
434         } else {
435           if (yych <= 0xE0)
436             goto yy39;
437           if (yych <= 0xEC)
438             goto yy40;
439           goto yy44;
440         }
441       } else {
442         if (yych <= 0xF0) {
443           if (yych <= 0xEF)
444             goto yy40;
445           goto yy41;
446         } else {
447           if (yych <= 0xF3)
448             goto yy42;
449           if (yych <= 0xF4)
450             goto yy43;
451         }
452       }
453     }
454   yy34 : { return (bufsize_t)(p - start); }
455   yy35:
456     yych = *(marker = ++p);
457     if (yych == '|')
458       goto yy49;
459     goto yy50;
460   yy36:
461     yych = *(marker = ++p);
462     goto yy50;
463   yy37:
464     yych = *++p;
465     if (yych <= 0x7F)
466       goto yy38;
467     if (yych <= 0xBF)
468       goto yy36;
469   yy38:
470     p = marker;
471     goto yy34;
472   yy39:
473     yych = *++p;
474     if (yych <= 0x9F)
475       goto yy38;
476     if (yych <= 0xBF)
477       goto yy37;
478     goto yy38;
479   yy40:
480     yych = *++p;
481     if (yych <= 0x7F)
482       goto yy38;
483     if (yych <= 0xBF)
484       goto yy37;
485     goto yy38;
486   yy41:
487     yych = *++p;
488     if (yych <= 0x8F)
489       goto yy38;
490     if (yych <= 0xBF)
491       goto yy40;
492     goto yy38;
493   yy42:
494     yych = *++p;
495     if (yych <= 0x7F)
496       goto yy38;
497     if (yych <= 0xBF)
498       goto yy40;
499     goto yy38;
500   yy43:
501     yych = *++p;
502     if (yych <= 0x7F)
503       goto yy38;
504     if (yych <= 0x8F)
505       goto yy40;
506     goto yy38;
507   yy44:
508     yych = *++p;
509     if (yych <= 0x7F)
510       goto yy38;
511     if (yych <= 0x9F)
512       goto yy37;
513     goto yy38;
514   yy45:
515     ++p;
516     { return 0; }
517   yy47:
518     marker = ++p;
519     yych = *p;
520     if (yybm[0 + yych] & 64) {
521       goto yy47;
522     }
523     if (yych <= 0xDF) {
524       if (yych <= '\f') {
525         if (yych == '\n')
526           goto yy34;
527       } else {
528         if (yych <= '\r')
529           goto yy34;
530         if (yych <= 0x7F)
531           goto yy49;
532         if (yych <= 0xC1)
533           goto yy34;
534         goto yy51;
535       }
536     } else {
537       if (yych <= 0xEF) {
538         if (yych <= 0xE0)
539           goto yy52;
540         if (yych == 0xED)
541           goto yy57;
542         goto yy53;
543       } else {
544         if (yych <= 0xF0)
545           goto yy54;
546         if (yych <= 0xF3)
547           goto yy55;
548         if (yych <= 0xF4)
549           goto yy56;
550         goto yy34;
551       }
552     }
553   yy49:
554     marker = ++p;
555     yych = *p;
556   yy50:
557     if (yybm[0 + yych] & 128) {
558       goto yy49;
559     }
560     if (yych <= 0xEC) {
561       if (yych <= 0xC1) {
562         if (yych <= '\r')
563           goto yy34;
564         if (yych <= '\\')
565           goto yy47;
566         goto yy34;
567       } else {
568         if (yych <= 0xDF)
569           goto yy51;
570         if (yych <= 0xE0)
571           goto yy52;
572         goto yy53;
573       }
574     } else {
575       if (yych <= 0xF0) {
576         if (yych <= 0xED)
577           goto yy57;
578         if (yych <= 0xEF)
579           goto yy53;
580         goto yy54;
581       } else {
582         if (yych <= 0xF3)
583           goto yy55;
584         if (yych <= 0xF4)
585           goto yy56;
586         goto yy34;
587       }
588     }
589   yy51:
590     ++p;
591     yych = *p;
592     if (yych <= 0x7F)
593       goto yy38;
594     if (yych <= 0xBF)
595       goto yy49;
596     goto yy38;
597   yy52:
598     ++p;
599     yych = *p;
600     if (yych <= 0x9F)
601       goto yy38;
602     if (yych <= 0xBF)
603       goto yy51;
604     goto yy38;
605   yy53:
606     ++p;
607     yych = *p;
608     if (yych <= 0x7F)
609       goto yy38;
610     if (yych <= 0xBF)
611       goto yy51;
612     goto yy38;
613   yy54:
614     ++p;
615     yych = *p;
616     if (yych <= 0x8F)
617       goto yy38;
618     if (yych <= 0xBF)
619       goto yy53;
620     goto yy38;
621   yy55:
622     ++p;
623     yych = *p;
624     if (yych <= 0x7F)
625       goto yy38;
626     if (yych <= 0xBF)
627       goto yy53;
628     goto yy38;
629   yy56:
630     ++p;
631     yych = *p;
632     if (yych <= 0x7F)
633       goto yy38;
634     if (yych <= 0x8F)
635       goto yy53;
636     goto yy38;
637   yy57:
638     ++p;
639     yych = *p;
640     if (yych <= 0x7F)
641       goto yy38;
642     if (yych <= 0x9F)
643       goto yy51;
644     goto yy38;
645   }
646 }
647 
_scan_table_cell_end(const unsigned char * p)648 bufsize_t _scan_table_cell_end(const unsigned char *p) {
649   const unsigned char *marker = NULL;
650   const unsigned char *start = p;
651 
652   {
653     unsigned char yych;
654     unsigned int yyaccept = 0;
655     static const unsigned char yybm[] = {
656         0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0,
657         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   128, 0, 0, 0, 0, 0, 0, 0,
658         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
659         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
660         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
661         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
662         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
663         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
664         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
665         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
666         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
667         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
668         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0,
669     };
670     yych = *(marker = p);
671     if (yych <= 0xDF) {
672       if (yych <= '{') {
673         if (yych != '\n')
674           goto yy63;
675       } else {
676         if (yych <= '|')
677           goto yy61;
678         if (yych <= 0x7F)
679           goto yy63;
680         if (yych >= 0xC2)
681           goto yy64;
682       }
683     } else {
684       if (yych <= 0xEF) {
685         if (yych <= 0xE0)
686           goto yy66;
687         if (yych == 0xED)
688           goto yy71;
689         goto yy67;
690       } else {
691         if (yych <= 0xF0)
692           goto yy68;
693         if (yych <= 0xF3)
694           goto yy69;
695         if (yych <= 0xF4)
696           goto yy70;
697       }
698     }
699   yy60 : { return 0; }
700   yy61:
701     yyaccept = 1;
702     yych = *(marker = ++p);
703     goto yy73;
704   yy62 : { return (bufsize_t)(p - start); }
705   yy63:
706     yych = *++p;
707     goto yy60;
708   yy64:
709     yych = *++p;
710     if (yych <= 0x7F)
711       goto yy65;
712     if (yych <= 0xBF)
713       goto yy63;
714   yy65:
715     p = marker;
716     if (yyaccept == 0) {
717       goto yy60;
718     } else {
719       goto yy62;
720     }
721   yy66:
722     yych = *++p;
723     if (yych <= 0x9F)
724       goto yy65;
725     if (yych <= 0xBF)
726       goto yy64;
727     goto yy65;
728   yy67:
729     yych = *++p;
730     if (yych <= 0x7F)
731       goto yy65;
732     if (yych <= 0xBF)
733       goto yy64;
734     goto yy65;
735   yy68:
736     yych = *++p;
737     if (yych <= 0x8F)
738       goto yy65;
739     if (yych <= 0xBF)
740       goto yy67;
741     goto yy65;
742   yy69:
743     yych = *++p;
744     if (yych <= 0x7F)
745       goto yy65;
746     if (yych <= 0xBF)
747       goto yy67;
748     goto yy65;
749   yy70:
750     yych = *++p;
751     if (yych <= 0x7F)
752       goto yy65;
753     if (yych <= 0x8F)
754       goto yy67;
755     goto yy65;
756   yy71:
757     yych = *++p;
758     if (yych <= 0x7F)
759       goto yy65;
760     if (yych <= 0x9F)
761       goto yy64;
762     goto yy65;
763   yy72:
764     yyaccept = 1;
765     marker = ++p;
766     yych = *p;
767   yy73:
768     if (yybm[0 + yych] & 128) {
769       goto yy72;
770     }
771     if (yych <= 0x08)
772       goto yy62;
773     if (yych <= '\n')
774       goto yy75;
775     if (yych >= 0x0E)
776       goto yy62;
777     yych = *++p;
778     if (yych != '\n')
779       goto yy65;
780   yy75:
781     ++p;
782     yych = *p;
783     goto yy62;
784   }
785 }
786 
_scan_table_row_end(const unsigned char * p)787 bufsize_t _scan_table_row_end(const unsigned char *p) {
788   const unsigned char *marker = NULL;
789   const unsigned char *start = p;
790 
791   {
792     unsigned char yych;
793     static const unsigned char yybm[] = {
794         0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0,
795         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   128, 0, 0, 0, 0, 0, 0, 0,
796         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
797         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
798         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
799         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
800         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
801         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
802         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
803         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
804         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
805         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0, 0, 0, 0, 0,
806         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0,   0,   0, 0, 0,
807     };
808     yych = *(marker = p);
809     if (yych <= 0xC1) {
810       if (yych <= '\f') {
811         if (yych <= 0x08)
812           goto yy83;
813         if (yych == '\n')
814           goto yy81;
815         goto yy79;
816       } else {
817         if (yych <= 0x1F) {
818           if (yych <= '\r')
819             goto yy80;
820           goto yy83;
821         } else {
822           if (yych <= ' ')
823             goto yy79;
824           if (yych <= 0x7F)
825             goto yy83;
826         }
827       }
828     } else {
829       if (yych <= 0xED) {
830         if (yych <= 0xDF)
831           goto yy84;
832         if (yych <= 0xE0)
833           goto yy86;
834         if (yych <= 0xEC)
835           goto yy87;
836         goto yy91;
837       } else {
838         if (yych <= 0xF0) {
839           if (yych <= 0xEF)
840             goto yy87;
841           goto yy88;
842         } else {
843           if (yych <= 0xF3)
844             goto yy89;
845           if (yych <= 0xF4)
846             goto yy90;
847         }
848       }
849     }
850   yy78 : { return 0; }
851   yy79:
852     yych = *(marker = ++p);
853     if (yych <= 0x08)
854       goto yy78;
855     if (yych <= '\r')
856       goto yy94;
857     if (yych == ' ')
858       goto yy94;
859     goto yy78;
860   yy80:
861     yych = *++p;
862     if (yych != '\n')
863       goto yy78;
864   yy81:
865     ++p;
866     { return (bufsize_t)(p - start); }
867   yy83:
868     yych = *++p;
869     goto yy78;
870   yy84:
871     yych = *++p;
872     if (yych <= 0x7F)
873       goto yy85;
874     if (yych <= 0xBF)
875       goto yy83;
876   yy85:
877     p = marker;
878     goto yy78;
879   yy86:
880     yych = *++p;
881     if (yych <= 0x9F)
882       goto yy85;
883     if (yych <= 0xBF)
884       goto yy84;
885     goto yy85;
886   yy87:
887     yych = *++p;
888     if (yych <= 0x7F)
889       goto yy85;
890     if (yych <= 0xBF)
891       goto yy84;
892     goto yy85;
893   yy88:
894     yych = *++p;
895     if (yych <= 0x8F)
896       goto yy85;
897     if (yych <= 0xBF)
898       goto yy87;
899     goto yy85;
900   yy89:
901     yych = *++p;
902     if (yych <= 0x7F)
903       goto yy85;
904     if (yych <= 0xBF)
905       goto yy87;
906     goto yy85;
907   yy90:
908     yych = *++p;
909     if (yych <= 0x7F)
910       goto yy85;
911     if (yych <= 0x8F)
912       goto yy87;
913     goto yy85;
914   yy91:
915     yych = *++p;
916     if (yych <= 0x7F)
917       goto yy85;
918     if (yych <= 0x9F)
919       goto yy84;
920     goto yy85;
921   yy92:
922     yych = *++p;
923     if (yych == '\n')
924       goto yy81;
925     goto yy85;
926   yy93:
927     ++p;
928     yych = *p;
929   yy94:
930     if (yybm[0 + yych] & 128) {
931       goto yy93;
932     }
933     if (yych <= 0x08)
934       goto yy85;
935     if (yych <= '\n')
936       goto yy81;
937     if (yych <= '\r')
938       goto yy92;
939     goto yy85;
940   }
941 }
942