cmark

My personal build of CMark ✏️

Commit
c5189b749bcc6a65d4209b2e401e0425597d2bb7
Parent
9f8ef820301951f36301c1a40d036cafeaa78619
Author
John MacFarlane <jgm@berkeley.edu>
Date

Removed meta from list of block tags.

Added regression test.

See commonmark/CommonMark#527.

Diffstat

3 files changed, 2918 insertions, 3227 deletions

Status File Name N° Changes Insertions Deletions
Modified src/scanners.c 6129 2903 3226
Modified src/scanners.re 2 1 1
Modified test/regression.txt 14 14 0
diff --git a/src/scanners.c b/src/scanners.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.16 */
+/* Generated by re2c 1.0.2 */
 #include <stdlib.h>
 #include "chunk.h"
 #include "scanners.h"
@@ -738,8 +738,8 @@ bufsize_t _scan_scheme(const unsigned char *p) {
           goto yy6;
       }
     }
-    ++p;
-    if ((yych = *p) == ':')
+    yych = *++p;
+    if (yych == ':')
       goto yy8;
     goto yy6;
   }
@@ -864,8 +864,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
       }
     }
   yy47:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
       goto yy47;
     }
@@ -929,56 +928,49 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     ++p;
     { return (bufsize_t)(p - start); }
   yy52:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy45;
     if (yych <= 0xBF)
       goto yy47;
     goto yy45;
   yy53:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy45;
     if (yych <= 0xBF)
       goto yy52;
     goto yy45;
   yy54:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy45;
     if (yych <= 0xBF)
       goto yy52;
     goto yy45;
   yy55:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy45;
     if (yych <= 0x9F)
       goto yy52;
     goto yy45;
   yy56:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy45;
     if (yych <= 0xBF)
       goto yy54;
     goto yy45;
   yy57:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy45;
     if (yych <= 0xBF)
       goto yy54;
     goto yy45;
   yy58:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy45;
     if (yych <= 0x8F)
@@ -1579,8 +1571,8 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
           goto yy45;
       }
     }
-    ++p;
-    if ((yych = *p) == ':')
+    yych = *++p;
+    if (yych == ':')
       goto yy47;
     goto yy45;
   }
@@ -1682,8 +1674,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy92:
-    ++p;
-    yych = *p;
+    yych = *++p;
   yy93:
     if (yybm[0 + yych] & 128) {
       goto yy92;
@@ -1696,8 +1687,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
     p = marker;
     goto yy90;
   yy95:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '@') {
       if (yych <= '/')
         goto yy94;
@@ -1712,8 +1702,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
         goto yy94;
     }
   yy96:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -1742,8 +1731,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
         goto yy94;
       }
     }
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy101;
@@ -1764,8 +1752,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy98:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -1799,8 +1786,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
     ++p;
     { return (bufsize_t)(p - start); }
   yy101:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy103;
@@ -1821,8 +1807,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy102:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -1852,8 +1837,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy103:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy105;
@@ -1874,8 +1858,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy104:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -1905,8 +1888,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy105:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy107;
@@ -1927,8 +1909,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy106:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -1958,8 +1939,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy107:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy109;
@@ -1980,8 +1960,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy108:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2011,8 +1990,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy109:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy111;
@@ -2033,8 +2011,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy110:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2064,8 +2041,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy111:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy113;
@@ -2086,8 +2062,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy112:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2117,8 +2092,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy113:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy115;
@@ -2139,8 +2113,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy114:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2170,8 +2143,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy115:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy117;
@@ -2192,8 +2164,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy116:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2223,8 +2194,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy117:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy119;
@@ -2245,8 +2215,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy118:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2276,8 +2245,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy119:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy121;
@@ -2298,8 +2266,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy120:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2329,8 +2296,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy121:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy123;
@@ -2351,8 +2317,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy122:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2382,8 +2347,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy123:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy125;
@@ -2404,8 +2368,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy124:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2435,8 +2398,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy125:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy127;
@@ -2457,8 +2419,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy126:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2488,8 +2449,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy127:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy129;
@@ -2510,8 +2470,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy128:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2541,8 +2500,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy129:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy131;
@@ -2563,8 +2521,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy130:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2594,8 +2551,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy131:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy133;
@@ -2616,8 +2572,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy132:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2647,8 +2602,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy133:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy135;
@@ -2669,8 +2623,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy134:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2700,8 +2653,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy135:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy137;
@@ -2722,8 +2674,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy136:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2753,8 +2704,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy137:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy139;
@@ -2775,8 +2725,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy138:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2806,8 +2755,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy139:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy141;
@@ -2828,8 +2776,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy140:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2859,8 +2806,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy141:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy143;
@@ -2881,8 +2827,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy142:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2912,8 +2857,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy143:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy145;
@@ -2934,8 +2878,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy144:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -2965,8 +2908,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy145:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy147;
@@ -2987,8 +2929,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy146:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3018,8 +2959,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy147:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy149;
@@ -3040,8 +2980,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy148:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3071,8 +3010,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy149:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy151;
@@ -3093,8 +3031,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy150:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3124,8 +3061,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy151:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy153;
@@ -3146,8 +3082,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy152:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3177,8 +3112,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy153:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy155;
@@ -3199,8 +3133,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy154:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3230,8 +3163,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy155:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy157;
@@ -3252,8 +3184,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy156:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3283,8 +3214,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy157:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy159;
@@ -3305,8 +3235,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy158:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3336,8 +3265,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy159:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy161;
@@ -3358,8 +3286,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy160:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3389,8 +3316,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy161:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy163;
@@ -3411,8 +3337,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy162:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3442,8 +3367,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy163:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy165;
@@ -3464,8 +3388,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy164:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3495,8 +3418,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy165:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy167;
@@ -3517,8 +3439,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy166:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3548,8 +3469,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy167:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy169;
@@ -3570,8 +3490,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy168:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3601,8 +3520,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy169:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy171;
@@ -3623,8 +3541,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy170:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3654,8 +3571,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy171:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy173;
@@ -3676,8 +3592,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy172:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3707,8 +3622,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy173:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy175;
@@ -3729,8 +3643,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy174:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3760,8 +3673,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy175:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy177;
@@ -3782,8 +3694,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy176:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3813,8 +3724,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy177:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy179;
@@ -3835,8 +3745,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy178:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3866,8 +3775,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy179:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy181;
@@ -3888,8 +3796,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy180:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3919,8 +3826,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy181:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy183;
@@ -3941,8 +3847,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy182:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -3972,8 +3877,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy183:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy185;
@@ -3994,8 +3898,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy184:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4025,8 +3928,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy185:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy187;
@@ -4047,8 +3949,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy186:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4078,8 +3979,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy187:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy189;
@@ -4100,8 +4000,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy188:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4131,8 +4030,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy189:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy191;
@@ -4153,8 +4051,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy190:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4184,8 +4081,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy191:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy193;
@@ -4206,8 +4102,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy192:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4237,8 +4132,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy193:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy195;
@@ -4259,8 +4153,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy194:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4290,8 +4183,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy195:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy197;
@@ -4312,8 +4204,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy196:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4343,8 +4234,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy197:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy199;
@@ -4365,8 +4255,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy198:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4396,8 +4285,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy199:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy201;
@@ -4418,8 +4306,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy200:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4449,8 +4336,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy201:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy203;
@@ -4471,8 +4357,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy202:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4502,8 +4387,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy203:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy205;
@@ -4524,8 +4408,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy204:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4555,8 +4438,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy205:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy207;
@@ -4577,8 +4459,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy206:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4608,8 +4489,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy207:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy209;
@@ -4630,8 +4510,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy208:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4661,8 +4540,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy209:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy211;
@@ -4683,8 +4561,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy210:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4714,8 +4591,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy211:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy213;
@@ -4736,8 +4612,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy212:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4767,8 +4642,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy213:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy215;
@@ -4789,8 +4663,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy214:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4820,8 +4693,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy215:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy217;
@@ -4842,8 +4714,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy216:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4873,8 +4744,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy217:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
         goto yy219;
@@ -4895,8 +4765,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy218:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
@@ -4926,8 +4795,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy219:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '@') {
       if (yych <= '/')
         goto yy94;
@@ -4944,8 +4812,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       goto yy94;
     }
   yy220:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= '-')
@@ -4971,8 +4838,7 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
       }
     }
   yy221:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych == '.')
       goto yy95;
     if (yych == '>')
@@ -5083,33 +4949,34 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
     goto yy225;
   yy229:
     yych = *(marker = ++p);
-    if (yybm[0 + yych] & 1) {
-      goto yy247;
-    }
-    if (yych <= '=') {
-      if (yych <= '.') {
-        if (yych == '-')
-          goto yy249;
+    if (yych <= '.') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy225;
+        if (yych <= '\r')
+          goto yy250;
         goto yy225;
       } else {
-        if (yych <= '/')
-          goto yy251;
-        if (yych <= '9')
-          goto yy249;
+        if (yych <= ' ')
+          goto yy250;
+        if (yych == '-')
+          goto yy250;
         goto yy225;
       }
     } else {
-      if (yych <= 'Z') {
-        if (yych <= '>')
-          goto yy252;
-        if (yych <= '@')
-          goto yy225;
-        goto yy249;
+      if (yych <= '@') {
+        if (yych <= '9')
+          goto yy250;
+        if (yych == '>')
+          goto yy250;
+        goto yy225;
       } else {
+        if (yych <= 'Z')
+          goto yy250;
         if (yych <= '`')
           goto yy225;
         if (yych <= 'z')
-          goto yy249;
+          goto yy250;
         goto yy225;
       }
     }
@@ -5121,8 +4988,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
     p = marker;
     goto yy225;
   yy232:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[256 + yych] & 32) {
       goto yy232;
     }
@@ -5141,8 +5007,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy257;
     goto yy231;
   yy235:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[256 + yych] & 64) {
       goto yy235;
     }
@@ -5160,8 +5025,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy231;
     }
   yy237:
-    ++p;
-    yych = *p;
+    yych = *++p;
   yy238:
     if (yybm[256 + yych] & 128) {
       goto yy237;
@@ -5194,8 +5058,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
         goto yy231;
       }
     }
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0xE0) {
       if (yych <= '>') {
         if (yych <= 0x00)
@@ -5227,64 +5090,56 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy240:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy237;
     goto yy231;
   yy241:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy240;
     goto yy231;
   yy242:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy240;
     goto yy231;
   yy243:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy240;
     goto yy231;
   yy244:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy242;
     goto yy231;
   yy245:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy242;
     goto yy231;
   yy246:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
       goto yy242;
     goto yy231;
   yy247:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 1) {
       goto yy247;
     }
@@ -5316,8 +5171,8 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy249:
-    ++p;
-    yych = *p;
+    yych = *++p;
+  yy250:
     if (yybm[0 + yych] & 1) {
       goto yy247;
     }
@@ -5363,8 +5218,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy231;
     goto yy263;
   yy255:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 2) {
       goto yy255;
     }
@@ -5405,8 +5259,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy279;
     goto yy231;
   yy258:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych <= 0x08)
         goto yy231;
@@ -5421,8 +5274,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy231;
     }
   yy260:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 4) {
       goto yy260;
     }
@@ -5450,8 +5302,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy262:
-    ++p;
-    yych = *p;
+    yych = *++p;
   yy263:
     if (yybm[0 + yych] & 8) {
       goto yy262;
@@ -5493,112 +5344,98 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy231;
     goto yy263;
   yy265:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy262;
     goto yy231;
   yy266:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy265;
     goto yy231;
   yy267:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy265;
     goto yy231;
   yy268:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy265;
     goto yy231;
   yy269:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy267;
     goto yy231;
   yy270:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy267;
     goto yy231;
   yy271:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
       goto yy267;
     goto yy231;
   yy272:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy255;
     goto yy231;
   yy273:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy272;
     goto yy231;
   yy274:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy272;
     goto yy231;
   yy275:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy272;
     goto yy231;
   yy276:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy274;
     goto yy231;
   yy277:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy274;
     goto yy231;
   yy278:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
@@ -5612,8 +5449,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy285;
     goto yy231;
   yy280:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '<') {
       if (yych <= ' ') {
         if (yych <= 0x08)
@@ -5658,8 +5494,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy282:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 16) {
       goto yy286;
     }
@@ -5695,8 +5530,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy284:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 8) {
       goto yy262;
     }
@@ -5737,8 +5571,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy299;
     goto yy231;
   yy286:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 16) {
       goto yy286;
     }
@@ -5774,8 +5607,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy288:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 32) {
       goto yy288;
     }
@@ -5809,8 +5641,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy290:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
       goto yy290;
     }
@@ -5844,56 +5675,49 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy292:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy286;
     goto yy231;
   yy293:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy292;
     goto yy231;
   yy294:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy292;
     goto yy231;
   yy295:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy292;
     goto yy231;
   yy296:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy294;
     goto yy231;
   yy297:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy294;
     goto yy231;
   yy298:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
@@ -5907,8 +5731,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy315;
     goto yy231;
   yy300:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 1) {
       goto yy247;
     }
@@ -5918,112 +5741,98 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       goto yy252;
     goto yy231;
   yy301:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy288;
     goto yy231;
   yy302:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy301;
     goto yy231;
   yy303:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy301;
     goto yy231;
   yy304:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy301;
     goto yy231;
   yy305:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy303;
     goto yy231;
   yy306:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy303;
     goto yy231;
   yy307:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
       goto yy303;
     goto yy231;
   yy308:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy290;
     goto yy231;
   yy309:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy308;
     goto yy231;
   yy310:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy308;
     goto yy231;
   yy311:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy308;
     goto yy231;
   yy312:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy310;
     goto yy231;
   yy313:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy310;
     goto yy231;
   yy314:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
@@ -6034,8 +5843,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
     if (yych != '[')
       goto yy231;
   yy316:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
       goto yy316;
     }
@@ -6067,8 +5875,7 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
         goto yy231;
       }
     }
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
       goto yy316;
     }
@@ -6102,64 +5909,56 @@ bufsize_t _scan_html_tag(const unsigned char *p) {
       }
     }
   yy319:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy316;
     goto yy231;
   yy320:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x9F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy319;
     goto yy231;
   yy321:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy319;
     goto yy231;
   yy322:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x9F)
       goto yy319;
     goto yy231;
   yy323:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy321;
     goto yy231;
   yy324:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0xBF)
       goto yy321;
     goto yy231;
   yy325:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
       goto yy231;
     if (yych <= 0x8F)
       goto yy321;
     goto yy231;
   yy326:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0xE0) {
       if (yych <= '>') {
         if (yych <= 0x00)
@@ -6965,23 +6764,11 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
     goto yy333;
   yy379:
     yych = *++p;
-    if (yych <= 'T') {
-      if (yych == 'N')
-        goto yy422;
-      if (yych <= 'S')
-        goto yy333;
-      goto yy423;
-    } else {
-      if (yych <= 'n') {
-        if (yych <= 'm')
-          goto yy333;
-        goto yy422;
-      } else {
-        if (yych == 't')
-          goto yy423;
-        goto yy333;
-      }
-    }
+    if (yych == 'N')
+      goto yy422;
+    if (yych == 'n')
+      goto yy422;
+    goto yy333;
   yy380:
     yych = *++p;
     if (yych == 'V')
@@ -6992,16 +6779,16 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy381:
     yych = *++p;
     if (yych == 'F')
-      goto yy424;
+      goto yy423;
     if (yych == 'f')
-      goto yy424;
+      goto yy423;
     goto yy333;
   yy382:
     yych = *++p;
     if (yych == 'T')
-      goto yy425;
+      goto yy424;
     if (yych == 't')
-      goto yy425;
+      goto yy424;
     goto yy333;
   yy383:
     ++p;
@@ -7014,23 +6801,23 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy386:
     yych = *++p;
     if (yych == 'R')
-      goto yy426;
+      goto yy425;
     if (yych == 'r')
-      goto yy426;
+      goto yy425;
     goto yy333;
   yy387:
     yych = *++p;
     if (yych == 'E')
-      goto yy427;
+      goto yy426;
     if (yych == 'e')
-      goto yy427;
+      goto yy426;
     goto yy333;
   yy388:
     yych = *++p;
     if (yych == 'R')
-      goto yy428;
+      goto yy427;
     if (yych == 'r')
-      goto yy428;
+      goto yy427;
     goto yy333;
   yy389:
     yych = *++p;
@@ -7042,30 +6829,30 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy390:
     yych = *++p;
     if (yych == 'U')
-      goto yy429;
+      goto yy428;
     if (yych == 'u')
-      goto yy429;
+      goto yy428;
     goto yy333;
   yy391:
     yych = *++p;
     if (yych == 'Y')
-      goto yy430;
+      goto yy429;
     if (yych == 'y')
-      goto yy430;
+      goto yy429;
     goto yy333;
   yy392:
     yych = *++p;
     if (yych == 'M')
-      goto yy431;
+      goto yy430;
     if (yych == 'm')
-      goto yy431;
+      goto yy430;
     goto yy333;
   yy393:
     yych = *++p;
     if (yych == 'B')
-      goto yy432;
+      goto yy431;
     if (yych == 'b')
-      goto yy432;
+      goto yy431;
     goto yy333;
   yy394:
     yych = *++p;
@@ -7077,9 +6864,9 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy395:
     yych = *++p;
     if (yych == 'O')
-      goto yy433;
+      goto yy432;
     if (yych == 'o')
-      goto yy433;
+      goto yy432;
     goto yy333;
   yy396:
     yych = *++p;
@@ -7104,18 +6891,18 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'E')
-          goto yy434;
+          goto yy433;
         if (yych == 'e')
-          goto yy434;
+          goto yy433;
         goto yy333;
       }
     }
   yy397:
     yych = *++p;
     if (yych == 'T')
-      goto yy432;
+      goto yy431;
     if (yych == 't')
-      goto yy432;
+      goto yy431;
     goto yy333;
   yy398:
     yych = *++p;
@@ -7140,9 +6927,9 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'A')
-          goto yy435;
+          goto yy434;
         if (yych == 'a')
-          goto yy435;
+          goto yy434;
         goto yy333;
       }
     }
@@ -7152,44 +6939,44 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy401:
     yych = *++p;
     if (yych == 'D')
-      goto yy436;
+      goto yy435;
     if (yych == 'd')
-      goto yy436;
+      goto yy435;
     goto yy333;
   yy402:
     yych = *++p;
     if (yych == 'R')
-      goto yy437;
+      goto yy436;
     if (yych == 'r')
-      goto yy437;
+      goto yy436;
     goto yy333;
   yy403:
     yych = *++p;
     if (yych == 'I')
-      goto yy438;
+      goto yy437;
     if (yych == 'i')
-      goto yy438;
+      goto yy437;
     goto yy333;
   yy404:
     yych = *++p;
     if (yych == 'D')
-      goto yy439;
+      goto yy438;
     if (yych == 'd')
-      goto yy439;
+      goto yy438;
     goto yy333;
   yy405:
     yych = *++p;
     if (yych == 'E')
-      goto yy440;
+      goto yy439;
     if (yych == 'e')
-      goto yy440;
+      goto yy439;
     goto yy333;
   yy406:
     yych = *++p;
     if (yych == 'C')
-      goto yy441;
+      goto yy440;
     if (yych == 'c')
-      goto yy441;
+      goto yy440;
     goto yy333;
   yy407:
     yych = *++p;
@@ -7201,16 +6988,16 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy408:
     yych = *++p;
     if (yych == 'T')
-      goto yy442;
+      goto yy441;
     if (yych == 't')
-      goto yy442;
+      goto yy441;
     goto yy333;
   yy409:
     yych = *++p;
     if (yych == 'T')
-      goto yy443;
+      goto yy442;
     if (yych == 't')
-      goto yy443;
+      goto yy442;
     goto yy333;
   yy410:
     yych = *++p;
@@ -7235,49 +7022,49 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'G')
-          goto yy444;
+          goto yy443;
         if (yych == 'g')
-          goto yy444;
+          goto yy443;
         goto yy333;
       }
     }
   yy411:
     yych = *++p;
     if (yych == 'A')
-      goto yy445;
+      goto yy444;
     if (yych == 'a')
-      goto yy445;
+      goto yy444;
     goto yy333;
   yy412:
     yych = *++p;
     if (yych == 'L')
-      goto yy446;
+      goto yy445;
     if (yych == 'l')
-      goto yy446;
+      goto yy445;
     goto yy333;
   yy413:
     yych = *++p;
     if (yych == 'L')
-      goto yy447;
+      goto yy446;
     if (yych == 'l')
-      goto yy447;
+      goto yy446;
     goto yy333;
   yy414:
     yych = *++p;
     if (yych <= 'U') {
       if (yych == 'C')
-        goto yy448;
+        goto yy447;
       if (yych <= 'T')
         goto yy333;
-      goto yy449;
+      goto yy448;
     } else {
       if (yych <= 'c') {
         if (yych <= 'b')
           goto yy333;
-        goto yy448;
+        goto yy447;
       } else {
         if (yych == 'u')
-          goto yy449;
+          goto yy448;
         goto yy333;
       }
     }
@@ -7291,30 +7078,30 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy416:
     yych = *++p;
     if (yych == 'M')
-      goto yy450;
+      goto yy449;
     if (yych == 'm')
-      goto yy450;
+      goto yy449;
     goto yy333;
   yy417:
     yych = *++p;
     if (yych == 'D')
-      goto yy451;
+      goto yy450;
     if (yych == 'd')
-      goto yy451;
+      goto yy450;
     goto yy333;
   yy418:
     yych = *++p;
     if (yych == 'A')
-      goto yy452;
+      goto yy451;
     if (yych == 'a')
-      goto yy452;
+      goto yy451;
     goto yy333;
   yy419:
     yych = *++p;
     if (yych == 'E')
-      goto yy453;
+      goto yy452;
     if (yych == 'e')
-      goto yy453;
+      goto yy452;
     goto yy333;
   yy420:
     yych = *++p;
@@ -7333,150 +7120,143 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
   yy422:
     yych = *++p;
     if (yych == 'U')
-      goto yy454;
+      goto yy453;
     if (yych == 'u')
-      goto yy454;
+      goto yy453;
     goto yy333;
   yy423:
     yych = *++p;
-    if (yych == 'A')
-      goto yy367;
-    if (yych == 'a')
-      goto yy367;
-    goto yy333;
-  yy424:
-    yych = *++p;
     if (yych == 'R')
-      goto yy455;
+      goto yy454;
     if (yych == 'r')
-      goto yy455;
+      goto yy454;
     goto yy333;
-  yy425:
+  yy424:
     yych = *++p;
     if (yych <= 'I') {
       if (yych == 'G')
-        goto yy444;
+        goto yy443;
       if (yych <= 'H')
         goto yy333;
-      goto yy456;
+      goto yy455;
     } else {
       if (yych <= 'g') {
         if (yych <= 'f')
           goto yy333;
-        goto yy444;
+        goto yy443;
       } else {
         if (yych == 'i')
-          goto yy456;
+          goto yy455;
         goto yy333;
       }
     }
-  yy426:
+  yy425:
     yych = *++p;
     if (yych == 'A')
       goto yy415;
     if (yych == 'a')
       goto yy415;
     goto yy333;
-  yy427:
+  yy426:
     yych = *++p;
     if (yych <= 0x1F) {
       if (yych <= 0x08)
         goto yy333;
       if (yych <= '\r')
-        goto yy457;
+        goto yy456;
       goto yy333;
     } else {
       if (yych <= ' ')
-        goto yy457;
+        goto yy456;
       if (yych == '>')
-        goto yy457;
+        goto yy456;
       goto yy333;
     }
-  yy428:
+  yy427:
     yych = *++p;
     if (yych == 'I')
-      goto yy459;
+      goto yy458;
     if (yych == 'i')
-      goto yy459;
+      goto yy458;
     goto yy333;
-  yy429:
+  yy428:
     yych = *++p;
     if (yych == 'R')
-      goto yy460;
+      goto yy459;
     if (yych == 'r')
-      goto yy460;
+      goto yy459;
     goto yy333;
-  yy430:
+  yy429:
     yych = *++p;
     if (yych == 'L')
       goto yy387;
     if (yych == 'l')
       goto yy387;
     goto yy333;
-  yy431:
+  yy430:
     yych = *++p;
     if (yych == 'M')
-      goto yy461;
+      goto yy460;
     if (yych == 'm')
-      goto yy461;
+      goto yy460;
     goto yy333;
-  yy432:
+  yy431:
     yych = *++p;
     if (yych == 'L')
-      goto yy439;
+      goto yy438;
     if (yych == 'l')
-      goto yy439;
+      goto yy438;
     goto yy333;
-  yy433:
+  yy432:
     yych = *++p;
     if (yych == 'O')
-      goto yy462;
+      goto yy461;
     if (yych == 'o')
-      goto yy462;
+      goto yy461;
     goto yy333;
-  yy434:
+  yy433:
     yych = *++p;
     if (yych == 'A')
-      goto yy463;
+      goto yy462;
     if (yych == 'a')
-      goto yy463;
+      goto yy462;
     goto yy333;
-  yy435:
+  yy434:
     yych = *++p;
     if (yych == 'C')
       goto yy420;
     if (yych == 'c')
       goto yy420;
     goto yy333;
-  yy436:
+  yy435:
     yych = *++p;
     if (yych == 'A')
-      goto yy464;
+      goto yy463;
     if (yych == 'a')
-      goto yy464;
+      goto yy463;
     goto yy333;
-  yy437:
+  yy436:
     yych = *++p;
     if (yych == 'E')
-      goto yy465;
+      goto yy464;
     if (yych == 'e')
-      goto yy465;
+      goto yy464;
     goto yy333;
-  yy438:
+  yy437:
     yych = *++p;
     if (yych == 'C')
-      goto yy432;
+      goto yy431;
     if (yych == 'c')
-      goto yy432;
+      goto yy431;
     goto yy333;
-  yy439:
+  yy438:
     yych = *++p;
     if (yych == 'E')
       goto yy367;
     if (yych == 'e')
       goto yy367;
     goto yy333;
-  yy440:
+  yy439:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
@@ -7499,83 +7279,83 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'F')
-          goto yy466;
+          goto yy465;
         if (yych == 'f')
-          goto yy466;
+          goto yy465;
         goto yy333;
       }
     }
-  yy441:
+  yy440:
     yych = *++p;
     if (yych == 'K')
-      goto yy467;
+      goto yy466;
     if (yych == 'k')
-      goto yy467;
+      goto yy466;
     goto yy333;
-  yy442:
+  yy441:
     yych = *++p;
     if (yych == 'I')
-      goto yy456;
+      goto yy455;
     if (yych == 'i')
-      goto yy456;
+      goto yy455;
     goto yy333;
-  yy443:
+  yy442:
     yych = *++p;
     if (yych == 'E')
-      goto yy468;
+      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 == 'R')
+    if (yych == 'I')
       goto yy469;
-    if (yych == 'r')
+    if (yych == 'i')
       goto yy469;
     goto yy333;
   yy445:
     yych = *++p;
-    if (yych == 'I')
+    if (yych == 'O')
       goto yy470;
-    if (yych == 'i')
+    if (yych == 'o')
       goto yy470;
     goto yy333;
   yy446:
     yych = *++p;
-    if (yych == 'O')
+    if (yych == 'D')
       goto yy471;
-    if (yych == 'o')
+    if (yych == 'd')
       goto yy471;
     goto yy333;
   yy447:
     yych = *++p;
-    if (yych == 'D')
-      goto yy472;
-    if (yych == 'd')
-      goto yy472;
-    goto yy333;
-  yy448:
-    yych = *++p;
     if (yych == 'A')
       goto yy364;
     if (yych == 'a')
       goto yy364;
     goto yy333;
-  yy449:
+  yy448:
     yych = *++p;
     if (yych == 'R')
-      goto yy439;
+      goto yy438;
     if (yych == 'r')
-      goto yy439;
+      goto yy438;
     goto yy333;
-  yy450:
+  yy449:
     yych = *++p;
     if (yych == 'E')
-      goto yy473;
+      goto yy472;
     if (yych == 'e')
-      goto yy473;
+      goto yy472;
     goto yy333;
-  yy451:
+  yy450:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
@@ -7598,27 +7378,27 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'E')
-          goto yy468;
+          goto yy467;
         if (yych == 'e')
-          goto yy468;
+          goto yy467;
         goto yy333;
       }
     }
-  yy452:
+  yy451:
     yych = *++p;
     if (yych == 'M')
-      goto yy439;
+      goto yy438;
     if (yych == 'm')
-      goto yy439;
+      goto yy438;
     goto yy333;
-  yy453:
+  yy452:
     yych = *++p;
     if (yych == 'N')
-      goto yy463;
+      goto yy462;
     if (yych == 'n')
-      goto yy463;
+      goto yy462;
     goto yy333;
-  yy454:
+  yy453:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
@@ -7641,128 +7421,128 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'I')
-          goto yy474;
+          goto yy473;
         if (yych == 'i')
-          goto yy474;
+          goto yy473;
         goto yy333;
       }
     }
-  yy455:
+  yy454:
     yych = *++p;
     if (yych == 'A')
-      goto yy475;
+      goto yy474;
     if (yych == 'a')
-      goto yy475;
+      goto yy474;
     goto yy333;
-  yy456:
+  yy455:
     yych = *++p;
     if (yych == 'O')
       goto yy421;
     if (yych == 'o')
       goto yy421;
     goto yy333;
-  yy457:
+  yy456:
     ++p;
     { return 1; }
-  yy459:
+  yy458:
     yych = *++p;
     if (yych == 'P')
-      goto yy476;
+      goto yy475;
     if (yych == 'p')
-      goto yy476;
+      goto yy475;
     goto yy333;
-  yy460:
+  yy459:
     yych = *++p;
     if (yych == 'C')
-      goto yy439;
+      goto yy438;
     if (yych == 'c')
-      goto yy439;
+      goto yy438;
     goto yy333;
-  yy461:
+  yy460:
     yych = *++p;
     if (yych == 'A')
-      goto yy477;
+      goto yy476;
     if (yych == 'a')
-      goto yy477;
+      goto yy476;
     goto yy333;
-  yy462:
+  yy461:
     yych = *++p;
     if (yych == 'T')
       goto yy367;
     if (yych == 't')
       goto yy367;
     goto yy333;
-  yy463:
+  yy462:
     yych = *++p;
     if (yych == 'D')
       goto yy367;
     if (yych == 'd')
       goto yy367;
     goto yy333;
-  yy464:
+  yy463:
     yych = *++p;
     if (yych == 'T')
-      goto yy478;
+      goto yy477;
     if (yych == 't')
-      goto yy478;
+      goto yy477;
     goto yy333;
-  yy465:
+  yy464:
     yych = *++p;
     if (yych == 'S')
-      goto yy479;
+      goto yy478;
     if (yych == 's')
-      goto yy479;
+      goto yy478;
     goto yy333;
-  yy466:
+  yy465:
     yych = *++p;
     if (yych == 'O')
-      goto yy480;
+      goto yy479;
     if (yych == 'o')
-      goto yy480;
+      goto yy479;
     goto yy333;
-  yy467:
+  yy466:
     yych = *++p;
     if (yych == 'Q')
-      goto yy481;
+      goto yy480;
     if (yych == 'q')
-      goto yy481;
+      goto yy480;
     goto yy333;
-  yy468:
+  yy467:
     yych = *++p;
     if (yych == 'R')
       goto yy367;
     if (yych == 'r')
       goto yy367;
     goto yy333;
-  yy469:
+  yy468:
     yych = *++p;
     if (yych == 'O')
-      goto yy482;
+      goto yy481;
     if (yych == 'o')
-      goto yy482;
+      goto yy481;
     goto yy333;
-  yy470:
+  yy469:
     yych = *++p;
     if (yych == 'L')
-      goto yy479;
+      goto yy478;
     if (yych == 'l')
-      goto yy479;
+      goto yy478;
     goto yy333;
-  yy471:
+  yy470:
     yych = *++p;
     if (yych == 'G')
       goto yy367;
     if (yych == 'g')
       goto yy367;
     goto yy333;
-  yy472:
+  yy471:
     yych = *++p;
     if (yych == 'S')
-      goto yy483;
+      goto yy482;
     if (yych == 's')
-      goto yy483;
+      goto yy482;
     goto yy333;
-  yy473:
+  yy472:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
@@ -7785,60 +7565,67 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
         goto yy333;
       } else {
         if (yych <= 'S')
-          goto yy483;
+          goto yy482;
         if (yych == 's')
-          goto yy483;
+          goto yy482;
         goto yy333;
       }
     }
-  yy474:
+  yy473:
     yych = *++p;
     if (yych == 'T')
-      goto yy484;
+      goto yy483;
     if (yych == 't')
-      goto yy484;
+      goto yy483;
     goto yy333;
-  yy475:
+  yy474:
     yych = *++p;
     if (yych == 'M')
-      goto yy485;
+      goto yy484;
     if (yych == 'm')
-      goto yy485;
+      goto yy484;
     goto yy333;
-  yy476:
+  yy475:
     yych = *++p;
     if (yych == 'T')
-      goto yy427;
+      goto yy426;
     if (yych == 't')
-      goto yy427;
+      goto yy426;
     goto yy333;
-  yy477:
+  yy476:
     yych = *++p;
     if (yych == 'R')
       goto yy407;
     if (yych == 'r')
       goto yy407;
     goto yy333;
-  yy478:
+  yy477:
     yych = *++p;
     if (yych == 'A')
-      goto yy486;
+      goto yy485;
     if (yych == 'a')
-      goto yy486;
+      goto yy485;
     goto yy333;
-  yy479:
+  yy478:
     yych = *++p;
     if (yych == 'S')
       goto yy367;
     if (yych == 's')
       goto yy367;
     goto yy333;
-  yy480:
+  yy479:
     yych = *++p;
     if (yych == 'N')
-      goto yy462;
+      goto yy461;
     if (yych == 'n')
-      goto yy462;
+      goto yy461;
+    goto yy333;
+  yy480:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy486;
+    if (yych == 'u')
+      goto yy486;
     goto yy333;
   yy481:
     yych = *++p;
@@ -7849,60 +7636,53 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
     goto yy333;
   yy482:
     yych = *++p;
-    if (yych == 'U')
-      goto yy488;
-    if (yych == 'u')
-      goto yy488;
-    goto yy333;
-  yy483:
-    yych = *++p;
     if (yych == 'E')
-      goto yy462;
+      goto yy461;
     if (yych == 'e')
-      goto yy462;
+      goto yy461;
     goto yy333;
-  yy484:
+  yy483:
     yych = *++p;
     if (yych == 'E')
       goto yy415;
     if (yych == 'e')
       goto yy415;
     goto yy333;
-  yy485:
+  yy484:
     yych = *++p;
     if (yych == 'E')
-      goto yy479;
+      goto yy478;
     if (yych == 'e')
-      goto yy479;
+      goto yy478;
     goto yy333;
-  yy486:
+  yy485:
     yych = *++p;
     if (yych == '[')
-      goto yy489;
+      goto yy488;
     goto yy333;
-  yy487:
+  yy486:
     yych = *++p;
     if (yych == 'O')
-      goto yy491;
+      goto yy490;
     if (yych == 'o')
-      goto yy491;
+      goto yy490;
     goto yy333;
-  yy488:
+  yy487:
     yych = *++p;
     if (yych == 'P')
       goto yy367;
     if (yych == 'p')
       goto yy367;
     goto yy333;
-  yy489:
+  yy488:
     ++p;
     { return 5; }
-  yy491:
-    ++p;
-    if ((yych = *p) == 'T')
-      goto yy439;
+  yy490:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy438;
     if (yych == 't')
-      goto yy439;
+      goto yy438;
     goto yy333;
   }
 }
@@ -7938,591 +7718,557 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '<')
-      goto yy496;
+      goto yy495;
     ++p;
-  yy495 : { return 0; }
-  yy496:
+  yy494 : { return 0; }
+  yy495:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '@') {
       if (yych != '/')
-        goto yy495;
+        goto yy494;
     } else {
       if (yych <= 'Z')
-        goto yy499;
+        goto yy498;
       if (yych <= '`')
-        goto yy495;
+        goto yy494;
       if (yych <= 'z')
-        goto yy499;
-      goto yy495;
+        goto yy498;
+      goto yy494;
     }
     yych = *++p;
     if (yych <= '@')
-      goto yy498;
+      goto yy497;
     if (yych <= 'Z')
-      goto yy501;
+      goto yy500;
     if (yych <= '`')
-      goto yy498;
+      goto yy497;
     if (yych <= 'z')
-      goto yy501;
-  yy498:
+      goto yy500;
+  yy497:
     p = marker;
     if (yyaccept == 0) {
-      goto yy495;
+      goto yy494;
     } else {
-      goto yy514;
+      goto yy513;
     }
-  yy499:
-    ++p;
-    yych = *p;
+  yy498:
+    yych = *++p;
     if (yybm[0 + yych] & 2) {
-      goto yy503;
+      goto yy502;
     }
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych == '-')
-          goto yy499;
-        goto yy498;
+          goto yy498;
+        goto yy497;
       } else {
         if (yych <= '/')
-          goto yy505;
+          goto yy504;
         if (yych <= '9')
-          goto yy499;
-        goto yy498;
+          goto yy498;
+        goto yy497;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy506;
+          goto yy505;
         if (yych <= '@')
-          goto yy498;
-        goto yy499;
+          goto yy497;
+        goto yy498;
       } else {
         if (yych <= '`')
-          goto yy498;
+          goto yy497;
         if (yych <= 'z')
-          goto yy499;
-        goto yy498;
+          goto yy498;
+        goto yy497;
       }
     }
-  yy501:
-    ++p;
-    yych = *p;
+  yy500:
+    yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
         if (yych <= 0x08)
-          goto yy498;
+          goto yy497;
         if (yych <= '\r')
-          goto yy508;
-        goto yy498;
+          goto yy507;
+        goto yy497;
       } else {
         if (yych <= ' ')
-          goto yy508;
+          goto yy507;
         if (yych == '-')
-          goto yy501;
-        goto yy498;
+          goto yy500;
+        goto yy497;
       }
     } else {
       if (yych <= '@') {
         if (yych <= '9')
-          goto yy501;
+          goto yy500;
         if (yych == '>')
-          goto yy506;
-        goto yy498;
+          goto yy505;
+        goto yy497;
       } else {
         if (yych <= 'Z')
-          goto yy501;
+          goto yy500;
         if (yych <= '`')
-          goto yy498;
+          goto yy497;
         if (yych <= 'z')
-          goto yy501;
-        goto yy498;
+          goto yy500;
+        goto yy497;
       }
     }
-  yy503:
-    ++p;
-    yych = *p;
+  yy502:
+    yych = *++p;
     if (yybm[0 + yych] & 2) {
-      goto yy503;
+      goto yy502;
     }
     if (yych <= '>') {
       if (yych <= '9') {
         if (yych != '/')
-          goto yy498;
+          goto yy497;
       } else {
         if (yych <= ':')
-          goto yy510;
+          goto yy509;
         if (yych <= '=')
-          goto yy498;
-        goto yy506;
+          goto yy497;
+        goto yy505;
       }
     } else {
       if (yych <= '^') {
         if (yych <= '@')
-          goto yy498;
+          goto yy497;
         if (yych <= 'Z')
-          goto yy510;
-        goto yy498;
+          goto yy509;
+        goto yy497;
       } else {
         if (yych == '`')
-          goto yy498;
+          goto yy497;
         if (yych <= 'z')
-          goto yy510;
-        goto yy498;
+          goto yy509;
+        goto yy497;
       }
     }
-  yy505:
+  yy504:
     yych = *++p;
     if (yych != '>')
-      goto yy498;
-  yy506:
-    ++p;
-    yych = *p;
+      goto yy497;
+  yy505:
+    yych = *++p;
     if (yybm[0 + yych] & 4) {
-      goto yy506;
+      goto yy505;
     }
     if (yych <= 0x08)
-      goto yy498;
+      goto yy497;
     if (yych <= '\n')
-      goto yy512;
+      goto yy511;
     if (yych <= '\v')
-      goto yy498;
+      goto yy497;
     if (yych <= '\r')
-      goto yy515;
-    goto yy498;
-  yy508:
-    ++p;
-    yych = *p;
+      goto yy514;
+    goto yy497;
+  yy507:
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych <= 0x08)
-        goto yy498;
+        goto yy497;
       if (yych <= '\r')
-        goto yy508;
-      goto yy498;
+        goto yy507;
+      goto yy497;
     } else {
       if (yych <= ' ')
-        goto yy508;
+        goto yy507;
       if (yych == '>')
-        goto yy506;
-      goto yy498;
+        goto yy505;
+      goto yy497;
     }
-  yy510:
-    ++p;
-    yych = *p;
+  yy509:
+    yych = *++p;
     if (yybm[0 + yych] & 8) {
-      goto yy510;
+      goto yy509;
     }
     if (yych <= ',') {
       if (yych <= '\r') {
         if (yych <= 0x08)
-          goto yy498;
-        goto yy516;
+          goto yy497;
+        goto yy515;
       } else {
         if (yych == ' ')
-          goto yy516;
-        goto yy498;
+          goto yy515;
+        goto yy497;
       }
     } else {
       if (yych <= '<') {
         if (yych <= '/')
-          goto yy505;
-        goto yy498;
+          goto yy504;
+        goto yy497;
       } else {
         if (yych <= '=')
-          goto yy518;
+          goto yy517;
         if (yych <= '>')
-          goto yy506;
-        goto yy498;
+          goto yy505;
+        goto yy497;
       }
     }
-  yy512:
+  yy511:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 4) {
-      goto yy506;
+      goto yy505;
     }
     if (yych <= 0x08)
-      goto yy514;
+      goto yy513;
     if (yych <= '\n')
-      goto yy512;
+      goto yy511;
     if (yych <= '\v')
-      goto yy514;
+      goto yy513;
     if (yych <= '\r')
-      goto yy515;
-  yy514 : { return 7; }
+      goto yy514;
+  yy513 : { return 7; }
+  yy514:
+    ++p;
+    goto yy513;
   yy515:
     yych = *++p;
-    goto yy514;
-  yy516:
-    ++p;
-    yych = *p;
     if (yych <= '<') {
       if (yych <= ' ') {
         if (yych <= 0x08)
-          goto yy498;
+          goto yy497;
         if (yych <= '\r')
-          goto yy516;
+          goto yy515;
         if (yych <= 0x1F)
-          goto yy498;
-        goto yy516;
+          goto yy497;
+        goto yy515;
       } else {
         if (yych <= '/') {
           if (yych <= '.')
-            goto yy498;
-          goto yy505;
+            goto yy497;
+          goto yy504;
         } else {
           if (yych == ':')
-            goto yy510;
-          goto yy498;
+            goto yy509;
+          goto yy497;
         }
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '=')
-          goto yy518;
+          goto yy517;
         if (yych <= '>')
-          goto yy506;
+          goto yy505;
         if (yych <= '@')
-          goto yy498;
-        goto yy510;
+          goto yy497;
+        goto yy509;
       } else {
         if (yych <= '_') {
           if (yych <= '^')
-            goto yy498;
-          goto yy510;
+            goto yy497;
+          goto yy509;
         } else {
           if (yych <= '`')
-            goto yy498;
+            goto yy497;
           if (yych <= 'z')
-            goto yy510;
-          goto yy498;
+            goto yy509;
+          goto yy497;
         }
       }
     }
-  yy518:
-    ++p;
-    yych = *p;
+  yy517:
+    yych = *++p;
     if (yybm[0 + yych] & 32) {
-      goto yy520;
+      goto yy519;
     }
     if (yych <= 0xE0) {
       if (yych <= '"') {
         if (yych <= 0x00)
-          goto yy498;
+          goto yy497;
         if (yych <= ' ')
-          goto yy518;
-        goto yy522;
+          goto yy517;
+        goto yy521;
       } else {
         if (yych <= '\'')
-          goto yy524;
+          goto yy523;
         if (yych <= 0xC1)
-          goto yy498;
+          goto yy497;
         if (yych <= 0xDF)
-          goto yy526;
-        goto yy527;
+          goto yy525;
+        goto yy526;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy529;
-        goto yy528;
+          goto yy528;
+        goto yy527;
       } else {
         if (yych <= 0xF0)
-          goto yy530;
+          goto yy529;
         if (yych <= 0xF3)
-          goto yy531;
+          goto yy530;
         if (yych <= 0xF4)
-          goto yy532;
-        goto yy498;
+          goto yy531;
+        goto yy497;
       }
     }
-  yy520:
-    ++p;
-    yych = *p;
+  yy519:
+    yych = *++p;
     if (yybm[0 + yych] & 32) {
-      goto yy520;
+      goto yy519;
     }
     if (yych <= 0xE0) {
       if (yych <= '=') {
         if (yych <= 0x00)
-          goto yy498;
+          goto yy497;
         if (yych <= ' ')
-          goto yy503;
-        goto yy498;
+          goto yy502;
+        goto yy497;
       } else {
         if (yych <= '>')
-          goto yy506;
+          goto yy505;
         if (yych <= 0xC1)
-          goto yy498;
+          goto yy497;
         if (yych <= 0xDF)
-          goto yy526;
-        goto yy527;
+          goto yy525;
+        goto yy526;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy529;
-        goto yy528;
+          goto yy528;
+        goto yy527;
       } else {
         if (yych <= 0xF0)
-          goto yy530;
+          goto yy529;
         if (yych <= 0xF3)
-          goto yy531;
+          goto yy530;
         if (yych <= 0xF4)
-          goto yy532;
-        goto yy498;
+          goto yy531;
+        goto yy497;
       }
     }
-  yy522:
-    ++p;
-    yych = *p;
+  yy521:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy522;
+      goto yy521;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy498;
+          goto yy497;
         if (yych <= '"')
-          goto yy533;
-        goto yy498;
+          goto yy532;
+        goto yy497;
       } else {
         if (yych <= 0xDF)
-          goto yy534;
+          goto yy533;
         if (yych <= 0xE0)
-          goto yy535;
-        goto yy536;
+          goto yy534;
+        goto yy535;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy537;
-        if (yych <= 0xEF)
           goto yy536;
-        goto yy538;
+        if (yych <= 0xEF)
+          goto yy535;
+        goto yy537;
       } else {
         if (yych <= 0xF3)
-          goto yy539;
+          goto yy538;
         if (yych <= 0xF4)
-          goto yy540;
-        goto yy498;
+          goto yy539;
+        goto yy497;
       }
     }
-  yy524:
-    ++p;
-    yych = *p;
+  yy523:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy524;
+      goto yy523;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy498;
+          goto yy497;
         if (yych <= '\'')
-          goto yy533;
-        goto yy498;
+          goto yy532;
+        goto yy497;
       } else {
         if (yych <= 0xDF)
-          goto yy541;
+          goto yy540;
         if (yych <= 0xE0)
-          goto yy542;
-        goto yy543;
+          goto yy541;
+        goto yy542;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy544;
-        if (yych <= 0xEF)
           goto yy543;
-        goto yy545;
+        if (yych <= 0xEF)
+          goto yy542;
+        goto yy544;
       } else {
         if (yych <= 0xF3)
-          goto yy546;
+          goto yy545;
         if (yych <= 0xF4)
-          goto yy547;
-        goto yy498;
+          goto yy546;
+        goto yy497;
       }
     }
-  yy526:
-    ++p;
-    yych = *p;
+  yy525:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy520;
-    goto yy498;
-  yy527:
-    ++p;
-    yych = *p;
+      goto yy519;
+    goto yy497;
+  yy526:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy526;
-    goto yy498;
-  yy528:
-    ++p;
-    yych = *p;
+      goto yy525;
+    goto yy497;
+  yy527:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy526;
-    goto yy498;
-  yy529:
-    ++p;
-    yych = *p;
+      goto yy525;
+    goto yy497;
+  yy528:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0x9F)
-      goto yy526;
-    goto yy498;
-  yy530:
-    ++p;
-    yych = *p;
+      goto yy525;
+    goto yy497;
+  yy529:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy528;
-    goto yy498;
-  yy531:
-    ++p;
-    yych = *p;
+      goto yy527;
+    goto yy497;
+  yy530:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy528;
-    goto yy498;
-  yy532:
-    ++p;
-    yych = *p;
+      goto yy527;
+    goto yy497;
+  yy531:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0x8F)
-      goto yy528;
-    goto yy498;
-  yy533:
-    ++p;
-    yych = *p;
+      goto yy527;
+    goto yy497;
+  yy532:
+    yych = *++p;
     if (yybm[0 + yych] & 2) {
-      goto yy503;
+      goto yy502;
     }
     if (yych == '/')
-      goto yy505;
+      goto yy504;
     if (yych == '>')
-      goto yy506;
-    goto yy498;
-  yy534:
-    ++p;
-    yych = *p;
+      goto yy505;
+    goto yy497;
+  yy533:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy522;
-    goto yy498;
-  yy535:
-    ++p;
-    yych = *p;
+      goto yy521;
+    goto yy497;
+  yy534:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy534;
-    goto yy498;
-  yy536:
-    ++p;
-    yych = *p;
+      goto yy533;
+    goto yy497;
+  yy535:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy534;
-    goto yy498;
-  yy537:
-    ++p;
-    yych = *p;
+      goto yy533;
+    goto yy497;
+  yy536:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0x9F)
-      goto yy534;
-    goto yy498;
-  yy538:
-    ++p;
-    yych = *p;
+      goto yy533;
+    goto yy497;
+  yy537:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy536;
-    goto yy498;
-  yy539:
-    ++p;
-    yych = *p;
+      goto yy535;
+    goto yy497;
+  yy538:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy536;
-    goto yy498;
-  yy540:
-    ++p;
-    yych = *p;
+      goto yy535;
+    goto yy497;
+  yy539:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0x8F)
-      goto yy536;
-    goto yy498;
-  yy541:
-    ++p;
-    yych = *p;
+      goto yy535;
+    goto yy497;
+  yy540:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy524;
-    goto yy498;
-  yy542:
-    ++p;
-    yych = *p;
+      goto yy523;
+    goto yy497;
+  yy541:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy541;
-    goto yy498;
-  yy543:
-    ++p;
-    yych = *p;
+      goto yy540;
+    goto yy497;
+  yy542:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy541;
-    goto yy498;
-  yy544:
-    ++p;
-    yych = *p;
+      goto yy540;
+    goto yy497;
+  yy543:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0x9F)
-      goto yy541;
-    goto yy498;
-  yy545:
-    ++p;
-    yych = *p;
+      goto yy540;
+    goto yy497;
+  yy544:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy543;
-    goto yy498;
-  yy546:
-    ++p;
-    yych = *p;
+      goto yy542;
+    goto yy497;
+  yy545:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0xBF)
-      goto yy543;
-    goto yy498;
-  yy547:
-    ++p;
-    yych = *p;
+      goto yy542;
+    goto yy497;
+  yy546:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy498;
+      goto yy497;
     if (yych <= 0x8F)
-      goto yy543;
-    goto yy498;
+      goto yy542;
+    goto yy497;
   }
 }
 
@@ -8555,850 +8301,829 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= ';') {
         if (yych <= 0x00)
-          goto yy550;
+          goto yy549;
         if (yych != '\n')
-          goto yy552;
+          goto yy551;
       } else {
         if (yych <= '<')
-          goto yy553;
-        if (yych <= 0x7F)
           goto yy552;
+        if (yych <= 0x7F)
+          goto yy551;
         if (yych >= 0xC2)
-          goto yy554;
+          goto yy553;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy555;
+          goto yy554;
         if (yych == 0xED)
-          goto yy557;
-        goto yy556;
+          goto yy556;
+        goto yy555;
       } else {
         if (yych <= 0xF0)
-          goto yy558;
+          goto yy557;
         if (yych <= 0xF3)
-          goto yy559;
+          goto yy558;
         if (yych <= 0xF4)
-          goto yy560;
+          goto yy559;
       }
     }
-  yy550:
+  yy549:
     ++p;
-  yy551 : { return 0; }
-  yy552:
+  yy550 : { return 0; }
+  yy551:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy551;
+        goto yy550;
       if (yych <= '\t')
-        goto yy562;
-      goto yy551;
+        goto yy561;
+      goto yy550;
     } else {
       if (yych <= 0x7F)
-        goto yy562;
+        goto yy561;
       if (yych <= 0xC1)
-        goto yy551;
+        goto yy550;
       if (yych <= 0xF4)
-        goto yy562;
-      goto yy551;
+        goto yy561;
+      goto yy550;
     }
-  yy553:
+  yy552:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '.') {
       if (yych <= 0x00)
-        goto yy551;
+        goto yy550;
       if (yych == '\n')
-        goto yy551;
-      goto yy562;
+        goto yy550;
+      goto yy561;
     } else {
       if (yych <= 0x7F) {
         if (yych <= '/')
-          goto yy573;
-        goto yy562;
+          goto yy572;
+        goto yy561;
       } else {
         if (yych <= 0xC1)
-          goto yy551;
+          goto yy550;
         if (yych <= 0xF4)
-          goto yy562;
-        goto yy551;
+          goto yy561;
+        goto yy550;
       }
     }
-  yy554:
+  yy553:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0xBF)
-      goto yy561;
-    goto yy551;
-  yy555:
+      goto yy560;
+    goto yy550;
+  yy554:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0xBF)
-      goto yy566;
-    goto yy551;
-  yy556:
+      goto yy565;
+    goto yy550;
+  yy555:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0xBF)
-      goto yy566;
-    goto yy551;
-  yy557:
+      goto yy565;
+    goto yy550;
+  yy556:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0x9F)
-      goto yy566;
-    goto yy551;
-  yy558:
+      goto yy565;
+    goto yy550;
+  yy557:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0xBF)
-      goto yy568;
-    goto yy551;
-  yy559:
+      goto yy567;
+    goto yy550;
+  yy558:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0xBF)
-      goto yy568;
-    goto yy551;
-  yy560:
+      goto yy567;
+    goto yy550;
+  yy559:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy551;
+      goto yy550;
     if (yych <= 0x8F)
-      goto yy568;
-    goto yy551;
+      goto yy567;
+    goto yy550;
+  yy560:
+    yych = *++p;
   yy561:
-    ++p;
-    yych = *p;
-  yy562:
     if (yybm[0 + yych] & 64) {
-      goto yy561;
+      goto yy560;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy563;
+          goto yy562;
         if (yych <= '<')
-          goto yy564;
+          goto yy563;
       } else {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
-        goto yy568;
+          goto yy566;
+        goto yy567;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy569;
-        if (yych <= 0xEF)
           goto yy568;
-        goto yy570;
+        if (yych <= 0xEF)
+          goto yy567;
+        goto yy569;
       } else {
         if (yych <= 0xF3)
-          goto yy571;
+          goto yy570;
         if (yych <= 0xF4)
-          goto yy572;
+          goto yy571;
       }
     }
-  yy563:
+  yy562:
     p = marker;
     if (yyaccept == 0) {
-      goto yy551;
+      goto yy550;
     } else {
-      goto yy583;
+      goto yy582;
     }
-  yy564:
-    ++p;
-    yych = *p;
+  yy563:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xDF) {
       if (yych <= '.') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= '/')
-          goto yy573;
+          goto yy572;
         if (yych <= 0x7F)
-          goto yy561;
+          goto yy560;
         if (yych <= 0xC1)
-          goto yy563;
+          goto yy562;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych == 0xED)
-          goto yy569;
-        goto yy568;
+          goto yy568;
+        goto yy567;
       } else {
         if (yych <= 0xF0)
-          goto yy570;
+          goto yy569;
         if (yych <= 0xF3)
-          goto yy571;
+          goto yy570;
         if (yych <= 0xF4)
-          goto yy572;
-        goto yy563;
+          goto yy571;
+        goto yy562;
       }
     }
-  yy566:
-    ++p;
-    yych = *p;
+  yy565:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0xBF)
-      goto yy561;
-    goto yy563;
-  yy567:
-    ++p;
-    yych = *p;
+      goto yy560;
+    goto yy562;
+  yy566:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0xBF)
-      goto yy566;
-    goto yy563;
-  yy568:
-    ++p;
-    yych = *p;
+      goto yy565;
+    goto yy562;
+  yy567:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0xBF)
-      goto yy566;
-    goto yy563;
-  yy569:
-    ++p;
-    yych = *p;
+      goto yy565;
+    goto yy562;
+  yy568:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0x9F)
-      goto yy566;
-    goto yy563;
-  yy570:
-    ++p;
-    yych = *p;
+      goto yy565;
+    goto yy562;
+  yy569:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0xBF)
-      goto yy568;
-    goto yy563;
-  yy571:
-    ++p;
-    yych = *p;
+      goto yy567;
+    goto yy562;
+  yy570:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0xBF)
-      goto yy568;
-    goto yy563;
-  yy572:
-    ++p;
-    yych = *p;
+      goto yy567;
+    goto yy562;
+  yy571:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy563;
+      goto yy562;
     if (yych <= 0x8F)
-      goto yy568;
-    goto yy563;
-  yy573:
-    ++p;
-    yych = *p;
+      goto yy567;
+    goto yy562;
+  yy572:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 's') {
       if (yych <= 'P') {
         if (yych <= '\t') {
           if (yych <= 0x00)
-            goto yy563;
-          goto yy561;
+            goto yy562;
+          goto yy560;
         } else {
           if (yych <= '\n')
-            goto yy563;
+            goto yy562;
           if (yych <= 'O')
-            goto yy561;
+            goto yy560;
         }
       } else {
         if (yych <= 'o') {
           if (yych == 'S')
-            goto yy575;
-          goto yy561;
+            goto yy574;
+          goto yy560;
         } else {
           if (yych <= 'p')
-            goto yy574;
+            goto yy573;
           if (yych <= 'r')
-            goto yy561;
-          goto yy575;
+            goto yy560;
+          goto yy574;
         }
       }
     } else {
       if (yych <= 0xEC) {
         if (yych <= 0xC1) {
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         } else {
           if (yych <= 0xDF)
-            goto yy566;
+            goto yy565;
           if (yych <= 0xE0)
-            goto yy567;
-          goto yy568;
+            goto yy566;
+          goto yy567;
         }
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xED)
-            goto yy569;
-          if (yych <= 0xEF)
             goto yy568;
-          goto yy570;
+          if (yych <= 0xEF)
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy574:
-    ++p;
-    yych = *p;
+  yy573:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'Q') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'q') {
           if (yych <= 'R')
-            goto yy576;
-          goto yy561;
+            goto yy575;
+          goto yy560;
         } else {
           if (yych <= 'r')
-            goto yy576;
+            goto yy575;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy575:
-    ++p;
-    yych = *p;
+  yy574:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 't') {
       if (yych <= 'C') {
         if (yych <= '\t') {
           if (yych <= 0x00)
-            goto yy563;
-          goto yy561;
+            goto yy562;
+          goto yy560;
         } else {
           if (yych <= '\n')
-            goto yy563;
+            goto yy562;
           if (yych <= 'B')
-            goto yy561;
-          goto yy577;
+            goto yy560;
+          goto yy576;
         }
       } else {
         if (yych <= 'b') {
           if (yych == 'T')
-            goto yy578;
-          goto yy561;
+            goto yy577;
+          goto yy560;
         } else {
           if (yych <= 'c')
-            goto yy577;
+            goto yy576;
           if (yych <= 's')
-            goto yy561;
-          goto yy578;
+            goto yy560;
+          goto yy577;
         }
       }
     } else {
       if (yych <= 0xEC) {
         if (yych <= 0xC1) {
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         } else {
           if (yych <= 0xDF)
-            goto yy566;
+            goto yy565;
           if (yych <= 0xE0)
-            goto yy567;
-          goto yy568;
+            goto yy566;
+          goto yy567;
         }
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xED)
-            goto yy569;
-          if (yych <= 0xEF)
             goto yy568;
-          goto yy570;
+          if (yych <= 0xEF)
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy576:
-    ++p;
-    yych = *p;
+  yy575:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'D') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'd') {
           if (yych <= 'E')
-            goto yy579;
-          goto yy561;
+            goto yy578;
+          goto yy560;
         } else {
           if (yych <= 'e')
-            goto yy579;
+            goto yy578;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy577:
-    ++p;
-    yych = *p;
+  yy576:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'Q') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'q') {
           if (yych <= 'R')
-            goto yy580;
-          goto yy561;
+            goto yy579;
+          goto yy560;
         } else {
           if (yych <= 'r')
-            goto yy580;
+            goto yy579;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy578:
-    ++p;
-    yych = *p;
+  yy577:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'X') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'x') {
           if (yych <= 'Y')
-            goto yy581;
-          goto yy561;
+            goto yy580;
+          goto yy560;
         } else {
           if (yych <= 'y')
-            goto yy581;
+            goto yy580;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy579:
-    ++p;
-    yych = *p;
+  yy578:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= '>')
-          goto yy582;
+          goto yy581;
         if (yych <= 0x7F)
-          goto yy561;
+          goto yy560;
         if (yych <= 0xC1)
-          goto yy563;
-        goto yy566;
+          goto yy562;
+        goto yy565;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych == 0xED)
-          goto yy569;
-        goto yy568;
+          goto yy568;
+        goto yy567;
       } else {
         if (yych <= 0xF0)
-          goto yy570;
+          goto yy569;
         if (yych <= 0xF3)
-          goto yy571;
+          goto yy570;
         if (yych <= 0xF4)
-          goto yy572;
-        goto yy563;
+          goto yy571;
+        goto yy562;
       }
     }
-  yy580:
-    ++p;
-    yych = *p;
+  yy579:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'H') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'h') {
           if (yych <= 'I')
-            goto yy584;
-          goto yy561;
+            goto yy583;
+          goto yy560;
         } else {
           if (yych <= 'i')
-            goto yy584;
+            goto yy583;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy581:
-    ++p;
-    yych = *p;
+  yy580:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'K') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'k') {
           if (yych <= 'L')
-            goto yy576;
-          goto yy561;
+            goto yy575;
+          goto yy560;
         } else {
           if (yych <= 'l')
-            goto yy576;
+            goto yy575;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy582:
+  yy581:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 64) {
-      goto yy561;
+      goto yy560;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy583;
+          goto yy582;
         if (yych <= '<')
-          goto yy564;
+          goto yy563;
       } else {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
-        goto yy568;
+          goto yy566;
+        goto yy567;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy569;
-        if (yych <= 0xEF)
           goto yy568;
-        goto yy570;
+        if (yych <= 0xEF)
+          goto yy567;
+        goto yy569;
       } else {
         if (yych <= 0xF3)
-          goto yy571;
+          goto yy570;
         if (yych <= 0xF4)
-          goto yy572;
+          goto yy571;
       }
     }
-  yy583 : { return (bufsize_t)(p - start); }
-  yy584:
-    ++p;
-    yych = *p;
+  yy582 : { return (bufsize_t)(p - start); }
+  yy583:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'O') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 'o') {
           if (yych >= 'Q')
-            goto yy561;
+            goto yy560;
         } else {
           if (yych <= 'p')
-            goto yy585;
+            goto yy584;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
-  yy585:
-    ++p;
-    yych = *p;
+  yy584:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy564;
+      goto yy563;
     }
     if (yych <= 0xC1) {
       if (yych <= 'S') {
         if (yych <= 0x00)
-          goto yy563;
+          goto yy562;
         if (yych == '\n')
-          goto yy563;
-        goto yy561;
+          goto yy562;
+        goto yy560;
       } else {
         if (yych <= 's') {
           if (yych <= 'T')
-            goto yy579;
-          goto yy561;
+            goto yy578;
+          goto yy560;
         } else {
           if (yych <= 't')
-            goto yy579;
+            goto yy578;
           if (yych <= 0x7F)
-            goto yy561;
-          goto yy563;
+            goto yy560;
+          goto yy562;
         }
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy566;
+          goto yy565;
         if (yych <= 0xE0)
-          goto yy567;
+          goto yy566;
         if (yych <= 0xEC)
-          goto yy568;
-        goto yy569;
+          goto yy567;
+        goto yy568;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy568;
-          goto yy570;
+            goto yy567;
+          goto yy569;
         } else {
           if (yych <= 0xF3)
-            goto yy571;
+            goto yy570;
           if (yych <= 0xF4)
-            goto yy572;
-          goto yy563;
+            goto yy571;
+          goto yy562;
         }
       }
     }
@@ -9434,337 +9159,326 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= ',') {
         if (yych <= 0x00)
-          goto yy588;
+          goto yy587;
         if (yych != '\n')
-          goto yy590;
+          goto yy589;
       } else {
         if (yych <= '-')
-          goto yy591;
-        if (yych <= 0x7F)
           goto yy590;
+        if (yych <= 0x7F)
+          goto yy589;
         if (yych >= 0xC2)
-          goto yy592;
+          goto yy591;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy593;
+          goto yy592;
         if (yych == 0xED)
-          goto yy595;
-        goto yy594;
+          goto yy594;
+        goto yy593;
       } else {
         if (yych <= 0xF0)
-          goto yy596;
+          goto yy595;
         if (yych <= 0xF3)
-          goto yy597;
+          goto yy596;
         if (yych <= 0xF4)
-          goto yy598;
+          goto yy597;
       }
     }
-  yy588:
+  yy587:
     ++p;
-  yy589 : { return 0; }
-  yy590:
+  yy588 : { return 0; }
+  yy589:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy589;
+        goto yy588;
       if (yych <= '\t')
-        goto yy600;
-      goto yy589;
+        goto yy599;
+      goto yy588;
     } else {
       if (yych <= 0x7F)
-        goto yy600;
+        goto yy599;
       if (yych <= 0xC1)
-        goto yy589;
+        goto yy588;
       if (yych <= 0xF4)
-        goto yy600;
-      goto yy589;
+        goto yy599;
+      goto yy588;
     }
-  yy591:
+  yy590:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy610;
+      goto yy609;
     }
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy589;
+        goto yy588;
       if (yych <= '\t')
-        goto yy600;
-      goto yy589;
+        goto yy599;
+      goto yy588;
     } else {
       if (yych <= 0x7F)
-        goto yy600;
+        goto yy599;
       if (yych <= 0xC1)
-        goto yy589;
+        goto yy588;
       if (yych <= 0xF4)
-        goto yy600;
-      goto yy589;
+        goto yy599;
+      goto yy588;
     }
-  yy592:
+  yy591:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0xBF)
-      goto yy599;
-    goto yy589;
-  yy593:
+      goto yy598;
+    goto yy588;
+  yy592:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0xBF)
-      goto yy603;
-    goto yy589;
-  yy594:
+      goto yy602;
+    goto yy588;
+  yy593:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0xBF)
-      goto yy603;
-    goto yy589;
-  yy595:
+      goto yy602;
+    goto yy588;
+  yy594:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0x9F)
-      goto yy603;
-    goto yy589;
-  yy596:
+      goto yy602;
+    goto yy588;
+  yy595:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0xBF)
-      goto yy605;
-    goto yy589;
-  yy597:
+      goto yy604;
+    goto yy588;
+  yy596:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0xBF)
-      goto yy605;
-    goto yy589;
-  yy598:
+      goto yy604;
+    goto yy588;
+  yy597:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy589;
+      goto yy588;
     if (yych <= 0x8F)
-      goto yy605;
-    goto yy589;
+      goto yy604;
+    goto yy588;
+  yy598:
+    yych = *++p;
   yy599:
-    ++p;
-    yych = *p;
-  yy600:
     if (yybm[0 + yych] & 64) {
-      goto yy599;
+      goto yy598;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy601;
+          goto yy600;
         if (yych <= '-')
-          goto yy602;
+          goto yy601;
       } else {
         if (yych <= 0xDF)
-          goto yy603;
+          goto yy602;
         if (yych <= 0xE0)
-          goto yy604;
-        goto yy605;
+          goto yy603;
+        goto yy604;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy606;
-        if (yych <= 0xEF)
           goto yy605;
-        goto yy607;
+        if (yych <= 0xEF)
+          goto yy604;
+        goto yy606;
       } else {
         if (yych <= 0xF3)
-          goto yy608;
+          goto yy607;
         if (yych <= 0xF4)
-          goto yy609;
+          goto yy608;
       }
     }
-  yy601:
+  yy600:
     p = marker;
     if (yyaccept == 0) {
-      goto yy589;
+      goto yy588;
     } else {
-      goto yy613;
+      goto yy612;
     }
-  yy602:
-    ++p;
-    yych = *p;
+  yy601:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy599;
+      goto yy598;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy601;
+          goto yy600;
         if (yych <= '-')
-          goto yy610;
-        goto yy601;
+          goto yy609;
+        goto yy600;
       } else {
         if (yych <= 0xDF)
-          goto yy603;
+          goto yy602;
         if (yych <= 0xE0)
-          goto yy604;
-        goto yy605;
+          goto yy603;
+        goto yy604;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy606;
-        if (yych <= 0xEF)
           goto yy605;
-        goto yy607;
+        if (yych <= 0xEF)
+          goto yy604;
+        goto yy606;
       } else {
         if (yych <= 0xF3)
-          goto yy608;
+          goto yy607;
         if (yych <= 0xF4)
-          goto yy609;
-        goto yy601;
+          goto yy608;
+        goto yy600;
       }
     }
-  yy603:
-    ++p;
-    yych = *p;
+  yy602:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0xBF)
-      goto yy599;
-    goto yy601;
-  yy604:
-    ++p;
-    yych = *p;
+      goto yy598;
+    goto yy600;
+  yy603:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0xBF)
-      goto yy603;
-    goto yy601;
-  yy605:
-    ++p;
-    yych = *p;
+      goto yy602;
+    goto yy600;
+  yy604:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0xBF)
-      goto yy603;
-    goto yy601;
-  yy606:
-    ++p;
-    yych = *p;
+      goto yy602;
+    goto yy600;
+  yy605:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0x9F)
-      goto yy603;
-    goto yy601;
-  yy607:
-    ++p;
-    yych = *p;
+      goto yy602;
+    goto yy600;
+  yy606:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0xBF)
-      goto yy605;
-    goto yy601;
-  yy608:
-    ++p;
-    yych = *p;
+      goto yy604;
+    goto yy600;
+  yy607:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0xBF)
-      goto yy605;
-    goto yy601;
-  yy609:
-    ++p;
-    yych = *p;
+      goto yy604;
+    goto yy600;
+  yy608:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy601;
+      goto yy600;
     if (yych <= 0x8F)
-      goto yy605;
-    goto yy601;
-  yy610:
-    ++p;
-    yych = *p;
+      goto yy604;
+    goto yy600;
+  yy609:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy610;
+      goto yy609;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych <= 0x00)
-          goto yy601;
+          goto yy600;
         if (yych == '\n')
-          goto yy601;
-        goto yy599;
+          goto yy600;
+        goto yy598;
       } else {
         if (yych <= '>')
-          goto yy612;
+          goto yy611;
         if (yych <= 0x7F)
-          goto yy599;
+          goto yy598;
         if (yych <= 0xC1)
-          goto yy601;
-        goto yy603;
+          goto yy600;
+        goto yy602;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy604;
+          goto yy603;
         if (yych == 0xED)
-          goto yy606;
-        goto yy605;
+          goto yy605;
+        goto yy604;
       } else {
         if (yych <= 0xF0)
-          goto yy607;
+          goto yy606;
         if (yych <= 0xF3)
-          goto yy608;
+          goto yy607;
         if (yych <= 0xF4)
-          goto yy609;
-        goto yy601;
+          goto yy608;
+        goto yy600;
       }
     }
-  yy612:
+  yy611:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 64) {
-      goto yy599;
+      goto yy598;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy613;
+          goto yy612;
         if (yych <= '-')
-          goto yy602;
+          goto yy601;
       } else {
         if (yych <= 0xDF)
-          goto yy603;
+          goto yy602;
         if (yych <= 0xE0)
-          goto yy604;
-        goto yy605;
+          goto yy603;
+        goto yy604;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy606;
-        if (yych <= 0xEF)
           goto yy605;
-        goto yy607;
+        if (yych <= 0xEF)
+          goto yy604;
+        goto yy606;
       } else {
         if (yych <= 0xF3)
-          goto yy608;
+          goto yy607;
         if (yych <= 0xF4)
-          goto yy609;
+          goto yy608;
       }
     }
-  yy613 : { return (bufsize_t)(p - start); }
+  yy612 : { return (bufsize_t)(p - start); }
   }
 }
 
@@ -9797,302 +9511,292 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= '>') {
         if (yych <= 0x00)
-          goto yy616;
+          goto yy615;
         if (yych != '\n')
-          goto yy618;
+          goto yy617;
       } else {
         if (yych <= '?')
-          goto yy619;
-        if (yych <= 0x7F)
           goto yy618;
+        if (yych <= 0x7F)
+          goto yy617;
         if (yych >= 0xC2)
-          goto yy620;
+          goto yy619;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy621;
+          goto yy620;
         if (yych == 0xED)
-          goto yy623;
-        goto yy622;
+          goto yy622;
+        goto yy621;
       } else {
         if (yych <= 0xF0)
-          goto yy624;
+          goto yy623;
         if (yych <= 0xF3)
-          goto yy625;
+          goto yy624;
         if (yych <= 0xF4)
-          goto yy626;
+          goto yy625;
       }
     }
-  yy616:
+  yy615:
     ++p;
-  yy617 : { return 0; }
-  yy618:
+  yy616 : { return 0; }
+  yy617:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy617;
+        goto yy616;
       if (yych <= '\t')
-        goto yy628;
-      goto yy617;
+        goto yy627;
+      goto yy616;
     } else {
       if (yych <= 0x7F)
-        goto yy628;
+        goto yy627;
       if (yych <= 0xC1)
-        goto yy617;
+        goto yy616;
       if (yych <= 0xF4)
-        goto yy628;
-      goto yy617;
+        goto yy627;
+      goto yy616;
     }
-  yy619:
+  yy618:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '=') {
       if (yych <= 0x00)
-        goto yy617;
+        goto yy616;
       if (yych == '\n')
-        goto yy617;
-      goto yy628;
+        goto yy616;
+      goto yy627;
     } else {
       if (yych <= 0x7F) {
         if (yych <= '>')
-          goto yy639;
-        goto yy628;
+          goto yy638;
+        goto yy627;
       } else {
         if (yych <= 0xC1)
-          goto yy617;
+          goto yy616;
         if (yych <= 0xF4)
-          goto yy628;
-        goto yy617;
+          goto yy627;
+        goto yy616;
       }
     }
-  yy620:
+  yy619:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0xBF)
-      goto yy627;
-    goto yy617;
-  yy621:
+      goto yy626;
+    goto yy616;
+  yy620:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0xBF)
-      goto yy632;
-    goto yy617;
-  yy622:
+      goto yy631;
+    goto yy616;
+  yy621:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0xBF)
-      goto yy632;
-    goto yy617;
-  yy623:
+      goto yy631;
+    goto yy616;
+  yy622:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0x9F)
-      goto yy632;
-    goto yy617;
-  yy624:
+      goto yy631;
+    goto yy616;
+  yy623:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0xBF)
-      goto yy634;
-    goto yy617;
-  yy625:
+      goto yy633;
+    goto yy616;
+  yy624:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0xBF)
-      goto yy634;
-    goto yy617;
-  yy626:
+      goto yy633;
+    goto yy616;
+  yy625:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy617;
+      goto yy616;
     if (yych <= 0x8F)
-      goto yy634;
-    goto yy617;
+      goto yy633;
+    goto yy616;
+  yy626:
+    yych = *++p;
   yy627:
-    ++p;
-    yych = *p;
-  yy628:
     if (yybm[0 + yych] & 64) {
-      goto yy627;
+      goto yy626;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy629;
+          goto yy628;
         if (yych <= '?')
-          goto yy630;
+          goto yy629;
       } else {
         if (yych <= 0xDF)
-          goto yy632;
+          goto yy631;
         if (yych <= 0xE0)
-          goto yy633;
-        goto yy634;
+          goto yy632;
+        goto yy633;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy635;
-        if (yych <= 0xEF)
           goto yy634;
-        goto yy636;
+        if (yych <= 0xEF)
+          goto yy633;
+        goto yy635;
       } else {
         if (yych <= 0xF3)
-          goto yy637;
+          goto yy636;
         if (yych <= 0xF4)
-          goto yy638;
+          goto yy637;
       }
     }
-  yy629:
+  yy628:
     p = marker;
     if (yyaccept == 0) {
-      goto yy617;
+      goto yy616;
     } else {
-      goto yy640;
+      goto yy639;
     }
-  yy630:
-    ++p;
-    yych = *p;
+  yy629:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy630;
+      goto yy629;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych <= 0x00)
-          goto yy629;
+          goto yy628;
         if (yych == '\n')
-          goto yy629;
-        goto yy627;
+          goto yy628;
+        goto yy626;
       } else {
         if (yych <= '>')
-          goto yy639;
+          goto yy638;
         if (yych <= 0x7F)
-          goto yy627;
+          goto yy626;
         if (yych <= 0xC1)
-          goto yy629;
+          goto yy628;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy633;
+          goto yy632;
         if (yych == 0xED)
-          goto yy635;
-        goto yy634;
+          goto yy634;
+        goto yy633;
       } else {
         if (yych <= 0xF0)
-          goto yy636;
+          goto yy635;
         if (yych <= 0xF3)
-          goto yy637;
+          goto yy636;
         if (yych <= 0xF4)
-          goto yy638;
-        goto yy629;
+          goto yy637;
+        goto yy628;
       }
     }
-  yy632:
-    ++p;
-    yych = *p;
+  yy631:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0xBF)
-      goto yy627;
-    goto yy629;
-  yy633:
-    ++p;
-    yych = *p;
+      goto yy626;
+    goto yy628;
+  yy632:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0xBF)
-      goto yy632;
-    goto yy629;
-  yy634:
-    ++p;
-    yych = *p;
+      goto yy631;
+    goto yy628;
+  yy633:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0xBF)
-      goto yy632;
-    goto yy629;
-  yy635:
-    ++p;
-    yych = *p;
+      goto yy631;
+    goto yy628;
+  yy634:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0x9F)
-      goto yy632;
-    goto yy629;
-  yy636:
-    ++p;
-    yych = *p;
+      goto yy631;
+    goto yy628;
+  yy635:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0xBF)
-      goto yy634;
-    goto yy629;
-  yy637:
-    ++p;
-    yych = *p;
+      goto yy633;
+    goto yy628;
+  yy636:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0xBF)
-      goto yy634;
-    goto yy629;
-  yy638:
-    ++p;
-    yych = *p;
+      goto yy633;
+    goto yy628;
+  yy637:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy629;
+      goto yy628;
     if (yych <= 0x8F)
-      goto yy634;
-    goto yy629;
-  yy639:
+      goto yy633;
+    goto yy628;
+  yy638:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 64) {
-      goto yy627;
+      goto yy626;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy640;
+          goto yy639;
         if (yych <= '?')
-          goto yy630;
+          goto yy629;
       } else {
         if (yych <= 0xDF)
-          goto yy632;
+          goto yy631;
         if (yych <= 0xE0)
-          goto yy633;
-        goto yy634;
+          goto yy632;
+        goto yy633;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy635;
-        if (yych <= 0xEF)
           goto yy634;
-        goto yy636;
+        if (yych <= 0xEF)
+          goto yy633;
+        goto yy635;
       } else {
         if (yych <= 0xF3)
-          goto yy637;
+          goto yy636;
         if (yych <= 0xF4)
-          goto yy638;
+          goto yy637;
       }
     }
-  yy640 : { return (bufsize_t)(p - start); }
+  yy639 : { return (bufsize_t)(p - start); }
   }
 }
 
@@ -10127,246 +9831,237 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
     };
     yych = *p;
     if (yybm[0 + yych] & 64) {
-      goto yy646;
+      goto yy645;
     }
     if (yych <= 0xE0) {
       if (yych <= '\n') {
         if (yych <= 0x00)
-          goto yy643;
+          goto yy642;
         if (yych <= '\t')
-          goto yy645;
+          goto yy644;
       } else {
         if (yych <= 0x7F)
-          goto yy645;
+          goto yy644;
         if (yych <= 0xC1)
-          goto yy643;
+          goto yy642;
         if (yych <= 0xDF)
-          goto yy649;
-        goto yy650;
+          goto yy648;
+        goto yy649;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy652;
-        goto yy651;
+          goto yy651;
+        goto yy650;
       } else {
         if (yych <= 0xF0)
-          goto yy653;
+          goto yy652;
         if (yych <= 0xF3)
-          goto yy654;
+          goto yy653;
         if (yych <= 0xF4)
-          goto yy655;
+          goto yy654;
       }
     }
-  yy643:
+  yy642:
     ++p;
-  yy644 : { return 0; }
-  yy645:
+  yy643 : { return 0; }
+  yy644:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy644;
+        goto yy643;
       if (yych <= '\t')
-        goto yy657;
-      goto yy644;
+        goto yy656;
+      goto yy643;
     } else {
       if (yych <= 0x7F)
-        goto yy657;
+        goto yy656;
       if (yych <= 0xC1)
-        goto yy644;
+        goto yy643;
       if (yych <= 0xF4)
-        goto yy657;
-      goto yy644;
+        goto yy656;
+      goto yy643;
     }
-  yy646:
+  yy645:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy656;
+      goto yy655;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy648;
+          goto yy647;
         if (yych <= '>')
-          goto yy646;
+          goto yy645;
       } else {
         if (yych <= 0xDF)
-          goto yy659;
+          goto yy658;
         if (yych <= 0xE0)
-          goto yy660;
-        goto yy661;
+          goto yy659;
+        goto yy660;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy662;
-        if (yych <= 0xEF)
           goto yy661;
-        goto yy663;
+        if (yych <= 0xEF)
+          goto yy660;
+        goto yy662;
       } else {
         if (yych <= 0xF3)
-          goto yy664;
+          goto yy663;
         if (yych <= 0xF4)
-          goto yy665;
+          goto yy664;
       }
     }
-  yy648 : { return (bufsize_t)(p - start); }
-  yy649:
+  yy647 : { return (bufsize_t)(p - start); }
+  yy648:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0xBF)
-      goto yy656;
-    goto yy644;
-  yy650:
+      goto yy655;
+    goto yy643;
+  yy649:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0xBF)
-      goto yy659;
-    goto yy644;
-  yy651:
+      goto yy658;
+    goto yy643;
+  yy650:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0xBF)
-      goto yy659;
-    goto yy644;
-  yy652:
+      goto yy658;
+    goto yy643;
+  yy651:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0x9F)
-      goto yy659;
-    goto yy644;
-  yy653:
+      goto yy658;
+    goto yy643;
+  yy652:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0xBF)
-      goto yy661;
-    goto yy644;
-  yy654:
+      goto yy660;
+    goto yy643;
+  yy653:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0xBF)
-      goto yy661;
-    goto yy644;
-  yy655:
+      goto yy660;
+    goto yy643;
+  yy654:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy644;
+      goto yy643;
     if (yych <= 0x8F)
-      goto yy661;
-    goto yy644;
+      goto yy660;
+    goto yy643;
+  yy655:
+    yych = *++p;
   yy656:
-    ++p;
-    yych = *p;
-  yy657:
     if (yybm[0 + yych] & 128) {
-      goto yy656;
+      goto yy655;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy658;
+          goto yy657;
         if (yych <= '>')
-          goto yy646;
+          goto yy645;
       } else {
         if (yych <= 0xDF)
-          goto yy659;
+          goto yy658;
         if (yych <= 0xE0)
-          goto yy660;
-        goto yy661;
+          goto yy659;
+        goto yy660;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy662;
-        if (yych <= 0xEF)
           goto yy661;
-        goto yy663;
+        if (yych <= 0xEF)
+          goto yy660;
+        goto yy662;
       } else {
         if (yych <= 0xF3)
-          goto yy664;
+          goto yy663;
         if (yych <= 0xF4)
-          goto yy665;
+          goto yy664;
       }
     }
-  yy658:
+  yy657:
     p = marker;
     if (yyaccept == 0) {
-      goto yy644;
+      goto yy643;
     } else {
-      goto yy648;
+      goto yy647;
     }
-  yy659:
-    ++p;
-    yych = *p;
+  yy658:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy658;
+      goto yy657;
     if (yych <= 0xBF)
-      goto yy656;
-    goto yy658;
-  yy660:
-    ++p;
-    yych = *p;
+      goto yy655;
+    goto yy657;
+  yy659:
+    yych = *++p;
     if (yych <= 0x9F)
+      goto yy657;
+    if (yych <= 0xBF)
       goto yy658;
+    goto yy657;
+  yy660:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy657;
     if (yych <= 0xBF)
-      goto yy659;
-    goto yy658;
+      goto yy658;
+    goto yy657;
   yy661:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x7F)
+      goto yy657;
+    if (yych <= 0x9F)
       goto yy658;
-    if (yych <= 0xBF)
-      goto yy659;
-    goto yy658;
+    goto yy657;
   yy662:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy658;
-    if (yych <= 0x9F)
-      goto yy659;
-    goto yy658;
-  yy663:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy658;
+      goto yy657;
     if (yych <= 0xBF)
-      goto yy661;
-    goto yy658;
-  yy664:
-    ++p;
-    yych = *p;
+      goto yy660;
+    goto yy657;
+  yy663:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy658;
+      goto yy657;
     if (yych <= 0xBF)
-      goto yy661;
-    goto yy658;
-  yy665:
-    ++p;
-    yych = *p;
+      goto yy660;
+    goto yy657;
+  yy664:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy658;
+      goto yy657;
     if (yych <= 0x8F)
-      goto yy661;
-    goto yy658;
+      goto yy660;
+    goto yy657;
   }
 }
 
@@ -10399,337 +10094,326 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy668;
+          goto yy667;
         if (yych != '\n')
-          goto yy670;
+          goto yy669;
       } else {
         if (yych <= ']')
-          goto yy671;
-        if (yych <= 0x7F)
           goto yy670;
+        if (yych <= 0x7F)
+          goto yy669;
         if (yych >= 0xC2)
-          goto yy672;
+          goto yy671;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy673;
+          goto yy672;
         if (yych == 0xED)
-          goto yy675;
-        goto yy674;
+          goto yy674;
+        goto yy673;
       } else {
         if (yych <= 0xF0)
-          goto yy676;
+          goto yy675;
         if (yych <= 0xF3)
-          goto yy677;
+          goto yy676;
         if (yych <= 0xF4)
-          goto yy678;
+          goto yy677;
       }
     }
-  yy668:
+  yy667:
     ++p;
-  yy669 : { return 0; }
-  yy670:
+  yy668 : { return 0; }
+  yy669:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy669;
+        goto yy668;
       if (yych <= '\t')
-        goto yy680;
-      goto yy669;
+        goto yy679;
+      goto yy668;
     } else {
       if (yych <= 0x7F)
-        goto yy680;
+        goto yy679;
       if (yych <= 0xC1)
-        goto yy669;
+        goto yy668;
       if (yych <= 0xF4)
-        goto yy680;
-      goto yy669;
+        goto yy679;
+      goto yy668;
     }
-  yy671:
+  yy670:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy690;
+      goto yy689;
     }
     if (yych <= '\n') {
       if (yych <= 0x00)
-        goto yy669;
+        goto yy668;
       if (yych <= '\t')
-        goto yy680;
-      goto yy669;
+        goto yy679;
+      goto yy668;
     } else {
       if (yych <= 0x7F)
-        goto yy680;
+        goto yy679;
       if (yych <= 0xC1)
-        goto yy669;
+        goto yy668;
       if (yych <= 0xF4)
-        goto yy680;
-      goto yy669;
+        goto yy679;
+      goto yy668;
     }
-  yy672:
+  yy671:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0xBF)
-      goto yy679;
-    goto yy669;
-  yy673:
+      goto yy678;
+    goto yy668;
+  yy672:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0xBF)
-      goto yy683;
-    goto yy669;
-  yy674:
+      goto yy682;
+    goto yy668;
+  yy673:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0xBF)
-      goto yy683;
-    goto yy669;
-  yy675:
+      goto yy682;
+    goto yy668;
+  yy674:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0x9F)
-      goto yy683;
-    goto yy669;
-  yy676:
+      goto yy682;
+    goto yy668;
+  yy675:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0xBF)
-      goto yy685;
-    goto yy669;
-  yy677:
+      goto yy684;
+    goto yy668;
+  yy676:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0xBF)
-      goto yy685;
-    goto yy669;
-  yy678:
+      goto yy684;
+    goto yy668;
+  yy677:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy669;
+      goto yy668;
     if (yych <= 0x8F)
-      goto yy685;
-    goto yy669;
+      goto yy684;
+    goto yy668;
+  yy678:
+    yych = *++p;
   yy679:
-    ++p;
-    yych = *p;
-  yy680:
     if (yybm[0 + yych] & 64) {
-      goto yy679;
+      goto yy678;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy681;
+          goto yy680;
         if (yych <= ']')
-          goto yy682;
+          goto yy681;
       } else {
         if (yych <= 0xDF)
-          goto yy683;
+          goto yy682;
         if (yych <= 0xE0)
-          goto yy684;
-        goto yy685;
+          goto yy683;
+        goto yy684;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy686;
-        if (yych <= 0xEF)
           goto yy685;
-        goto yy687;
+        if (yych <= 0xEF)
+          goto yy684;
+        goto yy686;
       } else {
         if (yych <= 0xF3)
-          goto yy688;
+          goto yy687;
         if (yych <= 0xF4)
-          goto yy689;
+          goto yy688;
       }
     }
-  yy681:
+  yy680:
     p = marker;
     if (yyaccept == 0) {
-      goto yy669;
+      goto yy668;
     } else {
-      goto yy693;
+      goto yy692;
     }
-  yy682:
-    ++p;
-    yych = *p;
+  yy681:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy679;
+      goto yy678;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy681;
+          goto yy680;
         if (yych <= ']')
-          goto yy690;
-        goto yy681;
+          goto yy689;
+        goto yy680;
       } else {
         if (yych <= 0xDF)
-          goto yy683;
+          goto yy682;
         if (yych <= 0xE0)
-          goto yy684;
-        goto yy685;
+          goto yy683;
+        goto yy684;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy686;
-        if (yych <= 0xEF)
           goto yy685;
-        goto yy687;
+        if (yych <= 0xEF)
+          goto yy684;
+        goto yy686;
       } else {
         if (yych <= 0xF3)
-          goto yy688;
+          goto yy687;
         if (yych <= 0xF4)
-          goto yy689;
-        goto yy681;
+          goto yy688;
+        goto yy680;
       }
     }
-  yy683:
-    ++p;
-    yych = *p;
+  yy682:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0xBF)
-      goto yy679;
-    goto yy681;
-  yy684:
-    ++p;
-    yych = *p;
+      goto yy678;
+    goto yy680;
+  yy683:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0xBF)
-      goto yy683;
-    goto yy681;
-  yy685:
-    ++p;
-    yych = *p;
+      goto yy682;
+    goto yy680;
+  yy684:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0xBF)
-      goto yy683;
-    goto yy681;
-  yy686:
-    ++p;
-    yych = *p;
+      goto yy682;
+    goto yy680;
+  yy685:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0x9F)
-      goto yy683;
-    goto yy681;
-  yy687:
-    ++p;
-    yych = *p;
+      goto yy682;
+    goto yy680;
+  yy686:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0xBF)
-      goto yy685;
-    goto yy681;
-  yy688:
-    ++p;
-    yych = *p;
+      goto yy684;
+    goto yy680;
+  yy687:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0xBF)
-      goto yy685;
-    goto yy681;
-  yy689:
-    ++p;
-    yych = *p;
+      goto yy684;
+    goto yy680;
+  yy688:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy681;
+      goto yy680;
     if (yych <= 0x8F)
-      goto yy685;
-    goto yy681;
-  yy690:
-    ++p;
-    yych = *p;
+      goto yy684;
+    goto yy680;
+  yy689:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy690;
+      goto yy689;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych <= 0x00)
-          goto yy681;
+          goto yy680;
         if (yych == '\n')
-          goto yy681;
-        goto yy679;
+          goto yy680;
+        goto yy678;
       } else {
         if (yych <= '>')
-          goto yy692;
+          goto yy691;
         if (yych <= 0x7F)
-          goto yy679;
+          goto yy678;
         if (yych <= 0xC1)
-          goto yy681;
-        goto yy683;
+          goto yy680;
+        goto yy682;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy684;
+          goto yy683;
         if (yych == 0xED)
-          goto yy686;
-        goto yy685;
+          goto yy685;
+        goto yy684;
       } else {
         if (yych <= 0xF0)
-          goto yy687;
+          goto yy686;
         if (yych <= 0xF3)
-          goto yy688;
+          goto yy687;
         if (yych <= 0xF4)
-          goto yy689;
-        goto yy681;
+          goto yy688;
+        goto yy680;
       }
     }
-  yy692:
+  yy691:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 64) {
-      goto yy679;
+      goto yy678;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy693;
+          goto yy692;
         if (yych <= ']')
-          goto yy682;
+          goto yy681;
       } else {
         if (yych <= 0xDF)
-          goto yy683;
+          goto yy682;
         if (yych <= 0xE0)
-          goto yy684;
-        goto yy685;
+          goto yy683;
+        goto yy684;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy686;
-        if (yych <= 0xEF)
           goto yy685;
-        goto yy687;
+        if (yych <= 0xEF)
+          goto yy684;
+        goto yy686;
       } else {
         if (yych <= 0xF3)
-          goto yy688;
+          goto yy687;
         if (yych <= 0xF4)
-          goto yy689;
+          goto yy688;
       }
     }
-  yy693 : { return (bufsize_t)(p - start); }
+  yy692 : { return (bufsize_t)(p - start); }
   }
 }
 
@@ -10767,556 +10451,526 @@ bufsize_t _scan_link_title(const unsigned char *p) {
     yych = *p;
     if (yych <= '&') {
       if (yych == '"')
-        goto yy698;
+        goto yy697;
     } else {
       if (yych <= '\'')
-        goto yy699;
+        goto yy698;
       if (yych <= '(')
-        goto yy700;
+        goto yy699;
     }
     ++p;
-  yy697 : { return 0; }
-  yy698:
+  yy696 : { return 0; }
+  yy697:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x00)
-      goto yy697;
+      goto yy696;
     if (yych <= 0x7F)
-      goto yy702;
+      goto yy701;
     if (yych <= 0xC1)
-      goto yy697;
+      goto yy696;
     if (yych <= 0xF4)
-      goto yy702;
-    goto yy697;
-  yy699:
+      goto yy701;
+    goto yy696;
+  yy698:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x00)
-      goto yy697;
+      goto yy696;
     if (yych <= 0x7F)
-      goto yy716;
+      goto yy715;
     if (yych <= 0xC1)
-      goto yy697;
+      goto yy696;
     if (yych <= 0xF4)
-      goto yy716;
-    goto yy697;
-  yy700:
+      goto yy715;
+    goto yy696;
+  yy699:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x00)
-      goto yy697;
+      goto yy696;
     if (yych <= 0x7F)
-      goto yy729;
+      goto yy728;
     if (yych <= 0xC1)
-      goto yy697;
+      goto yy696;
     if (yych <= 0xF4)
-      goto yy729;
-    goto yy697;
+      goto yy728;
+    goto yy696;
+  yy700:
+    yych = *++p;
   yy701:
-    ++p;
-    yych = *p;
-  yy702:
     if (yybm[0 + yych] & 16) {
-      goto yy701;
+      goto yy700;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy703;
+          goto yy702;
         if (yych <= '"')
-          goto yy704;
-        goto yy706;
+          goto yy703;
+        goto yy705;
       } else {
         if (yych <= 0xC1)
-          goto yy703;
+          goto yy702;
         if (yych <= 0xDF)
-          goto yy708;
-        goto yy709;
+          goto yy707;
+        goto yy708;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy711;
-        goto yy710;
+          goto yy710;
+        goto yy709;
       } else {
         if (yych <= 0xF0)
-          goto yy712;
+          goto yy711;
         if (yych <= 0xF3)
-          goto yy713;
+          goto yy712;
         if (yych <= 0xF4)
-          goto yy714;
+          goto yy713;
       }
     }
-  yy703:
+  yy702:
     p = marker;
     if (yyaccept <= 1) {
       if (yyaccept == 0) {
-        goto yy697;
+        goto yy696;
       } else {
-        goto yy705;
+        goto yy704;
       }
     } else {
       if (yyaccept == 2) {
-        goto yy718;
+        goto yy717;
       } else {
-        goto yy731;
+        goto yy730;
       }
     }
-  yy704:
-    ++p;
-  yy705 : { return (bufsize_t)(p - start); }
-  yy706:
+  yy703:
     ++p;
-    yych = *p;
+  yy704 : { return (bufsize_t)(p - start); }
+  yy705:
+    yych = *++p;
     if (yybm[0 + yych] & 16) {
-      goto yy701;
+      goto yy700;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy703;
+          goto yy702;
         if (yych <= '"')
-          goto yy741;
-        goto yy706;
+          goto yy740;
+        goto yy705;
       } else {
         if (yych <= 0xC1)
-          goto yy703;
+          goto yy702;
         if (yych >= 0xE0)
-          goto yy709;
+          goto yy708;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy711;
-        goto yy710;
+          goto yy710;
+        goto yy709;
       } else {
         if (yych <= 0xF0)
-          goto yy712;
+          goto yy711;
         if (yych <= 0xF3)
-          goto yy713;
+          goto yy712;
         if (yych <= 0xF4)
-          goto yy714;
-        goto yy703;
+          goto yy713;
+        goto yy702;
       }
     }
-  yy708:
-    ++p;
-    yych = *p;
+  yy707:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy701;
-    goto yy703;
-  yy709:
-    ++p;
-    yych = *p;
+      goto yy700;
+    goto yy702;
+  yy708:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy708;
-    goto yy703;
-  yy710:
-    ++p;
-    yych = *p;
+      goto yy707;
+    goto yy702;
+  yy709:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy708;
-    goto yy703;
-  yy711:
-    ++p;
-    yych = *p;
+      goto yy707;
+    goto yy702;
+  yy710:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0x9F)
-      goto yy708;
-    goto yy703;
-  yy712:
-    ++p;
-    yych = *p;
+      goto yy707;
+    goto yy702;
+  yy711:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy710;
-    goto yy703;
-  yy713:
-    ++p;
-    yych = *p;
+      goto yy709;
+    goto yy702;
+  yy712:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy710;
-    goto yy703;
-  yy714:
-    ++p;
-    yych = *p;
+      goto yy709;
+    goto yy702;
+  yy713:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0x8F)
-      goto yy710;
-    goto yy703;
+      goto yy709;
+    goto yy702;
+  yy714:
+    yych = *++p;
   yy715:
-    ++p;
-    yych = *p;
-  yy716:
     if (yybm[0 + yych] & 64) {
-      goto yy715;
+      goto yy714;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy703;
+          goto yy702;
         if (yych >= '(')
-          goto yy719;
+          goto yy718;
       } else {
         if (yych <= 0xC1)
-          goto yy703;
+          goto yy702;
         if (yych <= 0xDF)
-          goto yy721;
-        goto yy722;
+          goto yy720;
+        goto yy721;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy724;
-        goto yy723;
+          goto yy723;
+        goto yy722;
       } else {
         if (yych <= 0xF0)
-          goto yy725;
+          goto yy724;
         if (yych <= 0xF3)
-          goto yy726;
+          goto yy725;
         if (yych <= 0xF4)
-          goto yy727;
-        goto yy703;
+          goto yy726;
+        goto yy702;
       }
     }
-  yy717:
-    ++p;
-  yy718 : { return (bufsize_t)(p - start); }
-  yy719:
+  yy716:
     ++p;
-    yych = *p;
+  yy717 : { return (bufsize_t)(p - start); }
+  yy718:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy715;
+      goto yy714;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy703;
+          goto yy702;
         if (yych <= '\'')
-          goto yy742;
-        goto yy719;
+          goto yy741;
+        goto yy718;
       } else {
         if (yych <= 0xC1)
-          goto yy703;
+          goto yy702;
         if (yych >= 0xE0)
-          goto yy722;
+          goto yy721;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy724;
-        goto yy723;
+          goto yy723;
+        goto yy722;
       } else {
         if (yych <= 0xF0)
-          goto yy725;
+          goto yy724;
         if (yych <= 0xF3)
-          goto yy726;
+          goto yy725;
         if (yych <= 0xF4)
-          goto yy727;
-        goto yy703;
+          goto yy726;
+        goto yy702;
       }
     }
-  yy721:
-    ++p;
-    yych = *p;
+  yy720:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy715;
-    goto yy703;
-  yy722:
-    ++p;
-    yych = *p;
+      goto yy714;
+    goto yy702;
+  yy721:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy721;
-    goto yy703;
-  yy723:
-    ++p;
-    yych = *p;
+      goto yy720;
+    goto yy702;
+  yy722:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy721;
-    goto yy703;
-  yy724:
-    ++p;
-    yych = *p;
+      goto yy720;
+    goto yy702;
+  yy723:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0x9F)
-      goto yy721;
-    goto yy703;
-  yy725:
-    ++p;
-    yych = *p;
+      goto yy720;
+    goto yy702;
+  yy724:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy723;
-    goto yy703;
-  yy726:
-    ++p;
-    yych = *p;
+      goto yy722;
+    goto yy702;
+  yy725:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy723;
-    goto yy703;
-  yy727:
-    ++p;
-    yych = *p;
+      goto yy722;
+    goto yy702;
+  yy726:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0x8F)
-      goto yy723;
-    goto yy703;
+      goto yy722;
+    goto yy702;
+  yy727:
+    yych = *++p;
   yy728:
-    ++p;
-    yych = *p;
-  yy729:
     if (yybm[0 + yych] & 128) {
-      goto yy728;
+      goto yy727;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy703;
+          goto yy702;
         if (yych >= '*')
-          goto yy732;
+          goto yy731;
       } else {
         if (yych <= 0xC1)
-          goto yy703;
+          goto yy702;
         if (yych <= 0xDF)
-          goto yy734;
-        goto yy735;
+          goto yy733;
+        goto yy734;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy737;
-        goto yy736;
+          goto yy736;
+        goto yy735;
       } else {
         if (yych <= 0xF0)
-          goto yy738;
+          goto yy737;
         if (yych <= 0xF3)
-          goto yy739;
+          goto yy738;
         if (yych <= 0xF4)
-          goto yy740;
-        goto yy703;
+          goto yy739;
+        goto yy702;
       }
     }
-  yy730:
-    ++p;
-  yy731 : { return (bufsize_t)(p - start); }
-  yy732:
+  yy729:
     ++p;
-    yych = *p;
+  yy730 : { return (bufsize_t)(p - start); }
+  yy731:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy728;
+      goto yy727;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy703;
+          goto yy702;
         if (yych <= ')')
-          goto yy743;
-        goto yy732;
+          goto yy742;
+        goto yy731;
       } else {
         if (yych <= 0xC1)
-          goto yy703;
+          goto yy702;
         if (yych >= 0xE0)
-          goto yy735;
+          goto yy734;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy737;
-        goto yy736;
+          goto yy736;
+        goto yy735;
       } else {
         if (yych <= 0xF0)
-          goto yy738;
+          goto yy737;
         if (yych <= 0xF3)
-          goto yy739;
+          goto yy738;
         if (yych <= 0xF4)
-          goto yy740;
-        goto yy703;
+          goto yy739;
+        goto yy702;
       }
     }
-  yy734:
-    ++p;
-    yych = *p;
+  yy733:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy728;
-    goto yy703;
-  yy735:
-    ++p;
-    yych = *p;
+      goto yy727;
+    goto yy702;
+  yy734:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy734;
-    goto yy703;
-  yy736:
-    ++p;
-    yych = *p;
+      goto yy733;
+    goto yy702;
+  yy735:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy734;
-    goto yy703;
-  yy737:
-    ++p;
-    yych = *p;
+      goto yy733;
+    goto yy702;
+  yy736:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0x9F)
-      goto yy734;
-    goto yy703;
-  yy738:
-    ++p;
-    yych = *p;
+      goto yy733;
+    goto yy702;
+  yy737:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy736;
-    goto yy703;
-  yy739:
-    ++p;
-    yych = *p;
+      goto yy735;
+    goto yy702;
+  yy738:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0xBF)
-      goto yy736;
-    goto yy703;
-  yy740:
-    ++p;
-    yych = *p;
+      goto yy735;
+    goto yy702;
+  yy739:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy703;
+      goto yy702;
     if (yych <= 0x8F)
-      goto yy736;
-    goto yy703;
-  yy741:
+      goto yy735;
+    goto yy702;
+  yy740:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 16) {
-      goto yy701;
+      goto yy700;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy705;
-        if (yych <= '"')
           goto yy704;
-        goto yy706;
+        if (yych <= '"')
+          goto yy703;
+        goto yy705;
       } else {
         if (yych <= 0xC1)
-          goto yy705;
+          goto yy704;
         if (yych <= 0xDF)
-          goto yy708;
-        goto yy709;
+          goto yy707;
+        goto yy708;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy711;
-        goto yy710;
+          goto yy710;
+        goto yy709;
       } else {
         if (yych <= 0xF0)
-          goto yy712;
+          goto yy711;
         if (yych <= 0xF3)
-          goto yy713;
+          goto yy712;
         if (yych <= 0xF4)
-          goto yy714;
-        goto yy705;
+          goto yy713;
+        goto yy704;
       }
     }
-  yy742:
+  yy741:
     yyaccept = 2;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 64) {
-      goto yy715;
+      goto yy714;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy718;
-        if (yych <= '\'')
           goto yy717;
-        goto yy719;
+        if (yych <= '\'')
+          goto yy716;
+        goto yy718;
       } else {
         if (yych <= 0xC1)
-          goto yy718;
+          goto yy717;
         if (yych <= 0xDF)
-          goto yy721;
-        goto yy722;
+          goto yy720;
+        goto yy721;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy724;
-        goto yy723;
+          goto yy723;
+        goto yy722;
       } else {
         if (yych <= 0xF0)
-          goto yy725;
+          goto yy724;
         if (yych <= 0xF3)
-          goto yy726;
+          goto yy725;
         if (yych <= 0xF4)
-          goto yy727;
-        goto yy718;
+          goto yy726;
+        goto yy717;
       }
     }
-  yy743:
+  yy742:
     yyaccept = 3;
-    marker = ++p;
-    yych = *p;
+    yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy728;
+      goto yy727;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy731;
-        if (yych <= ')')
           goto yy730;
-        goto yy732;
+        if (yych <= ')')
+          goto yy729;
+        goto yy731;
       } else {
         if (yych <= 0xC1)
-          goto yy731;
+          goto yy730;
         if (yych <= 0xDF)
-          goto yy734;
-        goto yy735;
+          goto yy733;
+        goto yy734;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy737;
-        goto yy736;
+          goto yy736;
+        goto yy735;
       } else {
         if (yych <= 0xF0)
-          goto yy738;
+          goto yy737;
         if (yych <= 0xF3)
-          goto yy739;
+          goto yy738;
         if (yych <= 0xF4)
-          goto yy740;
-        goto yy731;
+          goto yy739;
+        goto yy730;
       }
     }
   }
@@ -11345,15 +10999,14 @@ bufsize_t _scan_spacechars(const unsigned char *p) {
     };
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy748;
+      goto yy747;
     }
     ++p;
     { return 0; }
-  yy748:
-    ++p;
-    yych = *p;
+  yy747:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy748;
+      goto yy747;
     }
     { return (bufsize_t)(p - start); }
   }
@@ -11382,116 +11035,115 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '#')
-      goto yy755;
+      goto yy754;
     ++p;
-  yy754 : { return 0; }
-  yy755:
+  yy753 : { return 0; }
+  yy754:
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy756;
+      goto yy755;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy754;
+        goto yy753;
       if (yych <= '\n')
-        goto yy759;
-      goto yy754;
+        goto yy758;
+      goto yy753;
     } else {
       if (yych <= '\r')
-        goto yy759;
+        goto yy758;
       if (yych == '#')
-        goto yy760;
-      goto yy754;
+        goto yy759;
+      goto yy753;
     }
-  yy756:
-    ++p;
-    yych = *p;
+  yy755:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy756;
+      goto yy755;
     }
-  yy758 : { return (bufsize_t)(p - start); }
+  yy757 : { return (bufsize_t)(p - start); }
+  yy758:
+    ++p;
+    goto yy757;
   yy759:
     yych = *++p;
-    goto yy758;
-  yy760:
-    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy756;
+      goto yy755;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy761;
+        goto yy760;
       if (yych <= '\n')
-        goto yy759;
+        goto yy758;
     } else {
       if (yych <= '\r')
-        goto yy759;
+        goto yy758;
       if (yych == '#')
-        goto yy762;
+        goto yy761;
     }
-  yy761:
+  yy760:
     p = marker;
-    goto yy754;
-  yy762:
+    goto yy753;
+  yy761:
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy756;
+      goto yy755;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy761;
+        goto yy760;
       if (yych <= '\n')
-        goto yy759;
-      goto yy761;
+        goto yy758;
+      goto yy760;
     } else {
       if (yych <= '\r')
-        goto yy759;
+        goto yy758;
       if (yych != '#')
-        goto yy761;
+        goto yy760;
     }
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy756;
+      goto yy755;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy761;
+        goto yy760;
       if (yych <= '\n')
-        goto yy759;
-      goto yy761;
+        goto yy758;
+      goto yy760;
     } else {
       if (yych <= '\r')
-        goto yy759;
+        goto yy758;
       if (yych != '#')
-        goto yy761;
+        goto yy760;
     }
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy756;
+      goto yy755;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy761;
+        goto yy760;
       if (yych <= '\n')
-        goto yy759;
-      goto yy761;
+        goto yy758;
+      goto yy760;
     } else {
       if (yych <= '\r')
-        goto yy759;
+        goto yy758;
       if (yych != '#')
-        goto yy761;
+        goto yy760;
     }
-    ++p;
-    if (yybm[0 + (yych = *p)] & 128) {
-      goto yy756;
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy755;
     }
     if (yych <= 0x08)
-      goto yy761;
+      goto yy760;
     if (yych <= '\n')
-      goto yy759;
+      goto yy758;
     if (yych == '\r')
-      goto yy759;
-    goto yy761;
+      goto yy758;
+    goto yy760;
   }
 }
 
@@ -11518,126 +11170,122 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '-')
-      goto yy770;
+      goto yy769;
     if (yych == '=')
-      goto yy771;
+      goto yy770;
     ++p;
-  yy769 : { return 0; }
-  yy770:
+  yy768 : { return 0; }
+  yy769:
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 64) {
-      goto yy777;
+      goto yy776;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy769;
+        goto yy768;
       if (yych <= '\n')
-        goto yy773;
-      goto yy769;
+        goto yy772;
+      goto yy768;
     } else {
       if (yych <= '\r')
-        goto yy773;
+        goto yy772;
       if (yych == ' ')
-        goto yy773;
-      goto yy769;
+        goto yy772;
+      goto yy768;
     }
-  yy771:
+  yy770:
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy783;
+      goto yy782;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy769;
+        goto yy768;
       if (yych <= '\n')
-        goto yy780;
-      goto yy769;
+        goto yy779;
+      goto yy768;
     } else {
       if (yych <= '\r')
-        goto yy780;
+        goto yy779;
       if (yych == ' ')
-        goto yy780;
-      goto yy769;
+        goto yy779;
+      goto yy768;
     }
+  yy771:
+    yych = *++p;
   yy772:
-    ++p;
-    yych = *p;
-  yy773:
     if (yybm[0 + yych] & 32) {
-      goto yy772;
+      goto yy771;
     }
     if (yych <= 0x08)
-      goto yy774;
+      goto yy773;
     if (yych <= '\n')
-      goto yy775;
+      goto yy774;
     if (yych == '\r')
-      goto yy775;
-  yy774:
+      goto yy774;
+  yy773:
     p = marker;
-    goto yy769;
-  yy775:
+    goto yy768;
+  yy774:
     ++p;
     { return 2; }
-  yy777:
-    ++p;
-    yych = *p;
+  yy776:
+    yych = *++p;
     if (yybm[0 + yych] & 32) {
-      goto yy772;
+      goto yy771;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy774;
+        goto yy773;
       if (yych <= '\n')
-        goto yy775;
-      goto yy774;
+        goto yy774;
+      goto yy773;
     } else {
       if (yych <= '\r')
-        goto yy775;
+        goto yy774;
       if (yych == '-')
-        goto yy777;
-      goto yy774;
+        goto yy776;
+      goto yy773;
     }
+  yy778:
+    yych = *++p;
   yy779:
-    ++p;
-    yych = *p;
-  yy780:
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy774;
+        goto yy773;
       if (yych <= '\t')
-        goto yy779;
+        goto yy778;
       if (yych >= '\v')
-        goto yy774;
+        goto yy773;
     } else {
       if (yych <= '\r')
-        goto yy781;
+        goto yy780;
       if (yych == ' ')
-        goto yy779;
-      goto yy774;
+        goto yy778;
+      goto yy773;
     }
-  yy781:
+  yy780:
     ++p;
     { return 1; }
-  yy783:
-    ++p;
-    yych = *p;
+  yy782:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy783;
+      goto yy782;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy774;
+        goto yy773;
       if (yych <= '\t')
-        goto yy779;
+        goto yy778;
       if (yych <= '\n')
-        goto yy781;
-      goto yy774;
+        goto yy780;
+      goto yy773;
     } else {
       if (yych <= '\r')
-        goto yy781;
+        goto yy780;
       if (yych == ' ')
-        goto yy779;
-      goto yy774;
+        goto yy778;
+      goto yy773;
     }
   }
 }
@@ -11669,174 +11317,165 @@ bufsize_t _scan_thematic_break(const unsigned char *p) {
     yych = *p;
     if (yych <= ',') {
       if (yych == '*')
-        goto yy789;
+        goto yy788;
     } else {
       if (yych <= '-')
-        goto yy790;
+        goto yy789;
       if (yych == '_')
-        goto yy791;
+        goto yy790;
     }
     ++p;
-  yy788 : { return 0; }
-  yy789:
+  yy787 : { return 0; }
+  yy788:
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 16) {
-      goto yy792;
+      goto yy791;
     }
     if (yych == '*')
-      goto yy795;
-    goto yy788;
-  yy790:
+      goto yy794;
+    goto yy787;
+  yy789:
     yych = *(marker = ++p);
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy797;
-      goto yy788;
+        goto yy796;
+      goto yy787;
     } else {
       if (yych <= ' ')
-        goto yy797;
+        goto yy796;
       if (yych == '-')
-        goto yy799;
-      goto yy788;
+        goto yy798;
+      goto yy787;
     }
-  yy791:
+  yy790:
     yych = *(marker = ++p);
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy801;
-      goto yy788;
+        goto yy800;
+      goto yy787;
     } else {
       if (yych <= ' ')
-        goto yy801;
+        goto yy800;
       if (yych == '_')
-        goto yy803;
-      goto yy788;
+        goto yy802;
+      goto yy787;
     }
-  yy792:
-    ++p;
-    yych = *p;
+  yy791:
+    yych = *++p;
     if (yybm[0 + yych] & 16) {
-      goto yy792;
+      goto yy791;
     }
     if (yych == '*')
-      goto yy795;
-  yy794:
+      goto yy794;
+  yy793:
     p = marker;
-    goto yy788;
-  yy795:
-    ++p;
-    yych = *p;
+    goto yy787;
+  yy794:
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy795;
-      goto yy794;
+        goto yy794;
+      goto yy793;
     } else {
       if (yych <= ' ')
-        goto yy795;
+        goto yy794;
       if (yych == '*')
-        goto yy805;
-      goto yy794;
+        goto yy804;
+      goto yy793;
     }
-  yy797:
-    ++p;
-    yych = *p;
+  yy796:
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy797;
-      goto yy794;
+        goto yy796;
+      goto yy793;
     } else {
       if (yych <= ' ')
-        goto yy797;
+        goto yy796;
       if (yych != '-')
-        goto yy794;
+        goto yy793;
     }
-  yy799:
-    ++p;
-    yych = *p;
+  yy798:
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy799;
-      goto yy794;
+        goto yy798;
+      goto yy793;
     } else {
       if (yych <= ' ')
-        goto yy799;
+        goto yy798;
       if (yych == '-')
-        goto yy807;
-      goto yy794;
+        goto yy806;
+      goto yy793;
     }
-  yy801:
-    ++p;
-    yych = *p;
+  yy800:
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy801;
-      goto yy794;
+        goto yy800;
+      goto yy793;
     } else {
       if (yych <= ' ')
-        goto yy801;
+        goto yy800;
       if (yych != '_')
-        goto yy794;
+        goto yy793;
     }
-  yy803:
-    ++p;
-    yych = *p;
+  yy802:
+    yych = *++p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy803;
-      goto yy794;
+        goto yy802;
+      goto yy793;
     } else {
       if (yych <= ' ')
-        goto yy803;
+        goto yy802;
       if (yych == '_')
-        goto yy809;
-      goto yy794;
+        goto yy808;
+      goto yy793;
     }
-  yy805:
-    ++p;
-    yych = *p;
+  yy804:
+    yych = *++p;
     if (yybm[0 + yych] & 32) {
-      goto yy805;
+      goto yy804;
     }
     if (yych <= 0x08)
-      goto yy794;
+      goto yy793;
     if (yych <= '\n')
-      goto yy811;
+      goto yy810;
     if (yych == '\r')
-      goto yy811;
-    goto yy794;
-  yy807:
-    ++p;
-    yych = *p;
+      goto yy810;
+    goto yy793;
+  yy806:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy807;
+      goto yy806;
     }
     if (yych <= 0x08)
-      goto yy794;
+      goto yy793;
     if (yych <= '\n')
-      goto yy813;
+      goto yy812;
     if (yych == '\r')
-      goto yy813;
-    goto yy794;
-  yy809:
-    ++p;
-    yych = *p;
+      goto yy812;
+    goto yy793;
+  yy808:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy809;
+      goto yy808;
     }
     if (yych <= 0x08)
-      goto yy794;
+      goto yy793;
     if (yych <= '\n')
-      goto yy815;
+      goto yy814;
     if (yych == '\r')
-      goto yy815;
-    goto yy794;
-  yy811:
+      goto yy814;
+    goto yy793;
+  yy810:
     ++p;
     { return (bufsize_t)(p - start); }
-  yy813:
+  yy812:
     ++p;
     { return (bufsize_t)(p - start); }
-  yy815:
+  yy814:
     ++p;
     { return (bufsize_t)(p - start); }
   }
@@ -11872,295 +11511,321 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '`')
-      goto yy821;
+      goto yy820;
     if (yych == '~')
-      goto yy822;
+      goto yy821;
     ++p;
-  yy820 : { return 0; }
-  yy821:
+  yy819 : { return 0; }
+  yy820:
     yych = *(marker = ++p);
     if (yych == '`')
-      goto yy823;
-    goto yy820;
-  yy822:
+      goto yy822;
+    goto yy819;
+  yy821:
     yych = *(marker = ++p);
     if (yych == '~')
-      goto yy825;
-    goto yy820;
-  yy823:
+      goto yy824;
+    goto yy819;
+  yy822:
     yych = *++p;
     if (yybm[0 + yych] & 16) {
-      goto yy826;
+      goto yy825;
     }
-  yy824:
+  yy823:
     p = marker;
-    goto yy820;
-  yy825:
+    goto yy819;
+  yy824:
     yych = *++p;
     if (yybm[0 + yych] & 32) {
-      goto yy828;
+      goto yy827;
     }
-    goto yy824;
-  yy826:
-    ++p;
-    yych = *p;
-    marker = p;
-    if (yybm[0 + yych] & 64) {
-      goto yy830;
+    goto yy823;
+  yy825:
+    yych = *++p;
+    if (yybm[0 + yych] & 16) {
+      goto yy825;
     }
-    if (yych <= 0xE0) {
-      if (yych <= '`') {
+    if (yych <= 0xDF) {
+      if (yych <= '\f') {
         if (yych <= 0x00)
-          goto yy824;
-        if (yych <= '\r')
-          goto yy832;
-        goto yy826;
+          goto yy823;
+        if (yych == '\n') {
+          marker = p;
+          goto yy831;
+        }
+        marker = p;
+        goto yy829;
       } else {
+        if (yych <= '\r') {
+          marker = p;
+          goto yy831;
+        }
+        if (yych <= 0x7F) {
+          marker = p;
+          goto yy829;
+        }
         if (yych <= 0xC1)
-          goto yy824;
-        if (yych <= 0xDF)
-          goto yy834;
-        goto yy835;
+          goto yy823;
+        marker = p;
+        goto yy833;
       }
     } else {
       if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy837;
-        goto yy836;
+        if (yych <= 0xE0) {
+          marker = p;
+          goto yy834;
+        }
+        if (yych == 0xED) {
+          marker = p;
+          goto yy836;
+        }
+        marker = p;
+        goto yy835;
       } else {
-        if (yych <= 0xF0)
+        if (yych <= 0xF0) {
+          marker = p;
+          goto yy837;
+        }
+        if (yych <= 0xF3) {
+          marker = p;
           goto yy838;
-        if (yych <= 0xF3)
+        }
+        if (yych <= 0xF4) {
+          marker = p;
           goto yy839;
-        if (yych <= 0xF4)
-          goto yy840;
-        goto yy824;
+        }
+        goto yy823;
       }
     }
-  yy828:
-    ++p;
-    yych = *p;
-    marker = p;
-    if (yybm[0 + yych] & 128) {
-      goto yy841;
+  yy827:
+    yych = *++p;
+    if (yybm[0 + yych] & 32) {
+      goto yy827;
     }
-    if (yych <= 0xE0) {
-      if (yych <= '~') {
+    if (yych <= 0xDF) {
+      if (yych <= '\f') {
         if (yych <= 0x00)
-          goto yy824;
-        if (yych <= '\r')
-          goto yy843;
-        goto yy828;
+          goto yy823;
+        if (yych == '\n') {
+          marker = p;
+          goto yy842;
+        }
+        marker = p;
+        goto yy840;
       } else {
+        if (yych <= '\r') {
+          marker = p;
+          goto yy842;
+        }
+        if (yych <= 0x7F) {
+          marker = p;
+          goto yy840;
+        }
         if (yych <= 0xC1)
-          goto yy824;
-        if (yych <= 0xDF)
-          goto yy845;
-        goto yy846;
+          goto yy823;
+        marker = p;
+        goto yy844;
       }
     } else {
       if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy848;
-        goto yy847;
+        if (yych <= 0xE0) {
+          marker = p;
+          goto yy845;
+        }
+        if (yych == 0xED) {
+          marker = p;
+          goto yy847;
+        }
+        marker = p;
+        goto yy846;
       } else {
-        if (yych <= 0xF0)
+        if (yych <= 0xF0) {
+          marker = p;
+          goto yy848;
+        }
+        if (yych <= 0xF3) {
+          marker = p;
           goto yy849;
-        if (yych <= 0xF3)
+        }
+        if (yych <= 0xF4) {
+          marker = p;
           goto yy850;
-        if (yych <= 0xF4)
-          goto yy851;
-        goto yy824;
+        }
+        goto yy823;
       }
     }
-  yy830:
-    ++p;
-    yych = *p;
+  yy829:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy830;
+      goto yy829;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy824;
+          goto yy823;
         if (yych >= 0x0E)
-          goto yy824;
+          goto yy823;
       } else {
         if (yych <= 0xDF)
-          goto yy834;
+          goto yy833;
         if (yych <= 0xE0)
-          goto yy835;
-        goto yy836;
+          goto yy834;
+        goto yy835;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy837;
-        if (yych <= 0xEF)
           goto yy836;
-        goto yy838;
+        if (yych <= 0xEF)
+          goto yy835;
+        goto yy837;
       } else {
         if (yych <= 0xF3)
-          goto yy839;
+          goto yy838;
         if (yych <= 0xF4)
-          goto yy840;
-        goto yy824;
+          goto yy839;
+        goto yy823;
       }
     }
-  yy832:
+  yy831:
     ++p;
     p = marker;
     { return (bufsize_t)(p - start); }
-  yy834:
-    ++p;
-    yych = *p;
+  yy833:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy830;
-    goto yy824;
-  yy835:
-    ++p;
-    yych = *p;
+      goto yy829;
+    goto yy823;
+  yy834:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy834;
-    goto yy824;
-  yy836:
-    ++p;
-    yych = *p;
+      goto yy833;
+    goto yy823;
+  yy835:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy834;
-    goto yy824;
-  yy837:
-    ++p;
-    yych = *p;
+      goto yy833;
+    goto yy823;
+  yy836:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0x9F)
-      goto yy834;
-    goto yy824;
-  yy838:
-    ++p;
-    yych = *p;
+      goto yy833;
+    goto yy823;
+  yy837:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy836;
-    goto yy824;
-  yy839:
-    ++p;
-    yych = *p;
+      goto yy835;
+    goto yy823;
+  yy838:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy836;
-    goto yy824;
-  yy840:
-    ++p;
-    yych = *p;
+      goto yy835;
+    goto yy823;
+  yy839:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0x8F)
-      goto yy836;
-    goto yy824;
-  yy841:
-    ++p;
-    yych = *p;
+      goto yy835;
+    goto yy823;
+  yy840:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy841;
+      goto yy840;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy824;
+          goto yy823;
         if (yych >= 0x0E)
-          goto yy824;
+          goto yy823;
       } else {
         if (yych <= 0xDF)
-          goto yy845;
+          goto yy844;
         if (yych <= 0xE0)
-          goto yy846;
-        goto yy847;
+          goto yy845;
+        goto yy846;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy848;
-        if (yych <= 0xEF)
           goto yy847;
-        goto yy849;
+        if (yych <= 0xEF)
+          goto yy846;
+        goto yy848;
       } else {
         if (yych <= 0xF3)
-          goto yy850;
+          goto yy849;
         if (yych <= 0xF4)
-          goto yy851;
-        goto yy824;
+          goto yy850;
+        goto yy823;
       }
     }
-  yy843:
+  yy842:
     ++p;
     p = marker;
     { return (bufsize_t)(p - start); }
-  yy845:
-    ++p;
-    yych = *p;
+  yy844:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy841;
-    goto yy824;
-  yy846:
-    ++p;
-    yych = *p;
+      goto yy840;
+    goto yy823;
+  yy845:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy845;
-    goto yy824;
-  yy847:
-    ++p;
-    yych = *p;
+      goto yy844;
+    goto yy823;
+  yy846:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy845;
-    goto yy824;
-  yy848:
-    ++p;
-    yych = *p;
+      goto yy844;
+    goto yy823;
+  yy847:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0x9F)
-      goto yy845;
-    goto yy824;
-  yy849:
-    ++p;
-    yych = *p;
+      goto yy844;
+    goto yy823;
+  yy848:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy824;
-    if (yych <= 0xBF)
-      goto yy847;
-    goto yy824;
-  yy850:
-    ++p;
-    yych = *p;
+      goto yy823;
+    if (yych <= 0xBF)
+      goto yy846;
+    goto yy823;
+  yy849:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0xBF)
-      goto yy847;
-    goto yy824;
-  yy851:
-    ++p;
-    yych = *p;
+      goto yy846;
+    goto yy823;
+  yy850:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy824;
+      goto yy823;
     if (yych <= 0x8F)
-      goto yy847;
-    goto yy824;
+      goto yy846;
+    goto yy823;
   }
 }
 
@@ -12187,111 +11852,123 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '`')
-      goto yy856;
+      goto yy855;
     if (yych == '~')
-      goto yy857;
+      goto yy856;
     ++p;
-  yy855 : { return 0; }
-  yy856:
+  yy854 : { return 0; }
+  yy855:
     yych = *(marker = ++p);
     if (yych == '`')
-      goto yy858;
-    goto yy855;
-  yy857:
+      goto yy857;
+    goto yy854;
+  yy856:
     yych = *(marker = ++p);
     if (yych == '~')
-      goto yy860;
-    goto yy855;
-  yy858:
+      goto yy859;
+    goto yy854;
+  yy857:
     yych = *++p;
     if (yybm[0 + yych] & 32) {
-      goto yy861;
+      goto yy860;
     }
-  yy859:
+  yy858:
     p = marker;
-    goto yy855;
-  yy860:
+    goto yy854;
+  yy859:
     yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy863;
+      goto yy862;
     }
-    goto yy859;
-  yy861:
-    ++p;
-    yych = *p;
-    marker = p;
-    if (yybm[0 + yych] & 128) {
-      goto yy865;
+    goto yy858;
+  yy860:
+    yych = *++p;
+    if (yybm[0 + yych] & 32) {
+      goto yy860;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy859;
-      if (yych <= '\n')
-        goto yy867;
-      goto yy859;
+        goto yy858;
+      if (yych <= '\t') {
+        marker = p;
+        goto yy864;
+      }
+      if (yych <= '\n') {
+        marker = p;
+        goto yy866;
+      }
+      goto yy858;
     } else {
-      if (yych <= '\r')
-        goto yy867;
-      if (yych == '`')
-        goto yy861;
-      goto yy859;
+      if (yych <= '\r') {
+        marker = p;
+        goto yy866;
+      }
+      if (yych == ' ') {
+        marker = p;
+        goto yy864;
+      }
+      goto yy858;
     }
-  yy863:
-    ++p;
-    yych = *p;
-    marker = p;
+  yy862:
+    yych = *++p;
     if (yybm[0 + yych] & 64) {
-      goto yy863;
+      goto yy862;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy859;
-      if (yych <= '\t')
-        goto yy869;
-      if (yych <= '\n')
-        goto yy871;
-      goto yy859;
+        goto yy858;
+      if (yych <= '\t') {
+        marker = p;
+        goto yy868;
+      }
+      if (yych <= '\n') {
+        marker = p;
+        goto yy870;
+      }
+      goto yy858;
     } else {
-      if (yych <= '\r')
-        goto yy871;
-      if (yych == ' ')
-        goto yy869;
-      goto yy859;
+      if (yych <= '\r') {
+        marker = p;
+        goto yy870;
+      }
+      if (yych == ' ') {
+        marker = p;
+        goto yy868;
+      }
+      goto yy858;
     }
-  yy865:
-    ++p;
-    yych = *p;
+  yy864:
+    yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy865;
+      goto yy864;
     }
     if (yych <= 0x08)
-      goto yy859;
+      goto yy858;
     if (yych <= '\n')
-      goto yy867;
+      goto yy866;
     if (yych != '\r')
-      goto yy859;
-  yy867:
+      goto yy858;
+  yy866:
     ++p;
     p = marker;
     { return (bufsize_t)(p - start); }
-  yy869:
-    ++p;
-    yych = *p;
+  yy868:
+    yych = *++p;
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy859;
+        goto yy858;
       if (yych <= '\t')
-        goto yy869;
+        goto yy868;
       if (yych >= '\v')
-        goto yy859;
+        goto yy858;
     } else {
       if (yych <= '\r')
-        goto yy871;
+        goto yy870;
       if (yych == ' ')
-        goto yy869;
-      goto yy859;
+        goto yy868;
+      goto yy858;
     }
-  yy871:
+  yy870:
     ++p;
     p = marker;
     { return (bufsize_t)(p - start); }
@@ -12308,890 +11985,890 @@ bufsize_t _scan_entity(const unsigned char *p) {
     unsigned char yych;
     yych = *p;
     if (yych == '&')
-      goto yy877;
+      goto yy876;
     ++p;
-  yy876 : { return 0; }
-  yy877:
+  yy875 : { return 0; }
+  yy876:
     yych = *(marker = ++p);
     if (yych <= '@') {
       if (yych != '#')
-        goto yy876;
+        goto yy875;
     } else {
       if (yych <= 'Z')
-        goto yy880;
+        goto yy879;
       if (yych <= '`')
-        goto yy876;
+        goto yy875;
       if (yych <= 'z')
-        goto yy880;
-      goto yy876;
+        goto yy879;
+      goto yy875;
     }
     yych = *++p;
     if (yych <= 'W') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy881;
+        goto yy880;
     } else {
       if (yych <= 'X')
-        goto yy882;
+        goto yy881;
       if (yych == 'x')
-        goto yy882;
+        goto yy881;
     }
-  yy879:
+  yy878:
     p = marker;
-    goto yy876;
-  yy880:
+    goto yy875;
+  yy879:
     yych = *++p;
     if (yych <= '@') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy883;
-      goto yy879;
+        goto yy882;
+      goto yy878;
     } else {
       if (yych <= 'Z')
-        goto yy883;
+        goto yy882;
       if (yych <= '`')
-        goto yy879;
+        goto yy878;
       if (yych <= 'z')
-        goto yy883;
-      goto yy879;
+        goto yy882;
+      goto yy878;
     }
-  yy881:
+  yy880:
     yych = *++p;
     if (yych <= '/')
-      goto yy879;
+      goto yy878;
     if (yych <= '9')
-      goto yy884;
+      goto yy883;
     if (yych == ';')
-      goto yy885;
-    goto yy879;
-  yy882:
+      goto yy884;
+    goto yy878;
+  yy881:
     yych = *++p;
     if (yych <= '@') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy887;
-      goto yy879;
+        goto yy886;
+      goto yy878;
     } else {
       if (yych <= 'F')
-        goto yy887;
+        goto yy886;
       if (yych <= '`')
-        goto yy879;
+        goto yy878;
       if (yych <= 'f')
-        goto yy887;
-      goto yy879;
+        goto yy886;
+      goto yy878;
     }
-  yy883:
+  yy882:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy888;
+        goto yy887;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy888;
+          goto yy878;
+        goto yy887;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'z')
-          goto yy888;
-        goto yy879;
+          goto yy887;
+        goto yy878;
       }
     }
-  yy884:
+  yy883:
     yych = *++p;
     if (yych <= '/')
-      goto yy879;
+      goto yy878;
     if (yych <= '9')
-      goto yy889;
+      goto yy888;
     if (yych != ';')
-      goto yy879;
-  yy885:
+      goto yy878;
+  yy884:
     ++p;
     { return (bufsize_t)(p - start); }
-  yy887:
+  yy886:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy890;
+        goto yy889;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'F') {
         if (yych <= '@')
-          goto yy879;
-        goto yy890;
+          goto yy878;
+        goto yy889;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'f')
-          goto yy890;
-        goto yy879;
+          goto yy889;
+        goto yy878;
       }
     }
-  yy888:
+  yy887:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy891;
+        goto yy890;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy891;
+          goto yy878;
+        goto yy890;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'z')
-          goto yy891;
-        goto yy879;
+          goto yy890;
+        goto yy878;
       }
     }
-  yy889:
+  yy888:
     yych = *++p;
     if (yych <= '/')
-      goto yy879;
+      goto yy878;
     if (yych <= '9')
-      goto yy892;
+      goto yy891;
     if (yych == ';')
-      goto yy885;
-    goto yy879;
-  yy890:
+      goto yy884;
+    goto yy878;
+  yy889:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy893;
+        goto yy892;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'F') {
         if (yych <= '@')
-          goto yy879;
-        goto yy893;
+          goto yy878;
+        goto yy892;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'f')
-          goto yy893;
-        goto yy879;
+          goto yy892;
+        goto yy878;
       }
     }
-  yy891:
+  yy890:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy894;
+        goto yy893;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy894;
+          goto yy878;
+        goto yy893;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'z')
-          goto yy894;
-        goto yy879;
+          goto yy893;
+        goto yy878;
       }
     }
-  yy892:
+  yy891:
     yych = *++p;
     if (yych <= '/')
-      goto yy879;
+      goto yy878;
     if (yych <= '9')
-      goto yy895;
+      goto yy894;
     if (yych == ';')
-      goto yy885;
-    goto yy879;
-  yy893:
+      goto yy884;
+    goto yy878;
+  yy892:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy896;
+        goto yy895;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'F') {
         if (yych <= '@')
-          goto yy879;
-        goto yy896;
+          goto yy878;
+        goto yy895;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'f')
-          goto yy896;
-        goto yy879;
+          goto yy895;
+        goto yy878;
       }
     }
-  yy894:
+  yy893:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy897;
+        goto yy896;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy897;
+          goto yy878;
+        goto yy896;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'z')
-          goto yy897;
-        goto yy879;
+          goto yy896;
+        goto yy878;
       }
     }
-  yy895:
+  yy894:
     yych = *++p;
     if (yych <= '/')
-      goto yy879;
+      goto yy878;
     if (yych <= '9')
-      goto yy898;
+      goto yy897;
     if (yych == ';')
-      goto yy885;
-    goto yy879;
-  yy896:
+      goto yy884;
+    goto yy878;
+  yy895:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy899;
+        goto yy898;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'F') {
         if (yych <= '@')
-          goto yy879;
-        goto yy899;
+          goto yy878;
+        goto yy898;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'f')
-          goto yy899;
-        goto yy879;
+          goto yy898;
+        goto yy878;
       }
     }
-  yy897:
+  yy896:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy900;
+        goto yy899;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy900;
+          goto yy878;
+        goto yy899;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'z')
-          goto yy900;
-        goto yy879;
+          goto yy899;
+        goto yy878;
       }
     }
-  yy898:
+  yy897:
     yych = *++p;
     if (yych <= '/')
-      goto yy879;
+      goto yy878;
     if (yych <= '9')
-      goto yy901;
+      goto yy900;
     if (yych == ';')
-      goto yy885;
-    goto yy879;
+      goto yy884;
+    goto yy878;
+  yy898:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy878;
+      if (yych <= '9')
+        goto yy900;
+      if (yych <= ':')
+        goto yy878;
+      goto yy884;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy878;
+        goto yy900;
+      } else {
+        if (yych <= '`')
+          goto yy878;
+        if (yych <= 'f')
+          goto yy900;
+        goto yy878;
+      }
+    }
   yy899:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy901;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
         goto yy901;
       } else {
         if (yych <= '`')
-          goto yy879;
-        if (yych <= 'f')
+          goto yy878;
+        if (yych <= 'z')
           goto yy901;
-        goto yy879;
+        goto yy878;
       }
     }
   yy900:
     yych = *++p;
+    if (yych == ';')
+      goto yy884;
+    goto yy878;
+  yy901:
+    yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy902;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy902;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
-        if (yych <= 'z')
-          goto yy902;
-        goto yy879;
+          goto yy878;
+        if (yych >= '{')
+          goto yy878;
       }
     }
-  yy901:
-    yych = *++p;
-    if (yych == ';')
-      goto yy885;
-    goto yy879;
   yy902:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy903;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy903:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy904;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy904:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy905;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy905:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy906;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy906:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy907;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy907:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy908;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy908:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy909;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy909:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy910;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy910:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy911;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy911:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy912;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy912:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy913;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy913:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy914;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy914:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy915;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy915:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy916;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy916:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy917;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy917:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy918;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy918:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy919;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy919:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy920;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy920:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy921;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy921:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy922;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy922:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy923;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy923:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
         goto yy924;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
+          goto yy878;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych >= '{')
-          goto yy879;
+          goto yy878;
       }
     }
   yy924:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy879;
-      if (yych <= '9')
-        goto yy925;
-      if (yych <= ':')
-        goto yy879;
-      goto yy885;
-    } else {
-      if (yych <= 'Z') {
-        if (yych <= '@')
-          goto yy879;
-      } else {
-        if (yych <= '`')
-          goto yy879;
-        if (yych >= '{')
-          goto yy879;
-      }
-    }
-  yy925:
-    ++p;
-    if ((yych = *p) <= ';') {
-      if (yych <= '/')
-        goto yy879;
+        goto yy878;
       if (yych <= '9')
-        goto yy901;
+        goto yy900;
       if (yych <= ':')
-        goto yy879;
-      goto yy885;
+        goto yy878;
+      goto yy884;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy879;
-        goto yy901;
+          goto yy878;
+        goto yy900;
       } else {
         if (yych <= '`')
-          goto yy879;
+          goto yy878;
         if (yych <= 'z')
-          goto yy901;
-        goto yy879;
+          goto yy900;
+        goto yy878;
       }
     }
   }
@@ -13210,304 +12887,304 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) {
     if (yych <= 'V') {
       if (yych <= 'F') {
         if (yych == 'D')
-          goto yy930;
+          goto yy929;
         if (yych >= 'F')
-          goto yy931;
+          goto yy930;
       } else {
         if (yych == 'J')
-          goto yy932;
+          goto yy931;
         if (yych >= 'V')
-          goto yy933;
+          goto yy932;
       }
     } else {
       if (yych <= 'f') {
         if (yych == 'd')
-          goto yy930;
+          goto yy929;
         if (yych >= 'f')
-          goto yy931;
+          goto yy930;
       } else {
         if (yych <= 'j') {
           if (yych >= 'j')
-            goto yy932;
+            goto yy931;
         } else {
           if (yych == 'v')
-            goto yy933;
+            goto yy932;
         }
       }
     }
     ++p;
-  yy929 : { return 0; }
-  yy930:
+  yy928 : { return 0; }
+  yy929:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'A')
-      goto yy934;
+      goto yy933;
     if (yych == 'a')
-      goto yy934;
-    goto yy929;
-  yy931:
+      goto yy933;
+    goto yy928;
+  yy930:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'I')
-      goto yy936;
+      goto yy935;
     if (yych == 'i')
-      goto yy936;
-    goto yy929;
-  yy932:
+      goto yy935;
+    goto yy928;
+  yy931:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'A')
-      goto yy937;
+      goto yy936;
     if (yych == 'a')
-      goto yy937;
-    goto yy929;
-  yy933:
+      goto yy936;
+    goto yy928;
+  yy932:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'B')
-      goto yy938;
+      goto yy937;
     if (yych == 'b')
-      goto yy938;
-    goto yy929;
-  yy934:
+      goto yy937;
+    goto yy928;
+  yy933:
     yych = *++p;
     if (yych == 'T')
-      goto yy939;
+      goto yy938;
     if (yych == 't')
-      goto yy939;
-  yy935:
+      goto yy938;
+  yy934:
     p = marker;
     if (yyaccept == 0) {
-      goto yy929;
+      goto yy928;
     } else {
-      goto yy947;
+      goto yy946;
     }
-  yy936:
+  yy935:
     yych = *++p;
     if (yych == 'L')
-      goto yy940;
+      goto yy939;
     if (yych == 'l')
+      goto yy939;
+    goto yy934;
+  yy936:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy940;
+    if (yych == 'v')
       goto yy940;
-    goto yy935;
+    goto yy934;
   yy937:
     yych = *++p;
-    if (yych == 'V')
+    if (yych == 'S')
       goto yy941;
-    if (yych == 'v')
+    if (yych == 's')
       goto yy941;
-    goto yy935;
+    goto yy934;
   yy938:
     yych = *++p;
-    if (yych == 'S')
+    if (yych == 'A')
       goto yy942;
-    if (yych == 's')
+    if (yych == 'a')
       goto yy942;
-    goto yy935;
+    goto yy934;
   yy939:
     yych = *++p;
-    if (yych == 'A')
+    if (yych == 'E')
       goto yy943;
-    if (yych == 'a')
+    if (yych == 'e')
       goto yy943;
-    goto yy935;
+    goto yy934;
   yy940:
     yych = *++p;
-    if (yych == 'E')
-      goto yy944;
-    if (yych == 'e')
-      goto yy944;
-    goto yy935;
-  yy941:
-    yych = *++p;
     if (yych == 'A')
-      goto yy938;
+      goto yy937;
     if (yych == 'a')
-      goto yy938;
-    goto yy935;
-  yy942:
+      goto yy937;
+    goto yy934;
+  yy941:
     yych = *++p;
     if (yych == 'C')
-      goto yy945;
+      goto yy944;
     if (yych == 'c')
+      goto yy944;
+    goto yy934;
+  yy942:
+    yych = *++p;
+    if (yych == ':')
       goto yy945;
-    goto yy935;
+    goto yy934;
   yy943:
     yych = *++p;
     if (yych == ':')
-      goto yy946;
-    goto yy935;
+      goto yy947;
+    goto yy934;
   yy944:
     yych = *++p;
-    if (yych == ':')
-      goto yy948;
-    goto yy935;
-  yy945:
-    yych = *++p;
     if (yych == 'R')
-      goto yy949;
+      goto yy948;
     if (yych == 'r')
-      goto yy949;
-    goto yy935;
-  yy946:
+      goto yy948;
+    goto yy934;
+  yy945:
     yyaccept = 1;
     yych = *(marker = ++p);
     if (yych == 'I')
-      goto yy950;
+      goto yy949;
     if (yych == 'i')
-      goto yy950;
-  yy947 : { return (bufsize_t)(p - start); }
+      goto yy949;
+  yy946 : { return (bufsize_t)(p - start); }
+  yy947:
+    ++p;
+    goto yy946;
   yy948:
     yych = *++p;
-    goto yy947;
+    if (yych == 'I')
+      goto yy950;
+    if (yych == 'i')
+      goto yy950;
+    goto yy934;
   yy949:
     yych = *++p;
-    if (yych == 'I')
+    if (yych == 'M')
       goto yy951;
-    if (yych == 'i')
+    if (yych == 'm')
       goto yy951;
-    goto yy935;
+    goto yy934;
   yy950:
     yych = *++p;
-    if (yych == 'M')
+    if (yych == 'P')
       goto yy952;
-    if (yych == 'm')
+    if (yych == 'p')
       goto yy952;
-    goto yy935;
+    goto yy934;
   yy951:
     yych = *++p;
-    if (yych == 'P')
+    if (yych == 'A')
       goto yy953;
-    if (yych == 'p')
+    if (yych == 'a')
       goto yy953;
-    goto yy935;
+    goto yy934;
   yy952:
     yych = *++p;
-    if (yych == 'A')
-      goto yy954;
-    if (yych == 'a')
-      goto yy954;
-    goto yy935;
-  yy953:
-    yych = *++p;
     if (yych == 'T')
-      goto yy944;
+      goto yy943;
     if (yych == 't')
-      goto yy944;
-    goto yy935;
-  yy954:
+      goto yy943;
+    goto yy934;
+  yy953:
     yych = *++p;
     if (yych == 'G')
-      goto yy955;
+      goto yy954;
     if (yych != 'g')
-      goto yy935;
-  yy955:
+      goto yy934;
+  yy954:
     yych = *++p;
     if (yych == 'E')
-      goto yy956;
+      goto yy955;
     if (yych != 'e')
-      goto yy935;
-  yy956:
+      goto yy934;
+  yy955:
     yych = *++p;
     if (yych != '/')
-      goto yy935;
+      goto yy934;
     yych = *++p;
     if (yych <= 'W') {
       if (yych <= 'J') {
         if (yych == 'G')
-          goto yy958;
+          goto yy957;
         if (yych <= 'I')
-          goto yy935;
-        goto yy959;
+          goto yy934;
+        goto yy958;
       } else {
         if (yych == 'P')
-          goto yy960;
+          goto yy959;
         if (yych <= 'V')
-          goto yy935;
-        goto yy961;
+          goto yy934;
+        goto yy960;
       }
     } else {
       if (yych <= 'j') {
         if (yych == 'g')
-          goto yy958;
+          goto yy957;
         if (yych <= 'i')
-          goto yy935;
-        goto yy959;
+          goto yy934;
+        goto yy958;
       } else {
         if (yych <= 'p') {
           if (yych <= 'o')
-            goto yy935;
-          goto yy960;
+            goto yy934;
+          goto yy959;
         } else {
           if (yych == 'w')
-            goto yy961;
-          goto yy935;
+            goto yy960;
+          goto yy934;
         }
       }
     }
-  yy958:
+  yy957:
     yych = *++p;
     if (yych == 'I')
-      goto yy962;
+      goto yy961;
     if (yych == 'i')
+      goto yy961;
+    goto yy934;
+  yy958:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy962;
+    if (yych == 'p')
       goto yy962;
-    goto yy935;
+    goto yy934;
   yy959:
     yych = *++p;
-    if (yych == 'P')
+    if (yych == 'N')
       goto yy963;
-    if (yych == 'p')
+    if (yych == 'n')
       goto yy963;
-    goto yy935;
+    goto yy934;
   yy960:
     yych = *++p;
-    if (yych == 'N')
+    if (yych == 'E')
       goto yy964;
-    if (yych == 'n')
+    if (yych == 'e')
       goto yy964;
-    goto yy935;
+    goto yy934;
   yy961:
     yych = *++p;
-    if (yych == 'E')
+    if (yych == 'F')
       goto yy965;
-    if (yych == 'e')
+    if (yych == 'f')
       goto yy965;
-    goto yy935;
+    goto yy934;
   yy962:
     yych = *++p;
-    if (yych == 'F')
-      goto yy966;
-    if (yych == 'f')
-      goto yy966;
-    goto yy935;
-  yy963:
-    yych = *++p;
     if (yych == 'E')
-      goto yy964;
+      goto yy963;
     if (yych != 'e')
-      goto yy935;
-  yy964:
+      goto yy934;
+  yy963:
     yych = *++p;
     if (yych == 'G')
-      goto yy966;
+      goto yy965;
     if (yych == 'g')
-      goto yy966;
-    goto yy935;
-  yy965:
+      goto yy965;
+    goto yy934;
+  yy964:
     yych = *++p;
     if (yych == 'B')
-      goto yy968;
+      goto yy967;
     if (yych == 'b')
-      goto yy968;
-    goto yy935;
-  yy966:
+      goto yy967;
+    goto yy934;
+  yy965:
     ++p;
     { return 0; }
-  yy968:
-    ++p;
-    if ((yych = *p) == 'P')
-      goto yy966;
+  yy967:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy965;
     if (yych == 'p')
-      goto yy966;
-    goto yy935;
+      goto yy965;
+    goto yy934;
   }
 }
diff --git a/src/scanners.re b/src/scanners.re
@@ -37,7 +37,7 @@ bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, 
 
   tagname = [A-Za-z][A-Za-z0-9-]*;
 
-  blocktagname = 'address'|'article'|'aside'|'base'|'basefont'|'blockquote'|'body'|'caption'|'center'|'col'|'colgroup'|'dd'|'details'|'dialog'|'dir'|'div'|'dl'|'dt'|'fieldset'|'figcaption'|'figure'|'footer'|'form'|'frame'|'frameset'|'h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'head'|'header'|'hr'|'html'|'iframe'|'legend'|'li'|'link'|'main'|'menu'|'menuitem'|'meta'|'nav'|'noframes'|'ol'|'optgroup'|'option'|'p'|'param'|'section'|'source'|'title'|'summary'|'table'|'tbody'|'td'|'tfoot'|'th'|'thead'|'title'|'tr'|'track'|'ul';
+  blocktagname = 'address'|'article'|'aside'|'base'|'basefont'|'blockquote'|'body'|'caption'|'center'|'col'|'colgroup'|'dd'|'details'|'dialog'|'dir'|'div'|'dl'|'dt'|'fieldset'|'figcaption'|'figure'|'footer'|'form'|'frame'|'frameset'|'h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'head'|'header'|'hr'|'html'|'iframe'|'legend'|'li'|'link'|'main'|'menu'|'menuitem'|'nav'|'noframes'|'ol'|'optgroup'|'option'|'p'|'param'|'section'|'source'|'title'|'summary'|'table'|'tbody'|'td'|'tfoot'|'th'|'thead'|'title'|'tr'|'track'|'ul';
 
   attributename = [a-zA-Z_:][a-zA-Z0-9:._-]*;
 
diff --git a/test/regression.txt b/test/regression.txt
@@ -92,3 +92,17 @@ Issue #192 - escaped spaces in link destination
 .
 <p>[a](te\ st)</p>
 ````````````````````````````````
+
+Issue #527 - meta tags in inline contexts
+
+```````````````````````````````` example
+City:
+<span itemprop="contentLocation" itemscope itemtype="https://schema.org/City">
+  <meta itemprop="name" content="Springfield">
+</span>
+.
+<p>City:
+<span itemprop="contentLocation" itemscope itemtype="https://schema.org/City">
+  <meta itemprop="name" content="Springfield">
+</span></p>
+````````````````````````````````