aboutsummaryrefslogtreecommitdiff
path: root/lib/cmark/src/scanners.c
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-09 18:27:38 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-09 18:27:38 +0200
commitde8fd9328e9deb0d1ec596d7486686ea3cb688c2 (patch)
tree9c25d7568dee522c1d2ed7b6d238d1dad54163f6 /lib/cmark/src/scanners.c
parent661ddc244793102ee0720871c4edcd64f80bc744 (diff)
downloadkristall-de8fd9328e9deb0d1ec596d7486686ea3cb688c2.tar.gz
Includes cmark markdown parser library.
Diffstat (limited to 'lib/cmark/src/scanners.c')
-rw-r--r--lib/cmark/src/scanners.c13787
1 files changed, 13787 insertions, 0 deletions
diff --git a/lib/cmark/src/scanners.c b/lib/cmark/src/scanners.c
new file mode 100644
index 0000000..f8e6c15
--- /dev/null
+++ b/lib/cmark/src/scanners.c
@@ -0,0 +1,13787 @@
+/* Generated by re2c 0.16 */
+#include <stdlib.h>
+#include "chunk.h"
+#include "scanners.h"
+
+bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
+ bufsize_t offset) {
+ bufsize_t res;
+ unsigned char *ptr = (unsigned char *)c->data;
+
+ if (ptr == NULL || offset > c->len) {
+ return 0;
+ } else {
+ unsigned char lim = ptr[c->len];
+
+ ptr[c->len] = '\0';
+ res = scanner(ptr + offset);
+ ptr[c->len] = lim;
+ }
+
+ return res;
+}
+
+// Try to match a scheme including colon.
+bufsize_t _scan_scheme(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych <= '@')
+ goto yy2;
+ if (yych <= 'Z')
+ goto yy4;
+ if (yych <= '`')
+ goto yy2;
+ if (yych <= 'z')
+ goto yy4;
+ yy2:
+ ++p;
+ yy3 : { return 0; }
+ yy4:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= '+') {
+ if (yych <= '*')
+ goto yy3;
+ } else {
+ if (yych <= ',')
+ goto yy3;
+ if (yych >= '/')
+ goto yy3;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '9')
+ goto yy5;
+ if (yych <= '@')
+ goto yy3;
+ } else {
+ if (yych <= '`')
+ goto yy3;
+ if (yych >= '{')
+ goto yy3;
+ }
+ }
+ yy5:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy7;
+ } else {
+ if (yych != '/')
+ goto yy7;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych >= 'A')
+ goto yy7;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych <= 'z')
+ goto yy7;
+ }
+ }
+ yy6:
+ p = marker;
+ goto yy3;
+ yy7:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy10;
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ goto yy10;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ goto yy10;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych <= 'z')
+ goto yy10;
+ goto yy6;
+ }
+ }
+ yy8:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy10:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy6;
+ } else {
+ if (yych == '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy8;
+ if (yych <= '@')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy6;
+ if (yych >= '{')
+ goto yy6;
+ }
+ }
+ ++p;
+ if ((yych = *p) == ':')
+ goto yy8;
+ goto yy6;
+ }
+}
+
+// Try to match URI autolink after first <, returning number of chars matched.
+bufsize_t _scan_autolink_uri(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '@')
+ goto yy41;
+ if (yych <= 'Z')
+ goto yy43;
+ if (yych <= '`')
+ goto yy41;
+ if (yych <= 'z')
+ goto yy43;
+ yy41:
+ ++p;
+ yy42 : { return 0; }
+ yy43:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= '+') {
+ if (yych <= '*')
+ goto yy42;
+ } else {
+ if (yych <= ',')
+ goto yy42;
+ if (yych >= '/')
+ goto yy42;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '9')
+ goto yy44;
+ if (yych <= '@')
+ goto yy42;
+ } else {
+ if (yych <= '`')
+ goto yy42;
+ if (yych >= '{')
+ goto yy42;
+ }
+ }
+ yy44:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy46;
+ } else {
+ if (yych != '/')
+ goto yy46;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych >= 'A')
+ goto yy46;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych <= 'z')
+ goto yy46;
+ }
+ }
+ yy45:
+ p = marker;
+ goto yy42;
+ yy46:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy49;
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ goto yy49;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ goto yy49;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych <= 'z')
+ goto yy49;
+ goto yy45;
+ }
+ }
+ yy47:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy47;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '<')
+ goto yy45;
+ if (yych <= '>')
+ goto yy50;
+ goto yy45;
+ } else {
+ if (yych <= 0xDF)
+ goto yy52;
+ if (yych <= 0xE0)
+ goto yy53;
+ goto yy54;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy55;
+ if (yych <= 0xEF)
+ goto yy54;
+ goto yy56;
+ } else {
+ if (yych <= 0xF3)
+ goto yy57;
+ if (yych <= 0xF4)
+ goto yy58;
+ goto yy45;
+ }
+ }
+ yy49:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy59;
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ goto yy59;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ goto yy59;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych <= 'z')
+ goto yy59;
+ goto yy45;
+ }
+ }
+ yy50:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy52:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy45;
+ if (yych <= 0xBF)
+ goto yy47;
+ goto yy45;
+ yy53:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy45;
+ if (yych <= 0xBF)
+ goto yy52;
+ goto yy45;
+ yy54:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy45;
+ if (yych <= 0xBF)
+ goto yy52;
+ goto yy45;
+ yy55:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy45;
+ if (yych <= 0x9F)
+ goto yy52;
+ goto yy45;
+ yy56:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy45;
+ if (yych <= 0xBF)
+ goto yy54;
+ goto yy45;
+ yy57:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy45;
+ if (yych <= 0xBF)
+ goto yy54;
+ goto yy45;
+ yy58:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy45;
+ if (yych <= 0x8F)
+ goto yy54;
+ goto yy45;
+ yy59:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy45;
+ } else {
+ if (yych == '/')
+ goto yy45;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy47;
+ if (yych <= '@')
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy45;
+ if (yych >= '{')
+ goto yy45;
+ }
+ }
+ ++p;
+ if ((yych = *p) == ':')
+ goto yy47;
+ goto yy45;
+ }
+}
+
+// Try to match email autolink after first <, returning num of chars matched.
+bufsize_t _scan_autolink_email(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0,
+ 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '9') {
+ if (yych <= '\'') {
+ if (yych == '!')
+ goto yy91;
+ if (yych >= '#')
+ goto yy91;
+ } else {
+ if (yych <= ')')
+ goto yy89;
+ if (yych != ',')
+ goto yy91;
+ }
+ } else {
+ if (yych <= '?') {
+ if (yych == '=')
+ goto yy91;
+ if (yych >= '?')
+ goto yy91;
+ } else {
+ if (yych <= 'Z') {
+ if (yych >= 'A')
+ goto yy91;
+ } else {
+ if (yych <= ']')
+ goto yy89;
+ if (yych <= '~')
+ goto yy91;
+ }
+ }
+ }
+ yy89:
+ ++p;
+ yy90 : { return 0; }
+ yy91:
+ yych = *(marker = ++p);
+ if (yych <= ',') {
+ if (yych <= '"') {
+ if (yych == '!')
+ goto yy93;
+ goto yy90;
+ } else {
+ if (yych <= '\'')
+ goto yy93;
+ if (yych <= ')')
+ goto yy90;
+ if (yych <= '+')
+ goto yy93;
+ goto yy90;
+ }
+ } else {
+ if (yych <= '>') {
+ if (yych <= '9')
+ goto yy93;
+ if (yych == '=')
+ goto yy93;
+ goto yy90;
+ } else {
+ if (yych <= 'Z')
+ goto yy93;
+ if (yych <= ']')
+ goto yy90;
+ if (yych <= '~')
+ goto yy93;
+ goto yy90;
+ }
+ }
+ yy92:
+ ++p;
+ yych = *p;
+ yy93:
+ if (yybm[0 + yych] & 128) {
+ goto yy92;
+ }
+ if (yych <= '>')
+ goto yy94;
+ if (yych <= '@')
+ goto yy95;
+ yy94:
+ p = marker;
+ goto yy90;
+ yy95:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy94;
+ if (yych >= ':')
+ goto yy94;
+ } else {
+ if (yych <= 'Z')
+ goto yy96;
+ if (yych <= '`')
+ goto yy94;
+ if (yych >= '{')
+ goto yy94;
+ }
+ yy96:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy98;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy98;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy98;
+ goto yy94;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy101;
+ if (yych <= '/')
+ goto yy94;
+ goto yy102;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy102;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy102;
+ goto yy94;
+ }
+ }
+ yy98:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych <= '-')
+ goto yy101;
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy102;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy102;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy102;
+ goto yy94;
+ }
+ }
+ yy99:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy101:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy103;
+ if (yych <= '/')
+ goto yy94;
+ goto yy104;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy104;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy104;
+ goto yy94;
+ }
+ }
+ yy102:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy104;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy104;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy104;
+ goto yy94;
+ }
+ }
+ yy103:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy105;
+ if (yych <= '/')
+ goto yy94;
+ goto yy106;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy106;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy106;
+ goto yy94;
+ }
+ }
+ yy104:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy106;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy106;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy106;
+ goto yy94;
+ }
+ }
+ yy105:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy107;
+ if (yych <= '/')
+ goto yy94;
+ goto yy108;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy108;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy108;
+ goto yy94;
+ }
+ }
+ yy106:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy108;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy108;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy108;
+ goto yy94;
+ }
+ }
+ yy107:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy109;
+ if (yych <= '/')
+ goto yy94;
+ goto yy110;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy110;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy110;
+ goto yy94;
+ }
+ }
+ yy108:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy110;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy110;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy110;
+ goto yy94;
+ }
+ }
+ yy109:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy111;
+ if (yych <= '/')
+ goto yy94;
+ goto yy112;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy112;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy112;
+ goto yy94;
+ }
+ }
+ yy110:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy112;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy112;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy112;
+ goto yy94;
+ }
+ }
+ yy111:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy113;
+ if (yych <= '/')
+ goto yy94;
+ goto yy114;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy114;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy114;
+ goto yy94;
+ }
+ }
+ yy112:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy114;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy114;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy114;
+ goto yy94;
+ }
+ }
+ yy113:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy115;
+ if (yych <= '/')
+ goto yy94;
+ goto yy116;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy116;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy116;
+ goto yy94;
+ }
+ }
+ yy114:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy116;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy116;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy116;
+ goto yy94;
+ }
+ }
+ yy115:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy117;
+ if (yych <= '/')
+ goto yy94;
+ goto yy118;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy118;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy118;
+ goto yy94;
+ }
+ }
+ yy116:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy118;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy118;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy118;
+ goto yy94;
+ }
+ }
+ yy117:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy119;
+ if (yych <= '/')
+ goto yy94;
+ goto yy120;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy120;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy120;
+ goto yy94;
+ }
+ }
+ yy118:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy120;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy120;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy120;
+ goto yy94;
+ }
+ }
+ yy119:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy121;
+ if (yych <= '/')
+ goto yy94;
+ goto yy122;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy122;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy122;
+ goto yy94;
+ }
+ }
+ yy120:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy122;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy122;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy122;
+ goto yy94;
+ }
+ }
+ yy121:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy123;
+ if (yych <= '/')
+ goto yy94;
+ goto yy124;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy124;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy124;
+ goto yy94;
+ }
+ }
+ yy122:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy124;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy124;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy124;
+ goto yy94;
+ }
+ }
+ yy123:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy125;
+ if (yych <= '/')
+ goto yy94;
+ goto yy126;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy126;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy126;
+ goto yy94;
+ }
+ }
+ yy124:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy126;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy126;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy126;
+ goto yy94;
+ }
+ }
+ yy125:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy127;
+ if (yych <= '/')
+ goto yy94;
+ goto yy128;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy128;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy128;
+ goto yy94;
+ }
+ }
+ yy126:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy128;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy128;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy128;
+ goto yy94;
+ }
+ }
+ yy127:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy129;
+ if (yych <= '/')
+ goto yy94;
+ goto yy130;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy130;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy130;
+ goto yy94;
+ }
+ }
+ yy128:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy130;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy130;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy130;
+ goto yy94;
+ }
+ }
+ yy129:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy131;
+ if (yych <= '/')
+ goto yy94;
+ goto yy132;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy132;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy132;
+ goto yy94;
+ }
+ }
+ yy130:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy132;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy132;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy132;
+ goto yy94;
+ }
+ }
+ yy131:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy133;
+ if (yych <= '/')
+ goto yy94;
+ goto yy134;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy134;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy134;
+ goto yy94;
+ }
+ }
+ yy132:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy134;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy134;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy134;
+ goto yy94;
+ }
+ }
+ yy133:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy135;
+ if (yych <= '/')
+ goto yy94;
+ goto yy136;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy136;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy136;
+ goto yy94;
+ }
+ }
+ yy134:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy136;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy136;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy136;
+ goto yy94;
+ }
+ }
+ yy135:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy137;
+ if (yych <= '/')
+ goto yy94;
+ goto yy138;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy138;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy138;
+ goto yy94;
+ }
+ }
+ yy136:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy138;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy138;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy138;
+ goto yy94;
+ }
+ }
+ yy137:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy139;
+ if (yych <= '/')
+ goto yy94;
+ goto yy140;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy140;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy140;
+ goto yy94;
+ }
+ }
+ yy138:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy140;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy140;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy140;
+ goto yy94;
+ }
+ }
+ yy139:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy141;
+ if (yych <= '/')
+ goto yy94;
+ goto yy142;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy142;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy142;
+ goto yy94;
+ }
+ }
+ yy140:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy142;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy142;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy142;
+ goto yy94;
+ }
+ }
+ yy141:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy143;
+ if (yych <= '/')
+ goto yy94;
+ goto yy144;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy144;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy144;
+ goto yy94;
+ }
+ }
+ yy142:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy144;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy144;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy144;
+ goto yy94;
+ }
+ }
+ yy143:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy145;
+ if (yych <= '/')
+ goto yy94;
+ goto yy146;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy146;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy146;
+ goto yy94;
+ }
+ }
+ yy144:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy146;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy146;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy146;
+ goto yy94;
+ }
+ }
+ yy145:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy147;
+ if (yych <= '/')
+ goto yy94;
+ goto yy148;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy148;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy148;
+ goto yy94;
+ }
+ }
+ yy146:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy148;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy148;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy148;
+ goto yy94;
+ }
+ }
+ yy147:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy149;
+ if (yych <= '/')
+ goto yy94;
+ goto yy150;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy150;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy150;
+ goto yy94;
+ }
+ }
+ yy148:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy150;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy150;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy150;
+ goto yy94;
+ }
+ }
+ yy149:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy151;
+ if (yych <= '/')
+ goto yy94;
+ goto yy152;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy152;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy152;
+ goto yy94;
+ }
+ }
+ yy150:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy152;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy152;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy152;
+ goto yy94;
+ }
+ }
+ yy151:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy153;
+ if (yych <= '/')
+ goto yy94;
+ goto yy154;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy154;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy154;
+ goto yy94;
+ }
+ }
+ yy152:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy154;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy154;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy154;
+ goto yy94;
+ }
+ }
+ yy153:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy155;
+ if (yych <= '/')
+ goto yy94;
+ goto yy156;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy156;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy156;
+ goto yy94;
+ }
+ }
+ yy154:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy156;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy156;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy156;
+ goto yy94;
+ }
+ }
+ yy155:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy157;
+ if (yych <= '/')
+ goto yy94;
+ goto yy158;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy158;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy158;
+ goto yy94;
+ }
+ }
+ yy156:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy158;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy158;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy158;
+ goto yy94;
+ }
+ }
+ yy157:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy159;
+ if (yych <= '/')
+ goto yy94;
+ goto yy160;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy160;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy160;
+ goto yy94;
+ }
+ }
+ yy158:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy160;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy160;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy160;
+ goto yy94;
+ }
+ }
+ yy159:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy161;
+ if (yych <= '/')
+ goto yy94;
+ goto yy162;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy162;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy162;
+ goto yy94;
+ }
+ }
+ yy160:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy162;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy162;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy162;
+ goto yy94;
+ }
+ }
+ yy161:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy163;
+ if (yych <= '/')
+ goto yy94;
+ goto yy164;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy164;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy164;
+ goto yy94;
+ }
+ }
+ yy162:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy164;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy164;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy164;
+ goto yy94;
+ }
+ }
+ yy163:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy165;
+ if (yych <= '/')
+ goto yy94;
+ goto yy166;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy166;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy166;
+ goto yy94;
+ }
+ }
+ yy164:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy166;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy166;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy166;
+ goto yy94;
+ }
+ }
+ yy165:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy167;
+ if (yych <= '/')
+ goto yy94;
+ goto yy168;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy168;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy168;
+ goto yy94;
+ }
+ }
+ yy166:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy168;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy168;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy168;
+ goto yy94;
+ }
+ }
+ yy167:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy169;
+ if (yych <= '/')
+ goto yy94;
+ goto yy170;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy170;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy170;
+ goto yy94;
+ }
+ }
+ yy168:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy170;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy170;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy170;
+ goto yy94;
+ }
+ }
+ yy169:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy171;
+ if (yych <= '/')
+ goto yy94;
+ goto yy172;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy172;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy172;
+ goto yy94;
+ }
+ }
+ yy170:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy172;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy172;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy172;
+ goto yy94;
+ }
+ }
+ yy171:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy173;
+ if (yych <= '/')
+ goto yy94;
+ goto yy174;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy174;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy174;
+ goto yy94;
+ }
+ }
+ yy172:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy174;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy174;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy174;
+ goto yy94;
+ }
+ }
+ yy173:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy175;
+ if (yych <= '/')
+ goto yy94;
+ goto yy176;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy176;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy176;
+ goto yy94;
+ }
+ }
+ yy174:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy176;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy176;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy176;
+ goto yy94;
+ }
+ }
+ yy175:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy177;
+ if (yych <= '/')
+ goto yy94;
+ goto yy178;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy178;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy178;
+ goto yy94;
+ }
+ }
+ yy176:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy178;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy178;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy178;
+ goto yy94;
+ }
+ }
+ yy177:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy179;
+ if (yych <= '/')
+ goto yy94;
+ goto yy180;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy180;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy180;
+ goto yy94;
+ }
+ }
+ yy178:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy180;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy180;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy180;
+ goto yy94;
+ }
+ }
+ yy179:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy181;
+ if (yych <= '/')
+ goto yy94;
+ goto yy182;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy182;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy182;
+ goto yy94;
+ }
+ }
+ yy180:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy182;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy182;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy182;
+ goto yy94;
+ }
+ }
+ yy181:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy183;
+ if (yych <= '/')
+ goto yy94;
+ goto yy184;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy184;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy184;
+ goto yy94;
+ }
+ }
+ yy182:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy184;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy184;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy184;
+ goto yy94;
+ }
+ }
+ yy183:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy185;
+ if (yych <= '/')
+ goto yy94;
+ goto yy186;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy186;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy186;
+ goto yy94;
+ }
+ }
+ yy184:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy186;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy186;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy186;
+ goto yy94;
+ }
+ }
+ yy185:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy187;
+ if (yych <= '/')
+ goto yy94;
+ goto yy188;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy188;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy188;
+ goto yy94;
+ }
+ }
+ yy186:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy188;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy188;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy188;
+ goto yy94;
+ }
+ }
+ yy187:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy189;
+ if (yych <= '/')
+ goto yy94;
+ goto yy190;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy190;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy190;
+ goto yy94;
+ }
+ }
+ yy188:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy190;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy190;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy190;
+ goto yy94;
+ }
+ }
+ yy189:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy191;
+ if (yych <= '/')
+ goto yy94;
+ goto yy192;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy192;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy192;
+ goto yy94;
+ }
+ }
+ yy190:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy192;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy192;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy192;
+ goto yy94;
+ }
+ }
+ yy191:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy193;
+ if (yych <= '/')
+ goto yy94;
+ goto yy194;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy194;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy194;
+ goto yy94;
+ }
+ }
+ yy192:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy194;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy194;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy194;
+ goto yy94;
+ }
+ }
+ yy193:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy195;
+ if (yych <= '/')
+ goto yy94;
+ goto yy196;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy196;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy196;
+ goto yy94;
+ }
+ }
+ yy194:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy196;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy196;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy196;
+ goto yy94;
+ }
+ }
+ yy195:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy197;
+ if (yych <= '/')
+ goto yy94;
+ goto yy198;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy198;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy198;
+ goto yy94;
+ }
+ }
+ yy196:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy198;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy198;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy198;
+ goto yy94;
+ }
+ }
+ yy197:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy199;
+ if (yych <= '/')
+ goto yy94;
+ goto yy200;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy200;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy200;
+ goto yy94;
+ }
+ }
+ yy198:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy200;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy200;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy200;
+ goto yy94;
+ }
+ }
+ yy199:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy201;
+ if (yych <= '/')
+ goto yy94;
+ goto yy202;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy202;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy202;
+ goto yy94;
+ }
+ }
+ yy200:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy202;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy202;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy202;
+ goto yy94;
+ }
+ }
+ yy201:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy203;
+ if (yych <= '/')
+ goto yy94;
+ goto yy204;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy204;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy204;
+ goto yy94;
+ }
+ }
+ yy202:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy204;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy204;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy204;
+ goto yy94;
+ }
+ }
+ yy203:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy205;
+ if (yych <= '/')
+ goto yy94;
+ goto yy206;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy206;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy206;
+ goto yy94;
+ }
+ }
+ yy204:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy206;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy206;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy206;
+ goto yy94;
+ }
+ }
+ yy205:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy207;
+ if (yych <= '/')
+ goto yy94;
+ goto yy208;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy208;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy208;
+ goto yy94;
+ }
+ }
+ yy206:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy208;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy208;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy208;
+ goto yy94;
+ }
+ }
+ yy207:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy209;
+ if (yych <= '/')
+ goto yy94;
+ goto yy210;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy210;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy210;
+ goto yy94;
+ }
+ }
+ yy208:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy210;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy210;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy210;
+ goto yy94;
+ }
+ }
+ yy209:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy211;
+ if (yych <= '/')
+ goto yy94;
+ goto yy212;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy212;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy212;
+ goto yy94;
+ }
+ }
+ yy210:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy212;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy212;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy212;
+ goto yy94;
+ }
+ }
+ yy211:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy213;
+ if (yych <= '/')
+ goto yy94;
+ goto yy214;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy214;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy214;
+ goto yy94;
+ }
+ }
+ yy212:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy214;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy214;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy214;
+ goto yy94;
+ }
+ }
+ yy213:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy215;
+ if (yych <= '/')
+ goto yy94;
+ goto yy216;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy216;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy216;
+ goto yy94;
+ }
+ }
+ yy214:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy216;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy216;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy216;
+ goto yy94;
+ }
+ }
+ yy215:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy217;
+ if (yych <= '/')
+ goto yy94;
+ goto yy218;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy218;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy218;
+ goto yy94;
+ }
+ }
+ yy216:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy218;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy218;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy218;
+ goto yy94;
+ }
+ }
+ yy217:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy219;
+ if (yych <= '/')
+ goto yy94;
+ goto yy220;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy94;
+ goto yy220;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy220;
+ goto yy94;
+ }
+ }
+ yy218:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy94;
+ if (yych >= '.')
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy220;
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ goto yy220;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy220;
+ goto yy94;
+ }
+ }
+ yy219:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy94;
+ if (yych <= '9')
+ goto yy221;
+ goto yy94;
+ } else {
+ if (yych <= 'Z')
+ goto yy221;
+ if (yych <= '`')
+ goto yy94;
+ if (yych <= 'z')
+ goto yy221;
+ goto yy94;
+ }
+ yy220:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= '-')
+ goto yy94;
+ goto yy95;
+ } else {
+ if (yych <= '/')
+ goto yy94;
+ if (yych >= ':')
+ goto yy94;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy99;
+ if (yych <= '@')
+ goto yy94;
+ } else {
+ if (yych <= '`')
+ goto yy94;
+ if (yych >= '{')
+ goto yy94;
+ }
+ }
+ yy221:
+ ++p;
+ yych = *p;
+ if (yych == '.')
+ goto yy95;
+ if (yych == '>')
+ goto yy99;
+ goto yy94;
+ }
+}
+
+// Try to match an HTML tag after first <, returning num of chars matched.
+bufsize_t _scan_html_tag(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ /* table 1 .. 8: 0 */
+ 0,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 235,
+ 235,
+ 235,
+ 235,
+ 235,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 235,
+ 250,
+ 202,
+ 250,
+ 250,
+ 250,
+ 250,
+ 170,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 246,
+ 254,
+ 250,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 250,
+ 234,
+ 234,
+ 232,
+ 250,
+ 250,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 250,
+ 250,
+ 122,
+ 250,
+ 254,
+ 234,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 254,
+ 250,
+ 250,
+ 250,
+ 250,
+ 250,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* table 9 .. 11: 256 */
+ 0,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 192,
+ 128,
+ 128,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 0,
+ 128,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 224,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 192,
+ 128,
+ 128,
+ 128,
+ 128,
+ 128,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ };
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= '!') {
+ if (yych >= '!')
+ goto yy226;
+ } else {
+ if (yych == '/')
+ goto yy227;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '?')
+ goto yy228;
+ if (yych >= 'A')
+ goto yy229;
+ } else {
+ if (yych <= '`')
+ goto yy224;
+ if (yych <= 'z')
+ goto yy229;
+ }
+ }
+ yy224:
+ ++p;
+ yy225 : { return 0; }
+ yy226:
+ yych = *(marker = ++p);
+ if (yybm[256 + yych] & 32) {
+ goto yy232;
+ }
+ if (yych == '-')
+ goto yy230;
+ if (yych <= '@')
+ goto yy225;
+ if (yych <= '[')
+ goto yy234;
+ goto yy225;
+ yy227:
+ yych = *(marker = ++p);
+ if (yych <= '@')
+ goto yy225;
+ if (yych <= 'Z')
+ goto yy235;
+ if (yych <= '`')
+ goto yy225;
+ if (yych <= 'z')
+ goto yy235;
+ goto yy225;
+ yy228:
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy225;
+ if (yych <= 0x7F)
+ goto yy238;
+ if (yych <= 0xC1)
+ goto yy225;
+ if (yych <= 0xF4)
+ goto yy238;
+ goto yy225;
+ yy229:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 1) {
+ goto yy247;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy249;
+ goto yy225;
+ } else {
+ if (yych <= '/')
+ goto yy251;
+ if (yych <= '9')
+ goto yy249;
+ goto yy225;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy252;
+ if (yych <= '@')
+ goto yy225;
+ goto yy249;
+ } else {
+ if (yych <= '`')
+ goto yy225;
+ if (yych <= 'z')
+ goto yy249;
+ goto yy225;
+ }
+ }
+ yy230:
+ yych = *++p;
+ if (yych == '-')
+ goto yy254;
+ yy231:
+ p = marker;
+ goto yy225;
+ yy232:
+ ++p;
+ yych = *p;
+ if (yybm[256 + yych] & 32) {
+ goto yy232;
+ }
+ if (yych <= 0x08)
+ goto yy231;
+ if (yych <= '\r')
+ goto yy255;
+ if (yych == ' ')
+ goto yy255;
+ goto yy231;
+ yy234:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy257;
+ if (yych == 'c')
+ goto yy257;
+ goto yy231;
+ yy235:
+ ++p;
+ yych = *p;
+ if (yybm[256 + yych] & 64) {
+ goto yy235;
+ }
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy231;
+ if (yych <= '\r')
+ goto yy258;
+ goto yy231;
+ } else {
+ if (yych <= ' ')
+ goto yy258;
+ if (yych == '>')
+ goto yy252;
+ goto yy231;
+ }
+ yy237:
+ ++p;
+ yych = *p;
+ yy238:
+ if (yybm[256 + yych] & 128) {
+ goto yy237;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych >= '@')
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy240;
+ if (yych <= 0xE0)
+ goto yy241;
+ goto yy242;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy243;
+ if (yych <= 0xEF)
+ goto yy242;
+ goto yy244;
+ } else {
+ if (yych <= 0xF3)
+ goto yy245;
+ if (yych <= 0xF4)
+ goto yy246;
+ goto yy231;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '=')
+ goto yy237;
+ goto yy252;
+ } else {
+ if (yych <= 0x7F)
+ goto yy237;
+ if (yych <= 0xC1)
+ goto yy231;
+ if (yych >= 0xE0)
+ goto yy241;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy243;
+ goto yy242;
+ } else {
+ if (yych <= 0xF0)
+ goto yy244;
+ if (yych <= 0xF3)
+ goto yy245;
+ if (yych <= 0xF4)
+ goto yy246;
+ goto yy231;
+ }
+ }
+ yy240:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy237;
+ goto yy231;
+ yy241:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy240;
+ goto yy231;
+ yy242:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy240;
+ goto yy231;
+ yy243:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy240;
+ goto yy231;
+ yy244:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy242;
+ goto yy231;
+ yy245:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy242;
+ goto yy231;
+ yy246:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy242;
+ goto yy231;
+ yy247:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 1) {
+ goto yy247;
+ }
+ if (yych <= '>') {
+ if (yych <= '9') {
+ if (yych == '/')
+ goto yy251;
+ goto yy231;
+ } else {
+ if (yych <= ':')
+ goto yy260;
+ if (yych <= '=')
+ goto yy231;
+ goto yy252;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@')
+ goto yy231;
+ if (yych <= 'Z')
+ goto yy260;
+ goto yy231;
+ } else {
+ if (yych == '`')
+ goto yy231;
+ if (yych <= 'z')
+ goto yy260;
+ goto yy231;
+ }
+ }
+ yy249:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 1) {
+ goto yy247;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy249;
+ goto yy231;
+ } else {
+ if (yych <= '/')
+ goto yy251;
+ if (yych <= '9')
+ goto yy249;
+ goto yy231;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy252;
+ if (yych <= '@')
+ goto yy231;
+ goto yy249;
+ } else {
+ if (yych <= '`')
+ goto yy231;
+ if (yych <= 'z')
+ goto yy249;
+ goto yy231;
+ }
+ }
+ yy251:
+ yych = *++p;
+ if (yych != '>')
+ goto yy231;
+ yy252:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy254:
+ yych = *++p;
+ if (yych == '-')
+ goto yy264;
+ if (yych == '>')
+ goto yy231;
+ goto yy263;
+ yy255:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy255;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '>')
+ goto yy252;
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy272;
+ if (yych <= 0xE0)
+ goto yy273;
+ goto yy274;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy275;
+ if (yych <= 0xEF)
+ goto yy274;
+ goto yy276;
+ } else {
+ if (yych <= 0xF3)
+ goto yy277;
+ if (yych <= 0xF4)
+ goto yy278;
+ goto yy231;
+ }
+ }
+ yy257:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy279;
+ if (yych == 'd')
+ goto yy279;
+ goto yy231;
+ yy258:
+ ++p;
+ yych = *p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy231;
+ if (yych <= '\r')
+ goto yy258;
+ goto yy231;
+ } else {
+ if (yych <= ' ')
+ goto yy258;
+ if (yych == '>')
+ goto yy252;
+ goto yy231;
+ }
+ yy260:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy260;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy231;
+ goto yy280;
+ } else {
+ if (yych == ' ')
+ goto yy280;
+ goto yy231;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy251;
+ goto yy231;
+ } else {
+ if (yych <= '=')
+ goto yy282;
+ if (yych <= '>')
+ goto yy252;
+ goto yy231;
+ }
+ }
+ yy262:
+ ++p;
+ yych = *p;
+ yy263:
+ if (yybm[0 + yych] & 8) {
+ goto yy262;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '-')
+ goto yy284;
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy265;
+ if (yych <= 0xE0)
+ goto yy266;
+ goto yy267;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy268;
+ if (yych <= 0xEF)
+ goto yy267;
+ goto yy269;
+ } else {
+ if (yych <= 0xF3)
+ goto yy270;
+ if (yych <= 0xF4)
+ goto yy271;
+ goto yy231;
+ }
+ }
+ yy264:
+ yych = *++p;
+ if (yych == '-')
+ goto yy251;
+ if (yych == '>')
+ goto yy231;
+ goto yy263;
+ yy265:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy262;
+ goto yy231;
+ yy266:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy265;
+ goto yy231;
+ yy267:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy265;
+ goto yy231;
+ yy268:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy265;
+ goto yy231;
+ yy269:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy267;
+ goto yy231;
+ yy270:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy267;
+ goto yy231;
+ yy271:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy267;
+ goto yy231;
+ yy272:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy255;
+ goto yy231;
+ yy273:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy272;
+ goto yy231;
+ yy274:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy272;
+ goto yy231;
+ yy275:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy272;
+ goto yy231;
+ yy276:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy274;
+ goto yy231;
+ yy277:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy274;
+ goto yy231;
+ yy278:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy274;
+ goto yy231;
+ yy279:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy285;
+ if (yych == 'a')
+ goto yy285;
+ goto yy231;
+ yy280:
+ ++p;
+ yych = *p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy231;
+ if (yych <= '\r')
+ goto yy280;
+ if (yych <= 0x1F)
+ goto yy231;
+ goto yy280;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy231;
+ goto yy251;
+ } else {
+ if (yych == ':')
+ goto yy260;
+ goto yy231;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy282;
+ if (yych <= '>')
+ goto yy252;
+ if (yych <= '@')
+ goto yy231;
+ goto yy260;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy231;
+ goto yy260;
+ } else {
+ if (yych <= '`')
+ goto yy231;
+ if (yych <= 'z')
+ goto yy260;
+ goto yy231;
+ }
+ }
+ }
+ yy282:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy286;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '"') {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= ' ')
+ goto yy282;
+ goto yy288;
+ } else {
+ if (yych <= '\'')
+ goto yy290;
+ if (yych <= 0xC1)
+ goto yy231;
+ if (yych <= 0xDF)
+ goto yy292;
+ goto yy293;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy295;
+ goto yy294;
+ } else {
+ if (yych <= 0xF0)
+ goto yy296;
+ if (yych <= 0xF3)
+ goto yy297;
+ if (yych <= 0xF4)
+ goto yy298;
+ goto yy231;
+ }
+ }
+ yy284:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 8) {
+ goto yy262;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '-')
+ goto yy251;
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy265;
+ if (yych <= 0xE0)
+ goto yy266;
+ goto yy267;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy268;
+ if (yych <= 0xEF)
+ goto yy267;
+ goto yy269;
+ } else {
+ if (yych <= 0xF3)
+ goto yy270;
+ if (yych <= 0xF4)
+ goto yy271;
+ goto yy231;
+ }
+ }
+ yy285:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy299;
+ if (yych == 't')
+ goto yy299;
+ goto yy231;
+ yy286:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy286;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= ' ')
+ goto yy247;
+ goto yy231;
+ } else {
+ if (yych <= '>')
+ goto yy252;
+ if (yych <= 0xC1)
+ goto yy231;
+ if (yych <= 0xDF)
+ goto yy292;
+ goto yy293;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy295;
+ goto yy294;
+ } else {
+ if (yych <= 0xF0)
+ goto yy296;
+ if (yych <= 0xF3)
+ goto yy297;
+ if (yych <= 0xF4)
+ goto yy298;
+ goto yy231;
+ }
+ }
+ yy288:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy288;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '"')
+ goto yy300;
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy301;
+ if (yych <= 0xE0)
+ goto yy302;
+ goto yy303;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy304;
+ if (yych <= 0xEF)
+ goto yy303;
+ goto yy305;
+ } else {
+ if (yych <= 0xF3)
+ goto yy306;
+ if (yych <= 0xF4)
+ goto yy307;
+ goto yy231;
+ }
+ }
+ yy290:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy290;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '\'')
+ goto yy300;
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy308;
+ if (yych <= 0xE0)
+ goto yy309;
+ goto yy310;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy311;
+ if (yych <= 0xEF)
+ goto yy310;
+ goto yy312;
+ } else {
+ if (yych <= 0xF3)
+ goto yy313;
+ if (yych <= 0xF4)
+ goto yy314;
+ goto yy231;
+ }
+ }
+ yy292:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy286;
+ goto yy231;
+ yy293:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy292;
+ goto yy231;
+ yy294:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy292;
+ goto yy231;
+ yy295:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy292;
+ goto yy231;
+ yy296:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy294;
+ goto yy231;
+ yy297:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy294;
+ goto yy231;
+ yy298:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy294;
+ goto yy231;
+ yy299:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy315;
+ if (yych == 'a')
+ goto yy315;
+ goto yy231;
+ yy300:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 1) {
+ goto yy247;
+ }
+ if (yych == '/')
+ goto yy251;
+ if (yych == '>')
+ goto yy252;
+ goto yy231;
+ yy301:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy288;
+ goto yy231;
+ yy302:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy301;
+ goto yy231;
+ yy303:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy301;
+ goto yy231;
+ yy304:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy301;
+ goto yy231;
+ yy305:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy303;
+ goto yy231;
+ yy306:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy303;
+ goto yy231;
+ yy307:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy303;
+ goto yy231;
+ yy308:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy290;
+ goto yy231;
+ yy309:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy308;
+ goto yy231;
+ yy310:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy308;
+ goto yy231;
+ yy311:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy308;
+ goto yy231;
+ yy312:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy310;
+ goto yy231;
+ yy313:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy310;
+ goto yy231;
+ yy314:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy310;
+ goto yy231;
+ yy315:
+ yych = *++p;
+ if (yych != '[')
+ goto yy231;
+ yy316:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy316;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych >= '^')
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy319;
+ if (yych <= 0xE0)
+ goto yy320;
+ goto yy321;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy322;
+ if (yych <= 0xEF)
+ goto yy321;
+ goto yy323;
+ } else {
+ if (yych <= 0xF3)
+ goto yy324;
+ if (yych <= 0xF4)
+ goto yy325;
+ goto yy231;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy316;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= ']')
+ goto yy326;
+ goto yy231;
+ } else {
+ if (yych <= 0xDF)
+ goto yy319;
+ if (yych <= 0xE0)
+ goto yy320;
+ goto yy321;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy322;
+ if (yych <= 0xEF)
+ goto yy321;
+ goto yy323;
+ } else {
+ if (yych <= 0xF3)
+ goto yy324;
+ if (yych <= 0xF4)
+ goto yy325;
+ goto yy231;
+ }
+ }
+ yy319:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy316;
+ goto yy231;
+ yy320:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy319;
+ goto yy231;
+ yy321:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy319;
+ goto yy231;
+ yy322:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x9F)
+ goto yy319;
+ goto yy231;
+ yy323:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy321;
+ goto yy231;
+ yy324:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0xBF)
+ goto yy321;
+ goto yy231;
+ yy325:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy231;
+ if (yych <= 0x8F)
+ goto yy321;
+ goto yy231;
+ yy326:
+ ++p;
+ yych = *p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy231;
+ if (yych <= '=')
+ goto yy316;
+ goto yy252;
+ } else {
+ if (yych <= 0x7F)
+ goto yy316;
+ if (yych <= 0xC1)
+ goto yy231;
+ if (yych <= 0xDF)
+ goto yy319;
+ goto yy320;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy322;
+ goto yy321;
+ } else {
+ if (yych <= 0xF0)
+ goto yy323;
+ if (yych <= 0xF3)
+ goto yy324;
+ if (yych <= 0xF4)
+ goto yy325;
+ goto yy231;
+ }
+ }
+ }
+}
+
+// Try to match an HTML block tag start line, returning
+// an integer code for the type of block (1-6, matching the spec).
+// #7 is handled by a separate function, below.
+bufsize_t _scan_html_block_start(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych == '<')
+ goto yy331;
+ ++p;
+ yy330 : { return 0; }
+ yy331:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case '!':
+ goto yy332;
+ case '/':
+ goto yy334;
+ case '?':
+ goto yy335;
+ case 'A':
+ case 'a':
+ goto yy337;
+ case 'B':
+ case 'b':
+ goto yy338;
+ case 'C':
+ case 'c':
+ goto yy339;
+ case 'D':
+ case 'd':
+ goto yy340;
+ case 'F':
+ case 'f':
+ goto yy341;
+ case 'H':
+ case 'h':
+ goto yy342;
+ case 'I':
+ case 'i':
+ goto yy343;
+ case 'L':
+ case 'l':
+ goto yy344;
+ case 'M':
+ case 'm':
+ goto yy345;
+ case 'N':
+ case 'n':
+ goto yy346;
+ case 'O':
+ case 'o':
+ goto yy347;
+ case 'P':
+ case 'p':
+ goto yy348;
+ case 'S':
+ case 's':
+ goto yy349;
+ case 'T':
+ case 't':
+ goto yy350;
+ case 'U':
+ case 'u':
+ goto yy351;
+ default:
+ goto yy330;
+ }
+ yy332:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych == '-')
+ goto yy352;
+ } else {
+ if (yych <= 'Z')
+ goto yy353;
+ if (yych <= '[')
+ goto yy355;
+ }
+ yy333:
+ p = marker;
+ goto yy330;
+ yy334:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy337;
+ case 'B':
+ case 'b':
+ goto yy338;
+ case 'C':
+ case 'c':
+ goto yy339;
+ case 'D':
+ case 'd':
+ goto yy340;
+ case 'F':
+ case 'f':
+ goto yy341;
+ case 'H':
+ case 'h':
+ goto yy342;
+ case 'I':
+ case 'i':
+ goto yy343;
+ case 'L':
+ case 'l':
+ goto yy344;
+ case 'M':
+ case 'm':
+ goto yy345;
+ case 'N':
+ case 'n':
+ goto yy346;
+ case 'O':
+ case 'o':
+ goto yy347;
+ case 'P':
+ case 'p':
+ goto yy356;
+ case 'S':
+ case 's':
+ goto yy357;
+ case 'T':
+ case 't':
+ goto yy350;
+ case 'U':
+ case 'u':
+ goto yy351;
+ default:
+ goto yy333;
+ }
+ yy335:
+ ++p;
+ { return 3; }
+ yy337:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= 'C')
+ goto yy333;
+ goto yy358;
+ } else {
+ if (yych <= 'Q')
+ goto yy333;
+ if (yych <= 'R')
+ goto yy359;
+ goto yy360;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'd')
+ goto yy358;
+ goto yy333;
+ } else {
+ if (yych <= 'r')
+ goto yy359;
+ if (yych <= 's')
+ goto yy360;
+ goto yy333;
+ }
+ }
+ yy338:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'K') {
+ if (yych == 'A')
+ goto yy361;
+ goto yy333;
+ } else {
+ if (yych <= 'L')
+ goto yy362;
+ if (yych <= 'N')
+ goto yy333;
+ goto yy363;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych == 'a')
+ goto yy361;
+ goto yy333;
+ } else {
+ if (yych <= 'l')
+ goto yy362;
+ if (yych == 'o')
+ goto yy363;
+ goto yy333;
+ }
+ }
+ yy339:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'D') {
+ if (yych == 'A')
+ goto yy364;
+ goto yy333;
+ } else {
+ if (yych <= 'E')
+ goto yy365;
+ if (yych <= 'N')
+ goto yy333;
+ goto yy366;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych == 'a')
+ goto yy364;
+ goto yy333;
+ } else {
+ if (yych <= 'e')
+ goto yy365;
+ if (yych == 'o')
+ goto yy366;
+ goto yy333;
+ }
+ }
+ yy340:
+ yych = *++p;
+ switch (yych) {
+ case 'D':
+ case 'L':
+ case 'T':
+ case 'd':
+ case 'l':
+ case 't':
+ goto yy367;
+ case 'E':
+ case 'e':
+ goto yy368;
+ case 'I':
+ case 'i':
+ goto yy369;
+ default:
+ goto yy333;
+ }
+ yy341:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych <= 'N') {
+ if (yych == 'I')
+ goto yy370;
+ goto yy333;
+ } else {
+ if (yych <= 'O')
+ goto yy371;
+ if (yych <= 'Q')
+ goto yy333;
+ goto yy372;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'i')
+ goto yy370;
+ goto yy333;
+ } else {
+ if (yych <= 'o')
+ goto yy371;
+ if (yych == 'r')
+ goto yy372;
+ goto yy333;
+ }
+ }
+ yy342:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= '0')
+ goto yy333;
+ if (yych <= '6')
+ goto yy367;
+ goto yy333;
+ } else {
+ if (yych <= 'E')
+ goto yy373;
+ if (yych == 'R')
+ goto yy367;
+ goto yy333;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'T')
+ goto yy374;
+ if (yych == 'e')
+ goto yy373;
+ goto yy333;
+ } else {
+ if (yych <= 'r')
+ goto yy367;
+ if (yych == 't')
+ goto yy374;
+ goto yy333;
+ }
+ }
+ yy343:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy375;
+ if (yych == 'f')
+ goto yy375;
+ goto yy333;
+ yy344:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'E')
+ goto yy376;
+ if (yych <= 'H')
+ goto yy333;
+ goto yy377;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy333;
+ goto yy376;
+ } else {
+ if (yych == 'i')
+ goto yy377;
+ goto yy333;
+ }
+ }
+ yy345:
+ yych = *++p;
+ if (yych <= 'E') {
+ if (yych == 'A')
+ goto yy378;
+ if (yych <= 'D')
+ goto yy333;
+ goto yy379;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy333;
+ goto yy378;
+ } else {
+ if (yych == 'e')
+ goto yy379;
+ goto yy333;
+ }
+ }
+ yy346:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'A')
+ goto yy380;
+ if (yych <= 'N')
+ goto yy333;
+ goto yy381;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy333;
+ goto yy380;
+ } else {
+ if (yych == 'o')
+ goto yy381;
+ goto yy333;
+ }
+ }
+ yy347:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy367;
+ if (yych <= 'O')
+ goto yy333;
+ goto yy382;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy333;
+ goto yy367;
+ } else {
+ if (yych == 'p')
+ goto yy382;
+ goto yy333;
+ }
+ }
+ yy348:
+ yych = *++p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ if (yych <= 0x1F)
+ goto yy333;
+ goto yy383;
+ } else {
+ if (yych == '/')
+ goto yy385;
+ if (yych <= '=')
+ goto yy333;
+ goto yy383;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == 'A')
+ goto yy386;
+ if (yych <= 'Q')
+ goto yy333;
+ goto yy387;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy333;
+ goto yy386;
+ } else {
+ if (yych == 'r')
+ goto yy387;
+ goto yy333;
+ }
+ }
+ }
+ yy349:
+ yych = *++p;
+ switch (yych) {
+ case 'C':
+ case 'c':
+ goto yy388;
+ case 'E':
+ case 'e':
+ goto yy389;
+ case 'O':
+ case 'o':
+ goto yy390;
+ case 'T':
+ case 't':
+ goto yy391;
+ case 'U':
+ case 'u':
+ goto yy392;
+ default:
+ goto yy333;
+ }
+ yy350:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy393;
+ case 'B':
+ case 'b':
+ goto yy394;
+ case 'D':
+ case 'd':
+ goto yy367;
+ case 'F':
+ case 'f':
+ goto yy395;
+ case 'H':
+ case 'h':
+ goto yy396;
+ case 'I':
+ case 'i':
+ goto yy397;
+ case 'R':
+ case 'r':
+ goto yy398;
+ default:
+ goto yy333;
+ }
+ yy351:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy367;
+ if (yych == 'l')
+ goto yy367;
+ goto yy333;
+ yy352:
+ yych = *++p;
+ if (yych == '-')
+ goto yy399;
+ goto yy333;
+ yy353:
+ ++p;
+ { return 4; }
+ yy355:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy401;
+ if (yych == 'c')
+ goto yy401;
+ goto yy333;
+ yy356:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'A')
+ goto yy386;
+ if (yych == 'a')
+ goto yy386;
+ goto yy333;
+ }
+ }
+ yy357:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych <= 'N') {
+ if (yych == 'E')
+ goto yy389;
+ goto yy333;
+ } else {
+ if (yych <= 'O')
+ goto yy390;
+ if (yych <= 'T')
+ goto yy333;
+ goto yy392;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'e')
+ goto yy389;
+ goto yy333;
+ } else {
+ if (yych <= 'o')
+ goto yy390;
+ if (yych == 'u')
+ goto yy392;
+ goto yy333;
+ }
+ }
+ yy358:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy402;
+ if (yych == 'd')
+ goto yy402;
+ goto yy333;
+ yy359:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy403;
+ if (yych == 't')
+ goto yy403;
+ goto yy333;
+ yy360:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy404;
+ if (yych == 'i')
+ goto yy404;
+ goto yy333;
+ yy361:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy405;
+ if (yych == 's')
+ goto yy405;
+ goto yy333;
+ yy362:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy406;
+ if (yych == 'o')
+ goto yy406;
+ goto yy333;
+ yy363:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy407;
+ if (yych == 'd')
+ goto yy407;
+ goto yy333;
+ yy364:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy408;
+ if (yych == 'p')
+ goto yy408;
+ goto yy333;
+ yy365:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy409;
+ if (yych == 'n')
+ goto yy409;
+ goto yy333;
+ yy366:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy410;
+ if (yych == 'l')
+ goto yy410;
+ goto yy333;
+ yy367:
+ yych = *++p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ if (yych <= 0x1F)
+ goto yy333;
+ goto yy383;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ } else {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ }
+ }
+ yy368:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy411;
+ if (yych == 't')
+ goto yy411;
+ goto yy333;
+ yy369:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych <= 'Q') {
+ if (yych == 'A')
+ goto yy412;
+ goto yy333;
+ } else {
+ if (yych <= 'R')
+ goto yy367;
+ if (yych <= 'U')
+ goto yy333;
+ goto yy367;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'a')
+ goto yy412;
+ goto yy333;
+ } else {
+ if (yych <= 'r')
+ goto yy367;
+ if (yych == 'v')
+ goto yy367;
+ goto yy333;
+ }
+ }
+ yy370:
+ yych = *++p;
+ if (yych <= 'G') {
+ if (yych == 'E')
+ goto yy413;
+ if (yych <= 'F')
+ goto yy333;
+ goto yy414;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy333;
+ goto yy413;
+ } else {
+ if (yych == 'g')
+ goto yy414;
+ goto yy333;
+ }
+ }
+ yy371:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == 'O')
+ goto yy409;
+ if (yych <= 'Q')
+ goto yy333;
+ goto yy415;
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'n')
+ goto yy333;
+ goto yy409;
+ } else {
+ if (yych == 'r')
+ goto yy415;
+ goto yy333;
+ }
+ }
+ yy372:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy416;
+ if (yych == 'a')
+ goto yy416;
+ goto yy333;
+ yy373:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy417;
+ if (yych == 'a')
+ goto yy417;
+ goto yy333;
+ yy374:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy351;
+ if (yych == 'm')
+ goto yy351;
+ goto yy333;
+ yy375:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy418;
+ if (yych == 'r')
+ goto yy418;
+ goto yy333;
+ yy376:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy419;
+ if (yych == 'g')
+ goto yy419;
+ goto yy333;
+ yy377:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'M') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'N')
+ goto yy420;
+ if (yych == 'n')
+ goto yy420;
+ goto yy333;
+ }
+ }
+ yy378:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy421;
+ if (yych == 'i')
+ goto yy421;
+ goto yy333;
+ yy379:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy422;
+ if (yych == 'n')
+ goto yy422;
+ goto yy333;
+ yy380:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy367;
+ if (yych == 'v')
+ goto yy367;
+ goto yy333;
+ yy381:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy423;
+ if (yych == 'f')
+ goto yy423;
+ goto yy333;
+ yy382:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy424;
+ if (yych == 't')
+ goto yy424;
+ goto yy333;
+ yy383:
+ ++p;
+ { return 6; }
+ yy385:
+ yych = *++p;
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ yy386:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy425;
+ if (yych == 'r')
+ goto yy425;
+ goto yy333;
+ yy387:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy426;
+ if (yych == 'e')
+ goto yy426;
+ goto yy333;
+ yy388:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy427;
+ if (yych == 'r')
+ goto yy427;
+ goto yy333;
+ yy389:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy408;
+ if (yych == 'c')
+ goto yy408;
+ goto yy333;
+ yy390:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy428;
+ if (yych == 'u')
+ goto yy428;
+ goto yy333;
+ yy391:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy429;
+ if (yych == 'y')
+ goto yy429;
+ goto yy333;
+ yy392:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy430;
+ if (yych == 'm')
+ goto yy430;
+ goto yy333;
+ yy393:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy431;
+ if (yych == 'b')
+ goto yy431;
+ goto yy333;
+ yy394:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy363;
+ if (yych == 'o')
+ goto yy363;
+ goto yy333;
+ yy395:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy432;
+ if (yych == 'o')
+ goto yy432;
+ goto yy333;
+ yy396:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'E')
+ goto yy433;
+ if (yych == 'e')
+ goto yy433;
+ goto yy333;
+ }
+ }
+ yy397:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy431;
+ if (yych == 't')
+ goto yy431;
+ goto yy333;
+ yy398:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'A')
+ goto yy434;
+ if (yych == 'a')
+ goto yy434;
+ goto yy333;
+ }
+ }
+ yy399:
+ ++p;
+ { return 2; }
+ yy401:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy435;
+ if (yych == 'd')
+ goto yy435;
+ goto yy333;
+ yy402:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy436;
+ if (yych == 'r')
+ goto yy436;
+ goto yy333;
+ yy403:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy437;
+ if (yych == 'i')
+ goto yy437;
+ goto yy333;
+ yy404:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy438;
+ if (yych == 'd')
+ goto yy438;
+ goto yy333;
+ yy405:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy439;
+ if (yych == 'e')
+ goto yy439;
+ goto yy333;
+ yy406:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy440;
+ if (yych == 'c')
+ goto yy440;
+ goto yy333;
+ yy407:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy367;
+ if (yych == 'y')
+ goto yy367;
+ goto yy333;
+ yy408:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy441;
+ if (yych == 't')
+ goto yy441;
+ goto yy333;
+ yy409:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy442;
+ if (yych == 't')
+ goto yy442;
+ goto yy333;
+ yy410:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'F') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'G')
+ goto yy443;
+ if (yych == 'g')
+ goto yy443;
+ goto yy333;
+ }
+ }
+ yy411:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy444;
+ if (yych == 'a')
+ goto yy444;
+ goto yy333;
+ yy412:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy445;
+ if (yych == 'l')
+ goto yy445;
+ goto yy333;
+ yy413:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy446;
+ if (yych == 'l')
+ goto yy446;
+ goto yy333;
+ yy414:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych == 'C')
+ goto yy447;
+ if (yych <= 'T')
+ goto yy333;
+ goto yy448;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy333;
+ goto yy447;
+ } else {
+ if (yych == 'u')
+ goto yy448;
+ goto yy333;
+ }
+ }
+ yy415:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy367;
+ if (yych == 'm')
+ goto yy367;
+ goto yy333;
+ yy416:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy449;
+ if (yych == 'm')
+ goto yy449;
+ goto yy333;
+ yy417:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy450;
+ if (yych == 'd')
+ goto yy450;
+ goto yy333;
+ yy418:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy451;
+ if (yych == 'a')
+ goto yy451;
+ goto yy333;
+ yy419:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy452;
+ if (yych == 'e')
+ goto yy452;
+ goto yy333;
+ yy420:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy367;
+ if (yych == 'k')
+ goto yy367;
+ goto yy333;
+ yy421:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy367;
+ if (yych == 'n')
+ goto yy367;
+ goto yy333;
+ yy422:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy453;
+ if (yych == 'u')
+ goto yy453;
+ goto yy333;
+ yy423:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy454;
+ if (yych == 'r')
+ goto yy454;
+ goto yy333;
+ yy424:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'G')
+ goto yy443;
+ if (yych <= 'H')
+ goto yy333;
+ goto yy455;
+ } else {
+ if (yych <= 'g') {
+ if (yych <= 'f')
+ goto yy333;
+ goto yy443;
+ } else {
+ if (yych == 'i')
+ goto yy455;
+ goto yy333;
+ }
+ }
+ yy425:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy415;
+ if (yych == 'a')
+ goto yy415;
+ goto yy333;
+ yy426:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy456;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy456;
+ if (yych == '>')
+ goto yy456;
+ goto yy333;
+ }
+ yy427:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy458;
+ if (yych == 'i')
+ goto yy458;
+ goto yy333;
+ yy428:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy459;
+ if (yych == 'r')
+ goto yy459;
+ goto yy333;
+ yy429:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy387;
+ if (yych == 'l')
+ goto yy387;
+ goto yy333;
+ yy430:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy460;
+ if (yych == 'm')
+ goto yy460;
+ goto yy333;
+ yy431:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy438;
+ if (yych == 'l')
+ goto yy438;
+ goto yy333;
+ yy432:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy461;
+ if (yych == 'o')
+ goto yy461;
+ goto yy333;
+ yy433:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy462;
+ if (yych == 'a')
+ goto yy462;
+ goto yy333;
+ yy434:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy420;
+ if (yych == 'c')
+ goto yy420;
+ goto yy333;
+ yy435:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy463;
+ if (yych == 'a')
+ goto yy463;
+ goto yy333;
+ yy436:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy464;
+ if (yych == 'e')
+ goto yy464;
+ goto yy333;
+ yy437:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy431;
+ if (yych == 'c')
+ goto yy431;
+ goto yy333;
+ yy438:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy367;
+ if (yych == 'e')
+ goto yy367;
+ goto yy333;
+ yy439:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'E') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'F')
+ goto yy465;
+ if (yych == 'f')
+ goto yy465;
+ goto yy333;
+ }
+ }
+ yy440:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy466;
+ if (yych == 'k')
+ goto yy466;
+ goto yy333;
+ yy441:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy455;
+ if (yych == 'i')
+ goto yy455;
+ goto yy333;
+ yy442:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy467;
+ if (yych == 'e')
+ goto yy467;
+ goto yy333;
+ yy443:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy468;
+ if (yych == 'r')
+ goto yy468;
+ goto yy333;
+ yy444:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy469;
+ if (yych == 'i')
+ goto yy469;
+ goto yy333;
+ yy445:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy470;
+ if (yych == 'o')
+ goto yy470;
+ goto yy333;
+ yy446:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy471;
+ if (yych == 'd')
+ goto yy471;
+ goto yy333;
+ yy447:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy364;
+ if (yych == 'a')
+ goto yy364;
+ goto yy333;
+ yy448:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy438;
+ if (yych == 'r')
+ goto yy438;
+ goto yy333;
+ yy449:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy472;
+ if (yych == 'e')
+ goto yy472;
+ goto yy333;
+ yy450:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'E')
+ goto yy467;
+ if (yych == 'e')
+ goto yy467;
+ goto yy333;
+ }
+ }
+ yy451:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy438;
+ if (yych == 'm')
+ goto yy438;
+ goto yy333;
+ yy452:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy462;
+ if (yych == 'n')
+ goto yy462;
+ goto yy333;
+ yy453:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'H') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'I')
+ goto yy473;
+ if (yych == 'i')
+ goto yy473;
+ goto yy333;
+ }
+ }
+ yy454:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy474;
+ if (yych == 'a')
+ goto yy474;
+ goto yy333;
+ yy455:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy421;
+ if (yych == 'o')
+ goto yy421;
+ goto yy333;
+ yy456:
+ ++p;
+ { return 1; }
+ yy458:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy475;
+ if (yych == 'p')
+ goto yy475;
+ goto yy333;
+ yy459:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy438;
+ if (yych == 'c')
+ goto yy438;
+ goto yy333;
+ yy460:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy476;
+ if (yych == 'a')
+ goto yy476;
+ goto yy333;
+ yy461:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy367;
+ if (yych == 't')
+ goto yy367;
+ goto yy333;
+ yy462:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy367;
+ if (yych == 'd')
+ goto yy367;
+ goto yy333;
+ yy463:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy477;
+ if (yych == 't')
+ goto yy477;
+ goto yy333;
+ yy464:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy478;
+ if (yych == 's')
+ goto yy478;
+ goto yy333;
+ yy465:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy479;
+ if (yych == 'o')
+ goto yy479;
+ goto yy333;
+ yy466:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy480;
+ if (yych == 'q')
+ goto yy480;
+ goto yy333;
+ yy467:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy367;
+ if (yych == 'r')
+ goto yy367;
+ goto yy333;
+ yy468:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy481;
+ if (yych == 'o')
+ goto yy481;
+ goto yy333;
+ yy469:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy478;
+ if (yych == 'l')
+ goto yy478;
+ goto yy333;
+ yy470:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy367;
+ if (yych == 'g')
+ goto yy367;
+ goto yy333;
+ yy471:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy482;
+ if (yych == 's')
+ goto yy482;
+ goto yy333;
+ yy472:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy333;
+ if (yych <= '\r')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= ' ')
+ goto yy383;
+ if (yych <= '.')
+ goto yy333;
+ goto yy385;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == '>')
+ goto yy383;
+ goto yy333;
+ } else {
+ if (yych <= 'S')
+ goto yy482;
+ if (yych == 's')
+ goto yy482;
+ goto yy333;
+ }
+ }
+ yy473:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy483;
+ if (yych == 't')
+ goto yy483;
+ goto yy333;
+ yy474:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy484;
+ if (yych == 'm')
+ goto yy484;
+ goto yy333;
+ yy475:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy426;
+ if (yych == 't')
+ goto yy426;
+ goto yy333;
+ yy476:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy407;
+ if (yych == 'r')
+ goto yy407;
+ goto yy333;
+ yy477:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy485;
+ if (yych == 'a')
+ goto yy485;
+ goto yy333;
+ yy478:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy367;
+ if (yych == 's')
+ goto yy367;
+ goto yy333;
+ yy479:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy461;
+ if (yych == 'n')
+ goto yy461;
+ goto yy333;
+ yy480:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy486;
+ if (yych == 'u')
+ goto yy486;
+ goto yy333;
+ yy481:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy487;
+ if (yych == 'u')
+ goto yy487;
+ goto yy333;
+ yy482:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy461;
+ if (yych == 'e')
+ goto yy461;
+ goto yy333;
+ yy483:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy415;
+ if (yych == 'e')
+ goto yy415;
+ goto yy333;
+ yy484:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy478;
+ if (yych == 'e')
+ goto yy478;
+ goto yy333;
+ yy485:
+ yych = *++p;
+ if (yych == '[')
+ goto yy488;
+ goto yy333;
+ yy486:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy490;
+ if (yych == 'o')
+ goto yy490;
+ goto yy333;
+ yy487:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy367;
+ if (yych == 'p')
+ goto yy367;
+ goto yy333;
+ yy488:
+ ++p;
+ { return 5; }
+ yy490:
+ ++p;
+ if ((yych = *p) == 'T')
+ goto yy438;
+ if (yych == 't')
+ goto yy438;
+ goto yy333;
+ }
+}
+
+// Try to match an HTML block tag start line of type 7, returning
+// 7 if successful, 0 if not.
+bufsize_t _scan_html_block_start_7(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224,
+ 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224,
+ 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '<')
+ goto yy495;
+ ++p;
+ yy494 : { return 0; }
+ yy495:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych != '/')
+ goto yy494;
+ } else {
+ if (yych <= 'Z')
+ goto yy498;
+ if (yych <= '`')
+ goto yy494;
+ if (yych <= 'z')
+ goto yy498;
+ goto yy494;
+ }
+ yych = *++p;
+ if (yych <= '@')
+ goto yy497;
+ if (yych <= 'Z')
+ goto yy500;
+ if (yych <= '`')
+ goto yy497;
+ if (yych <= 'z')
+ goto yy500;
+ yy497:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy494;
+ } else {
+ goto yy513;
+ }
+ yy498:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy502;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy498;
+ goto yy497;
+ } else {
+ if (yych <= '/')
+ goto yy504;
+ if (yych <= '9')
+ goto yy498;
+ goto yy497;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy505;
+ if (yych <= '@')
+ goto yy497;
+ goto yy498;
+ } else {
+ if (yych <= '`')
+ goto yy497;
+ if (yych <= 'z')
+ goto yy498;
+ goto yy497;
+ }
+ }
+ yy500:
+ ++p;
+ yych = *p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy497;
+ if (yych <= '\r')
+ goto yy507;
+ goto yy497;
+ } else {
+ if (yych <= ' ')
+ goto yy507;
+ if (yych == '-')
+ goto yy500;
+ goto yy497;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy500;
+ if (yych == '>')
+ goto yy505;
+ goto yy497;
+ } else {
+ if (yych <= 'Z')
+ goto yy500;
+ if (yych <= '`')
+ goto yy497;
+ if (yych <= 'z')
+ goto yy500;
+ goto yy497;
+ }
+ }
+ yy502:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy502;
+ }
+ if (yych <= '>') {
+ if (yych <= '9') {
+ if (yych != '/')
+ goto yy497;
+ } else {
+ if (yych <= ':')
+ goto yy509;
+ if (yych <= '=')
+ goto yy497;
+ goto yy505;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@')
+ goto yy497;
+ if (yych <= 'Z')
+ goto yy509;
+ goto yy497;
+ } else {
+ if (yych == '`')
+ goto yy497;
+ if (yych <= 'z')
+ goto yy509;
+ goto yy497;
+ }
+ }
+ yy504:
+ yych = *++p;
+ if (yych != '>')
+ goto yy497;
+ yy505:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy505;
+ }
+ if (yych <= 0x08)
+ goto yy497;
+ if (yych <= '\n')
+ goto yy511;
+ if (yych <= '\v')
+ goto yy497;
+ if (yych <= '\r')
+ goto yy514;
+ goto yy497;
+ yy507:
+ ++p;
+ yych = *p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy497;
+ if (yych <= '\r')
+ goto yy507;
+ goto yy497;
+ } else {
+ if (yych <= ' ')
+ goto yy507;
+ if (yych == '>')
+ goto yy505;
+ goto yy497;
+ }
+ yy509:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 8) {
+ goto yy509;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy497;
+ goto yy515;
+ } else {
+ if (yych == ' ')
+ goto yy515;
+ goto yy497;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy504;
+ goto yy497;
+ } else {
+ if (yych <= '=')
+ goto yy517;
+ if (yych <= '>')
+ goto yy505;
+ goto yy497;
+ }
+ }
+ yy511:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy505;
+ }
+ if (yych <= 0x08)
+ goto yy513;
+ if (yych <= '\n')
+ goto yy511;
+ if (yych <= '\v')
+ goto yy513;
+ if (yych <= '\r')
+ goto yy514;
+ yy513 : { return 7; }
+ yy514:
+ yych = *++p;
+ goto yy513;
+ yy515:
+ ++p;
+ yych = *p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy497;
+ if (yych <= '\r')
+ goto yy515;
+ if (yych <= 0x1F)
+ goto yy497;
+ goto yy515;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy497;
+ goto yy504;
+ } else {
+ if (yych == ':')
+ goto yy509;
+ goto yy497;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy517;
+ if (yych <= '>')
+ goto yy505;
+ if (yych <= '@')
+ goto yy497;
+ goto yy509;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy497;
+ goto yy509;
+ } else {
+ if (yych <= '`')
+ goto yy497;
+ if (yych <= 'z')
+ goto yy509;
+ goto yy497;
+ }
+ }
+ }
+ yy517:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy519;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '"') {
+ if (yych <= 0x00)
+ goto yy497;
+ if (yych <= ' ')
+ goto yy517;
+ goto yy521;
+ } else {
+ if (yych <= '\'')
+ goto yy523;
+ if (yych <= 0xC1)
+ goto yy497;
+ if (yych <= 0xDF)
+ goto yy525;
+ goto yy526;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy528;
+ goto yy527;
+ } else {
+ if (yych <= 0xF0)
+ goto yy529;
+ if (yych <= 0xF3)
+ goto yy530;
+ if (yych <= 0xF4)
+ goto yy531;
+ goto yy497;
+ }
+ }
+ yy519:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy519;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy497;
+ if (yych <= ' ')
+ goto yy502;
+ goto yy497;
+ } else {
+ if (yych <= '>')
+ goto yy505;
+ if (yych <= 0xC1)
+ goto yy497;
+ if (yych <= 0xDF)
+ goto yy525;
+ goto yy526;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy528;
+ goto yy527;
+ } else {
+ if (yych <= 0xF0)
+ goto yy529;
+ if (yych <= 0xF3)
+ goto yy530;
+ if (yych <= 0xF4)
+ goto yy531;
+ goto yy497;
+ }
+ }
+ yy521:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy521;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy497;
+ if (yych <= '"')
+ goto yy532;
+ goto yy497;
+ } else {
+ if (yych <= 0xDF)
+ goto yy533;
+ if (yych <= 0xE0)
+ goto yy534;
+ goto yy535;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy536;
+ if (yych <= 0xEF)
+ goto yy535;
+ goto yy537;
+ } else {
+ if (yych <= 0xF3)
+ goto yy538;
+ if (yych <= 0xF4)
+ goto yy539;
+ goto yy497;
+ }
+ }
+ yy523:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy523;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy497;
+ if (yych <= '\'')
+ goto yy532;
+ goto yy497;
+ } else {
+ if (yych <= 0xDF)
+ goto yy540;
+ if (yych <= 0xE0)
+ goto yy541;
+ goto yy542;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy543;
+ if (yych <= 0xEF)
+ goto yy542;
+ goto yy544;
+ } else {
+ if (yych <= 0xF3)
+ goto yy545;
+ if (yych <= 0xF4)
+ goto yy546;
+ goto yy497;
+ }
+ }
+ yy525:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy519;
+ goto yy497;
+ yy526:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy525;
+ goto yy497;
+ yy527:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy525;
+ goto yy497;
+ yy528:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0x9F)
+ goto yy525;
+ goto yy497;
+ yy529:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy527;
+ goto yy497;
+ yy530:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy527;
+ goto yy497;
+ yy531:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0x8F)
+ goto yy527;
+ goto yy497;
+ yy532:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy502;
+ }
+ if (yych == '/')
+ goto yy504;
+ if (yych == '>')
+ goto yy505;
+ goto yy497;
+ yy533:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy521;
+ goto yy497;
+ yy534:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy533;
+ goto yy497;
+ yy535:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy533;
+ goto yy497;
+ yy536:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0x9F)
+ goto yy533;
+ goto yy497;
+ yy537:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy535;
+ goto yy497;
+ yy538:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy535;
+ goto yy497;
+ yy539:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0x8F)
+ goto yy535;
+ goto yy497;
+ yy540:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy523;
+ goto yy497;
+ yy541:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy540;
+ goto yy497;
+ yy542:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy540;
+ goto yy497;
+ yy543:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0x9F)
+ goto yy540;
+ goto yy497;
+ yy544:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy542;
+ goto yy497;
+ yy545:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0xBF)
+ goto yy542;
+ goto yy497;
+ yy546:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy497;
+ if (yych <= 0x8F)
+ goto yy542;
+ goto yy497;
+ }
+}
+
+// Try to match an HTML block end line of type 1
+bufsize_t _scan_html_block_end_1(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= ';') {
+ if (yych <= 0x00)
+ goto yy549;
+ if (yych != '\n')
+ goto yy551;
+ } else {
+ if (yych <= '<')
+ goto yy552;
+ if (yych <= 0x7F)
+ goto yy551;
+ if (yych >= 0xC2)
+ goto yy553;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy554;
+ if (yych == 0xED)
+ goto yy556;
+ goto yy555;
+ } else {
+ if (yych <= 0xF0)
+ goto yy557;
+ if (yych <= 0xF3)
+ goto yy558;
+ if (yych <= 0xF4)
+ goto yy559;
+ }
+ }
+ yy549:
+ ++p;
+ yy550 : { return 0; }
+ yy551:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy550;
+ if (yych <= '\t')
+ goto yy561;
+ goto yy550;
+ } else {
+ if (yych <= 0x7F)
+ goto yy561;
+ if (yych <= 0xC1)
+ goto yy550;
+ if (yych <= 0xF4)
+ goto yy561;
+ goto yy550;
+ }
+ yy552:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '.') {
+ if (yych <= 0x00)
+ goto yy550;
+ if (yych == '\n')
+ goto yy550;
+ goto yy561;
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= '/')
+ goto yy572;
+ goto yy561;
+ } else {
+ if (yych <= 0xC1)
+ goto yy550;
+ if (yych <= 0xF4)
+ goto yy561;
+ goto yy550;
+ }
+ }
+ yy553:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy550;
+ if (yych <= 0xBF)
+ goto yy560;
+ goto yy550;
+ yy554:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy550;
+ if (yych <= 0xBF)
+ goto yy565;
+ goto yy550;
+ yy555:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy550;
+ if (yych <= 0xBF)
+ goto yy565;
+ goto yy550;
+ yy556:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy550;
+ if (yych <= 0x9F)
+ goto yy565;
+ goto yy550;
+ yy557:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy550;
+ if (yych <= 0xBF)
+ goto yy567;
+ goto yy550;
+ yy558:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy550;
+ if (yych <= 0xBF)
+ goto yy567;
+ goto yy550;
+ yy559:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy550;
+ if (yych <= 0x8F)
+ goto yy567;
+ goto yy550;
+ yy560:
+ ++p;
+ yych = *p;
+ yy561:
+ if (yybm[0 + yych] & 64) {
+ goto yy560;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy562;
+ if (yych <= '<')
+ goto yy563;
+ } else {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ goto yy567;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy568;
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ }
+ }
+ yy562:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy550;
+ } else {
+ goto yy582;
+ }
+ yy563:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '.') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= '/')
+ goto yy572;
+ if (yych <= 0x7F)
+ goto yy560;
+ if (yych <= 0xC1)
+ goto yy562;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych == 0xED)
+ goto yy568;
+ goto yy567;
+ } else {
+ if (yych <= 0xF0)
+ goto yy569;
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ yy565:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy562;
+ if (yych <= 0xBF)
+ goto yy560;
+ goto yy562;
+ yy566:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy562;
+ if (yych <= 0xBF)
+ goto yy565;
+ goto yy562;
+ yy567:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy562;
+ if (yych <= 0xBF)
+ goto yy565;
+ goto yy562;
+ yy568:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy562;
+ if (yych <= 0x9F)
+ goto yy565;
+ goto yy562;
+ yy569:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy562;
+ if (yych <= 0xBF)
+ goto yy567;
+ goto yy562;
+ yy570:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy562;
+ if (yych <= 0xBF)
+ goto yy567;
+ goto yy562;
+ yy571:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy562;
+ if (yych <= 0x8F)
+ goto yy567;
+ goto yy562;
+ yy572:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 's') {
+ if (yych <= 'P') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= '\n')
+ goto yy562;
+ if (yych <= 'O')
+ goto yy560;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych == 'S')
+ goto yy574;
+ goto yy560;
+ } else {
+ if (yych <= 'p')
+ goto yy573;
+ if (yych <= 'r')
+ goto yy560;
+ goto yy574;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ } else {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ goto yy567;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy568;
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy573:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'R')
+ goto yy575;
+ goto yy560;
+ } else {
+ if (yych <= 'r')
+ goto yy575;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy574:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 't') {
+ if (yych <= 'C') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= '\n')
+ goto yy562;
+ if (yych <= 'B')
+ goto yy560;
+ goto yy576;
+ }
+ } else {
+ if (yych <= 'b') {
+ if (yych == 'T')
+ goto yy577;
+ goto yy560;
+ } else {
+ if (yych <= 'c')
+ goto yy576;
+ if (yych <= 's')
+ goto yy560;
+ goto yy577;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ } else {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ goto yy567;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy568;
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy575:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'E')
+ goto yy578;
+ goto yy560;
+ } else {
+ if (yych <= 'e')
+ goto yy578;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy576:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'R')
+ goto yy579;
+ goto yy560;
+ } else {
+ if (yych <= 'r')
+ goto yy579;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy577:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'X') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'x') {
+ if (yych <= 'Y')
+ goto yy580;
+ goto yy560;
+ } else {
+ if (yych <= 'y')
+ goto yy580;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy578:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= '>')
+ goto yy581;
+ if (yych <= 0x7F)
+ goto yy560;
+ if (yych <= 0xC1)
+ goto yy562;
+ goto yy565;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych == 0xED)
+ goto yy568;
+ goto yy567;
+ } else {
+ if (yych <= 0xF0)
+ goto yy569;
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ yy579:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'H') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'I')
+ goto yy583;
+ goto yy560;
+ } else {
+ if (yych <= 'i')
+ goto yy583;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy580:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'K') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'k') {
+ if (yych <= 'L')
+ goto yy575;
+ goto yy560;
+ } else {
+ if (yych <= 'l')
+ goto yy575;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy581:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy560;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy582;
+ if (yych <= '<')
+ goto yy563;
+ } else {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ goto yy567;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy568;
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ }
+ }
+ yy582 : { return (bufsize_t)(p - start); }
+ yy583:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'O') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 'o') {
+ if (yych >= 'Q')
+ goto yy560;
+ } else {
+ if (yych <= 'p')
+ goto yy584;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ yy584:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy563;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'S') {
+ if (yych <= 0x00)
+ goto yy562;
+ if (yych == '\n')
+ goto yy562;
+ goto yy560;
+ } else {
+ if (yych <= 's') {
+ if (yych <= 'T')
+ goto yy578;
+ goto yy560;
+ } else {
+ if (yych <= 't')
+ goto yy578;
+ if (yych <= 0x7F)
+ goto yy560;
+ goto yy562;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy565;
+ if (yych <= 0xE0)
+ goto yy566;
+ if (yych <= 0xEC)
+ goto yy567;
+ goto yy568;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy567;
+ goto yy569;
+ } else {
+ if (yych <= 0xF3)
+ goto yy570;
+ if (yych <= 0xF4)
+ goto yy571;
+ goto yy562;
+ }
+ }
+ }
+ }
+}
+
+// Try to match an HTML block end line of type 2
+bufsize_t _scan_html_block_end_2(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= ',') {
+ if (yych <= 0x00)
+ goto yy587;
+ if (yych != '\n')
+ goto yy589;
+ } else {
+ if (yych <= '-')
+ goto yy590;
+ if (yych <= 0x7F)
+ goto yy589;
+ if (yych >= 0xC2)
+ goto yy591;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy592;
+ if (yych == 0xED)
+ goto yy594;
+ goto yy593;
+ } else {
+ if (yych <= 0xF0)
+ goto yy595;
+ if (yych <= 0xF3)
+ goto yy596;
+ if (yych <= 0xF4)
+ goto yy597;
+ }
+ }
+ yy587:
+ ++p;
+ yy588 : { return 0; }
+ yy589:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy588;
+ if (yych <= '\t')
+ goto yy599;
+ goto yy588;
+ } else {
+ if (yych <= 0x7F)
+ goto yy599;
+ if (yych <= 0xC1)
+ goto yy588;
+ if (yych <= 0xF4)
+ goto yy599;
+ goto yy588;
+ }
+ yy590:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy609;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy588;
+ if (yych <= '\t')
+ goto yy599;
+ goto yy588;
+ } else {
+ if (yych <= 0x7F)
+ goto yy599;
+ if (yych <= 0xC1)
+ goto yy588;
+ if (yych <= 0xF4)
+ goto yy599;
+ goto yy588;
+ }
+ yy591:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy588;
+ if (yych <= 0xBF)
+ goto yy598;
+ goto yy588;
+ yy592:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy588;
+ if (yych <= 0xBF)
+ goto yy602;
+ goto yy588;
+ yy593:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy588;
+ if (yych <= 0xBF)
+ goto yy602;
+ goto yy588;
+ yy594:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy588;
+ if (yych <= 0x9F)
+ goto yy602;
+ goto yy588;
+ yy595:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy588;
+ if (yych <= 0xBF)
+ goto yy604;
+ goto yy588;
+ yy596:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy588;
+ if (yych <= 0xBF)
+ goto yy604;
+ goto yy588;
+ yy597:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy588;
+ if (yych <= 0x8F)
+ goto yy604;
+ goto yy588;
+ yy598:
+ ++p;
+ yych = *p;
+ yy599:
+ if (yybm[0 + yych] & 64) {
+ goto yy598;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy600;
+ if (yych <= '-')
+ goto yy601;
+ } else {
+ if (yych <= 0xDF)
+ goto yy602;
+ if (yych <= 0xE0)
+ goto yy603;
+ goto yy604;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy605;
+ if (yych <= 0xEF)
+ goto yy604;
+ goto yy606;
+ } else {
+ if (yych <= 0xF3)
+ goto yy607;
+ if (yych <= 0xF4)
+ goto yy608;
+ }
+ }
+ yy600:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy588;
+ } else {
+ goto yy612;
+ }
+ yy601:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy598;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy600;
+ if (yych <= '-')
+ goto yy609;
+ goto yy600;
+ } else {
+ if (yych <= 0xDF)
+ goto yy602;
+ if (yych <= 0xE0)
+ goto yy603;
+ goto yy604;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy605;
+ if (yych <= 0xEF)
+ goto yy604;
+ goto yy606;
+ } else {
+ if (yych <= 0xF3)
+ goto yy607;
+ if (yych <= 0xF4)
+ goto yy608;
+ goto yy600;
+ }
+ }
+ yy602:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy600;
+ if (yych <= 0xBF)
+ goto yy598;
+ goto yy600;
+ yy603:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy600;
+ if (yych <= 0xBF)
+ goto yy602;
+ goto yy600;
+ yy604:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy600;
+ if (yych <= 0xBF)
+ goto yy602;
+ goto yy600;
+ yy605:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy600;
+ if (yych <= 0x9F)
+ goto yy602;
+ goto yy600;
+ yy606:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy600;
+ if (yych <= 0xBF)
+ goto yy604;
+ goto yy600;
+ yy607:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy600;
+ if (yych <= 0xBF)
+ goto yy604;
+ goto yy600;
+ yy608:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy600;
+ if (yych <= 0x8F)
+ goto yy604;
+ goto yy600;
+ yy609:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy609;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy600;
+ if (yych == '\n')
+ goto yy600;
+ goto yy598;
+ } else {
+ if (yych <= '>')
+ goto yy611;
+ if (yych <= 0x7F)
+ goto yy598;
+ if (yych <= 0xC1)
+ goto yy600;
+ goto yy602;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy603;
+ if (yych == 0xED)
+ goto yy605;
+ goto yy604;
+ } else {
+ if (yych <= 0xF0)
+ goto yy606;
+ if (yych <= 0xF3)
+ goto yy607;
+ if (yych <= 0xF4)
+ goto yy608;
+ goto yy600;
+ }
+ }
+ yy611:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy598;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy612;
+ if (yych <= '-')
+ goto yy601;
+ } else {
+ if (yych <= 0xDF)
+ goto yy602;
+ if (yych <= 0xE0)
+ goto yy603;
+ goto yy604;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy605;
+ if (yych <= 0xEF)
+ goto yy604;
+ goto yy606;
+ } else {
+ if (yych <= 0xF3)
+ goto yy607;
+ if (yych <= 0xF4)
+ goto yy608;
+ }
+ }
+ yy612 : { return (bufsize_t)(p - start); }
+ }
+}
+
+// Try to match an HTML block end line of type 3
+bufsize_t _scan_html_block_end_3(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy615;
+ if (yych != '\n')
+ goto yy617;
+ } else {
+ if (yych <= '?')
+ goto yy618;
+ if (yych <= 0x7F)
+ goto yy617;
+ if (yych >= 0xC2)
+ goto yy619;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy620;
+ if (yych == 0xED)
+ goto yy622;
+ goto yy621;
+ } else {
+ if (yych <= 0xF0)
+ goto yy623;
+ if (yych <= 0xF3)
+ goto yy624;
+ if (yych <= 0xF4)
+ goto yy625;
+ }
+ }
+ yy615:
+ ++p;
+ yy616 : { return 0; }
+ yy617:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy616;
+ if (yych <= '\t')
+ goto yy627;
+ goto yy616;
+ } else {
+ if (yych <= 0x7F)
+ goto yy627;
+ if (yych <= 0xC1)
+ goto yy616;
+ if (yych <= 0xF4)
+ goto yy627;
+ goto yy616;
+ }
+ yy618:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy616;
+ if (yych == '\n')
+ goto yy616;
+ goto yy627;
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= '>')
+ goto yy638;
+ goto yy627;
+ } else {
+ if (yych <= 0xC1)
+ goto yy616;
+ if (yych <= 0xF4)
+ goto yy627;
+ goto yy616;
+ }
+ }
+ yy619:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy616;
+ if (yych <= 0xBF)
+ goto yy626;
+ goto yy616;
+ yy620:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy616;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy616;
+ yy621:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy616;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy616;
+ yy622:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy616;
+ if (yych <= 0x9F)
+ goto yy631;
+ goto yy616;
+ yy623:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy616;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy616;
+ yy624:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy616;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy616;
+ yy625:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy616;
+ if (yych <= 0x8F)
+ goto yy633;
+ goto yy616;
+ yy626:
+ ++p;
+ yych = *p;
+ yy627:
+ if (yybm[0 + yych] & 64) {
+ goto yy626;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy628;
+ if (yych <= '?')
+ goto yy629;
+ } else {
+ if (yych <= 0xDF)
+ goto yy631;
+ if (yych <= 0xE0)
+ goto yy632;
+ goto yy633;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy634;
+ if (yych <= 0xEF)
+ goto yy633;
+ goto yy635;
+ } else {
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ }
+ }
+ yy628:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy616;
+ } else {
+ goto yy639;
+ }
+ yy629:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy629;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy628;
+ if (yych == '\n')
+ goto yy628;
+ goto yy626;
+ } else {
+ if (yych <= '>')
+ goto yy638;
+ if (yych <= 0x7F)
+ goto yy626;
+ if (yych <= 0xC1)
+ goto yy628;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy632;
+ if (yych == 0xED)
+ goto yy634;
+ goto yy633;
+ } else {
+ if (yych <= 0xF0)
+ goto yy635;
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ goto yy628;
+ }
+ }
+ yy631:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0xBF)
+ goto yy626;
+ goto yy628;
+ yy632:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy628;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy628;
+ yy633:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy628;
+ yy634:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0x9F)
+ goto yy631;
+ goto yy628;
+ yy635:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy628;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy628;
+ yy636:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy628;
+ yy637:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0x8F)
+ goto yy633;
+ goto yy628;
+ yy638:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy626;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy639;
+ if (yych <= '?')
+ goto yy629;
+ } else {
+ if (yych <= 0xDF)
+ goto yy631;
+ if (yych <= 0xE0)
+ goto yy632;
+ goto yy633;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy634;
+ if (yych <= 0xEF)
+ goto yy633;
+ goto yy635;
+ } else {
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ }
+ }
+ yy639 : { return (bufsize_t)(p - start); }
+ }
+}
+
+// Try to match an HTML block end line of type 4
+bufsize_t _scan_html_block_end_4(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy645;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy642;
+ if (yych <= '\t')
+ goto yy644;
+ } else {
+ if (yych <= 0x7F)
+ goto yy644;
+ if (yych <= 0xC1)
+ goto yy642;
+ if (yych <= 0xDF)
+ goto yy648;
+ goto yy649;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy651;
+ goto yy650;
+ } else {
+ if (yych <= 0xF0)
+ goto yy652;
+ if (yych <= 0xF3)
+ goto yy653;
+ if (yych <= 0xF4)
+ goto yy654;
+ }
+ }
+ yy642:
+ ++p;
+ yy643 : { return 0; }
+ yy644:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy643;
+ if (yych <= '\t')
+ goto yy656;
+ goto yy643;
+ } else {
+ if (yych <= 0x7F)
+ goto yy656;
+ if (yych <= 0xC1)
+ goto yy643;
+ if (yych <= 0xF4)
+ goto yy656;
+ goto yy643;
+ }
+ yy645:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy655;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy647;
+ if (yych <= '>')
+ goto yy645;
+ } else {
+ if (yych <= 0xDF)
+ goto yy658;
+ if (yych <= 0xE0)
+ goto yy659;
+ goto yy660;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy661;
+ if (yych <= 0xEF)
+ goto yy660;
+ goto yy662;
+ } else {
+ if (yych <= 0xF3)
+ goto yy663;
+ if (yych <= 0xF4)
+ goto yy664;
+ }
+ }
+ yy647 : { return (bufsize_t)(p - start); }
+ yy648:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy643;
+ if (yych <= 0xBF)
+ goto yy655;
+ goto yy643;
+ yy649:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy643;
+ if (yych <= 0xBF)
+ goto yy658;
+ goto yy643;
+ yy650:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy643;
+ if (yych <= 0xBF)
+ goto yy658;
+ goto yy643;
+ yy651:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy643;
+ if (yych <= 0x9F)
+ goto yy658;
+ goto yy643;
+ yy652:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy643;
+ if (yych <= 0xBF)
+ goto yy660;
+ goto yy643;
+ yy653:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy643;
+ if (yych <= 0xBF)
+ goto yy660;
+ goto yy643;
+ yy654:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy643;
+ if (yych <= 0x8F)
+ goto yy660;
+ goto yy643;
+ yy655:
+ ++p;
+ yych = *p;
+ yy656:
+ if (yybm[0 + yych] & 128) {
+ goto yy655;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy657;
+ if (yych <= '>')
+ goto yy645;
+ } else {
+ if (yych <= 0xDF)
+ goto yy658;
+ if (yych <= 0xE0)
+ goto yy659;
+ goto yy660;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy661;
+ if (yych <= 0xEF)
+ goto yy660;
+ goto yy662;
+ } else {
+ if (yych <= 0xF3)
+ goto yy663;
+ if (yych <= 0xF4)
+ goto yy664;
+ }
+ }
+ yy657:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy643;
+ } else {
+ goto yy647;
+ }
+ yy658:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy657;
+ if (yych <= 0xBF)
+ goto yy655;
+ goto yy657;
+ yy659:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy657;
+ if (yych <= 0xBF)
+ goto yy658;
+ goto yy657;
+ yy660:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy657;
+ if (yych <= 0xBF)
+ goto yy658;
+ goto yy657;
+ yy661:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy657;
+ if (yych <= 0x9F)
+ goto yy658;
+ goto yy657;
+ yy662:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy657;
+ if (yych <= 0xBF)
+ goto yy660;
+ goto yy657;
+ yy663:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy657;
+ if (yych <= 0xBF)
+ goto yy660;
+ goto yy657;
+ yy664:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy657;
+ if (yych <= 0x8F)
+ goto yy660;
+ goto yy657;
+ }
+}
+
+// Try to match an HTML block end line of type 5
+bufsize_t _scan_html_block_end_5(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy667;
+ if (yych != '\n')
+ goto yy669;
+ } else {
+ if (yych <= ']')
+ goto yy670;
+ if (yych <= 0x7F)
+ goto yy669;
+ if (yych >= 0xC2)
+ goto yy671;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy672;
+ if (yych == 0xED)
+ goto yy674;
+ goto yy673;
+ } else {
+ if (yych <= 0xF0)
+ goto yy675;
+ if (yych <= 0xF3)
+ goto yy676;
+ if (yych <= 0xF4)
+ goto yy677;
+ }
+ }
+ yy667:
+ ++p;
+ yy668 : { return 0; }
+ yy669:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy668;
+ if (yych <= '\t')
+ goto yy679;
+ goto yy668;
+ } else {
+ if (yych <= 0x7F)
+ goto yy679;
+ if (yych <= 0xC1)
+ goto yy668;
+ if (yych <= 0xF4)
+ goto yy679;
+ goto yy668;
+ }
+ yy670:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy689;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy668;
+ if (yych <= '\t')
+ goto yy679;
+ goto yy668;
+ } else {
+ if (yych <= 0x7F)
+ goto yy679;
+ if (yych <= 0xC1)
+ goto yy668;
+ if (yych <= 0xF4)
+ goto yy679;
+ goto yy668;
+ }
+ yy671:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy668;
+ if (yych <= 0xBF)
+ goto yy678;
+ goto yy668;
+ yy672:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy668;
+ if (yych <= 0xBF)
+ goto yy682;
+ goto yy668;
+ yy673:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy668;
+ if (yych <= 0xBF)
+ goto yy682;
+ goto yy668;
+ yy674:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy668;
+ if (yych <= 0x9F)
+ goto yy682;
+ goto yy668;
+ yy675:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy668;
+ if (yych <= 0xBF)
+ goto yy684;
+ goto yy668;
+ yy676:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy668;
+ if (yych <= 0xBF)
+ goto yy684;
+ goto yy668;
+ yy677:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy668;
+ if (yych <= 0x8F)
+ goto yy684;
+ goto yy668;
+ yy678:
+ ++p;
+ yych = *p;
+ yy679:
+ if (yybm[0 + yych] & 64) {
+ goto yy678;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy680;
+ if (yych <= ']')
+ goto yy681;
+ } else {
+ if (yych <= 0xDF)
+ goto yy682;
+ if (yych <= 0xE0)
+ goto yy683;
+ goto yy684;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy685;
+ if (yych <= 0xEF)
+ goto yy684;
+ goto yy686;
+ } else {
+ if (yych <= 0xF3)
+ goto yy687;
+ if (yych <= 0xF4)
+ goto yy688;
+ }
+ }
+ yy680:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy668;
+ } else {
+ goto yy692;
+ }
+ yy681:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy678;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy680;
+ if (yych <= ']')
+ goto yy689;
+ goto yy680;
+ } else {
+ if (yych <= 0xDF)
+ goto yy682;
+ if (yych <= 0xE0)
+ goto yy683;
+ goto yy684;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy685;
+ if (yych <= 0xEF)
+ goto yy684;
+ goto yy686;
+ } else {
+ if (yych <= 0xF3)
+ goto yy687;
+ if (yych <= 0xF4)
+ goto yy688;
+ goto yy680;
+ }
+ }
+ yy682:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy680;
+ if (yych <= 0xBF)
+ goto yy678;
+ goto yy680;
+ yy683:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy680;
+ if (yych <= 0xBF)
+ goto yy682;
+ goto yy680;
+ yy684:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy680;
+ if (yych <= 0xBF)
+ goto yy682;
+ goto yy680;
+ yy685:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy680;
+ if (yych <= 0x9F)
+ goto yy682;
+ goto yy680;
+ yy686:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy680;
+ if (yych <= 0xBF)
+ goto yy684;
+ goto yy680;
+ yy687:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy680;
+ if (yych <= 0xBF)
+ goto yy684;
+ goto yy680;
+ yy688:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy680;
+ if (yych <= 0x8F)
+ goto yy684;
+ goto yy680;
+ yy689:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy689;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy680;
+ if (yych == '\n')
+ goto yy680;
+ goto yy678;
+ } else {
+ if (yych <= '>')
+ goto yy691;
+ if (yych <= 0x7F)
+ goto yy678;
+ if (yych <= 0xC1)
+ goto yy680;
+ goto yy682;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy683;
+ if (yych == 0xED)
+ goto yy685;
+ goto yy684;
+ } else {
+ if (yych <= 0xF0)
+ goto yy686;
+ if (yych <= 0xF3)
+ goto yy687;
+ if (yych <= 0xF4)
+ goto yy688;
+ goto yy680;
+ }
+ }
+ yy691:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy678;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy692;
+ if (yych <= ']')
+ goto yy681;
+ } else {
+ if (yych <= 0xDF)
+ goto yy682;
+ if (yych <= 0xE0)
+ goto yy683;
+ goto yy684;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy685;
+ if (yych <= 0xEF)
+ goto yy684;
+ goto yy686;
+ } else {
+ if (yych <= 0xF3)
+ goto yy687;
+ if (yych <= 0xF4)
+ goto yy688;
+ }
+ }
+ yy692 : { return (bufsize_t)(p - start); }
+ }
+}
+
+// Try to match a link title (in single quotes, in double quotes, or
+// in parentheses), returning number of chars matched. Allow one
+// level of internal nesting (quotes within quotes).
+bufsize_t _scan_link_title(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '&') {
+ if (yych == '"')
+ goto yy697;
+ } else {
+ if (yych <= '\'')
+ goto yy698;
+ if (yych <= '(')
+ goto yy699;
+ }
+ ++p;
+ yy696 : { return 0; }
+ yy697:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy696;
+ if (yych <= 0x7F)
+ goto yy701;
+ if (yych <= 0xC1)
+ goto yy696;
+ if (yych <= 0xF4)
+ goto yy701;
+ goto yy696;
+ yy698:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy696;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xC1)
+ goto yy696;
+ if (yych <= 0xF4)
+ goto yy715;
+ goto yy696;
+ yy699:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '(') {
+ if (yych <= 0x00)
+ goto yy696;
+ if (yych <= '\'')
+ goto yy728;
+ goto yy696;
+ } else {
+ if (yych <= 0x7F)
+ goto yy728;
+ if (yych <= 0xC1)
+ goto yy696;
+ if (yych <= 0xF4)
+ goto yy728;
+ goto yy696;
+ }
+ yy700:
+ ++p;
+ yych = *p;
+ yy701:
+ if (yybm[0 + yych] & 16) {
+ goto yy700;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy702;
+ if (yych <= '"')
+ goto yy703;
+ goto yy705;
+ } else {
+ if (yych <= 0xC1)
+ goto yy702;
+ if (yych <= 0xDF)
+ goto yy707;
+ goto yy708;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy710;
+ goto yy709;
+ } else {
+ if (yych <= 0xF0)
+ goto yy711;
+ if (yych <= 0xF3)
+ goto yy712;
+ if (yych <= 0xF4)
+ goto yy713;
+ }
+ }
+ yy702:
+ p = marker;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy696;
+ } else {
+ goto yy704;
+ }
+ } else {
+ if (yyaccept == 2) {
+ goto yy717;
+ } else {
+ goto yy730;
+ }
+ }
+ yy703:
+ ++p;
+ yy704 : { return (bufsize_t)(p - start); }
+ yy705:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy700;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy702;
+ if (yych <= '"')
+ goto yy740;
+ goto yy705;
+ } else {
+ if (yych <= 0xC1)
+ goto yy702;
+ if (yych >= 0xE0)
+ goto yy708;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy710;
+ goto yy709;
+ } else {
+ if (yych <= 0xF0)
+ goto yy711;
+ if (yych <= 0xF3)
+ goto yy712;
+ if (yych <= 0xF4)
+ goto yy713;
+ goto yy702;
+ }
+ }
+ yy707:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy700;
+ goto yy702;
+ yy708:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy707;
+ goto yy702;
+ yy709:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy707;
+ goto yy702;
+ yy710:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0x9F)
+ goto yy707;
+ goto yy702;
+ yy711:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy709;
+ goto yy702;
+ yy712:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy709;
+ goto yy702;
+ yy713:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0x8F)
+ goto yy709;
+ goto yy702;
+ yy714:
+ ++p;
+ yych = *p;
+ yy715:
+ if (yybm[0 + yych] & 64) {
+ goto yy714;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy702;
+ if (yych >= '(')
+ goto yy718;
+ } else {
+ if (yych <= 0xC1)
+ goto yy702;
+ if (yych <= 0xDF)
+ goto yy720;
+ goto yy721;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy723;
+ goto yy722;
+ } else {
+ if (yych <= 0xF0)
+ goto yy724;
+ if (yych <= 0xF3)
+ goto yy725;
+ if (yych <= 0xF4)
+ goto yy726;
+ goto yy702;
+ }
+ }
+ yy716:
+ ++p;
+ yy717 : { return (bufsize_t)(p - start); }
+ yy718:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy714;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy702;
+ if (yych <= '\'')
+ goto yy741;
+ goto yy718;
+ } else {
+ if (yych <= 0xC1)
+ goto yy702;
+ if (yych >= 0xE0)
+ goto yy721;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy723;
+ goto yy722;
+ } else {
+ if (yych <= 0xF0)
+ goto yy724;
+ if (yych <= 0xF3)
+ goto yy725;
+ if (yych <= 0xF4)
+ goto yy726;
+ goto yy702;
+ }
+ }
+ yy720:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy714;
+ goto yy702;
+ yy721:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy720;
+ goto yy702;
+ yy722:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy720;
+ goto yy702;
+ yy723:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0x9F)
+ goto yy720;
+ goto yy702;
+ yy724:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy722;
+ goto yy702;
+ yy725:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy722;
+ goto yy702;
+ yy726:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0x8F)
+ goto yy722;
+ goto yy702;
+ yy727:
+ ++p;
+ yych = *p;
+ yy728:
+ if (yybm[0 + yych] & 128) {
+ goto yy727;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '(')
+ goto yy702;
+ if (yych >= '*')
+ goto yy731;
+ } else {
+ if (yych <= 0xC1)
+ goto yy702;
+ if (yych <= 0xDF)
+ goto yy733;
+ goto yy734;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy736;
+ goto yy735;
+ } else {
+ if (yych <= 0xF0)
+ goto yy737;
+ if (yych <= 0xF3)
+ goto yy738;
+ if (yych <= 0xF4)
+ goto yy739;
+ goto yy702;
+ }
+ }
+ yy729:
+ ++p;
+ yy730 : { return (bufsize_t)(p - start); }
+ yy731:
+ ++p;
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= '[') {
+ if (yych <= 0x00)
+ goto yy702;
+ if (yych == ')')
+ goto yy742;
+ goto yy727;
+ } else {
+ if (yych <= '\\')
+ goto yy731;
+ if (yych <= 0x7F)
+ goto yy727;
+ if (yych <= 0xC1)
+ goto yy702;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy734;
+ if (yych == 0xED)
+ goto yy736;
+ goto yy735;
+ } else {
+ if (yych <= 0xF0)
+ goto yy737;
+ if (yych <= 0xF3)
+ goto yy738;
+ if (yych <= 0xF4)
+ goto yy739;
+ goto yy702;
+ }
+ }
+ yy733:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy727;
+ goto yy702;
+ yy734:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy733;
+ goto yy702;
+ yy735:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy733;
+ goto yy702;
+ yy736:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0x9F)
+ goto yy733;
+ goto yy702;
+ yy737:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy735;
+ goto yy702;
+ yy738:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0xBF)
+ goto yy735;
+ goto yy702;
+ yy739:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy702;
+ if (yych <= 0x8F)
+ goto yy735;
+ goto yy702;
+ yy740:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy700;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy704;
+ if (yych <= '"')
+ goto yy703;
+ goto yy705;
+ } else {
+ if (yych <= 0xC1)
+ goto yy704;
+ if (yych <= 0xDF)
+ goto yy707;
+ goto yy708;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy710;
+ goto yy709;
+ } else {
+ if (yych <= 0xF0)
+ goto yy711;
+ if (yych <= 0xF3)
+ goto yy712;
+ if (yych <= 0xF4)
+ goto yy713;
+ goto yy704;
+ }
+ }
+ yy741:
+ yyaccept = 2;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy714;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy717;
+ if (yych <= '\'')
+ goto yy716;
+ goto yy718;
+ } else {
+ if (yych <= 0xC1)
+ goto yy717;
+ if (yych <= 0xDF)
+ goto yy720;
+ goto yy721;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy723;
+ goto yy722;
+ } else {
+ if (yych <= 0xF0)
+ goto yy724;
+ if (yych <= 0xF3)
+ goto yy725;
+ if (yych <= 0xF4)
+ goto yy726;
+ goto yy717;
+ }
+ }
+ yy742:
+ yyaccept = 3;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy727;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '(')
+ goto yy730;
+ if (yych <= ')')
+ goto yy729;
+ goto yy731;
+ } else {
+ if (yych <= 0xC1)
+ goto yy730;
+ if (yych <= 0xDF)
+ goto yy733;
+ goto yy734;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy736;
+ goto yy735;
+ } else {
+ if (yych <= 0xF0)
+ goto yy737;
+ if (yych <= 0xF3)
+ goto yy738;
+ if (yych <= 0xF4)
+ goto yy739;
+ goto yy730;
+ }
+ }
+ }
+}
+
+// Match space characters, including newlines.
+bufsize_t _scan_spacechars(const unsigned char *p) {
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy747;
+ }
+ ++p;
+ { return 0; }
+ yy747:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy747;
+ }
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+// Match ATX heading start.
+bufsize_t _scan_atx_heading_start(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '#')
+ goto yy754;
+ ++p;
+ yy753 : { return 0; }
+ yy754:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy755;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy753;
+ if (yych <= '\n')
+ goto yy758;
+ goto yy753;
+ } else {
+ if (yych <= '\r')
+ goto yy758;
+ if (yych == '#')
+ goto yy759;
+ goto yy753;
+ }
+ yy755:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy755;
+ }
+ yy757 : { return (bufsize_t)(p - start); }
+ yy758:
+ yych = *++p;
+ goto yy757;
+ yy759:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy755;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy760;
+ if (yych <= '\n')
+ goto yy758;
+ } else {
+ if (yych <= '\r')
+ goto yy758;
+ if (yych == '#')
+ goto yy761;
+ }
+ yy760:
+ p = marker;
+ goto yy753;
+ yy761:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy755;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy760;
+ if (yych <= '\n')
+ goto yy758;
+ goto yy760;
+ } else {
+ if (yych <= '\r')
+ goto yy758;
+ if (yych != '#')
+ goto yy760;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy755;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy760;
+ if (yych <= '\n')
+ goto yy758;
+ goto yy760;
+ } else {
+ if (yych <= '\r')
+ goto yy758;
+ if (yych != '#')
+ goto yy760;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy755;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy760;
+ if (yych <= '\n')
+ goto yy758;
+ goto yy760;
+ } else {
+ if (yych <= '\r')
+ goto yy758;
+ if (yych != '#')
+ goto yy760;
+ }
+ ++p;
+ if (yybm[0 + (yych = *p)] & 128) {
+ goto yy755;
+ }
+ if (yych <= 0x08)
+ goto yy760;
+ if (yych <= '\n')
+ goto yy758;
+ if (yych == '\r')
+ goto yy758;
+ goto yy760;
+ }
+}
+
+// Match setext heading line. Return 1 for level-1 heading,
+// 2 for level-2, 0 for no match.
+bufsize_t _scan_setext_heading_line(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 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, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '-')
+ goto yy769;
+ if (yych == '=')
+ goto yy770;
+ ++p;
+ yy768 : { return 0; }
+ yy769:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy776;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy768;
+ if (yych <= '\n')
+ goto yy772;
+ goto yy768;
+ } else {
+ if (yych <= '\r')
+ goto yy772;
+ if (yych == ' ')
+ goto yy772;
+ goto yy768;
+ }
+ yy770:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy782;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy768;
+ if (yych <= '\n')
+ goto yy779;
+ goto yy768;
+ } else {
+ if (yych <= '\r')
+ goto yy779;
+ if (yych == ' ')
+ goto yy779;
+ goto yy768;
+ }
+ yy771:
+ ++p;
+ yych = *p;
+ yy772:
+ if (yybm[0 + yych] & 32) {
+ goto yy771;
+ }
+ if (yych <= 0x08)
+ goto yy773;
+ if (yych <= '\n')
+ goto yy774;
+ if (yych == '\r')
+ goto yy774;
+ yy773:
+ p = marker;
+ goto yy768;
+ yy774:
+ ++p;
+ { return 2; }
+ yy776:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy771;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy773;
+ if (yych <= '\n')
+ goto yy774;
+ goto yy773;
+ } else {
+ if (yych <= '\r')
+ goto yy774;
+ if (yych == '-')
+ goto yy776;
+ goto yy773;
+ }
+ yy778:
+ ++p;
+ yych = *p;
+ yy779:
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy773;
+ if (yych <= '\t')
+ goto yy778;
+ if (yych >= '\v')
+ goto yy773;
+ } else {
+ if (yych <= '\r')
+ goto yy780;
+ if (yych == ' ')
+ goto yy778;
+ goto yy773;
+ }
+ yy780:
+ ++p;
+ { return 1; }
+ yy782:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy782;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy773;
+ if (yych <= '\t')
+ goto yy778;
+ if (yych <= '\n')
+ goto yy780;
+ goto yy773;
+ } else {
+ if (yych <= '\r')
+ goto yy780;
+ if (yych == ' ')
+ goto yy778;
+ goto yy773;
+ }
+ }
+}
+
+// Scan an opening code fence.
+bufsize_t _scan_open_code_fence(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '`')
+ goto yy788;
+ if (yych == '~')
+ goto yy789;
+ ++p;
+ yy787 : { return 0; }
+ yy788:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy790;
+ goto yy787;
+ yy789:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy792;
+ goto yy787;
+ yy790:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy793;
+ }
+ yy791:
+ p = marker;
+ goto yy787;
+ yy792:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy795;
+ }
+ goto yy791;
+ yy793:
+ ++p;
+ yych = *p;
+ marker = p;
+ if (yybm[0 + yych] & 64) {
+ goto yy797;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '`') {
+ if (yych <= 0x00)
+ goto yy791;
+ if (yych <= '\r')
+ goto yy799;
+ goto yy793;
+ } else {
+ if (yych <= 0xC1)
+ goto yy791;
+ if (yych <= 0xDF)
+ goto yy801;
+ goto yy802;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy804;
+ goto yy803;
+ } else {
+ if (yych <= 0xF0)
+ goto yy805;
+ if (yych <= 0xF3)
+ goto yy806;
+ if (yych <= 0xF4)
+ goto yy807;
+ goto yy791;
+ }
+ }
+ yy795:
+ ++p;
+ yych = *p;
+ marker = p;
+ if (yybm[0 + yych] & 32) {
+ goto yy795;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '\f') {
+ if (yych <= 0x00)
+ goto yy791;
+ if (yych == '\n')
+ goto yy810;
+ goto yy808;
+ } else {
+ if (yych <= '\r')
+ goto yy810;
+ if (yych <= 0x7F)
+ goto yy808;
+ if (yych <= 0xC1)
+ goto yy791;
+ goto yy812;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy813;
+ if (yych == 0xED)
+ goto yy815;
+ goto yy814;
+ } else {
+ if (yych <= 0xF0)
+ goto yy816;
+ if (yych <= 0xF3)
+ goto yy817;
+ if (yych <= 0xF4)
+ goto yy818;
+ goto yy791;
+ }
+ }
+ yy797:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy797;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy791;
+ if (yych >= 0x0E)
+ goto yy791;
+ } else {
+ if (yych <= 0xDF)
+ goto yy801;
+ if (yych <= 0xE0)
+ goto yy802;
+ goto yy803;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy804;
+ if (yych <= 0xEF)
+ goto yy803;
+ goto yy805;
+ } else {
+ if (yych <= 0xF3)
+ goto yy806;
+ if (yych <= 0xF4)
+ goto yy807;
+ goto yy791;
+ }
+ }
+ yy799:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy801:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy797;
+ goto yy791;
+ yy802:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy801;
+ goto yy791;
+ yy803:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy801;
+ goto yy791;
+ yy804:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0x9F)
+ goto yy801;
+ goto yy791;
+ yy805:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy803;
+ goto yy791;
+ yy806:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy803;
+ goto yy791;
+ yy807:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0x8F)
+ goto yy803;
+ goto yy791;
+ yy808:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy808;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy791;
+ if (yych >= 0x0E)
+ goto yy791;
+ } else {
+ if (yych <= 0xDF)
+ goto yy812;
+ if (yych <= 0xE0)
+ goto yy813;
+ goto yy814;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy815;
+ if (yych <= 0xEF)
+ goto yy814;
+ goto yy816;
+ } else {
+ if (yych <= 0xF3)
+ goto yy817;
+ if (yych <= 0xF4)
+ goto yy818;
+ goto yy791;
+ }
+ }
+ yy810:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy812:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy808;
+ goto yy791;
+ yy813:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy812;
+ goto yy791;
+ yy814:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy812;
+ goto yy791;
+ yy815:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0x9F)
+ goto yy812;
+ goto yy791;
+ yy816:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy814;
+ goto yy791;
+ yy817:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0xBF)
+ goto yy814;
+ goto yy791;
+ yy818:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy791;
+ if (yych <= 0x8F)
+ goto yy814;
+ goto yy791;
+ }
+}
+
+// Scan a closing code fence with length at least len.
+bufsize_t _scan_close_code_fence(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '`')
+ goto yy823;
+ if (yych == '~')
+ goto yy824;
+ ++p;
+ yy822 : { return 0; }
+ yy823:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy825;
+ goto yy822;
+ yy824:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy827;
+ goto yy822;
+ yy825:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy828;
+ }
+ yy826:
+ p = marker;
+ goto yy822;
+ yy827:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy830;
+ }
+ goto yy826;
+ yy828:
+ ++p;
+ yych = *p;
+ marker = p;
+ if (yybm[0 + yych] & 128) {
+ goto yy832;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy826;
+ if (yych <= '\n')
+ goto yy834;
+ goto yy826;
+ } else {
+ if (yych <= '\r')
+ goto yy834;
+ if (yych == '`')
+ goto yy828;
+ goto yy826;
+ }
+ yy830:
+ ++p;
+ yych = *p;
+ marker = p;
+ if (yybm[0 + yych] & 64) {
+ goto yy830;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy826;
+ if (yych <= '\t')
+ goto yy836;
+ if (yych <= '\n')
+ goto yy838;
+ goto yy826;
+ } else {
+ if (yych <= '\r')
+ goto yy838;
+ if (yych == ' ')
+ goto yy836;
+ goto yy826;
+ }
+ yy832:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy832;
+ }
+ if (yych <= 0x08)
+ goto yy826;
+ if (yych <= '\n')
+ goto yy834;
+ if (yych != '\r')
+ goto yy826;
+ yy834:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy836:
+ ++p;
+ yych = *p;
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy826;
+ if (yych <= '\t')
+ goto yy836;
+ if (yych >= '\v')
+ goto yy826;
+ } else {
+ if (yych <= '\r')
+ goto yy838;
+ if (yych == ' ')
+ goto yy836;
+ goto yy826;
+ }
+ yy838:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+// Scans an entity.
+// Returns number of chars matched.
+bufsize_t _scan_entity(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych == '&')
+ goto yy844;
+ ++p;
+ yy843 : { return 0; }
+ yy844:
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych != '#')
+ goto yy843;
+ } else {
+ if (yych <= 'Z')
+ goto yy847;
+ if (yych <= '`')
+ goto yy843;
+ if (yych <= 'z')
+ goto yy847;
+ goto yy843;
+ }
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy848;
+ } else {
+ if (yych <= 'X')
+ goto yy849;
+ if (yych == 'x')
+ goto yy849;
+ }
+ yy846:
+ p = marker;
+ goto yy843;
+ yy847:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy850;
+ goto yy846;
+ } else {
+ if (yych <= 'Z')
+ goto yy850;
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy850;
+ goto yy846;
+ }
+ yy848:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy851;
+ if (yych == ';')
+ goto yy852;
+ goto yy846;
+ yy849:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy854;
+ goto yy846;
+ } else {
+ if (yych <= 'F')
+ goto yy854;
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'f')
+ goto yy854;
+ goto yy846;
+ }
+ yy850:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy855;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy855;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy855;
+ goto yy846;
+ }
+ }
+ yy851:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy856;
+ if (yych != ';')
+ goto yy846;
+ yy852:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy854:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy857;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy857;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'f')
+ goto yy857;
+ goto yy846;
+ }
+ }
+ yy855:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy858;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy858;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy858;
+ goto yy846;
+ }
+ }
+ yy856:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy859;
+ if (yych == ';')
+ goto yy852;
+ goto yy846;
+ yy857:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy860;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy860;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'f')
+ goto yy860;
+ goto yy846;
+ }
+ }
+ yy858:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy861;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy861;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy861;
+ goto yy846;
+ }
+ }
+ yy859:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy862;
+ if (yych == ';')
+ goto yy852;
+ goto yy846;
+ yy860:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy863;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy863;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'f')
+ goto yy863;
+ goto yy846;
+ }
+ }
+ yy861:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy864;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy864;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy864;
+ goto yy846;
+ }
+ }
+ yy862:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy865;
+ if (yych == ';')
+ goto yy852;
+ goto yy846;
+ yy863:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy866;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy866;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'f')
+ goto yy866;
+ goto yy846;
+ }
+ }
+ yy864:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy867;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy867;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy867;
+ goto yy846;
+ }
+ }
+ yy865:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy868;
+ if (yych == ';')
+ goto yy852;
+ goto yy846;
+ yy866:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy868;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy868;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'f')
+ goto yy868;
+ goto yy846;
+ }
+ }
+ yy867:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy869;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy869;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy869;
+ goto yy846;
+ }
+ }
+ yy868:
+ yych = *++p;
+ if (yych == ';')
+ goto yy852;
+ goto yy846;
+ yy869:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy870;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy870:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy871;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy871:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy872;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy872:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy873;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy873:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy874;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy874:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy875;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy875:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy876;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy876:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy877;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy877:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy878;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy878:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy879;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy879:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy880;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy880:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy881;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy881:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy882;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy882:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy883;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy883:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy884;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy884:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy885;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy885:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy886;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy886:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy887;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy887:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy888;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy888:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy889;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy889:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy890;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy890:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy891;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy891:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy892;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych >= '{')
+ goto yy846;
+ }
+ }
+ yy892:
+ ++p;
+ if ((yych = *p) <= ';') {
+ if (yych <= '/')
+ goto yy846;
+ if (yych <= '9')
+ goto yy868;
+ if (yych <= ':')
+ goto yy846;
+ goto yy852;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy846;
+ goto yy868;
+ } else {
+ if (yych <= '`')
+ goto yy846;
+ if (yych <= 'z')
+ goto yy868;
+ goto yy846;
+ }
+ }
+ }
+}
+
+// Returns positive value if a URL begins in a way that is potentially
+// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0.
+bufsize_t _scan_dangerous_url(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ yych = *p;
+ if (yych <= 'V') {
+ if (yych <= 'F') {
+ if (yych == 'D')
+ goto yy897;
+ if (yych >= 'F')
+ goto yy898;
+ } else {
+ if (yych == 'J')
+ goto yy899;
+ if (yych >= 'V')
+ goto yy900;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych == 'd')
+ goto yy897;
+ if (yych >= 'f')
+ goto yy898;
+ } else {
+ if (yych <= 'j') {
+ if (yych >= 'j')
+ goto yy899;
+ } else {
+ if (yych == 'v')
+ goto yy900;
+ }
+ }
+ }
+ ++p;
+ yy896 : { return 0; }
+ yy897:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy901;
+ if (yych == 'a')
+ goto yy901;
+ goto yy896;
+ yy898:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy903;
+ if (yych == 'i')
+ goto yy903;
+ goto yy896;
+ yy899:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy904;
+ if (yych == 'a')
+ goto yy904;
+ goto yy896;
+ yy900:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'B')
+ goto yy905;
+ if (yych == 'b')
+ goto yy905;
+ goto yy896;
+ yy901:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy906;
+ if (yych == 't')
+ goto yy906;
+ yy902:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy896;
+ } else {
+ goto yy914;
+ }
+ yy903:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy907;
+ if (yych == 'l')
+ goto yy907;
+ goto yy902;
+ yy904:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy908;
+ if (yych == 'v')
+ goto yy908;
+ goto yy902;
+ yy905:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy909;
+ if (yych == 's')
+ goto yy909;
+ goto yy902;
+ yy906:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy910;
+ if (yych == 'a')
+ goto yy910;
+ goto yy902;
+ yy907:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy911;
+ if (yych == 'e')
+ goto yy911;
+ goto yy902;
+ yy908:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy905;
+ if (yych == 'a')
+ goto yy905;
+ goto yy902;
+ yy909:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy912;
+ if (yych == 'c')
+ goto yy912;
+ goto yy902;
+ yy910:
+ yych = *++p;
+ if (yych == ':')
+ goto yy913;
+ goto yy902;
+ yy911:
+ yych = *++p;
+ if (yych == ':')
+ goto yy915;
+ goto yy902;
+ yy912:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy916;
+ if (yych == 'r')
+ goto yy916;
+ goto yy902;
+ yy913:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy917;
+ if (yych == 'i')
+ goto yy917;
+ yy914 : { return (bufsize_t)(p - start); }
+ yy915:
+ yych = *++p;
+ goto yy914;
+ yy916:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy918;
+ if (yych == 'i')
+ goto yy918;
+ goto yy902;
+ yy917:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy919;
+ if (yych == 'm')
+ goto yy919;
+ goto yy902;
+ yy918:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy920;
+ if (yych == 'p')
+ goto yy920;
+ goto yy902;
+ yy919:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy921;
+ if (yych == 'a')
+ goto yy921;
+ goto yy902;
+ yy920:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy911;
+ if (yych == 't')
+ goto yy911;
+ goto yy902;
+ yy921:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy922;
+ if (yych != 'g')
+ goto yy902;
+ yy922:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy923;
+ if (yych != 'e')
+ goto yy902;
+ yy923:
+ yych = *++p;
+ if (yych != '/')
+ goto yy902;
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= 'J') {
+ if (yych == 'G')
+ goto yy925;
+ if (yych <= 'I')
+ goto yy902;
+ goto yy926;
+ } else {
+ if (yych == 'P')
+ goto yy927;
+ if (yych <= 'V')
+ goto yy902;
+ goto yy928;
+ }
+ } else {
+ if (yych <= 'j') {
+ if (yych == 'g')
+ goto yy925;
+ if (yych <= 'i')
+ goto yy902;
+ goto yy926;
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'o')
+ goto yy902;
+ goto yy927;
+ } else {
+ if (yych == 'w')
+ goto yy928;
+ goto yy902;
+ }
+ }
+ }
+ yy925:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy929;
+ if (yych == 'i')
+ goto yy929;
+ goto yy902;
+ yy926:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy930;
+ if (yych == 'p')
+ goto yy930;
+ goto yy902;
+ yy927:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy931;
+ if (yych == 'n')
+ goto yy931;
+ goto yy902;
+ yy928:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy932;
+ if (yych == 'e')
+ goto yy932;
+ goto yy902;
+ yy929:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy933;
+ if (yych == 'f')
+ goto yy933;
+ goto yy902;
+ yy930:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy931;
+ if (yych != 'e')
+ goto yy902;
+ yy931:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy933;
+ if (yych == 'g')
+ goto yy933;
+ goto yy902;
+ yy932:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy935;
+ if (yych == 'b')
+ goto yy935;
+ goto yy902;
+ yy933:
+ ++p;
+ { return 0; }
+ yy935:
+ ++p;
+ if ((yych = *p) == 'P')
+ goto yy933;
+ if (yych == 'p')
+ goto yy933;
+ goto yy902;
+ }
+}