/* Generated by re2c 0.14.3 */
#include <stdlib.h>
#include "chunk.h"
#include "scanners.h"

bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset)
{
	bufsize_t res;
	unsigned char *ptr = (unsigned char *)c->data;
	unsigned char lim = ptr[c->len];

	ptr[c->len] = '\0';
	res = scanner(ptr + offset);
	ptr[c->len] = lim;

	return res;
}



// Try to match a scheme including colon.
bufsize_t _scan_scheme(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;

	yych = *(marker = p);
	if (yych <= 'c') {
		if (yych <= 'M') {
			if (yych <= 'E') {
				if (yych <= 'A') {
					if (yych == '\n') goto yy2;
					if (yych <= '@') goto yy29;
					goto yy6;
				} else {
					if (yych <= 'B') goto yy24;
					if (yych <= 'C') goto yy3;
					if (yych <= 'D') goto yy4;
					goto yy25;
				}
			} else {
				if (yych <= 'I') {
					if (yych <= 'F') goto yy7;
					if (yych <= 'G') goto yy8;
					if (yych <= 'H') goto yy9;
					goto yy10;
				} else {
					if (yych <= 'J') goto yy5;
					if (yych <= 'K') goto yy26;
					if (yych <= 'L') goto yy11;
					goto yy12;
				}
			}
		} else {
			if (yych <= 'U') {
				if (yych <= 'Q') {
					if (yych <= 'N') goto yy13;
					if (yych <= 'O') goto yy14;
					if (yych <= 'P') goto yy15;
					goto yy27;
				} else {
					if (yych <= 'R') goto yy16;
					if (yych <= 'S') goto yy17;
					if (yych <= 'T') goto yy18;
					goto yy19;
				}
			} else {
				if (yych <= 'Y') {
					if (yych <= 'V') goto yy20;
					if (yych <= 'W') goto yy21;
					if (yych <= 'X') goto yy22;
					goto yy28;
				} else {
					if (yych <= '`') {
						if (yych <= 'Z') goto yy23;
						goto yy29;
					} else {
						if (yych <= 'a') goto yy6;
						if (yych <= 'b') goto yy24;
						goto yy3;
					}
				}
			}
		}
	} else {
		if (yych <= 't') {
			if (yych <= 'k') {
				if (yych <= 'g') {
					if (yych <= 'd') goto yy4;
					if (yych <= 'e') goto yy25;
					if (yych <= 'f') goto yy7;
					goto yy8;
				} else {
					if (yych <= 'h') goto yy9;
					if (yych <= 'i') goto yy10;
					if (yych <= 'j') goto yy5;
					goto yy26;
				}
			} else {
				if (yych <= 'o') {
					if (yych <= 'l') goto yy11;
					if (yych <= 'm') goto yy12;
					if (yych <= 'n') goto yy13;
					goto yy14;
				} else {
					if (yych <= 'q') {
						if (yych <= 'p') goto yy15;
						goto yy27;
					} else {
						if (yych <= 'r') goto yy16;
						if (yych <= 's') goto yy17;
						goto yy18;
					}
				}
			}
		} else {
			if (yych <= 0xC1) {
				if (yych <= 'x') {
					if (yych <= 'u') goto yy19;
					if (yych <= 'v') goto yy20;
					if (yych <= 'w') goto yy21;
					goto yy22;
				} else {
					if (yych <= 'y') goto yy28;
					if (yych <= 'z') goto yy23;
					if (yych <= 0x7F) goto yy29;
				}
			} else {
				if (yych <= 0xED) {
					if (yych <= 0xDF) goto yy30;
					if (yych <= 0xE0) goto yy32;
					if (yych <= 0xEC) goto yy33;
					goto yy37;
				} else {
					if (yych <= 0xF0) {
						if (yych <= 0xEF) goto yy33;
						goto yy34;
					} else {
						if (yych <= 0xF3) goto yy35;
						if (yych <= 0xF4) goto yy36;
					}
				}
			}
		}
	}
yy2:
	{ return 0; }
yy3:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy447;
	case 'H':
	case 'h':	goto yy446;
	case 'I':
	case 'i':	goto yy449;
	case 'O':
	case 'o':	goto yy445;
	case 'R':
	case 'r':	goto yy448;
	case 'V':
	case 'v':	goto yy444;
	default:	goto yy2;
	}
yy4:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy420;
	case 'I':
	case 'i':	goto yy419;
	case 'L':
	case 'l':	goto yy417;
	case 'N':
	case 'n':	goto yy418;
	case 'O':
	case 'o':	goto yy421;
	case 'T':
	case 't':	goto yy416;
	case 'V':
	case 'v':	goto yy415;
	default:	goto yy2;
	}
yy5:
	yych = *(marker = ++p);
	if (yych <= 'M') {
		if (yych == 'A') goto yy407;
		if (yych <= 'L') goto yy2;
		goto yy406;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy2;
			goto yy407;
		} else {
			if (yych == 'm') goto yy406;
			goto yy2;
		}
	}
yy6:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy388;
	case 'B':
	case 'b':	goto yy387;
	case 'C':
	case 'c':	goto yy386;
	case 'D':
	case 'd':	goto yy385;
	case 'F':
	case 'f':	goto yy384;
	case 'I':
	case 'i':	goto yy383;
	case 'P':
	case 'p':	goto yy382;
	case 'T':
	case 't':	goto yy381;
	case 'W':
	case 'w':	goto yy41;
	default:	goto yy2;
	}
yy7:
	yych = *(marker = ++p);
	if (yych <= 'T') {
		if (yych <= 'E') {
			if (yych == 'A') goto yy368;
			if (yych <= 'D') goto yy2;
			goto yy367;
		} else {
			if (yych == 'I') goto yy366;
			if (yych <= 'S') goto yy2;
			goto yy369;
		}
	} else {
		if (yych <= 'e') {
			if (yych == 'a') goto yy368;
			if (yych <= 'd') goto yy2;
			goto yy367;
		} else {
			if (yych <= 'i') {
				if (yych <= 'h') goto yy2;
				goto yy366;
			} else {
				if (yych == 't') goto yy369;
				goto yy2;
			}
		}
	}
yy8:
	yych = *(marker = ++p);
	switch (yych) {
	case 'E':
	case 'e':	goto yy351;
	case 'G':
	case 'g':	goto yy41;
	case 'I':
	case 'i':	goto yy349;
	case 'O':
	case 'o':	goto yy350;
	case 'T':
	case 't':	goto yy348;
	default:	goto yy2;
	}
yy9:
	yych = *(marker = ++p);
	if (yych <= 'S') {
		if (yych <= '3') {
			if (yych <= '2') goto yy2;
			goto yy344;
		} else {
			if (yych == 'C') goto yy342;
			goto yy2;
		}
	} else {
		if (yych <= 'c') {
			if (yych <= 'T') goto yy343;
			if (yych <= 'b') goto yy2;
			goto yy342;
		} else {
			if (yych == 't') goto yy343;
			goto yy2;
		}
	}
yy10:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy324;
	case 'C':
	case 'c':	goto yy321;
	case 'M':
	case 'm':	goto yy323;
	case 'N':
	case 'n':	goto yy322;
	case 'P':
	case 'p':	goto yy320;
	case 'R':
	case 'r':	goto yy319;
	case 'T':
	case 't':	goto yy318;
	default:	goto yy2;
	}
yy11:
	yych = *(marker = ++p);
	if (yych <= 'D') {
		if (yych == 'A') goto yy312;
		if (yych <= 'C') goto yy2;
		goto yy311;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy2;
			goto yy312;
		} else {
			if (yych == 'd') goto yy311;
			goto yy2;
		}
	}
yy12:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy278;
	case 'E':
	case 'e':	goto yy277;
	case 'I':
	case 'i':	goto yy280;
	case 'M':
	case 'm':	goto yy276;
	case 'S':
	case 's':	goto yy275;
	case 'T':
	case 't':	goto yy279;
	case 'U':
	case 'u':	goto yy274;
	case 'V':
	case 'v':	goto yy273;
	default:	goto yy2;
	}
yy13:
	yych = *(marker = ++p);
	switch (yych) {
	case 'E':
	case 'e':	goto yy268;
	case 'F':
	case 'f':	goto yy267;
	case 'I':
	case 'i':	goto yy266;
	case 'N':
	case 'n':	goto yy265;
	case 'O':
	case 'o':	goto yy264;
	default:	goto yy2;
	}
yy14:
	yych = *(marker = ++p);
	if (yych <= 'P') {
		if (yych == 'I') goto yy250;
		if (yych <= 'O') goto yy2;
		goto yy251;
	} else {
		if (yych <= 'i') {
			if (yych <= 'h') goto yy2;
			goto yy250;
		} else {
			if (yych == 'p') goto yy251;
			goto yy2;
		}
	}
yy15:
	yych = *(marker = ++p);
	if (yych <= 'S') {
		if (yych <= 'L') {
			if (yych == 'A') goto yy232;
			if (yych <= 'K') goto yy2;
			goto yy231;
		} else {
			if (yych <= 'O') {
				if (yych <= 'N') goto yy2;
				goto yy233;
			} else {
				if (yych <= 'Q') goto yy2;
				if (yych <= 'R') goto yy230;
				goto yy229;
			}
		}
	} else {
		if (yych <= 'n') {
			if (yych <= 'a') {
				if (yych <= '`') goto yy2;
				goto yy232;
			} else {
				if (yych == 'l') goto yy231;
				goto yy2;
			}
		} else {
			if (yych <= 'q') {
				if (yych <= 'o') goto yy233;
				goto yy2;
			} else {
				if (yych <= 'r') goto yy230;
				if (yych <= 's') goto yy229;
				goto yy2;
			}
		}
	}
yy16:
	yych = *(marker = ++p);
	if (yych <= 'T') {
		if (yych <= 'L') {
			if (yych == 'E') goto yy219;
			goto yy2;
		} else {
			if (yych <= 'M') goto yy218;
			if (yych <= 'R') goto yy2;
			if (yych <= 'S') goto yy217;
			goto yy216;
		}
	} else {
		if (yych <= 'm') {
			if (yych == 'e') goto yy219;
			if (yych <= 'l') goto yy2;
			goto yy218;
		} else {
			if (yych <= 'r') goto yy2;
			if (yych <= 's') goto yy217;
			if (yych <= 't') goto yy216;
			goto yy2;
		}
	}
yy17:
	yych = *(marker = ++p);
	switch (yych) {
	case 'E':
	case 'e':	goto yy172;
	case 'F':
	case 'f':	goto yy171;
	case 'G':
	case 'g':	goto yy170;
	case 'H':
	case 'h':	goto yy175;
	case 'I':
	case 'i':	goto yy174;
	case 'K':
	case 'k':	goto yy169;
	case 'M':
	case 'm':	goto yy168;
	case 'N':
	case 'n':	goto yy173;
	case 'O':
	case 'o':	goto yy167;
	case 'P':
	case 'p':	goto yy166;
	case 'S':
	case 's':	goto yy165;
	case 'T':
	case 't':	goto yy164;
	case 'V':
	case 'v':	goto yy163;
	default:	goto yy2;
	}
yy18:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy139;
	case 'E':
	case 'e':	goto yy135;
	case 'F':
	case 'f':	goto yy138;
	case 'H':
	case 'h':	goto yy134;
	case 'I':
	case 'i':	goto yy136;
	case 'N':
	case 'n':	goto yy137;
	case 'V':
	case 'v':	goto yy41;
	default:	goto yy2;
	}
yy19:
	yych = *(marker = ++p);
	if (yych <= 'T') {
		if (yych <= 'N') {
			if (yych == 'D') goto yy126;
			if (yych <= 'M') goto yy2;
			goto yy125;
		} else {
			if (yych == 'R') goto yy127;
			if (yych <= 'S') goto yy2;
			goto yy124;
		}
	} else {
		if (yych <= 'n') {
			if (yych == 'd') goto yy126;
			if (yych <= 'm') goto yy2;
			goto yy125;
		} else {
			if (yych <= 'r') {
				if (yych <= 'q') goto yy2;
				goto yy127;
			} else {
				if (yych == 't') goto yy124;
				goto yy2;
			}
		}
	}
yy20:
	yych = *(marker = ++p);
	if (yych <= 'I') {
		if (yych == 'E') goto yy108;
		if (yych <= 'H') goto yy2;
		goto yy107;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy2;
			goto yy108;
		} else {
			if (yych == 'i') goto yy107;
			goto yy2;
		}
	}
yy21:
	yych = *(marker = ++p);
	if (yych <= 'Y') {
		if (yych <= 'R') {
			if (yych == 'E') goto yy97;
			goto yy2;
		} else {
			if (yych <= 'S') goto yy98;
			if (yych <= 'T') goto yy96;
			if (yych <= 'X') goto yy2;
			goto yy95;
		}
	} else {
		if (yych <= 's') {
			if (yych == 'e') goto yy97;
			if (yych <= 'r') goto yy2;
			goto yy98;
		} else {
			if (yych <= 't') goto yy96;
			if (yych == 'y') goto yy95;
			goto yy2;
		}
	}
yy22:
	yych = *(marker = ++p);
	if (yych <= 'R') {
		if (yych <= 'F') {
			if (yych == 'C') goto yy74;
			if (yych <= 'E') goto yy2;
			goto yy72;
		} else {
			if (yych == 'M') goto yy73;
			if (yych <= 'Q') goto yy2;
			goto yy71;
		}
	} else {
		if (yych <= 'f') {
			if (yych == 'c') goto yy74;
			if (yych <= 'e') goto yy2;
			goto yy72;
		} else {
			if (yych <= 'm') {
				if (yych <= 'l') goto yy2;
				goto yy73;
			} else {
				if (yych == 'r') goto yy71;
				goto yy2;
			}
		}
	}
yy23:
	yych = *(marker = ++p);
	if (yych == '3') goto yy66;
	goto yy2;
yy24:
	yych = *(marker = ++p);
	if (yych <= 'O') {
		if (yych <= 'H') {
			if (yych == 'E') goto yy56;
			goto yy2;
		} else {
			if (yych <= 'I') goto yy55;
			if (yych <= 'N') goto yy2;
			goto yy54;
		}
	} else {
		if (yych <= 'h') {
			if (yych == 'e') goto yy56;
			goto yy2;
		} else {
			if (yych <= 'i') goto yy55;
			if (yych == 'o') goto yy54;
			goto yy2;
		}
	}
yy25:
	yych = *(marker = ++p);
	if (yych == 'D') goto yy52;
	if (yych == 'd') goto yy52;
	goto yy2;
yy26:
	yych = *(marker = ++p);
	if (yych == 'E') goto yy47;
	if (yych == 'e') goto yy47;
	goto yy2;
yy27:
	yych = *(marker = ++p);
	if (yych == 'U') goto yy44;
	if (yych == 'u') goto yy44;
	goto yy2;
yy28:
	yych = *(marker = ++p);
	if (yych == 'M') goto yy38;
	if (yych == 'm') goto yy38;
	goto yy2;
yy29:
	yych = *++p;
	goto yy2;
yy30:
	yych = *++p;
	if (yych <= 0x7F) goto yy31;
	if (yych <= 0xBF) goto yy29;
yy31:
	p = marker;
	goto yy2;
yy32:
	yych = *++p;
	if (yych <= 0x9F) goto yy31;
	if (yych <= 0xBF) goto yy30;
	goto yy31;
yy33:
	yych = *++p;
	if (yych <= 0x7F) goto yy31;
	if (yych <= 0xBF) goto yy30;
	goto yy31;
yy34:
	yych = *++p;
	if (yych <= 0x8F) goto yy31;
	if (yych <= 0xBF) goto yy33;
	goto yy31;
yy35:
	yych = *++p;
	if (yych <= 0x7F) goto yy31;
	if (yych <= 0xBF) goto yy33;
	goto yy31;
yy36:
	yych = *++p;
	if (yych <= 0x7F) goto yy31;
	if (yych <= 0x8F) goto yy33;
	goto yy31;
yy37:
	yych = *++p;
	if (yych <= 0x7F) goto yy31;
	if (yych <= 0x9F) goto yy30;
	goto yy31;
yy38:
	yych = *++p;
	if (yych == 'S') goto yy39;
	if (yych != 's') goto yy31;
yy39:
	yych = *++p;
	if (yych == 'G') goto yy40;
	if (yych != 'g') goto yy31;
yy40:
	yych = *++p;
	if (yych == 'R') goto yy41;
	if (yych != 'r') goto yy31;
yy41:
	yych = *++p;
	if (yych != ':') goto yy31;
yy42:
	++p;
	{ return (bufsize_t)(p - start); }
yy44:
	yych = *++p;
	if (yych == 'E') goto yy45;
	if (yych != 'e') goto yy31;
yy45:
	yych = *++p;
	if (yych == 'R') goto yy46;
	if (yych != 'r') goto yy31;
yy46:
	yych = *++p;
	if (yych == 'Y') goto yy41;
	if (yych == 'y') goto yy41;
	goto yy31;
yy47:
	yych = *++p;
	if (yych == 'Y') goto yy48;
	if (yych != 'y') goto yy31;
yy48:
	yych = *++p;
	if (yych == 'P') goto yy49;
	if (yych != 'p') goto yy31;
yy49:
	yych = *++p;
	if (yych == 'A') goto yy50;
	if (yych != 'a') goto yy31;
yy50:
	yych = *++p;
	if (yych == 'R') goto yy51;
	if (yych != 'r') goto yy31;
yy51:
	yych = *++p;
	if (yych == 'C') goto yy41;
	if (yych == 'c') goto yy41;
	goto yy31;
yy52:
	yych = *++p;
	if (yych != '2') goto yy31;
	yych = *++p;
	if (yych == 'K') goto yy41;
	if (yych == 'k') goto yy41;
	goto yy31;
yy54:
	yych = *++p;
	if (yych == 'L') goto yy65;
	if (yych == 'l') goto yy65;
	goto yy31;
yy55:
	yych = *++p;
	if (yych == 'T') goto yy61;
	if (yych == 't') goto yy61;
	goto yy31;
yy56:
	yych = *++p;
	if (yych == 'S') goto yy57;
	if (yych != 's') goto yy31;
yy57:
	yych = *++p;
	if (yych == 'H') goto yy58;
	if (yych != 'h') goto yy31;
yy58:
	yych = *++p;
	if (yych == 'A') goto yy59;
	if (yych != 'a') goto yy31;
yy59:
	yych = *++p;
	if (yych == 'R') goto yy60;
	if (yych != 'r') goto yy31;
yy60:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy61:
	yych = *++p;
	if (yych == 'C') goto yy62;
	if (yych != 'c') goto yy31;
yy62:
	yych = *++p;
	if (yych == 'O') goto yy63;
	if (yych != 'o') goto yy31;
yy63:
	yych = *++p;
	if (yych == 'I') goto yy64;
	if (yych != 'i') goto yy31;
yy64:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy65:
	yych = *++p;
	if (yych == 'O') goto yy41;
	if (yych == 'o') goto yy41;
	goto yy31;
yy66:
	yych = *++p;
	if (yych != '9') goto yy31;
	yych = *++p;
	if (yych != '.') goto yy31;
	yych = *++p;
	if (yych != '5') goto yy31;
	yych = *++p;
	if (yych != '0') goto yy31;
	yych = *++p;
	if (yych <= 'Q') goto yy31;
	if (yych <= 'S') goto yy41;
	if (yych <= 'q') goto yy31;
	if (yych <= 's') goto yy41;
	goto yy31;
yy71:
	yych = *++p;
	if (yych == 'I') goto yy41;
	if (yych == 'i') goto yy41;
	goto yy31;
yy72:
	yych = *++p;
	if (yych == 'I') goto yy93;
	if (yych == 'i') goto yy93;
	goto yy31;
yy73:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy83;
		if (yych <= 'O') goto yy31;
		goto yy84;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy31;
			goto yy83;
		} else {
			if (yych == 'p') goto yy84;
			goto yy31;
		}
	}
yy74:
	yych = *++p;
	if (yych == 'O') goto yy75;
	if (yych != 'o') goto yy31;
yy75:
	yych = *++p;
	if (yych == 'N') goto yy76;
	if (yych != 'n') goto yy31;
yy76:
	yych = *++p;
	if (yych == '-') goto yy77;
	if (yych == ':') goto yy42;
	goto yy31;
yy77:
	yych = *++p;
	if (yych == 'U') goto yy78;
	if (yych != 'u') goto yy31;
yy78:
	yych = *++p;
	if (yych == 'S') goto yy79;
	if (yych != 's') goto yy31;
yy79:
	yych = *++p;
	if (yych == 'E') goto yy80;
	if (yych != 'e') goto yy31;
yy80:
	yych = *++p;
	if (yych == 'R') goto yy81;
	if (yych != 'r') goto yy31;
yy81:
	yych = *++p;
	if (yych == 'I') goto yy82;
	if (yych != 'i') goto yy31;
yy82:
	yych = *++p;
	if (yych == 'D') goto yy41;
	if (yych == 'd') goto yy41;
	goto yy31;
yy83:
	yych = *++p;
	if (yych == 'R') goto yy85;
	if (yych == 'r') goto yy85;
	goto yy31;
yy84:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy85:
	yych = *++p;
	if (yych == 'P') goto yy86;
	if (yych != 'p') goto yy31;
yy86:
	yych = *++p;
	if (yych == 'C') goto yy87;
	if (yych != 'c') goto yy31;
yy87:
	yych = *++p;
	if (yych != '.') goto yy31;
	yych = *++p;
	if (yych == 'B') goto yy89;
	if (yych != 'b') goto yy31;
yy89:
	yych = *++p;
	if (yych == 'E') goto yy90;
	if (yych != 'e') goto yy31;
yy90:
	yych = *++p;
	if (yych == 'E') goto yy91;
	if (yych != 'e') goto yy31;
yy91:
	yych = *++p;
	if (yych == 'P') goto yy92;
	if (yych != 'p') goto yy31;
yy92:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy93:
	yych = *++p;
	if (yych == 'R') goto yy94;
	if (yych != 'r') goto yy31;
yy94:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy95:
	yych = *++p;
	if (yych == 'C') goto yy103;
	if (yych == 'c') goto yy103;
	goto yy31;
yy96:
	yych = *++p;
	if (yych == 'A') goto yy102;
	if (yych == 'a') goto yy102;
	goto yy31;
yy97:
	yych = *++p;
	if (yych == 'B') goto yy99;
	if (yych == 'b') goto yy99;
	goto yy31;
yy98:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy99:
	yych = *++p;
	if (yych == 'C') goto yy100;
	if (yych != 'c') goto yy31;
yy100:
	yych = *++p;
	if (yych == 'A') goto yy101;
	if (yych != 'a') goto yy31;
yy101:
	yych = *++p;
	if (yych == 'L') goto yy41;
	if (yych == 'l') goto yy41;
	goto yy31;
yy102:
	yych = *++p;
	if (yych == 'I') goto yy41;
	if (yych == 'i') goto yy41;
	goto yy31;
yy103:
	yych = *++p;
	if (yych == 'I') goto yy104;
	if (yych != 'i') goto yy31;
yy104:
	yych = *++p;
	if (yych == 'W') goto yy105;
	if (yych != 'w') goto yy31;
yy105:
	yych = *++p;
	if (yych == 'Y') goto yy106;
	if (yych != 'y') goto yy31;
yy106:
	yych = *++p;
	if (yych == 'G') goto yy41;
	if (yych == 'g') goto yy41;
	goto yy31;
yy107:
	yych = *++p;
	if (yych == 'E') goto yy116;
	if (yych == 'e') goto yy116;
	goto yy31;
yy108:
	yych = *++p;
	if (yych <= 'N') {
		if (yych <= 'L') goto yy31;
		if (yych >= 'N') goto yy110;
	} else {
		if (yych <= 'l') goto yy31;
		if (yych <= 'm') goto yy109;
		if (yych <= 'n') goto yy110;
		goto yy31;
	}
yy109:
	yych = *++p;
	if (yych == 'M') goto yy115;
	if (yych == 'm') goto yy115;
	goto yy31;
yy110:
	yych = *++p;
	if (yych == 'T') goto yy111;
	if (yych != 't') goto yy31;
yy111:
	yych = *++p;
	if (yych == 'R') goto yy112;
	if (yych != 'r') goto yy31;
yy112:
	yych = *++p;
	if (yych == 'I') goto yy113;
	if (yych != 'i') goto yy31;
yy113:
	yych = *++p;
	if (yych == 'L') goto yy114;
	if (yych != 'l') goto yy31;
yy114:
	yych = *++p;
	if (yych == 'O') goto yy41;
	if (yych == 'o') goto yy41;
	goto yy31;
yy115:
	yych = *++p;
	if (yych == 'I') goto yy41;
	if (yych == 'i') goto yy41;
	goto yy31;
yy116:
	yych = *++p;
	if (yych == 'W') goto yy117;
	if (yych != 'w') goto yy31;
yy117:
	yych = *++p;
	if (yych != '-') goto yy31;
	yych = *++p;
	if (yych == 'S') goto yy119;
	if (yych != 's') goto yy31;
yy119:
	yych = *++p;
	if (yych == 'O') goto yy120;
	if (yych != 'o') goto yy31;
yy120:
	yych = *++p;
	if (yych == 'U') goto yy121;
	if (yych != 'u') goto yy31;
yy121:
	yych = *++p;
	if (yych == 'R') goto yy122;
	if (yych != 'r') goto yy31;
yy122:
	yych = *++p;
	if (yych == 'C') goto yy123;
	if (yych != 'c') goto yy31;
yy123:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy124:
	yych = *++p;
	if (yych == '2') goto yy131;
	goto yy31;
yy125:
	yych = *++p;
	if (yych == 'R') goto yy128;
	if (yych == 'r') goto yy128;
	goto yy31;
yy126:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy127:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy128:
	yych = *++p;
	if (yych == 'E') goto yy129;
	if (yych != 'e') goto yy31;
yy129:
	yych = *++p;
	if (yych == 'A') goto yy130;
	if (yych != 'a') goto yy31;
yy130:
	yych = *++p;
	if (yych == 'L') goto yy41;
	if (yych == 'l') goto yy41;
	goto yy31;
yy131:
	yych = *++p;
	if (yych != '0') goto yy31;
	yych = *++p;
	if (yych != '0') goto yy31;
	yych = *++p;
	if (yych == '4') goto yy41;
	goto yy31;
yy134:
	yych = *++p;
	if (yych == 'I') goto yy153;
	if (yych == 'i') goto yy153;
	goto yy31;
yy135:
	yych = *++p;
	if (yych <= 'L') {
		if (yych == 'A') goto yy145;
		if (yych <= 'K') goto yy31;
		goto yy144;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy31;
			goto yy145;
		} else {
			if (yych == 'l') goto yy144;
			goto yy31;
		}
	}
yy136:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy137:
	yych = *++p;
	if (yych == '3') goto yy141;
	goto yy31;
yy138:
	yych = *++p;
	if (yych == 'T') goto yy140;
	if (yych == 't') goto yy140;
	goto yy31;
yy139:
	yych = *++p;
	if (yych == 'G') goto yy41;
	if (yych == 'g') goto yy41;
	goto yy31;
yy140:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy141:
	yych = *++p;
	if (yych != '2') goto yy31;
	yych = *++p;
	if (yych != '7') goto yy31;
	yych = *++p;
	if (yych == '0') goto yy41;
	goto yy31;
yy144:
	yych = *++p;
	if (yych <= 'M') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'N') goto yy151;
		if (yych == 'n') goto yy151;
		goto yy31;
	}
yy145:
	yych = *++p;
	if (yych == 'M') goto yy146;
	if (yych != 'm') goto yy31;
yy146:
	yych = *++p;
	if (yych == 'S') goto yy147;
	if (yych != 's') goto yy31;
yy147:
	yych = *++p;
	if (yych == 'P') goto yy148;
	if (yych != 'p') goto yy31;
yy148:
	yych = *++p;
	if (yych == 'E') goto yy149;
	if (yych != 'e') goto yy31;
yy149:
	yych = *++p;
	if (yych == 'A') goto yy150;
	if (yych != 'a') goto yy31;
yy150:
	yych = *++p;
	if (yych == 'K') goto yy41;
	if (yych == 'k') goto yy41;
	goto yy31;
yy151:
	yych = *++p;
	if (yych == 'E') goto yy152;
	if (yych != 'e') goto yy31;
yy152:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy153:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'N') goto yy154;
		if (yych <= 'R') goto yy31;
		goto yy155;
	} else {
		if (yych <= 'n') {
			if (yych <= 'm') goto yy31;
		} else {
			if (yych == 's') goto yy155;
			goto yy31;
		}
	}
yy154:
	yych = *++p;
	if (yych == 'G') goto yy162;
	if (yych == 'g') goto yy162;
	goto yy31;
yy155:
	yych = *++p;
	if (yych == 'M') goto yy156;
	if (yych != 'm') goto yy31;
yy156:
	yych = *++p;
	if (yych == 'E') goto yy157;
	if (yych != 'e') goto yy31;
yy157:
	yych = *++p;
	if (yych == 'S') goto yy158;
	if (yych != 's') goto yy31;
yy158:
	yych = *++p;
	if (yych == 'S') goto yy159;
	if (yych != 's') goto yy31;
yy159:
	yych = *++p;
	if (yych == 'A') goto yy160;
	if (yych != 'a') goto yy31;
yy160:
	yych = *++p;
	if (yych == 'G') goto yy161;
	if (yych != 'g') goto yy31;
yy161:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy162:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy163:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy164:
	yych = *++p;
	if (yych == 'E') goto yy214;
	if (yych == 'e') goto yy214;
	goto yy31;
yy165:
	yych = *++p;
	if (yych == 'H') goto yy41;
	if (yych == 'h') goto yy41;
	goto yy31;
yy166:
	yych = *++p;
	if (yych == 'O') goto yy210;
	if (yych == 'o') goto yy210;
	goto yy31;
yy167:
	yych = *++p;
	if (yych <= 'L') {
		if (yych == 'A') goto yy200;
		if (yych <= 'K') goto yy31;
		goto yy201;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy31;
			goto yy200;
		} else {
			if (yych == 'l') goto yy201;
			goto yy31;
		}
	}
yy168:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'B') goto yy41;
		if (yych <= 'R') goto yy31;
		goto yy41;
	} else {
		if (yych <= 'b') {
			if (yych <= 'a') goto yy31;
			goto yy41;
		} else {
			if (yych == 's') goto yy41;
			goto yy31;
		}
	}
yy169:
	yych = *++p;
	if (yych == 'Y') goto yy198;
	if (yych == 'y') goto yy198;
	goto yy31;
yy170:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy171:
	yych = *++p;
	if (yych == 'T') goto yy197;
	if (yych == 't') goto yy197;
	goto yy31;
yy172:
	yych = *++p;
	if (yych <= 'S') {
		if (yych <= 'C') {
			if (yych <= 'B') goto yy31;
			goto yy184;
		} else {
			if (yych <= 'Q') goto yy31;
			if (yych <= 'R') goto yy182;
			goto yy183;
		}
	} else {
		if (yych <= 'q') {
			if (yych == 'c') goto yy184;
			goto yy31;
		} else {
			if (yych <= 'r') goto yy182;
			if (yych <= 's') goto yy183;
			goto yy31;
		}
	}
yy173:
	yych = *++p;
	if (yych == 'M') goto yy181;
	if (yych == 'm') goto yy181;
	goto yy31;
yy174:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'E') goto yy178;
		if (yych <= 'O') goto yy31;
		goto yy179;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy31;
			goto yy178;
		} else {
			if (yych == 'p') goto yy179;
			goto yy31;
		}
	}
yy175:
	yych = *++p;
	if (yych == 'T') goto yy176;
	if (yych != 't') goto yy31;
yy176:
	yych = *++p;
	if (yych == 'T') goto yy177;
	if (yych != 't') goto yy31;
yy177:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy178:
	yych = *++p;
	if (yych == 'V') goto yy180;
	if (yych == 'v') goto yy180;
	goto yy31;
yy179:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy180:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy181:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy182:
	yych = *++p;
	if (yych == 'V') goto yy194;
	if (yych == 'v') goto yy194;
	goto yy31;
yy183:
	yych = *++p;
	if (yych == 'S') goto yy191;
	if (yych == 's') goto yy191;
	goto yy31;
yy184:
	yych = *++p;
	if (yych == 'O') goto yy185;
	if (yych != 'o') goto yy31;
yy185:
	yych = *++p;
	if (yych == 'N') goto yy186;
	if (yych != 'n') goto yy31;
yy186:
	yych = *++p;
	if (yych == 'D') goto yy187;
	if (yych != 'd') goto yy31;
yy187:
	yych = *++p;
	if (yych == 'L') goto yy188;
	if (yych != 'l') goto yy31;
yy188:
	yych = *++p;
	if (yych == 'I') goto yy189;
	if (yych != 'i') goto yy31;
yy189:
	yych = *++p;
	if (yych == 'F') goto yy190;
	if (yych != 'f') goto yy31;
yy190:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy191:
	yych = *++p;
	if (yych == 'I') goto yy192;
	if (yych != 'i') goto yy31;
yy192:
	yych = *++p;
	if (yych == 'O') goto yy193;
	if (yych != 'o') goto yy31;
yy193:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy194:
	yych = *++p;
	if (yych == 'I') goto yy195;
	if (yych != 'i') goto yy31;
yy195:
	yych = *++p;
	if (yych == 'C') goto yy196;
	if (yych != 'c') goto yy31;
yy196:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy197:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy198:
	yych = *++p;
	if (yych == 'P') goto yy199;
	if (yych != 'p') goto yy31;
yy199:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy200:
	yych = *++p;
	if (yych == 'P') goto yy204;
	if (yych == 'p') goto yy204;
	goto yy31;
yy201:
	yych = *++p;
	if (yych == 'D') goto yy202;
	if (yych != 'd') goto yy31;
yy202:
	yych = *++p;
	if (yych == 'A') goto yy203;
	if (yych != 'a') goto yy31;
yy203:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy204:
	yych = *++p;
	if (yych != '.') goto yy31;
	yych = *++p;
	if (yych == 'B') goto yy206;
	if (yych != 'b') goto yy31;
yy206:
	yych = *++p;
	if (yych == 'E') goto yy207;
	if (yych != 'e') goto yy31;
yy207:
	yych = *++p;
	if (yych == 'E') goto yy208;
	if (yych != 'e') goto yy31;
yy208:
	yych = *++p;
	if (yych == 'P') goto yy209;
	if (yych != 'p') goto yy31;
yy209:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy210:
	yych = *++p;
	if (yych == 'T') goto yy211;
	if (yych != 't') goto yy31;
yy211:
	yych = *++p;
	if (yych == 'I') goto yy212;
	if (yych != 'i') goto yy31;
yy212:
	yych = *++p;
	if (yych == 'F') goto yy213;
	if (yych != 'f') goto yy31;
yy213:
	yych = *++p;
	if (yych == 'Y') goto yy41;
	if (yych == 'y') goto yy41;
	goto yy31;
yy214:
	yych = *++p;
	if (yych == 'A') goto yy215;
	if (yych != 'a') goto yy31;
yy215:
	yych = *++p;
	if (yych == 'M') goto yy41;
	if (yych == 'm') goto yy41;
	goto yy31;
yy216:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'M') goto yy228;
		if (yych <= 'R') goto yy31;
		goto yy227;
	} else {
		if (yych <= 'm') {
			if (yych <= 'l') goto yy31;
			goto yy228;
		} else {
			if (yych == 's') goto yy227;
			goto yy31;
		}
	}
yy217:
	yych = *++p;
	if (yych == 'Y') goto yy225;
	if (yych == 'y') goto yy225;
	goto yy31;
yy218:
	yych = *++p;
	if (yych == 'I') goto yy41;
	if (yych == 'i') goto yy41;
	goto yy31;
yy219:
	yych = *++p;
	if (yych == 'S') goto yy220;
	if (yych != 's') goto yy31;
yy220:
	yych = *++p;
	if (yych <= 'N') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'O') goto yy221;
		if (yych != 'o') goto yy31;
	}
yy221:
	yych = *++p;
	if (yych == 'U') goto yy222;
	if (yych != 'u') goto yy31;
yy222:
	yych = *++p;
	if (yych == 'R') goto yy223;
	if (yych != 'r') goto yy31;
yy223:
	yych = *++p;
	if (yych == 'C') goto yy224;
	if (yych != 'c') goto yy31;
yy224:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy225:
	yych = *++p;
	if (yych == 'N') goto yy226;
	if (yych != 'n') goto yy31;
yy226:
	yych = *++p;
	if (yych == 'C') goto yy41;
	if (yych == 'c') goto yy41;
	goto yy31;
yy227:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy228:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy229:
	yych = *++p;
	if (yych == 'Y') goto yy249;
	if (yych == 'y') goto yy249;
	goto yy31;
yy230:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == 'E') goto yy246;
		if (yych <= 'N') goto yy31;
		goto yy247;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy31;
			goto yy246;
		} else {
			if (yych == 'o') goto yy247;
			goto yy31;
		}
	}
yy231:
	yych = *++p;
	if (yych == 'A') goto yy241;
	if (yych == 'a') goto yy241;
	goto yy31;
yy232:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy234;
		if (yych <= 'O') goto yy31;
		goto yy235;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy31;
			goto yy234;
		} else {
			if (yych == 'p') goto yy235;
			goto yy31;
		}
	}
yy233:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy234:
	yych = *++p;
	if (yych == 'M') goto yy41;
	if (yych == 'm') goto yy41;
	goto yy31;
yy235:
	yych = *++p;
	if (yych == 'A') goto yy236;
	if (yych != 'a') goto yy31;
yy236:
	yych = *++p;
	if (yych == 'R') goto yy237;
	if (yych != 'r') goto yy31;
yy237:
	yych = *++p;
	if (yych == 'A') goto yy238;
	if (yych != 'a') goto yy31;
yy238:
	yych = *++p;
	if (yych == 'Z') goto yy239;
	if (yych != 'z') goto yy31;
yy239:
	yych = *++p;
	if (yych == 'Z') goto yy240;
	if (yych != 'z') goto yy31;
yy240:
	yych = *++p;
	if (yych == 'I') goto yy41;
	if (yych == 'i') goto yy41;
	goto yy31;
yy241:
	yych = *++p;
	if (yych == 'T') goto yy242;
	if (yych != 't') goto yy31;
yy242:
	yych = *++p;
	if (yych == 'F') goto yy243;
	if (yych != 'f') goto yy31;
yy243:
	yych = *++p;
	if (yych == 'O') goto yy244;
	if (yych != 'o') goto yy31;
yy244:
	yych = *++p;
	if (yych == 'R') goto yy245;
	if (yych != 'r') goto yy31;
yy245:
	yych = *++p;
	if (yych == 'M') goto yy41;
	if (yych == 'm') goto yy41;
	goto yy31;
yy246:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy247:
	yych = *++p;
	if (yych == 'X') goto yy248;
	if (yych != 'x') goto yy31;
yy248:
	yych = *++p;
	if (yych == 'Y') goto yy41;
	if (yych == 'y') goto yy41;
	goto yy31;
yy249:
	yych = *++p;
	if (yych == 'C') goto yy41;
	if (yych == 'c') goto yy41;
	goto yy31;
yy250:
	yych = *++p;
	if (yych == 'D') goto yy41;
	if (yych == 'd') goto yy41;
	goto yy31;
yy251:
	yych = *++p;
	if (yych == 'A') goto yy252;
	if (yych != 'a') goto yy31;
yy252:
	yych = *++p;
	if (yych == 'Q') goto yy253;
	if (yych != 'q') goto yy31;
yy253:
	yych = *++p;
	if (yych == 'U') goto yy254;
	if (yych != 'u') goto yy31;
yy254:
	yych = *++p;
	if (yych == 'E') goto yy255;
	if (yych != 'e') goto yy31;
yy255:
	yych = *++p;
	if (yych == 'L') goto yy256;
	if (yych != 'l') goto yy31;
yy256:
	yych = *++p;
	if (yych == 'O') goto yy257;
	if (yych != 'o') goto yy31;
yy257:
	yych = *++p;
	if (yych == 'C') goto yy258;
	if (yych != 'c') goto yy31;
yy258:
	yych = *++p;
	if (yych == 'K') goto yy259;
	if (yych != 'k') goto yy31;
yy259:
	yych = *++p;
	if (yych == 'T') goto yy260;
	if (yych != 't') goto yy31;
yy260:
	yych = *++p;
	if (yych == 'O') goto yy261;
	if (yych != 'o') goto yy31;
yy261:
	yych = *++p;
	if (yych == 'K') goto yy262;
	if (yych != 'k') goto yy31;
yy262:
	yych = *++p;
	if (yych == 'E') goto yy263;
	if (yych != 'e') goto yy31;
yy263:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy264:
	yych = *++p;
	if (yych == 'T') goto yy271;
	if (yych == 't') goto yy271;
	goto yy31;
yy265:
	yych = *++p;
	if (yych == 'T') goto yy270;
	if (yych == 't') goto yy270;
	goto yy31;
yy266:
	yych = *++p;
	if (yych <= 'G') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'H') goto yy41;
		if (yych == 'h') goto yy41;
		goto yy31;
	}
yy267:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy268:
	yych = *++p;
	if (yych == 'W') goto yy269;
	if (yych != 'w') goto yy31;
yy269:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy270:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy271:
	yych = *++p;
	if (yych == 'E') goto yy272;
	if (yych != 'e') goto yy31;
yy272:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy273:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy274:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'M') goto yy305;
		if (yych <= 'O') goto yy31;
		goto yy304;
	} else {
		if (yych <= 'm') {
			if (yych <= 'l') goto yy31;
			goto yy305;
		} else {
			if (yych == 'p') goto yy304;
			goto yy31;
		}
	}
yy275:
	yych = *++p;
	if (yych <= 'Q') {
		if (yych <= '-') {
			if (yych <= ',') goto yy31;
			goto yy297;
		} else {
			if (yych == 'N') goto yy298;
			goto yy31;
		}
	} else {
		if (yych <= 'n') {
			if (yych <= 'R') goto yy296;
			if (yych <= 'm') goto yy31;
			goto yy298;
		} else {
			if (yych == 'r') goto yy296;
			goto yy31;
		}
	}
yy276:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy277:
	yych = *++p;
	if (yych == 'S') goto yy292;
	if (yych == 's') goto yy292;
	goto yy31;
yy278:
	yych = *++p;
	switch (yych) {
	case 'G':
	case 'g':	goto yy283;
	case 'I':
	case 'i':	goto yy282;
	case 'P':
	case 'p':	goto yy284;
	case 'R':
	case 'r':	goto yy285;
	default:	goto yy31;
	}
yy279:
	yych = *++p;
	if (yych == 'Q') goto yy281;
	if (yych == 'q') goto yy281;
	goto yy31;
yy280:
	yych = *++p;
	if (yych == 'D') goto yy41;
	if (yych == 'd') goto yy41;
	goto yy31;
yy281:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy282:
	yych = *++p;
	if (yych == 'L') goto yy290;
	if (yych == 'l') goto yy290;
	goto yy31;
yy283:
	yych = *++p;
	if (yych == 'N') goto yy288;
	if (yych == 'n') goto yy288;
	goto yy31;
yy284:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy285:
	yych = *++p;
	if (yych == 'K') goto yy286;
	if (yych != 'k') goto yy31;
yy286:
	yych = *++p;
	if (yych == 'E') goto yy287;
	if (yych != 'e') goto yy31;
yy287:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy288:
	yych = *++p;
	if (yych == 'E') goto yy289;
	if (yych != 'e') goto yy31;
yy289:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy290:
	yych = *++p;
	if (yych == 'T') goto yy291;
	if (yych != 't') goto yy31;
yy291:
	yych = *++p;
	if (yych == 'O') goto yy41;
	if (yych == 'o') goto yy41;
	goto yy31;
yy292:
	yych = *++p;
	if (yych == 'S') goto yy293;
	if (yych != 's') goto yy31;
yy293:
	yych = *++p;
	if (yych == 'A') goto yy294;
	if (yych != 'a') goto yy31;
yy294:
	yych = *++p;
	if (yych == 'G') goto yy295;
	if (yych != 'g') goto yy31;
yy295:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy296:
	yych = *++p;
	if (yych == 'P') goto yy303;
	if (yych == 'p') goto yy303;
	goto yy31;
yy297:
	yych = *++p;
	if (yych == 'H') goto yy300;
	if (yych == 'h') goto yy300;
	goto yy31;
yy298:
	yych = *++p;
	if (yych == 'I') goto yy299;
	if (yych != 'i') goto yy31;
yy299:
	yych = *++p;
	if (yych == 'M') goto yy41;
	if (yych == 'm') goto yy41;
	goto yy31;
yy300:
	yych = *++p;
	if (yych == 'E') goto yy301;
	if (yych != 'e') goto yy31;
yy301:
	yych = *++p;
	if (yych == 'L') goto yy302;
	if (yych != 'l') goto yy31;
yy302:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy303:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy304:
	yych = *++p;
	if (yych == 'D') goto yy308;
	if (yych == 'd') goto yy308;
	goto yy31;
yy305:
	yych = *++p;
	if (yych == 'B') goto yy306;
	if (yych != 'b') goto yy31;
yy306:
	yych = *++p;
	if (yych == 'L') goto yy307;
	if (yych != 'l') goto yy31;
yy307:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy308:
	yych = *++p;
	if (yych == 'A') goto yy309;
	if (yych != 'a') goto yy31;
yy309:
	yych = *++p;
	if (yych == 'T') goto yy310;
	if (yych != 't') goto yy31;
yy310:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy311:
	yych = *++p;
	if (yych == 'A') goto yy316;
	if (yych == 'a') goto yy316;
	goto yy31;
yy312:
	yych = *++p;
	if (yych == 'S') goto yy313;
	if (yych != 's') goto yy31;
yy313:
	yych = *++p;
	if (yych == 'T') goto yy314;
	if (yych != 't') goto yy31;
yy314:
	yych = *++p;
	if (yych == 'F') goto yy315;
	if (yych != 'f') goto yy31;
yy315:
	yych = *++p;
	if (yych == 'M') goto yy41;
	if (yych == 'm') goto yy41;
	goto yy31;
yy316:
	yych = *++p;
	if (yych == 'P') goto yy317;
	if (yych != 'p') goto yy31;
yy317:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy318:
	yych = *++p;
	if (yych == 'M') goto yy341;
	if (yych == 'm') goto yy341;
	goto yy31;
yy319:
	yych = *++p;
	if (yych <= 'I') {
		if (yych == 'C') goto yy330;
		if (yych <= 'H') goto yy31;
		goto yy329;
	} else {
		if (yych <= 'c') {
			if (yych <= 'b') goto yy31;
			goto yy330;
		} else {
			if (yych == 'i') goto yy329;
			goto yy31;
		}
	}
yy320:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'N') goto yy41;
		if (yych <= 'O') goto yy31;
		goto yy41;
	} else {
		if (yych <= 'n') {
			if (yych <= 'm') goto yy31;
			goto yy41;
		} else {
			if (yych == 'p') goto yy41;
			goto yy31;
		}
	}
yy321:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == 'A') goto yy327;
		if (yych <= 'N') goto yy31;
		goto yy328;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy31;
			goto yy327;
		} else {
			if (yych == 'o') goto yy328;
			goto yy31;
		}
	}
yy322:
	yych = *++p;
	if (yych == 'F') goto yy326;
	if (yych == 'f') goto yy326;
	goto yy31;
yy323:
	yych = *++p;
	if (yych <= '@') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'A') goto yy325;
		if (yych == 'a') goto yy325;
		goto yy31;
	}
yy324:
	yych = *++p;
	if (yych == 'X') goto yy41;
	if (yych == 'x') goto yy41;
	goto yy31;
yy325:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy326:
	yych = *++p;
	if (yych == 'O') goto yy41;
	if (yych == 'o') goto yy41;
	goto yy31;
yy327:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy328:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy329:
	yych = *++p;
	if (yych == 'S') goto yy331;
	if (yych == 's') goto yy331;
	goto yy31;
yy330:
	yych = *++p;
	if (yych <= ':') {
		if (yych == '6') goto yy41;
		if (yych <= '9') goto yy31;
		goto yy42;
	} else {
		if (yych <= 'S') {
			if (yych <= 'R') goto yy31;
			goto yy41;
		} else {
			if (yych == 's') goto yy41;
			goto yy31;
		}
	}
yy331:
	yych = *++p;
	if (yych == '.') goto yy332;
	if (yych == ':') goto yy42;
	goto yy31;
yy332:
	yych = *++p;
	if (yych <= 'X') {
		if (yych <= 'K') {
			if (yych == 'B') goto yy335;
			goto yy31;
		} else {
			if (yych <= 'L') goto yy333;
			if (yych <= 'W') goto yy31;
			goto yy334;
		}
	} else {
		if (yych <= 'k') {
			if (yych == 'b') goto yy335;
			goto yy31;
		} else {
			if (yych <= 'l') goto yy333;
			if (yych == 'x') goto yy334;
			goto yy31;
		}
	}
yy333:
	yych = *++p;
	if (yych == 'W') goto yy340;
	if (yych == 'w') goto yy340;
	goto yy31;
yy334:
	yych = *++p;
	if (yych == 'P') goto yy338;
	if (yych == 'p') goto yy338;
	goto yy31;
yy335:
	yych = *++p;
	if (yych == 'E') goto yy336;
	if (yych != 'e') goto yy31;
yy336:
	yych = *++p;
	if (yych == 'E') goto yy337;
	if (yych != 'e') goto yy31;
yy337:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy338:
	yych = *++p;
	if (yych == 'C') goto yy339;
	if (yych != 'c') goto yy31;
yy339:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy340:
	yych = *++p;
	if (yych == 'Z') goto yy41;
	if (yych == 'z') goto yy41;
	goto yy31;
yy341:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy342:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy343:
	yych = *++p;
	if (yych == 'T') goto yy346;
	if (yych == 't') goto yy346;
	goto yy31;
yy344:
	yych = *++p;
	if (yych != '2') goto yy31;
	yych = *++p;
	if (yych == '3') goto yy41;
	goto yy31;
yy346:
	yych = *++p;
	if (yych == 'P') goto yy347;
	if (yych != 'p') goto yy31;
yy347:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy348:
	yych = *++p;
	if (yych == 'A') goto yy364;
	if (yych == 'a') goto yy364;
	goto yy31;
yy349:
	yych = *++p;
	if (yych <= 'Z') {
		if (yych == 'T') goto yy41;
		if (yych <= 'Y') goto yy31;
		goto yy355;
	} else {
		if (yych <= 't') {
			if (yych <= 's') goto yy31;
			goto yy41;
		} else {
			if (yych == 'z') goto yy355;
			goto yy31;
		}
	}
yy350:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'P') goto yy352;
		if (yych == 'p') goto yy352;
		goto yy31;
	}
yy351:
	yych = *++p;
	if (yych == 'O') goto yy41;
	if (yych == 'o') goto yy41;
	goto yy31;
yy352:
	yych = *++p;
	if (yych == 'H') goto yy353;
	if (yych != 'h') goto yy31;
yy353:
	yych = *++p;
	if (yych == 'E') goto yy354;
	if (yych != 'e') goto yy31;
yy354:
	yych = *++p;
	if (yych == 'R') goto yy41;
	if (yych == 'r') goto yy41;
	goto yy31;
yy355:
	yych = *++p;
	if (yych == 'M') goto yy356;
	if (yych != 'm') goto yy31;
yy356:
	yych = *++p;
	if (yych == 'O') goto yy357;
	if (yych != 'o') goto yy31;
yy357:
	yych = *++p;
	if (yych == 'P') goto yy358;
	if (yych != 'p') goto yy31;
yy358:
	yych = *++p;
	if (yych == 'R') goto yy359;
	if (yych != 'r') goto yy31;
yy359:
	yych = *++p;
	if (yych == 'O') goto yy360;
	if (yych != 'o') goto yy31;
yy360:
	yych = *++p;
	if (yych == 'J') goto yy361;
	if (yych != 'j') goto yy31;
yy361:
	yych = *++p;
	if (yych == 'E') goto yy362;
	if (yych != 'e') goto yy31;
yy362:
	yych = *++p;
	if (yych == 'C') goto yy363;
	if (yych != 'c') goto yy31;
yy363:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy364:
	yych = *++p;
	if (yych == 'L') goto yy365;
	if (yych != 'l') goto yy31;
yy365:
	yych = *++p;
	if (yych == 'K') goto yy41;
	if (yych == 'k') goto yy41;
	goto yy31;
yy366:
	yych = *++p;
	if (yych <= 'S') {
		if (yych <= 'M') {
			if (yych == 'L') goto yy376;
			goto yy31;
		} else {
			if (yych <= 'N') goto yy377;
			if (yych <= 'R') goto yy31;
			goto yy378;
		}
	} else {
		if (yych <= 'm') {
			if (yych == 'l') goto yy376;
			goto yy31;
		} else {
			if (yych <= 'n') goto yy377;
			if (yych == 's') goto yy378;
			goto yy31;
		}
	}
yy367:
	yych = *++p;
	if (yych == 'E') goto yy375;
	if (yych == 'e') goto yy375;
	goto yy31;
yy368:
	yych = *++p;
	if (yych == 'C') goto yy370;
	if (yych == 'c') goto yy370;
	goto yy31;
yy369:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy370:
	yych = *++p;
	if (yych == 'E') goto yy371;
	if (yych != 'e') goto yy31;
yy371:
	yych = *++p;
	if (yych == 'T') goto yy372;
	if (yych != 't') goto yy31;
yy372:
	yych = *++p;
	if (yych == 'I') goto yy373;
	if (yych != 'i') goto yy31;
yy373:
	yych = *++p;
	if (yych == 'M') goto yy374;
	if (yych != 'm') goto yy31;
yy374:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy375:
	yych = *++p;
	if (yych == 'D') goto yy41;
	if (yych == 'd') goto yy41;
	goto yy31;
yy376:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy377:
	yych = *++p;
	if (yych == 'G') goto yy379;
	if (yych == 'g') goto yy379;
	goto yy31;
yy378:
	yych = *++p;
	if (yych == 'H') goto yy41;
	if (yych == 'h') goto yy41;
	goto yy31;
yy379:
	yych = *++p;
	if (yych == 'E') goto yy380;
	if (yych != 'e') goto yy31;
yy380:
	yych = *++p;
	if (yych == 'R') goto yy41;
	if (yych == 'r') goto yy41;
	goto yy31;
yy381:
	yych = *++p;
	if (yych == 'T') goto yy399;
	if (yych == 't') goto yy399;
	goto yy31;
yy382:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy383:
	yych = *++p;
	if (yych == 'M') goto yy41;
	if (yych == 'm') goto yy41;
	goto yy31;
yy384:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'P') goto yy41;
		if (yych <= 'R') goto yy31;
		goto yy41;
	} else {
		if (yych <= 'p') {
			if (yych <= 'o') goto yy31;
			goto yy41;
		} else {
			if (yych == 's') goto yy41;
			goto yy31;
		}
	}
yy385:
	yych = *++p;
	if (yych == 'I') goto yy393;
	if (yych == 'i') goto yy393;
	goto yy31;
yy386:
	yych = *++p;
	if (yych == 'A') goto yy392;
	if (yych == 'a') goto yy392;
	goto yy31;
yy387:
	yych = *++p;
	if (yych == 'O') goto yy390;
	if (yych == 'o') goto yy390;
	goto yy31;
yy388:
	yych = *++p;
	if (yych == 'A') goto yy389;
	if (yych != 'a') goto yy31;
yy389:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy42;
		goto yy31;
	} else {
		if (yych <= 'S') goto yy41;
		if (yych == 's') goto yy41;
		goto yy31;
	}
yy390:
	yych = *++p;
	if (yych == 'U') goto yy391;
	if (yych != 'u') goto yy31;
yy391:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy392:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy393:
	yych = *++p;
	if (yych == 'U') goto yy394;
	if (yych != 'u') goto yy31;
yy394:
	yych = *++p;
	if (yych == 'M') goto yy395;
	if (yych != 'm') goto yy31;
yy395:
	yych = *++p;
	if (yych == 'X') goto yy396;
	if (yych != 'x') goto yy31;
yy396:
	yych = *++p;
	if (yych == 'T') goto yy397;
	if (yych != 't') goto yy31;
yy397:
	yych = *++p;
	if (yych == 'R') goto yy398;
	if (yych != 'r') goto yy31;
yy398:
	yych = *++p;
	if (yych == 'A') goto yy41;
	if (yych == 'a') goto yy41;
	goto yy31;
yy399:
	yych = *++p;
	if (yych == 'A') goto yy400;
	if (yych != 'a') goto yy31;
yy400:
	yych = *++p;
	if (yych == 'C') goto yy401;
	if (yych != 'c') goto yy31;
yy401:
	yych = *++p;
	if (yych == 'H') goto yy402;
	if (yych != 'h') goto yy31;
yy402:
	yych = *++p;
	if (yych == 'M') goto yy403;
	if (yych != 'm') goto yy31;
yy403:
	yych = *++p;
	if (yych == 'E') goto yy404;
	if (yych != 'e') goto yy31;
yy404:
	yych = *++p;
	if (yych == 'N') goto yy405;
	if (yych != 'n') goto yy31;
yy405:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy406:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy407:
	yych = *++p;
	if (yych <= 'V') {
		if (yych == 'R') goto yy41;
		if (yych <= 'U') goto yy31;
	} else {
		if (yych <= 'r') {
			if (yych <= 'q') goto yy31;
			goto yy41;
		} else {
			if (yych != 'v') goto yy31;
		}
	}
	yych = *++p;
	if (yych == 'A') goto yy409;
	if (yych != 'a') goto yy31;
yy409:
	yych = *++p;
	if (yych == 'S') goto yy410;
	if (yych != 's') goto yy31;
yy410:
	yych = *++p;
	if (yych == 'C') goto yy411;
	if (yych != 'c') goto yy31;
yy411:
	yych = *++p;
	if (yych == 'R') goto yy412;
	if (yych != 'r') goto yy31;
yy412:
	yych = *++p;
	if (yych == 'I') goto yy413;
	if (yych != 'i') goto yy31;
yy413:
	yych = *++p;
	if (yych == 'P') goto yy414;
	if (yych != 'p') goto yy31;
yy414:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy415:
	yych = *++p;
	if (yych == 'B') goto yy41;
	if (yych == 'b') goto yy41;
	goto yy31;
yy416:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy417:
	yych = *++p;
	if (yych == 'N') goto yy424;
	if (yych == 'n') goto yy424;
	goto yy31;
yy418:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy419:
	yych = *++p;
	if (yych == 'C') goto yy423;
	if (yych == 'c') goto yy423;
	goto yy31;
yy420:
	yych = *++p;
	if (yych <= 'V') {
		if (yych == 'T') goto yy422;
		if (yych <= 'U') goto yy31;
		goto yy41;
	} else {
		if (yych <= 't') {
			if (yych <= 's') goto yy31;
			goto yy422;
		} else {
			if (yych == 'v') goto yy41;
			goto yy31;
		}
	}
yy421:
	yych = *++p;
	if (yych == 'I') goto yy41;
	if (yych == 'i') goto yy41;
	goto yy31;
yy422:
	yych = *++p;
	if (yych == 'A') goto yy41;
	if (yych == 'a') goto yy41;
	goto yy31;
yy423:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy424:
	yych = *++p;
	if (yych == 'A') goto yy425;
	if (yych != 'a') goto yy31;
yy425:
	yych = *++p;
	if (yych != '-') goto yy31;
	yych = *++p;
	if (yych == 'P') goto yy427;
	if (yych != 'p') goto yy31;
yy427:
	yych = *++p;
	if (yych == 'L') goto yy428;
	if (yych != 'l') goto yy31;
yy428:
	yych = *++p;
	if (yych == 'A') goto yy429;
	if (yych != 'a') goto yy31;
yy429:
	yych = *++p;
	if (yych == 'Y') goto yy430;
	if (yych != 'y') goto yy31;
yy430:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'C') goto yy431;
		if (yych <= 'R') goto yy31;
		goto yy432;
	} else {
		if (yych <= 'c') {
			if (yych <= 'b') goto yy31;
		} else {
			if (yych == 's') goto yy432;
			goto yy31;
		}
	}
yy431:
	yych = *++p;
	if (yych == 'O') goto yy437;
	if (yych == 'o') goto yy437;
	goto yy31;
yy432:
	yych = *++p;
	if (yych == 'I') goto yy433;
	if (yych != 'i') goto yy31;
yy433:
	yych = *++p;
	if (yych == 'N') goto yy434;
	if (yych != 'n') goto yy31;
yy434:
	yych = *++p;
	if (yych == 'G') goto yy435;
	if (yych != 'g') goto yy31;
yy435:
	yych = *++p;
	if (yych == 'L') goto yy436;
	if (yych != 'l') goto yy31;
yy436:
	yych = *++p;
	if (yych == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
yy437:
	yych = *++p;
	if (yych == 'N') goto yy438;
	if (yych != 'n') goto yy31;
yy438:
	yych = *++p;
	if (yych == 'T') goto yy439;
	if (yych != 't') goto yy31;
yy439:
	yych = *++p;
	if (yych == 'A') goto yy440;
	if (yych != 'a') goto yy31;
yy440:
	yych = *++p;
	if (yych == 'I') goto yy441;
	if (yych != 'i') goto yy31;
yy441:
	yych = *++p;
	if (yych == 'N') goto yy442;
	if (yych != 'n') goto yy31;
yy442:
	yych = *++p;
	if (yych == 'E') goto yy443;
	if (yych != 'e') goto yy31;
yy443:
	yych = *++p;
	if (yych == 'R') goto yy41;
	if (yych == 'r') goto yy41;
	goto yy31;
yy444:
	yych = *++p;
	if (yych == 'S') goto yy41;
	if (yych == 's') goto yy41;
	goto yy31;
yy445:
	yych = *++p;
	if (yych <= 'N') {
		if (yych <= 'A') {
			if (yych <= '@') goto yy31;
			goto yy467;
		} else {
			if (yych <= 'L') goto yy31;
			if (yych <= 'M') goto yy468;
			goto yy469;
		}
	} else {
		if (yych <= 'l') {
			if (yych == 'a') goto yy467;
			goto yy31;
		} else {
			if (yych <= 'm') goto yy468;
			if (yych <= 'n') goto yy469;
			goto yy31;
		}
	}
yy446:
	yych = *++p;
	if (yych == 'R') goto yy454;
	if (yych == 'r') goto yy454;
	goto yy31;
yy447:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy451;
		if (yych <= 'O') goto yy31;
		goto yy41;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy31;
			goto yy451;
		} else {
			if (yych == 'p') goto yy41;
			goto yy31;
		}
	}
yy448:
	yych = *++p;
	if (yych == 'I') goto yy450;
	if (yych == 'i') goto yy450;
	goto yy31;
yy449:
	yych = *++p;
	if (yych == 'D') goto yy41;
	if (yych == 'd') goto yy41;
	goto yy31;
yy450:
	yych = *++p;
	if (yych == 'D') goto yy41;
	if (yych == 'd') goto yy41;
	goto yy31;
yy451:
	yych = *++p;
	if (yych == 'L') goto yy452;
	if (yych != 'l') goto yy31;
yy452:
	yych = *++p;
	if (yych == 'T') goto yy453;
	if (yych != 't') goto yy31;
yy453:
	yych = *++p;
	if (yych == 'O') goto yy41;
	if (yych == 'o') goto yy41;
	goto yy31;
yy454:
	yych = *++p;
	if (yych == 'O') goto yy455;
	if (yych != 'o') goto yy31;
yy455:
	yych = *++p;
	if (yych == 'M') goto yy456;
	if (yych != 'm') goto yy31;
yy456:
	yych = *++p;
	if (yych == 'E') goto yy457;
	if (yych != 'e') goto yy31;
yy457:
	yych = *++p;
	if (yych == '-') goto yy458;
	if (yych == ':') goto yy42;
	goto yy31;
yy458:
	yych = *++p;
	if (yych == 'E') goto yy459;
	if (yych != 'e') goto yy31;
yy459:
	yych = *++p;
	if (yych == 'X') goto yy460;
	if (yych != 'x') goto yy31;
yy460:
	yych = *++p;
	if (yych == 'T') goto yy461;
	if (yych != 't') goto yy31;
yy461:
	yych = *++p;
	if (yych == 'E') goto yy462;
	if (yych != 'e') goto yy31;
yy462:
	yych = *++p;
	if (yych == 'N') goto yy463;
	if (yych != 'n') goto yy31;
yy463:
	yych = *++p;
	if (yych == 'S') goto yy464;
	if (yych != 's') goto yy31;
yy464:
	yych = *++p;
	if (yych == 'I') goto yy465;
	if (yych != 'i') goto yy31;
yy465:
	yych = *++p;
	if (yych == 'O') goto yy466;
	if (yych != 'o') goto yy31;
yy466:
	yych = *++p;
	if (yych == 'N') goto yy41;
	if (yych == 'n') goto yy41;
	goto yy31;
yy467:
	yych = *++p;
	if (yych == 'P') goto yy41;
	if (yych == 'p') goto yy41;
	goto yy31;
yy468:
	yych = *++p;
	if (yych == '-') goto yy473;
	goto yy31;
yy469:
	yych = *++p;
	if (yych == 'T') goto yy470;
	if (yych != 't') goto yy31;
yy470:
	yych = *++p;
	if (yych == 'E') goto yy471;
	if (yych != 'e') goto yy31;
yy471:
	yych = *++p;
	if (yych == 'N') goto yy472;
	if (yych != 'n') goto yy31;
yy472:
	yych = *++p;
	if (yych == 'T') goto yy41;
	if (yych == 't') goto yy41;
	goto yy31;
yy473:
	yych = *++p;
	if (yych == 'E') goto yy474;
	if (yych != 'e') goto yy31;
yy474:
	yych = *++p;
	if (yych == 'V') goto yy475;
	if (yych != 'v') goto yy31;
yy475:
	yych = *++p;
	if (yych == 'E') goto yy476;
	if (yych != 'e') goto yy31;
yy476:
	yych = *++p;
	if (yych == 'N') goto yy477;
	if (yych != 'n') goto yy31;
yy477:
	yych = *++p;
	if (yych == 'T') goto yy478;
	if (yych != 't') goto yy31;
yy478:
	yych = *++p;
	if (yych == 'B') goto yy479;
	if (yych != 'b') goto yy31;
yy479:
	yych = *++p;
	if (yych == 'R') goto yy480;
	if (yych != 'r') goto yy31;
yy480:
	yych = *++p;
	if (yych == 'I') goto yy481;
	if (yych != 'i') goto yy31;
yy481:
	yych = *++p;
	if (yych == 'T') goto yy482;
	if (yych != 't') goto yy31;
yy482:
	yych = *++p;
	if (yych == 'E') goto yy483;
	if (yych != 'e') goto yy31;
yy483:
	yych = *++p;
	if (yych != '-') goto yy31;
	yych = *++p;
	if (yych == 'A') goto yy485;
	if (yych != 'a') goto yy31;
yy485:
	yych = *++p;
	if (yych == 'T') goto yy486;
	if (yych != 't') goto yy31;
yy486:
	yych = *++p;
	if (yych == 'T') goto yy487;
	if (yych != 't') goto yy31;
yy487:
	yych = *++p;
	if (yych == 'E') goto yy488;
	if (yych != 'e') goto yy31;
yy488:
	yych = *++p;
	if (yych == 'N') goto yy489;
	if (yych != 'n') goto yy31;
yy489:
	yych = *++p;
	if (yych == 'D') goto yy490;
	if (yych != 'd') goto yy31;
yy490:
	yych = *++p;
	if (yych == 'E') goto yy491;
	if (yych != 'e') goto yy31;
yy491:
	++p;
	if ((yych = *p) == 'E') goto yy41;
	if (yych == 'e') goto yy41;
	goto yy31;
}

}

// Try to match URI autolink after first <, returning number of chars matched.
bufsize_t _scan_autolink_uri(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128,   0, 128,   0, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 'c') {
		if (yych <= 'M') {
			if (yych <= 'E') {
				if (yych <= 'A') {
					if (yych == '\n') goto yy494;
					if (yych <= '@') goto yy521;
					goto yy498;
				} else {
					if (yych <= 'B') goto yy516;
					if (yych <= 'C') goto yy495;
					if (yych <= 'D') goto yy496;
					goto yy517;
				}
			} else {
				if (yych <= 'I') {
					if (yych <= 'F') goto yy499;
					if (yych <= 'G') goto yy500;
					if (yych <= 'H') goto yy501;
					goto yy502;
				} else {
					if (yych <= 'J') goto yy497;
					if (yych <= 'K') goto yy518;
					if (yych <= 'L') goto yy503;
					goto yy504;
				}
			}
		} else {
			if (yych <= 'U') {
				if (yych <= 'Q') {
					if (yych <= 'N') goto yy505;
					if (yych <= 'O') goto yy506;
					if (yych <= 'P') goto yy507;
					goto yy519;
				} else {
					if (yych <= 'R') goto yy508;
					if (yych <= 'S') goto yy509;
					if (yych <= 'T') goto yy510;
					goto yy511;
				}
			} else {
				if (yych <= 'Y') {
					if (yych <= 'V') goto yy512;
					if (yych <= 'W') goto yy513;
					if (yych <= 'X') goto yy514;
					goto yy520;
				} else {
					if (yych <= '`') {
						if (yych <= 'Z') goto yy515;
						goto yy521;
					} else {
						if (yych <= 'a') goto yy498;
						if (yych <= 'b') goto yy516;
						goto yy495;
					}
				}
			}
		}
	} else {
		if (yych <= 't') {
			if (yych <= 'k') {
				if (yych <= 'g') {
					if (yych <= 'd') goto yy496;
					if (yych <= 'e') goto yy517;
					if (yych <= 'f') goto yy499;
					goto yy500;
				} else {
					if (yych <= 'h') goto yy501;
					if (yych <= 'i') goto yy502;
					if (yych <= 'j') goto yy497;
					goto yy518;
				}
			} else {
				if (yych <= 'o') {
					if (yych <= 'l') goto yy503;
					if (yych <= 'm') goto yy504;
					if (yych <= 'n') goto yy505;
					goto yy506;
				} else {
					if (yych <= 'q') {
						if (yych <= 'p') goto yy507;
						goto yy519;
					} else {
						if (yych <= 'r') goto yy508;
						if (yych <= 's') goto yy509;
						goto yy510;
					}
				}
			}
		} else {
			if (yych <= 0xC1) {
				if (yych <= 'x') {
					if (yych <= 'u') goto yy511;
					if (yych <= 'v') goto yy512;
					if (yych <= 'w') goto yy513;
					goto yy514;
				} else {
					if (yych <= 'y') goto yy520;
					if (yych <= 'z') goto yy515;
					if (yych <= 0x7F) goto yy521;
				}
			} else {
				if (yych <= 0xED) {
					if (yych <= 0xDF) goto yy522;
					if (yych <= 0xE0) goto yy524;
					if (yych <= 0xEC) goto yy525;
					goto yy529;
				} else {
					if (yych <= 0xF0) {
						if (yych <= 0xEF) goto yy525;
						goto yy526;
					} else {
						if (yych <= 0xF3) goto yy527;
						if (yych <= 0xF4) goto yy528;
					}
				}
			}
		}
	}
yy494:
	{ return 0; }
yy495:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy948;
	case 'H':
	case 'h':	goto yy947;
	case 'I':
	case 'i':	goto yy950;
	case 'O':
	case 'o':	goto yy946;
	case 'R':
	case 'r':	goto yy949;
	case 'V':
	case 'v':	goto yy945;
	default:	goto yy494;
	}
yy496:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy921;
	case 'I':
	case 'i':	goto yy920;
	case 'L':
	case 'l':	goto yy918;
	case 'N':
	case 'n':	goto yy919;
	case 'O':
	case 'o':	goto yy922;
	case 'T':
	case 't':	goto yy917;
	case 'V':
	case 'v':	goto yy916;
	default:	goto yy494;
	}
yy497:
	yych = *(marker = ++p);
	if (yych <= 'M') {
		if (yych == 'A') goto yy908;
		if (yych <= 'L') goto yy494;
		goto yy907;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy494;
			goto yy908;
		} else {
			if (yych == 'm') goto yy907;
			goto yy494;
		}
	}
yy498:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy889;
	case 'B':
	case 'b':	goto yy888;
	case 'C':
	case 'c':	goto yy887;
	case 'D':
	case 'd':	goto yy886;
	case 'F':
	case 'f':	goto yy885;
	case 'I':
	case 'i':	goto yy884;
	case 'P':
	case 'p':	goto yy883;
	case 'T':
	case 't':	goto yy882;
	case 'W':
	case 'w':	goto yy533;
	default:	goto yy494;
	}
yy499:
	yych = *(marker = ++p);
	if (yych <= 'T') {
		if (yych <= 'E') {
			if (yych == 'A') goto yy869;
			if (yych <= 'D') goto yy494;
			goto yy868;
		} else {
			if (yych == 'I') goto yy867;
			if (yych <= 'S') goto yy494;
			goto yy870;
		}
	} else {
		if (yych <= 'e') {
			if (yych == 'a') goto yy869;
			if (yych <= 'd') goto yy494;
			goto yy868;
		} else {
			if (yych <= 'i') {
				if (yych <= 'h') goto yy494;
				goto yy867;
			} else {
				if (yych == 't') goto yy870;
				goto yy494;
			}
		}
	}
yy500:
	yych = *(marker = ++p);
	switch (yych) {
	case 'E':
	case 'e':	goto yy852;
	case 'G':
	case 'g':	goto yy533;
	case 'I':
	case 'i':	goto yy850;
	case 'O':
	case 'o':	goto yy851;
	case 'T':
	case 't':	goto yy849;
	default:	goto yy494;
	}
yy501:
	yych = *(marker = ++p);
	if (yych <= 'S') {
		if (yych <= '3') {
			if (yych <= '2') goto yy494;
			goto yy845;
		} else {
			if (yych == 'C') goto yy843;
			goto yy494;
		}
	} else {
		if (yych <= 'c') {
			if (yych <= 'T') goto yy844;
			if (yych <= 'b') goto yy494;
			goto yy843;
		} else {
			if (yych == 't') goto yy844;
			goto yy494;
		}
	}
yy502:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy825;
	case 'C':
	case 'c':	goto yy822;
	case 'M':
	case 'm':	goto yy824;
	case 'N':
	case 'n':	goto yy823;
	case 'P':
	case 'p':	goto yy821;
	case 'R':
	case 'r':	goto yy820;
	case 'T':
	case 't':	goto yy819;
	default:	goto yy494;
	}
yy503:
	yych = *(marker = ++p);
	if (yych <= 'D') {
		if (yych == 'A') goto yy813;
		if (yych <= 'C') goto yy494;
		goto yy812;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy494;
			goto yy813;
		} else {
			if (yych == 'd') goto yy812;
			goto yy494;
		}
	}
yy504:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy779;
	case 'E':
	case 'e':	goto yy778;
	case 'I':
	case 'i':	goto yy781;
	case 'M':
	case 'm':	goto yy777;
	case 'S':
	case 's':	goto yy776;
	case 'T':
	case 't':	goto yy780;
	case 'U':
	case 'u':	goto yy775;
	case 'V':
	case 'v':	goto yy774;
	default:	goto yy494;
	}
yy505:
	yych = *(marker = ++p);
	switch (yych) {
	case 'E':
	case 'e':	goto yy769;
	case 'F':
	case 'f':	goto yy768;
	case 'I':
	case 'i':	goto yy767;
	case 'N':
	case 'n':	goto yy766;
	case 'O':
	case 'o':	goto yy765;
	default:	goto yy494;
	}
yy506:
	yych = *(marker = ++p);
	if (yych <= 'P') {
		if (yych == 'I') goto yy751;
		if (yych <= 'O') goto yy494;
		goto yy752;
	} else {
		if (yych <= 'i') {
			if (yych <= 'h') goto yy494;
			goto yy751;
		} else {
			if (yych == 'p') goto yy752;
			goto yy494;
		}
	}
yy507:
	yych = *(marker = ++p);
	if (yych <= 'S') {
		if (yych <= 'L') {
			if (yych == 'A') goto yy733;
			if (yych <= 'K') goto yy494;
			goto yy732;
		} else {
			if (yych <= 'O') {
				if (yych <= 'N') goto yy494;
				goto yy734;
			} else {
				if (yych <= 'Q') goto yy494;
				if (yych <= 'R') goto yy731;
				goto yy730;
			}
		}
	} else {
		if (yych <= 'n') {
			if (yych <= 'a') {
				if (yych <= '`') goto yy494;
				goto yy733;
			} else {
				if (yych == 'l') goto yy732;
				goto yy494;
			}
		} else {
			if (yych <= 'q') {
				if (yych <= 'o') goto yy734;
				goto yy494;
			} else {
				if (yych <= 'r') goto yy731;
				if (yych <= 's') goto yy730;
				goto yy494;
			}
		}
	}
yy508:
	yych = *(marker = ++p);
	if (yych <= 'T') {
		if (yych <= 'L') {
			if (yych == 'E') goto yy720;
			goto yy494;
		} else {
			if (yych <= 'M') goto yy719;
			if (yych <= 'R') goto yy494;
			if (yych <= 'S') goto yy718;
			goto yy717;
		}
	} else {
		if (yych <= 'm') {
			if (yych == 'e') goto yy720;
			if (yych <= 'l') goto yy494;
			goto yy719;
		} else {
			if (yych <= 'r') goto yy494;
			if (yych <= 's') goto yy718;
			if (yych <= 't') goto yy717;
			goto yy494;
		}
	}
yy509:
	yych = *(marker = ++p);
	switch (yych) {
	case 'E':
	case 'e':	goto yy673;
	case 'F':
	case 'f':	goto yy672;
	case 'G':
	case 'g':	goto yy671;
	case 'H':
	case 'h':	goto yy676;
	case 'I':
	case 'i':	goto yy675;
	case 'K':
	case 'k':	goto yy670;
	case 'M':
	case 'm':	goto yy669;
	case 'N':
	case 'n':	goto yy674;
	case 'O':
	case 'o':	goto yy668;
	case 'P':
	case 'p':	goto yy667;
	case 'S':
	case 's':	goto yy666;
	case 'T':
	case 't':	goto yy665;
	case 'V':
	case 'v':	goto yy664;
	default:	goto yy494;
	}
yy510:
	yych = *(marker = ++p);
	switch (yych) {
	case 'A':
	case 'a':	goto yy640;
	case 'E':
	case 'e':	goto yy636;
	case 'F':
	case 'f':	goto yy639;
	case 'H':
	case 'h':	goto yy635;
	case 'I':
	case 'i':	goto yy637;
	case 'N':
	case 'n':	goto yy638;
	case 'V':
	case 'v':	goto yy533;
	default:	goto yy494;
	}
yy511:
	yych = *(marker = ++p);
	if (yych <= 'T') {
		if (yych <= 'N') {
			if (yych == 'D') goto yy627;
			if (yych <= 'M') goto yy494;
			goto yy626;
		} else {
			if (yych == 'R') goto yy628;
			if (yych <= 'S') goto yy494;
			goto yy625;
		}
	} else {
		if (yych <= 'n') {
			if (yych == 'd') goto yy627;
			if (yych <= 'm') goto yy494;
			goto yy626;
		} else {
			if (yych <= 'r') {
				if (yych <= 'q') goto yy494;
				goto yy628;
			} else {
				if (yych == 't') goto yy625;
				goto yy494;
			}
		}
	}
yy512:
	yych = *(marker = ++p);
	if (yych <= 'I') {
		if (yych == 'E') goto yy609;
		if (yych <= 'H') goto yy494;
		goto yy608;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy494;
			goto yy609;
		} else {
			if (yych == 'i') goto yy608;
			goto yy494;
		}
	}
yy513:
	yych = *(marker = ++p);
	if (yych <= 'Y') {
		if (yych <= 'R') {
			if (yych == 'E') goto yy598;
			goto yy494;
		} else {
			if (yych <= 'S') goto yy599;
			if (yych <= 'T') goto yy597;
			if (yych <= 'X') goto yy494;
			goto yy596;
		}
	} else {
		if (yych <= 's') {
			if (yych == 'e') goto yy598;
			if (yych <= 'r') goto yy494;
			goto yy599;
		} else {
			if (yych <= 't') goto yy597;
			if (yych == 'y') goto yy596;
			goto yy494;
		}
	}
yy514:
	yych = *(marker = ++p);
	if (yych <= 'R') {
		if (yych <= 'F') {
			if (yych == 'C') goto yy575;
			if (yych <= 'E') goto yy494;
			goto yy573;
		} else {
			if (yych == 'M') goto yy574;
			if (yych <= 'Q') goto yy494;
			goto yy572;
		}
	} else {
		if (yych <= 'f') {
			if (yych == 'c') goto yy575;
			if (yych <= 'e') goto yy494;
			goto yy573;
		} else {
			if (yych <= 'm') {
				if (yych <= 'l') goto yy494;
				goto yy574;
			} else {
				if (yych == 'r') goto yy572;
				goto yy494;
			}
		}
	}
yy515:
	yych = *(marker = ++p);
	if (yych == '3') goto yy567;
	goto yy494;
yy516:
	yych = *(marker = ++p);
	if (yych <= 'O') {
		if (yych <= 'H') {
			if (yych == 'E') goto yy557;
			goto yy494;
		} else {
			if (yych <= 'I') goto yy556;
			if (yych <= 'N') goto yy494;
			goto yy555;
		}
	} else {
		if (yych <= 'h') {
			if (yych == 'e') goto yy557;
			goto yy494;
		} else {
			if (yych <= 'i') goto yy556;
			if (yych == 'o') goto yy555;
			goto yy494;
		}
	}
yy517:
	yych = *(marker = ++p);
	if (yych == 'D') goto yy553;
	if (yych == 'd') goto yy553;
	goto yy494;
yy518:
	yych = *(marker = ++p);
	if (yych == 'E') goto yy548;
	if (yych == 'e') goto yy548;
	goto yy494;
yy519:
	yych = *(marker = ++p);
	if (yych == 'U') goto yy545;
	if (yych == 'u') goto yy545;
	goto yy494;
yy520:
	yych = *(marker = ++p);
	if (yych == 'M') goto yy530;
	if (yych == 'm') goto yy530;
	goto yy494;
yy521:
	yych = *++p;
	goto yy494;
yy522:
	yych = *++p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0xBF) goto yy521;
yy523:
	p = marker;
	goto yy494;
yy524:
	yych = *++p;
	if (yych <= 0x9F) goto yy523;
	if (yych <= 0xBF) goto yy522;
	goto yy523;
yy525:
	yych = *++p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0xBF) goto yy522;
	goto yy523;
yy526:
	yych = *++p;
	if (yych <= 0x8F) goto yy523;
	if (yych <= 0xBF) goto yy525;
	goto yy523;
yy527:
	yych = *++p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0xBF) goto yy525;
	goto yy523;
yy528:
	yych = *++p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0x8F) goto yy525;
	goto yy523;
yy529:
	yych = *++p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0x9F) goto yy522;
	goto yy523;
yy530:
	yych = *++p;
	if (yych == 'S') goto yy531;
	if (yych != 's') goto yy523;
yy531:
	yych = *++p;
	if (yych == 'G') goto yy532;
	if (yych != 'g') goto yy523;
yy532:
	yych = *++p;
	if (yych == 'R') goto yy533;
	if (yych != 'r') goto yy523;
yy533:
	yych = *++p;
	if (yych != ':') goto yy523;
yy534:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy534;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '<') goto yy523;
			if (yych <= '>') goto yy543;
			goto yy523;
		} else {
			if (yych <= 0xDF) goto yy536;
			if (yych <= 0xE0) goto yy537;
			goto yy538;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy542;
			if (yych <= 0xEF) goto yy538;
			goto yy539;
		} else {
			if (yych <= 0xF3) goto yy540;
			if (yych <= 0xF4) goto yy541;
			goto yy523;
		}
	}
yy536:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0xBF) goto yy534;
	goto yy523;
yy537:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy523;
	if (yych <= 0xBF) goto yy536;
	goto yy523;
yy538:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0xBF) goto yy536;
	goto yy523;
yy539:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy523;
	if (yych <= 0xBF) goto yy538;
	goto yy523;
yy540:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0xBF) goto yy538;
	goto yy523;
yy541:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0x8F) goto yy538;
	goto yy523;
yy542:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy523;
	if (yych <= 0x9F) goto yy536;
	goto yy523;
yy543:
	++p;
	{ return (bufsize_t)(p - start); }
yy545:
	yych = *++p;
	if (yych == 'E') goto yy546;
	if (yych != 'e') goto yy523;
yy546:
	yych = *++p;
	if (yych == 'R') goto yy547;
	if (yych != 'r') goto yy523;
yy547:
	yych = *++p;
	if (yych == 'Y') goto yy533;
	if (yych == 'y') goto yy533;
	goto yy523;
yy548:
	yych = *++p;
	if (yych == 'Y') goto yy549;
	if (yych != 'y') goto yy523;
yy549:
	yych = *++p;
	if (yych == 'P') goto yy550;
	if (yych != 'p') goto yy523;
yy550:
	yych = *++p;
	if (yych == 'A') goto yy551;
	if (yych != 'a') goto yy523;
yy551:
	yych = *++p;
	if (yych == 'R') goto yy552;
	if (yych != 'r') goto yy523;
yy552:
	yych = *++p;
	if (yych == 'C') goto yy533;
	if (yych == 'c') goto yy533;
	goto yy523;
yy553:
	yych = *++p;
	if (yych != '2') goto yy523;
	yych = *++p;
	if (yych == 'K') goto yy533;
	if (yych == 'k') goto yy533;
	goto yy523;
yy555:
	yych = *++p;
	if (yych == 'L') goto yy566;
	if (yych == 'l') goto yy566;
	goto yy523;
yy556:
	yych = *++p;
	if (yych == 'T') goto yy562;
	if (yych == 't') goto yy562;
	goto yy523;
yy557:
	yych = *++p;
	if (yych == 'S') goto yy558;
	if (yych != 's') goto yy523;
yy558:
	yych = *++p;
	if (yych == 'H') goto yy559;
	if (yych != 'h') goto yy523;
yy559:
	yych = *++p;
	if (yych == 'A') goto yy560;
	if (yych != 'a') goto yy523;
yy560:
	yych = *++p;
	if (yych == 'R') goto yy561;
	if (yych != 'r') goto yy523;
yy561:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy562:
	yych = *++p;
	if (yych == 'C') goto yy563;
	if (yych != 'c') goto yy523;
yy563:
	yych = *++p;
	if (yych == 'O') goto yy564;
	if (yych != 'o') goto yy523;
yy564:
	yych = *++p;
	if (yych == 'I') goto yy565;
	if (yych != 'i') goto yy523;
yy565:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy566:
	yych = *++p;
	if (yych == 'O') goto yy533;
	if (yych == 'o') goto yy533;
	goto yy523;
yy567:
	yych = *++p;
	if (yych != '9') goto yy523;
	yych = *++p;
	if (yych != '.') goto yy523;
	yych = *++p;
	if (yych != '5') goto yy523;
	yych = *++p;
	if (yych != '0') goto yy523;
	yych = *++p;
	if (yych <= 'Q') goto yy523;
	if (yych <= 'S') goto yy533;
	if (yych <= 'q') goto yy523;
	if (yych <= 's') goto yy533;
	goto yy523;
yy572:
	yych = *++p;
	if (yych == 'I') goto yy533;
	if (yych == 'i') goto yy533;
	goto yy523;
yy573:
	yych = *++p;
	if (yych == 'I') goto yy594;
	if (yych == 'i') goto yy594;
	goto yy523;
yy574:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy584;
		if (yych <= 'O') goto yy523;
		goto yy585;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy523;
			goto yy584;
		} else {
			if (yych == 'p') goto yy585;
			goto yy523;
		}
	}
yy575:
	yych = *++p;
	if (yych == 'O') goto yy576;
	if (yych != 'o') goto yy523;
yy576:
	yych = *++p;
	if (yych == 'N') goto yy577;
	if (yych != 'n') goto yy523;
yy577:
	yych = *++p;
	if (yych == '-') goto yy578;
	if (yych == ':') goto yy534;
	goto yy523;
yy578:
	yych = *++p;
	if (yych == 'U') goto yy579;
	if (yych != 'u') goto yy523;
yy579:
	yych = *++p;
	if (yych == 'S') goto yy580;
	if (yych != 's') goto yy523;
yy580:
	yych = *++p;
	if (yych == 'E') goto yy581;
	if (yych != 'e') goto yy523;
yy581:
	yych = *++p;
	if (yych == 'R') goto yy582;
	if (yych != 'r') goto yy523;
yy582:
	yych = *++p;
	if (yych == 'I') goto yy583;
	if (yych != 'i') goto yy523;
yy583:
	yych = *++p;
	if (yych == 'D') goto yy533;
	if (yych == 'd') goto yy533;
	goto yy523;
yy584:
	yych = *++p;
	if (yych == 'R') goto yy586;
	if (yych == 'r') goto yy586;
	goto yy523;
yy585:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy586:
	yych = *++p;
	if (yych == 'P') goto yy587;
	if (yych != 'p') goto yy523;
yy587:
	yych = *++p;
	if (yych == 'C') goto yy588;
	if (yych != 'c') goto yy523;
yy588:
	yych = *++p;
	if (yych != '.') goto yy523;
	yych = *++p;
	if (yych == 'B') goto yy590;
	if (yych != 'b') goto yy523;
yy590:
	yych = *++p;
	if (yych == 'E') goto yy591;
	if (yych != 'e') goto yy523;
yy591:
	yych = *++p;
	if (yych == 'E') goto yy592;
	if (yych != 'e') goto yy523;
yy592:
	yych = *++p;
	if (yych == 'P') goto yy593;
	if (yych != 'p') goto yy523;
yy593:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy594:
	yych = *++p;
	if (yych == 'R') goto yy595;
	if (yych != 'r') goto yy523;
yy595:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy596:
	yych = *++p;
	if (yych == 'C') goto yy604;
	if (yych == 'c') goto yy604;
	goto yy523;
yy597:
	yych = *++p;
	if (yych == 'A') goto yy603;
	if (yych == 'a') goto yy603;
	goto yy523;
yy598:
	yych = *++p;
	if (yych == 'B') goto yy600;
	if (yych == 'b') goto yy600;
	goto yy523;
yy599:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy600:
	yych = *++p;
	if (yych == 'C') goto yy601;
	if (yych != 'c') goto yy523;
yy601:
	yych = *++p;
	if (yych == 'A') goto yy602;
	if (yych != 'a') goto yy523;
yy602:
	yych = *++p;
	if (yych == 'L') goto yy533;
	if (yych == 'l') goto yy533;
	goto yy523;
yy603:
	yych = *++p;
	if (yych == 'I') goto yy533;
	if (yych == 'i') goto yy533;
	goto yy523;
yy604:
	yych = *++p;
	if (yych == 'I') goto yy605;
	if (yych != 'i') goto yy523;
yy605:
	yych = *++p;
	if (yych == 'W') goto yy606;
	if (yych != 'w') goto yy523;
yy606:
	yych = *++p;
	if (yych == 'Y') goto yy607;
	if (yych != 'y') goto yy523;
yy607:
	yych = *++p;
	if (yych == 'G') goto yy533;
	if (yych == 'g') goto yy533;
	goto yy523;
yy608:
	yych = *++p;
	if (yych == 'E') goto yy617;
	if (yych == 'e') goto yy617;
	goto yy523;
yy609:
	yych = *++p;
	if (yych <= 'N') {
		if (yych <= 'L') goto yy523;
		if (yych >= 'N') goto yy611;
	} else {
		if (yych <= 'l') goto yy523;
		if (yych <= 'm') goto yy610;
		if (yych <= 'n') goto yy611;
		goto yy523;
	}
yy610:
	yych = *++p;
	if (yych == 'M') goto yy616;
	if (yych == 'm') goto yy616;
	goto yy523;
yy611:
	yych = *++p;
	if (yych == 'T') goto yy612;
	if (yych != 't') goto yy523;
yy612:
	yych = *++p;
	if (yych == 'R') goto yy613;
	if (yych != 'r') goto yy523;
yy613:
	yych = *++p;
	if (yych == 'I') goto yy614;
	if (yych != 'i') goto yy523;
yy614:
	yych = *++p;
	if (yych == 'L') goto yy615;
	if (yych != 'l') goto yy523;
yy615:
	yych = *++p;
	if (yych == 'O') goto yy533;
	if (yych == 'o') goto yy533;
	goto yy523;
yy616:
	yych = *++p;
	if (yych == 'I') goto yy533;
	if (yych == 'i') goto yy533;
	goto yy523;
yy617:
	yych = *++p;
	if (yych == 'W') goto yy618;
	if (yych != 'w') goto yy523;
yy618:
	yych = *++p;
	if (yych != '-') goto yy523;
	yych = *++p;
	if (yych == 'S') goto yy620;
	if (yych != 's') goto yy523;
yy620:
	yych = *++p;
	if (yych == 'O') goto yy621;
	if (yych != 'o') goto yy523;
yy621:
	yych = *++p;
	if (yych == 'U') goto yy622;
	if (yych != 'u') goto yy523;
yy622:
	yych = *++p;
	if (yych == 'R') goto yy623;
	if (yych != 'r') goto yy523;
yy623:
	yych = *++p;
	if (yych == 'C') goto yy624;
	if (yych != 'c') goto yy523;
yy624:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy625:
	yych = *++p;
	if (yych == '2') goto yy632;
	goto yy523;
yy626:
	yych = *++p;
	if (yych == 'R') goto yy629;
	if (yych == 'r') goto yy629;
	goto yy523;
yy627:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy628:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy629:
	yych = *++p;
	if (yych == 'E') goto yy630;
	if (yych != 'e') goto yy523;
yy630:
	yych = *++p;
	if (yych == 'A') goto yy631;
	if (yych != 'a') goto yy523;
yy631:
	yych = *++p;
	if (yych == 'L') goto yy533;
	if (yych == 'l') goto yy533;
	goto yy523;
yy632:
	yych = *++p;
	if (yych != '0') goto yy523;
	yych = *++p;
	if (yych != '0') goto yy523;
	yych = *++p;
	if (yych == '4') goto yy533;
	goto yy523;
yy635:
	yych = *++p;
	if (yych == 'I') goto yy654;
	if (yych == 'i') goto yy654;
	goto yy523;
yy636:
	yych = *++p;
	if (yych <= 'L') {
		if (yych == 'A') goto yy646;
		if (yych <= 'K') goto yy523;
		goto yy645;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy523;
			goto yy646;
		} else {
			if (yych == 'l') goto yy645;
			goto yy523;
		}
	}
yy637:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy638:
	yych = *++p;
	if (yych == '3') goto yy642;
	goto yy523;
yy639:
	yych = *++p;
	if (yych == 'T') goto yy641;
	if (yych == 't') goto yy641;
	goto yy523;
yy640:
	yych = *++p;
	if (yych == 'G') goto yy533;
	if (yych == 'g') goto yy533;
	goto yy523;
yy641:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy642:
	yych = *++p;
	if (yych != '2') goto yy523;
	yych = *++p;
	if (yych != '7') goto yy523;
	yych = *++p;
	if (yych == '0') goto yy533;
	goto yy523;
yy645:
	yych = *++p;
	if (yych <= 'M') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'N') goto yy652;
		if (yych == 'n') goto yy652;
		goto yy523;
	}
yy646:
	yych = *++p;
	if (yych == 'M') goto yy647;
	if (yych != 'm') goto yy523;
yy647:
	yych = *++p;
	if (yych == 'S') goto yy648;
	if (yych != 's') goto yy523;
yy648:
	yych = *++p;
	if (yych == 'P') goto yy649;
	if (yych != 'p') goto yy523;
yy649:
	yych = *++p;
	if (yych == 'E') goto yy650;
	if (yych != 'e') goto yy523;
yy650:
	yych = *++p;
	if (yych == 'A') goto yy651;
	if (yych != 'a') goto yy523;
yy651:
	yych = *++p;
	if (yych == 'K') goto yy533;
	if (yych == 'k') goto yy533;
	goto yy523;
yy652:
	yych = *++p;
	if (yych == 'E') goto yy653;
	if (yych != 'e') goto yy523;
yy653:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy654:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'N') goto yy655;
		if (yych <= 'R') goto yy523;
		goto yy656;
	} else {
		if (yych <= 'n') {
			if (yych <= 'm') goto yy523;
		} else {
			if (yych == 's') goto yy656;
			goto yy523;
		}
	}
yy655:
	yych = *++p;
	if (yych == 'G') goto yy663;
	if (yych == 'g') goto yy663;
	goto yy523;
yy656:
	yych = *++p;
	if (yych == 'M') goto yy657;
	if (yych != 'm') goto yy523;
yy657:
	yych = *++p;
	if (yych == 'E') goto yy658;
	if (yych != 'e') goto yy523;
yy658:
	yych = *++p;
	if (yych == 'S') goto yy659;
	if (yych != 's') goto yy523;
yy659:
	yych = *++p;
	if (yych == 'S') goto yy660;
	if (yych != 's') goto yy523;
yy660:
	yych = *++p;
	if (yych == 'A') goto yy661;
	if (yych != 'a') goto yy523;
yy661:
	yych = *++p;
	if (yych == 'G') goto yy662;
	if (yych != 'g') goto yy523;
yy662:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy663:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy664:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy665:
	yych = *++p;
	if (yych == 'E') goto yy715;
	if (yych == 'e') goto yy715;
	goto yy523;
yy666:
	yych = *++p;
	if (yych == 'H') goto yy533;
	if (yych == 'h') goto yy533;
	goto yy523;
yy667:
	yych = *++p;
	if (yych == 'O') goto yy711;
	if (yych == 'o') goto yy711;
	goto yy523;
yy668:
	yych = *++p;
	if (yych <= 'L') {
		if (yych == 'A') goto yy701;
		if (yych <= 'K') goto yy523;
		goto yy702;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy523;
			goto yy701;
		} else {
			if (yych == 'l') goto yy702;
			goto yy523;
		}
	}
yy669:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'B') goto yy533;
		if (yych <= 'R') goto yy523;
		goto yy533;
	} else {
		if (yych <= 'b') {
			if (yych <= 'a') goto yy523;
			goto yy533;
		} else {
			if (yych == 's') goto yy533;
			goto yy523;
		}
	}
yy670:
	yych = *++p;
	if (yych == 'Y') goto yy699;
	if (yych == 'y') goto yy699;
	goto yy523;
yy671:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy672:
	yych = *++p;
	if (yych == 'T') goto yy698;
	if (yych == 't') goto yy698;
	goto yy523;
yy673:
	yych = *++p;
	if (yych <= 'S') {
		if (yych <= 'C') {
			if (yych <= 'B') goto yy523;
			goto yy685;
		} else {
			if (yych <= 'Q') goto yy523;
			if (yych <= 'R') goto yy683;
			goto yy684;
		}
	} else {
		if (yych <= 'q') {
			if (yych == 'c') goto yy685;
			goto yy523;
		} else {
			if (yych <= 'r') goto yy683;
			if (yych <= 's') goto yy684;
			goto yy523;
		}
	}
yy674:
	yych = *++p;
	if (yych == 'M') goto yy682;
	if (yych == 'm') goto yy682;
	goto yy523;
yy675:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'E') goto yy679;
		if (yych <= 'O') goto yy523;
		goto yy680;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy523;
			goto yy679;
		} else {
			if (yych == 'p') goto yy680;
			goto yy523;
		}
	}
yy676:
	yych = *++p;
	if (yych == 'T') goto yy677;
	if (yych != 't') goto yy523;
yy677:
	yych = *++p;
	if (yych == 'T') goto yy678;
	if (yych != 't') goto yy523;
yy678:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy679:
	yych = *++p;
	if (yych == 'V') goto yy681;
	if (yych == 'v') goto yy681;
	goto yy523;
yy680:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy681:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy682:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy683:
	yych = *++p;
	if (yych == 'V') goto yy695;
	if (yych == 'v') goto yy695;
	goto yy523;
yy684:
	yych = *++p;
	if (yych == 'S') goto yy692;
	if (yych == 's') goto yy692;
	goto yy523;
yy685:
	yych = *++p;
	if (yych == 'O') goto yy686;
	if (yych != 'o') goto yy523;
yy686:
	yych = *++p;
	if (yych == 'N') goto yy687;
	if (yych != 'n') goto yy523;
yy687:
	yych = *++p;
	if (yych == 'D') goto yy688;
	if (yych != 'd') goto yy523;
yy688:
	yych = *++p;
	if (yych == 'L') goto yy689;
	if (yych != 'l') goto yy523;
yy689:
	yych = *++p;
	if (yych == 'I') goto yy690;
	if (yych != 'i') goto yy523;
yy690:
	yych = *++p;
	if (yych == 'F') goto yy691;
	if (yych != 'f') goto yy523;
yy691:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy692:
	yych = *++p;
	if (yych == 'I') goto yy693;
	if (yych != 'i') goto yy523;
yy693:
	yych = *++p;
	if (yych == 'O') goto yy694;
	if (yych != 'o') goto yy523;
yy694:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy695:
	yych = *++p;
	if (yych == 'I') goto yy696;
	if (yych != 'i') goto yy523;
yy696:
	yych = *++p;
	if (yych == 'C') goto yy697;
	if (yych != 'c') goto yy523;
yy697:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy698:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy699:
	yych = *++p;
	if (yych == 'P') goto yy700;
	if (yych != 'p') goto yy523;
yy700:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy701:
	yych = *++p;
	if (yych == 'P') goto yy705;
	if (yych == 'p') goto yy705;
	goto yy523;
yy702:
	yych = *++p;
	if (yych == 'D') goto yy703;
	if (yych != 'd') goto yy523;
yy703:
	yych = *++p;
	if (yych == 'A') goto yy704;
	if (yych != 'a') goto yy523;
yy704:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy705:
	yych = *++p;
	if (yych != '.') goto yy523;
	yych = *++p;
	if (yych == 'B') goto yy707;
	if (yych != 'b') goto yy523;
yy707:
	yych = *++p;
	if (yych == 'E') goto yy708;
	if (yych != 'e') goto yy523;
yy708:
	yych = *++p;
	if (yych == 'E') goto yy709;
	if (yych != 'e') goto yy523;
yy709:
	yych = *++p;
	if (yych == 'P') goto yy710;
	if (yych != 'p') goto yy523;
yy710:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy711:
	yych = *++p;
	if (yych == 'T') goto yy712;
	if (yych != 't') goto yy523;
yy712:
	yych = *++p;
	if (yych == 'I') goto yy713;
	if (yych != 'i') goto yy523;
yy713:
	yych = *++p;
	if (yych == 'F') goto yy714;
	if (yych != 'f') goto yy523;
yy714:
	yych = *++p;
	if (yych == 'Y') goto yy533;
	if (yych == 'y') goto yy533;
	goto yy523;
yy715:
	yych = *++p;
	if (yych == 'A') goto yy716;
	if (yych != 'a') goto yy523;
yy716:
	yych = *++p;
	if (yych == 'M') goto yy533;
	if (yych == 'm') goto yy533;
	goto yy523;
yy717:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'M') goto yy729;
		if (yych <= 'R') goto yy523;
		goto yy728;
	} else {
		if (yych <= 'm') {
			if (yych <= 'l') goto yy523;
			goto yy729;
		} else {
			if (yych == 's') goto yy728;
			goto yy523;
		}
	}
yy718:
	yych = *++p;
	if (yych == 'Y') goto yy726;
	if (yych == 'y') goto yy726;
	goto yy523;
yy719:
	yych = *++p;
	if (yych == 'I') goto yy533;
	if (yych == 'i') goto yy533;
	goto yy523;
yy720:
	yych = *++p;
	if (yych == 'S') goto yy721;
	if (yych != 's') goto yy523;
yy721:
	yych = *++p;
	if (yych <= 'N') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'O') goto yy722;
		if (yych != 'o') goto yy523;
	}
yy722:
	yych = *++p;
	if (yych == 'U') goto yy723;
	if (yych != 'u') goto yy523;
yy723:
	yych = *++p;
	if (yych == 'R') goto yy724;
	if (yych != 'r') goto yy523;
yy724:
	yych = *++p;
	if (yych == 'C') goto yy725;
	if (yych != 'c') goto yy523;
yy725:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy726:
	yych = *++p;
	if (yych == 'N') goto yy727;
	if (yych != 'n') goto yy523;
yy727:
	yych = *++p;
	if (yych == 'C') goto yy533;
	if (yych == 'c') goto yy533;
	goto yy523;
yy728:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy729:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy730:
	yych = *++p;
	if (yych == 'Y') goto yy750;
	if (yych == 'y') goto yy750;
	goto yy523;
yy731:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == 'E') goto yy747;
		if (yych <= 'N') goto yy523;
		goto yy748;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy523;
			goto yy747;
		} else {
			if (yych == 'o') goto yy748;
			goto yy523;
		}
	}
yy732:
	yych = *++p;
	if (yych == 'A') goto yy742;
	if (yych == 'a') goto yy742;
	goto yy523;
yy733:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy735;
		if (yych <= 'O') goto yy523;
		goto yy736;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy523;
			goto yy735;
		} else {
			if (yych == 'p') goto yy736;
			goto yy523;
		}
	}
yy734:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy735:
	yych = *++p;
	if (yych == 'M') goto yy533;
	if (yych == 'm') goto yy533;
	goto yy523;
yy736:
	yych = *++p;
	if (yych == 'A') goto yy737;
	if (yych != 'a') goto yy523;
yy737:
	yych = *++p;
	if (yych == 'R') goto yy738;
	if (yych != 'r') goto yy523;
yy738:
	yych = *++p;
	if (yych == 'A') goto yy739;
	if (yych != 'a') goto yy523;
yy739:
	yych = *++p;
	if (yych == 'Z') goto yy740;
	if (yych != 'z') goto yy523;
yy740:
	yych = *++p;
	if (yych == 'Z') goto yy741;
	if (yych != 'z') goto yy523;
yy741:
	yych = *++p;
	if (yych == 'I') goto yy533;
	if (yych == 'i') goto yy533;
	goto yy523;
yy742:
	yych = *++p;
	if (yych == 'T') goto yy743;
	if (yych != 't') goto yy523;
yy743:
	yych = *++p;
	if (yych == 'F') goto yy744;
	if (yych != 'f') goto yy523;
yy744:
	yych = *++p;
	if (yych == 'O') goto yy745;
	if (yych != 'o') goto yy523;
yy745:
	yych = *++p;
	if (yych == 'R') goto yy746;
	if (yych != 'r') goto yy523;
yy746:
	yych = *++p;
	if (yych == 'M') goto yy533;
	if (yych == 'm') goto yy533;
	goto yy523;
yy747:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy748:
	yych = *++p;
	if (yych == 'X') goto yy749;
	if (yych != 'x') goto yy523;
yy749:
	yych = *++p;
	if (yych == 'Y') goto yy533;
	if (yych == 'y') goto yy533;
	goto yy523;
yy750:
	yych = *++p;
	if (yych == 'C') goto yy533;
	if (yych == 'c') goto yy533;
	goto yy523;
yy751:
	yych = *++p;
	if (yych == 'D') goto yy533;
	if (yych == 'd') goto yy533;
	goto yy523;
yy752:
	yych = *++p;
	if (yych == 'A') goto yy753;
	if (yych != 'a') goto yy523;
yy753:
	yych = *++p;
	if (yych == 'Q') goto yy754;
	if (yych != 'q') goto yy523;
yy754:
	yych = *++p;
	if (yych == 'U') goto yy755;
	if (yych != 'u') goto yy523;
yy755:
	yych = *++p;
	if (yych == 'E') goto yy756;
	if (yych != 'e') goto yy523;
yy756:
	yych = *++p;
	if (yych == 'L') goto yy757;
	if (yych != 'l') goto yy523;
yy757:
	yych = *++p;
	if (yych == 'O') goto yy758;
	if (yych != 'o') goto yy523;
yy758:
	yych = *++p;
	if (yych == 'C') goto yy759;
	if (yych != 'c') goto yy523;
yy759:
	yych = *++p;
	if (yych == 'K') goto yy760;
	if (yych != 'k') goto yy523;
yy760:
	yych = *++p;
	if (yych == 'T') goto yy761;
	if (yych != 't') goto yy523;
yy761:
	yych = *++p;
	if (yych == 'O') goto yy762;
	if (yych != 'o') goto yy523;
yy762:
	yych = *++p;
	if (yych == 'K') goto yy763;
	if (yych != 'k') goto yy523;
yy763:
	yych = *++p;
	if (yych == 'E') goto yy764;
	if (yych != 'e') goto yy523;
yy764:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy765:
	yych = *++p;
	if (yych == 'T') goto yy772;
	if (yych == 't') goto yy772;
	goto yy523;
yy766:
	yych = *++p;
	if (yych == 'T') goto yy771;
	if (yych == 't') goto yy771;
	goto yy523;
yy767:
	yych = *++p;
	if (yych <= 'G') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'H') goto yy533;
		if (yych == 'h') goto yy533;
		goto yy523;
	}
yy768:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy769:
	yych = *++p;
	if (yych == 'W') goto yy770;
	if (yych != 'w') goto yy523;
yy770:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy771:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy772:
	yych = *++p;
	if (yych == 'E') goto yy773;
	if (yych != 'e') goto yy523;
yy773:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy774:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy775:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'M') goto yy806;
		if (yych <= 'O') goto yy523;
		goto yy805;
	} else {
		if (yych <= 'm') {
			if (yych <= 'l') goto yy523;
			goto yy806;
		} else {
			if (yych == 'p') goto yy805;
			goto yy523;
		}
	}
yy776:
	yych = *++p;
	if (yych <= 'Q') {
		if (yych <= '-') {
			if (yych <= ',') goto yy523;
			goto yy798;
		} else {
			if (yych == 'N') goto yy799;
			goto yy523;
		}
	} else {
		if (yych <= 'n') {
			if (yych <= 'R') goto yy797;
			if (yych <= 'm') goto yy523;
			goto yy799;
		} else {
			if (yych == 'r') goto yy797;
			goto yy523;
		}
	}
yy777:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy778:
	yych = *++p;
	if (yych == 'S') goto yy793;
	if (yych == 's') goto yy793;
	goto yy523;
yy779:
	yych = *++p;
	switch (yych) {
	case 'G':
	case 'g':	goto yy784;
	case 'I':
	case 'i':	goto yy783;
	case 'P':
	case 'p':	goto yy785;
	case 'R':
	case 'r':	goto yy786;
	default:	goto yy523;
	}
yy780:
	yych = *++p;
	if (yych == 'Q') goto yy782;
	if (yych == 'q') goto yy782;
	goto yy523;
yy781:
	yych = *++p;
	if (yych == 'D') goto yy533;
	if (yych == 'd') goto yy533;
	goto yy523;
yy782:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy783:
	yych = *++p;
	if (yych == 'L') goto yy791;
	if (yych == 'l') goto yy791;
	goto yy523;
yy784:
	yych = *++p;
	if (yych == 'N') goto yy789;
	if (yych == 'n') goto yy789;
	goto yy523;
yy785:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy786:
	yych = *++p;
	if (yych == 'K') goto yy787;
	if (yych != 'k') goto yy523;
yy787:
	yych = *++p;
	if (yych == 'E') goto yy788;
	if (yych != 'e') goto yy523;
yy788:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy789:
	yych = *++p;
	if (yych == 'E') goto yy790;
	if (yych != 'e') goto yy523;
yy790:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy791:
	yych = *++p;
	if (yych == 'T') goto yy792;
	if (yych != 't') goto yy523;
yy792:
	yych = *++p;
	if (yych == 'O') goto yy533;
	if (yych == 'o') goto yy533;
	goto yy523;
yy793:
	yych = *++p;
	if (yych == 'S') goto yy794;
	if (yych != 's') goto yy523;
yy794:
	yych = *++p;
	if (yych == 'A') goto yy795;
	if (yych != 'a') goto yy523;
yy795:
	yych = *++p;
	if (yych == 'G') goto yy796;
	if (yych != 'g') goto yy523;
yy796:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy797:
	yych = *++p;
	if (yych == 'P') goto yy804;
	if (yych == 'p') goto yy804;
	goto yy523;
yy798:
	yych = *++p;
	if (yych == 'H') goto yy801;
	if (yych == 'h') goto yy801;
	goto yy523;
yy799:
	yych = *++p;
	if (yych == 'I') goto yy800;
	if (yych != 'i') goto yy523;
yy800:
	yych = *++p;
	if (yych == 'M') goto yy533;
	if (yych == 'm') goto yy533;
	goto yy523;
yy801:
	yych = *++p;
	if (yych == 'E') goto yy802;
	if (yych != 'e') goto yy523;
yy802:
	yych = *++p;
	if (yych == 'L') goto yy803;
	if (yych != 'l') goto yy523;
yy803:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy804:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy805:
	yych = *++p;
	if (yych == 'D') goto yy809;
	if (yych == 'd') goto yy809;
	goto yy523;
yy806:
	yych = *++p;
	if (yych == 'B') goto yy807;
	if (yych != 'b') goto yy523;
yy807:
	yych = *++p;
	if (yych == 'L') goto yy808;
	if (yych != 'l') goto yy523;
yy808:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy809:
	yych = *++p;
	if (yych == 'A') goto yy810;
	if (yych != 'a') goto yy523;
yy810:
	yych = *++p;
	if (yych == 'T') goto yy811;
	if (yych != 't') goto yy523;
yy811:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy812:
	yych = *++p;
	if (yych == 'A') goto yy817;
	if (yych == 'a') goto yy817;
	goto yy523;
yy813:
	yych = *++p;
	if (yych == 'S') goto yy814;
	if (yych != 's') goto yy523;
yy814:
	yych = *++p;
	if (yych == 'T') goto yy815;
	if (yych != 't') goto yy523;
yy815:
	yych = *++p;
	if (yych == 'F') goto yy816;
	if (yych != 'f') goto yy523;
yy816:
	yych = *++p;
	if (yych == 'M') goto yy533;
	if (yych == 'm') goto yy533;
	goto yy523;
yy817:
	yych = *++p;
	if (yych == 'P') goto yy818;
	if (yych != 'p') goto yy523;
yy818:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy819:
	yych = *++p;
	if (yych == 'M') goto yy842;
	if (yych == 'm') goto yy842;
	goto yy523;
yy820:
	yych = *++p;
	if (yych <= 'I') {
		if (yych == 'C') goto yy831;
		if (yych <= 'H') goto yy523;
		goto yy830;
	} else {
		if (yych <= 'c') {
			if (yych <= 'b') goto yy523;
			goto yy831;
		} else {
			if (yych == 'i') goto yy830;
			goto yy523;
		}
	}
yy821:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'N') goto yy533;
		if (yych <= 'O') goto yy523;
		goto yy533;
	} else {
		if (yych <= 'n') {
			if (yych <= 'm') goto yy523;
			goto yy533;
		} else {
			if (yych == 'p') goto yy533;
			goto yy523;
		}
	}
yy822:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == 'A') goto yy828;
		if (yych <= 'N') goto yy523;
		goto yy829;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy523;
			goto yy828;
		} else {
			if (yych == 'o') goto yy829;
			goto yy523;
		}
	}
yy823:
	yych = *++p;
	if (yych == 'F') goto yy827;
	if (yych == 'f') goto yy827;
	goto yy523;
yy824:
	yych = *++p;
	if (yych <= '@') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'A') goto yy826;
		if (yych == 'a') goto yy826;
		goto yy523;
	}
yy825:
	yych = *++p;
	if (yych == 'X') goto yy533;
	if (yych == 'x') goto yy533;
	goto yy523;
yy826:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy827:
	yych = *++p;
	if (yych == 'O') goto yy533;
	if (yych == 'o') goto yy533;
	goto yy523;
yy828:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy829:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy830:
	yych = *++p;
	if (yych == 'S') goto yy832;
	if (yych == 's') goto yy832;
	goto yy523;
yy831:
	yych = *++p;
	if (yych <= ':') {
		if (yych == '6') goto yy533;
		if (yych <= '9') goto yy523;
		goto yy534;
	} else {
		if (yych <= 'S') {
			if (yych <= 'R') goto yy523;
			goto yy533;
		} else {
			if (yych == 's') goto yy533;
			goto yy523;
		}
	}
yy832:
	yych = *++p;
	if (yych == '.') goto yy833;
	if (yych == ':') goto yy534;
	goto yy523;
yy833:
	yych = *++p;
	if (yych <= 'X') {
		if (yych <= 'K') {
			if (yych == 'B') goto yy836;
			goto yy523;
		} else {
			if (yych <= 'L') goto yy834;
			if (yych <= 'W') goto yy523;
			goto yy835;
		}
	} else {
		if (yych <= 'k') {
			if (yych == 'b') goto yy836;
			goto yy523;
		} else {
			if (yych <= 'l') goto yy834;
			if (yych == 'x') goto yy835;
			goto yy523;
		}
	}
yy834:
	yych = *++p;
	if (yych == 'W') goto yy841;
	if (yych == 'w') goto yy841;
	goto yy523;
yy835:
	yych = *++p;
	if (yych == 'P') goto yy839;
	if (yych == 'p') goto yy839;
	goto yy523;
yy836:
	yych = *++p;
	if (yych == 'E') goto yy837;
	if (yych != 'e') goto yy523;
yy837:
	yych = *++p;
	if (yych == 'E') goto yy838;
	if (yych != 'e') goto yy523;
yy838:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy839:
	yych = *++p;
	if (yych == 'C') goto yy840;
	if (yych != 'c') goto yy523;
yy840:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy841:
	yych = *++p;
	if (yych == 'Z') goto yy533;
	if (yych == 'z') goto yy533;
	goto yy523;
yy842:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy843:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy844:
	yych = *++p;
	if (yych == 'T') goto yy847;
	if (yych == 't') goto yy847;
	goto yy523;
yy845:
	yych = *++p;
	if (yych != '2') goto yy523;
	yych = *++p;
	if (yych == '3') goto yy533;
	goto yy523;
yy847:
	yych = *++p;
	if (yych == 'P') goto yy848;
	if (yych != 'p') goto yy523;
yy848:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy849:
	yych = *++p;
	if (yych == 'A') goto yy865;
	if (yych == 'a') goto yy865;
	goto yy523;
yy850:
	yych = *++p;
	if (yych <= 'Z') {
		if (yych == 'T') goto yy533;
		if (yych <= 'Y') goto yy523;
		goto yy856;
	} else {
		if (yych <= 't') {
			if (yych <= 's') goto yy523;
			goto yy533;
		} else {
			if (yych == 'z') goto yy856;
			goto yy523;
		}
	}
yy851:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'P') goto yy853;
		if (yych == 'p') goto yy853;
		goto yy523;
	}
yy852:
	yych = *++p;
	if (yych == 'O') goto yy533;
	if (yych == 'o') goto yy533;
	goto yy523;
yy853:
	yych = *++p;
	if (yych == 'H') goto yy854;
	if (yych != 'h') goto yy523;
yy854:
	yych = *++p;
	if (yych == 'E') goto yy855;
	if (yych != 'e') goto yy523;
yy855:
	yych = *++p;
	if (yych == 'R') goto yy533;
	if (yych == 'r') goto yy533;
	goto yy523;
yy856:
	yych = *++p;
	if (yych == 'M') goto yy857;
	if (yych != 'm') goto yy523;
yy857:
	yych = *++p;
	if (yych == 'O') goto yy858;
	if (yych != 'o') goto yy523;
yy858:
	yych = *++p;
	if (yych == 'P') goto yy859;
	if (yych != 'p') goto yy523;
yy859:
	yych = *++p;
	if (yych == 'R') goto yy860;
	if (yych != 'r') goto yy523;
yy860:
	yych = *++p;
	if (yych == 'O') goto yy861;
	if (yych != 'o') goto yy523;
yy861:
	yych = *++p;
	if (yych == 'J') goto yy862;
	if (yych != 'j') goto yy523;
yy862:
	yych = *++p;
	if (yych == 'E') goto yy863;
	if (yych != 'e') goto yy523;
yy863:
	yych = *++p;
	if (yych == 'C') goto yy864;
	if (yych != 'c') goto yy523;
yy864:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy865:
	yych = *++p;
	if (yych == 'L') goto yy866;
	if (yych != 'l') goto yy523;
yy866:
	yych = *++p;
	if (yych == 'K') goto yy533;
	if (yych == 'k') goto yy533;
	goto yy523;
yy867:
	yych = *++p;
	if (yych <= 'S') {
		if (yych <= 'M') {
			if (yych == 'L') goto yy877;
			goto yy523;
		} else {
			if (yych <= 'N') goto yy878;
			if (yych <= 'R') goto yy523;
			goto yy879;
		}
	} else {
		if (yych <= 'm') {
			if (yych == 'l') goto yy877;
			goto yy523;
		} else {
			if (yych <= 'n') goto yy878;
			if (yych == 's') goto yy879;
			goto yy523;
		}
	}
yy868:
	yych = *++p;
	if (yych == 'E') goto yy876;
	if (yych == 'e') goto yy876;
	goto yy523;
yy869:
	yych = *++p;
	if (yych == 'C') goto yy871;
	if (yych == 'c') goto yy871;
	goto yy523;
yy870:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy871:
	yych = *++p;
	if (yych == 'E') goto yy872;
	if (yych != 'e') goto yy523;
yy872:
	yych = *++p;
	if (yych == 'T') goto yy873;
	if (yych != 't') goto yy523;
yy873:
	yych = *++p;
	if (yych == 'I') goto yy874;
	if (yych != 'i') goto yy523;
yy874:
	yych = *++p;
	if (yych == 'M') goto yy875;
	if (yych != 'm') goto yy523;
yy875:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy876:
	yych = *++p;
	if (yych == 'D') goto yy533;
	if (yych == 'd') goto yy533;
	goto yy523;
yy877:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy878:
	yych = *++p;
	if (yych == 'G') goto yy880;
	if (yych == 'g') goto yy880;
	goto yy523;
yy879:
	yych = *++p;
	if (yych == 'H') goto yy533;
	if (yych == 'h') goto yy533;
	goto yy523;
yy880:
	yych = *++p;
	if (yych == 'E') goto yy881;
	if (yych != 'e') goto yy523;
yy881:
	yych = *++p;
	if (yych == 'R') goto yy533;
	if (yych == 'r') goto yy533;
	goto yy523;
yy882:
	yych = *++p;
	if (yych == 'T') goto yy900;
	if (yych == 't') goto yy900;
	goto yy523;
yy883:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy884:
	yych = *++p;
	if (yych == 'M') goto yy533;
	if (yych == 'm') goto yy533;
	goto yy523;
yy885:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'P') goto yy533;
		if (yych <= 'R') goto yy523;
		goto yy533;
	} else {
		if (yych <= 'p') {
			if (yych <= 'o') goto yy523;
			goto yy533;
		} else {
			if (yych == 's') goto yy533;
			goto yy523;
		}
	}
yy886:
	yych = *++p;
	if (yych == 'I') goto yy894;
	if (yych == 'i') goto yy894;
	goto yy523;
yy887:
	yych = *++p;
	if (yych == 'A') goto yy893;
	if (yych == 'a') goto yy893;
	goto yy523;
yy888:
	yych = *++p;
	if (yych == 'O') goto yy891;
	if (yych == 'o') goto yy891;
	goto yy523;
yy889:
	yych = *++p;
	if (yych == 'A') goto yy890;
	if (yych != 'a') goto yy523;
yy890:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == ':') goto yy534;
		goto yy523;
	} else {
		if (yych <= 'S') goto yy533;
		if (yych == 's') goto yy533;
		goto yy523;
	}
yy891:
	yych = *++p;
	if (yych == 'U') goto yy892;
	if (yych != 'u') goto yy523;
yy892:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy893:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy894:
	yych = *++p;
	if (yych == 'U') goto yy895;
	if (yych != 'u') goto yy523;
yy895:
	yych = *++p;
	if (yych == 'M') goto yy896;
	if (yych != 'm') goto yy523;
yy896:
	yych = *++p;
	if (yych == 'X') goto yy897;
	if (yych != 'x') goto yy523;
yy897:
	yych = *++p;
	if (yych == 'T') goto yy898;
	if (yych != 't') goto yy523;
yy898:
	yych = *++p;
	if (yych == 'R') goto yy899;
	if (yych != 'r') goto yy523;
yy899:
	yych = *++p;
	if (yych == 'A') goto yy533;
	if (yych == 'a') goto yy533;
	goto yy523;
yy900:
	yych = *++p;
	if (yych == 'A') goto yy901;
	if (yych != 'a') goto yy523;
yy901:
	yych = *++p;
	if (yych == 'C') goto yy902;
	if (yych != 'c') goto yy523;
yy902:
	yych = *++p;
	if (yych == 'H') goto yy903;
	if (yych != 'h') goto yy523;
yy903:
	yych = *++p;
	if (yych == 'M') goto yy904;
	if (yych != 'm') goto yy523;
yy904:
	yych = *++p;
	if (yych == 'E') goto yy905;
	if (yych != 'e') goto yy523;
yy905:
	yych = *++p;
	if (yych == 'N') goto yy906;
	if (yych != 'n') goto yy523;
yy906:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy907:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy908:
	yych = *++p;
	if (yych <= 'V') {
		if (yych == 'R') goto yy533;
		if (yych <= 'U') goto yy523;
	} else {
		if (yych <= 'r') {
			if (yych <= 'q') goto yy523;
			goto yy533;
		} else {
			if (yych != 'v') goto yy523;
		}
	}
	yych = *++p;
	if (yych == 'A') goto yy910;
	if (yych != 'a') goto yy523;
yy910:
	yych = *++p;
	if (yych == 'S') goto yy911;
	if (yych != 's') goto yy523;
yy911:
	yych = *++p;
	if (yych == 'C') goto yy912;
	if (yych != 'c') goto yy523;
yy912:
	yych = *++p;
	if (yych == 'R') goto yy913;
	if (yych != 'r') goto yy523;
yy913:
	yych = *++p;
	if (yych == 'I') goto yy914;
	if (yych != 'i') goto yy523;
yy914:
	yych = *++p;
	if (yych == 'P') goto yy915;
	if (yych != 'p') goto yy523;
yy915:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy916:
	yych = *++p;
	if (yych == 'B') goto yy533;
	if (yych == 'b') goto yy533;
	goto yy523;
yy917:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy918:
	yych = *++p;
	if (yych == 'N') goto yy925;
	if (yych == 'n') goto yy925;
	goto yy523;
yy919:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy920:
	yych = *++p;
	if (yych == 'C') goto yy924;
	if (yych == 'c') goto yy924;
	goto yy523;
yy921:
	yych = *++p;
	if (yych <= 'V') {
		if (yych == 'T') goto yy923;
		if (yych <= 'U') goto yy523;
		goto yy533;
	} else {
		if (yych <= 't') {
			if (yych <= 's') goto yy523;
			goto yy923;
		} else {
			if (yych == 'v') goto yy533;
			goto yy523;
		}
	}
yy922:
	yych = *++p;
	if (yych == 'I') goto yy533;
	if (yych == 'i') goto yy533;
	goto yy523;
yy923:
	yych = *++p;
	if (yych == 'A') goto yy533;
	if (yych == 'a') goto yy533;
	goto yy523;
yy924:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy925:
	yych = *++p;
	if (yych == 'A') goto yy926;
	if (yych != 'a') goto yy523;
yy926:
	yych = *++p;
	if (yych != '-') goto yy523;
	yych = *++p;
	if (yych == 'P') goto yy928;
	if (yych != 'p') goto yy523;
yy928:
	yych = *++p;
	if (yych == 'L') goto yy929;
	if (yych != 'l') goto yy523;
yy929:
	yych = *++p;
	if (yych == 'A') goto yy930;
	if (yych != 'a') goto yy523;
yy930:
	yych = *++p;
	if (yych == 'Y') goto yy931;
	if (yych != 'y') goto yy523;
yy931:
	yych = *++p;
	if (yych <= 'S') {
		if (yych == 'C') goto yy932;
		if (yych <= 'R') goto yy523;
		goto yy933;
	} else {
		if (yych <= 'c') {
			if (yych <= 'b') goto yy523;
		} else {
			if (yych == 's') goto yy933;
			goto yy523;
		}
	}
yy932:
	yych = *++p;
	if (yych == 'O') goto yy938;
	if (yych == 'o') goto yy938;
	goto yy523;
yy933:
	yych = *++p;
	if (yych == 'I') goto yy934;
	if (yych != 'i') goto yy523;
yy934:
	yych = *++p;
	if (yych == 'N') goto yy935;
	if (yych != 'n') goto yy523;
yy935:
	yych = *++p;
	if (yych == 'G') goto yy936;
	if (yych != 'g') goto yy523;
yy936:
	yych = *++p;
	if (yych == 'L') goto yy937;
	if (yych != 'l') goto yy523;
yy937:
	yych = *++p;
	if (yych == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
yy938:
	yych = *++p;
	if (yych == 'N') goto yy939;
	if (yych != 'n') goto yy523;
yy939:
	yych = *++p;
	if (yych == 'T') goto yy940;
	if (yych != 't') goto yy523;
yy940:
	yych = *++p;
	if (yych == 'A') goto yy941;
	if (yych != 'a') goto yy523;
yy941:
	yych = *++p;
	if (yych == 'I') goto yy942;
	if (yych != 'i') goto yy523;
yy942:
	yych = *++p;
	if (yych == 'N') goto yy943;
	if (yych != 'n') goto yy523;
yy943:
	yych = *++p;
	if (yych == 'E') goto yy944;
	if (yych != 'e') goto yy523;
yy944:
	yych = *++p;
	if (yych == 'R') goto yy533;
	if (yych == 'r') goto yy533;
	goto yy523;
yy945:
	yych = *++p;
	if (yych == 'S') goto yy533;
	if (yych == 's') goto yy533;
	goto yy523;
yy946:
	yych = *++p;
	if (yych <= 'N') {
		if (yych <= 'A') {
			if (yych <= '@') goto yy523;
			goto yy968;
		} else {
			if (yych <= 'L') goto yy523;
			if (yych <= 'M') goto yy969;
			goto yy970;
		}
	} else {
		if (yych <= 'l') {
			if (yych == 'a') goto yy968;
			goto yy523;
		} else {
			if (yych <= 'm') goto yy969;
			if (yych <= 'n') goto yy970;
			goto yy523;
		}
	}
yy947:
	yych = *++p;
	if (yych == 'R') goto yy955;
	if (yych == 'r') goto yy955;
	goto yy523;
yy948:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy952;
		if (yych <= 'O') goto yy523;
		goto yy533;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy523;
			goto yy952;
		} else {
			if (yych == 'p') goto yy533;
			goto yy523;
		}
	}
yy949:
	yych = *++p;
	if (yych == 'I') goto yy951;
	if (yych == 'i') goto yy951;
	goto yy523;
yy950:
	yych = *++p;
	if (yych == 'D') goto yy533;
	if (yych == 'd') goto yy533;
	goto yy523;
yy951:
	yych = *++p;
	if (yych == 'D') goto yy533;
	if (yych == 'd') goto yy533;
	goto yy523;
yy952:
	yych = *++p;
	if (yych == 'L') goto yy953;
	if (yych != 'l') goto yy523;
yy953:
	yych = *++p;
	if (yych == 'T') goto yy954;
	if (yych != 't') goto yy523;
yy954:
	yych = *++p;
	if (yych == 'O') goto yy533;
	if (yych == 'o') goto yy533;
	goto yy523;
yy955:
	yych = *++p;
	if (yych == 'O') goto yy956;
	if (yych != 'o') goto yy523;
yy956:
	yych = *++p;
	if (yych == 'M') goto yy957;
	if (yych != 'm') goto yy523;
yy957:
	yych = *++p;
	if (yych == 'E') goto yy958;
	if (yych != 'e') goto yy523;
yy958:
	yych = *++p;
	if (yych == '-') goto yy959;
	if (yych == ':') goto yy534;
	goto yy523;
yy959:
	yych = *++p;
	if (yych == 'E') goto yy960;
	if (yych != 'e') goto yy523;
yy960:
	yych = *++p;
	if (yych == 'X') goto yy961;
	if (yych != 'x') goto yy523;
yy961:
	yych = *++p;
	if (yych == 'T') goto yy962;
	if (yych != 't') goto yy523;
yy962:
	yych = *++p;
	if (yych == 'E') goto yy963;
	if (yych != 'e') goto yy523;
yy963:
	yych = *++p;
	if (yych == 'N') goto yy964;
	if (yych != 'n') goto yy523;
yy964:
	yych = *++p;
	if (yych == 'S') goto yy965;
	if (yych != 's') goto yy523;
yy965:
	yych = *++p;
	if (yych == 'I') goto yy966;
	if (yych != 'i') goto yy523;
yy966:
	yych = *++p;
	if (yych == 'O') goto yy967;
	if (yych != 'o') goto yy523;
yy967:
	yych = *++p;
	if (yych == 'N') goto yy533;
	if (yych == 'n') goto yy533;
	goto yy523;
yy968:
	yych = *++p;
	if (yych == 'P') goto yy533;
	if (yych == 'p') goto yy533;
	goto yy523;
yy969:
	yych = *++p;
	if (yych == '-') goto yy974;
	goto yy523;
yy970:
	yych = *++p;
	if (yych == 'T') goto yy971;
	if (yych != 't') goto yy523;
yy971:
	yych = *++p;
	if (yych == 'E') goto yy972;
	if (yych != 'e') goto yy523;
yy972:
	yych = *++p;
	if (yych == 'N') goto yy973;
	if (yych != 'n') goto yy523;
yy973:
	yych = *++p;
	if (yych == 'T') goto yy533;
	if (yych == 't') goto yy533;
	goto yy523;
yy974:
	yych = *++p;
	if (yych == 'E') goto yy975;
	if (yych != 'e') goto yy523;
yy975:
	yych = *++p;
	if (yych == 'V') goto yy976;
	if (yych != 'v') goto yy523;
yy976:
	yych = *++p;
	if (yych == 'E') goto yy977;
	if (yych != 'e') goto yy523;
yy977:
	yych = *++p;
	if (yych == 'N') goto yy978;
	if (yych != 'n') goto yy523;
yy978:
	yych = *++p;
	if (yych == 'T') goto yy979;
	if (yych != 't') goto yy523;
yy979:
	yych = *++p;
	if (yych == 'B') goto yy980;
	if (yych != 'b') goto yy523;
yy980:
	yych = *++p;
	if (yych == 'R') goto yy981;
	if (yych != 'r') goto yy523;
yy981:
	yych = *++p;
	if (yych == 'I') goto yy982;
	if (yych != 'i') goto yy523;
yy982:
	yych = *++p;
	if (yych == 'T') goto yy983;
	if (yych != 't') goto yy523;
yy983:
	yych = *++p;
	if (yych == 'E') goto yy984;
	if (yych != 'e') goto yy523;
yy984:
	yych = *++p;
	if (yych != '-') goto yy523;
	yych = *++p;
	if (yych == 'A') goto yy986;
	if (yych != 'a') goto yy523;
yy986:
	yych = *++p;
	if (yych == 'T') goto yy987;
	if (yych != 't') goto yy523;
yy987:
	yych = *++p;
	if (yych == 'T') goto yy988;
	if (yych != 't') goto yy523;
yy988:
	yych = *++p;
	if (yych == 'E') goto yy989;
	if (yych != 'e') goto yy523;
yy989:
	yych = *++p;
	if (yych == 'N') goto yy990;
	if (yych != 'n') goto yy523;
yy990:
	yych = *++p;
	if (yych == 'D') goto yy991;
	if (yych != 'd') goto yy523;
yy991:
	yych = *++p;
	if (yych == 'E') goto yy992;
	if (yych != 'e') goto yy523;
yy992:
	++p;
	if ((yych = *p) == 'E') goto yy533;
	if (yych == 'e') goto yy533;
	goto yy523;
}

}

// Try to match email autolink after first <, returning num of chars matched.
bufsize_t _scan_autolink_email(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0, 128,   0, 128, 128, 128, 128, 128, 
		  0,   0, 128, 128,   0, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   0,   0,   0, 128,   0, 128, 
		  0, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128,   0,   0,   0, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= '?') {
		if (yych <= ')') {
			if (yych <= ' ') {
				if (yych != '\n') goto yy997;
			} else {
				if (yych == '"') goto yy997;
				if (yych <= '\'') goto yy996;
				goto yy997;
			}
		} else {
			if (yych <= '9') {
				if (yych == ',') goto yy997;
				goto yy996;
			} else {
				if (yych == '=') goto yy996;
				if (yych <= '>') goto yy997;
				goto yy996;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= ']') {
				if (yych <= '@') goto yy997;
				if (yych <= 'Z') goto yy996;
				goto yy997;
			} else {
				if (yych <= '~') goto yy996;
				if (yych <= 0x7F) goto yy997;
				if (yych >= 0xC2) goto yy998;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1000;
				if (yych == 0xED) goto yy1005;
				goto yy1001;
			} else {
				if (yych <= 0xF0) goto yy1002;
				if (yych <= 0xF3) goto yy1003;
				if (yych <= 0xF4) goto yy1004;
			}
		}
	}
yy995:
	{ return 0; }
yy996:
	yych = *(marker = ++p);
	if (yych <= ',') {
		if (yych <= '"') {
			if (yych == '!') goto yy1008;
			goto yy995;
		} else {
			if (yych <= '\'') goto yy1008;
			if (yych <= ')') goto yy995;
			if (yych <= '+') goto yy1008;
			goto yy995;
		}
	} else {
		if (yych <= '>') {
			if (yych <= '9') goto yy1008;
			if (yych == '=') goto yy1008;
			goto yy995;
		} else {
			if (yych <= 'Z') goto yy1008;
			if (yych <= ']') goto yy995;
			if (yych <= '~') goto yy1008;
			goto yy995;
		}
	}
yy997:
	yych = *++p;
	goto yy995;
yy998:
	yych = *++p;
	if (yych <= 0x7F) goto yy999;
	if (yych <= 0xBF) goto yy997;
yy999:
	p = marker;
	goto yy995;
yy1000:
	yych = *++p;
	if (yych <= 0x9F) goto yy999;
	if (yych <= 0xBF) goto yy998;
	goto yy999;
yy1001:
	yych = *++p;
	if (yych <= 0x7F) goto yy999;
	if (yych <= 0xBF) goto yy998;
	goto yy999;
yy1002:
	yych = *++p;
	if (yych <= 0x8F) goto yy999;
	if (yych <= 0xBF) goto yy1001;
	goto yy999;
yy1003:
	yych = *++p;
	if (yych <= 0x7F) goto yy999;
	if (yych <= 0xBF) goto yy1001;
	goto yy999;
yy1004:
	yych = *++p;
	if (yych <= 0x7F) goto yy999;
	if (yych <= 0x8F) goto yy1001;
	goto yy999;
yy1005:
	yych = *++p;
	if (yych <= 0x7F) goto yy999;
	if (yych <= 0x9F) goto yy998;
	goto yy999;
yy1006:
	yych = *++p;
	if (yych <= '@') {
		if (yych <= '/') goto yy999;
		if (yych <= '9') goto yy1009;
		goto yy999;
	} else {
		if (yych <= 'Z') goto yy1009;
		if (yych <= '`') goto yy999;
		if (yych <= 'z') goto yy1009;
		goto yy999;
	}
yy1007:
	++p;
	yych = *p;
yy1008:
	if (yybm[0+yych] & 128) {
		goto yy1007;
	}
	if (yych <= '>') goto yy999;
	if (yych <= '@') goto yy1006;
	goto yy999;
yy1009:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1011;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1011;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1011;
			goto yy999;
		}
	}
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1139;
		if (yych <= '/') goto yy999;
		goto yy1140;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1140;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1140;
			goto yy999;
		}
	}
yy1011:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych <= '-') goto yy1139;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1140;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1140;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1140;
			goto yy999;
		}
	}
yy1012:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '/') goto yy999;
		if (yych <= '9') goto yy1015;
		goto yy999;
	} else {
		if (yych <= 'Z') goto yy1015;
		if (yych <= '`') goto yy999;
		if (yych <= 'z') goto yy1015;
		goto yy999;
	}
yy1013:
	++p;
	{ return (bufsize_t)(p - start); }
yy1015:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1017;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1017;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1017;
			goto yy999;
		}
	}
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1018;
		if (yych <= '/') goto yy999;
		goto yy1019;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1019;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1019;
			goto yy999;
		}
	}
yy1017:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1019;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1019;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1019;
			goto yy999;
		}
	}
yy1018:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1020;
		if (yych <= '/') goto yy999;
		goto yy1021;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1021;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1021;
			goto yy999;
		}
	}
yy1019:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1021;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1021;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1021;
			goto yy999;
		}
	}
yy1020:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1022;
		if (yych <= '/') goto yy999;
		goto yy1023;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1023;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1023;
			goto yy999;
		}
	}
yy1021:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1023;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1023;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1023;
			goto yy999;
		}
	}
yy1022:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1024;
		if (yych <= '/') goto yy999;
		goto yy1025;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1025;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1025;
			goto yy999;
		}
	}
yy1023:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1025;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1025;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1025;
			goto yy999;
		}
	}
yy1024:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1026;
		if (yych <= '/') goto yy999;
		goto yy1027;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1027;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1027;
			goto yy999;
		}
	}
yy1025:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1027;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1027;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1027;
			goto yy999;
		}
	}
yy1026:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1028;
		if (yych <= '/') goto yy999;
		goto yy1029;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1029;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1029;
			goto yy999;
		}
	}
yy1027:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1029;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1029;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1029;
			goto yy999;
		}
	}
yy1028:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1030;
		if (yych <= '/') goto yy999;
		goto yy1031;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1031;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1031;
			goto yy999;
		}
	}
yy1029:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1031;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1031;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1031;
			goto yy999;
		}
	}
yy1030:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1032;
		if (yych <= '/') goto yy999;
		goto yy1033;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1033;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1033;
			goto yy999;
		}
	}
yy1031:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1033;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1033;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1033;
			goto yy999;
		}
	}
yy1032:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1034;
		if (yych <= '/') goto yy999;
		goto yy1035;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1035;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1035;
			goto yy999;
		}
	}
yy1033:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1035;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1035;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1035;
			goto yy999;
		}
	}
yy1034:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1036;
		if (yych <= '/') goto yy999;
		goto yy1037;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1037;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1037;
			goto yy999;
		}
	}
yy1035:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1037;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1037;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1037;
			goto yy999;
		}
	}
yy1036:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1038;
		if (yych <= '/') goto yy999;
		goto yy1039;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1039;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1039;
			goto yy999;
		}
	}
yy1037:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1039;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1039;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1039;
			goto yy999;
		}
	}
yy1038:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1040;
		if (yych <= '/') goto yy999;
		goto yy1041;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1041;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1041;
			goto yy999;
		}
	}
yy1039:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1041;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1041;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1041;
			goto yy999;
		}
	}
yy1040:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1042;
		if (yych <= '/') goto yy999;
		goto yy1043;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1043;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1043;
			goto yy999;
		}
	}
yy1041:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1043;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1043;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1043;
			goto yy999;
		}
	}
yy1042:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1044;
		if (yych <= '/') goto yy999;
		goto yy1045;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1045;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1045;
			goto yy999;
		}
	}
yy1043:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1045;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1045;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1045;
			goto yy999;
		}
	}
yy1044:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1046;
		if (yych <= '/') goto yy999;
		goto yy1047;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1047;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1047;
			goto yy999;
		}
	}
yy1045:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1047;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1047;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1047;
			goto yy999;
		}
	}
yy1046:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1048;
		if (yych <= '/') goto yy999;
		goto yy1049;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1049;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1049;
			goto yy999;
		}
	}
yy1047:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1049;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1049;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1049;
			goto yy999;
		}
	}
yy1048:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1050;
		if (yych <= '/') goto yy999;
		goto yy1051;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1051;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1051;
			goto yy999;
		}
	}
yy1049:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1051;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1051;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1051;
			goto yy999;
		}
	}
yy1050:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1052;
		if (yych <= '/') goto yy999;
		goto yy1053;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1053;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1053;
			goto yy999;
		}
	}
yy1051:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1053;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1053;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1053;
			goto yy999;
		}
	}
yy1052:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1054;
		if (yych <= '/') goto yy999;
		goto yy1055;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1055;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1055;
			goto yy999;
		}
	}
yy1053:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1055;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1055;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1055;
			goto yy999;
		}
	}
yy1054:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1056;
		if (yych <= '/') goto yy999;
		goto yy1057;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1057;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1057;
			goto yy999;
		}
	}
yy1055:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1057;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1057;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1057;
			goto yy999;
		}
	}
yy1056:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1058;
		if (yych <= '/') goto yy999;
		goto yy1059;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1059;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1059;
			goto yy999;
		}
	}
yy1057:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1059;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1059;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1059;
			goto yy999;
		}
	}
yy1058:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1060;
		if (yych <= '/') goto yy999;
		goto yy1061;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1061;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1061;
			goto yy999;
		}
	}
yy1059:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1061;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1061;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1061;
			goto yy999;
		}
	}
yy1060:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1062;
		if (yych <= '/') goto yy999;
		goto yy1063;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1063;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1063;
			goto yy999;
		}
	}
yy1061:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1063;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1063;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1063;
			goto yy999;
		}
	}
yy1062:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1064;
		if (yych <= '/') goto yy999;
		goto yy1065;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1065;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1065;
			goto yy999;
		}
	}
yy1063:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1065;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1065;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1065;
			goto yy999;
		}
	}
yy1064:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1066;
		if (yych <= '/') goto yy999;
		goto yy1067;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1067;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1067;
			goto yy999;
		}
	}
yy1065:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1067;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1067;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1067;
			goto yy999;
		}
	}
yy1066:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1068;
		if (yych <= '/') goto yy999;
		goto yy1069;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1069;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1069;
			goto yy999;
		}
	}
yy1067:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1069;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1069;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1069;
			goto yy999;
		}
	}
yy1068:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1070;
		if (yych <= '/') goto yy999;
		goto yy1071;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1071;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1071;
			goto yy999;
		}
	}
yy1069:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1071;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1071;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1071;
			goto yy999;
		}
	}
yy1070:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1072;
		if (yych <= '/') goto yy999;
		goto yy1073;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1073;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1073;
			goto yy999;
		}
	}
yy1071:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1073;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1073;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1073;
			goto yy999;
		}
	}
yy1072:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1074;
		if (yych <= '/') goto yy999;
		goto yy1075;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1075;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1075;
			goto yy999;
		}
	}
yy1073:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1075;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1075;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1075;
			goto yy999;
		}
	}
yy1074:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1076;
		if (yych <= '/') goto yy999;
		goto yy1077;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1077;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1077;
			goto yy999;
		}
	}
yy1075:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1077;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1077;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1077;
			goto yy999;
		}
	}
yy1076:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1078;
		if (yych <= '/') goto yy999;
		goto yy1079;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1079;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1079;
			goto yy999;
		}
	}
yy1077:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1079;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1079;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1079;
			goto yy999;
		}
	}
yy1078:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1080;
		if (yych <= '/') goto yy999;
		goto yy1081;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1081;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1081;
			goto yy999;
		}
	}
yy1079:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1081;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1081;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1081;
			goto yy999;
		}
	}
yy1080:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1082;
		if (yych <= '/') goto yy999;
		goto yy1083;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1083;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1083;
			goto yy999;
		}
	}
yy1081:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1083;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1083;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1083;
			goto yy999;
		}
	}
yy1082:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1084;
		if (yych <= '/') goto yy999;
		goto yy1085;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1085;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1085;
			goto yy999;
		}
	}
yy1083:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1085;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1085;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1085;
			goto yy999;
		}
	}
yy1084:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1086;
		if (yych <= '/') goto yy999;
		goto yy1087;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1087;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1087;
			goto yy999;
		}
	}
yy1085:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1087;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1087;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1087;
			goto yy999;
		}
	}
yy1086:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1088;
		if (yych <= '/') goto yy999;
		goto yy1089;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1089;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1089;
			goto yy999;
		}
	}
yy1087:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1089;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1089;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1089;
			goto yy999;
		}
	}
yy1088:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1090;
		if (yych <= '/') goto yy999;
		goto yy1091;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1091;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1091;
			goto yy999;
		}
	}
yy1089:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1091;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1091;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1091;
			goto yy999;
		}
	}
yy1090:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1092;
		if (yych <= '/') goto yy999;
		goto yy1093;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1093;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1093;
			goto yy999;
		}
	}
yy1091:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1093;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1093;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1093;
			goto yy999;
		}
	}
yy1092:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1094;
		if (yych <= '/') goto yy999;
		goto yy1095;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1095;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1095;
			goto yy999;
		}
	}
yy1093:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1095;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1095;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1095;
			goto yy999;
		}
	}
yy1094:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1096;
		if (yych <= '/') goto yy999;
		goto yy1097;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1097;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1097;
			goto yy999;
		}
	}
yy1095:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1097;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1097;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1097;
			goto yy999;
		}
	}
yy1096:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1098;
		if (yych <= '/') goto yy999;
		goto yy1099;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1099;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1099;
			goto yy999;
		}
	}
yy1097:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1099;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1099;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1099;
			goto yy999;
		}
	}
yy1098:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1100;
		if (yych <= '/') goto yy999;
		goto yy1101;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1101;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1101;
			goto yy999;
		}
	}
yy1099:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1101;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1101;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1101;
			goto yy999;
		}
	}
yy1100:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1102;
		if (yych <= '/') goto yy999;
		goto yy1103;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1103;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1103;
			goto yy999;
		}
	}
yy1101:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1103;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1103;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1103;
			goto yy999;
		}
	}
yy1102:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1104;
		if (yych <= '/') goto yy999;
		goto yy1105;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1105;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1105;
			goto yy999;
		}
	}
yy1103:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1105;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1105;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1105;
			goto yy999;
		}
	}
yy1104:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1106;
		if (yych <= '/') goto yy999;
		goto yy1107;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1107;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1107;
			goto yy999;
		}
	}
yy1105:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1107;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1107;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1107;
			goto yy999;
		}
	}
yy1106:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1108;
		if (yych <= '/') goto yy999;
		goto yy1109;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1109;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1109;
			goto yy999;
		}
	}
yy1107:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1109;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1109;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1109;
			goto yy999;
		}
	}
yy1108:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1110;
		if (yych <= '/') goto yy999;
		goto yy1111;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1111;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1111;
			goto yy999;
		}
	}
yy1109:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1111;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1111;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1111;
			goto yy999;
		}
	}
yy1110:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1112;
		if (yych <= '/') goto yy999;
		goto yy1113;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1113;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1113;
			goto yy999;
		}
	}
yy1111:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1113;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1113;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1113;
			goto yy999;
		}
	}
yy1112:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1114;
		if (yych <= '/') goto yy999;
		goto yy1115;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1115;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1115;
			goto yy999;
		}
	}
yy1113:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1115;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1115;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1115;
			goto yy999;
		}
	}
yy1114:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1116;
		if (yych <= '/') goto yy999;
		goto yy1117;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1117;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1117;
			goto yy999;
		}
	}
yy1115:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1117;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1117;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1117;
			goto yy999;
		}
	}
yy1116:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1118;
		if (yych <= '/') goto yy999;
		goto yy1119;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1119;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1119;
			goto yy999;
		}
	}
yy1117:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1119;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1119;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1119;
			goto yy999;
		}
	}
yy1118:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1120;
		if (yych <= '/') goto yy999;
		goto yy1121;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1121;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1121;
			goto yy999;
		}
	}
yy1119:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1121;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1121;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1121;
			goto yy999;
		}
	}
yy1120:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1122;
		if (yych <= '/') goto yy999;
		goto yy1123;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1123;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1123;
			goto yy999;
		}
	}
yy1121:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1123;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1123;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1123;
			goto yy999;
		}
	}
yy1122:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1124;
		if (yych <= '/') goto yy999;
		goto yy1125;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1125;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1125;
			goto yy999;
		}
	}
yy1123:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1125;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1125;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1125;
			goto yy999;
		}
	}
yy1124:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1126;
		if (yych <= '/') goto yy999;
		goto yy1127;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1127;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1127;
			goto yy999;
		}
	}
yy1125:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1127;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1127;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1127;
			goto yy999;
		}
	}
yy1126:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1128;
		if (yych <= '/') goto yy999;
		goto yy1129;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1129;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1129;
			goto yy999;
		}
	}
yy1127:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1129;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1129;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1129;
			goto yy999;
		}
	}
yy1128:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1130;
		if (yych <= '/') goto yy999;
		goto yy1131;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1131;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1131;
			goto yy999;
		}
	}
yy1129:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1131;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1131;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1131;
			goto yy999;
		}
	}
yy1130:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1132;
		if (yych <= '/') goto yy999;
		goto yy1133;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1133;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1133;
			goto yy999;
		}
	}
yy1131:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1133;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1133;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1133;
			goto yy999;
		}
	}
yy1132:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1134;
		if (yych <= '/') goto yy999;
		goto yy1135;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1135;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1135;
			goto yy999;
		}
	}
yy1133:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1135;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1135;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1135;
			goto yy999;
		}
	}
yy1134:
	++p;
	yych = *p;
	if (yych <= '9') {
		if (yych == '-') goto yy1136;
		if (yych <= '/') goto yy999;
		goto yy1137;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1137;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1137;
			goto yy999;
		}
	}
yy1135:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1137;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1137;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1137;
			goto yy999;
		}
	}
yy1136:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '/') goto yy999;
		if (yych <= '9') goto yy1138;
		goto yy999;
	} else {
		if (yych <= 'Z') goto yy1138;
		if (yych <= '`') goto yy999;
		if (yych <= 'z') goto yy1138;
		goto yy999;
	}
yy1137:
	++p;
	yych = *p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= '-') goto yy999;
			goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych >= ':') goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
		} else {
			if (yych <= '`') goto yy999;
			if (yych >= '{') goto yy999;
		}
	}
yy1138:
	++p;
	yych = *p;
	if (yych == '.') goto yy1012;
	if (yych == '>') goto yy1013;
	goto yy999;
yy1139:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1141;
		if (yych <= '/') goto yy999;
		goto yy1142;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1142;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1142;
			goto yy999;
		}
	}
yy1140:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1142;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1142;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1142;
			goto yy999;
		}
	}
yy1141:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1143;
		if (yych <= '/') goto yy999;
		goto yy1144;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1144;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1144;
			goto yy999;
		}
	}
yy1142:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1144;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1144;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1144;
			goto yy999;
		}
	}
yy1143:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1145;
		if (yych <= '/') goto yy999;
		goto yy1146;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1146;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1146;
			goto yy999;
		}
	}
yy1144:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1146;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1146;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1146;
			goto yy999;
		}
	}
yy1145:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1147;
		if (yych <= '/') goto yy999;
		goto yy1148;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1148;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1148;
			goto yy999;
		}
	}
yy1146:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1148;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1148;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1148;
			goto yy999;
		}
	}
yy1147:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1149;
		if (yych <= '/') goto yy999;
		goto yy1150;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1150;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1150;
			goto yy999;
		}
	}
yy1148:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1150;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1150;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1150;
			goto yy999;
		}
	}
yy1149:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1151;
		if (yych <= '/') goto yy999;
		goto yy1152;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1152;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1152;
			goto yy999;
		}
	}
yy1150:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1152;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1152;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1152;
			goto yy999;
		}
	}
yy1151:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1153;
		if (yych <= '/') goto yy999;
		goto yy1154;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1154;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1154;
			goto yy999;
		}
	}
yy1152:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1154;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1154;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1154;
			goto yy999;
		}
	}
yy1153:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1155;
		if (yych <= '/') goto yy999;
		goto yy1156;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1156;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1156;
			goto yy999;
		}
	}
yy1154:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1156;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1156;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1156;
			goto yy999;
		}
	}
yy1155:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1157;
		if (yych <= '/') goto yy999;
		goto yy1158;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1158;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1158;
			goto yy999;
		}
	}
yy1156:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1158;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1158;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1158;
			goto yy999;
		}
	}
yy1157:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1159;
		if (yych <= '/') goto yy999;
		goto yy1160;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1160;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1160;
			goto yy999;
		}
	}
yy1158:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1160;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1160;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1160;
			goto yy999;
		}
	}
yy1159:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1161;
		if (yych <= '/') goto yy999;
		goto yy1162;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1162;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1162;
			goto yy999;
		}
	}
yy1160:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1162;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1162;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1162;
			goto yy999;
		}
	}
yy1161:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1163;
		if (yych <= '/') goto yy999;
		goto yy1164;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1164;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1164;
			goto yy999;
		}
	}
yy1162:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1164;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1164;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1164;
			goto yy999;
		}
	}
yy1163:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1165;
		if (yych <= '/') goto yy999;
		goto yy1166;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1166;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1166;
			goto yy999;
		}
	}
yy1164:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1166;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1166;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1166;
			goto yy999;
		}
	}
yy1165:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1167;
		if (yych <= '/') goto yy999;
		goto yy1168;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1168;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1168;
			goto yy999;
		}
	}
yy1166:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1168;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1168;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1168;
			goto yy999;
		}
	}
yy1167:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1169;
		if (yych <= '/') goto yy999;
		goto yy1170;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1170;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1170;
			goto yy999;
		}
	}
yy1168:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1170;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1170;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1170;
			goto yy999;
		}
	}
yy1169:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1171;
		if (yych <= '/') goto yy999;
		goto yy1172;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1172;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1172;
			goto yy999;
		}
	}
yy1170:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1172;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1172;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1172;
			goto yy999;
		}
	}
yy1171:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1173;
		if (yych <= '/') goto yy999;
		goto yy1174;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1174;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1174;
			goto yy999;
		}
	}
yy1172:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1174;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1174;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1174;
			goto yy999;
		}
	}
yy1173:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1175;
		if (yych <= '/') goto yy999;
		goto yy1176;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1176;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1176;
			goto yy999;
		}
	}
yy1174:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1176;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1176;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1176;
			goto yy999;
		}
	}
yy1175:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1177;
		if (yych <= '/') goto yy999;
		goto yy1178;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1178;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1178;
			goto yy999;
		}
	}
yy1176:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1178;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1178;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1178;
			goto yy999;
		}
	}
yy1177:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1179;
		if (yych <= '/') goto yy999;
		goto yy1180;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1180;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1180;
			goto yy999;
		}
	}
yy1178:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1180;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1180;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1180;
			goto yy999;
		}
	}
yy1179:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1181;
		if (yych <= '/') goto yy999;
		goto yy1182;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1182;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1182;
			goto yy999;
		}
	}
yy1180:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1182;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1182;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1182;
			goto yy999;
		}
	}
yy1181:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1183;
		if (yych <= '/') goto yy999;
		goto yy1184;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1184;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1184;
			goto yy999;
		}
	}
yy1182:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1184;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1184;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1184;
			goto yy999;
		}
	}
yy1183:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1185;
		if (yych <= '/') goto yy999;
		goto yy1186;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1186;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1186;
			goto yy999;
		}
	}
yy1184:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1186;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1186;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1186;
			goto yy999;
		}
	}
yy1185:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1187;
		if (yych <= '/') goto yy999;
		goto yy1188;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1188;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1188;
			goto yy999;
		}
	}
yy1186:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1188;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1188;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1188;
			goto yy999;
		}
	}
yy1187:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1189;
		if (yych <= '/') goto yy999;
		goto yy1190;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1190;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1190;
			goto yy999;
		}
	}
yy1188:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1190;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1190;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1190;
			goto yy999;
		}
	}
yy1189:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1191;
		if (yych <= '/') goto yy999;
		goto yy1192;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1192;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1192;
			goto yy999;
		}
	}
yy1190:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1192;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1192;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1192;
			goto yy999;
		}
	}
yy1191:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1193;
		if (yych <= '/') goto yy999;
		goto yy1194;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1194;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1194;
			goto yy999;
		}
	}
yy1192:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1194;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1194;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1194;
			goto yy999;
		}
	}
yy1193:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1195;
		if (yych <= '/') goto yy999;
		goto yy1196;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1196;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1196;
			goto yy999;
		}
	}
yy1194:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1196;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1196;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1196;
			goto yy999;
		}
	}
yy1195:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1197;
		if (yych <= '/') goto yy999;
		goto yy1198;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1198;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1198;
			goto yy999;
		}
	}
yy1196:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1198;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1198;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1198;
			goto yy999;
		}
	}
yy1197:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1199;
		if (yych <= '/') goto yy999;
		goto yy1200;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1200;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1200;
			goto yy999;
		}
	}
yy1198:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1200;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1200;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1200;
			goto yy999;
		}
	}
yy1199:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1201;
		if (yych <= '/') goto yy999;
		goto yy1202;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1202;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1202;
			goto yy999;
		}
	}
yy1200:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1202;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1202;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1202;
			goto yy999;
		}
	}
yy1201:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1203;
		if (yych <= '/') goto yy999;
		goto yy1204;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1204;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1204;
			goto yy999;
		}
	}
yy1202:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1204;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1204;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1204;
			goto yy999;
		}
	}
yy1203:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1205;
		if (yych <= '/') goto yy999;
		goto yy1206;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1206;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1206;
			goto yy999;
		}
	}
yy1204:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1206;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1206;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1206;
			goto yy999;
		}
	}
yy1205:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1207;
		if (yych <= '/') goto yy999;
		goto yy1208;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1208;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1208;
			goto yy999;
		}
	}
yy1206:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1208;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1208;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1208;
			goto yy999;
		}
	}
yy1207:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1209;
		if (yych <= '/') goto yy999;
		goto yy1210;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1210;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1210;
			goto yy999;
		}
	}
yy1208:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1210;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1210;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1210;
			goto yy999;
		}
	}
yy1209:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1211;
		if (yych <= '/') goto yy999;
		goto yy1212;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1212;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1212;
			goto yy999;
		}
	}
yy1210:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1212;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1212;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1212;
			goto yy999;
		}
	}
yy1211:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1213;
		if (yych <= '/') goto yy999;
		goto yy1214;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1214;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1214;
			goto yy999;
		}
	}
yy1212:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1214;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1214;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1214;
			goto yy999;
		}
	}
yy1213:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1215;
		if (yych <= '/') goto yy999;
		goto yy1216;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1216;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1216;
			goto yy999;
		}
	}
yy1214:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1216;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1216;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1216;
			goto yy999;
		}
	}
yy1215:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1217;
		if (yych <= '/') goto yy999;
		goto yy1218;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1218;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1218;
			goto yy999;
		}
	}
yy1216:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1218;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1218;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1218;
			goto yy999;
		}
	}
yy1217:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1219;
		if (yych <= '/') goto yy999;
		goto yy1220;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1220;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1220;
			goto yy999;
		}
	}
yy1218:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1220;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1220;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1220;
			goto yy999;
		}
	}
yy1219:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1221;
		if (yych <= '/') goto yy999;
		goto yy1222;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1222;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1222;
			goto yy999;
		}
	}
yy1220:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1222;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1222;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1222;
			goto yy999;
		}
	}
yy1221:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1223;
		if (yych <= '/') goto yy999;
		goto yy1224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1224;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1224;
			goto yy999;
		}
	}
yy1222:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1224;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1224;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1224;
			goto yy999;
		}
	}
yy1223:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1225;
		if (yych <= '/') goto yy999;
		goto yy1226;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1226;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1226;
			goto yy999;
		}
	}
yy1224:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1226;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1226;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1226;
			goto yy999;
		}
	}
yy1225:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1227;
		if (yych <= '/') goto yy999;
		goto yy1228;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1228;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1228;
			goto yy999;
		}
	}
yy1226:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1228;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1228;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1228;
			goto yy999;
		}
	}
yy1227:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1229;
		if (yych <= '/') goto yy999;
		goto yy1230;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1230;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1230;
			goto yy999;
		}
	}
yy1228:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1230;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1230;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1230;
			goto yy999;
		}
	}
yy1229:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1231;
		if (yych <= '/') goto yy999;
		goto yy1232;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1232;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1232;
			goto yy999;
		}
	}
yy1230:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1232;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1232;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1232;
			goto yy999;
		}
	}
yy1231:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1233;
		if (yych <= '/') goto yy999;
		goto yy1234;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1234;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1234;
			goto yy999;
		}
	}
yy1232:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1234;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1234;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1234;
			goto yy999;
		}
	}
yy1233:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1235;
		if (yych <= '/') goto yy999;
		goto yy1236;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1236;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1236;
			goto yy999;
		}
	}
yy1234:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1236;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1236;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1236;
			goto yy999;
		}
	}
yy1235:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1237;
		if (yych <= '/') goto yy999;
		goto yy1238;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1238;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1238;
			goto yy999;
		}
	}
yy1236:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1238;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1238;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1238;
			goto yy999;
		}
	}
yy1237:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1239;
		if (yych <= '/') goto yy999;
		goto yy1240;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1240;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1240;
			goto yy999;
		}
	}
yy1238:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1240;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1240;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1240;
			goto yy999;
		}
	}
yy1239:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1241;
		if (yych <= '/') goto yy999;
		goto yy1242;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1242;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1242;
			goto yy999;
		}
	}
yy1240:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1242;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1242;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1242;
			goto yy999;
		}
	}
yy1241:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1243;
		if (yych <= '/') goto yy999;
		goto yy1244;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1244;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1244;
			goto yy999;
		}
	}
yy1242:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1244;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1244;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1244;
			goto yy999;
		}
	}
yy1243:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1245;
		if (yych <= '/') goto yy999;
		goto yy1246;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1246;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1246;
			goto yy999;
		}
	}
yy1244:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1246;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1246;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1246;
			goto yy999;
		}
	}
yy1245:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1247;
		if (yych <= '/') goto yy999;
		goto yy1248;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1248;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1248;
			goto yy999;
		}
	}
yy1246:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1248;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1248;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1248;
			goto yy999;
		}
	}
yy1247:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1249;
		if (yych <= '/') goto yy999;
		goto yy1250;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1250;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1250;
			goto yy999;
		}
	}
yy1248:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1250;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1250;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1250;
			goto yy999;
		}
	}
yy1249:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1251;
		if (yych <= '/') goto yy999;
		goto yy1252;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1252;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1252;
			goto yy999;
		}
	}
yy1250:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1252;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1252;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1252;
			goto yy999;
		}
	}
yy1251:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1253;
		if (yych <= '/') goto yy999;
		goto yy1254;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1254;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1254;
			goto yy999;
		}
	}
yy1252:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1254;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1254;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1254;
			goto yy999;
		}
	}
yy1253:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1255;
		if (yych <= '/') goto yy999;
		goto yy1256;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1256;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1256;
			goto yy999;
		}
	}
yy1254:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1256;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1256;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1256;
			goto yy999;
		}
	}
yy1255:
	yych = *++p;
	if (yych <= '9') {
		if (yych == '-') goto yy1257;
		if (yych <= '/') goto yy999;
		goto yy1258;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy999;
			goto yy1258;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1258;
			goto yy999;
		}
	}
yy1256:
	yych = *++p;
	if (yych <= '=') {
		if (yych <= '.') {
			if (yych <= ',') goto yy999;
			if (yych >= '.') goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1258;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1258;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1258;
			goto yy999;
		}
	}
yy1257:
	yych = *++p;
	if (yych <= '@') {
		if (yych <= '/') goto yy999;
		if (yych <= '9') goto yy1138;
		goto yy999;
	} else {
		if (yych <= 'Z') goto yy1138;
		if (yych <= '`') goto yy999;
		if (yych <= 'z') goto yy1138;
		goto yy999;
	}
yy1258:
	++p;
	if ((yych = *p) <= '=') {
		if (yych <= '.') {
			if (yych <= '-') goto yy999;
			goto yy1012;
		} else {
			if (yych <= '/') goto yy999;
			if (yych <= '9') goto yy1138;
			goto yy999;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1013;
			if (yych <= '@') goto yy999;
			goto yy1138;
		} else {
			if (yych <= '`') goto yy999;
			if (yych <= 'z') goto yy1138;
			goto yy999;
		}
	}
}

}

// Try to match an HTML tag after first <, returning num of chars matched.
bufsize_t _scan_html_tag(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		/* table 1 .. 8: 0 */
		  0, 230, 230, 230, 230, 230, 230, 230, 
		230, 199, 199, 199, 199, 199, 230, 230, 
		230, 230, 230, 230, 230, 230, 230, 230, 
		230, 230, 230, 230, 230, 230, 230, 230, 
		199, 230,  70, 230, 230, 230, 230, 134, 
		230, 230, 230, 230, 230, 254, 246, 230, 
		254, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 246, 230, 198, 198, 196, 230, 
		230, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 254, 230, 230, 226, 230, 246, 
		198, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 254, 254, 254, 254, 254, 254, 
		254, 254, 254, 230, 230, 230, 230, 230, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		/* table 9 .. 11: 256 */
		  0, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160,  32, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 128, 
		160, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= '`') {
		if (yych <= '.') {
			if (yych <= '\n') {
				if (yych <= '\t') goto yy1266;
			} else {
				if (yych == '!') goto yy1264;
				goto yy1266;
			}
		} else {
			if (yych <= '?') {
				if (yych <= '/') goto yy1263;
				if (yych <= '>') goto yy1266;
				goto yy1265;
			} else {
				if (yych <= '@') goto yy1266;
				if (yych <= 'Z') goto yy1262;
				goto yy1266;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= 'z') goto yy1262;
				if (yych <= 0x7F) goto yy1266;
			} else {
				if (yych <= 0xDF) goto yy1267;
				if (yych <= 0xE0) goto yy1269;
				goto yy1270;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1274;
				if (yych <= 0xEF) goto yy1270;
				goto yy1271;
			} else {
				if (yych <= 0xF3) goto yy1272;
				if (yych <= 0xF4) goto yy1273;
			}
		}
	}
yy1261:
	{ return 0; }
yy1262:
	yych = *(marker = ++p);
	if (yych <= '/') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1261;
			if (yych <= '\r') goto yy1366;
			if (yych <= 0x1F) goto yy1261;
			goto yy1366;
		} else {
			if (yych == '-') goto yy1364;
			if (yych <= '.') goto yy1261;
			goto yy1368;
		}
	} else {
		if (yych <= '@') {
			if (yych <= '9') goto yy1364;
			if (yych == '>') goto yy1285;
			goto yy1261;
		} else {
			if (yych <= 'Z') goto yy1364;
			if (yych <= '`') goto yy1261;
			if (yych <= 'z') goto yy1364;
			goto yy1261;
		}
	}
yy1263:
	yych = *(marker = ++p);
	if (yych <= '@') goto yy1261;
	if (yych <= 'Z') goto yy1360;
	if (yych <= '`') goto yy1261;
	if (yych <= 'z') goto yy1360;
	goto yy1261;
yy1264:
	yych = *(marker = ++p);
	if (yybm[256+yych] & 64) {
		goto yy1295;
	}
	if (yych == '-') goto yy1297;
	if (yych <= '@') goto yy1261;
	if (yych <= '[') goto yy1294;
	goto yy1261;
yy1265:
	yych = *(marker = ++p);
	if (yych <= 0x00) goto yy1261;
	if (yych <= 0x7F) goto yy1276;
	if (yych <= 0xC1) goto yy1261;
	if (yych <= 0xF4) goto yy1276;
	goto yy1261;
yy1266:
	yych = *++p;
	goto yy1261;
yy1267:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1266;
yy1268:
	p = marker;
	goto yy1261;
yy1269:
	yych = *++p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1267;
	goto yy1268;
yy1270:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1267;
	goto yy1268;
yy1271:
	yych = *++p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1270;
	goto yy1268;
yy1272:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1270;
	goto yy1268;
yy1273:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1270;
	goto yy1268;
yy1274:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1267;
	goto yy1268;
yy1275:
	++p;
	yych = *p;
yy1276:
	if (yybm[256+yych] & 32) {
		goto yy1275;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '?') goto yy1284;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1277;
			if (yych <= 0xE0) goto yy1278;
			goto yy1279;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1283;
			if (yych <= 0xEF) goto yy1279;
			goto yy1280;
		} else {
			if (yych <= 0xF3) goto yy1281;
			if (yych <= 0xF4) goto yy1282;
			goto yy1268;
		}
	}
yy1277:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1275;
	goto yy1268;
yy1278:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1277;
	goto yy1268;
yy1279:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1277;
	goto yy1268;
yy1280:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1279;
	goto yy1268;
yy1281:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1279;
	goto yy1268;
yy1282:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1279;
	goto yy1268;
yy1283:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1277;
	goto yy1268;
yy1284:
	++p;
	yych = *p;
	if (yych <= 0xE0) {
		if (yych <= '>') {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '=') goto yy1275;
		} else {
			if (yych <= 0x7F) goto yy1275;
			if (yych <= 0xC1) goto yy1268;
			if (yych <= 0xDF) goto yy1287;
			goto yy1288;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1293;
			goto yy1289;
		} else {
			if (yych <= 0xF0) goto yy1290;
			if (yych <= 0xF3) goto yy1291;
			if (yych <= 0xF4) goto yy1292;
			goto yy1268;
		}
	}
yy1285:
	++p;
	{ return (bufsize_t)(p - start); }
yy1287:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1275;
	goto yy1268;
yy1288:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1287;
	goto yy1268;
yy1289:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1287;
	goto yy1268;
yy1290:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1289;
	goto yy1268;
yy1291:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1289;
	goto yy1268;
yy1292:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1289;
	goto yy1268;
yy1293:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1287;
	goto yy1268;
yy1294:
	yych = *++p;
	if (yych == 'C') goto yy1330;
	if (yych == 'c') goto yy1330;
	goto yy1268;
yy1295:
	++p;
	yych = *p;
	if (yybm[0+yych] & 1) {
		goto yy1319;
	}
	if (yych <= '@') goto yy1268;
	if (yych <= 'Z') goto yy1295;
	goto yy1268;
yy1297:
	yych = *++p;
	if (yych != '-') goto yy1268;
	yych = *++p;
	if (yych <= 0xE0) {
		if (yych <= '=') {
			if (yych != '-') goto yy1301;
		} else {
			if (yych <= '>') goto yy1268;
			if (yych <= 0xC1) goto yy1301;
			if (yych <= 0xDF) goto yy1302;
			goto yy1303;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1308;
			goto yy1304;
		} else {
			if (yych <= 0xF0) goto yy1305;
			if (yych <= 0xF3) goto yy1306;
			if (yych <= 0xF4) goto yy1307;
			goto yy1301;
		}
	}
	yych = *++p;
	if (yych <= 0xE0) {
		if (yych <= '=') {
			if (yych == '-') goto yy1318;
			goto yy1301;
		} else {
			if (yych <= '>') goto yy1268;
			if (yych <= 0xC1) goto yy1301;
			if (yych <= 0xDF) goto yy1302;
			goto yy1303;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1308;
			goto yy1304;
		} else {
			if (yych <= 0xF0) goto yy1305;
			if (yych <= 0xF3) goto yy1306;
			if (yych <= 0xF4) goto yy1307;
			goto yy1301;
		}
	}
yy1300:
	++p;
	yych = *p;
yy1301:
	if (yybm[256+yych] & 128) {
		goto yy1300;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '-') goto yy1309;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1310;
			if (yych <= 0xE0) goto yy1311;
			goto yy1312;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1316;
			if (yych <= 0xEF) goto yy1312;
			goto yy1313;
		} else {
			if (yych <= 0xF3) goto yy1314;
			if (yych <= 0xF4) goto yy1315;
			goto yy1268;
		}
	}
yy1302:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1300;
	goto yy1268;
yy1303:
	yych = *++p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1302;
	goto yy1268;
yy1304:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1302;
	goto yy1268;
yy1305:
	yych = *++p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1304;
	goto yy1268;
yy1306:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1304;
	goto yy1268;
yy1307:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1304;
	goto yy1268;
yy1308:
	yych = *++p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1302;
	goto yy1268;
yy1309:
	++p;
	yych = *p;
	if (yybm[256+yych] & 128) {
		goto yy1300;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '-') goto yy1317;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1310;
			if (yych <= 0xE0) goto yy1311;
			goto yy1312;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1316;
			if (yych <= 0xEF) goto yy1312;
			goto yy1313;
		} else {
			if (yych <= 0xF3) goto yy1314;
			if (yych <= 0xF4) goto yy1315;
			goto yy1268;
		}
	}
yy1310:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1300;
	goto yy1268;
yy1311:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1310;
	goto yy1268;
yy1312:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1310;
	goto yy1268;
yy1313:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1312;
	goto yy1268;
yy1314:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1312;
	goto yy1268;
yy1315:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1312;
	goto yy1268;
yy1316:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1310;
	goto yy1268;
yy1317:
	yych = *++p;
	if (yych == '>') goto yy1285;
	goto yy1268;
yy1318:
	yych = *++p;
	if (yych == '>') goto yy1285;
	goto yy1268;
yy1319:
	++p;
	yych = *p;
	if (yybm[0+yych] & 1) {
		goto yy1319;
	}
	if (yych <= 0xE0) {
		if (yych <= '>') {
			if (yych <= 0x00) goto yy1268;
			if (yych >= '>') goto yy1285;
		} else {
			if (yych <= 0x7F) goto yy1321;
			if (yych <= 0xC1) goto yy1268;
			if (yych <= 0xDF) goto yy1323;
			goto yy1324;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1329;
			goto yy1325;
		} else {
			if (yych <= 0xF0) goto yy1326;
			if (yych <= 0xF3) goto yy1327;
			if (yych <= 0xF4) goto yy1328;
			goto yy1268;
		}
	}
yy1321:
	++p;
	yych = *p;
	if (yybm[0+yych] & 2) {
		goto yy1321;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '>') goto yy1285;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1323;
			if (yych <= 0xE0) goto yy1324;
			goto yy1325;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1329;
			if (yych <= 0xEF) goto yy1325;
			goto yy1326;
		} else {
			if (yych <= 0xF3) goto yy1327;
			if (yych <= 0xF4) goto yy1328;
			goto yy1268;
		}
	}
yy1323:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1321;
	goto yy1268;
yy1324:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1323;
	goto yy1268;
yy1325:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1323;
	goto yy1268;
yy1326:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1325;
	goto yy1268;
yy1327:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1325;
	goto yy1268;
yy1328:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1325;
	goto yy1268;
yy1329:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1323;
	goto yy1268;
yy1330:
	yych = *++p;
	if (yych == 'D') goto yy1331;
	if (yych != 'd') goto yy1268;
yy1331:
	yych = *++p;
	if (yych == 'A') goto yy1332;
	if (yych != 'a') goto yy1268;
yy1332:
	yych = *++p;
	if (yych == 'T') goto yy1333;
	if (yych != 't') goto yy1268;
yy1333:
	yych = *++p;
	if (yych == 'A') goto yy1334;
	if (yych != 'a') goto yy1268;
yy1334:
	yych = *++p;
	if (yych != '[') goto yy1268;
yy1335:
	++p;
	yych = *p;
	if (yybm[0+yych] & 4) {
		goto yy1335;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= ']') goto yy1344;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1337;
			if (yych <= 0xE0) goto yy1338;
			goto yy1339;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1343;
			if (yych <= 0xEF) goto yy1339;
			goto yy1340;
		} else {
			if (yych <= 0xF3) goto yy1341;
			if (yych <= 0xF4) goto yy1342;
			goto yy1268;
		}
	}
yy1337:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1335;
	goto yy1268;
yy1338:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1337;
	goto yy1268;
yy1339:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1337;
	goto yy1268;
yy1340:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1339;
	goto yy1268;
yy1341:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1339;
	goto yy1268;
yy1342:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1339;
	goto yy1268;
yy1343:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1337;
	goto yy1268;
yy1344:
	++p;
	yych = *p;
	if (yybm[0+yych] & 4) {
		goto yy1335;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych >= '^') goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1346;
			if (yych <= 0xE0) goto yy1347;
			goto yy1348;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1352;
			if (yych <= 0xEF) goto yy1348;
			goto yy1349;
		} else {
			if (yych <= 0xF3) goto yy1350;
			if (yych <= 0xF4) goto yy1351;
			goto yy1268;
		}
	}
	++p;
	yych = *p;
	if (yych <= 0xE0) {
		if (yych <= '>') {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '=') goto yy1335;
			goto yy1285;
		} else {
			if (yych <= 0x7F) goto yy1335;
			if (yych <= 0xC1) goto yy1268;
			if (yych <= 0xDF) goto yy1353;
			goto yy1354;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1359;
			goto yy1355;
		} else {
			if (yych <= 0xF0) goto yy1356;
			if (yych <= 0xF3) goto yy1357;
			if (yych <= 0xF4) goto yy1358;
			goto yy1268;
		}
	}
yy1346:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1335;
	goto yy1268;
yy1347:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1346;
	goto yy1268;
yy1348:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1346;
	goto yy1268;
yy1349:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1348;
	goto yy1268;
yy1350:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1348;
	goto yy1268;
yy1351:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1348;
	goto yy1268;
yy1352:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1346;
	goto yy1268;
yy1353:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1335;
	goto yy1268;
yy1354:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1353;
	goto yy1268;
yy1355:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1353;
	goto yy1268;
yy1356:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1355;
	goto yy1268;
yy1357:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1355;
	goto yy1268;
yy1358:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1355;
	goto yy1268;
yy1359:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1353;
	goto yy1268;
yy1360:
	++p;
	yych = *p;
	if (yybm[0+yych] & 8) {
		goto yy1360;
	}
	if (yych <= 0x1F) {
		if (yych <= 0x08) goto yy1268;
		if (yych >= 0x0E) goto yy1268;
	} else {
		if (yych <= ' ') goto yy1362;
		if (yych == '>') goto yy1285;
		goto yy1268;
	}
yy1362:
	++p;
	yych = *p;
	if (yych <= 0x1F) {
		if (yych <= 0x08) goto yy1268;
		if (yych <= '\r') goto yy1362;
		goto yy1268;
	} else {
		if (yych <= ' ') goto yy1362;
		if (yych == '>') goto yy1285;
		goto yy1268;
	}
yy1364:
	++p;
	yych = *p;
	if (yych <= '/') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1268;
			if (yych <= '\r') goto yy1366;
			if (yych <= 0x1F) goto yy1268;
		} else {
			if (yych == '-') goto yy1364;
			if (yych <= '.') goto yy1268;
			goto yy1368;
		}
	} else {
		if (yych <= '@') {
			if (yych <= '9') goto yy1364;
			if (yych == '>') goto yy1285;
			goto yy1268;
		} else {
			if (yych <= 'Z') goto yy1364;
			if (yych <= '`') goto yy1268;
			if (yych <= 'z') goto yy1364;
			goto yy1268;
		}
	}
yy1366:
	++p;
	yych = *p;
	if (yych <= ':') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1268;
			if (yych <= '\r') goto yy1366;
			if (yych <= 0x1F) goto yy1268;
			goto yy1366;
		} else {
			if (yych == '/') goto yy1368;
			if (yych <= '9') goto yy1268;
			goto yy1369;
		}
	} else {
		if (yych <= 'Z') {
			if (yych == '>') goto yy1285;
			if (yych <= '@') goto yy1268;
			goto yy1369;
		} else {
			if (yych <= '_') {
				if (yych <= '^') goto yy1268;
				goto yy1369;
			} else {
				if (yych <= '`') goto yy1268;
				if (yych <= 'z') goto yy1369;
				goto yy1268;
			}
		}
	}
yy1368:
	yych = *++p;
	if (yych == '>') goto yy1285;
	goto yy1268;
yy1369:
	++p;
	yych = *p;
	if (yybm[0+yych] & 16) {
		goto yy1369;
	}
	if (yych <= ',') {
		if (yych <= '\r') {
			if (yych <= 0x08) goto yy1268;
		} else {
			if (yych != ' ') goto yy1268;
		}
	} else {
		if (yych <= '<') {
			if (yych <= '/') goto yy1368;
			goto yy1268;
		} else {
			if (yych <= '=') goto yy1373;
			if (yych <= '>') goto yy1285;
			goto yy1268;
		}
	}
yy1371:
	++p;
	yych = *p;
	if (yych <= '<') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1268;
			if (yych <= '\r') goto yy1371;
			if (yych <= 0x1F) goto yy1268;
			goto yy1371;
		} else {
			if (yych <= '/') {
				if (yych <= '.') goto yy1268;
				goto yy1368;
			} else {
				if (yych == ':') goto yy1369;
				goto yy1268;
			}
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '=') goto yy1373;
			if (yych <= '>') goto yy1285;
			if (yych <= '@') goto yy1268;
			goto yy1369;
		} else {
			if (yych <= '_') {
				if (yych <= '^') goto yy1268;
				goto yy1369;
			} else {
				if (yych <= '`') goto yy1268;
				if (yych <= 'z') goto yy1369;
				goto yy1268;
			}
		}
	}
yy1373:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1375;
	}
	if (yych <= 0xE0) {
		if (yych <= '"') {
			if (yych <= 0x00) goto yy1268;
			if (yych >= '!') goto yy1386;
		} else {
			if (yych <= '\'') goto yy1384;
			if (yych <= 0xC1) goto yy1268;
			if (yych <= 0xDF) goto yy1377;
			goto yy1378;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1383;
			goto yy1379;
		} else {
			if (yych <= 0xF0) goto yy1380;
			if (yych <= 0xF3) goto yy1381;
			if (yych <= 0xF4) goto yy1382;
			goto yy1268;
		}
	}
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1375;
	}
	if (yych <= 0xDF) {
		if (yych <= '\'') {
			if (yych <= 0x00) goto yy1268;
			if (yych <= ' ') goto yy1409;
			if (yych <= '"') goto yy1386;
			goto yy1384;
		} else {
			if (yych == '>') goto yy1285;
			if (yych <= 0xC1) goto yy1268;
			goto yy1377;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1378;
			if (yych == 0xED) goto yy1383;
			goto yy1379;
		} else {
			if (yych <= 0xF0) goto yy1380;
			if (yych <= 0xF3) goto yy1381;
			if (yych <= 0xF4) goto yy1382;
			goto yy1268;
		}
	}
yy1375:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1375;
	}
	if (yych <= 0xE0) {
		if (yych <= '=') {
			if (yych <= 0x00) goto yy1268;
			if (yych <= ' ') goto yy1403;
			goto yy1268;
		} else {
			if (yych <= '>') goto yy1285;
			if (yych <= 0xC1) goto yy1268;
			if (yych >= 0xE0) goto yy1378;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1383;
			goto yy1379;
		} else {
			if (yych <= 0xF0) goto yy1380;
			if (yych <= 0xF3) goto yy1381;
			if (yych <= 0xF4) goto yy1382;
			goto yy1268;
		}
	}
yy1377:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1375;
	goto yy1268;
yy1378:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1377;
	goto yy1268;
yy1379:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1377;
	goto yy1268;
yy1380:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1379;
	goto yy1268;
yy1381:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1379;
	goto yy1268;
yy1382:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1379;
	goto yy1268;
yy1383:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1377;
	goto yy1268;
yy1384:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1384;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '\'') goto yy1395;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1396;
			if (yych <= 0xE0) goto yy1397;
			goto yy1398;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1402;
			if (yych <= 0xEF) goto yy1398;
			goto yy1399;
		} else {
			if (yych <= 0xF3) goto yy1400;
			if (yych <= 0xF4) goto yy1401;
			goto yy1268;
		}
	}
yy1386:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1386;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1268;
			if (yych <= '"') goto yy1395;
			goto yy1268;
		} else {
			if (yych <= 0xDF) goto yy1388;
			if (yych <= 0xE0) goto yy1389;
			goto yy1390;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1394;
			if (yych <= 0xEF) goto yy1390;
			goto yy1391;
		} else {
			if (yych <= 0xF3) goto yy1392;
			if (yych <= 0xF4) goto yy1393;
			goto yy1268;
		}
	}
yy1388:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1386;
	goto yy1268;
yy1389:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1388;
	goto yy1268;
yy1390:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1388;
	goto yy1268;
yy1391:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1390;
	goto yy1268;
yy1392:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1390;
	goto yy1268;
yy1393:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1390;
	goto yy1268;
yy1394:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1388;
	goto yy1268;
yy1395:
	++p;
	yych = *p;
	if (yych <= ' ') {
		if (yych <= 0x08) goto yy1268;
		if (yych <= '\r') goto yy1366;
		if (yych <= 0x1F) goto yy1268;
		goto yy1366;
	} else {
		if (yych <= '/') {
			if (yych <= '.') goto yy1268;
			goto yy1368;
		} else {
			if (yych == '>') goto yy1285;
			goto yy1268;
		}
	}
yy1396:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1384;
	goto yy1268;
yy1397:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1268;
	if (yych <= 0xBF) goto yy1396;
	goto yy1268;
yy1398:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1396;
	goto yy1268;
yy1399:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1268;
	if (yych <= 0xBF) goto yy1398;
	goto yy1268;
yy1400:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0xBF) goto yy1398;
	goto yy1268;
yy1401:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x8F) goto yy1398;
	goto yy1268;
yy1402:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1268;
	if (yych <= 0x9F) goto yy1396;
	goto yy1268;
yy1403:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '"') {
			if (yych <= '\r') {
				if (yych <= 0x00) goto yy1268;
				if (yych <= 0x08) goto yy1375;
				goto yy1403;
			} else {
				if (yych == ' ') goto yy1403;
				if (yych <= '!') goto yy1375;
				goto yy1268;
			}
		} else {
			if (yych <= ':') {
				if (yych == '\'') goto yy1268;
				if (yych <= '9') goto yy1375;
			} else {
				if (yych <= ';') goto yy1375;
				if (yych <= '=') goto yy1268;
				if (yych <= '>') goto yy1285;
				goto yy1375;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= '`') {
				if (yych <= 'Z') goto yy1405;
				if (yych <= '^') goto yy1375;
				if (yych >= '`') goto yy1268;
			} else {
				if (yych <= 'z') goto yy1405;
				if (yych <= 0x7F) goto yy1375;
				if (yych <= 0xC1) goto yy1268;
				goto yy1377;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1378;
				if (yych == 0xED) goto yy1383;
				goto yy1379;
			} else {
				if (yych <= 0xF0) goto yy1380;
				if (yych <= 0xF3) goto yy1381;
				if (yych <= 0xF4) goto yy1382;
				goto yy1268;
			}
		}
	}
yy1405:
	++p;
	yych = *p;
	if (yych <= '>') {
		if (yych <= '&') {
			if (yych <= 0x1F) {
				if (yych <= 0x00) goto yy1268;
				if (yych <= 0x08) goto yy1375;
				if (yych >= 0x0E) goto yy1375;
			} else {
				if (yych <= ' ') goto yy1407;
				if (yych == '"') goto yy1268;
				goto yy1375;
			}
		} else {
			if (yych <= '/') {
				if (yych <= '\'') goto yy1268;
				if (yych <= ',') goto yy1375;
				if (yych <= '.') goto yy1405;
				goto yy1375;
			} else {
				if (yych <= ';') {
					if (yych <= ':') goto yy1405;
					goto yy1375;
				} else {
					if (yych <= '<') goto yy1268;
					if (yych <= '=') goto yy1373;
					goto yy1285;
				}
			}
		}
	} else {
		if (yych <= 0xC1) {
			if (yych <= '_') {
				if (yych <= '@') goto yy1375;
				if (yych <= 'Z') goto yy1405;
				if (yych <= '^') goto yy1375;
				goto yy1405;
			} else {
				if (yych <= '`') goto yy1268;
				if (yych <= 'z') goto yy1405;
				if (yych <= 0x7F) goto yy1375;
				goto yy1268;
			}
		} else {
			if (yych <= 0xED) {
				if (yych <= 0xDF) goto yy1377;
				if (yych <= 0xE0) goto yy1378;
				if (yych <= 0xEC) goto yy1379;
				goto yy1383;
			} else {
				if (yych <= 0xF0) {
					if (yych <= 0xEF) goto yy1379;
					goto yy1380;
				} else {
					if (yych <= 0xF3) goto yy1381;
					if (yych <= 0xF4) goto yy1382;
					goto yy1268;
				}
			}
		}
	}
yy1407:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '&') {
			if (yych <= 0x1F) {
				if (yych <= 0x00) goto yy1268;
				if (yych <= 0x08) goto yy1375;
				if (yych <= '\r') goto yy1407;
				goto yy1375;
			} else {
				if (yych <= ' ') goto yy1407;
				if (yych == '"') goto yy1268;
				goto yy1375;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '\'') goto yy1268;
				if (yych == ':') goto yy1405;
				goto yy1375;
			} else {
				if (yych <= '<') goto yy1268;
				if (yych <= '=') goto yy1373;
				if (yych <= '>') goto yy1285;
				goto yy1375;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= '`') {
				if (yych <= 'Z') goto yy1405;
				if (yych <= '^') goto yy1375;
				if (yych <= '_') goto yy1405;
				goto yy1268;
			} else {
				if (yych <= 'z') goto yy1405;
				if (yych <= 0x7F) goto yy1375;
				if (yych <= 0xC1) goto yy1268;
				goto yy1377;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1378;
				if (yych == 0xED) goto yy1383;
				goto yy1379;
			} else {
				if (yych <= 0xF0) goto yy1380;
				if (yych <= 0xF3) goto yy1381;
				if (yych <= 0xF4) goto yy1382;
				goto yy1268;
			}
		}
	}
yy1409:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '"') {
			if (yych <= '\r') {
				if (yych <= 0x00) goto yy1268;
				if (yych <= 0x08) goto yy1375;
				goto yy1409;
			} else {
				if (yych == ' ') goto yy1409;
				if (yych <= '!') goto yy1375;
				goto yy1386;
			}
		} else {
			if (yych <= ':') {
				if (yych == '\'') goto yy1384;
				if (yych <= '9') goto yy1375;
				goto yy1405;
			} else {
				if (yych <= ';') goto yy1375;
				if (yych <= '=') goto yy1268;
				if (yych <= '>') goto yy1285;
				goto yy1375;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= '`') {
				if (yych <= 'Z') goto yy1405;
				if (yych <= '^') goto yy1375;
				if (yych <= '_') goto yy1405;
				goto yy1268;
			} else {
				if (yych <= 'z') goto yy1405;
				if (yych <= 0x7F) goto yy1375;
				if (yych <= 0xC1) goto yy1268;
				goto yy1377;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1378;
				if (yych == 0xED) goto yy1383;
				goto yy1379;
			} else {
				if (yych <= 0xF0) goto yy1380;
				if (yych <= 0xF3) goto yy1381;
				if (yych <= 0xF4) goto yy1382;
				goto yy1268;
			}
		}
	}
}

}

// Try to match an HTML block tag start line, returning
// an integer code for the type of block (1-6, matching the spec).
// #7 is handled by a separate function, below.
bufsize_t _scan_html_block_start(const unsigned char *p)
{
  const unsigned char *marker = NULL;

{
	unsigned char yych;
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= ';') {
			if (yych != '\n') goto yy1415;
		} else {
			if (yych <= '<') goto yy1414;
			if (yych <= 0x7F) goto yy1415;
			if (yych >= 0xC2) goto yy1416;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1418;
			if (yych == 0xED) goto yy1423;
			goto yy1419;
		} else {
			if (yych <= 0xF0) goto yy1420;
			if (yych <= 0xF3) goto yy1421;
			if (yych <= 0xF4) goto yy1422;
		}
	}
yy1413:
	{ return 0; }
yy1414:
	yych = *(marker = ++p);
	switch (yych) {
	case '!':	goto yy1439;
	case '/':	goto yy1424;
	case '?':	goto yy1440;
	case 'A':
	case 'a':	goto yy1426;
	case 'B':
	case 'b':	goto yy1427;
	case 'C':
	case 'c':	goto yy1428;
	case 'D':
	case 'd':	goto yy1429;
	case 'F':
	case 'f':	goto yy1430;
	case 'H':
	case 'h':	goto yy1431;
	case 'L':
	case 'l':	goto yy1432;
	case 'M':
	case 'm':	goto yy1433;
	case 'N':
	case 'n':	goto yy1434;
	case 'O':
	case 'o':	goto yy1435;
	case 'P':
	case 'p':	goto yy1425;
	case 'S':
	case 's':	goto yy1436;
	case 'T':
	case 't':	goto yy1437;
	case 'U':
	case 'u':	goto yy1438;
	default:	goto yy1413;
	}
yy1415:
	yych = *++p;
	goto yy1413;
yy1416:
	yych = *++p;
	if (yych <= 0x7F) goto yy1417;
	if (yych <= 0xBF) goto yy1415;
yy1417:
	p = marker;
	goto yy1413;
yy1418:
	yych = *++p;
	if (yych <= 0x9F) goto yy1417;
	if (yych <= 0xBF) goto yy1416;
	goto yy1417;
yy1419:
	yych = *++p;
	if (yych <= 0x7F) goto yy1417;
	if (yych <= 0xBF) goto yy1416;
	goto yy1417;
yy1420:
	yych = *++p;
	if (yych <= 0x8F) goto yy1417;
	if (yych <= 0xBF) goto yy1419;
	goto yy1417;
yy1421:
	yych = *++p;
	if (yych <= 0x7F) goto yy1417;
	if (yych <= 0xBF) goto yy1419;
	goto yy1417;
yy1422:
	yych = *++p;
	if (yych <= 0x7F) goto yy1417;
	if (yych <= 0x8F) goto yy1419;
	goto yy1417;
yy1423:
	yych = *++p;
	if (yych <= 0x7F) goto yy1417;
	if (yych <= 0x9F) goto yy1416;
	goto yy1417;
yy1424:
	yych = *++p;
	switch (yych) {
	case 'A':
	case 'a':	goto yy1426;
	case 'B':
	case 'b':	goto yy1427;
	case 'C':
	case 'c':	goto yy1428;
	case 'D':
	case 'd':	goto yy1429;
	case 'F':
	case 'f':	goto yy1430;
	case 'H':
	case 'h':	goto yy1431;
	case 'L':
	case 'l':	goto yy1432;
	case 'M':
	case 'm':	goto yy1433;
	case 'N':
	case 'n':	goto yy1434;
	case 'O':
	case 'o':	goto yy1435;
	case 'P':
	case 'p':	goto yy1622;
	case 'S':
	case 's':	goto yy1623;
	case 'T':
	case 't':	goto yy1437;
	case 'U':
	case 'u':	goto yy1438;
	default:	goto yy1417;
	}
yy1425:
	yych = *++p;
	if (yych <= '>') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			if (yych <= 0x1F) goto yy1417;
			goto yy1456;
		} else {
			if (yych == '/') goto yy1458;
			if (yych <= '=') goto yy1417;
			goto yy1456;
		}
	} else {
		if (yych <= 'R') {
			if (yych == 'A') goto yy1617;
			if (yych <= 'Q') goto yy1417;
			goto yy1616;
		} else {
			if (yych <= 'a') {
				if (yych <= '`') goto yy1417;
				goto yy1617;
			} else {
				if (yych == 'r') goto yy1616;
				goto yy1417;
			}
		}
	}
yy1426:
	yych = *++p;
	if (yych <= 'S') {
		if (yych <= 'D') {
			if (yych <= 'C') goto yy1417;
			goto yy1605;
		} else {
			if (yych <= 'Q') goto yy1417;
			if (yych <= 'R') goto yy1604;
			goto yy1603;
		}
	} else {
		if (yych <= 'q') {
			if (yych == 'd') goto yy1605;
			goto yy1417;
		} else {
			if (yych <= 'r') goto yy1604;
			if (yych <= 's') goto yy1603;
			goto yy1417;
		}
	}
yy1427:
	yych = *++p;
	if (yych <= 'O') {
		if (yych <= 'K') {
			if (yych == 'A') goto yy1589;
			goto yy1417;
		} else {
			if (yych <= 'L') goto yy1588;
			if (yych <= 'N') goto yy1417;
			goto yy1587;
		}
	} else {
		if (yych <= 'k') {
			if (yych == 'a') goto yy1589;
			goto yy1417;
		} else {
			if (yych <= 'l') goto yy1588;
			if (yych == 'o') goto yy1587;
			goto yy1417;
		}
	}
yy1428:
	yych = *++p;
	if (yych <= 'O') {
		if (yych <= 'D') {
			if (yych == 'A') goto yy1574;
			goto yy1417;
		} else {
			if (yych <= 'E') goto yy1573;
			if (yych <= 'N') goto yy1417;
			goto yy1572;
		}
	} else {
		if (yych <= 'd') {
			if (yych == 'a') goto yy1574;
			goto yy1417;
		} else {
			if (yych <= 'e') goto yy1573;
			if (yych == 'o') goto yy1572;
			goto yy1417;
		}
	}
yy1429:
	yych = *++p;
	switch (yych) {
	case 'D':
	case 'L':
	case 'T':
	case 'd':
	case 'l':
	case 't':	goto yy1455;
	case 'E':
	case 'e':	goto yy1564;
	case 'I':
	case 'i':	goto yy1563;
	default:	goto yy1417;
	}
yy1430:
	yych = *++p;
	if (yych <= 'R') {
		if (yych <= 'N') {
			if (yych == 'I') goto yy1539;
			goto yy1417;
		} else {
			if (yych <= 'O') goto yy1538;
			if (yych <= 'Q') goto yy1417;
			goto yy1537;
		}
	} else {
		if (yych <= 'n') {
			if (yych == 'i') goto yy1539;
			goto yy1417;
		} else {
			if (yych <= 'o') goto yy1538;
			if (yych == 'r') goto yy1537;
			goto yy1417;
		}
	}
yy1431:
	yych = *++p;
	if (yych <= 'S') {
		if (yych <= 'D') {
			if (yych == '1') goto yy1455;
			goto yy1417;
		} else {
			if (yych <= 'E') goto yy1532;
			if (yych == 'R') goto yy1455;
			goto yy1417;
		}
	} else {
		if (yych <= 'q') {
			if (yych <= 'T') goto yy1531;
			if (yych == 'e') goto yy1532;
			goto yy1417;
		} else {
			if (yych <= 'r') goto yy1455;
			if (yych == 't') goto yy1531;
			goto yy1417;
		}
	}
yy1432:
	yych = *++p;
	if (yych <= 'I') {
		if (yych == 'E') goto yy1526;
		if (yych <= 'H') goto yy1417;
		goto yy1525;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy1417;
			goto yy1526;
		} else {
			if (yych == 'i') goto yy1525;
			goto yy1417;
		}
	}
yy1433:
	yych = *++p;
	if (yych <= 'E') {
		if (yych == 'A') goto yy1517;
		if (yych <= 'D') goto yy1417;
		goto yy1516;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy1417;
			goto yy1517;
		} else {
			if (yych == 'e') goto yy1516;
			goto yy1417;
		}
	}
yy1434:
	yych = *++p;
	if (yych <= 'O') {
		if (yych == 'A') goto yy1510;
		if (yych <= 'N') goto yy1417;
		goto yy1509;
	} else {
		if (yych <= 'a') {
			if (yych <= '`') goto yy1417;
			goto yy1510;
		} else {
			if (yych == 'o') goto yy1509;
			goto yy1417;
		}
	}
yy1435:
	yych = *++p;
	if (yych <= 'P') {
		if (yych == 'L') goto yy1455;
		if (yych <= 'O') goto yy1417;
		goto yy1501;
	} else {
		if (yych <= 'l') {
			if (yych <= 'k') goto yy1417;
			goto yy1455;
		} else {
			if (yych == 'p') goto yy1501;
			goto yy1417;
		}
	}
yy1436:
	yych = *++p;
	if (yych <= 'U') {
		if (yych <= 'E') {
			if (yych == 'C') goto yy1478;
			if (yych <= 'D') goto yy1417;
			goto yy1481;
		} else {
			if (yych <= 'O') {
				if (yych <= 'N') goto yy1417;
				goto yy1480;
			} else {
				if (yych <= 'S') goto yy1417;
				if (yych <= 'T') goto yy1477;
				goto yy1479;
			}
		}
	} else {
		if (yych <= 'n') {
			if (yych <= 'c') {
				if (yych <= 'b') goto yy1417;
				goto yy1478;
			} else {
				if (yych == 'e') goto yy1481;
				goto yy1417;
			}
		} else {
			if (yych <= 's') {
				if (yych <= 'o') goto yy1480;
				goto yy1417;
			} else {
				if (yych <= 't') goto yy1477;
				if (yych <= 'u') goto yy1479;
				goto yy1417;
			}
		}
	}
yy1437:
	yych = *++p;
	switch (yych) {
	case 'A':
	case 'a':	goto yy1464;
	case 'B':
	case 'b':	goto yy1463;
	case 'D':
	case 'd':	goto yy1455;
	case 'F':
	case 'f':	goto yy1462;
	case 'H':
	case 'h':	goto yy1461;
	case 'I':
	case 'i':	goto yy1460;
	case 'R':
	case 'r':	goto yy1459;
	default:	goto yy1417;
	}
yy1438:
	yych = *++p;
	if (yych == 'L') goto yy1455;
	if (yych == 'l') goto yy1455;
	goto yy1417;
yy1439:
	yych = *++p;
	if (yych <= '@') {
		if (yych == '-') goto yy1442;
		goto yy1417;
	} else {
		if (yych <= 'Z') goto yy1443;
		if (yych <= '[') goto yy1445;
		goto yy1417;
	}
yy1440:
	++p;
	{ return 3; }
yy1442:
	yych = *++p;
	if (yych == '-') goto yy1453;
	goto yy1417;
yy1443:
	++p;
	{ return 4; }
yy1445:
	yych = *++p;
	if (yych == 'C') goto yy1446;
	if (yych != 'c') goto yy1417;
yy1446:
	yych = *++p;
	if (yych == 'D') goto yy1447;
	if (yych != 'd') goto yy1417;
yy1447:
	yych = *++p;
	if (yych == 'A') goto yy1448;
	if (yych != 'a') goto yy1417;
yy1448:
	yych = *++p;
	if (yych == 'T') goto yy1449;
	if (yych != 't') goto yy1417;
yy1449:
	yych = *++p;
	if (yych == 'A') goto yy1450;
	if (yych != 'a') goto yy1417;
yy1450:
	yych = *++p;
	if (yych != '[') goto yy1417;
	++p;
	{ return 5; }
yy1453:
	++p;
	{ return 2; }
yy1455:
	yych = *++p;
	if (yych <= ' ') {
		if (yych <= 0x08) goto yy1417;
		if (yych <= '\r') goto yy1456;
		if (yych <= 0x1F) goto yy1417;
	} else {
		if (yych <= '/') {
			if (yych <= '.') goto yy1417;
			goto yy1458;
		} else {
			if (yych != '>') goto yy1417;
		}
	}
yy1456:
	++p;
	{ return 6; }
yy1458:
	yych = *++p;
	if (yych == '>') goto yy1456;
	goto yy1417;
yy1459:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= '@') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'A') goto yy1475;
			if (yych == 'a') goto yy1475;
			goto yy1417;
		}
	}
yy1460:
	yych = *++p;
	if (yych == 'T') goto yy1473;
	if (yych == 't') goto yy1473;
	goto yy1417;
yy1461:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'D') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'E') goto yy1471;
			if (yych == 'e') goto yy1471;
			goto yy1417;
		}
	}
yy1462:
	yych = *++p;
	if (yych == 'O') goto yy1469;
	if (yych == 'o') goto yy1469;
	goto yy1417;
yy1463:
	yych = *++p;
	if (yych == 'O') goto yy1467;
	if (yych == 'o') goto yy1467;
	goto yy1417;
yy1464:
	yych = *++p;
	if (yych == 'B') goto yy1465;
	if (yych != 'b') goto yy1417;
yy1465:
	yych = *++p;
	if (yych == 'L') goto yy1466;
	if (yych != 'l') goto yy1417;
yy1466:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1467:
	yych = *++p;
	if (yych == 'D') goto yy1468;
	if (yych != 'd') goto yy1417;
yy1468:
	yych = *++p;
	if (yych == 'Y') goto yy1455;
	if (yych == 'y') goto yy1455;
	goto yy1417;
yy1469:
	yych = *++p;
	if (yych == 'O') goto yy1470;
	if (yych != 'o') goto yy1417;
yy1470:
	yych = *++p;
	if (yych == 'T') goto yy1455;
	if (yych == 't') goto yy1455;
	goto yy1417;
yy1471:
	yych = *++p;
	if (yych == 'A') goto yy1472;
	if (yych != 'a') goto yy1417;
yy1472:
	yych = *++p;
	if (yych == 'D') goto yy1455;
	if (yych == 'd') goto yy1455;
	goto yy1417;
yy1473:
	yych = *++p;
	if (yych == 'L') goto yy1474;
	if (yych != 'l') goto yy1417;
yy1474:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1475:
	yych = *++p;
	if (yych == 'C') goto yy1476;
	if (yych != 'c') goto yy1417;
yy1476:
	yych = *++p;
	if (yych == 'K') goto yy1455;
	if (yych == 'k') goto yy1455;
	goto yy1417;
yy1477:
	yych = *++p;
	if (yych == 'Y') goto yy1499;
	if (yych == 'y') goto yy1499;
	goto yy1417;
yy1478:
	yych = *++p;
	if (yych == 'R') goto yy1493;
	if (yych == 'r') goto yy1493;
	goto yy1417;
yy1479:
	yych = *++p;
	if (yych == 'M') goto yy1489;
	if (yych == 'm') goto yy1489;
	goto yy1417;
yy1480:
	yych = *++p;
	if (yych == 'U') goto yy1486;
	if (yych == 'u') goto yy1486;
	goto yy1417;
yy1481:
	yych = *++p;
	if (yych == 'C') goto yy1482;
	if (yych != 'c') goto yy1417;
yy1482:
	yych = *++p;
	if (yych == 'T') goto yy1483;
	if (yych != 't') goto yy1417;
yy1483:
	yych = *++p;
	if (yych == 'I') goto yy1484;
	if (yych != 'i') goto yy1417;
yy1484:
	yych = *++p;
	if (yych == 'O') goto yy1485;
	if (yych != 'o') goto yy1417;
yy1485:
	yych = *++p;
	if (yych == 'N') goto yy1455;
	if (yych == 'n') goto yy1455;
	goto yy1417;
yy1486:
	yych = *++p;
	if (yych == 'R') goto yy1487;
	if (yych != 'r') goto yy1417;
yy1487:
	yych = *++p;
	if (yych == 'C') goto yy1488;
	if (yych != 'c') goto yy1417;
yy1488:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1489:
	yych = *++p;
	if (yych == 'M') goto yy1490;
	if (yych != 'm') goto yy1417;
yy1490:
	yych = *++p;
	if (yych == 'A') goto yy1491;
	if (yych != 'a') goto yy1417;
yy1491:
	yych = *++p;
	if (yych == 'R') goto yy1492;
	if (yych != 'r') goto yy1417;
yy1492:
	yych = *++p;
	if (yych == 'Y') goto yy1455;
	if (yych == 'y') goto yy1455;
	goto yy1417;
yy1493:
	yych = *++p;
	if (yych == 'I') goto yy1494;
	if (yych != 'i') goto yy1417;
yy1494:
	yych = *++p;
	if (yych == 'P') goto yy1495;
	if (yych != 'p') goto yy1417;
yy1495:
	yych = *++p;
	if (yych == 'T') goto yy1496;
	if (yych != 't') goto yy1417;
yy1496:
	yych = *++p;
	if (yych <= 0x1F) {
		if (yych <= 0x08) goto yy1417;
		if (yych >= 0x0E) goto yy1417;
	} else {
		if (yych <= ' ') goto yy1497;
		if (yych != '>') goto yy1417;
	}
yy1497:
	++p;
yy1498:
	{ return 1; }
yy1499:
	yych = *++p;
	if (yych == 'L') goto yy1500;
	if (yych != 'l') goto yy1417;
yy1500:
	yych = *++p;
	if (yych == 'E') goto yy1496;
	if (yych == 'e') goto yy1496;
	goto yy1417;
yy1501:
	yych = *++p;
	if (yych == 'T') goto yy1502;
	if (yych != 't') goto yy1417;
yy1502:
	yych = *++p;
	if (yych <= 'I') {
		if (yych == 'G') goto yy1504;
		if (yych <= 'H') goto yy1417;
	} else {
		if (yych <= 'g') {
			if (yych <= 'f') goto yy1417;
			goto yy1504;
		} else {
			if (yych != 'i') goto yy1417;
		}
	}
	yych = *++p;
	if (yych == 'O') goto yy1508;
	if (yych == 'o') goto yy1508;
	goto yy1417;
yy1504:
	yych = *++p;
	if (yych == 'R') goto yy1505;
	if (yych != 'r') goto yy1417;
yy1505:
	yych = *++p;
	if (yych == 'O') goto yy1506;
	if (yych != 'o') goto yy1417;
yy1506:
	yych = *++p;
	if (yych == 'U') goto yy1507;
	if (yych != 'u') goto yy1417;
yy1507:
	yych = *++p;
	if (yych == 'P') goto yy1455;
	if (yych == 'p') goto yy1455;
	goto yy1417;
yy1508:
	yych = *++p;
	if (yych == 'N') goto yy1455;
	if (yych == 'n') goto yy1455;
	goto yy1417;
yy1509:
	yych = *++p;
	if (yych == 'F') goto yy1511;
	if (yych == 'f') goto yy1511;
	goto yy1417;
yy1510:
	yych = *++p;
	if (yych == 'V') goto yy1455;
	if (yych == 'v') goto yy1455;
	goto yy1417;
yy1511:
	yych = *++p;
	if (yych == 'R') goto yy1512;
	if (yych != 'r') goto yy1417;
yy1512:
	yych = *++p;
	if (yych == 'A') goto yy1513;
	if (yych != 'a') goto yy1417;
yy1513:
	yych = *++p;
	if (yych == 'M') goto yy1514;
	if (yych != 'm') goto yy1417;
yy1514:
	yych = *++p;
	if (yych == 'E') goto yy1515;
	if (yych != 'e') goto yy1417;
yy1515:
	yych = *++p;
	if (yych == 'S') goto yy1455;
	if (yych == 's') goto yy1455;
	goto yy1417;
yy1516:
	yych = *++p;
	if (yych <= 'T') {
		if (yych == 'N') goto yy1519;
		if (yych <= 'S') goto yy1417;
		goto yy1520;
	} else {
		if (yych <= 'n') {
			if (yych <= 'm') goto yy1417;
			goto yy1519;
		} else {
			if (yych == 't') goto yy1520;
			goto yy1417;
		}
	}
yy1517:
	yych = *++p;
	if (yych == 'I') goto yy1518;
	if (yych != 'i') goto yy1417;
yy1518:
	yych = *++p;
	if (yych == 'N') goto yy1455;
	if (yych == 'n') goto yy1455;
	goto yy1417;
yy1519:
	yych = *++p;
	if (yych == 'U') goto yy1521;
	if (yych == 'u') goto yy1521;
	goto yy1417;
yy1520:
	yych = *++p;
	if (yych == 'A') goto yy1455;
	if (yych == 'a') goto yy1455;
	goto yy1417;
yy1521:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'H') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'I') goto yy1522;
			if (yych != 'i') goto yy1417;
		}
	}
yy1522:
	yych = *++p;
	if (yych == 'T') goto yy1523;
	if (yych != 't') goto yy1417;
yy1523:
	yych = *++p;
	if (yych == 'E') goto yy1524;
	if (yych != 'e') goto yy1417;
yy1524:
	yych = *++p;
	if (yych == 'M') goto yy1455;
	if (yych == 'm') goto yy1455;
	goto yy1417;
yy1525:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'M') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'N') goto yy1530;
			if (yych == 'n') goto yy1530;
			goto yy1417;
		}
	}
yy1526:
	yych = *++p;
	if (yych == 'G') goto yy1527;
	if (yych != 'g') goto yy1417;
yy1527:
	yych = *++p;
	if (yych == 'E') goto yy1528;
	if (yych != 'e') goto yy1417;
yy1528:
	yych = *++p;
	if (yych == 'N') goto yy1529;
	if (yych != 'n') goto yy1417;
yy1529:
	yych = *++p;
	if (yych == 'D') goto yy1455;
	if (yych == 'd') goto yy1455;
	goto yy1417;
yy1530:
	yych = *++p;
	if (yych == 'K') goto yy1455;
	if (yych == 'k') goto yy1455;
	goto yy1417;
yy1531:
	yych = *++p;
	if (yych == 'M') goto yy1536;
	if (yych == 'm') goto yy1536;
	goto yy1417;
yy1532:
	yych = *++p;
	if (yych == 'A') goto yy1533;
	if (yych != 'a') goto yy1417;
yy1533:
	yych = *++p;
	if (yych == 'D') goto yy1534;
	if (yych != 'd') goto yy1417;
yy1534:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'D') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'E') goto yy1535;
			if (yych != 'e') goto yy1417;
		}
	}
yy1535:
	yych = *++p;
	if (yych == 'R') goto yy1455;
	if (yych == 'r') goto yy1455;
	goto yy1417;
yy1536:
	yych = *++p;
	if (yych == 'L') goto yy1455;
	if (yych == 'l') goto yy1455;
	goto yy1417;
yy1537:
	yych = *++p;
	if (yych == 'A') goto yy1558;
	if (yych == 'a') goto yy1558;
	goto yy1417;
yy1538:
	yych = *++p;
	if (yych <= 'R') {
		if (yych == 'O') goto yy1554;
		if (yych <= 'Q') goto yy1417;
		goto yy1555;
	} else {
		if (yych <= 'o') {
			if (yych <= 'n') goto yy1417;
			goto yy1554;
		} else {
			if (yych == 'r') goto yy1555;
			goto yy1417;
		}
	}
yy1539:
	yych = *++p;
	if (yych <= 'G') {
		if (yych == 'E') goto yy1540;
		if (yych <= 'F') goto yy1417;
		goto yy1541;
	} else {
		if (yych <= 'e') {
			if (yych <= 'd') goto yy1417;
		} else {
			if (yych == 'g') goto yy1541;
			goto yy1417;
		}
	}
yy1540:
	yych = *++p;
	if (yych == 'L') goto yy1550;
	if (yych == 'l') goto yy1550;
	goto yy1417;
yy1541:
	yych = *++p;
	if (yych <= 'U') {
		if (yych == 'C') goto yy1543;
		if (yych <= 'T') goto yy1417;
	} else {
		if (yych <= 'c') {
			if (yych <= 'b') goto yy1417;
			goto yy1543;
		} else {
			if (yych != 'u') goto yy1417;
		}
	}
	yych = *++p;
	if (yych == 'R') goto yy1549;
	if (yych == 'r') goto yy1549;
	goto yy1417;
yy1543:
	yych = *++p;
	if (yych == 'A') goto yy1544;
	if (yych != 'a') goto yy1417;
yy1544:
	yych = *++p;
	if (yych == 'P') goto yy1545;
	if (yych != 'p') goto yy1417;
yy1545:
	yych = *++p;
	if (yych == 'T') goto yy1546;
	if (yych != 't') goto yy1417;
yy1546:
	yych = *++p;
	if (yych == 'I') goto yy1547;
	if (yych != 'i') goto yy1417;
yy1547:
	yych = *++p;
	if (yych == 'O') goto yy1548;
	if (yych != 'o') goto yy1417;
yy1548:
	yych = *++p;
	if (yych == 'N') goto yy1455;
	if (yych == 'n') goto yy1455;
	goto yy1417;
yy1549:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1550:
	yych = *++p;
	if (yych == 'D') goto yy1551;
	if (yych != 'd') goto yy1417;
yy1551:
	yych = *++p;
	if (yych == 'S') goto yy1552;
	if (yych != 's') goto yy1417;
yy1552:
	yych = *++p;
	if (yych == 'E') goto yy1553;
	if (yych != 'e') goto yy1417;
yy1553:
	yych = *++p;
	if (yych == 'T') goto yy1455;
	if (yych == 't') goto yy1455;
	goto yy1417;
yy1554:
	yych = *++p;
	if (yych == 'T') goto yy1556;
	if (yych == 't') goto yy1556;
	goto yy1417;
yy1555:
	yych = *++p;
	if (yych == 'M') goto yy1455;
	if (yych == 'm') goto yy1455;
	goto yy1417;
yy1556:
	yych = *++p;
	if (yych == 'E') goto yy1557;
	if (yych != 'e') goto yy1417;
yy1557:
	yych = *++p;
	if (yych == 'R') goto yy1455;
	if (yych == 'r') goto yy1455;
	goto yy1417;
yy1558:
	yych = *++p;
	if (yych == 'M') goto yy1559;
	if (yych != 'm') goto yy1417;
yy1559:
	yych = *++p;
	if (yych == 'E') goto yy1560;
	if (yych != 'e') goto yy1417;
yy1560:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'R') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'S') goto yy1561;
			if (yych != 's') goto yy1417;
		}
	}
yy1561:
	yych = *++p;
	if (yych == 'E') goto yy1562;
	if (yych != 'e') goto yy1417;
yy1562:
	yych = *++p;
	if (yych == 'T') goto yy1455;
	if (yych == 't') goto yy1455;
	goto yy1417;
yy1563:
	yych = *++p;
	if (yych <= 'V') {
		if (yych <= 'Q') {
			if (yych == 'A') goto yy1569;
			goto yy1417;
		} else {
			if (yych <= 'R') goto yy1455;
			if (yych <= 'U') goto yy1417;
			goto yy1455;
		}
	} else {
		if (yych <= 'q') {
			if (yych == 'a') goto yy1569;
			goto yy1417;
		} else {
			if (yych <= 'r') goto yy1455;
			if (yych == 'v') goto yy1455;
			goto yy1417;
		}
	}
yy1564:
	yych = *++p;
	if (yych == 'T') goto yy1565;
	if (yych != 't') goto yy1417;
yy1565:
	yych = *++p;
	if (yych == 'A') goto yy1566;
	if (yych != 'a') goto yy1417;
yy1566:
	yych = *++p;
	if (yych == 'I') goto yy1567;
	if (yych != 'i') goto yy1417;
yy1567:
	yych = *++p;
	if (yych == 'L') goto yy1568;
	if (yych != 'l') goto yy1417;
yy1568:
	yych = *++p;
	if (yych == 'S') goto yy1455;
	if (yych == 's') goto yy1455;
	goto yy1417;
yy1569:
	yych = *++p;
	if (yych == 'L') goto yy1570;
	if (yych != 'l') goto yy1417;
yy1570:
	yych = *++p;
	if (yych == 'O') goto yy1571;
	if (yych != 'o') goto yy1417;
yy1571:
	yych = *++p;
	if (yych == 'G') goto yy1455;
	if (yych == 'g') goto yy1455;
	goto yy1417;
yy1572:
	yych = *++p;
	if (yych == 'L') goto yy1582;
	if (yych == 'l') goto yy1582;
	goto yy1417;
yy1573:
	yych = *++p;
	if (yych == 'N') goto yy1579;
	if (yych == 'n') goto yy1579;
	goto yy1417;
yy1574:
	yych = *++p;
	if (yych == 'P') goto yy1575;
	if (yych != 'p') goto yy1417;
yy1575:
	yych = *++p;
	if (yych == 'T') goto yy1576;
	if (yych != 't') goto yy1417;
yy1576:
	yych = *++p;
	if (yych == 'I') goto yy1577;
	if (yych != 'i') goto yy1417;
yy1577:
	yych = *++p;
	if (yych == 'O') goto yy1578;
	if (yych != 'o') goto yy1417;
yy1578:
	yych = *++p;
	if (yych == 'N') goto yy1455;
	if (yych == 'n') goto yy1455;
	goto yy1417;
yy1579:
	yych = *++p;
	if (yych == 'T') goto yy1580;
	if (yych != 't') goto yy1417;
yy1580:
	yych = *++p;
	if (yych == 'E') goto yy1581;
	if (yych != 'e') goto yy1417;
yy1581:
	yych = *++p;
	if (yych == 'R') goto yy1455;
	if (yych == 'r') goto yy1455;
	goto yy1417;
yy1582:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'F') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'G') goto yy1583;
			if (yych != 'g') goto yy1417;
		}
	}
yy1583:
	yych = *++p;
	if (yych == 'R') goto yy1584;
	if (yych != 'r') goto yy1417;
yy1584:
	yych = *++p;
	if (yych == 'O') goto yy1585;
	if (yych != 'o') goto yy1417;
yy1585:
	yych = *++p;
	if (yych == 'U') goto yy1586;
	if (yych != 'u') goto yy1417;
yy1586:
	yych = *++p;
	if (yych == 'P') goto yy1455;
	if (yych == 'p') goto yy1455;
	goto yy1417;
yy1587:
	yych = *++p;
	if (yych == 'D') goto yy1602;
	if (yych == 'd') goto yy1602;
	goto yy1417;
yy1588:
	yych = *++p;
	if (yych == 'O') goto yy1595;
	if (yych == 'o') goto yy1595;
	goto yy1417;
yy1589:
	yych = *++p;
	if (yych == 'S') goto yy1590;
	if (yych != 's') goto yy1417;
yy1590:
	yych = *++p;
	if (yych == 'E') goto yy1591;
	if (yych != 'e') goto yy1417;
yy1591:
	yych = *++p;
	if (yych <= '/') {
		if (yych <= 0x1F) {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= ' ') goto yy1456;
			if (yych <= '.') goto yy1417;
			goto yy1458;
		}
	} else {
		if (yych <= 'E') {
			if (yych == '>') goto yy1456;
			goto yy1417;
		} else {
			if (yych <= 'F') goto yy1592;
			if (yych != 'f') goto yy1417;
		}
	}
yy1592:
	yych = *++p;
	if (yych == 'O') goto yy1593;
	if (yych != 'o') goto yy1417;
yy1593:
	yych = *++p;
	if (yych == 'N') goto yy1594;
	if (yych != 'n') goto yy1417;
yy1594:
	yych = *++p;
	if (yych == 'T') goto yy1455;
	if (yych == 't') goto yy1455;
	goto yy1417;
yy1595:
	yych = *++p;
	if (yych == 'C') goto yy1596;
	if (yych != 'c') goto yy1417;
yy1596:
	yych = *++p;
	if (yych == 'K') goto yy1597;
	if (yych != 'k') goto yy1417;
yy1597:
	yych = *++p;
	if (yych == 'Q') goto yy1598;
	if (yych != 'q') goto yy1417;
yy1598:
	yych = *++p;
	if (yych == 'U') goto yy1599;
	if (yych != 'u') goto yy1417;
yy1599:
	yych = *++p;
	if (yych == 'O') goto yy1600;
	if (yych != 'o') goto yy1417;
yy1600:
	yych = *++p;
	if (yych == 'T') goto yy1601;
	if (yych != 't') goto yy1417;
yy1601:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1602:
	yych = *++p;
	if (yych == 'Y') goto yy1455;
	if (yych == 'y') goto yy1455;
	goto yy1417;
yy1603:
	yych = *++p;
	if (yych == 'I') goto yy1614;
	if (yych == 'i') goto yy1614;
	goto yy1417;
yy1604:
	yych = *++p;
	if (yych == 'T') goto yy1610;
	if (yych == 't') goto yy1610;
	goto yy1417;
yy1605:
	yych = *++p;
	if (yych == 'D') goto yy1606;
	if (yych != 'd') goto yy1417;
yy1606:
	yych = *++p;
	if (yych == 'R') goto yy1607;
	if (yych != 'r') goto yy1417;
yy1607:
	yych = *++p;
	if (yych == 'E') goto yy1608;
	if (yych != 'e') goto yy1417;
yy1608:
	yych = *++p;
	if (yych == 'S') goto yy1609;
	if (yych != 's') goto yy1417;
yy1609:
	yych = *++p;
	if (yych == 'S') goto yy1455;
	if (yych == 's') goto yy1455;
	goto yy1417;
yy1610:
	yych = *++p;
	if (yych == 'I') goto yy1611;
	if (yych != 'i') goto yy1417;
yy1611:
	yych = *++p;
	if (yych == 'C') goto yy1612;
	if (yych != 'c') goto yy1417;
yy1612:
	yych = *++p;
	if (yych == 'L') goto yy1613;
	if (yych != 'l') goto yy1417;
yy1613:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1614:
	yych = *++p;
	if (yych == 'D') goto yy1615;
	if (yych != 'd') goto yy1417;
yy1615:
	yych = *++p;
	if (yych == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
yy1616:
	yych = *++p;
	if (yych == 'E') goto yy1620;
	if (yych == 'e') goto yy1620;
	goto yy1417;
yy1617:
	yych = *++p;
	if (yych == 'R') goto yy1618;
	if (yych != 'r') goto yy1417;
yy1618:
	yych = *++p;
	if (yych == 'A') goto yy1619;
	if (yych != 'a') goto yy1417;
yy1619:
	yych = *++p;
	if (yych == 'M') goto yy1455;
	if (yych == 'm') goto yy1455;
	goto yy1417;
yy1620:
	yych = *++p;
	if (yych <= ' ') {
		if (yych <= 0x08) goto yy1417;
		if (yych <= '\r') goto yy1621;
		if (yych <= 0x1F) goto yy1417;
	} else {
		if (yych <= '/') {
			if (yych <= '.') goto yy1417;
			goto yy1458;
		} else {
			if (yych != '>') goto yy1417;
		}
	}
yy1621:
	yych = *++p;
	goto yy1498;
yy1622:
	yych = *++p;
	if (yych <= '>') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1417;
			if (yych <= '\r') goto yy1456;
			if (yych <= 0x1F) goto yy1417;
			goto yy1456;
		} else {
			if (yych == '/') goto yy1458;
			if (yych <= '=') goto yy1417;
			goto yy1456;
		}
	} else {
		if (yych <= 'R') {
			if (yych == 'A') goto yy1617;
			if (yych <= 'Q') goto yy1417;
			goto yy1624;
		} else {
			if (yych <= 'a') {
				if (yych <= '`') goto yy1417;
				goto yy1617;
			} else {
				if (yych == 'r') goto yy1624;
				goto yy1417;
			}
		}
	}
yy1623:
	yych = *++p;
	if (yych <= 'U') {
		if (yych <= 'N') {
			if (yych == 'E') goto yy1481;
			goto yy1417;
		} else {
			if (yych <= 'O') goto yy1480;
			if (yych <= 'T') goto yy1417;
			goto yy1479;
		}
	} else {
		if (yych <= 'n') {
			if (yych == 'e') goto yy1481;
			goto yy1417;
		} else {
			if (yych <= 'o') goto yy1480;
			if (yych == 'u') goto yy1479;
			goto yy1417;
		}
	}
yy1624:
	++p;
	if ((yych = *p) == 'E') goto yy1455;
	if (yych == 'e') goto yy1455;
	goto yy1417;
}

}

// Try to match an HTML block tag start line of type 7, returning
// 7 if successful, 0 if not.
bufsize_t _scan_html_block_start_7(const unsigned char *p)
{
  const unsigned char *marker = NULL;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		  0, 224, 224, 224, 224, 224, 224, 224, 
		224, 198, 202, 194, 198, 194, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		198, 224,  64, 224, 224, 224, 224, 128, 
		224, 224, 224, 224, 224, 241, 240, 224, 
		241, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 240, 224, 192, 192, 192, 224, 
		224, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 241, 224, 224, 224, 224, 240, 
		192, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 241, 241, 241, 241, 241, 241, 
		241, 241, 241, 224, 224, 224, 224, 224, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= ';') {
			if (yych != '\n') goto yy1629;
		} else {
			if (yych <= '<') goto yy1628;
			if (yych <= 0x7F) goto yy1629;
			if (yych >= 0xC2) goto yy1630;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1632;
			if (yych == 0xED) goto yy1637;
			goto yy1633;
		} else {
			if (yych <= 0xF0) goto yy1634;
			if (yych <= 0xF3) goto yy1635;
			if (yych <= 0xF4) goto yy1636;
		}
	}
yy1627:
	{ return 0; }
yy1628:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= '@') {
		if (yych == '/') goto yy1640;
		goto yy1627;
	} else {
		if (yych <= 'Z') goto yy1638;
		if (yych <= '`') goto yy1627;
		if (yych <= 'z') goto yy1638;
		goto yy1627;
	}
yy1629:
	yych = *++p;
	goto yy1627;
yy1630:
	yych = *++p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1629;
yy1631:
	p = marker;
	if (yyaccept == 0) {
		goto yy1627;
	} else {
		goto yy1649;
	}
yy1632:
	yych = *++p;
	if (yych <= 0x9F) goto yy1631;
	if (yych <= 0xBF) goto yy1630;
	goto yy1631;
yy1633:
	yych = *++p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1630;
	goto yy1631;
yy1634:
	yych = *++p;
	if (yych <= 0x8F) goto yy1631;
	if (yych <= 0xBF) goto yy1633;
	goto yy1631;
yy1635:
	yych = *++p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1633;
	goto yy1631;
yy1636:
	yych = *++p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x8F) goto yy1633;
	goto yy1631;
yy1637:
	yych = *++p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x9F) goto yy1630;
	goto yy1631;
yy1638:
	++p;
	yych = *p;
	if (yybm[0+yych] & 1) {
		goto yy1638;
	}
	if (yych <= ' ') {
		if (yych <= 0x08) goto yy1631;
		if (yych <= '\r') goto yy1651;
		if (yych <= 0x1F) goto yy1631;
		goto yy1651;
	} else {
		if (yych <= '/') {
			if (yych <= '.') goto yy1631;
			goto yy1653;
		} else {
			if (yych == '>') goto yy1645;
			goto yy1631;
		}
	}
yy1640:
	yych = *++p;
	if (yych <= '@') goto yy1631;
	if (yych <= 'Z') goto yy1641;
	if (yych <= '`') goto yy1631;
	if (yych >= '{') goto yy1631;
yy1641:
	++p;
	yych = *p;
	if (yybm[0+yych] & 2) {
		goto yy1643;
	}
	if (yych <= '=') {
		if (yych <= '-') {
			if (yych <= ',') goto yy1631;
			goto yy1641;
		} else {
			if (yych <= '/') goto yy1631;
			if (yych <= '9') goto yy1641;
			goto yy1631;
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '>') goto yy1645;
			if (yych <= '@') goto yy1631;
			goto yy1641;
		} else {
			if (yych <= '`') goto yy1631;
			if (yych <= 'z') goto yy1641;
			goto yy1631;
		}
	}
yy1643:
	++p;
	yych = *p;
	if (yybm[0+yych] & 2) {
		goto yy1643;
	}
	if (yych != '>') goto yy1631;
yy1645:
	++p;
	yych = *p;
	if (yybm[0+yych] & 4) {
		goto yy1645;
	}
	if (yych <= 0x08) goto yy1631;
	if (yych <= '\n') goto yy1647;
	if (yych <= '\v') goto yy1631;
	if (yych <= '\r') goto yy1650;
	goto yy1631;
yy1647:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 4) {
		goto yy1645;
	}
	if (yych <= 0x08) goto yy1649;
	if (yych <= '\n') goto yy1647;
	if (yych <= '\v') goto yy1649;
	if (yych <= '\r') goto yy1650;
yy1649:
	{ return 7; }
yy1650:
	yych = *++p;
	goto yy1649;
yy1651:
	++p;
	yych = *p;
	if (yych <= ':') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1631;
			if (yych <= '\r') goto yy1651;
			if (yych <= 0x1F) goto yy1631;
			goto yy1651;
		} else {
			if (yych == '/') goto yy1653;
			if (yych <= '9') goto yy1631;
			goto yy1654;
		}
	} else {
		if (yych <= 'Z') {
			if (yych == '>') goto yy1645;
			if (yych <= '@') goto yy1631;
			goto yy1654;
		} else {
			if (yych <= '_') {
				if (yych <= '^') goto yy1631;
				goto yy1654;
			} else {
				if (yych <= '`') goto yy1631;
				if (yych <= 'z') goto yy1654;
				goto yy1631;
			}
		}
	}
yy1653:
	yych = *++p;
	if (yych == '>') goto yy1645;
	goto yy1631;
yy1654:
	++p;
	yych = *p;
	if (yybm[0+yych] & 16) {
		goto yy1654;
	}
	if (yych <= ',') {
		if (yych <= '\r') {
			if (yych <= 0x08) goto yy1631;
		} else {
			if (yych != ' ') goto yy1631;
		}
	} else {
		if (yych <= '<') {
			if (yych <= '/') goto yy1653;
			goto yy1631;
		} else {
			if (yych <= '=') goto yy1658;
			if (yych <= '>') goto yy1645;
			goto yy1631;
		}
	}
yy1656:
	++p;
	yych = *p;
	if (yych <= '<') {
		if (yych <= ' ') {
			if (yych <= 0x08) goto yy1631;
			if (yych <= '\r') goto yy1656;
			if (yych <= 0x1F) goto yy1631;
			goto yy1656;
		} else {
			if (yych <= '/') {
				if (yych <= '.') goto yy1631;
				goto yy1653;
			} else {
				if (yych == ':') goto yy1654;
				goto yy1631;
			}
		}
	} else {
		if (yych <= 'Z') {
			if (yych <= '=') goto yy1658;
			if (yych <= '>') goto yy1645;
			if (yych <= '@') goto yy1631;
			goto yy1654;
		} else {
			if (yych <= '_') {
				if (yych <= '^') goto yy1631;
				goto yy1654;
			} else {
				if (yych <= '`') goto yy1631;
				if (yych <= 'z') goto yy1654;
				goto yy1631;
			}
		}
	}
yy1658:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1660;
	}
	if (yych <= 0xE0) {
		if (yych <= '"') {
			if (yych <= 0x00) goto yy1631;
			if (yych >= '!') goto yy1671;
		} else {
			if (yych <= '\'') goto yy1669;
			if (yych <= 0xC1) goto yy1631;
			if (yych <= 0xDF) goto yy1662;
			goto yy1663;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1668;
			goto yy1664;
		} else {
			if (yych <= 0xF0) goto yy1665;
			if (yych <= 0xF3) goto yy1666;
			if (yych <= 0xF4) goto yy1667;
			goto yy1631;
		}
	}
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1660;
	}
	if (yych <= 0xDF) {
		if (yych <= '\'') {
			if (yych <= 0x00) goto yy1631;
			if (yych <= ' ') goto yy1694;
			if (yych <= '"') goto yy1671;
			goto yy1669;
		} else {
			if (yych == '>') goto yy1645;
			if (yych <= 0xC1) goto yy1631;
			goto yy1662;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1663;
			if (yych == 0xED) goto yy1668;
			goto yy1664;
		} else {
			if (yych <= 0xF0) goto yy1665;
			if (yych <= 0xF3) goto yy1666;
			if (yych <= 0xF4) goto yy1667;
			goto yy1631;
		}
	}
yy1660:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1660;
	}
	if (yych <= 0xE0) {
		if (yych <= '=') {
			if (yych <= 0x00) goto yy1631;
			if (yych <= ' ') goto yy1688;
			goto yy1631;
		} else {
			if (yych <= '>') goto yy1645;
			if (yych <= 0xC1) goto yy1631;
			if (yych >= 0xE0) goto yy1663;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1668;
			goto yy1664;
		} else {
			if (yych <= 0xF0) goto yy1665;
			if (yych <= 0xF3) goto yy1666;
			if (yych <= 0xF4) goto yy1667;
			goto yy1631;
		}
	}
yy1662:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1660;
	goto yy1631;
yy1663:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1631;
	if (yych <= 0xBF) goto yy1662;
	goto yy1631;
yy1664:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1662;
	goto yy1631;
yy1665:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1631;
	if (yych <= 0xBF) goto yy1664;
	goto yy1631;
yy1666:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1664;
	goto yy1631;
yy1667:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x8F) goto yy1664;
	goto yy1631;
yy1668:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x9F) goto yy1662;
	goto yy1631;
yy1669:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1669;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1631;
			if (yych <= '\'') goto yy1680;
			goto yy1631;
		} else {
			if (yych <= 0xDF) goto yy1681;
			if (yych <= 0xE0) goto yy1682;
			goto yy1683;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1687;
			if (yych <= 0xEF) goto yy1683;
			goto yy1684;
		} else {
			if (yych <= 0xF3) goto yy1685;
			if (yych <= 0xF4) goto yy1686;
			goto yy1631;
		}
	}
yy1671:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1671;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy1631;
			if (yych <= '"') goto yy1680;
			goto yy1631;
		} else {
			if (yych <= 0xDF) goto yy1673;
			if (yych <= 0xE0) goto yy1674;
			goto yy1675;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1679;
			if (yych <= 0xEF) goto yy1675;
			goto yy1676;
		} else {
			if (yych <= 0xF3) goto yy1677;
			if (yych <= 0xF4) goto yy1678;
			goto yy1631;
		}
	}
yy1673:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1671;
	goto yy1631;
yy1674:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1631;
	if (yych <= 0xBF) goto yy1673;
	goto yy1631;
yy1675:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1673;
	goto yy1631;
yy1676:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1631;
	if (yych <= 0xBF) goto yy1675;
	goto yy1631;
yy1677:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1675;
	goto yy1631;
yy1678:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x8F) goto yy1675;
	goto yy1631;
yy1679:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x9F) goto yy1673;
	goto yy1631;
yy1680:
	++p;
	yych = *p;
	if (yych <= ' ') {
		if (yych <= 0x08) goto yy1631;
		if (yych <= '\r') goto yy1651;
		if (yych <= 0x1F) goto yy1631;
		goto yy1651;
	} else {
		if (yych <= '/') {
			if (yych <= '.') goto yy1631;
			goto yy1653;
		} else {
			if (yych == '>') goto yy1645;
			goto yy1631;
		}
	}
yy1681:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1669;
	goto yy1631;
yy1682:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1631;
	if (yych <= 0xBF) goto yy1681;
	goto yy1631;
yy1683:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1681;
	goto yy1631;
yy1684:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1631;
	if (yych <= 0xBF) goto yy1683;
	goto yy1631;
yy1685:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0xBF) goto yy1683;
	goto yy1631;
yy1686:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x8F) goto yy1683;
	goto yy1631;
yy1687:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1631;
	if (yych <= 0x9F) goto yy1681;
	goto yy1631;
yy1688:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '"') {
			if (yych <= '\r') {
				if (yych <= 0x00) goto yy1631;
				if (yych <= 0x08) goto yy1660;
				goto yy1688;
			} else {
				if (yych == ' ') goto yy1688;
				if (yych <= '!') goto yy1660;
				goto yy1631;
			}
		} else {
			if (yych <= ':') {
				if (yych == '\'') goto yy1631;
				if (yych <= '9') goto yy1660;
			} else {
				if (yych <= ';') goto yy1660;
				if (yych <= '=') goto yy1631;
				if (yych <= '>') goto yy1645;
				goto yy1660;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= '`') {
				if (yych <= 'Z') goto yy1690;
				if (yych <= '^') goto yy1660;
				if (yych >= '`') goto yy1631;
			} else {
				if (yych <= 'z') goto yy1690;
				if (yych <= 0x7F) goto yy1660;
				if (yych <= 0xC1) goto yy1631;
				goto yy1662;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1663;
				if (yych == 0xED) goto yy1668;
				goto yy1664;
			} else {
				if (yych <= 0xF0) goto yy1665;
				if (yych <= 0xF3) goto yy1666;
				if (yych <= 0xF4) goto yy1667;
				goto yy1631;
			}
		}
	}
yy1690:
	++p;
	yych = *p;
	if (yych <= '>') {
		if (yych <= '&') {
			if (yych <= 0x1F) {
				if (yych <= 0x00) goto yy1631;
				if (yych <= 0x08) goto yy1660;
				if (yych >= 0x0E) goto yy1660;
			} else {
				if (yych <= ' ') goto yy1692;
				if (yych == '"') goto yy1631;
				goto yy1660;
			}
		} else {
			if (yych <= '/') {
				if (yych <= '\'') goto yy1631;
				if (yych <= ',') goto yy1660;
				if (yych <= '.') goto yy1690;
				goto yy1660;
			} else {
				if (yych <= ';') {
					if (yych <= ':') goto yy1690;
					goto yy1660;
				} else {
					if (yych <= '<') goto yy1631;
					if (yych <= '=') goto yy1658;
					goto yy1645;
				}
			}
		}
	} else {
		if (yych <= 0xC1) {
			if (yych <= '_') {
				if (yych <= '@') goto yy1660;
				if (yych <= 'Z') goto yy1690;
				if (yych <= '^') goto yy1660;
				goto yy1690;
			} else {
				if (yych <= '`') goto yy1631;
				if (yych <= 'z') goto yy1690;
				if (yych <= 0x7F) goto yy1660;
				goto yy1631;
			}
		} else {
			if (yych <= 0xED) {
				if (yych <= 0xDF) goto yy1662;
				if (yych <= 0xE0) goto yy1663;
				if (yych <= 0xEC) goto yy1664;
				goto yy1668;
			} else {
				if (yych <= 0xF0) {
					if (yych <= 0xEF) goto yy1664;
					goto yy1665;
				} else {
					if (yych <= 0xF3) goto yy1666;
					if (yych <= 0xF4) goto yy1667;
					goto yy1631;
				}
			}
		}
	}
yy1692:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '&') {
			if (yych <= 0x1F) {
				if (yych <= 0x00) goto yy1631;
				if (yych <= 0x08) goto yy1660;
				if (yych <= '\r') goto yy1692;
				goto yy1660;
			} else {
				if (yych <= ' ') goto yy1692;
				if (yych == '"') goto yy1631;
				goto yy1660;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '\'') goto yy1631;
				if (yych == ':') goto yy1690;
				goto yy1660;
			} else {
				if (yych <= '<') goto yy1631;
				if (yych <= '=') goto yy1658;
				if (yych <= '>') goto yy1645;
				goto yy1660;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= '`') {
				if (yych <= 'Z') goto yy1690;
				if (yych <= '^') goto yy1660;
				if (yych <= '_') goto yy1690;
				goto yy1631;
			} else {
				if (yych <= 'z') goto yy1690;
				if (yych <= 0x7F) goto yy1660;
				if (yych <= 0xC1) goto yy1631;
				goto yy1662;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1663;
				if (yych == 0xED) goto yy1668;
				goto yy1664;
			} else {
				if (yych <= 0xF0) goto yy1665;
				if (yych <= 0xF3) goto yy1666;
				if (yych <= 0xF4) goto yy1667;
				goto yy1631;
			}
		}
	}
yy1694:
	++p;
	yych = *p;
	if (yych <= '@') {
		if (yych <= '"') {
			if (yych <= '\r') {
				if (yych <= 0x00) goto yy1631;
				if (yych <= 0x08) goto yy1660;
				goto yy1694;
			} else {
				if (yych == ' ') goto yy1694;
				if (yych <= '!') goto yy1660;
				goto yy1671;
			}
		} else {
			if (yych <= ':') {
				if (yych == '\'') goto yy1669;
				if (yych <= '9') goto yy1660;
				goto yy1690;
			} else {
				if (yych <= ';') goto yy1660;
				if (yych <= '=') goto yy1631;
				if (yych <= '>') goto yy1645;
				goto yy1660;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= '`') {
				if (yych <= 'Z') goto yy1690;
				if (yych <= '^') goto yy1660;
				if (yych <= '_') goto yy1690;
				goto yy1631;
			} else {
				if (yych <= 'z') goto yy1690;
				if (yych <= 0x7F) goto yy1660;
				if (yych <= 0xC1) goto yy1631;
				goto yy1662;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy1663;
				if (yych == 0xED) goto yy1668;
				goto yy1664;
			} else {
				if (yych <= 0xF0) goto yy1665;
				if (yych <= 0xF3) goto yy1666;
				if (yych <= 0xF4) goto yy1667;
				goto yy1631;
			}
		}
	}
}

}

// Try to match an HTML block end line of type 1
bufsize_t _scan_html_block_end_1(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   0, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128,  64, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= ';') {
			if (yych != '\n') goto yy1699;
		} else {
			if (yych <= '<') goto yy1700;
			if (yych <= 0x7F) goto yy1699;
			if (yych >= 0xC2) goto yy1701;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1703;
			if (yych == 0xED) goto yy1708;
			goto yy1704;
		} else {
			if (yych <= 0xF0) goto yy1705;
			if (yych <= 0xF3) goto yy1706;
			if (yych <= 0xF4) goto yy1707;
		}
	}
yy1698:
	{ return 0; }
yy1699:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1698;
		goto yy1713;
	} else {
		if (yych <= 0xC1) goto yy1698;
		if (yych <= 0xF4) goto yy1713;
		goto yy1698;
	}
yy1700:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= '/') {
		if (yych == '\n') goto yy1698;
		if (yych <= '.') goto yy1713;
		goto yy1709;
	} else {
		if (yych <= 0x7F) goto yy1713;
		if (yych <= 0xC1) goto yy1698;
		if (yych <= 0xF4) goto yy1713;
		goto yy1698;
	}
yy1701:
	yych = *++p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0xBF) goto yy1699;
yy1702:
	p = marker;
	if (yyaccept == 0) {
		goto yy1698;
	} else {
		goto yy1730;
	}
yy1703:
	yych = *++p;
	if (yych <= 0x9F) goto yy1702;
	if (yych <= 0xBF) goto yy1701;
	goto yy1702;
yy1704:
	yych = *++p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0xBF) goto yy1701;
	goto yy1702;
yy1705:
	yych = *++p;
	if (yych <= 0x8F) goto yy1702;
	if (yych <= 0xBF) goto yy1704;
	goto yy1702;
yy1706:
	yych = *++p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0xBF) goto yy1704;
	goto yy1702;
yy1707:
	yych = *++p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0x8F) goto yy1704;
	goto yy1702;
yy1708:
	yych = *++p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0x9F) goto yy1701;
	goto yy1702;
yy1709:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 's') {
		if (yych <= 'R') {
			if (yych <= '\n') {
				if (yych <= '\t') goto yy1712;
				goto yy1702;
			} else {
				if (yych == 'P') goto yy1721;
				goto yy1712;
			}
		} else {
			if (yych <= 'o') {
				if (yych <= 'S') goto yy1722;
				goto yy1712;
			} else {
				if (yych <= 'p') goto yy1721;
				if (yych <= 'r') goto yy1712;
				goto yy1722;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= 0x7F) goto yy1712;
				goto yy1702;
			} else {
				if (yych <= 0xDF) goto yy1714;
				if (yych <= 0xE0) goto yy1715;
				goto yy1716;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1720;
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1710:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xDF) {
		if (yych <= '.') {
			if (yych == '\n') goto yy1702;
		} else {
			if (yych <= '/') goto yy1709;
			if (yych <= 0x7F) goto yy1712;
			if (yych <= 0xC1) goto yy1702;
			goto yy1714;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1715;
			if (yych == 0xED) goto yy1720;
			goto yy1716;
		} else {
			if (yych <= 0xF0) goto yy1717;
			if (yych <= 0xF3) goto yy1718;
			if (yych <= 0xF4) goto yy1719;
			goto yy1702;
		}
	}
yy1712:
	++p;
	yych = *p;
yy1713:
	if (yybm[0+yych] & 128) {
		goto yy1712;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1702;
			if (yych <= '<') goto yy1710;
			goto yy1702;
		} else {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			goto yy1716;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1720;
			if (yych <= 0xEF) goto yy1716;
			goto yy1717;
		} else {
			if (yych <= 0xF3) goto yy1718;
			if (yych <= 0xF4) goto yy1719;
			goto yy1702;
		}
	}
yy1714:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0xBF) goto yy1712;
	goto yy1702;
yy1715:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1702;
	if (yych <= 0xBF) goto yy1714;
	goto yy1702;
yy1716:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0xBF) goto yy1714;
	goto yy1702;
yy1717:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1702;
	if (yych <= 0xBF) goto yy1716;
	goto yy1702;
yy1718:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0xBF) goto yy1716;
	goto yy1702;
yy1719:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0x8F) goto yy1716;
	goto yy1702;
yy1720:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1702;
	if (yych <= 0x9F) goto yy1714;
	goto yy1702;
yy1721:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'R') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'Q') goto yy1712;
			goto yy1733;
		} else {
			if (yych == 'r') goto yy1733;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1722:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 't') {
		if (yych <= 'S') {
			if (yych <= '\n') {
				if (yych <= '\t') goto yy1712;
				goto yy1702;
			} else {
				if (yych == 'C') goto yy1724;
				goto yy1712;
			}
		} else {
			if (yych <= 'b') {
				if (yych >= 'U') goto yy1712;
			} else {
				if (yych <= 'c') goto yy1724;
				if (yych <= 's') goto yy1712;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= 0x7F) goto yy1712;
				goto yy1702;
			} else {
				if (yych <= 0xDF) goto yy1714;
				if (yych <= 0xE0) goto yy1715;
				goto yy1716;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1720;
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'Y') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'X') goto yy1712;
			goto yy1731;
		} else {
			if (yych == 'y') goto yy1731;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1724:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'R') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'Q') goto yy1712;
		} else {
			if (yych == 'r') goto yy1725;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1725:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'I') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'H') goto yy1712;
		} else {
			if (yych == 'i') goto yy1726;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1726:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'P') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'O') goto yy1712;
		} else {
			if (yych == 'p') goto yy1727;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1727:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'T') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'S') goto yy1712;
		} else {
			if (yych == 't') goto yy1728;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1728:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xDF) {
		if (yych <= '=') {
			if (yych == '\n') goto yy1702;
			goto yy1712;
		} else {
			if (yych <= '>') goto yy1729;
			if (yych <= 0x7F) goto yy1712;
			if (yych <= 0xC1) goto yy1702;
			goto yy1714;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1715;
			if (yych == 0xED) goto yy1720;
			goto yy1716;
		} else {
			if (yych <= 0xF0) goto yy1717;
			if (yych <= 0xF3) goto yy1718;
			if (yych <= 0xF4) goto yy1719;
			goto yy1702;
		}
	}
yy1729:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1712;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1730;
			if (yych <= '<') goto yy1710;
		} else {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			goto yy1716;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1720;
			if (yych <= 0xEF) goto yy1716;
			goto yy1717;
		} else {
			if (yych <= 0xF3) goto yy1718;
			if (yych <= 0xF4) goto yy1719;
		}
	}
yy1730:
	{ return (bufsize_t)(p - start); }
yy1731:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'L') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'K') goto yy1712;
		} else {
			if (yych == 'l') goto yy1732;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1732:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'E') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'D') goto yy1712;
			goto yy1728;
		} else {
			if (yych == 'e') goto yy1728;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
yy1733:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1710;
	}
	if (yych <= 0xC1) {
		if (yych <= 'E') {
			if (yych == '\n') goto yy1702;
			if (yych <= 'D') goto yy1712;
			goto yy1728;
		} else {
			if (yych == 'e') goto yy1728;
			if (yych <= 0x7F) goto yy1712;
			goto yy1702;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1714;
			if (yych <= 0xE0) goto yy1715;
			if (yych <= 0xEC) goto yy1716;
			goto yy1720;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1716;
				goto yy1717;
			} else {
				if (yych <= 0xF3) goto yy1718;
				if (yych <= 0xF4) goto yy1719;
				goto yy1702;
			}
		}
	}
}

}

// Try to match an HTML block end line of type 2
bufsize_t _scan_html_block_end_2(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   0, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128,  64, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= ',') {
			if (yych != '\n') goto yy1737;
		} else {
			if (yych <= '-') goto yy1738;
			if (yych <= 0x7F) goto yy1737;
			if (yych >= 0xC2) goto yy1739;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1741;
			if (yych == 0xED) goto yy1746;
			goto yy1742;
		} else {
			if (yych <= 0xF0) goto yy1743;
			if (yych <= 0xF3) goto yy1744;
			if (yych <= 0xF4) goto yy1745;
		}
	}
yy1736:
	{ return 0; }
yy1737:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1736;
		goto yy1750;
	} else {
		if (yych <= 0xC1) goto yy1736;
		if (yych <= 0xF4) goto yy1750;
		goto yy1736;
	}
yy1738:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yybm[0+yych] & 64) {
		goto yy1747;
	}
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1736;
		goto yy1750;
	} else {
		if (yych <= 0xC1) goto yy1736;
		if (yych <= 0xF4) goto yy1750;
		goto yy1736;
	}
yy1739:
	yych = *++p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0xBF) goto yy1737;
yy1740:
	p = marker;
	if (yyaccept == 0) {
		goto yy1736;
	} else {
		goto yy1760;
	}
yy1741:
	yych = *++p;
	if (yych <= 0x9F) goto yy1740;
	if (yych <= 0xBF) goto yy1739;
	goto yy1740;
yy1742:
	yych = *++p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0xBF) goto yy1739;
	goto yy1740;
yy1743:
	yych = *++p;
	if (yych <= 0x8F) goto yy1740;
	if (yych <= 0xBF) goto yy1742;
	goto yy1740;
yy1744:
	yych = *++p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0xBF) goto yy1742;
	goto yy1740;
yy1745:
	yych = *++p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0x8F) goto yy1742;
	goto yy1740;
yy1746:
	yych = *++p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0x9F) goto yy1739;
	goto yy1740;
yy1747:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1747;
	}
	if (yych <= 0xDF) {
		if (yych <= '=') {
			if (yych == '\n') goto yy1740;
		} else {
			if (yych <= '>') goto yy1759;
			if (yych <= 0x7F) goto yy1749;
			if (yych <= 0xC1) goto yy1740;
			goto yy1751;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1752;
			if (yych == 0xED) goto yy1757;
			goto yy1753;
		} else {
			if (yych <= 0xF0) goto yy1754;
			if (yych <= 0xF3) goto yy1755;
			if (yych <= 0xF4) goto yy1756;
			goto yy1740;
		}
	}
yy1749:
	++p;
	yych = *p;
yy1750:
	if (yybm[0+yych] & 128) {
		goto yy1749;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1740;
			if (yych <= '-') goto yy1758;
			goto yy1740;
		} else {
			if (yych <= 0xDF) goto yy1751;
			if (yych <= 0xE0) goto yy1752;
			goto yy1753;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1757;
			if (yych <= 0xEF) goto yy1753;
			goto yy1754;
		} else {
			if (yych <= 0xF3) goto yy1755;
			if (yych <= 0xF4) goto yy1756;
			goto yy1740;
		}
	}
yy1751:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0xBF) goto yy1749;
	goto yy1740;
yy1752:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1740;
	if (yych <= 0xBF) goto yy1751;
	goto yy1740;
yy1753:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0xBF) goto yy1751;
	goto yy1740;
yy1754:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1740;
	if (yych <= 0xBF) goto yy1753;
	goto yy1740;
yy1755:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0xBF) goto yy1753;
	goto yy1740;
yy1756:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0x8F) goto yy1753;
	goto yy1740;
yy1757:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1740;
	if (yych <= 0x9F) goto yy1751;
	goto yy1740;
yy1758:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1749;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1740;
			if (yych <= '-') goto yy1747;
			goto yy1740;
		} else {
			if (yych <= 0xDF) goto yy1751;
			if (yych <= 0xE0) goto yy1752;
			goto yy1753;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1757;
			if (yych <= 0xEF) goto yy1753;
			goto yy1754;
		} else {
			if (yych <= 0xF3) goto yy1755;
			if (yych <= 0xF4) goto yy1756;
			goto yy1740;
		}
	}
yy1759:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1749;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1760;
			if (yych <= '-') goto yy1758;
		} else {
			if (yych <= 0xDF) goto yy1751;
			if (yych <= 0xE0) goto yy1752;
			goto yy1753;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1757;
			if (yych <= 0xEF) goto yy1753;
			goto yy1754;
		} else {
			if (yych <= 0xF3) goto yy1755;
			if (yych <= 0xF4) goto yy1756;
		}
	}
yy1760:
	{ return (bufsize_t)(p - start); }
}

}

// Try to match an HTML block end line of type 3
bufsize_t _scan_html_block_end_3(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   0, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128,  64, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= '>') {
			if (yych != '\n') goto yy1764;
		} else {
			if (yych <= '?') goto yy1765;
			if (yych <= 0x7F) goto yy1764;
			if (yych >= 0xC2) goto yy1766;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1768;
			if (yych == 0xED) goto yy1773;
			goto yy1769;
		} else {
			if (yych <= 0xF0) goto yy1770;
			if (yych <= 0xF3) goto yy1771;
			if (yych <= 0xF4) goto yy1772;
		}
	}
yy1763:
	{ return 0; }
yy1764:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1763;
		goto yy1779;
	} else {
		if (yych <= 0xC1) goto yy1763;
		if (yych <= 0xF4) goto yy1779;
		goto yy1763;
	}
yy1765:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= '>') {
		if (yych == '\n') goto yy1763;
		if (yych <= '=') goto yy1779;
		goto yy1774;
	} else {
		if (yych <= 0x7F) goto yy1779;
		if (yych <= 0xC1) goto yy1763;
		if (yych <= 0xF4) goto yy1779;
		goto yy1763;
	}
yy1766:
	yych = *++p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0xBF) goto yy1764;
yy1767:
	p = marker;
	if (yyaccept == 0) {
		goto yy1763;
	} else {
		goto yy1775;
	}
yy1768:
	yych = *++p;
	if (yych <= 0x9F) goto yy1767;
	if (yych <= 0xBF) goto yy1766;
	goto yy1767;
yy1769:
	yych = *++p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0xBF) goto yy1766;
	goto yy1767;
yy1770:
	yych = *++p;
	if (yych <= 0x8F) goto yy1767;
	if (yych <= 0xBF) goto yy1769;
	goto yy1767;
yy1771:
	yych = *++p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0xBF) goto yy1769;
	goto yy1767;
yy1772:
	yych = *++p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0x8F) goto yy1769;
	goto yy1767;
yy1773:
	yych = *++p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0x9F) goto yy1766;
	goto yy1767;
yy1774:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1778;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1775;
			if (yych <= '?') goto yy1776;
		} else {
			if (yych <= 0xDF) goto yy1780;
			if (yych <= 0xE0) goto yy1781;
			goto yy1782;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1786;
			if (yych <= 0xEF) goto yy1782;
			goto yy1783;
		} else {
			if (yych <= 0xF3) goto yy1784;
			if (yych <= 0xF4) goto yy1785;
		}
	}
yy1775:
	{ return (bufsize_t)(p - start); }
yy1776:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1776;
	}
	if (yych <= 0xDF) {
		if (yych <= '=') {
			if (yych == '\n') goto yy1767;
		} else {
			if (yych <= '>') goto yy1774;
			if (yych <= 0x7F) goto yy1778;
			if (yych <= 0xC1) goto yy1767;
			goto yy1780;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1781;
			if (yych == 0xED) goto yy1786;
			goto yy1782;
		} else {
			if (yych <= 0xF0) goto yy1783;
			if (yych <= 0xF3) goto yy1784;
			if (yych <= 0xF4) goto yy1785;
			goto yy1767;
		}
	}
yy1778:
	++p;
	yych = *p;
yy1779:
	if (yybm[0+yych] & 128) {
		goto yy1778;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1767;
			if (yych <= '?') goto yy1776;
			goto yy1767;
		} else {
			if (yych <= 0xDF) goto yy1780;
			if (yych <= 0xE0) goto yy1781;
			goto yy1782;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1786;
			if (yych <= 0xEF) goto yy1782;
			goto yy1783;
		} else {
			if (yych <= 0xF3) goto yy1784;
			if (yych <= 0xF4) goto yy1785;
			goto yy1767;
		}
	}
yy1780:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0xBF) goto yy1778;
	goto yy1767;
yy1781:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1767;
	if (yych <= 0xBF) goto yy1780;
	goto yy1767;
yy1782:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0xBF) goto yy1780;
	goto yy1767;
yy1783:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1767;
	if (yych <= 0xBF) goto yy1782;
	goto yy1767;
yy1784:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0xBF) goto yy1782;
	goto yy1767;
yy1785:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0x8F) goto yy1782;
	goto yy1767;
yy1786:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1767;
	if (yych <= 0x9F) goto yy1780;
	goto yy1767;
}

}

// Try to match an HTML block end line of type 4
bufsize_t _scan_html_block_end_4(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   0, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128,  64, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= '=') {
			if (yych != '\n') goto yy1790;
		} else {
			if (yych <= '>') goto yy1791;
			if (yych <= 0x7F) goto yy1790;
			if (yych >= 0xC2) goto yy1793;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1795;
			if (yych == 0xED) goto yy1800;
			goto yy1796;
		} else {
			if (yych <= 0xF0) goto yy1797;
			if (yych <= 0xF3) goto yy1798;
			if (yych <= 0xF4) goto yy1799;
		}
	}
yy1789:
	{ return 0; }
yy1790:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1789;
		goto yy1804;
	} else {
		if (yych <= 0xC1) goto yy1789;
		if (yych <= 0xF4) goto yy1804;
		goto yy1789;
	}
yy1791:
	yyaccept = 1;
	yych = *(marker = ++p);
	if (yych <= 0x7F) {
		if (yych != '\n') goto yy1804;
	} else {
		if (yych <= 0xC1) goto yy1792;
		if (yych <= 0xF4) goto yy1804;
	}
yy1792:
	{ return (bufsize_t)(p - start); }
yy1793:
	yych = *++p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0xBF) goto yy1790;
yy1794:
	p = marker;
	if (yyaccept == 0) {
		goto yy1789;
	} else {
		goto yy1792;
	}
yy1795:
	yych = *++p;
	if (yych <= 0x9F) goto yy1794;
	if (yych <= 0xBF) goto yy1793;
	goto yy1794;
yy1796:
	yych = *++p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0xBF) goto yy1793;
	goto yy1794;
yy1797:
	yych = *++p;
	if (yych <= 0x8F) goto yy1794;
	if (yych <= 0xBF) goto yy1796;
	goto yy1794;
yy1798:
	yych = *++p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0xBF) goto yy1796;
	goto yy1794;
yy1799:
	yych = *++p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0x8F) goto yy1796;
	goto yy1794;
yy1800:
	yych = *++p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0x9F) goto yy1793;
	goto yy1794;
yy1801:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1803;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1792;
			if (yych <= '>') goto yy1801;
			goto yy1792;
		} else {
			if (yych <= 0xDF) goto yy1805;
			if (yych <= 0xE0) goto yy1806;
			goto yy1807;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1811;
			if (yych <= 0xEF) goto yy1807;
			goto yy1808;
		} else {
			if (yych <= 0xF3) goto yy1809;
			if (yych <= 0xF4) goto yy1810;
			goto yy1792;
		}
	}
yy1803:
	++p;
	yych = *p;
yy1804:
	if (yybm[0+yych] & 128) {
		goto yy1803;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1794;
			if (yych <= '>') goto yy1801;
			goto yy1794;
		} else {
			if (yych <= 0xDF) goto yy1805;
			if (yych <= 0xE0) goto yy1806;
			goto yy1807;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1811;
			if (yych <= 0xEF) goto yy1807;
			goto yy1808;
		} else {
			if (yych <= 0xF3) goto yy1809;
			if (yych <= 0xF4) goto yy1810;
			goto yy1794;
		}
	}
yy1805:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0xBF) goto yy1803;
	goto yy1794;
yy1806:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1794;
	if (yych <= 0xBF) goto yy1805;
	goto yy1794;
yy1807:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0xBF) goto yy1805;
	goto yy1794;
yy1808:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1794;
	if (yych <= 0xBF) goto yy1807;
	goto yy1794;
yy1809:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0xBF) goto yy1807;
	goto yy1794;
yy1810:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0x8F) goto yy1807;
	goto yy1794;
yy1811:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1794;
	if (yych <= 0x9F) goto yy1805;
	goto yy1794;
}

}

// Try to match an HTML block end line of type 5
bufsize_t _scan_html_block_end_5(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   0, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128,  64, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= '\\') {
			if (yych != '\n') goto yy1815;
		} else {
			if (yych <= ']') goto yy1816;
			if (yych <= 0x7F) goto yy1815;
			if (yych >= 0xC2) goto yy1817;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1819;
			if (yych == 0xED) goto yy1824;
			goto yy1820;
		} else {
			if (yych <= 0xF0) goto yy1821;
			if (yych <= 0xF3) goto yy1822;
			if (yych <= 0xF4) goto yy1823;
		}
	}
yy1814:
	{ return 0; }
yy1815:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1814;
		goto yy1828;
	} else {
		if (yych <= 0xC1) goto yy1814;
		if (yych <= 0xF4) goto yy1828;
		goto yy1814;
	}
yy1816:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yybm[0+yych] & 64) {
		goto yy1825;
	}
	if (yych <= 0x7F) {
		if (yych == '\n') goto yy1814;
		goto yy1828;
	} else {
		if (yych <= 0xC1) goto yy1814;
		if (yych <= 0xF4) goto yy1828;
		goto yy1814;
	}
yy1817:
	yych = *++p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0xBF) goto yy1815;
yy1818:
	p = marker;
	if (yyaccept == 0) {
		goto yy1814;
	} else {
		goto yy1838;
	}
yy1819:
	yych = *++p;
	if (yych <= 0x9F) goto yy1818;
	if (yych <= 0xBF) goto yy1817;
	goto yy1818;
yy1820:
	yych = *++p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0xBF) goto yy1817;
	goto yy1818;
yy1821:
	yych = *++p;
	if (yych <= 0x8F) goto yy1818;
	if (yych <= 0xBF) goto yy1820;
	goto yy1818;
yy1822:
	yych = *++p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0xBF) goto yy1820;
	goto yy1818;
yy1823:
	yych = *++p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0x8F) goto yy1820;
	goto yy1818;
yy1824:
	yych = *++p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0x9F) goto yy1817;
	goto yy1818;
yy1825:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1825;
	}
	if (yych <= 0xDF) {
		if (yych <= '=') {
			if (yych == '\n') goto yy1818;
		} else {
			if (yych <= '>') goto yy1837;
			if (yych <= 0x7F) goto yy1827;
			if (yych <= 0xC1) goto yy1818;
			goto yy1829;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1830;
			if (yych == 0xED) goto yy1835;
			goto yy1831;
		} else {
			if (yych <= 0xF0) goto yy1832;
			if (yych <= 0xF3) goto yy1833;
			if (yych <= 0xF4) goto yy1834;
			goto yy1818;
		}
	}
yy1827:
	++p;
	yych = *p;
yy1828:
	if (yybm[0+yych] & 128) {
		goto yy1827;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1818;
			if (yych <= ']') goto yy1836;
			goto yy1818;
		} else {
			if (yych <= 0xDF) goto yy1829;
			if (yych <= 0xE0) goto yy1830;
			goto yy1831;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1835;
			if (yych <= 0xEF) goto yy1831;
			goto yy1832;
		} else {
			if (yych <= 0xF3) goto yy1833;
			if (yych <= 0xF4) goto yy1834;
			goto yy1818;
		}
	}
yy1829:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0xBF) goto yy1827;
	goto yy1818;
yy1830:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1818;
	if (yych <= 0xBF) goto yy1829;
	goto yy1818;
yy1831:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0xBF) goto yy1829;
	goto yy1818;
yy1832:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1818;
	if (yych <= 0xBF) goto yy1831;
	goto yy1818;
yy1833:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0xBF) goto yy1831;
	goto yy1818;
yy1834:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0x8F) goto yy1831;
	goto yy1818;
yy1835:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1818;
	if (yych <= 0x9F) goto yy1829;
	goto yy1818;
yy1836:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1827;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1818;
			if (yych <= ']') goto yy1825;
			goto yy1818;
		} else {
			if (yych <= 0xDF) goto yy1829;
			if (yych <= 0xE0) goto yy1830;
			goto yy1831;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1835;
			if (yych <= 0xEF) goto yy1831;
			goto yy1832;
		} else {
			if (yych <= 0xF3) goto yy1833;
			if (yych <= 0xF4) goto yy1834;
			goto yy1818;
		}
	}
yy1837:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1827;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= '\n') goto yy1838;
			if (yych <= ']') goto yy1836;
		} else {
			if (yych <= 0xDF) goto yy1829;
			if (yych <= 0xE0) goto yy1830;
			goto yy1831;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1835;
			if (yych <= 0xEF) goto yy1831;
			goto yy1832;
		} else {
			if (yych <= 0xF3) goto yy1833;
			if (yych <= 0xF4) goto yy1834;
		}
	}
yy1838:
	{ return (bufsize_t)(p - start); }
}

}

// Try to match a URL in a link or reference, return number of chars matched.
// This may optionally be contained in <..>; otherwise
// whitespace and unbalanced right parentheses aren't allowed.
// Newlines aren't ever allowed.
bufsize_t _scan_link_url(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		  0, 128, 128, 128, 128, 128, 128, 128, 
		128, 128,   8, 128, 128,   8, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		128, 128, 128, 128, 128, 128, 128, 128, 
		136, 224, 224, 224, 224, 224, 224, 224, 
		128, 128, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224,  32, 224,  32, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224,  16, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= '[') {
		if (yych <= ' ') {
			if (yych <= '\f') {
				if (yych == '\n') goto yy1842;
				goto yy1858;
			} else {
				if (yych <= '\r') goto yy1844;
				if (yych <= 0x1F) goto yy1858;
				goto yy1844;
			}
		} else {
			if (yych <= ')') {
				if (yych <= '\'') goto yy1846;
				if (yych <= '(') goto yy1857;
				goto yy1858;
			} else {
				if (yych == '<') goto yy1845;
				goto yy1846;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1855;
				if (yych <= 0x7F) goto yy1846;
			} else {
				if (yych <= 0xDF) goto yy1847;
				if (yych <= 0xE0) goto yy1849;
				goto yy1850;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1854;
				if (yych <= 0xEF) goto yy1850;
				goto yy1851;
			} else {
				if (yych <= 0xF3) goto yy1852;
				if (yych <= 0xF4) goto yy1853;
			}
		}
	}
yy1841:
	{ return (bufsize_t)(p - start); }
yy1842:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
yy1843:
	if (yybm[0+yych] & 8) {
		goto yy1842;
	}
	if (yych <= 0x7F) {
		if (yych <= ')') {
			if (yych <= 0x1F) goto yy1841;
			if (yych <= '\'') goto yy1870;
			if (yych <= '(') goto yy1861;
			goto yy1841;
		} else {
			if (yych <= '<') {
				if (yych <= ';') goto yy1870;
				goto yy1905;
			} else {
				if (yych == '\\') goto yy1879;
				goto yy1870;
			}
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) {
				if (yych <= 0xC1) goto yy1841;
				goto yy1872;
			} else {
				if (yych <= 0xE0) goto yy1873;
				if (yych <= 0xEC) goto yy1874;
				goto yy1878;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1874;
				goto yy1875;
			} else {
				if (yych <= 0xF3) goto yy1876;
				if (yych <= 0xF4) goto yy1877;
				goto yy1841;
			}
		}
	}
yy1844:
	yyaccept = 0;
	yych = *(marker = ++p);
	goto yy1843;
yy1845:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yybm[0+yych] & 64) {
		goto yy1905;
	}
	if (yych <= '>') {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1841;
				goto yy1919;
			} else {
				if (yych <= '\n') goto yy1841;
				if (yych <= '\f') goto yy1919;
				goto yy1841;
			}
		} else {
			if (yych <= '(') {
				if (yych <= ' ') goto yy1919;
				goto yy1917;
			} else {
				if (yych <= ')') goto yy1919;
				if (yych <= '<') goto yy1870;
				goto yy1907;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1916;
				goto yy1841;
			} else {
				if (yych <= 0xDF) goto yy1909;
				if (yych <= 0xE0) goto yy1910;
				goto yy1911;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1915;
				if (yych <= 0xEF) goto yy1911;
				goto yy1912;
			} else {
				if (yych <= 0xF3) goto yy1913;
				if (yych <= 0xF4) goto yy1914;
				goto yy1841;
			}
		}
	}
yy1846:
	yyaccept = 0;
	yych = *(marker = ++p);
	goto yy1871;
yy1847:
	yych = *++p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1846;
yy1848:
	p = marker;
	if (yyaccept <= 1) {
		if (yyaccept == 0) {
			goto yy1841;
		} else {
			goto yy1856;
		}
	} else {
		goto yy1908;
	}
yy1849:
	yych = *++p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1847;
	goto yy1848;
yy1850:
	yych = *++p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1847;
	goto yy1848;
yy1851:
	yych = *++p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1850;
	goto yy1848;
yy1852:
	yych = *++p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1850;
	goto yy1848;
yy1853:
	yych = *++p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1850;
	goto yy1848;
yy1854:
	yych = *++p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1847;
	goto yy1848;
yy1855:
	yyaccept = 1;
	yych = *(marker = ++p);
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x7F) goto yy1870;
		} else {
			if (yych <= 0xDF) goto yy1880;
			if (yych <= 0xE0) goto yy1881;
			goto yy1882;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1886;
			if (yych <= 0xEF) goto yy1882;
			goto yy1883;
		} else {
			if (yych <= 0xF3) goto yy1884;
			if (yych <= 0xF4) goto yy1885;
		}
	}
yy1856:
	{ return 0; }
yy1857:
	yyaccept = 1;
	yych = *(marker = ++p);
	if (yych <= '(') {
		if (yych <= ' ') goto yy1856;
		if (yych <= '\'') goto yy1862;
		goto yy1856;
	} else {
		if (yych <= 0x7F) goto yy1862;
		if (yych <= 0xC1) goto yy1856;
		if (yych <= 0xF4) goto yy1862;
		goto yy1856;
	}
yy1858:
	yych = *++p;
	goto yy1856;
yy1859:
	++p;
	yych = *p;
	if (yybm[0+yych] & 16) {
		goto yy1859;
	}
	if (yych <= 0xE0) {
		if (yych <= ')') {
			if (yych <= ' ') goto yy1848;
			if (yych >= ')') goto yy1887;
		} else {
			if (yych <= 0x7F) goto yy1861;
			if (yych <= 0xC1) goto yy1848;
			if (yych <= 0xDF) goto yy1863;
			goto yy1864;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1869;
			goto yy1865;
		} else {
			if (yych <= 0xF0) goto yy1866;
			if (yych <= 0xF3) goto yy1867;
			if (yych <= 0xF4) goto yy1868;
			goto yy1848;
		}
	}
yy1861:
	++p;
	yych = *p;
yy1862:
	if (yybm[0+yych] & 32) {
		goto yy1861;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= '(') goto yy1848;
			if (yych <= ')') goto yy1870;
			goto yy1859;
		} else {
			if (yych <= 0xC1) goto yy1848;
			if (yych >= 0xE0) goto yy1864;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1869;
			goto yy1865;
		} else {
			if (yych <= 0xF0) goto yy1866;
			if (yych <= 0xF3) goto yy1867;
			if (yych <= 0xF4) goto yy1868;
			goto yy1848;
		}
	}
yy1863:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1861;
	goto yy1848;
yy1864:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1863;
	goto yy1848;
yy1865:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1863;
	goto yy1848;
yy1866:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1865;
	goto yy1848;
yy1867:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1865;
	goto yy1848;
yy1868:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1865;
	goto yy1848;
yy1869:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1863;
	goto yy1848;
yy1870:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
yy1871:
	if (yych <= 0xC1) {
		if (yych <= ')') {
			if (yych <= ' ') goto yy1841;
			if (yych <= '\'') goto yy1870;
			if (yych <= '(') goto yy1861;
			goto yy1841;
		} else {
			if (yych == '\\') goto yy1879;
			if (yych <= 0x7F) goto yy1870;
			goto yy1841;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1872;
			if (yych <= 0xE0) goto yy1873;
			if (yych <= 0xEC) goto yy1874;
			goto yy1878;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1874;
				goto yy1875;
			} else {
				if (yych <= 0xF3) goto yy1876;
				if (yych <= 0xF4) goto yy1877;
				goto yy1841;
			}
		}
	}
yy1872:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1870;
	goto yy1848;
yy1873:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1872;
	goto yy1848;
yy1874:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1872;
	goto yy1848;
yy1875:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1874;
	goto yy1848;
yy1876:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1874;
	goto yy1848;
yy1877:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1874;
	goto yy1848;
yy1878:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1872;
	goto yy1848;
yy1879:
	++p;
	yych = *p;
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x7F) goto yy1870;
			goto yy1848;
		} else {
			if (yych <= 0xDF) goto yy1880;
			if (yych <= 0xE0) goto yy1881;
			goto yy1882;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy1886;
			if (yych <= 0xEF) goto yy1882;
			goto yy1883;
		} else {
			if (yych <= 0xF3) goto yy1884;
			if (yych <= 0xF4) goto yy1885;
			goto yy1848;
		}
	}
yy1880:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1870;
	goto yy1848;
yy1881:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1880;
	goto yy1848;
yy1882:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1880;
	goto yy1848;
yy1883:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1882;
	goto yy1848;
yy1884:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1882;
	goto yy1848;
yy1885:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1882;
	goto yy1848;
yy1886:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1880;
	goto yy1848;
yy1887:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
yy1888:
	if (yych <= 0xC1) {
		if (yych <= ')') {
			if (yych <= ' ') goto yy1841;
			if (yych <= '\'') goto yy1887;
			if (yych <= '(') goto yy1861;
			goto yy1870;
		} else {
			if (yych == '\\') goto yy1896;
			if (yych <= 0x7F) goto yy1887;
			goto yy1841;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1889;
			if (yych <= 0xE0) goto yy1890;
			if (yych <= 0xEC) goto yy1891;
			goto yy1895;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1891;
				goto yy1892;
			} else {
				if (yych <= 0xF3) goto yy1893;
				if (yych <= 0xF4) goto yy1894;
				goto yy1841;
			}
		}
	}
yy1889:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1887;
	goto yy1848;
yy1890:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1889;
	goto yy1848;
yy1891:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1889;
	goto yy1848;
yy1892:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1891;
	goto yy1848;
yy1893:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1891;
	goto yy1848;
yy1894:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1891;
	goto yy1848;
yy1895:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1889;
	goto yy1848;
yy1896:
	++p;
	yych = *p;
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= ' ') goto yy1870;
			if (yych <= '[') goto yy1887;
		} else {
			if (yych <= 0x7F) goto yy1887;
			if (yych <= 0xC1) goto yy1848;
			if (yych <= 0xDF) goto yy1898;
			goto yy1899;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1904;
			goto yy1900;
		} else {
			if (yych <= 0xF0) goto yy1901;
			if (yych <= 0xF3) goto yy1902;
			if (yych <= 0xF4) goto yy1903;
			goto yy1848;
		}
	}
	yyaccept = 0;
	marker = ++p;
	yych = *p;
	if (yych <= 0xDF) {
		if (yych <= '[') {
			if (yych <= ' ') goto yy1841;
			if (yych == '(') goto yy1861;
			goto yy1887;
		} else {
			if (yych <= '\\') goto yy1896;
			if (yych <= 0x7F) goto yy1887;
			if (yych <= 0xC1) goto yy1841;
			goto yy1889;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy1890;
			if (yych == 0xED) goto yy1895;
			goto yy1891;
		} else {
			if (yych <= 0xF0) goto yy1892;
			if (yych <= 0xF3) goto yy1893;
			if (yych <= 0xF4) goto yy1894;
			goto yy1841;
		}
	}
yy1898:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1887;
	goto yy1848;
yy1899:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1898;
	goto yy1848;
yy1900:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1898;
	goto yy1848;
yy1901:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1900;
	goto yy1848;
yy1902:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1900;
	goto yy1848;
yy1903:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1900;
	goto yy1848;
yy1904:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1898;
	goto yy1848;
yy1905:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1905;
	}
	if (yych <= '>') {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1841;
				goto yy1919;
			} else {
				if (yych <= '\n') goto yy1841;
				if (yych <= '\f') goto yy1919;
				goto yy1841;
			}
		} else {
			if (yych <= '(') {
				if (yych <= ' ') goto yy1919;
				goto yy1917;
			} else {
				if (yych <= ')') goto yy1919;
				if (yych <= '<') goto yy1870;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1916;
				goto yy1841;
			} else {
				if (yych <= 0xDF) goto yy1909;
				if (yych <= 0xE0) goto yy1910;
				goto yy1911;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1915;
				if (yych <= 0xEF) goto yy1911;
				goto yy1912;
			} else {
				if (yych <= 0xF3) goto yy1913;
				if (yych <= 0xF4) goto yy1914;
				goto yy1841;
			}
		}
	}
yy1907:
	yyaccept = 2;
	yych = *(marker = ++p);
	if (yych <= ')') {
		if (yych <= ' ') goto yy1908;
		if (yych <= '(') goto yy1871;
	} else {
		if (yych <= 0x7F) goto yy1871;
		if (yych <= 0xC1) goto yy1908;
		if (yych <= 0xF4) goto yy1871;
	}
yy1908:
	{ return (bufsize_t)(p - start); }
yy1909:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1905;
	goto yy1848;
yy1910:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1909;
	goto yy1848;
yy1911:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1909;
	goto yy1848;
yy1912:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1911;
	goto yy1848;
yy1913:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1911;
	goto yy1848;
yy1914:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1911;
	goto yy1848;
yy1915:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1909;
	goto yy1848;
yy1916:
	++p;
	yych = *p;
	if (yych <= 0x7F) {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1870;
				goto yy1905;
			} else {
				if (yych <= '\n') goto yy1870;
				if (yych <= '\f') goto yy1905;
				goto yy1870;
			}
		} else {
			if (yych <= '>') {
				if (yych <= '=') goto yy1905;
				goto yy1963;
			} else {
				if (yych == '\\') goto yy1964;
				goto yy1905;
			}
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) {
				if (yych <= 0xC1) goto yy1848;
				goto yy1965;
			} else {
				if (yych <= 0xE0) goto yy1966;
				if (yych <= 0xEC) goto yy1967;
				goto yy1971;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1967;
				goto yy1968;
			} else {
				if (yych <= 0xF3) goto yy1969;
				if (yych <= 0xF4) goto yy1970;
				goto yy1848;
			}
		}
	}
yy1917:
	++p;
	yych = *p;
	if (yych <= '>') {
		if (yych <= ' ') {
			if (yych <= '\n') {
				if (yych <= 0x00) goto yy1848;
				if (yych >= '\n') goto yy1848;
			} else {
				if (yych == '\r') goto yy1848;
			}
		} else {
			if (yych <= ')') {
				if (yych <= '\'') goto yy1917;
				if (yych >= ')') goto yy1905;
			} else {
				if (yych == '<') goto yy1861;
				if (yych <= '=') goto yy1917;
				goto yy1932;
			}
		}
	} else {
		if (yych <= 0xE0) {
			if (yych <= 0x7F) {
				if (yych == '\\') goto yy1933;
				goto yy1917;
			} else {
				if (yych <= 0xC1) goto yy1848;
				if (yych <= 0xDF) goto yy1935;
				goto yy1936;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych == 0xED) goto yy1941;
				goto yy1937;
			} else {
				if (yych <= 0xF0) goto yy1938;
				if (yych <= 0xF3) goto yy1939;
				if (yych <= 0xF4) goto yy1940;
				goto yy1848;
			}
		}
	}
yy1919:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1919;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= '<') goto yy1848;
			if (yych >= '?') goto yy1922;
		} else {
			if (yych <= 0xC1) goto yy1848;
			if (yych <= 0xDF) goto yy1924;
			goto yy1925;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1930;
			goto yy1926;
		} else {
			if (yych <= 0xF0) goto yy1927;
			if (yych <= 0xF3) goto yy1928;
			if (yych <= 0xF4) goto yy1929;
			goto yy1848;
		}
	}
yy1921:
	yych = *++p;
	goto yy1908;
yy1922:
	++p;
	yych = *p;
	if (yych <= 0x7F) {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1848;
				goto yy1919;
			} else {
				if (yych <= '\n') goto yy1848;
				if (yych <= '\f') goto yy1919;
				goto yy1848;
			}
		} else {
			if (yych <= '>') {
				if (yych <= '=') goto yy1919;
				goto yy1931;
			} else {
				if (yych == '\\') goto yy1922;
				goto yy1919;
			}
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) {
				if (yych <= 0xC1) goto yy1848;
			} else {
				if (yych <= 0xE0) goto yy1925;
				if (yych <= 0xEC) goto yy1926;
				goto yy1930;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1926;
				goto yy1927;
			} else {
				if (yych <= 0xF3) goto yy1928;
				if (yych <= 0xF4) goto yy1929;
				goto yy1848;
			}
		}
	}
yy1924:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1919;
	goto yy1848;
yy1925:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1924;
	goto yy1848;
yy1926:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1924;
	goto yy1848;
yy1927:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1926;
	goto yy1848;
yy1928:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1926;
	goto yy1848;
yy1929:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1926;
	goto yy1848;
yy1930:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1924;
	goto yy1848;
yy1931:
	yyaccept = 2;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy1919;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= '<') goto yy1908;
			if (yych <= '>') goto yy1921;
			goto yy1922;
		} else {
			if (yych <= 0xC1) goto yy1908;
			if (yych <= 0xDF) goto yy1924;
			goto yy1925;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1930;
			goto yy1926;
		} else {
			if (yych <= 0xF0) goto yy1927;
			if (yych <= 0xF3) goto yy1928;
			if (yych <= 0xF4) goto yy1929;
			goto yy1908;
		}
	}
yy1932:
	yyaccept = 2;
	yych = *(marker = ++p);
	if (yych <= '(') {
		if (yych <= ' ') goto yy1908;
		if (yych <= '\'') goto yy1862;
		goto yy1908;
	} else {
		if (yych <= 0x7F) goto yy1862;
		if (yych <= 0xC1) goto yy1908;
		if (yych <= 0xF4) goto yy1862;
		goto yy1908;
	}
yy1933:
	++p;
	yych = *p;
	if (yych <= '[') {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1848;
				goto yy1919;
			} else {
				if (yych <= '\n') goto yy1848;
				if (yych <= '\f') goto yy1919;
				goto yy1848;
			}
		} else {
			if (yych <= ')') {
				if (yych <= ' ') goto yy1919;
				if (yych <= '(') goto yy1917;
				goto yy1942;
			} else {
				if (yych == '>') goto yy1944;
				goto yy1917;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1933;
				if (yych <= 0x7F) goto yy1917;
				goto yy1848;
			} else {
				if (yych <= 0xDF) goto yy1935;
				if (yych <= 0xE0) goto yy1936;
				goto yy1937;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1941;
				if (yych <= 0xEF) goto yy1937;
				goto yy1938;
			} else {
				if (yych <= 0xF3) goto yy1939;
				if (yych <= 0xF4) goto yy1940;
				goto yy1848;
			}
		}
	}
yy1935:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1917;
	goto yy1848;
yy1936:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1935;
	goto yy1848;
yy1937:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1935;
	goto yy1848;
yy1938:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1937;
	goto yy1848;
yy1939:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1937;
	goto yy1848;
yy1940:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1937;
	goto yy1848;
yy1941:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1935;
	goto yy1848;
yy1942:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
	if (yych <= '>') {
		if (yych <= ' ') {
			if (yych <= '\n') {
				if (yych <= 0x00) goto yy1841;
				if (yych <= '\t') goto yy1919;
				goto yy1841;
			} else {
				if (yych == '\r') goto yy1841;
				goto yy1919;
			}
		} else {
			if (yych <= ')') {
				if (yych <= '\'') goto yy1942;
				if (yych <= '(') goto yy1917;
				goto yy1905;
			} else {
				if (yych == '<') goto yy1887;
				if (yych <= '=') goto yy1942;
				goto yy1945;
			}
		}
	} else {
		if (yych <= 0xE0) {
			if (yych <= 0x7F) {
				if (yych == '\\') goto yy1946;
				goto yy1942;
			} else {
				if (yych <= 0xC1) goto yy1841;
				if (yych <= 0xDF) goto yy1947;
				goto yy1948;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych == 0xED) goto yy1953;
				goto yy1949;
			} else {
				if (yych <= 0xF0) goto yy1950;
				if (yych <= 0xF3) goto yy1951;
				if (yych <= 0xF4) goto yy1952;
				goto yy1841;
			}
		}
	}
yy1944:
	yyaccept = 2;
	marker = ++p;
	yych = *p;
	if (yych <= '>') {
		if (yych <= ' ') {
			if (yych <= '\n') {
				if (yych <= 0x00) goto yy1908;
				if (yych <= '\t') goto yy1919;
				goto yy1908;
			} else {
				if (yych == '\r') goto yy1908;
				goto yy1919;
			}
		} else {
			if (yych <= ')') {
				if (yych <= '\'') goto yy1917;
				if (yych <= '(') goto yy1919;
				goto yy1905;
			} else {
				if (yych == '<') goto yy1861;
				if (yych <= '=') goto yy1917;
				goto yy1932;
			}
		}
	} else {
		if (yych <= 0xE0) {
			if (yych <= 0x7F) {
				if (yych == '\\') goto yy1933;
				goto yy1917;
			} else {
				if (yych <= 0xC1) goto yy1908;
				if (yych <= 0xDF) goto yy1935;
				goto yy1936;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych == 0xED) goto yy1941;
				goto yy1937;
			} else {
				if (yych <= 0xF0) goto yy1938;
				if (yych <= 0xF3) goto yy1939;
				if (yych <= 0xF4) goto yy1940;
				goto yy1908;
			}
		}
	}
yy1945:
	yyaccept = 2;
	yych = *(marker = ++p);
	if (yych <= ' ') goto yy1908;
	if (yych <= 0x7F) goto yy1888;
	if (yych <= 0xC1) goto yy1908;
	if (yych <= 0xF4) goto yy1888;
	goto yy1908;
yy1946:
	++p;
	yych = *p;
	if (yych <= '\\') {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1870;
				goto yy1905;
			} else {
				if (yych <= '\n') goto yy1870;
				if (yych <= '\f') goto yy1905;
				goto yy1870;
			}
		} else {
			if (yych <= '=') {
				if (yych <= ' ') goto yy1905;
				goto yy1942;
			} else {
				if (yych <= '>') goto yy1954;
				if (yych <= '[') goto yy1942;
				goto yy1955;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= 0x7F) goto yy1942;
				goto yy1848;
			} else {
				if (yych <= 0xDF) goto yy1956;
				if (yych <= 0xE0) goto yy1957;
				goto yy1958;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1962;
				if (yych <= 0xEF) goto yy1958;
				goto yy1959;
			} else {
				if (yych <= 0xF3) goto yy1960;
				if (yych <= 0xF4) goto yy1961;
				goto yy1848;
			}
		}
	}
yy1947:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1942;
	goto yy1848;
yy1948:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1947;
	goto yy1848;
yy1949:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1947;
	goto yy1848;
yy1950:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1949;
	goto yy1848;
yy1951:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1949;
	goto yy1848;
yy1952:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1949;
	goto yy1848;
yy1953:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1947;
	goto yy1848;
yy1954:
	yyaccept = 2;
	marker = ++p;
	yych = *p;
	if (yych <= '>') {
		if (yych <= ' ') {
			if (yych <= '\n') {
				if (yych <= 0x00) goto yy1908;
				if (yych <= '\t') goto yy1919;
				goto yy1908;
			} else {
				if (yych == '\r') goto yy1908;
				goto yy1919;
			}
		} else {
			if (yych <= ')') {
				if (yych <= '\'') goto yy1942;
				if (yych <= '(') goto yy1917;
				goto yy1905;
			} else {
				if (yych == '<') goto yy1887;
				if (yych <= '=') goto yy1942;
				goto yy1945;
			}
		}
	} else {
		if (yych <= 0xE0) {
			if (yych <= 0x7F) {
				if (yych == '\\') goto yy1946;
				goto yy1942;
			} else {
				if (yych <= 0xC1) goto yy1908;
				if (yych <= 0xDF) goto yy1947;
				goto yy1948;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych == 0xED) goto yy1953;
				goto yy1949;
			} else {
				if (yych <= 0xF0) goto yy1950;
				if (yych <= 0xF3) goto yy1951;
				if (yych <= 0xF4) goto yy1952;
				goto yy1908;
			}
		}
	}
yy1955:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
	if (yych <= '[') {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1841;
				goto yy1919;
			} else {
				if (yych <= '\n') goto yy1841;
				if (yych <= '\f') goto yy1919;
				goto yy1841;
			}
		} else {
			if (yych <= '(') {
				if (yych <= ' ') goto yy1919;
				if (yych <= '\'') goto yy1942;
				goto yy1917;
			} else {
				if (yych == '>') goto yy1954;
				goto yy1942;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1946;
				if (yych <= 0x7F) goto yy1942;
				goto yy1841;
			} else {
				if (yych <= 0xDF) goto yy1947;
				if (yych <= 0xE0) goto yy1948;
				goto yy1949;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1953;
				if (yych <= 0xEF) goto yy1949;
				goto yy1950;
			} else {
				if (yych <= 0xF3) goto yy1951;
				if (yych <= 0xF4) goto yy1952;
				goto yy1841;
			}
		}
	}
yy1956:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1942;
	goto yy1848;
yy1957:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1956;
	goto yy1848;
yy1958:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1956;
	goto yy1848;
yy1959:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1958;
	goto yy1848;
yy1960:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1958;
	goto yy1848;
yy1961:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1958;
	goto yy1848;
yy1962:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1956;
	goto yy1848;
yy1963:
	yyaccept = 2;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy1905;
	}
	if (yych <= '>') {
		if (yych <= '\r') {
			if (yych <= '\t') {
				if (yych <= 0x00) goto yy1908;
				goto yy1919;
			} else {
				if (yych <= '\n') goto yy1908;
				if (yych <= '\f') goto yy1919;
				goto yy1908;
			}
		} else {
			if (yych <= '(') {
				if (yych <= ' ') goto yy1919;
				goto yy1917;
			} else {
				if (yych <= ')') goto yy1919;
				if (yych <= '<') goto yy1870;
				goto yy1907;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1916;
				goto yy1908;
			} else {
				if (yych <= 0xDF) goto yy1909;
				if (yych <= 0xE0) goto yy1910;
				goto yy1911;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1915;
				if (yych <= 0xEF) goto yy1911;
				goto yy1912;
			} else {
				if (yych <= 0xF3) goto yy1913;
				if (yych <= 0xF4) goto yy1914;
				goto yy1908;
			}
		}
	}
yy1964:
	yyaccept = 0;
	marker = ++p;
	yych = *p;
	if (yych <= '[') {
		if (yych <= ' ') {
			if (yych <= '\n') {
				if (yych <= 0x00) goto yy1841;
				if (yych <= '\t') goto yy1919;
				goto yy1841;
			} else {
				if (yych == '\r') goto yy1841;
				goto yy1919;
			}
		} else {
			if (yych <= ')') {
				if (yych <= '\'') goto yy1905;
				if (yych <= '(') goto yy1917;
				goto yy1919;
			} else {
				if (yych == '>') goto yy1963;
				goto yy1905;
			}
		}
	} else {
		if (yych <= 0xEC) {
			if (yych <= 0xC1) {
				if (yych <= '\\') goto yy1916;
				if (yych <= 0x7F) goto yy1905;
				goto yy1841;
			} else {
				if (yych <= 0xDF) goto yy1909;
				if (yych <= 0xE0) goto yy1910;
				goto yy1911;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xED) goto yy1915;
				if (yych <= 0xEF) goto yy1911;
				goto yy1912;
			} else {
				if (yych <= 0xF3) goto yy1913;
				if (yych <= 0xF4) goto yy1914;
				goto yy1841;
			}
		}
	}
yy1965:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1905;
	goto yy1848;
yy1966:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1848;
	if (yych <= 0xBF) goto yy1965;
	goto yy1848;
yy1967:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1965;
	goto yy1848;
yy1968:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1848;
	if (yych <= 0xBF) goto yy1967;
	goto yy1848;
yy1969:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0xBF) goto yy1967;
	goto yy1848;
yy1970:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x8F) goto yy1967;
	goto yy1848;
yy1971:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1848;
	if (yych <= 0x9F) goto yy1965;
	goto yy1848;
}

}

// Try to match a link title (in single quotes, in double quotes, or
// in parentheses), returning number of chars matched.  Allow one
// level of internal nesting (quotes within quotes).
bufsize_t _scan_link_title(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	static const unsigned char yybm[] = {
		  0, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224,  96, 224, 224, 224, 224, 160, 
		224, 192, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224,  16, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		224, 224, 224, 224, 224, 224, 224, 224, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xC1) {
		if (yych <= '"') {
			if (yych == '\n') goto yy1974;
			if (yych <= '!') goto yy1978;
			goto yy1975;
		} else {
			if (yych <= '\'') {
				if (yych <= '&') goto yy1978;
				goto yy1976;
			} else {
				if (yych <= '(') goto yy1977;
				if (yych <= 0x7F) goto yy1978;
			}
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy1979;
			if (yych <= 0xE0) goto yy1981;
			if (yych <= 0xEC) goto yy1982;
			goto yy1986;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy1982;
				goto yy1983;
			} else {
				if (yych <= 0xF3) goto yy1984;
				if (yych <= 0xF4) goto yy1985;
			}
		}
	}
yy1974:
	{ return 0; }
yy1975:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x00) goto yy1974;
	if (yych <= 0x7F) goto yy2018;
	if (yych <= 0xC1) goto yy1974;
	if (yych <= 0xF4) goto yy2018;
	goto yy1974;
yy1976:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x00) goto yy1974;
	if (yych <= 0x7F) goto yy2004;
	if (yych <= 0xC1) goto yy1974;
	if (yych <= 0xF4) goto yy2004;
	goto yy1974;
yy1977:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych <= 0x00) goto yy1974;
	if (yych <= 0x7F) goto yy1990;
	if (yych <= 0xC1) goto yy1974;
	if (yych <= 0xF4) goto yy1990;
	goto yy1974;
yy1978:
	yych = *++p;
	goto yy1974;
yy1979:
	yych = *++p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy1978;
yy1980:
	p = marker;
	if (yyaccept <= 1) {
		if (yyaccept == 0) {
			goto yy1974;
		} else {
			goto yy1999;
		}
	} else {
		if (yyaccept == 2) {
			goto yy2013;
		} else {
			goto yy2027;
		}
	}
yy1981:
	yych = *++p;
	if (yych <= 0x9F) goto yy1980;
	if (yych <= 0xBF) goto yy1979;
	goto yy1980;
yy1982:
	yych = *++p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy1979;
	goto yy1980;
yy1983:
	yych = *++p;
	if (yych <= 0x8F) goto yy1980;
	if (yych <= 0xBF) goto yy1982;
	goto yy1980;
yy1984:
	yych = *++p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy1982;
	goto yy1980;
yy1985:
	yych = *++p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x8F) goto yy1982;
	goto yy1980;
yy1986:
	yych = *++p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x9F) goto yy1979;
	goto yy1980;
yy1987:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1989;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1980;
			if (yych <= ')') goto yy2000;
			goto yy1987;
		} else {
			if (yych <= 0xC1) goto yy1980;
			if (yych <= 0xDF) goto yy1991;
			goto yy1992;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1997;
			goto yy1993;
		} else {
			if (yych <= 0xF0) goto yy1994;
			if (yych <= 0xF3) goto yy1995;
			if (yych <= 0xF4) goto yy1996;
			goto yy1980;
		}
	}
yy1989:
	++p;
	yych = *p;
yy1990:
	if (yybm[0+yych] & 32) {
		goto yy1989;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1980;
			if (yych <= ')') goto yy1998;
			goto yy1987;
		} else {
			if (yych <= 0xC1) goto yy1980;
			if (yych >= 0xE0) goto yy1992;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1997;
			goto yy1993;
		} else {
			if (yych <= 0xF0) goto yy1994;
			if (yych <= 0xF3) goto yy1995;
			if (yych <= 0xF4) goto yy1996;
			goto yy1980;
		}
	}
yy1991:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy1989;
	goto yy1980;
yy1992:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1980;
	if (yych <= 0xBF) goto yy1991;
	goto yy1980;
yy1993:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy1991;
	goto yy1980;
yy1994:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1980;
	if (yych <= 0xBF) goto yy1993;
	goto yy1980;
yy1995:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy1993;
	goto yy1980;
yy1996:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x8F) goto yy1993;
	goto yy1980;
yy1997:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x9F) goto yy1991;
	goto yy1980;
yy1998:
	++p;
yy1999:
	{ return (bufsize_t)(p - start); }
yy2000:
	yyaccept = 1;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy1989;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1999;
			if (yych <= ')') goto yy1998;
			goto yy1987;
		} else {
			if (yych <= 0xC1) goto yy1999;
			if (yych <= 0xDF) goto yy1991;
			goto yy1992;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy1997;
			goto yy1993;
		} else {
			if (yych <= 0xF0) goto yy1994;
			if (yych <= 0xF3) goto yy1995;
			if (yych <= 0xF4) goto yy1996;
			goto yy1999;
		}
	}
yy2001:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy2003;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1980;
			if (yych <= '\'') goto yy2014;
			goto yy2001;
		} else {
			if (yych <= 0xC1) goto yy1980;
			if (yych <= 0xDF) goto yy2005;
			goto yy2006;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2011;
			goto yy2007;
		} else {
			if (yych <= 0xF0) goto yy2008;
			if (yych <= 0xF3) goto yy2009;
			if (yych <= 0xF4) goto yy2010;
			goto yy1980;
		}
	}
yy2003:
	++p;
	yych = *p;
yy2004:
	if (yybm[0+yych] & 64) {
		goto yy2003;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1980;
			if (yych <= '\'') goto yy2012;
			goto yy2001;
		} else {
			if (yych <= 0xC1) goto yy1980;
			if (yych >= 0xE0) goto yy2006;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2011;
			goto yy2007;
		} else {
			if (yych <= 0xF0) goto yy2008;
			if (yych <= 0xF3) goto yy2009;
			if (yych <= 0xF4) goto yy2010;
			goto yy1980;
		}
	}
yy2005:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy2003;
	goto yy1980;
yy2006:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1980;
	if (yych <= 0xBF) goto yy2005;
	goto yy1980;
yy2007:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy2005;
	goto yy1980;
yy2008:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1980;
	if (yych <= 0xBF) goto yy2007;
	goto yy1980;
yy2009:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy2007;
	goto yy1980;
yy2010:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x8F) goto yy2007;
	goto yy1980;
yy2011:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x9F) goto yy2005;
	goto yy1980;
yy2012:
	++p;
yy2013:
	{ return (bufsize_t)(p - start); }
yy2014:
	yyaccept = 2;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy2003;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy2013;
			if (yych <= '\'') goto yy2012;
			goto yy2001;
		} else {
			if (yych <= 0xC1) goto yy2013;
			if (yych <= 0xDF) goto yy2005;
			goto yy2006;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2011;
			goto yy2007;
		} else {
			if (yych <= 0xF0) goto yy2008;
			if (yych <= 0xF3) goto yy2009;
			if (yych <= 0xF4) goto yy2010;
			goto yy2013;
		}
	}
yy2015:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2017;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1980;
			if (yych <= '"') goto yy2028;
			goto yy2015;
		} else {
			if (yych <= 0xC1) goto yy1980;
			if (yych <= 0xDF) goto yy2019;
			goto yy2020;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2025;
			goto yy2021;
		} else {
			if (yych <= 0xF0) goto yy2022;
			if (yych <= 0xF3) goto yy2023;
			if (yych <= 0xF4) goto yy2024;
			goto yy1980;
		}
	}
yy2017:
	++p;
	yych = *p;
yy2018:
	if (yybm[0+yych] & 128) {
		goto yy2017;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy1980;
			if (yych <= '"') goto yy2026;
			goto yy2015;
		} else {
			if (yych <= 0xC1) goto yy1980;
			if (yych >= 0xE0) goto yy2020;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2025;
			goto yy2021;
		} else {
			if (yych <= 0xF0) goto yy2022;
			if (yych <= 0xF3) goto yy2023;
			if (yych <= 0xF4) goto yy2024;
			goto yy1980;
		}
	}
yy2019:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy2017;
	goto yy1980;
yy2020:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy1980;
	if (yych <= 0xBF) goto yy2019;
	goto yy1980;
yy2021:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy2019;
	goto yy1980;
yy2022:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy1980;
	if (yych <= 0xBF) goto yy2021;
	goto yy1980;
yy2023:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0xBF) goto yy2021;
	goto yy1980;
yy2024:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x8F) goto yy2021;
	goto yy1980;
yy2025:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy1980;
	if (yych <= 0x9F) goto yy2019;
	goto yy1980;
yy2026:
	++p;
yy2027:
	{ return (bufsize_t)(p - start); }
yy2028:
	yyaccept = 3;
	marker = ++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2017;
	}
	if (yych <= 0xE0) {
		if (yych <= '\\') {
			if (yych <= 0x00) goto yy2027;
			if (yych <= '"') goto yy2026;
			goto yy2015;
		} else {
			if (yych <= 0xC1) goto yy2027;
			if (yych <= 0xDF) goto yy2019;
			goto yy2020;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2025;
			goto yy2021;
		} else {
			if (yych <= 0xF0) goto yy2022;
			if (yych <= 0xF3) goto yy2023;
			if (yych <= 0xF4) goto yy2024;
			goto yy2027;
		}
	}
}

}

// Match space characters, including newlines.
bufsize_t _scan_spacechars(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p; \

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0, 128, 128, 128, 128, 128,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		128,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xC1) {
		if (yych <= '\r') {
			if (yych <= 0x08) goto yy2035;
			if (yych == '\n') goto yy2033;
			goto yy2032;
		} else {
			if (yych == ' ') goto yy2032;
			if (yych <= 0x7F) goto yy2035;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy2037;
			if (yych <= 0xE0) goto yy2039;
			if (yych <= 0xEC) goto yy2040;
			goto yy2044;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy2040;
				goto yy2041;
			} else {
				if (yych <= 0xF3) goto yy2042;
				if (yych <= 0xF4) goto yy2043;
			}
		}
	}
yy2031:
	{ return (bufsize_t)(p - start); }
yy2032:
	yych = *++p;
	goto yy2034;
yy2033:
	++p;
	yych = *p;
yy2034:
	if (yybm[0+yych] & 128) {
		goto yy2033;
	}
	goto yy2031;
yy2035:
	++p;
	{ return 0; }
yy2037:
	yych = *++p;
	if (yych <= 0x7F) goto yy2038;
	if (yych <= 0xBF) goto yy2035;
yy2038:
	p = marker;
	goto yy2031;
yy2039:
	yych = *++p;
	if (yych <= 0x9F) goto yy2038;
	if (yych <= 0xBF) goto yy2037;
	goto yy2038;
yy2040:
	yych = *++p;
	if (yych <= 0x7F) goto yy2038;
	if (yych <= 0xBF) goto yy2037;
	goto yy2038;
yy2041:
	yych = *++p;
	if (yych <= 0x8F) goto yy2038;
	if (yych <= 0xBF) goto yy2040;
	goto yy2038;
yy2042:
	yych = *++p;
	if (yych <= 0x7F) goto yy2038;
	if (yych <= 0xBF) goto yy2040;
	goto yy2038;
yy2043:
	yych = *++p;
	if (yych <= 0x7F) goto yy2038;
	if (yych <= 0x8F) goto yy2040;
	goto yy2038;
yy2044:
	++p;
	if ((yych = *p) <= 0x7F) goto yy2038;
	if (yych <= 0x9F) goto yy2037;
	goto yy2038;
}

}

// Match ATX header start.
bufsize_t _scan_atx_header_start(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		128,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= '"') {
			if (yych != '\n') goto yy2049;
		} else {
			if (yych <= '#') goto yy2048;
			if (yych <= 0x7F) goto yy2049;
			if (yych >= 0xC2) goto yy2050;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy2052;
			if (yych == 0xED) goto yy2057;
			goto yy2053;
		} else {
			if (yych <= 0xF0) goto yy2054;
			if (yych <= 0xF3) goto yy2055;
			if (yych <= 0xF4) goto yy2056;
		}
	}
yy2047:
	{ return 0; }
yy2048:
	yych = *(marker = ++p);
	if (yybm[0+yych] & 128) {
		goto yy2060;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2058;
		goto yy2047;
	} else {
		if (yych <= '\r') goto yy2058;
		if (yych == '#') goto yy2062;
		goto yy2047;
	}
yy2049:
	yych = *++p;
	goto yy2047;
yy2050:
	yych = *++p;
	if (yych <= 0x7F) goto yy2051;
	if (yych <= 0xBF) goto yy2049;
yy2051:
	p = marker;
	goto yy2047;
yy2052:
	yych = *++p;
	if (yych <= 0x9F) goto yy2051;
	if (yych <= 0xBF) goto yy2050;
	goto yy2051;
yy2053:
	yych = *++p;
	if (yych <= 0x7F) goto yy2051;
	if (yych <= 0xBF) goto yy2050;
	goto yy2051;
yy2054:
	yych = *++p;
	if (yych <= 0x8F) goto yy2051;
	if (yych <= 0xBF) goto yy2053;
	goto yy2051;
yy2055:
	yych = *++p;
	if (yych <= 0x7F) goto yy2051;
	if (yych <= 0xBF) goto yy2053;
	goto yy2051;
yy2056:
	yych = *++p;
	if (yych <= 0x7F) goto yy2051;
	if (yych <= 0x8F) goto yy2053;
	goto yy2051;
yy2057:
	yych = *++p;
	if (yych <= 0x7F) goto yy2051;
	if (yych <= 0x9F) goto yy2050;
	goto yy2051;
yy2058:
	++p;
yy2059:
	{ return (bufsize_t)(p - start); }
yy2060:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2060;
	}
	goto yy2059;
yy2062:
	yych = *++p;
	if (yybm[0+yych] & 128) {
		goto yy2060;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2058;
		goto yy2051;
	} else {
		if (yych <= '\r') goto yy2058;
		if (yych != '#') goto yy2051;
	}
	yych = *++p;
	if (yybm[0+yych] & 128) {
		goto yy2060;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2058;
		goto yy2051;
	} else {
		if (yych <= '\r') goto yy2058;
		if (yych != '#') goto yy2051;
	}
	yych = *++p;
	if (yybm[0+yych] & 128) {
		goto yy2060;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2058;
		goto yy2051;
	} else {
		if (yych <= '\r') goto yy2058;
		if (yych != '#') goto yy2051;
	}
	yych = *++p;
	if (yybm[0+yych] & 128) {
		goto yy2060;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2058;
		goto yy2051;
	} else {
		if (yych <= '\r') goto yy2058;
		if (yych != '#') goto yy2051;
	}
	++p;
	if (yybm[0+(yych = *p)] & 128) {
		goto yy2060;
	}
	if (yych == '\n') goto yy2058;
	if (yych == '\r') goto yy2058;
	goto yy2051;
}

}

// Match setext header line.  Return 1 for level-1 header,
// 2 for level-2, 0 for no match.
bufsize_t _scan_setext_header_line(const unsigned char *p)
{
  const unsigned char *marker = NULL;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		 32,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,  64,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0, 128,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xC1) {
		if (yych <= '-') {
			if (yych == '\n') goto yy2069;
			if (yych <= ',') goto yy2072;
			goto yy2071;
		} else {
			if (yych == '=') goto yy2070;
			if (yych <= 0x7F) goto yy2072;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy2073;
			if (yych <= 0xE0) goto yy2075;
			if (yych <= 0xEC) goto yy2076;
			goto yy2080;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy2076;
				goto yy2077;
			} else {
				if (yych <= 0xF3) goto yy2078;
				if (yych <= 0xF4) goto yy2079;
			}
		}
	}
yy2069:
	{ return 0; }
yy2070:
	yych = *(marker = ++p);
	if (yybm[0+yych] & 128) {
		goto yy2091;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2089;
		goto yy2069;
	} else {
		if (yych <= '\r') goto yy2089;
		if (yych == ' ') goto yy2087;
		goto yy2069;
	}
yy2071:
	yych = *(marker = ++p);
	if (yybm[0+yych] & 32) {
		goto yy2081;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2083;
		goto yy2069;
	} else {
		if (yych <= '\r') goto yy2083;
		if (yych == '-') goto yy2085;
		goto yy2069;
	}
yy2072:
	yych = *++p;
	goto yy2069;
yy2073:
	yych = *++p;
	if (yych <= 0x7F) goto yy2074;
	if (yych <= 0xBF) goto yy2072;
yy2074:
	p = marker;
	goto yy2069;
yy2075:
	yych = *++p;
	if (yych <= 0x9F) goto yy2074;
	if (yych <= 0xBF) goto yy2073;
	goto yy2074;
yy2076:
	yych = *++p;
	if (yych <= 0x7F) goto yy2074;
	if (yych <= 0xBF) goto yy2073;
	goto yy2074;
yy2077:
	yych = *++p;
	if (yych <= 0x8F) goto yy2074;
	if (yych <= 0xBF) goto yy2076;
	goto yy2074;
yy2078:
	yych = *++p;
	if (yych <= 0x7F) goto yy2074;
	if (yych <= 0xBF) goto yy2076;
	goto yy2074;
yy2079:
	yych = *++p;
	if (yych <= 0x7F) goto yy2074;
	if (yych <= 0x8F) goto yy2076;
	goto yy2074;
yy2080:
	yych = *++p;
	if (yych <= 0x7F) goto yy2074;
	if (yych <= 0x9F) goto yy2073;
	goto yy2074;
yy2081:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy2081;
	}
	if (yych == '\n') goto yy2083;
	if (yych != '\r') goto yy2074;
yy2083:
	++p;
	{ return 2; }
yy2085:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy2081;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2083;
		goto yy2074;
	} else {
		if (yych <= '\r') goto yy2083;
		if (yych == '-') goto yy2085;
		goto yy2074;
	}
yy2087:
	++p;
	yych = *p;
	if (yych <= '\f') {
		if (yych != '\n') goto yy2074;
	} else {
		if (yych <= '\r') goto yy2089;
		if (yych == ' ') goto yy2087;
		goto yy2074;
	}
yy2089:
	++p;
	{ return 1; }
yy2091:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2091;
	}
	if (yych <= '\f') {
		if (yych == '\n') goto yy2089;
		goto yy2074;
	} else {
		if (yych <= '\r') goto yy2089;
		if (yych == ' ') goto yy2087;
		goto yy2074;
	}
}

}

// Scan a horizontal rule line: "...three or more hyphens, asterisks,
// or underscores on a line by themselves. If you wish, you may use
// spaces between the hyphens or asterisks."
bufsize_t _scan_hrule(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,  32,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		248,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0, 128,   0,   0,  16,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,  64, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0x7F) {
		if (yych <= '*') {
			if (yych == '\n') goto yy2095;
			if (yych <= ')') goto yy2099;
			goto yy2096;
		} else {
			if (yych <= '-') {
				if (yych <= ',') goto yy2099;
				goto yy2098;
			} else {
				if (yych == '_') goto yy2097;
				goto yy2099;
			}
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) {
				if (yych >= 0xC2) goto yy2100;
			} else {
				if (yych <= 0xE0) goto yy2102;
				if (yych <= 0xEC) goto yy2103;
				goto yy2107;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy2103;
				goto yy2104;
			} else {
				if (yych <= 0xF3) goto yy2105;
				if (yych <= 0xF4) goto yy2106;
			}
		}
	}
yy2095:
	{ return 0; }
yy2096:
	yych = *(marker = ++p);
	if (yych == ' ') goto yy2128;
	if (yych == '*') goto yy2130;
	goto yy2095;
yy2097:
	yych = *(marker = ++p);
	if (yych == ' ') goto yy2118;
	if (yych == '_') goto yy2120;
	goto yy2095;
yy2098:
	yych = *(marker = ++p);
	if (yybm[0+yych] & 8) {
		goto yy2108;
	}
	if (yych == '-') goto yy2110;
	goto yy2095;
yy2099:
	yych = *++p;
	goto yy2095;
yy2100:
	yych = *++p;
	if (yych <= 0x7F) goto yy2101;
	if (yych <= 0xBF) goto yy2099;
yy2101:
	p = marker;
	goto yy2095;
yy2102:
	yych = *++p;
	if (yych <= 0x9F) goto yy2101;
	if (yych <= 0xBF) goto yy2100;
	goto yy2101;
yy2103:
	yych = *++p;
	if (yych <= 0x7F) goto yy2101;
	if (yych <= 0xBF) goto yy2100;
	goto yy2101;
yy2104:
	yych = *++p;
	if (yych <= 0x8F) goto yy2101;
	if (yych <= 0xBF) goto yy2103;
	goto yy2101;
yy2105:
	yych = *++p;
	if (yych <= 0x7F) goto yy2101;
	if (yych <= 0xBF) goto yy2103;
	goto yy2101;
yy2106:
	yych = *++p;
	if (yych <= 0x7F) goto yy2101;
	if (yych <= 0x8F) goto yy2103;
	goto yy2101;
yy2107:
	yych = *++p;
	if (yych <= 0x7F) goto yy2101;
	if (yych <= 0x9F) goto yy2100;
	goto yy2101;
yy2108:
	++p;
	yych = *p;
	if (yybm[0+yych] & 8) {
		goto yy2108;
	}
	if (yych != '-') goto yy2101;
yy2110:
	++p;
	yych = *p;
	if (yych == ' ') goto yy2110;
	if (yych != '-') goto yy2101;
yy2112:
	++p;
	yych = *p;
	if (yybm[0+yych] & 16) {
		goto yy2112;
	}
	if (yych <= '\n') {
		if (yych <= 0x08) goto yy2101;
		if (yych >= '\n') goto yy2116;
	} else {
		if (yych == '\r') goto yy2116;
		goto yy2101;
	}
yy2114:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy2114;
	}
	if (yych <= 0x08) goto yy2101;
	if (yych <= '\n') goto yy2116;
	if (yych != '\r') goto yy2101;
yy2116:
	++p;
	{ return (bufsize_t)(p - start); }
yy2118:
	++p;
	yych = *p;
	if (yych == ' ') goto yy2118;
	if (yych != '_') goto yy2101;
yy2120:
	++p;
	yych = *p;
	if (yych == ' ') goto yy2120;
	if (yych != '_') goto yy2101;
yy2122:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy2122;
	}
	if (yych <= '\n') {
		if (yych <= 0x08) goto yy2101;
		if (yych >= '\n') goto yy2126;
	} else {
		if (yych == '\r') goto yy2126;
		goto yy2101;
	}
yy2124:
	++p;
	yych = *p;
	if (yych <= '\f') {
		if (yych <= 0x08) goto yy2101;
		if (yych <= '\t') goto yy2124;
		if (yych >= '\v') goto yy2101;
	} else {
		if (yych <= '\r') goto yy2126;
		if (yych == ' ') goto yy2124;
		goto yy2101;
	}
yy2126:
	++p;
	{ return (bufsize_t)(p - start); }
yy2128:
	++p;
	yych = *p;
	if (yych == ' ') goto yy2128;
	if (yych != '*') goto yy2101;
yy2130:
	++p;
	yych = *p;
	if (yych == ' ') goto yy2130;
	if (yych != '*') goto yy2101;
yy2132:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2132;
	}
	if (yych <= '\n') {
		if (yych <= 0x08) goto yy2101;
		if (yych >= '\n') goto yy2136;
	} else {
		if (yych == '\r') goto yy2136;
		goto yy2101;
	}
yy2134:
	++p;
	yych = *p;
	if (yych <= '\f') {
		if (yych <= 0x08) goto yy2101;
		if (yych <= '\t') goto yy2134;
		if (yych >= '\v') goto yy2101;
	} else {
		if (yych <= '\r') goto yy2136;
		if (yych == ' ') goto yy2134;
		goto yy2101;
	}
yy2136:
	++p;
	{ return (bufsize_t)(p - start); }
}

}

// Scan an opening code fence.
bufsize_t _scan_open_code_fence(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0, 160, 160, 160, 160, 160, 160, 160, 
		160, 160,   0, 160, 160,   0, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		 96, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 160, 160, 
		160, 160, 160, 160, 160, 160, 144, 160, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xC1) {
		if (yych <= '`') {
			if (yych == '\n') goto yy2140;
			if (yych <= '_') goto yy2143;
			goto yy2141;
		} else {
			if (yych == '~') goto yy2142;
			if (yych <= 0x7F) goto yy2143;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy2144;
			if (yych <= 0xE0) goto yy2146;
			if (yych <= 0xEC) goto yy2147;
			goto yy2151;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy2147;
				goto yy2148;
			} else {
				if (yych <= 0xF3) goto yy2149;
				if (yych <= 0xF4) goto yy2150;
			}
		}
	}
yy2140:
	{ return 0; }
yy2141:
	yych = *(marker = ++p);
	if (yych == '`') goto yy2166;
	goto yy2140;
yy2142:
	yych = *(marker = ++p);
	if (yych == '~') goto yy2152;
	goto yy2140;
yy2143:
	yych = *++p;
	goto yy2140;
yy2144:
	yych = *++p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2143;
yy2145:
	p = marker;
	goto yy2140;
yy2146:
	yych = *++p;
	if (yych <= 0x9F) goto yy2145;
	if (yych <= 0xBF) goto yy2144;
	goto yy2145;
yy2147:
	yych = *++p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2144;
	goto yy2145;
yy2148:
	yych = *++p;
	if (yych <= 0x8F) goto yy2145;
	if (yych <= 0xBF) goto yy2147;
	goto yy2145;
yy2149:
	yych = *++p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2147;
	goto yy2145;
yy2150:
	yych = *++p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0x8F) goto yy2147;
	goto yy2145;
yy2151:
	yych = *++p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0x9F) goto yy2144;
	goto yy2145;
yy2152:
	yych = *++p;
	if (yybm[0+yych] & 16) {
		goto yy2153;
	}
	goto yy2145;
yy2153:
	marker = p + 1;
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy2155;
	}
	if (yych <= 0xE0) {
		if (yych <= '~') {
			if (yych <= 0x00) goto yy2145;
			if (yych <= '\r') goto yy2164;
			goto yy2153;
		} else {
			if (yych <= 0xC1) goto yy2145;
			if (yych <= 0xDF) goto yy2157;
			goto yy2158;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2163;
			goto yy2159;
		} else {
			if (yych <= 0xF0) goto yy2160;
			if (yych <= 0xF3) goto yy2161;
			if (yych <= 0xF4) goto yy2162;
			goto yy2145;
		}
	}
yy2155:
	++p;
	yych = *p;
	if (yybm[0+yych] & 32) {
		goto yy2155;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy2145;
			if (yych <= '\r') goto yy2164;
			goto yy2145;
		} else {
			if (yych <= 0xDF) goto yy2157;
			if (yych <= 0xE0) goto yy2158;
			goto yy2159;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy2163;
			if (yych <= 0xEF) goto yy2159;
			goto yy2160;
		} else {
			if (yych <= 0xF3) goto yy2161;
			if (yych <= 0xF4) goto yy2162;
			goto yy2145;
		}
	}
yy2157:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2155;
	goto yy2145;
yy2158:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy2145;
	if (yych <= 0xBF) goto yy2157;
	goto yy2145;
yy2159:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2157;
	goto yy2145;
yy2160:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy2145;
	if (yych <= 0xBF) goto yy2159;
	goto yy2145;
yy2161:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2159;
	goto yy2145;
yy2162:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0x8F) goto yy2159;
	goto yy2145;
yy2163:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0x9F) goto yy2157;
	goto yy2145;
yy2164:
	++p;
	p = marker;
	{ return (bufsize_t)(p - start); }
yy2166:
	yych = *++p;
	if (yybm[0+yych] & 64) {
		goto yy2167;
	}
	goto yy2145;
yy2167:
	marker = p + 1;
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2169;
	}
	if (yych <= 0xE0) {
		if (yych <= '`') {
			if (yych <= 0x00) goto yy2145;
			if (yych <= '\r') goto yy2178;
			goto yy2167;
		} else {
			if (yych <= 0xC1) goto yy2145;
			if (yych <= 0xDF) goto yy2171;
			goto yy2172;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych == 0xED) goto yy2177;
			goto yy2173;
		} else {
			if (yych <= 0xF0) goto yy2174;
			if (yych <= 0xF3) goto yy2175;
			if (yych <= 0xF4) goto yy2176;
			goto yy2145;
		}
	}
yy2169:
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2169;
	}
	if (yych <= 0xEC) {
		if (yych <= 0xC1) {
			if (yych <= 0x00) goto yy2145;
			if (yych <= '\r') goto yy2178;
			goto yy2145;
		} else {
			if (yych <= 0xDF) goto yy2171;
			if (yych <= 0xE0) goto yy2172;
			goto yy2173;
		}
	} else {
		if (yych <= 0xF0) {
			if (yych <= 0xED) goto yy2177;
			if (yych <= 0xEF) goto yy2173;
			goto yy2174;
		} else {
			if (yych <= 0xF3) goto yy2175;
			if (yych <= 0xF4) goto yy2176;
			goto yy2145;
		}
	}
yy2171:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2169;
	goto yy2145;
yy2172:
	++p;
	yych = *p;
	if (yych <= 0x9F) goto yy2145;
	if (yych <= 0xBF) goto yy2171;
	goto yy2145;
yy2173:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2171;
	goto yy2145;
yy2174:
	++p;
	yych = *p;
	if (yych <= 0x8F) goto yy2145;
	if (yych <= 0xBF) goto yy2173;
	goto yy2145;
yy2175:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0xBF) goto yy2173;
	goto yy2145;
yy2176:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0x8F) goto yy2173;
	goto yy2145;
yy2177:
	++p;
	yych = *p;
	if (yych <= 0x7F) goto yy2145;
	if (yych <= 0x9F) goto yy2171;
	goto yy2145;
yy2178:
	++p;
	p = marker;
	{ return (bufsize_t)(p - start); }
}

}

// Scan a closing code fence with length at least len.
bufsize_t _scan_close_code_fence(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	static const unsigned char yybm[] = {
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,  64,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		 64,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		128,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,  32,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
		  0,   0,   0,   0,   0,   0,   0,   0, 
	};
	yych = *(marker = p);
	if (yych <= 0xC1) {
		if (yych <= '`') {
			if (yych == '\n') goto yy2182;
			if (yych <= '_') goto yy2185;
			goto yy2183;
		} else {
			if (yych == '~') goto yy2184;
			if (yych <= 0x7F) goto yy2185;
		}
	} else {
		if (yych <= 0xED) {
			if (yych <= 0xDF) goto yy2186;
			if (yych <= 0xE0) goto yy2188;
			if (yych <= 0xEC) goto yy2189;
			goto yy2193;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy2189;
				goto yy2190;
			} else {
				if (yych <= 0xF3) goto yy2191;
				if (yych <= 0xF4) goto yy2192;
			}
		}
	}
yy2182:
	{ return 0; }
yy2183:
	yych = *(marker = ++p);
	if (yych == '`') goto yy2201;
	goto yy2182;
yy2184:
	yych = *(marker = ++p);
	if (yych == '~') goto yy2194;
	goto yy2182;
yy2185:
	yych = *++p;
	goto yy2182;
yy2186:
	yych = *++p;
	if (yych <= 0x7F) goto yy2187;
	if (yych <= 0xBF) goto yy2185;
yy2187:
	p = marker;
	goto yy2182;
yy2188:
	yych = *++p;
	if (yych <= 0x9F) goto yy2187;
	if (yych <= 0xBF) goto yy2186;
	goto yy2187;
yy2189:
	yych = *++p;
	if (yych <= 0x7F) goto yy2187;
	if (yych <= 0xBF) goto yy2186;
	goto yy2187;
yy2190:
	yych = *++p;
	if (yych <= 0x8F) goto yy2187;
	if (yych <= 0xBF) goto yy2189;
	goto yy2187;
yy2191:
	yych = *++p;
	if (yych <= 0x7F) goto yy2187;
	if (yych <= 0xBF) goto yy2189;
	goto yy2187;
yy2192:
	yych = *++p;
	if (yych <= 0x7F) goto yy2187;
	if (yych <= 0x8F) goto yy2189;
	goto yy2187;
yy2193:
	yych = *++p;
	if (yych <= 0x7F) goto yy2187;
	if (yych <= 0x9F) goto yy2186;
	goto yy2187;
yy2194:
	yych = *++p;
	if (yybm[0+yych] & 32) {
		goto yy2195;
	}
	goto yy2187;
yy2195:
	marker = p + 1;
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy2197;
	}
	if (yych <= '\f') {
		if (yych <= 0x08) goto yy2187;
		if (yych <= '\n') goto yy2199;
		goto yy2187;
	} else {
		if (yych <= '\r') goto yy2199;
		if (yych == '~') goto yy2195;
		goto yy2187;
	}
yy2197:
	++p;
	yych = *p;
	if (yybm[0+yych] & 64) {
		goto yy2197;
	}
	if (yych <= 0x08) goto yy2187;
	if (yych <= '\n') goto yy2199;
	if (yych != '\r') goto yy2187;
yy2199:
	++p;
	p = marker;
	{ return (bufsize_t)(p - start); }
yy2201:
	yych = *++p;
	if (yybm[0+yych] & 128) {
		goto yy2202;
	}
	goto yy2187;
yy2202:
	marker = p + 1;
	++p;
	yych = *p;
	if (yybm[0+yych] & 128) {
		goto yy2202;
	}
	if (yych <= '\f') {
		if (yych <= 0x08) goto yy2187;
		if (yych <= '\t') goto yy2204;
		if (yych <= '\n') goto yy2206;
		goto yy2187;
	} else {
		if (yych <= '\r') goto yy2206;
		if (yych != ' ') goto yy2187;
	}
yy2204:
	++p;
	yych = *p;
	if (yych <= '\f') {
		if (yych <= 0x08) goto yy2187;
		if (yych <= '\t') goto yy2204;
		if (yych >= '\v') goto yy2187;
	} else {
		if (yych <= '\r') goto yy2206;
		if (yych == ' ') goto yy2204;
		goto yy2187;
	}
yy2206:
	++p;
	p = marker;
	{ return (bufsize_t)(p - start); }
}

}

// Scans an entity.
// Returns number of chars matched.
bufsize_t _scan_entity(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	yych = *(marker = p);
	if (yych <= 0xDF) {
		if (yych <= '%') {
			if (yych != '\n') goto yy2212;
		} else {
			if (yych <= '&') goto yy2211;
			if (yych <= 0x7F) goto yy2212;
			if (yych >= 0xC2) goto yy2213;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xE0) goto yy2215;
			if (yych == 0xED) goto yy2220;
			goto yy2216;
		} else {
			if (yych <= 0xF0) goto yy2217;
			if (yych <= 0xF3) goto yy2218;
			if (yych <= 0xF4) goto yy2219;
		}
	}
yy2210:
	{ return 0; }
yy2211:
	yych = *(marker = ++p);
	if (yych <= '@') {
		if (yych == '#') goto yy2221;
		goto yy2210;
	} else {
		if (yych <= 'Z') goto yy2222;
		if (yych <= '`') goto yy2210;
		if (yych <= 'z') goto yy2222;
		goto yy2210;
	}
yy2212:
	yych = *++p;
	goto yy2210;
yy2213:
	yych = *++p;
	if (yych <= 0x7F) goto yy2214;
	if (yych <= 0xBF) goto yy2212;
yy2214:
	p = marker;
	goto yy2210;
yy2215:
	yych = *++p;
	if (yych <= 0x9F) goto yy2214;
	if (yych <= 0xBF) goto yy2213;
	goto yy2214;
yy2216:
	yych = *++p;
	if (yych <= 0x7F) goto yy2214;
	if (yych <= 0xBF) goto yy2213;
	goto yy2214;
yy2217:
	yych = *++p;
	if (yych <= 0x8F) goto yy2214;
	if (yych <= 0xBF) goto yy2216;
	goto yy2214;
yy2218:
	yych = *++p;
	if (yych <= 0x7F) goto yy2214;
	if (yych <= 0xBF) goto yy2216;
	goto yy2214;
yy2219:
	yych = *++p;
	if (yych <= 0x7F) goto yy2214;
	if (yych <= 0x8F) goto yy2216;
	goto yy2214;
yy2220:
	yych = *++p;
	if (yych <= 0x7F) goto yy2214;
	if (yych <= 0x9F) goto yy2213;
	goto yy2214;
yy2221:
	yych = *++p;
	if (yych <= 'W') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2257;
		goto yy2214;
	} else {
		if (yych <= 'X') goto yy2256;
		if (yych == 'x') goto yy2256;
		goto yy2214;
	}
yy2222:
	yych = *++p;
	if (yych <= '@') {
		if (yych <= '/') goto yy2214;
		if (yych >= ':') goto yy2214;
	} else {
		if (yych <= 'Z') goto yy2223;
		if (yych <= '`') goto yy2214;
		if (yych >= '{') goto yy2214;
	}
yy2223:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2226;
		if (yych <= ':') goto yy2214;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
			goto yy2226;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych <= 'z') goto yy2226;
			goto yy2214;
		}
	}
yy2224:
	++p;
	{ return (bufsize_t)(p - start); }
yy2226:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2227;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2227:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2228;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2228:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2229;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2229:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2230;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2230:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2231;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2231:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2232;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2232:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2233;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2233:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2234;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2234:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2235;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2235:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2236;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2236:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2237;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2237:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2238;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2238:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2239;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2239:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2240;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2240:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2241;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2241:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2242;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2242:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2243;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2243:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2244;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2244:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2245;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2245:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2246;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2246:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2247;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2247:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2248;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2248:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2249;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2249:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2250;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2250:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2251;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2251:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2252;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2252:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2253;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2253:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2254;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2254:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2255;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'Z') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= '{') goto yy2214;
		}
	}
yy2255:
	yych = *++p;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2256:
	yych = *++p;
	if (yych <= '@') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2264;
		goto yy2214;
	} else {
		if (yych <= 'F') goto yy2264;
		if (yych <= '`') goto yy2214;
		if (yych <= 'f') goto yy2264;
		goto yy2214;
	}
yy2257:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2258;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2258:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2259;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2259:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2260;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2260:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2261;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2261:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2262;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2262:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2263;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2263:
	yych = *++p;
	if (yych <= '/') goto yy2214;
	if (yych <= '9') goto yy2255;
	if (yych == ';') goto yy2224;
	goto yy2214;
yy2264:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2265;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= 'g') goto yy2214;
		}
	}
yy2265:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2266;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= 'g') goto yy2214;
		}
	}
yy2266:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2267;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= 'g') goto yy2214;
		}
	}
yy2267:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2268;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= 'g') goto yy2214;
		}
	}
yy2268:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2269;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= 'g') goto yy2214;
		}
	}
yy2269:
	yych = *++p;
	if (yych <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2270;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych >= 'g') goto yy2214;
		}
	}
yy2270:
	++p;
	if ((yych = *p) <= ';') {
		if (yych <= '/') goto yy2214;
		if (yych <= '9') goto yy2255;
		if (yych <= ':') goto yy2214;
		goto yy2224;
	} else {
		if (yych <= 'F') {
			if (yych <= '@') goto yy2214;
			goto yy2255;
		} else {
			if (yych <= '`') goto yy2214;
			if (yych <= 'f') goto yy2255;
			goto yy2214;
		}
	}
}

}

// Returns positive value if a URL begins in a way that is potentially
// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0.
bufsize_t _scan_dangerous_url(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *(marker = p);
	if (yych <= 'f') {
		if (yych <= 'I') {
			if (yych <= 'C') {
				if (yych != '\n') goto yy2278;
			} else {
				if (yych <= 'D') goto yy2274;
				if (yych == 'F') goto yy2277;
				goto yy2278;
			}
		} else {
			if (yych <= 'V') {
				if (yych <= 'J') goto yy2275;
				if (yych <= 'U') goto yy2278;
				goto yy2276;
			} else {
				if (yych == 'd') goto yy2274;
				if (yych <= 'e') goto yy2278;
				goto yy2277;
			}
		}
	} else {
		if (yych <= 0xDF) {
			if (yych <= 'u') {
				if (yych == 'j') goto yy2275;
				goto yy2278;
			} else {
				if (yych <= 'v') goto yy2276;
				if (yych <= 0x7F) goto yy2278;
				if (yych >= 0xC2) goto yy2279;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xE0) goto yy2281;
				if (yych == 0xED) goto yy2286;
				goto yy2282;
			} else {
				if (yych <= 0xF0) goto yy2283;
				if (yych <= 0xF3) goto yy2284;
				if (yych <= 0xF4) goto yy2285;
			}
		}
	}
yy2273:
	{ return 0; }
yy2274:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych == 'A') goto yy2308;
	if (yych == 'a') goto yy2308;
	goto yy2273;
yy2275:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych == 'A') goto yy2299;
	if (yych == 'a') goto yy2299;
	goto yy2273;
yy2276:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych == 'B') goto yy2292;
	if (yych == 'b') goto yy2292;
	goto yy2273;
yy2277:
	yyaccept = 0;
	yych = *(marker = ++p);
	if (yych == 'I') goto yy2287;
	if (yych == 'i') goto yy2287;
	goto yy2273;
yy2278:
	yych = *++p;
	goto yy2273;
yy2279:
	yych = *++p;
	if (yych <= 0x7F) goto yy2280;
	if (yych <= 0xBF) goto yy2278;
yy2280:
	p = marker;
	if (yyaccept == 0) {
		goto yy2273;
	} else {
		goto yy2291;
	}
yy2281:
	yych = *++p;
	if (yych <= 0x9F) goto yy2280;
	if (yych <= 0xBF) goto yy2279;
	goto yy2280;
yy2282:
	yych = *++p;
	if (yych <= 0x7F) goto yy2280;
	if (yych <= 0xBF) goto yy2279;
	goto yy2280;
yy2283:
	yych = *++p;
	if (yych <= 0x8F) goto yy2280;
	if (yych <= 0xBF) goto yy2282;
	goto yy2280;
yy2284:
	yych = *++p;
	if (yych <= 0x7F) goto yy2280;
	if (yych <= 0xBF) goto yy2282;
	goto yy2280;
yy2285:
	yych = *++p;
	if (yych <= 0x7F) goto yy2280;
	if (yych <= 0x8F) goto yy2282;
	goto yy2280;
yy2286:
	yych = *++p;
	if (yych <= 0x7F) goto yy2280;
	if (yych <= 0x9F) goto yy2279;
	goto yy2280;
yy2287:
	yych = *++p;
	if (yych == 'L') goto yy2288;
	if (yych != 'l') goto yy2280;
yy2288:
	yych = *++p;
	if (yych == 'E') goto yy2289;
	if (yych != 'e') goto yy2280;
yy2289:
	yych = *++p;
	if (yych != ':') goto yy2280;
yy2290:
	++p;
yy2291:
	{ return (bufsize_t)(p - start); }
yy2292:
	yych = *++p;
	if (yych == 'S') goto yy2293;
	if (yych != 's') goto yy2280;
yy2293:
	yych = *++p;
	if (yych == 'C') goto yy2294;
	if (yych != 'c') goto yy2280;
yy2294:
	yych = *++p;
	if (yych == 'R') goto yy2295;
	if (yych != 'r') goto yy2280;
yy2295:
	yych = *++p;
	if (yych == 'I') goto yy2296;
	if (yych != 'i') goto yy2280;
yy2296:
	yych = *++p;
	if (yych == 'P') goto yy2297;
	if (yych != 'p') goto yy2280;
yy2297:
	yych = *++p;
	if (yych == 'T') goto yy2298;
	if (yych != 't') goto yy2280;
yy2298:
	yych = *++p;
	if (yych == ':') goto yy2290;
	goto yy2280;
yy2299:
	yych = *++p;
	if (yych == 'V') goto yy2300;
	if (yych != 'v') goto yy2280;
yy2300:
	yych = *++p;
	if (yych == 'A') goto yy2301;
	if (yych != 'a') goto yy2280;
yy2301:
	yych = *++p;
	if (yych == 'S') goto yy2302;
	if (yych != 's') goto yy2280;
yy2302:
	yych = *++p;
	if (yych == 'C') goto yy2303;
	if (yych != 'c') goto yy2280;
yy2303:
	yych = *++p;
	if (yych == 'R') goto yy2304;
	if (yych != 'r') goto yy2280;
yy2304:
	yych = *++p;
	if (yych == 'I') goto yy2305;
	if (yych != 'i') goto yy2280;
yy2305:
	yych = *++p;
	if (yych == 'P') goto yy2306;
	if (yych != 'p') goto yy2280;
yy2306:
	yych = *++p;
	if (yych == 'T') goto yy2307;
	if (yych != 't') goto yy2280;
yy2307:
	yych = *++p;
	if (yych == ':') goto yy2290;
	goto yy2280;
yy2308:
	yych = *++p;
	if (yych == 'T') goto yy2309;
	if (yych != 't') goto yy2280;
yy2309:
	yych = *++p;
	if (yych == 'A') goto yy2310;
	if (yych != 'a') goto yy2280;
yy2310:
	yych = *++p;
	if (yych != ':') goto yy2280;
	yyaccept = 1;
	yych = *(marker = ++p);
	if (yych == 'I') goto yy2312;
	if (yych != 'i') goto yy2291;
yy2312:
	yych = *++p;
	if (yych == 'M') goto yy2313;
	if (yych != 'm') goto yy2280;
yy2313:
	yych = *++p;
	if (yych == 'A') goto yy2314;
	if (yych != 'a') goto yy2280;
yy2314:
	yych = *++p;
	if (yych == 'G') goto yy2315;
	if (yych != 'g') goto yy2280;
yy2315:
	yych = *++p;
	if (yych == 'E') goto yy2316;
	if (yych != 'e') goto yy2280;
yy2316:
	yych = *++p;
	if (yych != '/') goto yy2280;
	yych = *++p;
	if (yych <= 'W') {
		if (yych <= 'J') {
			if (yych == 'G') goto yy2319;
			if (yych <= 'I') goto yy2280;
			goto yy2320;
		} else {
			if (yych == 'P') goto yy2318;
			if (yych <= 'V') goto yy2280;
			goto yy2321;
		}
	} else {
		if (yych <= 'j') {
			if (yych == 'g') goto yy2319;
			if (yych <= 'i') goto yy2280;
			goto yy2320;
		} else {
			if (yych <= 'p') {
				if (yych <= 'o') goto yy2280;
			} else {
				if (yych == 'w') goto yy2321;
				goto yy2280;
			}
		}
	}
yy2318:
	yych = *++p;
	if (yych == 'N') goto yy2329;
	if (yych == 'n') goto yy2329;
	goto yy2280;
yy2319:
	yych = *++p;
	if (yych == 'I') goto yy2328;
	if (yych == 'i') goto yy2328;
	goto yy2280;
yy2320:
	yych = *++p;
	if (yych == 'P') goto yy2326;
	if (yych == 'p') goto yy2326;
	goto yy2280;
yy2321:
	yych = *++p;
	if (yych == 'E') goto yy2322;
	if (yych != 'e') goto yy2280;
yy2322:
	yych = *++p;
	if (yych == 'B') goto yy2323;
	if (yych != 'b') goto yy2280;
yy2323:
	yych = *++p;
	if (yych == 'P') goto yy2324;
	if (yych != 'p') goto yy2280;
yy2324:
	++p;
	{ return 0; }
yy2326:
	yych = *++p;
	if (yych == 'E') goto yy2327;
	if (yych != 'e') goto yy2280;
yy2327:
	yych = *++p;
	if (yych == 'G') goto yy2324;
	if (yych == 'g') goto yy2324;
	goto yy2280;
yy2328:
	yych = *++p;
	if (yych == 'F') goto yy2324;
	if (yych == 'f') goto yy2324;
	goto yy2280;
yy2329:
	++p;
	if ((yych = *p) == 'G') goto yy2324;
	if (yych == 'g') goto yy2324;
	goto yy2280;
}

}

