diff --git a/src/zscanner/NOTES b/src/zscanner/NOTES
index 813f7c5b73ccbb23eecc826596c360ffd3782d20..d1219579e8753c27e8dee8a9b05942b1c29fc7a9 100644
--- a/src/zscanner/NOTES
+++ b/src/zscanner/NOTES
@@ -1,16 +1,14 @@
 - supported types: A, NS, CNAME, PTR, DNAME, SOA, HINFO, MINFO, MX, AFSDB, RT,
                    KX, TXT, SPF, RP, AAAA, LOC, SRV, NAPTR, CERT, DS, SSHFP,
                    IPSECKEY, RRSIG, NSEC, KEY, DNSKEY, DHCID, NSEC3, NSEC3PARAM,
-                   TLSA, APL, EUI48, EUI64, NID, L32, L64, LP, TYPE12345
+                   TLSA, CDS, CDNSKEY, APL, EUI48, EUI64, NID, L32, L64, LP,
+                   TYPE12345
 - the class IN is supported only (CLASS12345 notation is not supported too)
-- the newline character is appended to each zone file during processing
-  (for simplicity)
 - domain names can contain alphanumeric, '-', '_' and '/' characters
 - \x and \DDD notations are allowed in domain names and in text strings
 - @ can be used instead of domain names anywhere (excluding directives)
 - directive $INCLUDE is allowed in included zone files (BEWARE of recursion)
 - relative file path is relative to parent zone file
-- blank zone file causes error (the same rule is for included zone file)
 - line numbers of multiline records are numbers of the last lines with
   appropriate record parts
 - items parts lengths must be multiples of 2 for HEX, 4 for base64 and 8 for
diff --git a/src/zscanner/error.c b/src/zscanner/error.c
index ccc43075769704332d0e0b2e0ce60b2a91bcc2f3..ec9dd5df55e1824d45ae777ca8f5c748b8d896ff 100644
--- a/src/zscanner/error.c
+++ b/src/zscanner/error.c
@@ -14,7 +14,7 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <stdlib.h>	// NULL
+#include <stdlib.h>
 
 #include "zscanner/error.h"
 
@@ -26,7 +26,7 @@ typedef struct {
 
 #define ERR_ITEM(code, text) { code, text, #code }
 
-const err_table_t err_msgs[] = {
+static const err_table_t err_msgs[] = {
 	ERR_ITEM( ZS_OK, "ok" ),
 
 	ERR_ITEM( ZS_SYSTEM,
diff --git a/src/zscanner/functions.c b/src/zscanner/functions.c
index 4d8167bc6dec4cd6d2c7c91fc424c9303a7660c0..ea4a09966465ac12f5302c80af317e1ea2c52e6e 100644
--- a/src/zscanner/functions.c
+++ b/src/zscanner/functions.c
@@ -17,9 +17,8 @@
 #include <stdint.h>
 #include <stdlib.h>
 
-#include "zscanner/functions.h"
 #include "zscanner/error.h"
-#include "zscanner/scanner.h"		// ASCII_0
+#include "zscanner/functions.h"
 
 const uint8_t digit_to_num[] = {
     ['0'] = 0, ['1'] = 1, ['2'] = 2, ['3'] = 3, ['4'] = 4,
@@ -793,9 +792,9 @@ void wire_dname_to_str(const uint8_t  *data,
 
 		// Just in case use \123 notation.
 		text[text_len++] = '\\';
-		text[text_len++] = (data[i] / 100)      + ASCII_0;
-		text[text_len++] = (data[i] /  10) % 10 + ASCII_0;
-		text[text_len++] = (data[i]      ) % 10 + ASCII_0;
+		text[text_len++] = (data[i] / 100)      + '0';
+		text[text_len++] = (data[i] /  10) % 10 + '0';
+		text[text_len++] = (data[i]      ) % 10 + '0';
 
 		label_len--;
 	}
diff --git a/src/zscanner/scanner.c.g2 b/src/zscanner/scanner.c.g2
index 8072cdf55207ce23514097c5eaa9e76247966f61..bc287811ab03b262bd0f0aac893d41ec49705653 100644
--- a/src/zscanner/scanner.c.g2
+++ b/src/zscanner/scanner.c.g2
@@ -15,22 +15,22 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <arpa/inet.h>
 #include <config.h>
-#include <stdint.h>			// uint32_t
-#include <stdlib.h>			// calloc
-#include <stdio.h>			// sprintf
-#include <fcntl.h>			// open
-#include <libgen.h>			// dirname
-#include <stdbool.h>			// bool
-#include <string.h>			// strdup
-#include <math.h>			// pow
-#include <sys/mman.h>			// mmap
-#include <sys/types.h>			// (OpenBSD)
-#include <sys/socket.h>			// AF_INET (BSD)
-#include <sys/stat.h>			// fstat
-#include <netinet/in.h>			// in_addr (BSD)
-#include <arpa/inet.h>			// inet_pton
-#include <unistd.h>			// sysconf
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <libgen.h>
+#include <math.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
 #include "zscanner/scanner.h"
 #include "zscanner/functions.h"
@@ -93,7 +93,7 @@ static inline void window_add_bit(const uint16_t type, zs_scanner_t *s) {
 
 // Include scanner file (in Ragel).
 
-static const int zone_scanner_start = 1056;
+static const int zone_scanner_start = 1077;
 static const int zone_scanner_error = 0;
 
 
@@ -204,7 +204,7 @@ static void parse_block(zs_scanner_t *s,
 
 _again:
 	switch ( cs ) {
-		case 1056: goto st1056;
+		case 1077: goto st1077;
 		case 0: goto st0;
 		case 1: goto st1;
 		case 2: goto st2;
@@ -218,7 +218,7 @@ _again:
 		case 10: goto st10;
 		case 11: goto st11;
 		case 12: goto st12;
-		case 1057: goto st1057;
+		case 1078: goto st1078;
 		case 13: goto st13;
 		case 14: goto st14;
 		case 15: goto st15;
@@ -334,7 +334,6 @@ _again:
 		case 125: goto st125;
 		case 126: goto st126;
 		case 127: goto st127;
-		case 1058: goto st1058;
 		case 128: goto st128;
 		case 129: goto st129;
 		case 130: goto st130;
@@ -342,10 +341,10 @@ _again:
 		case 132: goto st132;
 		case 133: goto st133;
 		case 134: goto st134;
+		case 1079: goto st1079;
 		case 135: goto st135;
 		case 136: goto st136;
 		case 137: goto st137;
-		case 1059: goto st1059;
 		case 138: goto st138;
 		case 139: goto st139;
 		case 140: goto st140;
@@ -353,36 +352,37 @@ _again:
 		case 142: goto st142;
 		case 143: goto st143;
 		case 144: goto st144;
+		case 1080: goto st1080;
 		case 145: goto st145;
-		case 1060: goto st1060;
 		case 146: goto st146;
 		case 147: goto st147;
 		case 148: goto st148;
-		case 1061: goto st1061;
 		case 149: goto st149;
 		case 150: goto st150;
 		case 151: goto st151;
 		case 152: goto st152;
+		case 1081: goto st1081;
 		case 153: goto st153;
 		case 154: goto st154;
 		case 155: goto st155;
+		case 1082: goto st1082;
 		case 156: goto st156;
 		case 157: goto st157;
 		case 158: goto st158;
 		case 159: goto st159;
-		case 1062: goto st1062;
 		case 160: goto st160;
 		case 161: goto st161;
 		case 162: goto st162;
 		case 163: goto st163;
-		case 1063: goto st1063;
 		case 164: goto st164;
 		case 165: goto st165;
 		case 166: goto st166;
+		case 1083: goto st1083;
 		case 167: goto st167;
 		case 168: goto st168;
 		case 169: goto st169;
 		case 170: goto st170;
+		case 1084: goto st1084;
 		case 171: goto st171;
 		case 172: goto st172;
 		case 173: goto st173;
@@ -391,7 +391,6 @@ _again:
 		case 176: goto st176;
 		case 177: goto st177;
 		case 178: goto st178;
-		case 1064: goto st1064;
 		case 179: goto st179;
 		case 180: goto st180;
 		case 181: goto st181;
@@ -399,6 +398,7 @@ _again:
 		case 183: goto st183;
 		case 184: goto st184;
 		case 185: goto st185;
+		case 1085: goto st1085;
 		case 186: goto st186;
 		case 187: goto st187;
 		case 188: goto st188;
@@ -408,7 +408,6 @@ _again:
 		case 192: goto st192;
 		case 193: goto st193;
 		case 194: goto st194;
-		case 1065: goto st1065;
 		case 195: goto st195;
 		case 196: goto st196;
 		case 197: goto st197;
@@ -416,6 +415,7 @@ _again:
 		case 199: goto st199;
 		case 200: goto st200;
 		case 201: goto st201;
+		case 1086: goto st1086;
 		case 202: goto st202;
 		case 203: goto st203;
 		case 204: goto st204;
@@ -462,21 +462,19 @@ _again:
 		case 245: goto st245;
 		case 246: goto st246;
 		case 247: goto st247;
-		case 1066: goto st1066;
 		case 248: goto st248;
 		case 249: goto st249;
-		case 1067: goto st1067;
 		case 250: goto st250;
 		case 251: goto st251;
 		case 252: goto st252;
 		case 253: goto st253;
 		case 254: goto st254;
+		case 1087: goto st1087;
 		case 255: goto st255;
 		case 256: goto st256;
+		case 1088: goto st1088;
 		case 257: goto st257;
 		case 258: goto st258;
-		case 1068: goto st1068;
-		case 1069: goto st1069;
 		case 259: goto st259;
 		case 260: goto st260;
 		case 261: goto st261;
@@ -484,6 +482,8 @@ _again:
 		case 263: goto st263;
 		case 264: goto st264;
 		case 265: goto st265;
+		case 1089: goto st1089;
+		case 1090: goto st1090;
 		case 266: goto st266;
 		case 267: goto st267;
 		case 268: goto st268;
@@ -491,7 +491,6 @@ _again:
 		case 270: goto st270;
 		case 271: goto st271;
 		case 272: goto st272;
-		case 1070: goto st1070;
 		case 273: goto st273;
 		case 274: goto st274;
 		case 275: goto st275;
@@ -499,10 +498,10 @@ _again:
 		case 277: goto st277;
 		case 278: goto st278;
 		case 279: goto st279;
+		case 1091: goto st1091;
 		case 280: goto st280;
 		case 281: goto st281;
 		case 282: goto st282;
-		case 1071: goto st1071;
 		case 283: goto st283;
 		case 284: goto st284;
 		case 285: goto st285;
@@ -510,6 +509,7 @@ _again:
 		case 287: goto st287;
 		case 288: goto st288;
 		case 289: goto st289;
+		case 1092: goto st1092;
 		case 290: goto st290;
 		case 291: goto st291;
 		case 292: goto st292;
@@ -517,7 +517,6 @@ _again:
 		case 294: goto st294;
 		case 295: goto st295;
 		case 296: goto st296;
-		case 1072: goto st1072;
 		case 297: goto st297;
 		case 298: goto st298;
 		case 299: goto st299;
@@ -525,7 +524,7 @@ _again:
 		case 301: goto st301;
 		case 302: goto st302;
 		case 303: goto st303;
-		case 1073: goto st1073;
+		case 1093: goto st1093;
 		case 304: goto st304;
 		case 305: goto st305;
 		case 306: goto st306;
@@ -533,11 +532,9 @@ _again:
 		case 308: goto st308;
 		case 309: goto st309;
 		case 310: goto st310;
+		case 1094: goto st1094;
 		case 311: goto st311;
 		case 312: goto st312;
-		case 1074: goto st1074;
-		case 1075: goto st1075;
-		case 1076: goto st1076;
 		case 313: goto st313;
 		case 314: goto st314;
 		case 315: goto st315;
@@ -545,17 +542,19 @@ _again:
 		case 317: goto st317;
 		case 318: goto st318;
 		case 319: goto st319;
+		case 1095: goto st1095;
+		case 1096: goto st1096;
+		case 1097: goto st1097;
 		case 320: goto st320;
-		case 1077: goto st1077;
-		case 1078: goto st1078;
 		case 321: goto st321;
 		case 322: goto st322;
 		case 323: goto st323;
 		case 324: goto st324;
-		case 1079: goto st1079;
 		case 325: goto st325;
 		case 326: goto st326;
 		case 327: goto st327;
+		case 1098: goto st1098;
+		case 1099: goto st1099;
 		case 328: goto st328;
 		case 329: goto st329;
 		case 330: goto st330;
@@ -563,6 +562,7 @@ _again:
 		case 332: goto st332;
 		case 333: goto st333;
 		case 334: goto st334;
+		case 1100: goto st1100;
 		case 335: goto st335;
 		case 336: goto st336;
 		case 337: goto st337;
@@ -669,43 +669,43 @@ _again:
 		case 438: goto st438;
 		case 439: goto st439;
 		case 440: goto st440;
-		case 1080: goto st1080;
-		case 1081: goto st1081;
-		case 1082: goto st1082;
 		case 441: goto st441;
 		case 442: goto st442;
 		case 443: goto st443;
 		case 444: goto st444;
 		case 445: goto st445;
-		case 1083: goto st1083;
 		case 446: goto st446;
 		case 447: goto st447;
 		case 448: goto st448;
 		case 449: goto st449;
-		case 1084: goto st1084;
-		case 1085: goto st1085;
-		case 1086: goto st1086;
 		case 450: goto st450;
 		case 451: goto st451;
-		case 1087: goto st1087;
 		case 452: goto st452;
 		case 453: goto st453;
 		case 454: goto st454;
-		case 1088: goto st1088;
+		case 1101: goto st1101;
+		case 1102: goto st1102;
+		case 1103: goto st1103;
 		case 455: goto st455;
 		case 456: goto st456;
 		case 457: goto st457;
 		case 458: goto st458;
 		case 459: goto st459;
+		case 1104: goto st1104;
 		case 460: goto st460;
 		case 461: goto st461;
 		case 462: goto st462;
 		case 463: goto st463;
+		case 1105: goto st1105;
+		case 1106: goto st1106;
+		case 1107: goto st1107;
 		case 464: goto st464;
 		case 465: goto st465;
+		case 1108: goto st1108;
 		case 466: goto st466;
 		case 467: goto st467;
 		case 468: goto st468;
+		case 1109: goto st1109;
 		case 469: goto st469;
 		case 470: goto st470;
 		case 471: goto st471;
@@ -787,7 +787,6 @@ _again:
 		case 547: goto st547;
 		case 548: goto st548;
 		case 549: goto st549;
-		case 1089: goto st1089;
 		case 550: goto st550;
 		case 551: goto st551;
 		case 552: goto st552;
@@ -802,6 +801,7 @@ _again:
 		case 561: goto st561;
 		case 562: goto st562;
 		case 563: goto st563;
+		case 1110: goto st1110;
 		case 564: goto st564;
 		case 565: goto st565;
 		case 566: goto st566;
@@ -829,10 +829,8 @@ _again:
 		case 588: goto st588;
 		case 589: goto st589;
 		case 590: goto st590;
-		case 1090: goto st1090;
 		case 591: goto st591;
 		case 592: goto st592;
-		case 1091: goto st1091;
 		case 593: goto st593;
 		case 594: goto st594;
 		case 595: goto st595;
@@ -845,9 +843,10 @@ _again:
 		case 602: goto st602;
 		case 603: goto st603;
 		case 604: goto st604;
+		case 1111: goto st1111;
 		case 605: goto st605;
 		case 606: goto st606;
-		case 1092: goto st1092;
+		case 1112: goto st1112;
 		case 607: goto st607;
 		case 608: goto st608;
 		case 609: goto st609;
@@ -862,6 +861,7 @@ _again:
 		case 618: goto st618;
 		case 619: goto st619;
 		case 620: goto st620;
+		case 1113: goto st1113;
 		case 621: goto st621;
 		case 622: goto st622;
 		case 623: goto st623;
@@ -870,44 +870,44 @@ _again:
 		case 626: goto st626;
 		case 627: goto st627;
 		case 628: goto st628;
-		case 1093: goto st1093;
 		case 629: goto st629;
 		case 630: goto st630;
 		case 631: goto st631;
 		case 632: goto st632;
 		case 633: goto st633;
-		case 1094: goto st1094;
 		case 634: goto st634;
 		case 635: goto st635;
 		case 636: goto st636;
 		case 637: goto st637;
 		case 638: goto st638;
-		case 1095: goto st1095;
 		case 639: goto st639;
 		case 640: goto st640;
 		case 641: goto st641;
 		case 642: goto st642;
+		case 1114: goto st1114;
 		case 643: goto st643;
-		case 1096: goto st1096;
-		case 1097: goto st1097;
-		case 1098: goto st1098;
 		case 644: goto st644;
 		case 645: goto st645;
-		case 1099: goto st1099;
 		case 646: goto st646;
 		case 647: goto st647;
+		case 1115: goto st1115;
 		case 648: goto st648;
 		case 649: goto st649;
 		case 650: goto st650;
 		case 651: goto st651;
 		case 652: goto st652;
+		case 1116: goto st1116;
 		case 653: goto st653;
 		case 654: goto st654;
 		case 655: goto st655;
 		case 656: goto st656;
 		case 657: goto st657;
+		case 1117: goto st1117;
+		case 1118: goto st1118;
+		case 1119: goto st1119;
 		case 658: goto st658;
 		case 659: goto st659;
+		case 1120: goto st1120;
 		case 660: goto st660;
 		case 661: goto st661;
 		case 662: goto st662;
@@ -921,40 +921,40 @@ _again:
 		case 670: goto st670;
 		case 671: goto st671;
 		case 672: goto st672;
-		case 1100: goto st1100;
-		case 1101: goto st1101;
-		case 1102: goto st1102;
 		case 673: goto st673;
 		case 674: goto st674;
 		case 675: goto st675;
-		case 1103: goto st1103;
-		case 1104: goto st1104;
 		case 676: goto st676;
 		case 677: goto st677;
 		case 678: goto st678;
 		case 679: goto st679;
-		case 1105: goto st1105;
-		case 1106: goto st1106;
 		case 680: goto st680;
 		case 681: goto st681;
 		case 682: goto st682;
 		case 683: goto st683;
-		case 1107: goto st1107;
-		case 1108: goto st1108;
 		case 684: goto st684;
 		case 685: goto st685;
 		case 686: goto st686;
+		case 1121: goto st1121;
+		case 1122: goto st1122;
+		case 1123: goto st1123;
 		case 687: goto st687;
 		case 688: goto st688;
 		case 689: goto st689;
+		case 1124: goto st1124;
+		case 1125: goto st1125;
 		case 690: goto st690;
 		case 691: goto st691;
 		case 692: goto st692;
 		case 693: goto st693;
+		case 1126: goto st1126;
+		case 1127: goto st1127;
 		case 694: goto st694;
 		case 695: goto st695;
 		case 696: goto st696;
 		case 697: goto st697;
+		case 1128: goto st1128;
+		case 1129: goto st1129;
 		case 698: goto st698;
 		case 699: goto st699;
 		case 700: goto st700;
@@ -966,7 +966,6 @@ _again:
 		case 706: goto st706;
 		case 707: goto st707;
 		case 708: goto st708;
-		case 1109: goto st1109;
 		case 709: goto st709;
 		case 710: goto st710;
 		case 711: goto st711;
@@ -981,8 +980,8 @@ _again:
 		case 720: goto st720;
 		case 721: goto st721;
 		case 722: goto st722;
+		case 1130: goto st1130;
 		case 723: goto st723;
-		case 1110: goto st1110;
 		case 724: goto st724;
 		case 725: goto st725;
 		case 726: goto st726;
@@ -996,8 +995,8 @@ _again:
 		case 734: goto st734;
 		case 735: goto st735;
 		case 736: goto st736;
-		case 1111: goto st1111;
 		case 737: goto st737;
+		case 1131: goto st1131;
 		case 738: goto st738;
 		case 739: goto st739;
 		case 740: goto st740;
@@ -1008,12 +1007,10 @@ _again:
 		case 745: goto st745;
 		case 746: goto st746;
 		case 747: goto st747;
-		case 1112: goto st1112;
-		case 1113: goto st1113;
 		case 748: goto st748;
 		case 749: goto st749;
 		case 750: goto st750;
-		case 1114: goto st1114;
+		case 1132: goto st1132;
 		case 751: goto st751;
 		case 752: goto st752;
 		case 753: goto st753;
@@ -1024,13 +1021,13 @@ _again:
 		case 758: goto st758;
 		case 759: goto st759;
 		case 760: goto st760;
-		case 1115: goto st1115;
-		case 1116: goto st1116;
-		case 1117: goto st1117;
 		case 761: goto st761;
+		case 1133: goto st1133;
+		case 1134: goto st1134;
 		case 762: goto st762;
 		case 763: goto st763;
 		case 764: goto st764;
+		case 1135: goto st1135;
 		case 765: goto st765;
 		case 766: goto st766;
 		case 767: goto st767;
@@ -1038,12 +1035,12 @@ _again:
 		case 769: goto st769;
 		case 770: goto st770;
 		case 771: goto st771;
-		case 1118: goto st1118;
-		case 1119: goto st1119;
-		case 1120: goto st1120;
 		case 772: goto st772;
 		case 773: goto st773;
 		case 774: goto st774;
+		case 1136: goto st1136;
+		case 1137: goto st1137;
+		case 1138: goto st1138;
 		case 775: goto st775;
 		case 776: goto st776;
 		case 777: goto st777;
@@ -1053,18 +1050,14 @@ _again:
 		case 781: goto st781;
 		case 782: goto st782;
 		case 783: goto st783;
-		case 1121: goto st1121;
 		case 784: goto st784;
 		case 785: goto st785;
+		case 1139: goto st1139;
+		case 1140: goto st1140;
+		case 1141: goto st1141;
 		case 786: goto st786;
-		case 1122: goto st1122;
-		case 1123: goto st1123;
 		case 787: goto st787;
-		case 1124: goto st1124;
-		case 1125: goto st1125;
 		case 788: goto st788;
-		case 1126: goto st1126;
-		case 1127: goto st1127;
 		case 789: goto st789;
 		case 790: goto st790;
 		case 791: goto st791;
@@ -1074,11 +1067,18 @@ _again:
 		case 795: goto st795;
 		case 796: goto st796;
 		case 797: goto st797;
+		case 1142: goto st1142;
 		case 798: goto st798;
 		case 799: goto st799;
 		case 800: goto st800;
+		case 1143: goto st1143;
+		case 1144: goto st1144;
 		case 801: goto st801;
+		case 1145: goto st1145;
+		case 1146: goto st1146;
 		case 802: goto st802;
+		case 1147: goto st1147;
+		case 1148: goto st1148;
 		case 803: goto st803;
 		case 804: goto st804;
 		case 805: goto st805;
@@ -1107,7 +1107,6 @@ _again:
 		case 828: goto st828;
 		case 829: goto st829;
 		case 830: goto st830;
-		case 1128: goto st1128;
 		case 831: goto st831;
 		case 832: goto st832;
 		case 833: goto st833;
@@ -1122,6 +1121,7 @@ _again:
 		case 842: goto st842;
 		case 843: goto st843;
 		case 844: goto st844;
+		case 1149: goto st1149;
 		case 845: goto st845;
 		case 846: goto st846;
 		case 847: goto st847;
@@ -1235,7 +1235,6 @@ _again:
 		case 955: goto st955;
 		case 956: goto st956;
 		case 957: goto st957;
-		case 1129: goto st1129;
 		case 958: goto st958;
 		case 959: goto st959;
 		case 960: goto st960;
@@ -1244,13 +1243,11 @@ _again:
 		case 963: goto st963;
 		case 964: goto st964;
 		case 965: goto st965;
-		case 1130: goto st1130;
 		case 966: goto st966;
 		case 967: goto st967;
 		case 968: goto st968;
 		case 969: goto st969;
 		case 970: goto st970;
-		case 1131: goto st1131;
 		case 971: goto st971;
 		case 972: goto st972;
 		case 973: goto st973;
@@ -1259,6 +1256,7 @@ _again:
 		case 976: goto st976;
 		case 977: goto st977;
 		case 978: goto st978;
+		case 1150: goto st1150;
 		case 979: goto st979;
 		case 980: goto st980;
 		case 981: goto st981;
@@ -1267,12 +1265,13 @@ _again:
 		case 984: goto st984;
 		case 985: goto st985;
 		case 986: goto st986;
+		case 1151: goto st1151;
 		case 987: goto st987;
 		case 988: goto st988;
-		case 1132: goto st1132;
 		case 989: goto st989;
 		case 990: goto st990;
 		case 991: goto st991;
+		case 1152: goto st1152;
 		case 992: goto st992;
 		case 993: goto st993;
 		case 994: goto st994;
@@ -1289,9 +1288,9 @@ _again:
 		case 1005: goto st1005;
 		case 1006: goto st1006;
 		case 1007: goto st1007;
-		case 1133: goto st1133;
 		case 1008: goto st1008;
 		case 1009: goto st1009;
+		case 1153: goto st1153;
 		case 1010: goto st1010;
 		case 1011: goto st1011;
 		case 1012: goto st1012;
@@ -1305,17 +1304,14 @@ _again:
 		case 1020: goto st1020;
 		case 1021: goto st1021;
 		case 1022: goto st1022;
-		case 1134: goto st1134;
-		case 1135: goto st1135;
-		case 1136: goto st1136;
 		case 1023: goto st1023;
 		case 1024: goto st1024;
 		case 1025: goto st1025;
 		case 1026: goto st1026;
 		case 1027: goto st1027;
 		case 1028: goto st1028;
+		case 1154: goto st1154;
 		case 1029: goto st1029;
-		case 1137: goto st1137;
 		case 1030: goto st1030;
 		case 1031: goto st1031;
 		case 1032: goto st1032;
@@ -1329,22 +1325,47 @@ _again:
 		case 1040: goto st1040;
 		case 1041: goto st1041;
 		case 1042: goto st1042;
-		case 1138: goto st1138;
 		case 1043: goto st1043;
+		case 1155: goto st1155;
+		case 1156: goto st1156;
+		case 1157: goto st1157;
 		case 1044: goto st1044;
 		case 1045: goto st1045;
 		case 1046: goto st1046;
 		case 1047: goto st1047;
 		case 1048: goto st1048;
 		case 1049: goto st1049;
-		case 1139: goto st1139;
 		case 1050: goto st1050;
+		case 1158: goto st1158;
 		case 1051: goto st1051;
 		case 1052: goto st1052;
 		case 1053: goto st1053;
 		case 1054: goto st1054;
 		case 1055: goto st1055;
-		case 1140: goto st1140;
+		case 1056: goto st1056;
+		case 1057: goto st1057;
+		case 1058: goto st1058;
+		case 1059: goto st1059;
+		case 1060: goto st1060;
+		case 1061: goto st1061;
+		case 1062: goto st1062;
+		case 1063: goto st1063;
+		case 1159: goto st1159;
+		case 1064: goto st1064;
+		case 1065: goto st1065;
+		case 1066: goto st1066;
+		case 1067: goto st1067;
+		case 1068: goto st1068;
+		case 1069: goto st1069;
+		case 1070: goto st1070;
+		case 1160: goto st1160;
+		case 1071: goto st1071;
+		case 1072: goto st1072;
+		case 1073: goto st1073;
+		case 1074: goto st1074;
+		case 1075: goto st1075;
+		case 1076: goto st1076;
+		case 1161: goto st1161;
 	default: break;
 	}
 
@@ -1357,12 +1378,12 @@ tr19:
 	{
 		s->line_counter++;
 	}
-	goto st1056;
+	goto st1077;
 tr81:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -1376,19 +1397,19 @@ tr81:
 	{
 		s->line_counter++;
 	}
-	goto st1056;
-tr3194:
+	goto st1077;
+tr3257:
 	{
 		s->stop = false;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1056;
-st1056:
+	goto st1077;
+st1077:
 	if ( ++p == pe )
-		goto _test_eof1056;
-case 1056:
+		goto _test_eof1077;
+case 1077:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -1402,877 +1423,877 @@ case 1056:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3135;
-		case 32: goto tr3135;
-		case 36: goto st138;
-		case 40: goto tr3137;
-		case 41: goto tr3138;
-		case 42: goto tr3139;
-		case 92: goto tr3139;
-		case 95: goto tr3139;
+		case 9: goto tr3198;
+		case 32: goto tr3198;
+		case 36: goto st145;
+		case 40: goto tr3200;
+		case 41: goto tr3201;
+		case 42: goto tr3202;
+		case 92: goto tr3202;
+		case 95: goto tr3202;
 		case 778: goto tr19;
-		case 827: goto st137;
-		case 1034: goto tr3140;
-		case 1083: goto tr3141;
+		case 827: goto st144;
+		case 1034: goto tr3203;
+		case 1083: goto tr3204;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr3139;
+			goto tr3202;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr3139;
+			goto tr3202;
 	} else
-		goto tr3139;
-	goto tr3134;
+		goto tr3202;
+	goto tr3197;
 tr0:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr23:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr35:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr55:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr69:
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr77:
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr83:
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr95:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr119:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 tr125:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr524:
+tr547:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr526:
+tr549:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr591:
+tr614:
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr602:
+tr625:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr614:
+tr637:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr638:
+tr661:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr653:
+tr676:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr681:
+tr704:
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr691:
+tr714:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr697:
+tr720:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr708:
+tr731:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr721:
+tr744:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr774:
+tr797:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr779:
+tr802:
 	{
 		WARN(ZS_BAD_DNAME_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr792:
+tr815:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_DNAME_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr800:
+tr823:
 	{
 		WARN(ZS_BAD_TEXT_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr807:
+tr830:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TEXT_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr817:
+tr840:
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr824:
+tr847:
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr830:
+tr853:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr832:
+tr855:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr844:
+tr867:
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr846:
+tr869:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr859:
+tr882:
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr871:
+tr894:
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr885:
+tr908:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr897:
+tr920:
 	{
 		ERR(ZS_BAD_INCLUDE_FILENAME);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr898:
+tr921:
 	{
 		ERR(ZS_BAD_INCLUDE_FILENAME);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr905:
+tr928:
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr915:
+tr938:
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr930:
+tr953:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr942:
+tr965:
 	{
 		WARN(ZS_BAD_BASE64_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr956:
+tr979:
 	{
 		WARN(ZS_BAD_BITMAP);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1403:
+tr1449:
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1409:
+tr1455:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1417:
+tr1463:
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1467:
+tr1513:
 	{
 		WARN(ZS_BAD_ALGORITHM);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1578:
+tr1624:
 	{
 		WARN(ZS_BAD_CERT_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1631:
+tr1677:
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1654:
+tr1700:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1673:
+tr1719:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr1840:
+tr1886:
 	{
 		WARN(ZS_BAD_LOC_DATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2197:
+tr2243:
 	{
 		WARN(ZS_BAD_APL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2212:
+tr2258:
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_APL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2255:
+tr2301:
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2312:
+tr2358:
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2327:
+tr2373:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2341:
+tr2387:
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2364:
+tr2410:
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2378:
+tr2424:
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2385:
+tr2431:
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2490:
+tr2536:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2543:
+tr2589:
 	{
 		WARN(ZS_BAD_TIMESTAMP_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2882:
+tr2945:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr2970:
+tr3033:
 	{
 		WARN(ZS_BAD_BASE32HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3113:
+tr3176:
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_CHAR_COLON);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3119:
+tr3182:
 	{
 		WARN(ZS_BAD_CHAR_COLON);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3123:
+tr3186:
 	{
 		WARN(ZS_BAD_CHAR_DASH);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3134:
+tr3197:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3152:
+tr3215:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3172:
+tr3235:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3188:
+tr3251:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
-tr3211:
+tr3274:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	goto st0;
 st0:
@@ -2282,7 +2303,7 @@ tr2:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -2291,122 +2312,122 @@ tr3:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st1;
-tr3135:
+tr3198:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st1;
-tr3137:
+tr3200:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st1;
-tr3138:
+tr3201:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st1;
-tr3198:
+tr3261:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st1;
-tr3199:
+tr3262:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st1;
-tr3189:
+tr3252:
 	{
 		s->stop = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st1;
-tr3191:
+tr3254:
 	{
 		s->stop = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st1;
-tr3192:
+tr3255:
 	{
 		s->stop = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -2461,9 +2482,9 @@ case 1:
 		case 115: goto tr17;
 		case 116: goto tr18;
 		case 778: goto tr19;
-		case 827: goto st137;
+		case 827: goto st144;
 		case 1034: goto tr21;
-		case 1083: goto st242;
+		case 1083: goto st249;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
@@ -2473,33 +2494,33 @@ tr4:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st2;
 tr27:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st2;
@@ -2527,12 +2548,12 @@ case 2:
 		case 68: goto tr28;
 		case 72: goto tr29;
 		case 77: goto tr30;
-		case 83: goto st152;
+		case 83: goto st159;
 		case 87: goto tr32;
 		case 100: goto tr28;
 		case 104: goto tr29;
 		case 109: goto tr30;
-		case 115: goto st152;
+		case 115: goto st159;
 		case 119: goto tr32;
 		case 1034: goto tr33;
 		case 1083: goto tr34;
@@ -2544,7 +2565,7 @@ tr37:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -2553,7 +2574,7 @@ tr38:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -2569,7 +2590,7 @@ tr24:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st3;
@@ -2579,13 +2600,13 @@ tr25:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -2596,13 +2617,13 @@ tr26:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -2613,20 +2634,20 @@ tr33:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
 	goto st3;
-tr632:
+tr655:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -2634,17 +2655,17 @@ tr632:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st3;
-tr633:
+tr656:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -2652,24 +2673,24 @@ tr633:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st3;
-tr634:
+tr657:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -2677,24 +2698,24 @@ tr634:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st3;
-tr636:
+tr659:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -2702,7 +2723,7 @@ tr636:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -2759,7 +2780,7 @@ case 3:
 		case 115: goto tr51;
 		case 116: goto tr52;
 		case 1034: goto tr53;
-		case 1083: goto st155;
+		case 1083: goto st162;
 	}
 	goto tr35;
 tr5:
@@ -2775,7 +2796,7 @@ tr39:
 		s->r_class = s->default_class;
 	}
 	goto st4;
-tr551:
+tr574:
 	{
 		s->r_ttl = s->default_ttl;
 	}
@@ -2805,12 +2826,12 @@ case 4:
 		case 32: goto tr56;
 		case 40: goto tr57;
 		case 41: goto tr58;
-		case 65: goto st213;
-		case 70: goto st216;
-		case 80: goto st220;
-		case 97: goto st213;
-		case 102: goto st216;
-		case 112: goto st220;
+		case 65: goto st220;
+		case 70: goto st223;
+		case 80: goto st227;
+		case 97: goto st220;
+		case 102: goto st223;
+		case 112: goto st227;
 		case 2058: goto tr62;
 		case 2107: goto tr63;
 		case 2314: goto tr64;
@@ -2823,7 +2844,7 @@ tr70:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -2832,7 +2853,7 @@ tr71:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -2856,7 +2877,7 @@ tr57:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -2869,7 +2890,7 @@ tr58:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -2883,13 +2904,95 @@ tr62:
 		s->line_counter++;
 	}
 	goto st5;
-tr135:
+tr140:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	goto st5;
+tr141:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		if (s->multiline == true) {
+			ERR(ZS_LEFT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = true;
+	}
+	goto st5;
+tr142:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		if (s->multiline == false) {
+			ERR(ZS_RIGHT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = false;
+	}
+	goto st5;
+tr143:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		s->line_counter++;
+	}
+	goto st5;
+tr151:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	{
+		rdata_tail = s->r_data;
+	}
+	goto st5;
+tr152:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		if (s->multiline == true) {
+			ERR(ZS_LEFT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = true;
+	}
+	goto st5;
+tr153:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		if (s->multiline == false) {
+			ERR(ZS_RIGHT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = false;
+	}
+	goto st5;
+tr154:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		s->line_counter++;
+	}
+	goto st5;
+tr161:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr136:
+tr162:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
@@ -2897,12 +3000,12 @@ tr136:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr137:
+tr163:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
@@ -2910,12 +3013,12 @@ tr137:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr138:
+tr164:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
@@ -2924,13 +3027,13 @@ tr138:
 		s->line_counter++;
 	}
 	goto st5;
-tr149:
+tr172:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr150:
+tr173:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -2938,12 +3041,12 @@ tr150:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr151:
+tr174:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -2951,12 +3054,12 @@ tr151:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr152:
+tr175:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -2965,13 +3068,13 @@ tr152:
 		s->line_counter++;
 	}
 	goto st5;
-tr163:
+tr186:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr164:
+tr187:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
@@ -2979,12 +3082,12 @@ tr164:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr165:
+tr188:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
@@ -2992,12 +3095,12 @@ tr165:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr166:
+tr189:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
@@ -3006,13 +3109,13 @@ tr166:
 		s->line_counter++;
 	}
 	goto st5;
-tr175:
+tr198:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr176:
+tr199:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -3020,12 +3123,12 @@ tr176:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr177:
+tr200:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -3033,12 +3136,12 @@ tr177:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr178:
+tr201:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -3047,13 +3150,13 @@ tr178:
 		s->line_counter++;
 	}
 	goto st5;
-tr186:
+tr209:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr187:
+tr210:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3061,12 +3164,12 @@ tr187:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr188:
+tr211:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3074,12 +3177,12 @@ tr188:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr189:
+tr212:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3088,13 +3191,13 @@ tr189:
 		s->line_counter++;
 	}
 	goto st5;
-tr194:
+tr217:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr195:
+tr218:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
@@ -3102,12 +3205,12 @@ tr195:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr196:
+tr219:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
@@ -3115,12 +3218,12 @@ tr196:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr197:
+tr220:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
@@ -3129,13 +3232,13 @@ tr197:
 		s->line_counter++;
 	}
 	goto st5;
-tr207:
+tr230:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr208:
+tr231:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
@@ -3143,12 +3246,12 @@ tr208:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr209:
+tr232:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
@@ -3156,12 +3259,12 @@ tr209:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr210:
+tr233:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
@@ -3170,13 +3273,13 @@ tr210:
 		s->line_counter++;
 	}
 	goto st5;
-tr216:
+tr239:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr217:
+tr240:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
@@ -3184,12 +3287,12 @@ tr217:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr218:
+tr241:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
@@ -3197,12 +3300,12 @@ tr218:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr219:
+tr242:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
@@ -3211,13 +3314,13 @@ tr219:
 		s->line_counter++;
 	}
 	goto st5;
-tr228:
+tr251:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr229:
+tr252:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -3225,12 +3328,12 @@ tr229:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr230:
+tr253:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -3238,12 +3341,12 @@ tr230:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr231:
+tr254:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -3252,13 +3355,13 @@ tr231:
 		s->line_counter++;
 	}
 	goto st5;
-tr268:
+tr291:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr269:
+tr292:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3266,12 +3369,12 @@ tr269:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr270:
+tr293:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3279,12 +3382,12 @@ tr270:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr271:
+tr294:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3293,13 +3396,13 @@ tr271:
 		s->line_counter++;
 	}
 	goto st5;
-tr279:
+tr302:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr280:
+tr303:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3307,12 +3410,12 @@ tr280:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr281:
+tr304:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3320,12 +3423,12 @@ tr281:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr282:
+tr305:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
@@ -3334,13 +3437,13 @@ tr282:
 		s->line_counter++;
 	}
 	goto st5;
-tr287:
+tr310:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr288:
+tr311:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
@@ -3348,12 +3451,12 @@ tr288:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr289:
+tr312:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
@@ -3361,12 +3464,12 @@ tr289:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr290:
+tr313:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
@@ -3375,13 +3478,13 @@ tr290:
 		s->line_counter++;
 	}
 	goto st5;
-tr300:
+tr323:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr301:
+tr324:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
@@ -3389,12 +3492,12 @@ tr301:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr302:
+tr325:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
@@ -3402,12 +3505,12 @@ tr302:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr303:
+tr326:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
@@ -3416,13 +3519,13 @@ tr303:
 		s->line_counter++;
 	}
 	goto st5;
-tr309:
+tr332:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr310:
+tr333:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
@@ -3430,12 +3533,12 @@ tr310:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr311:
+tr334:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
@@ -3443,12 +3546,12 @@ tr311:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr312:
+tr335:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
@@ -3457,13 +3560,13 @@ tr312:
 		s->line_counter++;
 	}
 	goto st5;
-tr318:
+tr341:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr319:
+tr342:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
@@ -3471,12 +3574,12 @@ tr319:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr320:
+tr343:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
@@ -3484,12 +3587,12 @@ tr320:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr321:
+tr344:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
@@ -3498,13 +3601,13 @@ tr321:
 		s->line_counter++;
 	}
 	goto st5;
-tr326:
+tr349:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr327:
+tr350:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
@@ -3512,12 +3615,12 @@ tr327:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr328:
+tr351:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
@@ -3525,12 +3628,12 @@ tr328:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr329:
+tr352:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
@@ -3539,13 +3642,13 @@ tr329:
 		s->line_counter++;
 	}
 	goto st5;
-tr339:
+tr362:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr340:
+tr363:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -3553,12 +3656,12 @@ tr340:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr341:
+tr364:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -3566,12 +3669,12 @@ tr341:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr342:
+tr365:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -3580,13 +3683,13 @@ tr342:
 		s->line_counter++;
 	}
 	goto st5;
-tr347:
+tr370:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr348:
+tr371:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
@@ -3594,12 +3697,12 @@ tr348:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr349:
+tr372:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
@@ -3607,12 +3710,12 @@ tr349:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr350:
+tr373:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
@@ -3621,13 +3724,13 @@ tr350:
 		s->line_counter++;
 	}
 	goto st5;
-tr361:
+tr384:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr362:
+tr385:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
@@ -3635,12 +3738,12 @@ tr362:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr363:
+tr386:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
@@ -3648,12 +3751,12 @@ tr363:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr364:
+tr387:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
@@ -3662,13 +3765,13 @@ tr364:
 		s->line_counter++;
 	}
 	goto st5;
-tr370:
+tr393:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr371:
+tr394:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
@@ -3676,12 +3779,12 @@ tr371:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr372:
+tr395:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
@@ -3689,12 +3792,12 @@ tr372:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr373:
+tr396:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
@@ -3703,13 +3806,13 @@ tr373:
 		s->line_counter++;
 	}
 	goto st5;
-tr378:
+tr401:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr379:
+tr402:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
@@ -3717,12 +3820,12 @@ tr379:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr380:
+tr403:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
@@ -3730,12 +3833,12 @@ tr380:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr382:
+tr405:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
@@ -3744,13 +3847,13 @@ tr382:
 		s->line_counter++;
 	}
 	goto st5;
-tr388:
+tr411:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr389:
+tr412:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
@@ -3758,12 +3861,12 @@ tr389:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr390:
+tr413:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
@@ -3771,12 +3874,12 @@ tr390:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr392:
+tr415:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
@@ -3785,13 +3888,13 @@ tr392:
 		s->line_counter++;
 	}
 	goto st5;
-tr397:
+tr420:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr398:
+tr421:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
@@ -3799,12 +3902,12 @@ tr398:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr399:
+tr422:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
@@ -3812,12 +3915,12 @@ tr399:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr401:
+tr424:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
@@ -3826,13 +3929,13 @@ tr401:
 		s->line_counter++;
 	}
 	goto st5;
-tr410:
+tr433:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr411:
+tr434:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
@@ -3840,12 +3943,12 @@ tr411:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr412:
+tr435:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
@@ -3853,12 +3956,12 @@ tr412:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr413:
+tr436:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
@@ -3867,13 +3970,13 @@ tr413:
 		s->line_counter++;
 	}
 	goto st5;
-tr420:
+tr443:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr421:
+tr444:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
@@ -3881,12 +3984,12 @@ tr421:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr422:
+tr445:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
@@ -3894,12 +3997,12 @@ tr422:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr423:
+tr446:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
@@ -3908,13 +4011,13 @@ tr423:
 		s->line_counter++;
 	}
 	goto st5;
-tr431:
+tr454:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr432:
+tr455:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
@@ -3922,12 +4025,12 @@ tr432:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr433:
+tr456:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
@@ -3935,12 +4038,12 @@ tr433:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr434:
+tr457:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
@@ -3949,13 +4052,13 @@ tr434:
 		s->line_counter++;
 	}
 	goto st5;
-tr442:
+tr465:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr443:
+tr466:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
@@ -3963,12 +4066,12 @@ tr443:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr444:
+tr467:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
@@ -3976,12 +4079,12 @@ tr444:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr445:
+tr468:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
@@ -3990,13 +4093,13 @@ tr445:
 		s->line_counter++;
 	}
 	goto st5;
-tr450:
+tr473:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr451:
+tr474:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
@@ -4004,12 +4107,12 @@ tr451:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr452:
+tr475:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
@@ -4017,12 +4120,12 @@ tr452:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr453:
+tr476:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
@@ -4031,13 +4134,13 @@ tr453:
 		s->line_counter++;
 	}
 	goto st5;
-tr463:
+tr486:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr464:
+tr487:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
@@ -4045,12 +4148,12 @@ tr464:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr465:
+tr488:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
@@ -4058,12 +4161,12 @@ tr465:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr466:
+tr489:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
@@ -4072,13 +4175,13 @@ tr466:
 		s->line_counter++;
 	}
 	goto st5;
-tr472:
+tr495:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr473:
+tr496:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
@@ -4086,12 +4189,12 @@ tr473:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr474:
+tr497:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
@@ -4099,12 +4202,12 @@ tr474:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr475:
+tr498:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
@@ -4113,13 +4216,13 @@ tr475:
 		s->line_counter++;
 	}
 	goto st5;
-tr481:
+tr504:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr482:
+tr505:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
@@ -4127,12 +4230,12 @@ tr482:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr483:
+tr506:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
@@ -4140,12 +4243,12 @@ tr483:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr484:
+tr507:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
@@ -4154,13 +4257,13 @@ tr484:
 		s->line_counter++;
 	}
 	goto st5;
-tr492:
+tr515:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr493:
+tr516:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
@@ -4168,12 +4271,12 @@ tr493:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr494:
+tr517:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
@@ -4181,12 +4284,12 @@ tr494:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr495:
+tr518:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
@@ -4195,13 +4298,13 @@ tr495:
 		s->line_counter++;
 	}
 	goto st5;
-tr505:
+tr528:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr506:
+tr529:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
@@ -4209,12 +4312,12 @@ tr506:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr507:
+tr530:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
@@ -4222,12 +4325,12 @@ tr507:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr508:
+tr531:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
@@ -4236,13 +4339,13 @@ tr508:
 		s->line_counter++;
 	}
 	goto st5;
-tr514:
+tr537:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr515:
+tr538:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
@@ -4250,12 +4353,12 @@ tr515:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr516:
+tr539:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
@@ -4263,12 +4366,12 @@ tr516:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr517:
+tr540:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
@@ -4277,26 +4380,26 @@ tr517:
 		s->line_counter++;
 	}
 	goto st5;
-tr527:
+tr550:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr528:
+tr551:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -4305,18 +4408,18 @@ tr528:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr529:
+tr552:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -4325,18 +4428,18 @@ tr529:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr531:
+tr554:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -4346,13 +4449,13 @@ tr531:
 		s->line_counter++;
 	}
 	goto st5;
-tr734:
+tr757:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr735:
+tr758:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
@@ -4360,12 +4463,12 @@ tr735:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr736:
+tr759:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
@@ -4373,12 +4476,12 @@ tr736:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr737:
+tr760:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
@@ -4387,13 +4490,13 @@ tr737:
 		s->line_counter++;
 	}
 	goto st5;
-tr745:
+tr768:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr746:
+tr769:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
@@ -4401,12 +4504,12 @@ tr746:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr747:
+tr770:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
@@ -4414,12 +4517,12 @@ tr747:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr748:
+tr771:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
@@ -4428,13 +4531,13 @@ tr748:
 		s->line_counter++;
 	}
 	goto st5;
-tr754:
+tr777:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st5;
-tr755:
+tr778:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
@@ -4442,12 +4545,12 @@ tr755:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	goto st5;
-tr756:
+tr779:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
@@ -4455,12 +4558,12 @@ tr756:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st5;
-tr757:
+tr780:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
@@ -4520,73 +4623,75 @@ tr64:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
@@ -4595,73 +4700,75 @@ tr67:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
@@ -4671,73 +4778,75 @@ tr84:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
@@ -4776,22 +4885,24 @@ tr85:
 		case KNOT_RRTYPE_NSEC3:
 		case KNOT_RRTYPE_NSEC3PARAM:
 		case KNOT_RRTYPE_TLSA:
+		case KNOT_RRTYPE_CDS:
+		case KNOT_RRTYPE_CDNSKEY:
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L32:
 		case KNOT_RRTYPE_L64:
 		case KNOT_RRTYPE_LP:
 		case KNOT_RRTYPE_EUI48:
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st434;}
+			{stack[top++] = 6; goto st448;}
 		// Next types can have empty rdata.
 		case KNOT_RRTYPE_APL:
 		default:
-			{stack[top++] = 6; goto st443;}
+			{stack[top++] = 6; goto st457;}
 		}
 	}
 	goto st6;
-tr140:
-	{ s->r_type = KNOT_RRTYPE_CERT; }
+tr145:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -4799,78 +4910,80 @@ tr140:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr154:
-	{ s->r_type = KNOT_RRTYPE_CNAME; }
+tr156:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -4878,78 +4991,80 @@ tr154:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr168:
-	{ s->r_type = KNOT_RRTYPE_DHCID; }
+tr166:
+	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -4957,78 +5072,80 @@ tr168:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr180:
-	{ s->r_type = KNOT_RRTYPE_DNAME; }
+tr177:
+	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5036,78 +5153,80 @@ tr180:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
 tr191:
-	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
+	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5115,78 +5234,80 @@ tr191:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr199:
-	{ s->r_type = KNOT_RRTYPE_DS; }
+tr203:
+	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5194,78 +5315,80 @@ tr199:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr212:
-	{ s->r_type = KNOT_RRTYPE_EUI48; }
+tr214:
+	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5273,78 +5396,80 @@ tr212:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr221:
-	{ s->r_type = KNOT_RRTYPE_EUI64; }
+tr222:
+	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5352,78 +5477,80 @@ tr221:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr233:
-	{ s->r_type = KNOT_RRTYPE_HINFO; }
+tr235:
+	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5431,78 +5558,80 @@ tr233:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr273:
-	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
+tr244:
+	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5510,78 +5639,80 @@ tr273:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr284:
-	{ s->r_type = KNOT_RRTYPE_KEY; }
+tr256:
+	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5589,78 +5720,80 @@ tr284:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr292:
-	{ s->r_type = KNOT_RRTYPE_KX; }
+tr296:
+	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5668,78 +5801,80 @@ tr292:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr305:
-	{ s->r_type = KNOT_RRTYPE_L32; }
+tr307:
+	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5747,78 +5882,80 @@ tr305:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr314:
-	{ s->r_type = KNOT_RRTYPE_L64; }
+tr315:
+	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5826,78 +5963,80 @@ tr314:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr323:
-	{ s->r_type = KNOT_RRTYPE_LOC; }
+tr328:
+	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5905,78 +6044,80 @@ tr323:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr331:
-	{ s->r_type = KNOT_RRTYPE_LP; }
+tr337:
+	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -5984,78 +6125,80 @@ tr331:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr344:
-	{ s->r_type = KNOT_RRTYPE_MINFO; }
+tr346:
+	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6063,78 +6206,80 @@ tr344:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr352:
-	{ s->r_type = KNOT_RRTYPE_MX; }
+tr354:
+	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6142,78 +6287,80 @@ tr352:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr366:
-	{ s->r_type = KNOT_RRTYPE_NAPTR; }
+tr367:
+	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6221,78 +6368,80 @@ tr366:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
 tr375:
-	{ s->r_type = KNOT_RRTYPE_NID; }
+	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6300,78 +6449,80 @@ tr375:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr384:
-	{ s->r_type = KNOT_RRTYPE_NS; }
+tr389:
+	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6379,78 +6530,80 @@ tr384:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr394:
-	{ s->r_type = KNOT_RRTYPE_NSEC; }
+tr398:
+	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6458,78 +6611,80 @@ tr394:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr403:
-	{ s->r_type = KNOT_RRTYPE_NSEC3; }
+tr407:
+	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6537,78 +6692,80 @@ tr403:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr415:
-	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
+tr417:
+	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6616,78 +6773,80 @@ tr415:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr425:
-	{ s->r_type = KNOT_RRTYPE_PTR; }
+tr426:
+	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6695,78 +6854,80 @@ tr425:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr436:
-	{ s->r_type = KNOT_RRTYPE_RP; }
+tr438:
+	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6774,78 +6935,80 @@ tr436:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr447:
-	{ s->r_type = KNOT_RRTYPE_RRSIG; }
+tr448:
+	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6853,78 +7016,80 @@ tr447:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr455:
-	{ s->r_type = KNOT_RRTYPE_RT; }
+tr459:
+	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -6932,78 +7097,80 @@ tr455:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr468:
-	{ s->r_type = KNOT_RRTYPE_SOA; }
+tr470:
+	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7011,78 +7178,80 @@ tr468:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr477:
-	{ s->r_type = KNOT_RRTYPE_SPF; }
+tr478:
+	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7090,78 +7259,80 @@ tr477:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr486:
-	{ s->r_type = KNOT_RRTYPE_SRV; }
+tr491:
+	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7169,78 +7340,80 @@ tr486:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr497:
-	{ s->r_type = KNOT_RRTYPE_SSHFP; }
+tr500:
+	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7248,78 +7421,80 @@ tr497:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr510:
-	{ s->r_type = KNOT_RRTYPE_TLSA; }
+tr509:
+	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7327,78 +7502,80 @@ tr510:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr519:
-	{ s->r_type = KNOT_RRTYPE_TXT; }
+tr520:
+	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7406,85 +7583,80 @@ tr519:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
 tr533:
-	{
-		if (s->number64 <= UINT16_MAX) {
-			s->r_type = (uint16_t)(s->number64);
-		} else {
-			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
-		}
-	}
+	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7492,157 +7664,80 @@ tr533:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
-		case KNOT_RRTYPE_MX:
-		case KNOT_RRTYPE_AFSDB:
-		case KNOT_RRTYPE_RT:
-		case KNOT_RRTYPE_KX:
-		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
-		case KNOT_RRTYPE_TXT:
-		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
-		case KNOT_RRTYPE_AAAA:
 			{stack[top++] = 6; goto st644;}
-		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
-		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
-		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
-		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
-		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
-		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
-		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
-		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
-		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
-		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
-		case KNOT_RRTYPE_KEY:
-		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
-		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
-		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
-		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
-		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
-		case KNOT_RRTYPE_NID:
-		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
-		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
-		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
-		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
-		default:
-			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
-		}
-	}
-	goto st6;
-tr739:
-	{ s->r_type = KNOT_RRTYPE_AAAA; }
-	{
-		rdata_tail = s->r_data;
-	}
-	{
-		p--;
-		switch (s->r_type) {
-		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
-		case KNOT_RRTYPE_NS:
-		case KNOT_RRTYPE_CNAME:
-		case KNOT_RRTYPE_PTR:
-		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
-		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
-		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
-		case KNOT_RRTYPE_MINFO:
-		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr750:
-	{ s->r_type = KNOT_RRTYPE_AFSDB; }
+tr542:
+	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7650,78 +7745,249 @@ tr750:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 6; goto st644;}
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
-tr759:
-	{ s->r_type = KNOT_RRTYPE_APL; }
+tr556:
+	{
+		if (s->number64 <= UINT16_MAX) {
+			s->r_type = (uint16_t)(s->number64);
+		} else {
+			WARN(ZS_NUMBER16_OVERFLOW);
+			p--; {goto st253;}
+		}
+	}
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 6; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 6; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 6; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 6; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
+			{stack[top++] = 6; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 6; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 6; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 6; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 6; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 6; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 6; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 6; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 6; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 6; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 6; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 6; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 6; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 6; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 6; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 6; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 6; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 6; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 6; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 6; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 6; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st6;
+tr762:
+	{ s->r_type = KNOT_RRTYPE_AAAA; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 6; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 6; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 6; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 6; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
+			{stack[top++] = 6; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 6; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 6; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 6; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 6; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 6; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 6; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 6; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 6; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 6; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 6; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 6; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 6; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 6; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 6; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 6; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 6; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 6; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 6; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 6; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 6; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st6;
+tr773:
+	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -7729,73 +7995,156 @@ tr759:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 6; goto st589;}
+			{stack[top++] = 6; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 6; goto st591;}
+			{stack[top++] = 6; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 6; goto st593;}
+			{stack[top++] = 6; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 6; goto st625;}
+			{stack[top++] = 6; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 6; goto st630;}
+			{stack[top++] = 6; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 6; goto st635;}
+			{stack[top++] = 6; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 6; goto st640;}
+			{stack[top++] = 6; goto st654;}
 		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 6; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 6; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 6; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 6; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 6; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 6; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 6; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 6; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 6; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 6; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 6; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 6; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 6; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 6; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 6; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 6; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 6; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 6; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st6;
+tr782:
+	{ s->r_type = KNOT_RRTYPE_APL; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 6; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 6; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 6; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 6; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
 			{stack[top++] = 6; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 6; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 6; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 6; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 6; goto st646;}
+			{stack[top++] = 6; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 6; goto st701;}
+			{stack[top++] = 6; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 6; goto st712;}
+			{stack[top++] = 6; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 6; goto st729;}
+			{stack[top++] = 6; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 6; goto st740;}
+			{stack[top++] = 6; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 6; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 6; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 6; goto st764;}
+			{stack[top++] = 6; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 6; goto st774;}
+			{stack[top++] = 6; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 6; goto st813;}
+			{stack[top++] = 6; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 6; goto st955;}
+			{stack[top++] = 6; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 6; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 6; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 6; goto st969;}
+			{stack[top++] = 6; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 6; goto st971;}
+			{stack[top++] = 6; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 6; goto st1000;}
+			{stack[top++] = 6; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 6; goto st1013;}
+			{stack[top++] = 6; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 6; goto st1031;}
+			{stack[top++] = 6; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 6; goto st1026;}
+			{stack[top++] = 6; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 6; goto st1044;}
+			{stack[top++] = 6; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 6; goto st1050;}
+			{stack[top++] = 6; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st6;
@@ -7830,7 +8179,7 @@ tr79:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -7839,7 +8188,7 @@ tr80:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -7891,236 +8240,248 @@ tr63:
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr139:
+tr144:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	goto st10;
+tr155:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	{
+		rdata_tail = s->r_data;
+	}
+	goto st10;
+tr165:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr153:
+tr176:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr167:
+tr190:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr179:
+tr202:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr190:
+tr213:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr198:
+tr221:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr211:
+tr234:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr220:
+tr243:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr232:
+tr255:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr272:
+tr295:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr283:
+tr306:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr291:
+tr314:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr304:
+tr327:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr313:
+tr336:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr322:
+tr345:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr330:
+tr353:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr343:
+tr366:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr351:
+tr374:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr365:
+tr388:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr374:
+tr397:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr383:
+tr406:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr393:
+tr416:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr402:
+tr425:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr414:
+tr437:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr424:
+tr447:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr435:
+tr458:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr446:
+tr469:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr454:
+tr477:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr467:
+tr490:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr476:
+tr499:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr485:
+tr508:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr496:
+tr519:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr509:
+tr532:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr518:
+tr541:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr532:
+tr555:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr738:
+tr761:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr749:
+tr772:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
 	}
 	goto st10;
-tr758:
+tr781:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
@@ -8157,7 +8518,7 @@ tr87:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -8166,7 +8527,7 @@ tr88:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -8183,73 +8544,75 @@ tr65:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
@@ -8261,78 +8624,80 @@ tr75:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr141:
-	{ s->r_type = KNOT_RRTYPE_CERT; }
+tr146:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8343,78 +8708,80 @@ tr141:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr155:
-	{ s->r_type = KNOT_RRTYPE_CNAME; }
+tr157:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8425,78 +8792,80 @@ tr155:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr169:
-	{ s->r_type = KNOT_RRTYPE_DHCID; }
+tr167:
+	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8507,78 +8876,80 @@ tr169:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr181:
-	{ s->r_type = KNOT_RRTYPE_DNAME; }
+tr178:
+	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8589,78 +8960,80 @@ tr181:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
 tr192:
-	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
+	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8671,78 +9044,80 @@ tr192:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr200:
-	{ s->r_type = KNOT_RRTYPE_DS; }
+tr204:
+	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8753,78 +9128,164 @@ tr200:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 11; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 11; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 11; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 11; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 11; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 11; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 11; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 11; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 11; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 11; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 11; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 11; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 11; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 11; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 11; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 11; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 11; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 11; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st11;
+tr215:
+	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		s->line_counter++;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 11; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 11; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 11; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 11; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
 			{stack[top++] = 11; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 11; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 11; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr213:
-	{ s->r_type = KNOT_RRTYPE_EUI48; }
+tr223:
+	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
 	}
@@ -8835,77 +9296,163 @@ tr213:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 11; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 11; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 11; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 11; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 11; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 11; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 11; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 11; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 11; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 11; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 11; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 11; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 11; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 11; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 11; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 11; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 11; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 11; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st11;
+tr236:
+	{ s->r_type = KNOT_RRTYPE_EUI48; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		s->line_counter++;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 11; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 11; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 11; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 11; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
 			{stack[top++] = 11; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 11; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 11; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr222:
+tr245:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
@@ -8917,77 +9464,79 @@ tr222:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr234:
+tr257:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -8999,77 +9548,79 @@ tr234:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr274:
+tr297:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -9081,77 +9632,79 @@ tr274:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr285:
+tr308:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
@@ -9163,77 +9716,79 @@ tr285:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr293:
+tr316:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
@@ -9245,77 +9800,79 @@ tr293:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr306:
+tr329:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
@@ -9327,77 +9884,79 @@ tr306:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr315:
+tr338:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
@@ -9409,77 +9968,79 @@ tr315:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr324:
+tr347:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
@@ -9491,77 +10052,79 @@ tr324:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr332:
+tr355:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
@@ -9573,77 +10136,79 @@ tr332:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr345:
+tr368:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -9655,77 +10220,79 @@ tr345:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr353:
+tr376:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
@@ -9737,77 +10304,79 @@ tr353:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr367:
+tr390:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
@@ -9819,77 +10388,79 @@ tr367:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr376:
+tr399:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
@@ -9901,77 +10472,79 @@ tr376:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr385:
+tr408:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
@@ -9983,77 +10556,79 @@ tr385:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr395:
+tr418:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
@@ -10065,77 +10640,79 @@ tr395:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr404:
+tr427:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
@@ -10147,77 +10724,79 @@ tr404:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr416:
+tr439:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
@@ -10229,77 +10808,79 @@ tr416:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr426:
+tr449:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
@@ -10311,77 +10892,79 @@ tr426:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr437:
+tr460:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
@@ -10393,77 +10976,79 @@ tr437:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr448:
+tr471:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
@@ -10475,77 +11060,79 @@ tr448:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr456:
+tr479:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
@@ -10557,77 +11144,79 @@ tr456:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr469:
+tr492:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
@@ -10639,77 +11228,79 @@ tr469:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr478:
+tr501:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
@@ -10721,77 +11312,79 @@ tr478:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr487:
+tr510:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
@@ -10803,77 +11396,79 @@ tr487:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr498:
+tr521:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
@@ -10885,77 +11480,79 @@ tr498:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr511:
+tr534:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
@@ -10967,165 +11564,169 @@ tr511:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 11; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 11; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 11; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 11; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 11; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 11; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 11; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 11; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 11; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 11; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 11; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 11; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 11; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 11; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 11; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 11; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 11; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 11; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st11;
+tr543:
+	{ s->r_type = KNOT_RRTYPE_TXT; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		s->line_counter++;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 11; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 11; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 11; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 11; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
 			{stack[top++] = 11; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 11; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 11; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr520:
-	{ s->r_type = KNOT_RRTYPE_TXT; }
-	{
-		rdata_tail = s->r_data;
-	}
-	{
-		s->line_counter++;
-	}
-	{
-		p--;
-		switch (s->r_type) {
-		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
-		case KNOT_RRTYPE_NS:
-		case KNOT_RRTYPE_CNAME:
-		case KNOT_RRTYPE_PTR:
-		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
-		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
-		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
-		case KNOT_RRTYPE_MINFO:
-		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
-		case KNOT_RRTYPE_MX:
-		case KNOT_RRTYPE_AFSDB:
-		case KNOT_RRTYPE_RT:
-		case KNOT_RRTYPE_KX:
-		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
-		case KNOT_RRTYPE_TXT:
-		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
-		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
-		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
-		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
-		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
-		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
-		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
-		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
-		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
-		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
-		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
-		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
-		case KNOT_RRTYPE_KEY:
-		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
-		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
-		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
-		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
-		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
-		case KNOT_RRTYPE_NID:
-		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
-		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
-		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
-		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
-		default:
-			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
-		}
-	}
-	goto st11;
-tr534:
+tr557:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -11138,77 +11739,79 @@ tr534:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr740:
+tr763:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
@@ -11220,77 +11823,79 @@ tr740:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr751:
+tr774:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
@@ -11302,77 +11907,79 @@ tr751:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
-tr760:
+tr783:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
@@ -11384,73 +11991,75 @@ tr760:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 11; goto st589;}
+			{stack[top++] = 11; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 11; goto st591;}
+			{stack[top++] = 11; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 11; goto st593;}
+			{stack[top++] = 11; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 11; goto st625;}
+			{stack[top++] = 11; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 11; goto st630;}
+			{stack[top++] = 11; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 11; goto st635;}
+			{stack[top++] = 11; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 11; goto st640;}
+			{stack[top++] = 11; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 11; goto st644;}
+			{stack[top++] = 11; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 11; goto st646;}
+			{stack[top++] = 11; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 11; goto st701;}
+			{stack[top++] = 11; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 11; goto st712;}
+			{stack[top++] = 11; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 11; goto st729;}
+			{stack[top++] = 11; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 11; goto st740;}
+			{stack[top++] = 11; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 11; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 11; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 11; goto st764;}
+			{stack[top++] = 11; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 11; goto st774;}
+			{stack[top++] = 11; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 11; goto st813;}
+			{stack[top++] = 11; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 11; goto st955;}
+			{stack[top++] = 11; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 11; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 11; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 11; goto st969;}
+			{stack[top++] = 11; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 11; goto st971;}
+			{stack[top++] = 11; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 11; goto st1000;}
+			{stack[top++] = 11; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 11; goto st1013;}
+			{stack[top++] = 11; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 11; goto st1031;}
+			{stack[top++] = 11; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 11; goto st1026;}
+			{stack[top++] = 11; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 11; goto st1044;}
+			{stack[top++] = 11; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 11; goto st1050;}
+			{stack[top++] = 11; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st11;
@@ -11498,7 +12107,7 @@ case 11:
 	} else
 		goto tr67;
 	goto tr77;
-tr658:
+tr681:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -11543,7 +12152,7 @@ tr93:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -11554,8 +12163,8 @@ tr93:
 			return;
 		}
 	}
-	goto st1057;
-tr657:
+	goto st1078;
+tr680:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -11566,7 +12175,7 @@ tr657:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -11577,11 +12186,11 @@ tr657:
 			return;
 		}
 	}
-	goto st1057;
-st1057:
+	goto st1078;
+st1078:
 	if ( ++p == pe )
-		goto _test_eof1057;
-case 1057:
+		goto _test_eof1078;
+case 1078:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -11599,23 +12208,23 @@ case 1057:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr3142;
-		case 32: goto tr3142;
-		case 36: goto tr3143;
-		case 40: goto tr3144;
-		case 41: goto tr3145;
-		case 42: goto tr3146;
+		case 9: goto tr3205;
+		case 32: goto tr3205;
+		case 36: goto tr3206;
+		case 40: goto tr3207;
+		case 41: goto tr3208;
+		case 42: goto tr3209;
 		case 58: goto tr67;
-		case 92: goto tr3147;
-		case 95: goto tr3146;
+		case 92: goto tr3210;
+		case 95: goto tr3209;
 		case 1802: goto tr19;
-		case 1851: goto st137;
-		case 2058: goto tr3148;
-		case 2107: goto tr3149;
+		case 1851: goto st144;
+		case 2058: goto tr3211;
+		case 2107: goto tr3212;
 		case 2314: goto tr115;
 		case 2363: goto tr116;
-		case 2570: goto tr3150;
-		case 2619: goto tr3151;
+		case 2570: goto tr3213;
+		case 2619: goto tr3214;
 	}
 	if ( _widec < 60 ) {
 		if ( _widec < 11 ) {
@@ -11623,29 +12232,29 @@ case 1057:
 				goto tr67;
 		} else if ( _widec > 44 ) {
 			if ( 45 <= _widec && _widec <= 57 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else if ( _widec > 63 ) {
 		if ( _widec < 91 ) {
 			if ( 64 <= _widec && _widec <= 90 )
-				goto tr3146;
+				goto tr3209;
 		} else if ( _widec > 96 ) {
 			if ( _widec > 122 ) {
 				if ( 123 <= _widec )
 					goto tr67;
 			} else if ( _widec >= 97 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else
 		goto tr67;
-	goto tr691;
+	goto tr714;
 tr96:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -11654,46 +12263,46 @@ tr97:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	goto st13;
-tr3142:
+tr3205:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st13;
-tr3144:
+tr3207:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st13;
-tr3145:
+tr3208:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st13;
@@ -11753,9 +12362,9 @@ case 13:
 		case 115: goto tr111;
 		case 116: goto tr112;
 		case 1802: goto tr19;
-		case 1851: goto st137;
+		case 1851: goto st144;
 		case 2058: goto tr113;
-		case 2107: goto st222;
+		case 2107: goto st229;
 		case 2314: goto tr115;
 		case 2363: goto tr116;
 		case 2570: goto tr117;
@@ -11778,90 +12387,92 @@ tr98:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 14; goto st589;}
+			{stack[top++] = 14; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 14; goto st591;}
+			{stack[top++] = 14; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 14; goto st593;}
+			{stack[top++] = 14; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 14; goto st625;}
+			{stack[top++] = 14; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 14; goto st630;}
+			{stack[top++] = 14; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 14; goto st635;}
+			{stack[top++] = 14; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 14; goto st640;}
+			{stack[top++] = 14; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 14; goto st644;}
+			{stack[top++] = 14; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 14; goto st646;}
+			{stack[top++] = 14; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 14; goto st701;}
+			{stack[top++] = 14; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 14; goto st712;}
+			{stack[top++] = 14; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 14; goto st729;}
+			{stack[top++] = 14; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 14; goto st740;}
+			{stack[top++] = 14; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 14; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 14; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 14; goto st764;}
+			{stack[top++] = 14; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 14; goto st774;}
+			{stack[top++] = 14; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 14; goto st813;}
+			{stack[top++] = 14; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 14; goto st955;}
+			{stack[top++] = 14; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 14; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 14; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 14; goto st969;}
+			{stack[top++] = 14; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 14; goto st971;}
+			{stack[top++] = 14; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 14; goto st1000;}
+			{stack[top++] = 14; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 14; goto st1013;}
+			{stack[top++] = 14; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 14; goto st1031;}
+			{stack[top++] = 14; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 14; goto st1026;}
+			{stack[top++] = 14; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 14; goto st1044;}
+			{stack[top++] = 14; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 14; goto st1050;}
+			{stack[top++] = 14; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	goto st14;
@@ -11889,12 +12500,12 @@ case 14:
 		case 68: goto tr28;
 		case 72: goto tr29;
 		case 77: goto tr30;
-		case 83: goto st152;
+		case 83: goto st159;
 		case 87: goto tr32;
 		case 100: goto tr28;
 		case 104: goto tr29;
 		case 109: goto tr30;
-		case 115: goto st152;
+		case 115: goto st159;
 		case 119: goto tr32;
 		case 778: goto tr81;
 		case 827: goto st8;
@@ -11908,7 +12519,7 @@ tr127:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -11917,7 +12528,7 @@ tr128:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -11928,7 +12539,7 @@ tr120:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	goto st15;
@@ -11938,13 +12549,13 @@ tr121:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -11955,13 +12566,13 @@ tr122:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -12018,7 +12629,7 @@ case 15:
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr129;
-		case 1083: goto st245;
+		case 1083: goto st252;
 	}
 	goto tr125;
 tr6:
@@ -12034,7 +12645,7 @@ tr40:
 		s->r_class = s->default_class;
 	}
 	goto st16;
-tr552:
+tr575:
 	{
 		s->r_ttl = s->default_ttl;
 	}
@@ -12044,10 +12655,12 @@ st16:
 		goto _test_eof16;
 case 16:
 	switch( (*p) ) {
-		case 69: goto st17;
-		case 78: goto st21;
-		case 101: goto st17;
-		case 110: goto st21;
+		case 68: goto st17;
+		case 69: goto st25;
+		case 78: goto st28;
+		case 100: goto st17;
+		case 101: goto st25;
+		case 110: goto st28;
 	}
 	goto tr35;
 st17:
@@ -12055,8 +12668,10 @@ st17:
 		goto _test_eof17;
 case 17:
 	switch( (*p) ) {
-		case 82: goto st18;
-		case 114: goto st18;
+		case 78: goto st18;
+		case 83: goto st24;
+		case 110: goto st18;
+		case 115: goto st24;
 	}
 	goto tr35;
 st18:
@@ -12064,14 +12679,41 @@ st18:
 		goto _test_eof18;
 case 18:
 	switch( (*p) ) {
-		case 84: goto st19;
-		case 116: goto st19;
+		case 83: goto st19;
+		case 115: goto st19;
 	}
 	goto tr35;
 st19:
 	if ( ++p == pe )
 		goto _test_eof19;
 case 19:
+	switch( (*p) ) {
+		case 75: goto st20;
+		case 107: goto st20;
+	}
+	goto tr35;
+st20:
+	if ( ++p == pe )
+		goto _test_eof20;
+case 20:
+	switch( (*p) ) {
+		case 69: goto st21;
+		case 101: goto st21;
+	}
+	goto tr35;
+st21:
+	if ( ++p == pe )
+		goto _test_eof21;
+case 21:
+	switch( (*p) ) {
+		case 89: goto st22;
+		case 121: goto st22;
+	}
+	goto tr35;
+st22:
+	if ( ++p == pe )
+		goto _test_eof22;
+case 22:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -12089,36 +12731,36 @@ case 19:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr135;
-		case 32: goto tr135;
-		case 40: goto tr136;
-		case 41: goto tr137;
-		case 2058: goto tr138;
-		case 2107: goto tr139;
-		case 2314: goto tr140;
-		case 2363: goto tr140;
-		case 2570: goto tr141;
-		case 2619: goto tr142;
+		case 9: goto tr140;
+		case 32: goto tr140;
+		case 40: goto tr141;
+		case 41: goto tr142;
+		case 2058: goto tr143;
+		case 2107: goto tr144;
+		case 2314: goto tr145;
+		case 2363: goto tr145;
+		case 2570: goto tr146;
+		case 2619: goto tr147;
 	}
 	goto tr55;
-tr144:
+tr149:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st20;
-tr145:
+	goto st23;
+tr150:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st20;
+	goto st23;
 tr66:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
@@ -12128,152 +12770,318 @@ tr66:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
+	goto st23;
 tr76:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr142:
+	goto st23;
+tr147:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 23; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 23; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 23; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 23; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
+			{stack[top++] = 23; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 23; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 23; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 23; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 23; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 23; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 23; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 23; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 23; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 23; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 23; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 23; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 23; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 23; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 23; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 23; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 23; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 23; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 23; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 23; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 23; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st23;
+tr158:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	{
+		rdata_tail = s->r_data;
+	}
+	{
+		p--;
+		switch (s->r_type) {
+		case KNOT_RRTYPE_A:
+			{stack[top++] = 23; goto st603;}
+		case KNOT_RRTYPE_NS:
+		case KNOT_RRTYPE_CNAME:
+		case KNOT_RRTYPE_PTR:
+		case KNOT_RRTYPE_DNAME:
+			{stack[top++] = 23; goto st605;}
+		case KNOT_RRTYPE_SOA:
+			{stack[top++] = 23; goto st607;}
+		case KNOT_RRTYPE_HINFO:
+			{stack[top++] = 23; goto st639;}
+		case KNOT_RRTYPE_MINFO:
+		case KNOT_RRTYPE_RP:
+			{stack[top++] = 23; goto st644;}
+		case KNOT_RRTYPE_MX:
+		case KNOT_RRTYPE_AFSDB:
+		case KNOT_RRTYPE_RT:
+		case KNOT_RRTYPE_KX:
+		case KNOT_RRTYPE_LP:
+			{stack[top++] = 23; goto st649;}
+		case KNOT_RRTYPE_TXT:
+		case KNOT_RRTYPE_SPF:
+			{stack[top++] = 23; goto st654;}
+		case KNOT_RRTYPE_AAAA:
+			{stack[top++] = 23; goto st658;}
+		case KNOT_RRTYPE_LOC:
+			{stack[top++] = 23; goto st660;}
+		case KNOT_RRTYPE_SRV:
+			{stack[top++] = 23; goto st715;}
+		case KNOT_RRTYPE_NAPTR:
+			{stack[top++] = 23; goto st726;}
+		case KNOT_RRTYPE_CERT:
+			{stack[top++] = 23; goto st743;}
+		case KNOT_RRTYPE_APL:
+			{stack[top++] = 23; goto st754;}
+		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
+		case KNOT_RRTYPE_SSHFP:
+			{stack[top++] = 23; goto st778;}
+		case KNOT_RRTYPE_IPSECKEY:
+			{stack[top++] = 23; goto st788;}
+		case KNOT_RRTYPE_RRSIG:
+			{stack[top++] = 23; goto st827;}
+		case KNOT_RRTYPE_NSEC:
+			{stack[top++] = 23; goto st976;}
+		case KNOT_RRTYPE_KEY:
+		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
+		case KNOT_RRTYPE_DHCID:
+			{stack[top++] = 23; goto st990;}
+		case KNOT_RRTYPE_NSEC3:
+			{stack[top++] = 23; goto st992;}
+		case KNOT_RRTYPE_NSEC3PARAM:
+			{stack[top++] = 23; goto st1021;}
+		case KNOT_RRTYPE_TLSA:
+			{stack[top++] = 23; goto st1034;}
+		case KNOT_RRTYPE_NID:
+		case KNOT_RRTYPE_L64:
+			{stack[top++] = 23; goto st1052;}
+		case KNOT_RRTYPE_L32:
+			{stack[top++] = 23; goto st1047;}
+		case KNOT_RRTYPE_EUI48:
+			{stack[top++] = 23; goto st1065;}
+		case KNOT_RRTYPE_EUI64:
+			{stack[top++] = 23; goto st1071;}
+		default:
+			WARN(ZS_CANNOT_TEXT_DATA);
+			{goto st253;}
+		}
+	}
+	goto st23;
+tr168:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	{
 		rdata_tail = s->r_data;
@@ -12282,77 +13090,79 @@ tr142:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr156:
+	goto st23;
+tr179:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -12361,77 +13171,79 @@ tr156:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr170:
+	goto st23;
+tr193:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	{
 		rdata_tail = s->r_data;
@@ -12440,77 +13252,79 @@ tr170:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr182:
+	goto st23;
+tr205:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	{
 		rdata_tail = s->r_data;
@@ -12519,77 +13333,79 @@ tr182:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr193:
+	goto st23;
+tr216:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -12598,77 +13414,79 @@ tr193:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr201:
+	goto st23;
+tr224:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	{
 		rdata_tail = s->r_data;
@@ -12677,77 +13495,79 @@ tr201:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr214:
+	goto st23;
+tr237:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	{
 		rdata_tail = s->r_data;
@@ -12756,77 +13576,79 @@ tr214:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr223:
+	goto st23;
+tr246:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	{
 		rdata_tail = s->r_data;
@@ -12835,77 +13657,79 @@ tr223:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr235:
+	goto st23;
+tr258:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -12914,77 +13738,79 @@ tr235:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr275:
+	goto st23;
+tr298:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	{
 		rdata_tail = s->r_data;
@@ -12993,77 +13819,79 @@ tr275:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr286:
+	goto st23;
+tr309:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	{
 		rdata_tail = s->r_data;
@@ -13072,77 +13900,79 @@ tr286:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr294:
+	goto st23;
+tr317:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	{
 		rdata_tail = s->r_data;
@@ -13151,77 +13981,79 @@ tr294:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr307:
+	goto st23;
+tr330:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	{
 		rdata_tail = s->r_data;
@@ -13230,77 +14062,79 @@ tr307:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr316:
+	goto st23;
+tr339:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	{
 		rdata_tail = s->r_data;
@@ -13309,77 +14143,79 @@ tr316:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr325:
+	goto st23;
+tr348:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	{
 		rdata_tail = s->r_data;
@@ -13388,77 +14224,79 @@ tr325:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr333:
+	goto st23;
+tr356:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	{
 		rdata_tail = s->r_data;
@@ -13467,77 +14305,79 @@ tr333:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr346:
+	goto st23;
+tr369:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	{
 		rdata_tail = s->r_data;
@@ -13546,77 +14386,79 @@ tr346:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr354:
+	goto st23;
+tr377:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	{
 		rdata_tail = s->r_data;
@@ -13625,77 +14467,79 @@ tr354:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr368:
+	goto st23;
+tr391:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	{
 		rdata_tail = s->r_data;
@@ -13704,77 +14548,79 @@ tr368:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr377:
+	goto st23;
+tr400:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	{
 		rdata_tail = s->r_data;
@@ -13783,77 +14629,79 @@ tr377:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr386:
+	goto st23;
+tr409:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	{
 		rdata_tail = s->r_data;
@@ -13862,77 +14710,79 @@ tr386:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr396:
+	goto st23;
+tr419:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	{
 		rdata_tail = s->r_data;
@@ -13941,77 +14791,79 @@ tr396:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr405:
+	goto st23;
+tr428:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	{
 		rdata_tail = s->r_data;
@@ -14020,77 +14872,79 @@ tr405:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr417:
+	goto st23;
+tr440:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	{
 		rdata_tail = s->r_data;
@@ -14099,77 +14953,79 @@ tr417:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr427:
+	goto st23;
+tr450:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	{
 		rdata_tail = s->r_data;
@@ -14178,77 +15034,79 @@ tr427:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr438:
+	goto st23;
+tr461:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	{
 		rdata_tail = s->r_data;
@@ -14257,77 +15115,79 @@ tr438:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr449:
+	goto st23;
+tr472:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	{
 		rdata_tail = s->r_data;
@@ -14336,77 +15196,79 @@ tr449:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr457:
+	goto st23;
+tr480:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	{
 		rdata_tail = s->r_data;
@@ -14415,77 +15277,79 @@ tr457:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr470:
+	goto st23;
+tr493:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	{
 		rdata_tail = s->r_data;
@@ -14494,77 +15358,79 @@ tr470:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr479:
+	goto st23;
+tr502:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	{
 		rdata_tail = s->r_data;
@@ -14573,77 +15439,79 @@ tr479:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr488:
+	goto st23;
+tr511:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	{
 		rdata_tail = s->r_data;
@@ -14652,77 +15520,79 @@ tr488:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr499:
+	goto st23;
+tr522:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	{
 		rdata_tail = s->r_data;
@@ -14731,77 +15601,79 @@ tr499:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr512:
+	goto st23;
+tr535:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	{
 		rdata_tail = s->r_data;
@@ -14810,77 +15682,79 @@ tr512:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr521:
+	goto st23;
+tr544:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	{
 		rdata_tail = s->r_data;
@@ -14889,83 +15763,85 @@ tr521:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr535:
+	goto st23;
+tr558:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -14975,77 +15851,79 @@ tr535:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr741:
+	goto st23;
+tr764:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	{
 		rdata_tail = s->r_data;
@@ -15054,77 +15932,79 @@ tr741:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr752:
+	goto st23;
+tr775:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	{
 		rdata_tail = s->r_data;
@@ -15133,77 +16013,79 @@ tr752:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-tr761:
+	goto st23;
+tr784:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	{
 		rdata_tail = s->r_data;
@@ -15212,80 +16094,82 @@ tr761:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 20; goto st589;}
+			{stack[top++] = 23; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 20; goto st591;}
+			{stack[top++] = 23; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 20; goto st593;}
+			{stack[top++] = 23; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 20; goto st625;}
+			{stack[top++] = 23; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 20; goto st630;}
+			{stack[top++] = 23; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 20; goto st635;}
+			{stack[top++] = 23; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 20; goto st640;}
+			{stack[top++] = 23; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 20; goto st644;}
+			{stack[top++] = 23; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 20; goto st646;}
+			{stack[top++] = 23; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 20; goto st701;}
+			{stack[top++] = 23; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 20; goto st712;}
+			{stack[top++] = 23; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 20; goto st729;}
+			{stack[top++] = 23; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 20; goto st740;}
+			{stack[top++] = 23; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 20; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 23; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 20; goto st764;}
+			{stack[top++] = 23; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 20; goto st774;}
+			{stack[top++] = 23; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 20; goto st813;}
+			{stack[top++] = 23; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 20; goto st955;}
+			{stack[top++] = 23; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 20; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 23; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 20; goto st969;}
+			{stack[top++] = 23; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 20; goto st971;}
+			{stack[top++] = 23; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 20; goto st1000;}
+			{stack[top++] = 23; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 20; goto st1013;}
+			{stack[top++] = 23; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 20; goto st1031;}
+			{stack[top++] = 23; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 20; goto st1026;}
+			{stack[top++] = 23; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 20; goto st1044;}
+			{stack[top++] = 23; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 20; goto st1050;}
+			{stack[top++] = 23; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st20;
-st20:
+	goto st23;
+st23:
 	if ( ++p == pe )
-		goto _test_eof20;
-case 20:
+		goto _test_eof23;
+case 23:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -15323,47 +16207,131 @@ case 20:
 		case 808: goto tr79;
 		case 809: goto tr80;
 		case 827: goto st8;
-		case 1033: goto st20;
+		case 1033: goto st23;
 		case 1034: goto tr81;
-		case 1056: goto st20;
-		case 1064: goto tr144;
-		case 1065: goto tr145;
+		case 1056: goto st23;
+		case 1064: goto tr149;
+		case 1065: goto tr150;
 		case 1083: goto st12;
 	}
 	if ( 896 <= _widec && _widec <= 1151 )
 		goto st10;
 	goto tr77;
-st21:
+st24:
 	if ( ++p == pe )
-		goto _test_eof21;
-case 21:
+		goto _test_eof24;
+case 24:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr151;
+		case 32: goto tr151;
+		case 40: goto tr152;
+		case 41: goto tr153;
+		case 2058: goto tr154;
+		case 2107: goto tr155;
+		case 2314: goto tr156;
+		case 2363: goto tr156;
+		case 2570: goto tr157;
+		case 2619: goto tr158;
+	}
+	goto tr55;
+st25:
+	if ( ++p == pe )
+		goto _test_eof25;
+case 25:
 	switch( (*p) ) {
-		case 65: goto st22;
-		case 97: goto st22;
+		case 82: goto st26;
+		case 114: goto st26;
 	}
 	goto tr35;
-st22:
+st26:
 	if ( ++p == pe )
-		goto _test_eof22;
-case 22:
+		goto _test_eof26;
+case 26:
 	switch( (*p) ) {
-		case 77: goto st23;
-		case 109: goto st23;
+		case 84: goto st27;
+		case 116: goto st27;
 	}
 	goto tr35;
-st23:
+st27:
 	if ( ++p == pe )
-		goto _test_eof23;
-case 23:
+		goto _test_eof27;
+case 27:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr161;
+		case 32: goto tr161;
+		case 40: goto tr162;
+		case 41: goto tr163;
+		case 2058: goto tr164;
+		case 2107: goto tr165;
+		case 2314: goto tr166;
+		case 2363: goto tr166;
+		case 2570: goto tr167;
+		case 2619: goto tr168;
+	}
+	goto tr55;
+st28:
+	if ( ++p == pe )
+		goto _test_eof28;
+case 28:
 	switch( (*p) ) {
-		case 69: goto st24;
-		case 101: goto st24;
+		case 65: goto st29;
+		case 97: goto st29;
 	}
 	goto tr35;
-st24:
+st29:
 	if ( ++p == pe )
-		goto _test_eof24;
-case 24:
+		goto _test_eof29;
+case 29:
+	switch( (*p) ) {
+		case 77: goto st30;
+		case 109: goto st30;
+	}
+	goto tr35;
+st30:
+	if ( ++p == pe )
+		goto _test_eof30;
+case 30:
+	switch( (*p) ) {
+		case 69: goto st31;
+		case 101: goto st31;
+	}
+	goto tr35;
+st31:
+	if ( ++p == pe )
+		goto _test_eof31;
+case 31:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15381,16 +16349,16 @@ case 24:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr149;
-		case 32: goto tr149;
-		case 40: goto tr150;
-		case 41: goto tr151;
-		case 2058: goto tr152;
-		case 2107: goto tr153;
-		case 2314: goto tr154;
-		case 2363: goto tr154;
-		case 2570: goto tr155;
-		case 2619: goto tr156;
+		case 9: goto tr172;
+		case 32: goto tr172;
+		case 40: goto tr173;
+		case 41: goto tr174;
+		case 2058: goto tr175;
+		case 2107: goto tr176;
+		case 2314: goto tr177;
+		case 2363: goto tr177;
+		case 2570: goto tr178;
+		case 2619: goto tr179;
 	}
 	goto tr55;
 tr7:
@@ -15400,61 +16368,61 @@ tr7:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st25;
+	goto st32;
 tr41:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st25;
-tr553:
+	goto st32;
+tr576:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st25;
-st25:
+	goto st32;
+st32:
 	if ( ++p == pe )
-		goto _test_eof25;
-case 25:
+		goto _test_eof32;
+case 32:
 	switch( (*p) ) {
-		case 72: goto st26;
-		case 78: goto st30;
-		case 83: goto st38;
-		case 104: goto st26;
-		case 110: goto st30;
-		case 115: goto st38;
+		case 72: goto st33;
+		case 78: goto st37;
+		case 83: goto st45;
+		case 104: goto st33;
+		case 110: goto st37;
+		case 115: goto st45;
 	}
 	goto tr35;
-st26:
+st33:
 	if ( ++p == pe )
-		goto _test_eof26;
-case 26:
+		goto _test_eof33;
+case 33:
 	switch( (*p) ) {
-		case 67: goto st27;
-		case 99: goto st27;
+		case 67: goto st34;
+		case 99: goto st34;
 	}
 	goto tr35;
-st27:
+st34:
 	if ( ++p == pe )
-		goto _test_eof27;
-case 27:
+		goto _test_eof34;
+case 34:
 	switch( (*p) ) {
-		case 73: goto st28;
-		case 105: goto st28;
+		case 73: goto st35;
+		case 105: goto st35;
 	}
 	goto tr35;
-st28:
+st35:
 	if ( ++p == pe )
-		goto _test_eof28;
-case 28:
+		goto _test_eof35;
+case 35:
 	switch( (*p) ) {
-		case 68: goto st29;
-		case 100: goto st29;
+		case 68: goto st36;
+		case 100: goto st36;
 	}
 	goto tr35;
-st29:
+st36:
 	if ( ++p == pe )
-		goto _test_eof29;
-case 29:
+		goto _test_eof36;
+case 36:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15472,51 +16440,51 @@ case 29:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr163;
-		case 32: goto tr163;
-		case 40: goto tr164;
-		case 41: goto tr165;
-		case 2058: goto tr166;
-		case 2107: goto tr167;
-		case 2314: goto tr168;
-		case 2363: goto tr168;
-		case 2570: goto tr169;
-		case 2619: goto tr170;
+		case 9: goto tr186;
+		case 32: goto tr186;
+		case 40: goto tr187;
+		case 41: goto tr188;
+		case 2058: goto tr189;
+		case 2107: goto tr190;
+		case 2314: goto tr191;
+		case 2363: goto tr191;
+		case 2570: goto tr192;
+		case 2619: goto tr193;
 	}
 	goto tr55;
-st30:
+st37:
 	if ( ++p == pe )
-		goto _test_eof30;
-case 30:
+		goto _test_eof37;
+case 37:
 	switch( (*p) ) {
-		case 65: goto st31;
-		case 83: goto st34;
-		case 97: goto st31;
-		case 115: goto st34;
+		case 65: goto st38;
+		case 83: goto st41;
+		case 97: goto st38;
+		case 115: goto st41;
 	}
 	goto tr35;
-st31:
+st38:
 	if ( ++p == pe )
-		goto _test_eof31;
-case 31:
+		goto _test_eof38;
+case 38:
 	switch( (*p) ) {
-		case 77: goto st32;
-		case 109: goto st32;
+		case 77: goto st39;
+		case 109: goto st39;
 	}
 	goto tr35;
-st32:
+st39:
 	if ( ++p == pe )
-		goto _test_eof32;
-case 32:
+		goto _test_eof39;
+case 39:
 	switch( (*p) ) {
-		case 69: goto st33;
-		case 101: goto st33;
+		case 69: goto st40;
+		case 101: goto st40;
 	}
 	goto tr35;
-st33:
+st40:
 	if ( ++p == pe )
-		goto _test_eof33;
-case 33:
+		goto _test_eof40;
+case 40:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15534,49 +16502,49 @@ case 33:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr175;
-		case 32: goto tr175;
-		case 40: goto tr176;
-		case 41: goto tr177;
-		case 2058: goto tr178;
-		case 2107: goto tr179;
-		case 2314: goto tr180;
-		case 2363: goto tr180;
-		case 2570: goto tr181;
-		case 2619: goto tr182;
+		case 9: goto tr198;
+		case 32: goto tr198;
+		case 40: goto tr199;
+		case 41: goto tr200;
+		case 2058: goto tr201;
+		case 2107: goto tr202;
+		case 2314: goto tr203;
+		case 2363: goto tr203;
+		case 2570: goto tr204;
+		case 2619: goto tr205;
 	}
 	goto tr55;
-st34:
+st41:
 	if ( ++p == pe )
-		goto _test_eof34;
-case 34:
+		goto _test_eof41;
+case 41:
 	switch( (*p) ) {
-		case 75: goto st35;
-		case 107: goto st35;
+		case 75: goto st42;
+		case 107: goto st42;
 	}
 	goto tr35;
-st35:
+st42:
 	if ( ++p == pe )
-		goto _test_eof35;
-case 35:
+		goto _test_eof42;
+case 42:
 	switch( (*p) ) {
-		case 69: goto st36;
-		case 101: goto st36;
+		case 69: goto st43;
+		case 101: goto st43;
 	}
 	goto tr35;
-st36:
+st43:
 	if ( ++p == pe )
-		goto _test_eof36;
-case 36:
+		goto _test_eof43;
+case 43:
 	switch( (*p) ) {
-		case 89: goto st37;
-		case 121: goto st37;
+		case 89: goto st44;
+		case 121: goto st44;
 	}
 	goto tr35;
-st37:
+st44:
 	if ( ++p == pe )
-		goto _test_eof37;
-case 37:
+		goto _test_eof44;
+case 44:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15594,22 +16562,22 @@ case 37:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr186;
-		case 32: goto tr186;
-		case 40: goto tr187;
-		case 41: goto tr188;
-		case 2058: goto tr189;
-		case 2107: goto tr190;
-		case 2314: goto tr191;
-		case 2363: goto tr191;
-		case 2570: goto tr192;
-		case 2619: goto tr193;
+		case 9: goto tr209;
+		case 32: goto tr209;
+		case 40: goto tr210;
+		case 41: goto tr211;
+		case 2058: goto tr212;
+		case 2107: goto tr213;
+		case 2314: goto tr214;
+		case 2363: goto tr214;
+		case 2570: goto tr215;
+		case 2619: goto tr216;
 	}
 	goto tr55;
-st38:
+st45:
 	if ( ++p == pe )
-		goto _test_eof38;
-case 38:
+		goto _test_eof45;
+case 45:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15627,16 +16595,16 @@ case 38:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr194;
-		case 32: goto tr194;
-		case 40: goto tr195;
-		case 41: goto tr196;
-		case 2058: goto tr197;
-		case 2107: goto tr198;
-		case 2314: goto tr199;
-		case 2363: goto tr199;
-		case 2570: goto tr200;
-		case 2619: goto tr201;
+		case 9: goto tr217;
+		case 32: goto tr217;
+		case 40: goto tr218;
+		case 41: goto tr219;
+		case 2058: goto tr220;
+		case 2107: goto tr221;
+		case 2314: goto tr222;
+		case 2363: goto tr222;
+		case 2570: goto tr223;
+		case 2619: goto tr224;
 	}
 	goto tr55;
 tr8:
@@ -15646,55 +16614,55 @@ tr8:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st39;
+	goto st46;
 tr42:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st39;
-tr554:
+	goto st46;
+tr577:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st39;
-st39:
+	goto st46;
+st46:
 	if ( ++p == pe )
-		goto _test_eof39;
-case 39:
+		goto _test_eof46;
+case 46:
 	switch( (*p) ) {
-		case 85: goto st40;
-		case 117: goto st40;
+		case 85: goto st47;
+		case 117: goto st47;
 	}
 	goto tr35;
-st40:
+st47:
 	if ( ++p == pe )
-		goto _test_eof40;
-case 40:
+		goto _test_eof47;
+case 47:
 	switch( (*p) ) {
-		case 73: goto st41;
-		case 105: goto st41;
+		case 73: goto st48;
+		case 105: goto st48;
 	}
 	goto tr35;
-st41:
+st48:
 	if ( ++p == pe )
-		goto _test_eof41;
-case 41:
+		goto _test_eof48;
+case 48:
 	switch( (*p) ) {
-		case 52: goto st42;
-		case 54: goto st44;
+		case 52: goto st49;
+		case 54: goto st51;
 	}
 	goto tr35;
-st42:
+st49:
 	if ( ++p == pe )
-		goto _test_eof42;
-case 42:
+		goto _test_eof49;
+case 49:
 	if ( (*p) == 56 )
-		goto st43;
+		goto st50;
 	goto tr35;
-st43:
+st50:
 	if ( ++p == pe )
-		goto _test_eof43;
-case 43:
+		goto _test_eof50;
+case 50:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15712,29 +16680,29 @@ case 43:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr207;
-		case 32: goto tr207;
-		case 40: goto tr208;
-		case 41: goto tr209;
-		case 2058: goto tr210;
-		case 2107: goto tr211;
-		case 2314: goto tr212;
-		case 2363: goto tr212;
-		case 2570: goto tr213;
-		case 2619: goto tr214;
+		case 9: goto tr230;
+		case 32: goto tr230;
+		case 40: goto tr231;
+		case 41: goto tr232;
+		case 2058: goto tr233;
+		case 2107: goto tr234;
+		case 2314: goto tr235;
+		case 2363: goto tr235;
+		case 2570: goto tr236;
+		case 2619: goto tr237;
 	}
 	goto tr55;
-st44:
+st51:
 	if ( ++p == pe )
-		goto _test_eof44;
-case 44:
+		goto _test_eof51;
+case 51:
 	if ( (*p) == 52 )
-		goto st45;
+		goto st52;
 	goto tr35;
-st45:
+st52:
 	if ( ++p == pe )
-		goto _test_eof45;
-case 45:
+		goto _test_eof52;
+case 52:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15752,16 +16720,16 @@ case 45:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr216;
-		case 32: goto tr216;
-		case 40: goto tr217;
-		case 41: goto tr218;
-		case 2058: goto tr219;
-		case 2107: goto tr220;
-		case 2314: goto tr221;
-		case 2363: goto tr221;
-		case 2570: goto tr222;
-		case 2619: goto tr223;
+		case 9: goto tr239;
+		case 32: goto tr239;
+		case 40: goto tr240;
+		case 41: goto tr241;
+		case 2058: goto tr242;
+		case 2107: goto tr243;
+		case 2314: goto tr244;
+		case 2363: goto tr244;
+		case 2570: goto tr245;
+		case 2619: goto tr246;
 	}
 	goto tr55;
 tr9:
@@ -15771,57 +16739,57 @@ tr9:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st46;
+	goto st53;
 tr43:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st46;
-tr555:
+	goto st53;
+tr578:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st46;
-st46:
+	goto st53;
+st53:
 	if ( ++p == pe )
-		goto _test_eof46;
-case 46:
+		goto _test_eof53;
+case 53:
 	switch( (*p) ) {
-		case 73: goto st47;
-		case 105: goto st47;
+		case 73: goto st54;
+		case 105: goto st54;
 	}
 	goto tr35;
-st47:
+st54:
 	if ( ++p == pe )
-		goto _test_eof47;
-case 47:
+		goto _test_eof54;
+case 54:
 	switch( (*p) ) {
-		case 78: goto st48;
-		case 110: goto st48;
+		case 78: goto st55;
+		case 110: goto st55;
 	}
 	goto tr35;
-st48:
+st55:
 	if ( ++p == pe )
-		goto _test_eof48;
-case 48:
+		goto _test_eof55;
+case 55:
 	switch( (*p) ) {
-		case 70: goto st49;
-		case 102: goto st49;
+		case 70: goto st56;
+		case 102: goto st56;
 	}
 	goto tr35;
-st49:
+st56:
 	if ( ++p == pe )
-		goto _test_eof49;
-case 49:
+		goto _test_eof56;
+case 56:
 	switch( (*p) ) {
-		case 79: goto st50;
-		case 111: goto st50;
+		case 79: goto st57;
+		case 111: goto st57;
 	}
 	goto tr35;
-st50:
+st57:
 	if ( ++p == pe )
-		goto _test_eof50;
-case 50:
+		goto _test_eof57;
+case 57:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15839,38 +16807,38 @@ case 50:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr228;
-		case 32: goto tr228;
-		case 40: goto tr229;
-		case 41: goto tr230;
-		case 2058: goto tr231;
-		case 2107: goto tr232;
-		case 2314: goto tr233;
-		case 2363: goto tr233;
-		case 2570: goto tr234;
-		case 2619: goto tr235;
+		case 9: goto tr251;
+		case 32: goto tr251;
+		case 40: goto tr252;
+		case 41: goto tr253;
+		case 2058: goto tr254;
+		case 2107: goto tr255;
+		case 2314: goto tr256;
+		case 2363: goto tr256;
+		case 2570: goto tr257;
+		case 2619: goto tr258;
 	}
 	goto tr55;
 tr44:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st51;
-st51:
+	goto st58;
+st58:
 	if ( ++p == pe )
-		goto _test_eof51;
-case 51:
+		goto _test_eof58;
+case 58:
 	switch( (*p) ) {
-		case 78: goto st52;
-		case 80: goto st55;
-		case 110: goto st52;
-		case 112: goto st55;
+		case 78: goto st59;
+		case 80: goto st62;
+		case 110: goto st59;
+		case 112: goto st62;
 	}
 	goto tr35;
-st52:
+st59:
 	if ( ++p == pe )
-		goto _test_eof52;
-case 52:
+		goto _test_eof59;
+case 59:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -15884,138 +16852,138 @@ case 52:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr238;
-		case 32: goto tr238;
-		case 40: goto tr239;
-		case 41: goto tr240;
-		case 1034: goto tr241;
-		case 1083: goto tr242;
+		case 9: goto tr261;
+		case 32: goto tr261;
+		case 40: goto tr262;
+		case 41: goto tr263;
+		case 1034: goto tr264;
+		case 1083: goto tr265;
 	}
 	goto tr35;
-tr244:
+tr267:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st53;
-tr245:
+	goto st60;
+tr268:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st53;
-tr260:
+	goto st60;
+tr283:
 	{
 		s->line_counter++;
 	}
-	goto st53;
-tr567:
+	goto st60;
+tr590:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st53;
-tr568:
+	goto st60;
+tr591:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st53;
-tr569:
+	goto st60;
+tr592:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st53;
-tr576:
+	goto st60;
+tr599:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st53;
-tr238:
+	goto st60;
+tr261:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
-	goto st53;
-tr239:
+	goto st60;
+tr262:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st53;
-tr240:
+	goto st60;
+tr263:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st53;
-tr241:
+	goto st60;
+tr264:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st53;
-tr585:
+	goto st60;
+tr608:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -16023,17 +16991,17 @@ tr585:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st53;
-tr586:
+	goto st60;
+tr609:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -16041,24 +17009,24 @@ tr586:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st53;
-tr587:
+	goto st60;
+tr610:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -16066,24 +17034,24 @@ tr587:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st53;
-tr589:
+	goto st60;
+tr612:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -16091,17 +17059,17 @@ tr589:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st53;
-st53:
+	goto st60;
+st60:
 	if ( ++p == pe )
-		goto _test_eof53;
-case 53:
+		goto _test_eof60;
+case 60:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16115,114 +17083,114 @@ case 53:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st53;
-		case 32: goto st53;
-		case 40: goto tr244;
-		case 41: goto tr245;
+		case 9: goto st60;
+		case 32: goto st60;
+		case 40: goto tr267;
+		case 41: goto tr268;
 		case 65: goto st4;
 		case 67: goto st16;
-		case 68: goto st25;
-		case 69: goto st39;
-		case 72: goto st46;
-		case 73: goto st54;
-		case 75: goto st62;
-		case 76: goto st66;
-		case 77: goto st74;
-		case 78: goto st80;
-		case 80: goto st96;
-		case 82: goto st99;
-		case 83: goto st106;
-		case 84: goto st117;
+		case 68: goto st32;
+		case 69: goto st46;
+		case 72: goto st53;
+		case 73: goto st61;
+		case 75: goto st69;
+		case 76: goto st73;
+		case 77: goto st81;
+		case 78: goto st87;
+		case 80: goto st103;
+		case 82: goto st106;
+		case 83: goto st113;
+		case 84: goto st124;
 		case 97: goto st4;
 		case 99: goto st16;
-		case 100: goto st25;
-		case 101: goto st39;
-		case 104: goto st46;
-		case 105: goto st54;
-		case 107: goto st62;
-		case 108: goto st66;
-		case 109: goto st74;
-		case 110: goto st80;
-		case 112: goto st96;
-		case 114: goto st99;
-		case 115: goto st106;
-		case 116: goto st117;
-		case 1034: goto tr260;
-		case 1083: goto st127;
+		case 100: goto st32;
+		case 101: goto st46;
+		case 104: goto st53;
+		case 105: goto st61;
+		case 107: goto st69;
+		case 108: goto st73;
+		case 109: goto st81;
+		case 110: goto st87;
+		case 112: goto st103;
+		case 114: goto st106;
+		case 115: goto st113;
+		case 116: goto st124;
+		case 1034: goto tr283;
+		case 1083: goto st134;
 	}
 	goto tr35;
-tr556:
+tr579:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st54;
-st54:
+	goto st61;
+st61:
 	if ( ++p == pe )
-		goto _test_eof54;
-case 54:
+		goto _test_eof61;
+case 61:
 	switch( (*p) ) {
-		case 80: goto st55;
-		case 112: goto st55;
+		case 80: goto st62;
+		case 112: goto st62;
 	}
 	goto tr35;
-st55:
+st62:
 	if ( ++p == pe )
-		goto _test_eof55;
-case 55:
+		goto _test_eof62;
+case 62:
 	switch( (*p) ) {
-		case 83: goto st56;
-		case 115: goto st56;
+		case 83: goto st63;
+		case 115: goto st63;
 	}
 	goto tr35;
-st56:
+st63:
 	if ( ++p == pe )
-		goto _test_eof56;
-case 56:
+		goto _test_eof63;
+case 63:
 	switch( (*p) ) {
-		case 69: goto st57;
-		case 101: goto st57;
+		case 69: goto st64;
+		case 101: goto st64;
 	}
 	goto tr35;
-st57:
+st64:
 	if ( ++p == pe )
-		goto _test_eof57;
-case 57:
+		goto _test_eof64;
+case 64:
 	switch( (*p) ) {
-		case 67: goto st58;
-		case 99: goto st58;
+		case 67: goto st65;
+		case 99: goto st65;
 	}
 	goto tr35;
-st58:
+st65:
 	if ( ++p == pe )
-		goto _test_eof58;
-case 58:
+		goto _test_eof65;
+case 65:
 	switch( (*p) ) {
-		case 75: goto st59;
-		case 107: goto st59;
+		case 75: goto st66;
+		case 107: goto st66;
 	}
 	goto tr35;
-st59:
+st66:
 	if ( ++p == pe )
-		goto _test_eof59;
-case 59:
+		goto _test_eof66;
+case 66:
 	switch( (*p) ) {
-		case 69: goto st60;
-		case 101: goto st60;
+		case 69: goto st67;
+		case 101: goto st67;
 	}
 	goto tr35;
-st60:
+st67:
 	if ( ++p == pe )
-		goto _test_eof60;
-case 60:
+		goto _test_eof67;
+case 67:
 	switch( (*p) ) {
-		case 89: goto st61;
-		case 121: goto st61;
+		case 89: goto st68;
+		case 121: goto st68;
 	}
 	goto tr35;
-st61:
+st68:
 	if ( ++p == pe )
-		goto _test_eof61;
-case 61:
+		goto _test_eof68;
+case 68:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16240,16 +17208,16 @@ case 61:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr268;
-		case 32: goto tr268;
-		case 40: goto tr269;
-		case 41: goto tr270;
-		case 2058: goto tr271;
-		case 2107: goto tr272;
-		case 2314: goto tr273;
-		case 2363: goto tr273;
-		case 2570: goto tr274;
-		case 2619: goto tr275;
+		case 9: goto tr291;
+		case 32: goto tr291;
+		case 40: goto tr292;
+		case 41: goto tr293;
+		case 2058: goto tr294;
+		case 2107: goto tr295;
+		case 2314: goto tr296;
+		case 2363: goto tr296;
+		case 2570: goto tr297;
+		case 2619: goto tr298;
 	}
 	goto tr55;
 tr11:
@@ -16259,41 +17227,41 @@ tr11:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st62;
+	goto st69;
 tr45:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st62;
-tr557:
+	goto st69;
+tr580:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st62;
-st62:
+	goto st69;
+st69:
 	if ( ++p == pe )
-		goto _test_eof62;
-case 62:
+		goto _test_eof69;
+case 69:
 	switch( (*p) ) {
-		case 69: goto st63;
-		case 88: goto st65;
-		case 101: goto st63;
-		case 120: goto st65;
+		case 69: goto st70;
+		case 88: goto st72;
+		case 101: goto st70;
+		case 120: goto st72;
 	}
 	goto tr35;
-st63:
+st70:
 	if ( ++p == pe )
-		goto _test_eof63;
-case 63:
+		goto _test_eof70;
+case 70:
 	switch( (*p) ) {
-		case 89: goto st64;
-		case 121: goto st64;
+		case 89: goto st71;
+		case 121: goto st71;
 	}
 	goto tr35;
-st64:
+st71:
 	if ( ++p == pe )
-		goto _test_eof64;
-case 64:
+		goto _test_eof71;
+case 71:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16311,22 +17279,22 @@ case 64:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr279;
-		case 32: goto tr279;
-		case 40: goto tr280;
-		case 41: goto tr281;
-		case 2058: goto tr282;
-		case 2107: goto tr283;
-		case 2314: goto tr284;
-		case 2363: goto tr284;
-		case 2570: goto tr285;
-		case 2619: goto tr286;
+		case 9: goto tr302;
+		case 32: goto tr302;
+		case 40: goto tr303;
+		case 41: goto tr304;
+		case 2058: goto tr305;
+		case 2107: goto tr306;
+		case 2314: goto tr307;
+		case 2363: goto tr307;
+		case 2570: goto tr308;
+		case 2619: goto tr309;
 	}
 	goto tr55;
-st65:
+st72:
 	if ( ++p == pe )
-		goto _test_eof65;
-case 65:
+		goto _test_eof72;
+case 72:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16344,16 +17312,16 @@ case 65:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr287;
-		case 32: goto tr287;
-		case 40: goto tr288;
-		case 41: goto tr289;
-		case 2058: goto tr290;
-		case 2107: goto tr291;
-		case 2314: goto tr292;
-		case 2363: goto tr292;
-		case 2570: goto tr293;
-		case 2619: goto tr294;
+		case 9: goto tr310;
+		case 32: goto tr310;
+		case 40: goto tr311;
+		case 41: goto tr312;
+		case 2058: goto tr313;
+		case 2107: goto tr314;
+		case 2314: goto tr315;
+		case 2363: goto tr315;
+		case 2570: goto tr316;
+		case 2619: goto tr317;
 	}
 	goto tr55;
 tr12:
@@ -16363,41 +17331,41 @@ tr12:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st66;
+	goto st73;
 tr46:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st66;
-tr558:
+	goto st73;
+tr581:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st66;
-st66:
+	goto st73;
+st73:
 	if ( ++p == pe )
-		goto _test_eof66;
-case 66:
+		goto _test_eof73;
+case 73:
 	switch( (*p) ) {
-		case 51: goto st67;
-		case 54: goto st69;
-		case 79: goto st71;
-		case 80: goto st73;
-		case 111: goto st71;
-		case 112: goto st73;
+		case 51: goto st74;
+		case 54: goto st76;
+		case 79: goto st78;
+		case 80: goto st80;
+		case 111: goto st78;
+		case 112: goto st80;
 	}
 	goto tr35;
-st67:
+st74:
 	if ( ++p == pe )
-		goto _test_eof67;
-case 67:
+		goto _test_eof74;
+case 74:
 	if ( (*p) == 50 )
-		goto st68;
+		goto st75;
 	goto tr35;
-st68:
+st75:
 	if ( ++p == pe )
-		goto _test_eof68;
-case 68:
+		goto _test_eof75;
+case 75:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16415,29 +17383,29 @@ case 68:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr300;
-		case 32: goto tr300;
-		case 40: goto tr301;
-		case 41: goto tr302;
-		case 2058: goto tr303;
-		case 2107: goto tr304;
-		case 2314: goto tr305;
-		case 2363: goto tr305;
-		case 2570: goto tr306;
-		case 2619: goto tr307;
+		case 9: goto tr323;
+		case 32: goto tr323;
+		case 40: goto tr324;
+		case 41: goto tr325;
+		case 2058: goto tr326;
+		case 2107: goto tr327;
+		case 2314: goto tr328;
+		case 2363: goto tr328;
+		case 2570: goto tr329;
+		case 2619: goto tr330;
 	}
 	goto tr55;
-st69:
+st76:
 	if ( ++p == pe )
-		goto _test_eof69;
-case 69:
+		goto _test_eof76;
+case 76:
 	if ( (*p) == 52 )
-		goto st70;
+		goto st77;
 	goto tr35;
-st70:
+st77:
 	if ( ++p == pe )
-		goto _test_eof70;
-case 70:
+		goto _test_eof77;
+case 77:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16455,31 +17423,31 @@ case 70:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr309;
-		case 32: goto tr309;
-		case 40: goto tr310;
-		case 41: goto tr311;
-		case 2058: goto tr312;
-		case 2107: goto tr313;
-		case 2314: goto tr314;
-		case 2363: goto tr314;
-		case 2570: goto tr315;
-		case 2619: goto tr316;
+		case 9: goto tr332;
+		case 32: goto tr332;
+		case 40: goto tr333;
+		case 41: goto tr334;
+		case 2058: goto tr335;
+		case 2107: goto tr336;
+		case 2314: goto tr337;
+		case 2363: goto tr337;
+		case 2570: goto tr338;
+		case 2619: goto tr339;
 	}
 	goto tr55;
-st71:
+st78:
 	if ( ++p == pe )
-		goto _test_eof71;
-case 71:
+		goto _test_eof78;
+case 78:
 	switch( (*p) ) {
-		case 67: goto st72;
-		case 99: goto st72;
+		case 67: goto st79;
+		case 99: goto st79;
 	}
 	goto tr35;
-st72:
+st79:
 	if ( ++p == pe )
-		goto _test_eof72;
-case 72:
+		goto _test_eof79;
+case 79:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16497,22 +17465,22 @@ case 72:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr318;
-		case 32: goto tr318;
-		case 40: goto tr319;
-		case 41: goto tr320;
-		case 2058: goto tr321;
-		case 2107: goto tr322;
-		case 2314: goto tr323;
-		case 2363: goto tr323;
-		case 2570: goto tr324;
-		case 2619: goto tr325;
+		case 9: goto tr341;
+		case 32: goto tr341;
+		case 40: goto tr342;
+		case 41: goto tr343;
+		case 2058: goto tr344;
+		case 2107: goto tr345;
+		case 2314: goto tr346;
+		case 2363: goto tr346;
+		case 2570: goto tr347;
+		case 2619: goto tr348;
 	}
 	goto tr55;
-st73:
+st80:
 	if ( ++p == pe )
-		goto _test_eof73;
-case 73:
+		goto _test_eof80;
+case 80:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16530,16 +17498,16 @@ case 73:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr326;
-		case 32: goto tr326;
-		case 40: goto tr327;
-		case 41: goto tr328;
-		case 2058: goto tr329;
-		case 2107: goto tr330;
-		case 2314: goto tr331;
-		case 2363: goto tr331;
-		case 2570: goto tr332;
-		case 2619: goto tr333;
+		case 9: goto tr349;
+		case 32: goto tr349;
+		case 40: goto tr350;
+		case 41: goto tr351;
+		case 2058: goto tr352;
+		case 2107: goto tr353;
+		case 2314: goto tr354;
+		case 2363: goto tr354;
+		case 2570: goto tr355;
+		case 2619: goto tr356;
 	}
 	goto tr55;
 tr13:
@@ -16549,159 +17517,26 @@ tr13:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st74;
+	goto st81;
 tr47:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st74;
-tr559:
-	{
-		s->r_ttl = s->default_ttl;
-	}
-	goto st74;
-st74:
-	if ( ++p == pe )
-		goto _test_eof74;
-case 74:
-	switch( (*p) ) {
-		case 73: goto st75;
-		case 88: goto st79;
-		case 105: goto st75;
-		case 120: goto st79;
-	}
-	goto tr35;
-st75:
-	if ( ++p == pe )
-		goto _test_eof75;
-case 75:
-	switch( (*p) ) {
-		case 78: goto st76;
-		case 110: goto st76;
-	}
-	goto tr35;
-st76:
-	if ( ++p == pe )
-		goto _test_eof76;
-case 76:
-	switch( (*p) ) {
-		case 70: goto st77;
-		case 102: goto st77;
-	}
-	goto tr35;
-st77:
-	if ( ++p == pe )
-		goto _test_eof77;
-case 77:
-	switch( (*p) ) {
-		case 79: goto st78;
-		case 111: goto st78;
-	}
-	goto tr35;
-st78:
-	if ( ++p == pe )
-		goto _test_eof78;
-case 78:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
-	}
-	switch( _widec ) {
-		case 9: goto tr339;
-		case 32: goto tr339;
-		case 40: goto tr340;
-		case 41: goto tr341;
-		case 2058: goto tr342;
-		case 2107: goto tr343;
-		case 2314: goto tr344;
-		case 2363: goto tr344;
-		case 2570: goto tr345;
-		case 2619: goto tr346;
-	}
-	goto tr55;
-st79:
-	if ( ++p == pe )
-		goto _test_eof79;
-case 79:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
-	}
-	switch( _widec ) {
-		case 9: goto tr347;
-		case 32: goto tr347;
-		case 40: goto tr348;
-		case 41: goto tr349;
-		case 2058: goto tr350;
-		case 2107: goto tr351;
-		case 2314: goto tr352;
-		case 2363: goto tr352;
-		case 2570: goto tr353;
-		case 2619: goto tr354;
-	}
-	goto tr55;
-tr14:
-	{
-		s->r_class = s->default_class;
-	}
-	{
-		s->r_ttl = s->default_ttl;
-	}
-	goto st80;
-tr48:
-	{
-		s->r_class = s->default_class;
-	}
-	goto st80;
-tr560:
+	goto st81;
+tr582:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st80;
-st80:
-	if ( ++p == pe )
-		goto _test_eof80;
-case 80:
-	switch( (*p) ) {
-		case 65: goto st81;
-		case 73: goto st85;
-		case 83: goto st87;
-		case 97: goto st81;
-		case 105: goto st85;
-		case 115: goto st87;
-	}
-	goto tr35;
+	goto st81;
 st81:
 	if ( ++p == pe )
 		goto _test_eof81;
 case 81:
 	switch( (*p) ) {
-		case 80: goto st82;
-		case 112: goto st82;
+		case 73: goto st82;
+		case 88: goto st86;
+		case 105: goto st82;
+		case 120: goto st86;
 	}
 	goto tr35;
 st82:
@@ -16709,8 +17544,8 @@ st82:
 		goto _test_eof82;
 case 82:
 	switch( (*p) ) {
-		case 84: goto st83;
-		case 116: goto st83;
+		case 78: goto st83;
+		case 110: goto st83;
 	}
 	goto tr35;
 st83:
@@ -16718,14 +17553,23 @@ st83:
 		goto _test_eof83;
 case 83:
 	switch( (*p) ) {
-		case 82: goto st84;
-		case 114: goto st84;
+		case 70: goto st84;
+		case 102: goto st84;
 	}
 	goto tr35;
 st84:
 	if ( ++p == pe )
 		goto _test_eof84;
 case 84:
+	switch( (*p) ) {
+		case 79: goto st85;
+		case 111: goto st85;
+	}
+	goto tr35;
+st85:
+	if ( ++p == pe )
+		goto _test_eof85;
+case 85:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16743,27 +17587,18 @@ case 84:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr361;
-		case 32: goto tr361;
-		case 40: goto tr362;
-		case 41: goto tr363;
-		case 2058: goto tr364;
-		case 2107: goto tr365;
-		case 2314: goto tr366;
-		case 2363: goto tr366;
-		case 2570: goto tr367;
-		case 2619: goto tr368;
+		case 9: goto tr362;
+		case 32: goto tr362;
+		case 40: goto tr363;
+		case 41: goto tr364;
+		case 2058: goto tr365;
+		case 2107: goto tr366;
+		case 2314: goto tr367;
+		case 2363: goto tr367;
+		case 2570: goto tr368;
+		case 2619: goto tr369;
 	}
 	goto tr55;
-st85:
-	if ( ++p == pe )
-		goto _test_eof85;
-case 85:
-	switch( (*p) ) {
-		case 68: goto st86;
-		case 100: goto st86;
-	}
-	goto tr35;
 st86:
 	if ( ++p == pe )
 		goto _test_eof86;
@@ -16797,10 +17632,68 @@ case 86:
 		case 2619: goto tr377;
 	}
 	goto tr55;
+tr14:
+	{
+		s->r_class = s->default_class;
+	}
+	{
+		s->r_ttl = s->default_ttl;
+	}
+	goto st87;
+tr48:
+	{
+		s->r_class = s->default_class;
+	}
+	goto st87;
+tr583:
+	{
+		s->r_ttl = s->default_ttl;
+	}
+	goto st87;
 st87:
 	if ( ++p == pe )
 		goto _test_eof87;
 case 87:
+	switch( (*p) ) {
+		case 65: goto st88;
+		case 73: goto st92;
+		case 83: goto st94;
+		case 97: goto st88;
+		case 105: goto st92;
+		case 115: goto st94;
+	}
+	goto tr35;
+st88:
+	if ( ++p == pe )
+		goto _test_eof88;
+case 88:
+	switch( (*p) ) {
+		case 80: goto st89;
+		case 112: goto st89;
+	}
+	goto tr35;
+st89:
+	if ( ++p == pe )
+		goto _test_eof89;
+case 89:
+	switch( (*p) ) {
+		case 84: goto st90;
+		case 116: goto st90;
+	}
+	goto tr35;
+st90:
+	if ( ++p == pe )
+		goto _test_eof90;
+case 90:
+	switch( (*p) ) {
+		case 82: goto st91;
+		case 114: goto st91;
+	}
+	goto tr35;
+st91:
+	if ( ++p == pe )
+		goto _test_eof91;
+case 91:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16818,33 +17711,31 @@ case 87:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr378;
-		case 32: goto tr378;
-		case 40: goto tr379;
-		case 41: goto tr380;
-		case 69: goto st88;
-		case 101: goto st88;
-		case 2058: goto tr382;
-		case 2107: goto tr383;
-		case 2314: goto tr384;
-		case 2363: goto tr384;
-		case 2570: goto tr385;
-		case 2619: goto tr386;
+		case 9: goto tr384;
+		case 32: goto tr384;
+		case 40: goto tr385;
+		case 41: goto tr386;
+		case 2058: goto tr387;
+		case 2107: goto tr388;
+		case 2314: goto tr389;
+		case 2363: goto tr389;
+		case 2570: goto tr390;
+		case 2619: goto tr391;
 	}
 	goto tr55;
-st88:
+st92:
 	if ( ++p == pe )
-		goto _test_eof88;
-case 88:
+		goto _test_eof92;
+case 92:
 	switch( (*p) ) {
-		case 67: goto st89;
-		case 99: goto st89;
+		case 68: goto st93;
+		case 100: goto st93;
 	}
 	goto tr35;
-st89:
+st93:
 	if ( ++p == pe )
-		goto _test_eof89;
-case 89:
+		goto _test_eof93;
+case 93:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16862,23 +17753,22 @@ case 89:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr388;
-		case 32: goto tr388;
-		case 40: goto tr389;
-		case 41: goto tr390;
-		case 51: goto st90;
-		case 2058: goto tr392;
-		case 2107: goto tr393;
-		case 2314: goto tr394;
-		case 2363: goto tr394;
-		case 2570: goto tr395;
-		case 2619: goto tr396;
+		case 9: goto tr393;
+		case 32: goto tr393;
+		case 40: goto tr394;
+		case 41: goto tr395;
+		case 2058: goto tr396;
+		case 2107: goto tr397;
+		case 2314: goto tr398;
+		case 2363: goto tr398;
+		case 2570: goto tr399;
+		case 2619: goto tr400;
 	}
 	goto tr55;
-st90:
+st94:
 	if ( ++p == pe )
-		goto _test_eof90;
-case 90:
+		goto _test_eof94;
+case 94:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16896,60 +17786,138 @@ case 90:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr397;
-		case 32: goto tr397;
-		case 40: goto tr398;
-		case 41: goto tr399;
-		case 80: goto st91;
-		case 112: goto st91;
-		case 2058: goto tr401;
-		case 2107: goto tr402;
-		case 2314: goto tr403;
-		case 2363: goto tr403;
-		case 2570: goto tr404;
-		case 2619: goto tr405;
+		case 9: goto tr401;
+		case 32: goto tr401;
+		case 40: goto tr402;
+		case 41: goto tr403;
+		case 69: goto st95;
+		case 101: goto st95;
+		case 2058: goto tr405;
+		case 2107: goto tr406;
+		case 2314: goto tr407;
+		case 2363: goto tr407;
+		case 2570: goto tr408;
+		case 2619: goto tr409;
 	}
 	goto tr55;
-st91:
+st95:
 	if ( ++p == pe )
-		goto _test_eof91;
-case 91:
+		goto _test_eof95;
+case 95:
 	switch( (*p) ) {
-		case 65: goto st92;
-		case 97: goto st92;
+		case 67: goto st96;
+		case 99: goto st96;
 	}
 	goto tr35;
-st92:
+st96:
 	if ( ++p == pe )
-		goto _test_eof92;
-case 92:
+		goto _test_eof96;
+case 96:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr411;
+		case 32: goto tr411;
+		case 40: goto tr412;
+		case 41: goto tr413;
+		case 51: goto st97;
+		case 2058: goto tr415;
+		case 2107: goto tr416;
+		case 2314: goto tr417;
+		case 2363: goto tr417;
+		case 2570: goto tr418;
+		case 2619: goto tr419;
+	}
+	goto tr55;
+st97:
+	if ( ++p == pe )
+		goto _test_eof97;
+case 97:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr420;
+		case 32: goto tr420;
+		case 40: goto tr421;
+		case 41: goto tr422;
+		case 80: goto st98;
+		case 112: goto st98;
+		case 2058: goto tr424;
+		case 2107: goto tr425;
+		case 2314: goto tr426;
+		case 2363: goto tr426;
+		case 2570: goto tr427;
+		case 2619: goto tr428;
+	}
+	goto tr55;
+st98:
+	if ( ++p == pe )
+		goto _test_eof98;
+case 98:
 	switch( (*p) ) {
-		case 82: goto st93;
-		case 114: goto st93;
+		case 65: goto st99;
+		case 97: goto st99;
 	}
 	goto tr35;
-st93:
+st99:
 	if ( ++p == pe )
-		goto _test_eof93;
-case 93:
+		goto _test_eof99;
+case 99:
 	switch( (*p) ) {
-		case 65: goto st94;
-		case 97: goto st94;
+		case 82: goto st100;
+		case 114: goto st100;
 	}
 	goto tr35;
-st94:
+st100:
 	if ( ++p == pe )
-		goto _test_eof94;
-case 94:
+		goto _test_eof100;
+case 100:
 	switch( (*p) ) {
-		case 77: goto st95;
-		case 109: goto st95;
+		case 65: goto st101;
+		case 97: goto st101;
 	}
 	goto tr35;
-st95:
+st101:
 	if ( ++p == pe )
-		goto _test_eof95;
-case 95:
+		goto _test_eof101;
+case 101:
+	switch( (*p) ) {
+		case 77: goto st102;
+		case 109: goto st102;
+	}
+	goto tr35;
+st102:
+	if ( ++p == pe )
+		goto _test_eof102;
+case 102:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16967,16 +17935,16 @@ case 95:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr410;
-		case 32: goto tr410;
-		case 40: goto tr411;
-		case 41: goto tr412;
-		case 2058: goto tr413;
-		case 2107: goto tr414;
-		case 2314: goto tr415;
-		case 2363: goto tr415;
-		case 2570: goto tr416;
-		case 2619: goto tr417;
+		case 9: goto tr433;
+		case 32: goto tr433;
+		case 40: goto tr434;
+		case 41: goto tr435;
+		case 2058: goto tr436;
+		case 2107: goto tr437;
+		case 2314: goto tr438;
+		case 2363: goto tr438;
+		case 2570: goto tr439;
+		case 2619: goto tr440;
 	}
 	goto tr55;
 tr15:
@@ -16986,39 +17954,39 @@ tr15:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st96;
+	goto st103;
 tr49:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st96;
-tr561:
+	goto st103;
+tr584:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st96;
-st96:
+	goto st103;
+st103:
 	if ( ++p == pe )
-		goto _test_eof96;
-case 96:
+		goto _test_eof103;
+case 103:
 	switch( (*p) ) {
-		case 84: goto st97;
-		case 116: goto st97;
+		case 84: goto st104;
+		case 116: goto st104;
 	}
 	goto tr35;
-st97:
+st104:
 	if ( ++p == pe )
-		goto _test_eof97;
-case 97:
+		goto _test_eof104;
+case 104:
 	switch( (*p) ) {
-		case 82: goto st98;
-		case 114: goto st98;
+		case 82: goto st105;
+		case 114: goto st105;
 	}
 	goto tr35;
-st98:
+st105:
 	if ( ++p == pe )
-		goto _test_eof98;
-case 98:
+		goto _test_eof105;
+case 105:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17036,16 +18004,16 @@ case 98:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr420;
-		case 32: goto tr420;
-		case 40: goto tr421;
-		case 41: goto tr422;
-		case 2058: goto tr423;
-		case 2107: goto tr424;
-		case 2314: goto tr425;
-		case 2363: goto tr425;
-		case 2570: goto tr426;
-		case 2619: goto tr427;
+		case 9: goto tr443;
+		case 32: goto tr443;
+		case 40: goto tr444;
+		case 41: goto tr445;
+		case 2058: goto tr446;
+		case 2107: goto tr447;
+		case 2314: goto tr448;
+		case 2363: goto tr448;
+		case 2570: goto tr449;
+		case 2619: goto tr450;
 	}
 	goto tr55;
 tr16:
@@ -17055,34 +18023,34 @@ tr16:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st99;
+	goto st106;
 tr50:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st99;
-tr562:
+	goto st106;
+tr585:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st99;
-st99:
+	goto st106;
+st106:
 	if ( ++p == pe )
-		goto _test_eof99;
-case 99:
+		goto _test_eof106;
+case 106:
 	switch( (*p) ) {
-		case 80: goto st100;
-		case 82: goto st101;
-		case 84: goto st105;
-		case 112: goto st100;
-		case 114: goto st101;
-		case 116: goto st105;
+		case 80: goto st107;
+		case 82: goto st108;
+		case 84: goto st112;
+		case 112: goto st107;
+		case 114: goto st108;
+		case 116: goto st112;
 	}
 	goto tr35;
-st100:
+st107:
 	if ( ++p == pe )
-		goto _test_eof100;
-case 100:
+		goto _test_eof107;
+case 107:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17100,49 +18068,49 @@ case 100:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr431;
-		case 32: goto tr431;
-		case 40: goto tr432;
-		case 41: goto tr433;
-		case 2058: goto tr434;
-		case 2107: goto tr435;
-		case 2314: goto tr436;
-		case 2363: goto tr436;
-		case 2570: goto tr437;
-		case 2619: goto tr438;
+		case 9: goto tr454;
+		case 32: goto tr454;
+		case 40: goto tr455;
+		case 41: goto tr456;
+		case 2058: goto tr457;
+		case 2107: goto tr458;
+		case 2314: goto tr459;
+		case 2363: goto tr459;
+		case 2570: goto tr460;
+		case 2619: goto tr461;
 	}
 	goto tr55;
-st101:
+st108:
 	if ( ++p == pe )
-		goto _test_eof101;
-case 101:
+		goto _test_eof108;
+case 108:
 	switch( (*p) ) {
-		case 83: goto st102;
-		case 115: goto st102;
+		case 83: goto st109;
+		case 115: goto st109;
 	}
 	goto tr35;
-st102:
+st109:
 	if ( ++p == pe )
-		goto _test_eof102;
-case 102:
+		goto _test_eof109;
+case 109:
 	switch( (*p) ) {
-		case 73: goto st103;
-		case 105: goto st103;
+		case 73: goto st110;
+		case 105: goto st110;
 	}
 	goto tr35;
-st103:
+st110:
 	if ( ++p == pe )
-		goto _test_eof103;
-case 103:
+		goto _test_eof110;
+case 110:
 	switch( (*p) ) {
-		case 71: goto st104;
-		case 103: goto st104;
+		case 71: goto st111;
+		case 103: goto st111;
 	}
 	goto tr35;
-st104:
+st111:
 	if ( ++p == pe )
-		goto _test_eof104;
-case 104:
+		goto _test_eof111;
+case 111:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17160,22 +18128,22 @@ case 104:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr442;
-		case 32: goto tr442;
-		case 40: goto tr443;
-		case 41: goto tr444;
-		case 2058: goto tr445;
-		case 2107: goto tr446;
-		case 2314: goto tr447;
-		case 2363: goto tr447;
-		case 2570: goto tr448;
-		case 2619: goto tr449;
+		case 9: goto tr465;
+		case 32: goto tr465;
+		case 40: goto tr466;
+		case 41: goto tr467;
+		case 2058: goto tr468;
+		case 2107: goto tr469;
+		case 2314: goto tr470;
+		case 2363: goto tr470;
+		case 2570: goto tr471;
+		case 2619: goto tr472;
 	}
 	goto tr55;
-st105:
+st112:
 	if ( ++p == pe )
-		goto _test_eof105;
-case 105:
+		goto _test_eof112;
+case 112:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17193,16 +18161,16 @@ case 105:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr450;
-		case 32: goto tr450;
-		case 40: goto tr451;
-		case 41: goto tr452;
-		case 2058: goto tr453;
-		case 2107: goto tr454;
-		case 2314: goto tr455;
-		case 2363: goto tr455;
-		case 2570: goto tr456;
-		case 2619: goto tr457;
+		case 9: goto tr473;
+		case 32: goto tr473;
+		case 40: goto tr474;
+		case 41: goto tr475;
+		case 2058: goto tr476;
+		case 2107: goto tr477;
+		case 2314: goto tr478;
+		case 2363: goto tr478;
+		case 2570: goto tr479;
+		case 2619: goto tr480;
 	}
 	goto tr55;
 tr17:
@@ -17212,45 +18180,45 @@ tr17:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st106;
+	goto st113;
 tr51:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st106;
-tr563:
+	goto st113;
+tr586:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st106;
-st106:
+	goto st113;
+st113:
 	if ( ++p == pe )
-		goto _test_eof106;
-case 106:
+		goto _test_eof113;
+case 113:
 	switch( (*p) ) {
-		case 79: goto st107;
-		case 80: goto st109;
-		case 82: goto st111;
-		case 83: goto st113;
-		case 111: goto st107;
-		case 112: goto st109;
-		case 114: goto st111;
-		case 115: goto st113;
+		case 79: goto st114;
+		case 80: goto st116;
+		case 82: goto st118;
+		case 83: goto st120;
+		case 111: goto st114;
+		case 112: goto st116;
+		case 114: goto st118;
+		case 115: goto st120;
 	}
 	goto tr35;
-st107:
+st114:
 	if ( ++p == pe )
-		goto _test_eof107;
-case 107:
+		goto _test_eof114;
+case 114:
 	switch( (*p) ) {
-		case 65: goto st108;
-		case 97: goto st108;
+		case 65: goto st115;
+		case 97: goto st115;
 	}
 	goto tr35;
-st108:
+st115:
 	if ( ++p == pe )
-		goto _test_eof108;
-case 108:
+		goto _test_eof115;
+case 115:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17268,31 +18236,31 @@ case 108:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr463;
-		case 32: goto tr463;
-		case 40: goto tr464;
-		case 41: goto tr465;
-		case 2058: goto tr466;
-		case 2107: goto tr467;
-		case 2314: goto tr468;
-		case 2363: goto tr468;
-		case 2570: goto tr469;
-		case 2619: goto tr470;
+		case 9: goto tr486;
+		case 32: goto tr486;
+		case 40: goto tr487;
+		case 41: goto tr488;
+		case 2058: goto tr489;
+		case 2107: goto tr490;
+		case 2314: goto tr491;
+		case 2363: goto tr491;
+		case 2570: goto tr492;
+		case 2619: goto tr493;
 	}
 	goto tr55;
-st109:
+st116:
 	if ( ++p == pe )
-		goto _test_eof109;
-case 109:
+		goto _test_eof116;
+case 116:
 	switch( (*p) ) {
-		case 70: goto st110;
-		case 102: goto st110;
+		case 70: goto st117;
+		case 102: goto st117;
 	}
 	goto tr35;
-st110:
+st117:
 	if ( ++p == pe )
-		goto _test_eof110;
-case 110:
+		goto _test_eof117;
+case 117:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17310,31 +18278,31 @@ case 110:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr472;
-		case 32: goto tr472;
-		case 40: goto tr473;
-		case 41: goto tr474;
-		case 2058: goto tr475;
-		case 2107: goto tr476;
-		case 2314: goto tr477;
-		case 2363: goto tr477;
-		case 2570: goto tr478;
-		case 2619: goto tr479;
+		case 9: goto tr495;
+		case 32: goto tr495;
+		case 40: goto tr496;
+		case 41: goto tr497;
+		case 2058: goto tr498;
+		case 2107: goto tr499;
+		case 2314: goto tr500;
+		case 2363: goto tr500;
+		case 2570: goto tr501;
+		case 2619: goto tr502;
 	}
 	goto tr55;
-st111:
+st118:
 	if ( ++p == pe )
-		goto _test_eof111;
-case 111:
+		goto _test_eof118;
+case 118:
 	switch( (*p) ) {
-		case 86: goto st112;
-		case 118: goto st112;
+		case 86: goto st119;
+		case 118: goto st119;
 	}
 	goto tr35;
-st112:
+st119:
 	if ( ++p == pe )
-		goto _test_eof112;
-case 112:
+		goto _test_eof119;
+case 119:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17352,49 +18320,49 @@ case 112:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr481;
-		case 32: goto tr481;
-		case 40: goto tr482;
-		case 41: goto tr483;
-		case 2058: goto tr484;
-		case 2107: goto tr485;
-		case 2314: goto tr486;
-		case 2363: goto tr486;
-		case 2570: goto tr487;
-		case 2619: goto tr488;
+		case 9: goto tr504;
+		case 32: goto tr504;
+		case 40: goto tr505;
+		case 41: goto tr506;
+		case 2058: goto tr507;
+		case 2107: goto tr508;
+		case 2314: goto tr509;
+		case 2363: goto tr509;
+		case 2570: goto tr510;
+		case 2619: goto tr511;
 	}
 	goto tr55;
-st113:
+st120:
 	if ( ++p == pe )
-		goto _test_eof113;
-case 113:
+		goto _test_eof120;
+case 120:
 	switch( (*p) ) {
-		case 72: goto st114;
-		case 104: goto st114;
+		case 72: goto st121;
+		case 104: goto st121;
 	}
 	goto tr35;
-st114:
+st121:
 	if ( ++p == pe )
-		goto _test_eof114;
-case 114:
+		goto _test_eof121;
+case 121:
 	switch( (*p) ) {
-		case 70: goto st115;
-		case 102: goto st115;
+		case 70: goto st122;
+		case 102: goto st122;
 	}
 	goto tr35;
-st115:
+st122:
 	if ( ++p == pe )
-		goto _test_eof115;
-case 115:
+		goto _test_eof122;
+case 122:
 	switch( (*p) ) {
-		case 80: goto st116;
-		case 112: goto st116;
+		case 80: goto st123;
+		case 112: goto st123;
 	}
 	goto tr35;
-st116:
+st123:
 	if ( ++p == pe )
-		goto _test_eof116;
-case 116:
+		goto _test_eof123;
+case 123:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17412,16 +18380,16 @@ case 116:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr492;
-		case 32: goto tr492;
-		case 40: goto tr493;
-		case 41: goto tr494;
-		case 2058: goto tr495;
-		case 2107: goto tr496;
-		case 2314: goto tr497;
-		case 2363: goto tr497;
-		case 2570: goto tr498;
-		case 2619: goto tr499;
+		case 9: goto tr515;
+		case 32: goto tr515;
+		case 40: goto tr516;
+		case 41: goto tr517;
+		case 2058: goto tr518;
+		case 2107: goto tr519;
+		case 2314: goto tr520;
+		case 2363: goto tr520;
+		case 2570: goto tr521;
+		case 2619: goto tr522;
 	}
 	goto tr55;
 tr18:
@@ -17431,52 +18399,52 @@ tr18:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st117;
+	goto st124;
 tr52:
 	{
 		s->r_class = s->default_class;
 	}
-	goto st117;
-tr564:
+	goto st124;
+tr587:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st117;
-st117:
+	goto st124;
+st124:
 	if ( ++p == pe )
-		goto _test_eof117;
-case 117:
+		goto _test_eof124;
+case 124:
 	switch( (*p) ) {
-		case 76: goto st118;
-		case 88: goto st121;
-		case 89: goto st123;
-		case 108: goto st118;
-		case 120: goto st121;
-		case 121: goto st123;
+		case 76: goto st125;
+		case 88: goto st128;
+		case 89: goto st130;
+		case 108: goto st125;
+		case 120: goto st128;
+		case 121: goto st130;
 	}
 	goto tr35;
-st118:
+st125:
 	if ( ++p == pe )
-		goto _test_eof118;
-case 118:
+		goto _test_eof125;
+case 125:
 	switch( (*p) ) {
-		case 83: goto st119;
-		case 115: goto st119;
+		case 83: goto st126;
+		case 115: goto st126;
 	}
 	goto tr35;
-st119:
+st126:
 	if ( ++p == pe )
-		goto _test_eof119;
-case 119:
+		goto _test_eof126;
+case 126:
 	switch( (*p) ) {
-		case 65: goto st120;
-		case 97: goto st120;
+		case 65: goto st127;
+		case 97: goto st127;
 	}
 	goto tr35;
-st120:
+st127:
 	if ( ++p == pe )
-		goto _test_eof120;
-case 120:
+		goto _test_eof127;
+case 127:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17494,31 +18462,31 @@ case 120:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr505;
-		case 32: goto tr505;
-		case 40: goto tr506;
-		case 41: goto tr507;
-		case 2058: goto tr508;
-		case 2107: goto tr509;
-		case 2314: goto tr510;
-		case 2363: goto tr510;
-		case 2570: goto tr511;
-		case 2619: goto tr512;
+		case 9: goto tr528;
+		case 32: goto tr528;
+		case 40: goto tr529;
+		case 41: goto tr530;
+		case 2058: goto tr531;
+		case 2107: goto tr532;
+		case 2314: goto tr533;
+		case 2363: goto tr533;
+		case 2570: goto tr534;
+		case 2619: goto tr535;
 	}
 	goto tr55;
-st121:
+st128:
 	if ( ++p == pe )
-		goto _test_eof121;
-case 121:
+		goto _test_eof128;
+case 128:
 	switch( (*p) ) {
-		case 84: goto st122;
-		case 116: goto st122;
+		case 84: goto st129;
+		case 116: goto st129;
 	}
 	goto tr35;
-st122:
+st129:
 	if ( ++p == pe )
-		goto _test_eof122;
-case 122:
+		goto _test_eof129;
+case 129:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17536,82 +18504,82 @@ case 122:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr514;
-		case 32: goto tr514;
-		case 40: goto tr515;
-		case 41: goto tr516;
-		case 2058: goto tr517;
-		case 2107: goto tr518;
-		case 2314: goto tr519;
-		case 2363: goto tr519;
-		case 2570: goto tr520;
-		case 2619: goto tr521;
+		case 9: goto tr537;
+		case 32: goto tr537;
+		case 40: goto tr538;
+		case 41: goto tr539;
+		case 2058: goto tr540;
+		case 2107: goto tr541;
+		case 2314: goto tr542;
+		case 2363: goto tr542;
+		case 2570: goto tr543;
+		case 2619: goto tr544;
 	}
 	goto tr55;
-st123:
+st130:
 	if ( ++p == pe )
-		goto _test_eof123;
-case 123:
+		goto _test_eof130;
+case 130:
 	switch( (*p) ) {
-		case 80: goto st124;
-		case 112: goto st124;
+		case 80: goto st131;
+		case 112: goto st131;
 	}
 	goto tr35;
-st124:
+st131:
 	if ( ++p == pe )
-		goto _test_eof124;
-case 124:
+		goto _test_eof131;
+case 131:
 	switch( (*p) ) {
-		case 69: goto st125;
-		case 101: goto st125;
+		case 69: goto st132;
+		case 101: goto st132;
 	}
 	goto tr35;
-st125:
+st132:
 	if ( ++p == pe )
-		goto _test_eof125;
-case 125:
+		goto _test_eof132;
+case 132:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr525;
-	goto tr524;
-tr525:
+		goto tr548;
+	goto tr547;
+tr548:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st126;
-tr530:
+	goto st133;
+tr553:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st126;
-st126:
+	goto st133;
+st133:
 	if ( ++p == pe )
-		goto _test_eof126;
-case 126:
+		goto _test_eof133;
+case 133:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17629,42 +18597,42 @@ case 126:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr527;
-		case 32: goto tr527;
-		case 40: goto tr528;
-		case 41: goto tr529;
-		case 2058: goto tr531;
-		case 2107: goto tr532;
-		case 2314: goto tr533;
-		case 2363: goto tr533;
-		case 2570: goto tr534;
-		case 2619: goto tr535;
+		case 9: goto tr550;
+		case 32: goto tr550;
+		case 40: goto tr551;
+		case 41: goto tr552;
+		case 2058: goto tr554;
+		case 2107: goto tr555;
+		case 2314: goto tr556;
+		case 2363: goto tr556;
+		case 2570: goto tr557;
+		case 2619: goto tr558;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr530;
-	goto tr526;
-tr577:
+		goto tr553;
+	goto tr549;
+tr600:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st127;
-tr242:
+	goto st134;
+tr265:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
-	goto st127;
-tr590:
+	goto st134;
+tr613:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -17672,14 +18640,14 @@ tr590:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st127;
-st127:
+	goto st134;
+st134:
 	if ( ++p == pe )
-		goto _test_eof127;
-case 127:
+		goto _test_eof134;
+case 134:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -17699,9 +18667,9 @@ case 127:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr260;
+		goto tr283;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st127;
+		goto st134;
 	goto tr35;
 tr129:
 	{
@@ -17710,7 +18678,7 @@ tr129:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -17721,14 +18689,14 @@ tr129:
 			return;
 		}
 	}
-	goto st1058;
+	goto st1079;
 tr123:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -17737,7 +18705,7 @@ tr123:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -17748,11 +18716,11 @@ tr123:
 			return;
 		}
 	}
-	goto st1058;
-st1058:
+	goto st1079;
+st1079:
 	if ( ++p == pe )
-		goto _test_eof1058;
-case 1058:
+		goto _test_eof1079;
+case 1079:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17766,116 +18734,116 @@ case 1058:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3153;
-		case 32: goto tr3153;
-		case 36: goto st138;
-		case 40: goto tr3154;
-		case 41: goto tr3155;
-		case 42: goto tr3139;
-		case 65: goto tr3156;
-		case 67: goto tr3157;
-		case 68: goto tr3158;
-		case 69: goto tr3159;
-		case 72: goto tr3160;
-		case 73: goto tr3161;
-		case 75: goto tr3162;
-		case 76: goto tr3163;
-		case 77: goto tr3164;
-		case 78: goto tr3165;
-		case 80: goto tr3166;
-		case 82: goto tr3167;
-		case 83: goto tr3168;
-		case 84: goto tr3169;
-		case 92: goto tr3139;
-		case 95: goto tr3139;
-		case 97: goto tr3156;
-		case 99: goto tr3157;
-		case 100: goto tr3158;
-		case 101: goto tr3159;
-		case 104: goto tr3160;
-		case 105: goto tr3161;
-		case 107: goto tr3162;
-		case 108: goto tr3163;
-		case 109: goto tr3164;
-		case 110: goto tr3165;
-		case 112: goto tr3166;
-		case 114: goto tr3167;
-		case 115: goto tr3168;
-		case 116: goto tr3169;
+		case 9: goto tr3216;
+		case 32: goto tr3216;
+		case 36: goto st145;
+		case 40: goto tr3217;
+		case 41: goto tr3218;
+		case 42: goto tr3202;
+		case 65: goto tr3219;
+		case 67: goto tr3220;
+		case 68: goto tr3221;
+		case 69: goto tr3222;
+		case 72: goto tr3223;
+		case 73: goto tr3224;
+		case 75: goto tr3225;
+		case 76: goto tr3226;
+		case 77: goto tr3227;
+		case 78: goto tr3228;
+		case 80: goto tr3229;
+		case 82: goto tr3230;
+		case 83: goto tr3231;
+		case 84: goto tr3232;
+		case 92: goto tr3202;
+		case 95: goto tr3202;
+		case 97: goto tr3219;
+		case 99: goto tr3220;
+		case 100: goto tr3221;
+		case 101: goto tr3222;
+		case 104: goto tr3223;
+		case 105: goto tr3224;
+		case 107: goto tr3225;
+		case 108: goto tr3226;
+		case 109: goto tr3227;
+		case 110: goto tr3228;
+		case 112: goto tr3229;
+		case 114: goto tr3230;
+		case 115: goto tr3231;
+		case 116: goto tr3232;
 		case 778: goto tr19;
-		case 827: goto st137;
-		case 1034: goto tr3170;
-		case 1083: goto tr3171;
+		case 827: goto st144;
+		case 1034: goto tr3233;
+		case 1083: goto tr3234;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr3139;
+			goto tr3202;
 	} else if ( _widec > 90 ) {
 		if ( 98 <= _widec && _widec <= 122 )
-			goto tr3139;
+			goto tr3202;
 	} else
-		goto tr3139;
-	goto tr3152;
-tr537:
+		goto tr3202;
+	goto tr3215;
+tr560:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st128;
-tr538:
+	goto st135;
+tr561:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st128;
-tr3153:
+	goto st135;
+tr3216:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st128;
-tr3154:
+	goto st135;
+tr3217:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st128;
-tr3155:
+	goto st135;
+tr3218:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st128;
-st128:
+	goto st135;
+st135:
 	if ( ++p == pe )
-		goto _test_eof128;
-case 128:
+		goto _test_eof135;
+case 135:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17889,10 +18857,10 @@ case 128:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st128;
-		case 32: goto st128;
-		case 40: goto tr537;
-		case 41: goto tr538;
+		case 9: goto st135;
+		case 32: goto st135;
+		case 40: goto tr560;
+		case 41: goto tr561;
 		case 65: goto tr5;
 		case 67: goto tr6;
 		case 68: goto tr7;
@@ -17922,9 +18890,9 @@ case 128:
 		case 115: goto tr17;
 		case 116: goto tr18;
 		case 778: goto tr19;
-		case 827: goto st137;
-		case 1034: goto tr539;
-		case 1083: goto st243;
+		case 827: goto st144;
+		case 1034: goto tr562;
+		case 1083: goto st250;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
@@ -17936,22 +18904,22 @@ tr10:
 	{
 		s->r_ttl = s->default_ttl;
 	}
-	goto st129;
-st129:
+	goto st136;
+st136:
 	if ( ++p == pe )
-		goto _test_eof129;
-case 129:
+		goto _test_eof136;
+case 136:
 	switch( (*p) ) {
-		case 78: goto st130;
-		case 80: goto st55;
-		case 110: goto st130;
-		case 112: goto st55;
+		case 78: goto st137;
+		case 80: goto st62;
+		case 110: goto st137;
+		case 112: goto st62;
 	}
 	goto tr35;
-st130:
+st137:
 	if ( ++p == pe )
-		goto _test_eof130;
-case 130:
+		goto _test_eof137;
+case 137:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -17965,78 +18933,78 @@ case 130:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr542;
-		case 32: goto tr542;
-		case 40: goto tr543;
-		case 41: goto tr544;
-		case 1034: goto tr545;
-		case 1083: goto tr546;
+		case 9: goto tr565;
+		case 32: goto tr565;
+		case 40: goto tr566;
+		case 41: goto tr567;
+		case 1034: goto tr568;
+		case 1083: goto tr569;
 	}
 	goto tr35;
-tr548:
+tr571:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st131;
-tr549:
+	goto st138;
+tr572:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st131;
-tr565:
+	goto st138;
+tr588:
 	{
 		s->line_counter++;
 	}
-	goto st131;
-tr542:
+	goto st138;
+tr565:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
-	goto st131;
-tr543:
+	goto st138;
+tr566:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st131;
-tr544:
+	goto st138;
+tr567:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st131;
-tr545:
+	goto st138;
+tr568:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st131;
-st131:
+	goto st138;
+st138:
 	if ( ++p == pe )
-		goto _test_eof131;
-case 131:
+		goto _test_eof138;
+case 138:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18050,83 +19018,83 @@ case 131:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st131;
-		case 32: goto st131;
-		case 40: goto tr548;
-		case 41: goto tr549;
-		case 65: goto tr551;
-		case 67: goto tr552;
-		case 68: goto tr553;
-		case 69: goto tr554;
-		case 72: goto tr555;
-		case 73: goto tr556;
-		case 75: goto tr557;
-		case 76: goto tr558;
-		case 77: goto tr559;
-		case 78: goto tr560;
-		case 80: goto tr561;
-		case 82: goto tr562;
-		case 83: goto tr563;
-		case 84: goto tr564;
-		case 97: goto tr551;
-		case 99: goto tr552;
-		case 100: goto tr553;
-		case 101: goto tr554;
-		case 104: goto tr555;
-		case 105: goto tr556;
-		case 107: goto tr557;
-		case 108: goto tr558;
-		case 109: goto tr559;
-		case 110: goto tr560;
-		case 112: goto tr561;
-		case 114: goto tr562;
-		case 115: goto tr563;
-		case 116: goto tr564;
-		case 1034: goto tr565;
-		case 1083: goto st136;
+		case 9: goto st138;
+		case 32: goto st138;
+		case 40: goto tr571;
+		case 41: goto tr572;
+		case 65: goto tr574;
+		case 67: goto tr575;
+		case 68: goto tr576;
+		case 69: goto tr577;
+		case 72: goto tr578;
+		case 73: goto tr579;
+		case 75: goto tr580;
+		case 76: goto tr581;
+		case 77: goto tr582;
+		case 78: goto tr583;
+		case 80: goto tr584;
+		case 82: goto tr585;
+		case 83: goto tr586;
+		case 84: goto tr587;
+		case 97: goto tr574;
+		case 99: goto tr575;
+		case 100: goto tr576;
+		case 101: goto tr577;
+		case 104: goto tr578;
+		case 105: goto tr579;
+		case 107: goto tr580;
+		case 108: goto tr581;
+		case 109: goto tr582;
+		case 110: goto tr583;
+		case 112: goto tr584;
+		case 114: goto tr585;
+		case 115: goto tr586;
+		case 116: goto tr587;
+		case 1034: goto tr588;
+		case 1083: goto st143;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr550;
-	goto tr524;
-tr550:
+		goto tr573;
+	goto tr547;
+tr573:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st132;
-tr570:
+	goto st139;
+tr593:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st132;
-st132:
+	goto st139;
+st139:
 	if ( ++p == pe )
-		goto _test_eof132;
-case 132:
+		goto _test_eof139;
+case 139:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18140,66 +19108,66 @@ case 132:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr567;
-		case 32: goto tr567;
-		case 40: goto tr568;
-		case 41: goto tr569;
-		case 68: goto tr571;
-		case 72: goto tr572;
-		case 77: goto tr573;
-		case 83: goto st133;
-		case 87: goto tr575;
-		case 100: goto tr571;
-		case 104: goto tr572;
-		case 109: goto tr573;
-		case 115: goto st133;
-		case 119: goto tr575;
-		case 1034: goto tr576;
-		case 1083: goto tr577;
+		case 9: goto tr590;
+		case 32: goto tr590;
+		case 40: goto tr591;
+		case 41: goto tr592;
+		case 68: goto tr594;
+		case 72: goto tr595;
+		case 77: goto tr596;
+		case 83: goto st140;
+		case 87: goto tr598;
+		case 100: goto tr594;
+		case 104: goto tr595;
+		case 109: goto tr596;
+		case 115: goto st140;
+		case 119: goto tr598;
+		case 1034: goto tr599;
+		case 1083: goto tr600;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr570;
+		goto tr593;
 	goto tr23;
-tr571:
+tr594:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st133;
-tr572:
+	goto st140;
+tr595:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st133;
-tr573:
+	goto st140;
+tr596:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st133;
-tr575:
+	goto st140;
+tr598:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st133;
-st133:
+	goto st140;
+st140:
 	if ( ++p == pe )
-		goto _test_eof133;
-case 133:
+		goto _test_eof140;
+case 140:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18213,33 +19181,33 @@ case 133:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr567;
-		case 32: goto tr567;
-		case 40: goto tr568;
-		case 41: goto tr569;
-		case 1034: goto tr576;
-		case 1083: goto tr577;
+		case 9: goto tr590;
+		case 32: goto tr590;
+		case 40: goto tr591;
+		case 41: goto tr592;
+		case 1034: goto tr599;
+		case 1083: goto tr600;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr578;
+		goto tr601;
 	goto tr23;
-tr579:
+tr602:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st134;
-tr578:
+	goto st141;
+tr601:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -18247,27 +19215,27 @@ tr578:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st134;
-tr588:
+	goto st141;
+tr611:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -18277,79 +19245,79 @@ tr588:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st134;
-st134:
+	goto st141;
+st141:
 	if ( ++p == pe )
-		goto _test_eof134;
-case 134:
+		goto _test_eof141;
+case 141:
 	switch( (*p) ) {
-		case 68: goto tr580;
-		case 72: goto tr581;
-		case 77: goto tr582;
-		case 83: goto st135;
-		case 87: goto tr584;
-		case 100: goto tr580;
-		case 104: goto tr581;
-		case 109: goto tr582;
-		case 115: goto st135;
-		case 119: goto tr584;
+		case 68: goto tr603;
+		case 72: goto tr604;
+		case 77: goto tr605;
+		case 83: goto st142;
+		case 87: goto tr607;
+		case 100: goto tr603;
+		case 104: goto tr604;
+		case 109: goto tr605;
+		case 115: goto st142;
+		case 119: goto tr607;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr579;
+		goto tr602;
 	goto tr23;
-tr580:
+tr603:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st135;
-tr581:
+	goto st142;
+tr604:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st135;
-tr582:
+	goto st142;
+tr605:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st135;
-tr584:
+	goto st142;
+tr607:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st135;
-st135:
+	goto st142;
+st142:
 	if ( ++p == pe )
-		goto _test_eof135;
-case 135:
+		goto _test_eof142;
+case 142:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18363,25 +19331,25 @@ case 135:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr585;
-		case 32: goto tr585;
-		case 40: goto tr586;
-		case 41: goto tr587;
-		case 1034: goto tr589;
-		case 1083: goto tr590;
+		case 9: goto tr608;
+		case 32: goto tr608;
+		case 40: goto tr609;
+		case 41: goto tr610;
+		case 1034: goto tr612;
+		case 1083: goto tr613;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr588;
+		goto tr611;
 	goto tr23;
-tr546:
+tr569:
 	{
 		s->r_class = KNOT_CLASS_IN;
 	}
-	goto st136;
-st136:
+	goto st143;
+st143:
 	if ( ++p == pe )
-		goto _test_eof136;
-case 136:
+		goto _test_eof143;
+case 143:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -18401,35 +19369,35 @@ case 136:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr565;
+		goto tr588;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st136;
+		goto st143;
 	goto tr35;
-tr3195:
+tr3258:
 	{
 		s->stop = false;
 	}
-	goto st137;
-st137:
+	goto st144;
+st144:
 	if ( ++p == pe )
-		goto _test_eof137;
-case 137:
+		goto _test_eof144;
+case 144:
 	if ( (*p) == 10 )
 		goto tr19;
-	goto st137;
-tr539:
+	goto st144;
+tr562:
 	{
 		s->line_counter++;
 	}
-	goto st1059;
-tr706:
+	goto st1080;
+tr729:
 	{
 		s->line_counter++;
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -18440,8 +19408,8 @@ tr706:
 			return;
 		}
 	}
-	goto st1059;
-tr701:
+	goto st1080;
+tr724:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -18453,13 +19421,13 @@ tr701:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -18470,22 +19438,22 @@ tr701:
 			return;
 		}
 	}
-	goto st1059;
-tr3170:
+	goto st1080;
+tr3233:
 	{
 		s->line_counter++;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1059;
-st1059:
+	goto st1080;
+st1080:
 	if ( ++p == pe )
-		goto _test_eof1059;
-case 1059:
+		goto _test_eof1080;
+case 1080:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18499,163 +19467,163 @@ case 1059:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3153;
-		case 32: goto tr3153;
-		case 36: goto st138;
-		case 40: goto tr3154;
-		case 41: goto tr3155;
-		case 42: goto tr3139;
-		case 65: goto tr3174;
-		case 67: goto tr3175;
-		case 68: goto tr3176;
-		case 69: goto tr3177;
-		case 72: goto tr3178;
-		case 73: goto tr3179;
-		case 75: goto tr3180;
-		case 76: goto tr3181;
-		case 77: goto tr3182;
-		case 78: goto tr3183;
-		case 80: goto tr3184;
-		case 82: goto tr3185;
-		case 83: goto tr3186;
-		case 84: goto tr3187;
-		case 92: goto tr3139;
-		case 95: goto tr3139;
-		case 97: goto tr3174;
-		case 99: goto tr3175;
-		case 100: goto tr3176;
-		case 101: goto tr3177;
-		case 104: goto tr3178;
-		case 105: goto tr3179;
-		case 107: goto tr3180;
-		case 108: goto tr3181;
-		case 109: goto tr3182;
-		case 110: goto tr3183;
-		case 112: goto tr3184;
-		case 114: goto tr3185;
-		case 115: goto tr3186;
-		case 116: goto tr3187;
+		case 9: goto tr3216;
+		case 32: goto tr3216;
+		case 36: goto st145;
+		case 40: goto tr3217;
+		case 41: goto tr3218;
+		case 42: goto tr3202;
+		case 65: goto tr3237;
+		case 67: goto tr3238;
+		case 68: goto tr3239;
+		case 69: goto tr3240;
+		case 72: goto tr3241;
+		case 73: goto tr3242;
+		case 75: goto tr3243;
+		case 76: goto tr3244;
+		case 77: goto tr3245;
+		case 78: goto tr3246;
+		case 80: goto tr3247;
+		case 82: goto tr3248;
+		case 83: goto tr3249;
+		case 84: goto tr3250;
+		case 92: goto tr3202;
+		case 95: goto tr3202;
+		case 97: goto tr3237;
+		case 99: goto tr3238;
+		case 100: goto tr3239;
+		case 101: goto tr3240;
+		case 104: goto tr3241;
+		case 105: goto tr3242;
+		case 107: goto tr3243;
+		case 108: goto tr3244;
+		case 109: goto tr3245;
+		case 110: goto tr3246;
+		case 112: goto tr3247;
+		case 114: goto tr3248;
+		case 115: goto tr3249;
+		case 116: goto tr3250;
 		case 778: goto tr19;
-		case 827: goto st137;
-		case 1034: goto tr3170;
-		case 1083: goto tr3171;
+		case 827: goto st144;
+		case 1034: goto tr3233;
+		case 1083: goto tr3234;
 	}
 	if ( _widec < 48 ) {
 		if ( 45 <= _widec && _widec <= 47 )
-			goto tr3139;
+			goto tr3202;
 	} else if ( _widec > 57 ) {
 		if ( _widec > 90 ) {
 			if ( 98 <= _widec && _widec <= 122 )
-				goto tr3139;
+				goto tr3202;
 		} else if ( _widec >= 64 )
-			goto tr3139;
+			goto tr3202;
 	} else
-		goto tr3173;
-	goto tr3172;
-tr3190:
+		goto tr3236;
+	goto tr3235;
+tr3253:
 	{
 		s->stop = false;
 	}
-	goto st138;
-st138:
+	goto st145;
+st145:
 	if ( ++p == pe )
-		goto _test_eof138;
-case 138:
+		goto _test_eof145;
+case 145:
 	switch( (*p) ) {
-		case 73: goto tr592;
-		case 79: goto tr593;
-		case 84: goto tr594;
-		case 105: goto tr592;
-		case 111: goto tr593;
-		case 116: goto tr594;
-	}
-	goto tr591;
-tr592:
+		case 73: goto tr615;
+		case 79: goto tr616;
+		case 84: goto tr617;
+		case 105: goto tr615;
+		case 111: goto tr616;
+		case 116: goto tr617;
+	}
+	goto tr614;
+tr615:
 	{
 		s->stop = true;
 	}
-	goto st139;
-st139:
+	goto st146;
+st146:
 	if ( ++p == pe )
-		goto _test_eof139;
-case 139:
+		goto _test_eof146;
+case 146:
 	switch( (*p) ) {
-		case 78: goto st140;
-		case 110: goto st140;
+		case 78: goto st147;
+		case 110: goto st147;
 	}
-	goto tr591;
-st140:
+	goto tr614;
+st147:
 	if ( ++p == pe )
-		goto _test_eof140;
-case 140:
+		goto _test_eof147;
+case 147:
 	switch( (*p) ) {
-		case 67: goto st141;
-		case 99: goto st141;
+		case 67: goto st148;
+		case 99: goto st148;
 	}
-	goto tr591;
-st141:
+	goto tr614;
+st148:
 	if ( ++p == pe )
-		goto _test_eof141;
-case 141:
+		goto _test_eof148;
+case 148:
 	switch( (*p) ) {
-		case 76: goto st142;
-		case 108: goto st142;
+		case 76: goto st149;
+		case 108: goto st149;
 	}
-	goto tr591;
-st142:
+	goto tr614;
+st149:
 	if ( ++p == pe )
-		goto _test_eof142;
-case 142:
+		goto _test_eof149;
+case 149:
 	switch( (*p) ) {
-		case 85: goto st143;
-		case 117: goto st143;
+		case 85: goto st150;
+		case 117: goto st150;
 	}
-	goto tr591;
-st143:
+	goto tr614;
+st150:
 	if ( ++p == pe )
-		goto _test_eof143;
-case 143:
+		goto _test_eof150;
+case 150:
 	switch( (*p) ) {
-		case 68: goto st144;
-		case 100: goto st144;
+		case 68: goto st151;
+		case 100: goto st151;
 	}
-	goto tr591;
-st144:
+	goto tr614;
+st151:
 	if ( ++p == pe )
-		goto _test_eof144;
-case 144:
+		goto _test_eof151;
+case 151:
 	switch( (*p) ) {
-		case 69: goto st145;
-		case 101: goto st145;
+		case 69: goto st152;
+		case 101: goto st152;
 	}
-	goto tr591;
-st145:
+	goto tr614;
+st152:
 	if ( ++p == pe )
-		goto _test_eof145;
-case 145:
+		goto _test_eof152;
+case 152:
 	switch( (*p) ) {
-		case 32: goto tr601;
-		case 59: goto tr601;
+		case 32: goto tr624;
+		case 59: goto tr624;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr601;
+			goto tr624;
 	} else if ( (*p) >= 9 )
-		goto tr601;
-	goto tr591;
-tr601:
-	{ p--; {stack[top++] = 1060; goto st290;} }
-	goto st1060;
-tr687:
-	{ p--; {stack[top++] = 1060; goto st278;} }
-	goto st1060;
-tr690:
-	{ p--; {stack[top++] = 1060; goto st269;} }
-	goto st1060;
-st1060:
+		goto tr624;
+	goto tr614;
+tr624:
+	{ p--; {stack[top++] = 1081; goto st297;} }
+	goto st1081;
+tr710:
+	{ p--; {stack[top++] = 1081; goto st285;} }
+	goto st1081;
+tr713:
+	{ p--; {stack[top++] = 1081; goto st276;} }
+	goto st1081;
+st1081:
 	if ( ++p == pe )
-		goto _test_eof1060;
-case 1060:
+		goto _test_eof1081;
+case 1081:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18669,36 +19637,36 @@ case 1060:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3189;
-		case 32: goto tr3189;
-		case 36: goto tr3190;
-		case 40: goto tr3191;
-		case 41: goto tr3192;
-		case 42: goto tr3193;
-		case 92: goto tr3193;
-		case 95: goto tr3193;
-		case 778: goto tr3194;
-		case 827: goto tr3195;
-		case 1034: goto tr3196;
-		case 1083: goto tr3197;
+		case 9: goto tr3252;
+		case 32: goto tr3252;
+		case 36: goto tr3253;
+		case 40: goto tr3254;
+		case 41: goto tr3255;
+		case 42: goto tr3256;
+		case 92: goto tr3256;
+		case 95: goto tr3256;
+		case 778: goto tr3257;
+		case 827: goto tr3258;
+		case 1034: goto tr3259;
+		case 1083: goto tr3260;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr3193;
+			goto tr3256;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr3193;
+			goto tr3256;
 	} else
-		goto tr3193;
-	goto tr3188;
-tr3139:
+		goto tr3256;
+	goto tr3251;
+tr3202:
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 146; goto st248;} }
-	goto st146;
-tr3193:
+	{ p--; {stack[top++] = 153; goto st255;} }
+	goto st153;
+tr3256:
 	{
 		s->stop = false;
 	}
@@ -18706,12 +19674,12 @@ tr3193:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 146; goto st248;} }
-	goto st146;
-st146:
+	{ p--; {stack[top++] = 153; goto st255;} }
+	goto st153;
+st153:
 	if ( ++p == pe )
-		goto _test_eof146;
-case 146:
+		goto _test_eof153;
+case 153:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18725,78 +19693,78 @@ case 146:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr602;
-tr609:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr625;
+tr632:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st147;
-tr610:
+	goto st154;
+tr633:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st147;
-tr611:
+	goto st154;
+tr634:
 	{
 		s->line_counter++;
 	}
-	goto st147;
-tr603:
+	goto st154;
+tr626:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
-	goto st147;
-tr604:
+	goto st154;
+tr627:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st147;
-tr605:
+	goto st154;
+tr628:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st147;
-tr606:
+	goto st154;
+tr629:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st147;
-st147:
+	goto st154;
+st154:
 	if ( ++p == pe )
-		goto _test_eof147;
-case 147:
+		goto _test_eof154;
+case 154:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -18810,10 +19778,10 @@ case 147:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st147;
-		case 32: goto st147;
-		case 40: goto tr609;
-		case 41: goto tr610;
+		case 9: goto st154;
+		case 32: goto st154;
+		case 40: goto tr632;
+		case 41: goto tr633;
 		case 65: goto tr5;
 		case 67: goto tr6;
 		case 68: goto tr7;
@@ -18842,21 +19810,21 @@ case 147:
 		case 114: goto tr16;
 		case 115: goto tr17;
 		case 116: goto tr18;
-		case 1034: goto tr611;
-		case 1083: goto st148;
+		case 1034: goto tr634;
+		case 1083: goto st155;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
-	goto tr524;
-tr607:
+	goto tr547;
+tr630:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
-	goto st148;
-st148:
+	goto st155;
+st155:
 	if ( ++p == pe )
-		goto _test_eof148;
-case 148:
+		goto _test_eof155;
+case 155:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -18876,23 +19844,23 @@ case 148:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr611;
+		goto tr634;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st148;
+		goto st155;
 	goto st0;
 tr21:
 	{
 		s->line_counter++;
 	}
-	goto st1061;
-tr670:
+	goto st1082;
+tr693:
 	{
 		s->line_counter++;
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -18903,8 +19871,8 @@ tr670:
 			return;
 		}
 	}
-	goto st1061;
-tr695:
+	goto st1082;
+tr718:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -18914,7 +19882,7 @@ tr695:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -18925,48 +19893,48 @@ tr695:
 			return;
 		}
 	}
-	goto st1061;
-tr3140:
+	goto st1082;
+tr3203:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1061;
-tr3200:
+	goto st1082;
+tr3263:
 	{
 		s->line_counter++;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1061;
-tr3196:
+	goto st1082;
+tr3259:
 	{
 		s->stop = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1061;
-tr3204:
+	goto st1082;
+tr3267:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -18983,18 +19951,18 @@ tr3204:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1061;
-tr3227:
+	goto st1082;
+tr3290:
 	{
 		s->line_counter++;
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -19008,14 +19976,14 @@ tr3227:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1061;
-st1061:
+	goto st1082;
+st1082:
 	if ( ++p == pe )
-		goto _test_eof1061;
-case 1061:
+		goto _test_eof1082;
+case 1082:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19029,87 +19997,87 @@ case 1061:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3135;
-		case 32: goto tr3135;
-		case 36: goto st138;
-		case 40: goto tr3198;
-		case 41: goto tr3199;
-		case 42: goto tr3139;
-		case 65: goto tr3174;
-		case 67: goto tr3175;
-		case 68: goto tr3176;
-		case 69: goto tr3177;
-		case 72: goto tr3178;
-		case 73: goto tr3179;
-		case 75: goto tr3180;
-		case 76: goto tr3181;
-		case 77: goto tr3182;
-		case 78: goto tr3183;
-		case 80: goto tr3184;
-		case 82: goto tr3185;
-		case 83: goto tr3186;
-		case 84: goto tr3187;
-		case 92: goto tr3139;
-		case 95: goto tr3139;
-		case 97: goto tr3174;
-		case 99: goto tr3175;
-		case 100: goto tr3176;
-		case 101: goto tr3177;
-		case 104: goto tr3178;
-		case 105: goto tr3179;
-		case 107: goto tr3180;
-		case 108: goto tr3181;
-		case 109: goto tr3182;
-		case 110: goto tr3183;
-		case 112: goto tr3184;
-		case 114: goto tr3185;
-		case 115: goto tr3186;
-		case 116: goto tr3187;
+		case 9: goto tr3198;
+		case 32: goto tr3198;
+		case 36: goto st145;
+		case 40: goto tr3261;
+		case 41: goto tr3262;
+		case 42: goto tr3202;
+		case 65: goto tr3237;
+		case 67: goto tr3238;
+		case 68: goto tr3239;
+		case 69: goto tr3240;
+		case 72: goto tr3241;
+		case 73: goto tr3242;
+		case 75: goto tr3243;
+		case 76: goto tr3244;
+		case 77: goto tr3245;
+		case 78: goto tr3246;
+		case 80: goto tr3247;
+		case 82: goto tr3248;
+		case 83: goto tr3249;
+		case 84: goto tr3250;
+		case 92: goto tr3202;
+		case 95: goto tr3202;
+		case 97: goto tr3237;
+		case 99: goto tr3238;
+		case 100: goto tr3239;
+		case 101: goto tr3240;
+		case 104: goto tr3241;
+		case 105: goto tr3242;
+		case 107: goto tr3243;
+		case 108: goto tr3244;
+		case 109: goto tr3245;
+		case 110: goto tr3246;
+		case 112: goto tr3247;
+		case 114: goto tr3248;
+		case 115: goto tr3249;
+		case 116: goto tr3250;
 		case 778: goto tr19;
-		case 827: goto st137;
-		case 1034: goto tr3200;
-		case 1083: goto tr3141;
+		case 827: goto st144;
+		case 1034: goto tr3263;
+		case 1083: goto tr3204;
 	}
 	if ( _widec < 48 ) {
 		if ( 45 <= _widec && _widec <= 47 )
-			goto tr3139;
+			goto tr3202;
 	} else if ( _widec > 57 ) {
 		if ( _widec > 90 ) {
 			if ( 98 <= _widec && _widec <= 122 )
-				goto tr3139;
+				goto tr3202;
 		} else if ( _widec >= 64 )
-			goto tr3139;
+			goto tr3202;
 	} else
-		goto tr3173;
-	goto tr3172;
-tr3173:
+		goto tr3236;
+	goto tr3235;
+tr3236:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 149; goto st248;} }
-	goto st149;
-st149:
+	{ p--; {stack[top++] = 156; goto st255;} }
+	goto st156;
+st156:
 	if ( ++p == pe )
-		goto _test_eof149;
-case 149:
+		goto _test_eof156;
+case 156:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19123,50 +20091,50 @@ case 149:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr615;
-		case 32: goto tr615;
-		case 40: goto tr616;
-		case 41: goto tr617;
+		case 9: goto tr638;
+		case 32: goto tr638;
+		case 40: goto tr639;
+		case 41: goto tr640;
 		case 68: goto tr28;
 		case 72: goto tr29;
 		case 77: goto tr30;
-		case 83: goto st152;
+		case 83: goto st159;
 		case 87: goto tr32;
 		case 100: goto tr28;
 		case 104: goto tr29;
 		case 109: goto tr30;
-		case 115: goto st152;
+		case 115: goto st159;
 		case 119: goto tr32;
-		case 1034: goto tr618;
-		case 1083: goto tr619;
+		case 1034: goto tr641;
+		case 1083: goto tr642;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr27;
-	goto tr614;
-tr621:
+	goto tr637;
+tr644:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st150;
-tr622:
+	goto st157;
+tr645:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st150;
-tr623:
+	goto st157;
+tr646:
 	{
 		s->line_counter++;
 	}
-	goto st150;
-tr615:
+	goto st157;
+tr638:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -19175,18 +20143,18 @@ tr615:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st150;
-tr616:
+	goto st157;
+tr639:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -19195,18 +20163,18 @@ tr616:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st150;
-tr617:
+	goto st157;
+tr640:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -19215,11 +20183,11 @@ tr617:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st150;
-tr618:
+	goto st157;
+tr641:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -19231,14 +20199,14 @@ tr618:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st150;
-st150:
+	goto st157;
+st157:
 	if ( ++p == pe )
-		goto _test_eof150;
-case 150:
+		goto _test_eof157;
+case 157:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19252,10 +20220,10 @@ case 150:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st150;
-		case 32: goto st150;
-		case 40: goto tr621;
-		case 41: goto tr622;
+		case 9: goto st157;
+		case 32: goto st157;
+		case 40: goto tr644;
+		case 41: goto tr645;
 		case 65: goto tr5;
 		case 67: goto tr6;
 		case 68: goto tr7;
@@ -19284,13 +20252,13 @@ case 150:
 		case 114: goto tr16;
 		case 115: goto tr17;
 		case 116: goto tr18;
-		case 1034: goto tr623;
-		case 1083: goto st151;
+		case 1034: goto tr646;
+		case 1083: goto st158;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
-	goto tr524;
-tr619:
+	goto tr547;
+tr642:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -19299,14 +20267,14 @@ tr619:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st151;
-st151:
+	goto st158;
+st158:
 	if ( ++p == pe )
-		goto _test_eof151;
-case 151:
+		goto _test_eof158;
+case 158:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -19326,50 +20294,50 @@ case 151:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr623;
+		goto tr646;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st151;
+		goto st158;
 	goto tr35;
 tr28:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st152;
+	goto st159;
 tr29:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st152;
+	goto st159;
 tr30:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st152;
+	goto st159;
 tr32:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st152;
-st152:
+	goto st159;
+st159:
 	if ( ++p == pe )
-		goto _test_eof152;
-case 152:
+		goto _test_eof159;
+case 159:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19391,25 +20359,25 @@ case 152:
 		case 1083: goto tr34;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr625;
+		goto tr648;
 	goto tr23;
-tr626:
+tr649:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st153;
-tr625:
+	goto st160;
+tr648:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -19417,27 +20385,27 @@ tr625:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st153;
-tr635:
+	goto st160;
+tr658:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -19447,79 +20415,79 @@ tr635:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st153;
-st153:
+	goto st160;
+st160:
 	if ( ++p == pe )
-		goto _test_eof153;
-case 153:
+		goto _test_eof160;
+case 160:
 	switch( (*p) ) {
-		case 68: goto tr627;
-		case 72: goto tr628;
-		case 77: goto tr629;
-		case 83: goto st154;
-		case 87: goto tr631;
-		case 100: goto tr627;
-		case 104: goto tr628;
-		case 109: goto tr629;
-		case 115: goto st154;
-		case 119: goto tr631;
+		case 68: goto tr650;
+		case 72: goto tr651;
+		case 77: goto tr652;
+		case 83: goto st161;
+		case 87: goto tr654;
+		case 100: goto tr650;
+		case 104: goto tr651;
+		case 109: goto tr652;
+		case 115: goto st161;
+		case 119: goto tr654;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr626;
+		goto tr649;
 	goto tr23;
-tr627:
+tr650:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st154;
-tr628:
+	goto st161;
+tr651:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st154;
-tr629:
+	goto st161;
+tr652:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st154;
-tr631:
+	goto st161;
+tr654:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st154;
-st154:
+	goto st161;
+st161:
 	if ( ++p == pe )
-		goto _test_eof154;
-case 154:
+		goto _test_eof161;
+case 161:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19533,15 +20501,15 @@ case 154:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr632;
-		case 32: goto tr632;
-		case 40: goto tr633;
-		case 41: goto tr634;
-		case 1034: goto tr636;
-		case 1083: goto tr637;
+		case 9: goto tr655;
+		case 32: goto tr655;
+		case 40: goto tr656;
+		case 41: goto tr657;
+		case 1034: goto tr659;
+		case 1083: goto tr660;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr635;
+		goto tr658;
 	goto tr23;
 tr34:
 	{
@@ -19549,17 +20517,17 @@ tr34:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st155;
-tr637:
+	goto st162;
+tr660:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -19567,14 +20535,14 @@ tr637:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st155;
-st155:
+	goto st162;
+st162:
 	if ( ++p == pe )
-		goto _test_eof155;
-case 155:
+		goto _test_eof162;
+case 162:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -19596,9 +20564,9 @@ case 155:
 	if ( _widec == 1034 )
 		goto tr53;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st155;
+		goto st162;
 	goto tr35;
-tr3156:
+tr3219:
 	{
 		s->r_class = s->default_class;
 	}
@@ -19606,9 +20574,9 @@ tr3156:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 156; goto st248;} }
-	goto st156;
-tr3174:
+	{ p--; {stack[top++] = 163; goto st255;} }
+	goto st163;
+tr3237:
 	{
 		s->r_class = s->default_class;
 	}
@@ -19619,12 +20587,12 @@ tr3174:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 156; goto st248;} }
-	goto st156;
-st156:
+	{ p--; {stack[top++] = 163; goto st255;} }
+	goto st163;
+st163:
 	if ( ++p == pe )
-		goto _test_eof156;
-case 156:
+		goto _test_eof163;
+case 163:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19642,48 +20610,48 @@ case 156:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr639;
-		case 32: goto tr639;
-		case 40: goto tr640;
-		case 41: goto tr641;
-		case 65: goto st213;
-		case 70: goto st216;
-		case 80: goto st220;
-		case 97: goto st213;
-		case 102: goto st216;
-		case 112: goto st220;
-		case 2058: goto tr642;
-		case 2107: goto tr643;
+		case 9: goto tr662;
+		case 32: goto tr662;
+		case 40: goto tr663;
+		case 41: goto tr664;
+		case 65: goto st220;
+		case 70: goto st223;
+		case 80: goto st227;
+		case 97: goto st220;
+		case 102: goto st223;
+		case 112: goto st227;
+		case 2058: goto tr665;
+		case 2107: goto tr666;
 		case 2314: goto tr64;
 		case 2363: goto tr64;
-		case 2570: goto tr644;
-		case 2619: goto tr645;
+		case 2570: goto tr667;
+		case 2619: goto tr668;
 	}
-	goto tr638;
-tr647:
+	goto tr661;
+tr670:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st157;
-tr648:
+	goto st164;
+tr671:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st157;
-tr649:
+	goto st164;
+tr672:
 	{
 		s->line_counter++;
 	}
-	goto st157;
-tr639:
+	goto st164;
+tr662:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -19691,15 +20659,15 @@ tr639:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st157;
-tr640:
+	goto st164;
+tr663:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -19707,15 +20675,15 @@ tr640:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st157;
-tr641:
+	goto st164;
+tr664:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -19723,8 +20691,8 @@ tr641:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st157;
-tr642:
+	goto st164;
+tr665:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -19735,11 +20703,11 @@ tr642:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st157;
-st157:
+	goto st164;
+st164:
 	if ( ++p == pe )
-		goto _test_eof157;
-case 157:
+		goto _test_eof164;
+case 164:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19757,10 +20725,10 @@ case 157:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st157;
-		case 32: goto st157;
-		case 40: goto tr647;
-		case 41: goto tr648;
+		case 9: goto st164;
+		case 32: goto st164;
+		case 40: goto tr670;
+		case 41: goto tr671;
 		case 58: goto tr67;
 		case 65: goto tr99;
 		case 67: goto tr100;
@@ -19791,12 +20759,12 @@ case 157:
 		case 114: goto tr110;
 		case 115: goto tr111;
 		case 116: goto tr112;
-		case 2058: goto tr649;
-		case 2107: goto st227;
+		case 2058: goto tr672;
+		case 2107: goto st234;
 		case 2314: goto tr67;
 		case 2363: goto tr67;
-		case 2570: goto tr651;
-		case 2619: goto tr652;
+		case 2570: goto tr674;
+		case 2619: goto tr675;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
@@ -19809,7 +20777,7 @@ case 157:
 			goto tr98;
 	} else
 		goto tr67;
-	goto tr526;
+	goto tr549;
 tr99:
 	{
 		s->r_class = s->default_class;
@@ -19821,80 +20789,82 @@ tr99:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 158; goto st589;}
+			{stack[top++] = 165; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 158; goto st591;}
+			{stack[top++] = 165; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 158; goto st593;}
+			{stack[top++] = 165; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 158; goto st625;}
+			{stack[top++] = 165; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 158; goto st630;}
+			{stack[top++] = 165; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 158; goto st635;}
+			{stack[top++] = 165; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 158; goto st640;}
+			{stack[top++] = 165; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 158; goto st644;}
+			{stack[top++] = 165; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 158; goto st646;}
+			{stack[top++] = 165; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 158; goto st701;}
+			{stack[top++] = 165; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 158; goto st712;}
+			{stack[top++] = 165; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 158; goto st729;}
+			{stack[top++] = 165; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 158; goto st740;}
+			{stack[top++] = 165; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 158; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 165; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 158; goto st764;}
+			{stack[top++] = 165; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 158; goto st774;}
+			{stack[top++] = 165; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 158; goto st813;}
+			{stack[top++] = 165; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 158; goto st955;}
+			{stack[top++] = 165; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 158; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 165; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 158; goto st969;}
+			{stack[top++] = 165; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 158; goto st971;}
+			{stack[top++] = 165; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 158; goto st1000;}
+			{stack[top++] = 165; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 158; goto st1013;}
+			{stack[top++] = 165; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 158; goto st1031;}
+			{stack[top++] = 165; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 158; goto st1026;}
+			{stack[top++] = 165; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 158; goto st1044;}
+			{stack[top++] = 165; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 158; goto st1050;}
+			{stack[top++] = 165; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st158;
-st158:
+	goto st165;
+st165:
 	if ( ++p == pe )
-		goto _test_eof158;
-case 158:
+		goto _test_eof165;
+case 165:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -19912,51 +20882,51 @@ case 158:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr654;
-		case 32: goto tr654;
-		case 40: goto tr655;
-		case 41: goto tr656;
-		case 65: goto st213;
-		case 70: goto st216;
-		case 80: goto st220;
-		case 97: goto st213;
-		case 102: goto st216;
-		case 112: goto st220;
+		case 9: goto tr677;
+		case 32: goto tr677;
+		case 40: goto tr678;
+		case 41: goto tr679;
+		case 65: goto st220;
+		case 70: goto st223;
+		case 80: goto st227;
+		case 97: goto st220;
+		case 102: goto st223;
+		case 112: goto st227;
 		case 1802: goto tr81;
 		case 1851: goto st8;
-		case 2058: goto tr657;
-		case 2107: goto tr658;
-		case 2314: goto tr659;
-		case 2363: goto tr660;
-		case 2570: goto tr661;
-		case 2619: goto tr662;
-	}
-	goto tr653;
-tr664:
+		case 2058: goto tr680;
+		case 2107: goto tr681;
+		case 2314: goto tr682;
+		case 2363: goto tr683;
+		case 2570: goto tr684;
+		case 2619: goto tr685;
+	}
+	goto tr676;
+tr687:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st159;
-tr665:
+	goto st166;
+tr688:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st159;
-tr654:
+	goto st166;
+tr677:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st159;
-tr655:
+	goto st166;
+tr678:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -19964,12 +20934,12 @@ tr655:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st159;
-tr656:
+	goto st166;
+tr679:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -19977,15 +20947,15 @@ tr656:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st159;
-st159:
+	goto st166;
+st166:
 	if ( ++p == pe )
-		goto _test_eof159;
-case 159:
+		goto _test_eof166;
+case 166:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -20003,10 +20973,10 @@ case 159:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st159;
-		case 32: goto st159;
-		case 40: goto tr664;
-		case 41: goto tr665;
+		case 9: goto st166;
+		case 32: goto st166;
+		case 40: goto tr687;
+		case 41: goto tr688;
 		case 92: goto st9;
 		case 1802: goto tr81;
 		case 1851: goto st8;
@@ -20014,7 +20984,7 @@ case 159:
 		case 2107: goto st12;
 		case 2314: goto tr90;
 		case 2363: goto tr91;
-		case 2570: goto tr666;
+		case 2570: goto tr689;
 		case 2619: goto tr92;
 	}
 	if ( _widec < 11 ) {
@@ -20031,79 +21001,81 @@ tr90:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1062; goto st589;}
+			{stack[top++] = 1083; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1062; goto st591;}
+			{stack[top++] = 1083; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1062; goto st593;}
+			{stack[top++] = 1083; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1062; goto st625;}
+			{stack[top++] = 1083; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1062; goto st630;}
+			{stack[top++] = 1083; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1062; goto st635;}
+			{stack[top++] = 1083; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1062; goto st640;}
+			{stack[top++] = 1083; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1062; goto st644;}
+			{stack[top++] = 1083; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1062; goto st646;}
+			{stack[top++] = 1083; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1062; goto st701;}
+			{stack[top++] = 1083; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1062; goto st712;}
+			{stack[top++] = 1083; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1062; goto st729;}
+			{stack[top++] = 1083; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1062; goto st740;}
+			{stack[top++] = 1083; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1062; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1083; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1062; goto st764;}
+			{stack[top++] = 1083; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1062; goto st774;}
+			{stack[top++] = 1083; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1062; goto st813;}
+			{stack[top++] = 1083; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1062; goto st955;}
+			{stack[top++] = 1083; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1062; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1083; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1062; goto st969;}
+			{stack[top++] = 1083; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1062; goto st971;}
+			{stack[top++] = 1083; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1062; goto st1000;}
+			{stack[top++] = 1083; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1062; goto st1013;}
+			{stack[top++] = 1083; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1062; goto st1031;}
+			{stack[top++] = 1083; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1062; goto st1026;}
+			{stack[top++] = 1083; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1062; goto st1044;}
+			{stack[top++] = 1083; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1062; goto st1050;}
+			{stack[top++] = 1083; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -20117,86 +21089,88 @@ tr90:
 	{
 		s->line_counter++;
 	}
-	goto st1062;
+	goto st1083;
 tr115:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1062; goto st589;}
+			{stack[top++] = 1083; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1062; goto st591;}
+			{stack[top++] = 1083; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1062; goto st593;}
+			{stack[top++] = 1083; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1062; goto st625;}
+			{stack[top++] = 1083; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1062; goto st630;}
+			{stack[top++] = 1083; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1062; goto st635;}
+			{stack[top++] = 1083; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1062; goto st640;}
+			{stack[top++] = 1083; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1062; goto st644;}
+			{stack[top++] = 1083; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1062; goto st646;}
+			{stack[top++] = 1083; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1062; goto st701;}
+			{stack[top++] = 1083; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1062; goto st712;}
+			{stack[top++] = 1083; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1062; goto st729;}
+			{stack[top++] = 1083; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1062; goto st740;}
+			{stack[top++] = 1083; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1062; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1083; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1062; goto st764;}
+			{stack[top++] = 1083; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1062; goto st774;}
+			{stack[top++] = 1083; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1062; goto st813;}
+			{stack[top++] = 1083; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1062; goto st955;}
+			{stack[top++] = 1083; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1062; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1083; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1062; goto st969;}
+			{stack[top++] = 1083; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1062; goto st971;}
+			{stack[top++] = 1083; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1062; goto st1000;}
+			{stack[top++] = 1083; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1062; goto st1013;}
+			{stack[top++] = 1083; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1062; goto st1031;}
+			{stack[top++] = 1083; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1062; goto st1026;}
+			{stack[top++] = 1083; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1062; goto st1044;}
+			{stack[top++] = 1083; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1062; goto st1050;}
+			{stack[top++] = 1083; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1062;
-tr659:
+	goto st1083;
+tr682:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -20205,79 +21179,81 @@ tr659:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1062; goto st589;}
+			{stack[top++] = 1083; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1062; goto st591;}
+			{stack[top++] = 1083; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1062; goto st593;}
+			{stack[top++] = 1083; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1062; goto st625;}
+			{stack[top++] = 1083; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1062; goto st630;}
+			{stack[top++] = 1083; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1062; goto st635;}
+			{stack[top++] = 1083; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1062; goto st640;}
+			{stack[top++] = 1083; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1062; goto st644;}
+			{stack[top++] = 1083; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1062; goto st646;}
+			{stack[top++] = 1083; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1062; goto st701;}
+			{stack[top++] = 1083; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1062; goto st712;}
+			{stack[top++] = 1083; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1062; goto st729;}
+			{stack[top++] = 1083; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1062; goto st740;}
+			{stack[top++] = 1083; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1062; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1083; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1062; goto st764;}
+			{stack[top++] = 1083; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1062; goto st774;}
+			{stack[top++] = 1083; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1062; goto st813;}
+			{stack[top++] = 1083; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1062; goto st955;}
+			{stack[top++] = 1083; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1062; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1083; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1062; goto st969;}
+			{stack[top++] = 1083; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1062; goto st971;}
+			{stack[top++] = 1083; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1062; goto st1000;}
+			{stack[top++] = 1083; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1062; goto st1013;}
+			{stack[top++] = 1083; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1062; goto st1031;}
+			{stack[top++] = 1083; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1062; goto st1026;}
+			{stack[top++] = 1083; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1062; goto st1044;}
+			{stack[top++] = 1083; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1062; goto st1050;}
+			{stack[top++] = 1083; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -20291,11 +21267,11 @@ tr659:
 	{
 		s->line_counter++;
 	}
-	goto st1062;
-st1062:
+	goto st1083;
+st1083:
 	if ( ++p == pe )
-		goto _test_eof1062;
-case 1062:
+		goto _test_eof1083;
+case 1083:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -20309,117 +21285,117 @@ case 1062:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3201;
-		case 32: goto tr3201;
-		case 36: goto st138;
-		case 40: goto tr3202;
-		case 41: goto tr3203;
-		case 42: goto tr3139;
-		case 92: goto tr3139;
-		case 95: goto tr3139;
+		case 9: goto tr3264;
+		case 32: goto tr3264;
+		case 36: goto st145;
+		case 40: goto tr3265;
+		case 41: goto tr3266;
+		case 42: goto tr3202;
+		case 92: goto tr3202;
+		case 95: goto tr3202;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr3204;
-		case 1083: goto tr3205;
+		case 1034: goto tr3267;
+		case 1083: goto tr3268;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr3139;
+			goto tr3202;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr3139;
+			goto tr3202;
 	} else
-		goto tr3139;
-	goto tr691;
-tr668:
+		goto tr3202;
+	goto tr714;
+tr691:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st160;
-tr669:
+	goto st167;
+tr692:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st160;
-tr692:
+	goto st167;
+tr715:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
-	goto st160;
-tr693:
+	goto st167;
+tr716:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st160;
-tr694:
+	goto st167;
+tr717:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st160;
-tr3201:
+	goto st167;
+tr3264:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st160;
-tr3202:
+	goto st167;
+tr3265:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st160;
-tr3203:
+	goto st167;
+tr3266:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st160;
-st160:
+	goto st167;
+st167:
 	if ( ++p == pe )
-		goto _test_eof160;
-case 160:
+		goto _test_eof167;
+case 167:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -20433,10 +21409,10 @@ case 160:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st160;
-		case 32: goto st160;
-		case 40: goto tr668;
-		case 41: goto tr669;
+		case 9: goto st167;
+		case 32: goto st167;
+		case 40: goto tr691;
+		case 41: goto tr692;
 		case 65: goto tr5;
 		case 67: goto tr6;
 		case 68: goto tr7;
@@ -20467,29 +21443,29 @@ case 160:
 		case 116: goto tr18;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr670;
-		case 1083: goto st161;
+		case 1034: goto tr693;
+		case 1083: goto st168;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
 	goto tr0;
-tr696:
+tr719:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
-	goto st161;
-tr3205:
+	goto st168;
+tr3268:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st161;
-st161:
+	goto st168;
+st168:
 	if ( ++p == pe )
-		goto _test_eof161;
-case 161:
+		goto _test_eof168;
+case 168:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -20510,15 +21486,15 @@ case 161:
 	}
 	switch( _widec ) {
 		case 778: goto tr81;
-		case 1034: goto tr670;
+		case 1034: goto tr693;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st161;
+			goto st168;
 	} else if ( _widec >= 640 )
 		goto st8;
 	goto tr83;
-tr660:
+tr683:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -20527,155 +21503,159 @@ tr660:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 162; goto st589;}
+			{stack[top++] = 169; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 162; goto st591;}
+			{stack[top++] = 169; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 162; goto st593;}
+			{stack[top++] = 169; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 162; goto st625;}
+			{stack[top++] = 169; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 162; goto st630;}
+			{stack[top++] = 169; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 162; goto st635;}
+			{stack[top++] = 169; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 162; goto st640;}
+			{stack[top++] = 169; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 162; goto st644;}
+			{stack[top++] = 169; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 162; goto st646;}
+			{stack[top++] = 169; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 162; goto st701;}
+			{stack[top++] = 169; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 162; goto st712;}
+			{stack[top++] = 169; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 162; goto st729;}
+			{stack[top++] = 169; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 162; goto st740;}
+			{stack[top++] = 169; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 162; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 169; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 162; goto st764;}
+			{stack[top++] = 169; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 162; goto st774;}
+			{stack[top++] = 169; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 162; goto st813;}
+			{stack[top++] = 169; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 162; goto st955;}
+			{stack[top++] = 169; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 162; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 169; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 162; goto st969;}
+			{stack[top++] = 169; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 162; goto st971;}
+			{stack[top++] = 169; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 162; goto st1000;}
+			{stack[top++] = 169; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 162; goto st1013;}
+			{stack[top++] = 169; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 162; goto st1031;}
+			{stack[top++] = 169; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 162; goto st1026;}
+			{stack[top++] = 169; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 162; goto st1044;}
+			{stack[top++] = 169; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 162; goto st1050;}
+			{stack[top++] = 169; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st162;
+	goto st169;
 tr91:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 162; goto st589;}
+			{stack[top++] = 169; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 162; goto st591;}
+			{stack[top++] = 169; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 162; goto st593;}
+			{stack[top++] = 169; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 162; goto st625;}
+			{stack[top++] = 169; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 162; goto st630;}
+			{stack[top++] = 169; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 162; goto st635;}
+			{stack[top++] = 169; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 162; goto st640;}
+			{stack[top++] = 169; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 162; goto st644;}
+			{stack[top++] = 169; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 162; goto st646;}
+			{stack[top++] = 169; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 162; goto st701;}
+			{stack[top++] = 169; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 162; goto st712;}
+			{stack[top++] = 169; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 162; goto st729;}
+			{stack[top++] = 169; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 162; goto st740;}
+			{stack[top++] = 169; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 162; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 169; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 162; goto st764;}
+			{stack[top++] = 169; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 162; goto st774;}
+			{stack[top++] = 169; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 162; goto st813;}
+			{stack[top++] = 169; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 162; goto st955;}
+			{stack[top++] = 169; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 162; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 169; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 162; goto st969;}
+			{stack[top++] = 169; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 162; goto st971;}
+			{stack[top++] = 169; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 162; goto st1000;}
+			{stack[top++] = 169; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 162; goto st1013;}
+			{stack[top++] = 169; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 162; goto st1031;}
+			{stack[top++] = 169; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 162; goto st1026;}
+			{stack[top++] = 169; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 162; goto st1044;}
+			{stack[top++] = 169; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 162; goto st1050;}
+			{stack[top++] = 169; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st162;
-st162:
+	goto st169;
+st169:
 	if ( ++p == pe )
-		goto _test_eof162;
-case 162:
+		goto _test_eof169;
+case 169:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -20689,10 +21669,10 @@ case 162:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st163;
-		case 32: goto st163;
-		case 40: goto tr673;
-		case 41: goto tr674;
+		case 9: goto st170;
+		case 32: goto st170;
+		case 40: goto tr696;
+		case 41: goto tr697;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
@@ -20707,28 +21687,28 @@ case 162:
 	} else
 		goto st8;
 	goto tr77;
-tr673:
+tr696:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st163;
-tr674:
+	goto st170;
+tr697:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st163;
-st163:
+	goto st170;
+st170:
 	if ( ++p == pe )
-		goto _test_eof163;
-case 163:
+		goto _test_eof170;
+case 170:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -20742,10 +21722,10 @@ case 163:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st163;
-		case 32: goto st163;
-		case 40: goto tr673;
-		case 41: goto tr674;
+		case 9: goto st170;
+		case 32: goto st170;
+		case 40: goto tr696;
+		case 41: goto tr697;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
@@ -20760,7 +21740,7 @@ case 163:
 	} else
 		goto st8;
 	goto tr83;
-tr661:
+tr684:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -20772,79 +21752,81 @@ tr661:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1063; goto st589;}
+			{stack[top++] = 1084; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1063; goto st591;}
+			{stack[top++] = 1084; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1063; goto st593;}
+			{stack[top++] = 1084; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1063; goto st625;}
+			{stack[top++] = 1084; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1063; goto st630;}
+			{stack[top++] = 1084; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1063; goto st635;}
+			{stack[top++] = 1084; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1063; goto st640;}
+			{stack[top++] = 1084; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1063; goto st644;}
+			{stack[top++] = 1084; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1063; goto st646;}
+			{stack[top++] = 1084; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1063; goto st701;}
+			{stack[top++] = 1084; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1063; goto st712;}
+			{stack[top++] = 1084; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1063; goto st729;}
+			{stack[top++] = 1084; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1063; goto st740;}
+			{stack[top++] = 1084; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1063; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1084; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1063; goto st764;}
+			{stack[top++] = 1084; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1063; goto st774;}
+			{stack[top++] = 1084; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1063; goto st813;}
+			{stack[top++] = 1084; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1063; goto st955;}
+			{stack[top++] = 1084; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1063; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1084; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1063; goto st969;}
+			{stack[top++] = 1084; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1063; goto st971;}
+			{stack[top++] = 1084; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1063; goto st1000;}
+			{stack[top++] = 1084; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1063; goto st1013;}
+			{stack[top++] = 1084; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1063; goto st1031;}
+			{stack[top++] = 1084; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1063; goto st1026;}
+			{stack[top++] = 1084; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1063; goto st1044;}
+			{stack[top++] = 1084; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1063; goto st1050;}
+			{stack[top++] = 1084; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -20855,8 +21837,8 @@ tr661:
 			return;
 		}
 	}
-	goto st1063;
-tr666:
+	goto st1084;
+tr689:
 	{
 		s->line_counter++;
 	}
@@ -20864,79 +21846,81 @@ tr666:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1063; goto st589;}
+			{stack[top++] = 1084; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1063; goto st591;}
+			{stack[top++] = 1084; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1063; goto st593;}
+			{stack[top++] = 1084; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1063; goto st625;}
+			{stack[top++] = 1084; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1063; goto st630;}
+			{stack[top++] = 1084; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1063; goto st635;}
+			{stack[top++] = 1084; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1063; goto st640;}
+			{stack[top++] = 1084; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1063; goto st644;}
+			{stack[top++] = 1084; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1063; goto st646;}
+			{stack[top++] = 1084; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1063; goto st701;}
+			{stack[top++] = 1084; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1063; goto st712;}
+			{stack[top++] = 1084; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1063; goto st729;}
+			{stack[top++] = 1084; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1063; goto st740;}
+			{stack[top++] = 1084; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1063; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1084; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1063; goto st764;}
+			{stack[top++] = 1084; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1063; goto st774;}
+			{stack[top++] = 1084; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1063; goto st813;}
+			{stack[top++] = 1084; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1063; goto st955;}
+			{stack[top++] = 1084; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1063; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1084; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1063; goto st969;}
+			{stack[top++] = 1084; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1063; goto st971;}
+			{stack[top++] = 1084; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1063; goto st1000;}
+			{stack[top++] = 1084; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1063; goto st1013;}
+			{stack[top++] = 1084; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1063; goto st1031;}
+			{stack[top++] = 1084; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1063; goto st1026;}
+			{stack[top++] = 1084; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1063; goto st1044;}
+			{stack[top++] = 1084; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1063; goto st1050;}
+			{stack[top++] = 1084; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -20947,11 +21931,11 @@ tr666:
 			return;
 		}
 	}
-	goto st1063;
-st1063:
+	goto st1084;
+st1084:
 	if ( ++p == pe )
-		goto _test_eof1063;
-case 1063:
+		goto _test_eof1084;
+case 1084:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -20969,23 +21953,23 @@ case 1063:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr3206;
-		case 32: goto tr3206;
-		case 36: goto tr3143;
-		case 40: goto tr3207;
-		case 41: goto tr3208;
-		case 42: goto tr3146;
+		case 9: goto tr3269;
+		case 32: goto tr3269;
+		case 36: goto tr3206;
+		case 40: goto tr3270;
+		case 41: goto tr3271;
+		case 42: goto tr3209;
 		case 58: goto tr67;
-		case 92: goto tr3147;
-		case 95: goto tr3146;
+		case 92: goto tr3210;
+		case 95: goto tr3209;
 		case 1802: goto tr81;
 		case 1851: goto st8;
-		case 2058: goto tr3204;
-		case 2107: goto tr3209;
+		case 2058: goto tr3267;
+		case 2107: goto tr3272;
 		case 2314: goto tr90;
 		case 2363: goto tr91;
-		case 2570: goto tr3204;
-		case 2619: goto tr3210;
+		case 2570: goto tr3267;
+		case 2619: goto tr3273;
 	}
 	if ( _widec < 60 ) {
 		if ( _widec < 11 ) {
@@ -20993,43 +21977,43 @@ case 1063:
 				goto tr67;
 		} else if ( _widec > 44 ) {
 			if ( 45 <= _widec && _widec <= 57 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else if ( _widec > 63 ) {
 		if ( _widec < 91 ) {
 			if ( 64 <= _widec && _widec <= 90 )
-				goto tr3146;
+				goto tr3209;
 		} else if ( _widec > 96 ) {
 			if ( _widec > 122 ) {
 				if ( 123 <= _widec )
 					goto tr67;
 			} else if ( _widec >= 97 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else
 		goto tr67;
-	goto tr691;
-tr676:
+	goto tr714;
+tr699:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st164;
-tr677:
+	goto st171;
+tr700:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st164;
-tr651:
+	goto st171;
+tr674:
 	{
 		s->line_counter++;
 	}
@@ -21037,77 +22021,79 @@ tr651:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 164; goto st589;}
+			{stack[top++] = 171; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 164; goto st591;}
+			{stack[top++] = 171; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 164; goto st593;}
+			{stack[top++] = 171; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 164; goto st625;}
+			{stack[top++] = 171; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 164; goto st630;}
+			{stack[top++] = 171; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 164; goto st635;}
+			{stack[top++] = 171; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 164; goto st640;}
+			{stack[top++] = 171; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 164; goto st644;}
+			{stack[top++] = 171; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 164; goto st646;}
+			{stack[top++] = 171; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 164; goto st701;}
+			{stack[top++] = 171; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 164; goto st712;}
+			{stack[top++] = 171; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 164; goto st729;}
+			{stack[top++] = 171; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 164; goto st740;}
+			{stack[top++] = 171; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 164; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 171; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 164; goto st764;}
+			{stack[top++] = 171; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 164; goto st774;}
+			{stack[top++] = 171; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 164; goto st813;}
+			{stack[top++] = 171; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 164; goto st955;}
+			{stack[top++] = 171; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 164; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 171; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 164; goto st969;}
+			{stack[top++] = 171; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 164; goto st971;}
+			{stack[top++] = 171; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 164; goto st1000;}
+			{stack[top++] = 171; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 164; goto st1013;}
+			{stack[top++] = 171; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 164; goto st1031;}
+			{stack[top++] = 171; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 164; goto st1026;}
+			{stack[top++] = 171; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 164; goto st1044;}
+			{stack[top++] = 171; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 164; goto st1050;}
+			{stack[top++] = 171; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st164;
-tr644:
+	goto st171;
+tr667:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -21122,118 +22108,120 @@ tr644:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 164; goto st589;}
+			{stack[top++] = 171; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 164; goto st591;}
+			{stack[top++] = 171; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 164; goto st593;}
+			{stack[top++] = 171; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 164; goto st625;}
+			{stack[top++] = 171; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 164; goto st630;}
+			{stack[top++] = 171; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 164; goto st635;}
+			{stack[top++] = 171; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 164; goto st640;}
+			{stack[top++] = 171; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 164; goto st644;}
+			{stack[top++] = 171; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 164; goto st646;}
+			{stack[top++] = 171; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 164; goto st701;}
+			{stack[top++] = 171; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 164; goto st712;}
+			{stack[top++] = 171; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 164; goto st729;}
+			{stack[top++] = 171; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 164; goto st740;}
+			{stack[top++] = 171; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 164; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 171; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 164; goto st764;}
+			{stack[top++] = 171; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 164; goto st774;}
+			{stack[top++] = 171; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 164; goto st813;}
+			{stack[top++] = 171; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 164; goto st955;}
+			{stack[top++] = 171; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 164; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 171; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 164; goto st969;}
+			{stack[top++] = 171; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 164; goto st971;}
+			{stack[top++] = 171; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 164; goto st1000;}
+			{stack[top++] = 171; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 164; goto st1013;}
+			{stack[top++] = 171; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 164; goto st1031;}
+			{stack[top++] = 171; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 164; goto st1026;}
+			{stack[top++] = 171; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 164; goto st1044;}
+			{stack[top++] = 171; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 164; goto st1050;}
+			{stack[top++] = 171; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st164;
-tr3206:
+	goto st171;
+tr3269:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st164;
-tr3207:
+	goto st171;
+tr3270:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st164;
-tr3208:
+	goto st171;
+tr3271:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st164;
-st164:
+	goto st171;
+st171:
 	if ( ++p == pe )
-		goto _test_eof164;
-case 164:
+		goto _test_eof171;
+case 171:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21251,10 +22239,10 @@ case 164:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st164;
-		case 32: goto st164;
-		case 40: goto tr676;
-		case 41: goto tr677;
+		case 9: goto st171;
+		case 32: goto st171;
+		case 40: goto tr699;
+		case 41: goto tr700;
 		case 58: goto tr67;
 		case 65: goto tr99;
 		case 67: goto tr100;
@@ -21287,12 +22275,12 @@ case 164:
 		case 116: goto tr112;
 		case 1802: goto tr81;
 		case 1851: goto st8;
-		case 2058: goto tr670;
-		case 2107: goto st178;
+		case 2058: goto tr693;
+		case 2107: goto st185;
 		case 2314: goto tr90;
 		case 2363: goto tr91;
-		case 2570: goto tr670;
-		case 2619: goto tr679;
+		case 2570: goto tr693;
+		case 2619: goto tr702;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
@@ -21317,80 +22305,82 @@ tr100:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 165; goto st589;}
+			{stack[top++] = 172; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 165; goto st591;}
+			{stack[top++] = 172; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 165; goto st593;}
+			{stack[top++] = 172; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 165; goto st625;}
+			{stack[top++] = 172; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 165; goto st630;}
+			{stack[top++] = 172; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 165; goto st635;}
+			{stack[top++] = 172; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 165; goto st640;}
+			{stack[top++] = 172; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 165; goto st644;}
+			{stack[top++] = 172; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 165; goto st646;}
+			{stack[top++] = 172; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 165; goto st701;}
+			{stack[top++] = 172; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 165; goto st712;}
+			{stack[top++] = 172; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 165; goto st729;}
+			{stack[top++] = 172; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 165; goto st740;}
+			{stack[top++] = 172; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 165; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 172; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 165; goto st764;}
+			{stack[top++] = 172; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 165; goto st774;}
+			{stack[top++] = 172; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 165; goto st813;}
+			{stack[top++] = 172; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 165; goto st955;}
+			{stack[top++] = 172; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 165; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 172; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 165; goto st969;}
+			{stack[top++] = 172; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 165; goto st971;}
+			{stack[top++] = 172; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 165; goto st1000;}
+			{stack[top++] = 172; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 165; goto st1013;}
+			{stack[top++] = 172; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 165; goto st1031;}
+			{stack[top++] = 172; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 165; goto st1026;}
+			{stack[top++] = 172; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 165; goto st1044;}
+			{stack[top++] = 172; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 165; goto st1050;}
+			{stack[top++] = 172; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st165;
-st165:
+	goto st172;
+st172:
 	if ( ++p == pe )
-		goto _test_eof165;
-case 165:
+		goto _test_eof172;
+case 172:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21408,16 +22398,18 @@ case 165:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 69: goto st17;
-		case 78: goto st21;
-		case 101: goto st17;
-		case 110: goto st21;
+		case 68: goto st17;
+		case 69: goto st25;
+		case 78: goto st28;
+		case 100: goto st17;
+		case 101: goto st25;
+		case 110: goto st28;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr101:
 	{
 		s->r_class = s->default_class;
@@ -21429,80 +22421,82 @@ tr101:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 166; goto st589;}
+			{stack[top++] = 173; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 166; goto st591;}
+			{stack[top++] = 173; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 166; goto st593;}
+			{stack[top++] = 173; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 166; goto st625;}
+			{stack[top++] = 173; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 166; goto st630;}
+			{stack[top++] = 173; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 166; goto st635;}
+			{stack[top++] = 173; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 166; goto st640;}
+			{stack[top++] = 173; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 166; goto st644;}
+			{stack[top++] = 173; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 166; goto st646;}
+			{stack[top++] = 173; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 166; goto st701;}
+			{stack[top++] = 173; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 166; goto st712;}
+			{stack[top++] = 173; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 166; goto st729;}
+			{stack[top++] = 173; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 166; goto st740;}
+			{stack[top++] = 173; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 166; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 173; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 166; goto st764;}
+			{stack[top++] = 173; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 166; goto st774;}
+			{stack[top++] = 173; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 166; goto st813;}
+			{stack[top++] = 173; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 166; goto st955;}
+			{stack[top++] = 173; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 166; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 173; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 166; goto st969;}
+			{stack[top++] = 173; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 166; goto st971;}
+			{stack[top++] = 173; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 166; goto st1000;}
+			{stack[top++] = 173; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 166; goto st1013;}
+			{stack[top++] = 173; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 166; goto st1031;}
+			{stack[top++] = 173; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 166; goto st1026;}
+			{stack[top++] = 173; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 166; goto st1044;}
+			{stack[top++] = 173; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 166; goto st1050;}
+			{stack[top++] = 173; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st166;
-st166:
+	goto st173;
+st173:
 	if ( ++p == pe )
-		goto _test_eof166;
-case 166:
+		goto _test_eof173;
+case 173:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21520,18 +22514,18 @@ case 166:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 72: goto st26;
-		case 78: goto st30;
-		case 83: goto st38;
-		case 104: goto st26;
-		case 110: goto st30;
-		case 115: goto st38;
+		case 72: goto st33;
+		case 78: goto st37;
+		case 83: goto st45;
+		case 104: goto st33;
+		case 110: goto st37;
+		case 115: goto st45;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr102:
 	{
 		s->r_class = s->default_class;
@@ -21543,80 +22537,82 @@ tr102:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 167; goto st589;}
+			{stack[top++] = 174; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 167; goto st591;}
+			{stack[top++] = 174; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 167; goto st593;}
+			{stack[top++] = 174; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 167; goto st625;}
+			{stack[top++] = 174; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 167; goto st630;}
+			{stack[top++] = 174; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 167; goto st635;}
+			{stack[top++] = 174; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 167; goto st640;}
+			{stack[top++] = 174; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 167; goto st644;}
+			{stack[top++] = 174; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 167; goto st646;}
+			{stack[top++] = 174; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 167; goto st701;}
+			{stack[top++] = 174; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 167; goto st712;}
+			{stack[top++] = 174; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 167; goto st729;}
+			{stack[top++] = 174; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 167; goto st740;}
+			{stack[top++] = 174; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 167; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 174; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 167; goto st764;}
+			{stack[top++] = 174; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 167; goto st774;}
+			{stack[top++] = 174; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 167; goto st813;}
+			{stack[top++] = 174; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 167; goto st955;}
+			{stack[top++] = 174; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 167; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 174; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 167; goto st969;}
+			{stack[top++] = 174; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 167; goto st971;}
+			{stack[top++] = 174; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 167; goto st1000;}
+			{stack[top++] = 174; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 167; goto st1013;}
+			{stack[top++] = 174; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 167; goto st1031;}
+			{stack[top++] = 174; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 167; goto st1026;}
+			{stack[top++] = 174; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 167; goto st1044;}
+			{stack[top++] = 174; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 167; goto st1050;}
+			{stack[top++] = 174; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st167;
-st167:
+	goto st174;
+st174:
 	if ( ++p == pe )
-		goto _test_eof167;
-case 167:
+		goto _test_eof174;
+case 174:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21634,14 +22630,14 @@ case 167:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 85: goto st40;
-		case 117: goto st40;
+		case 85: goto st47;
+		case 117: goto st47;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr103:
 	{
 		s->r_class = s->default_class;
@@ -21653,80 +22649,82 @@ tr103:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 168; goto st589;}
+			{stack[top++] = 175; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 168; goto st591;}
+			{stack[top++] = 175; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 168; goto st593;}
+			{stack[top++] = 175; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 168; goto st625;}
+			{stack[top++] = 175; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 168; goto st630;}
+			{stack[top++] = 175; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 168; goto st635;}
+			{stack[top++] = 175; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 168; goto st640;}
+			{stack[top++] = 175; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 168; goto st644;}
+			{stack[top++] = 175; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 168; goto st646;}
+			{stack[top++] = 175; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 168; goto st701;}
+			{stack[top++] = 175; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 168; goto st712;}
+			{stack[top++] = 175; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 168; goto st729;}
+			{stack[top++] = 175; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 168; goto st740;}
+			{stack[top++] = 175; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 168; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 175; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 168; goto st764;}
+			{stack[top++] = 175; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 168; goto st774;}
+			{stack[top++] = 175; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 168; goto st813;}
+			{stack[top++] = 175; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 168; goto st955;}
+			{stack[top++] = 175; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 168; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 175; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 168; goto st969;}
+			{stack[top++] = 175; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 168; goto st971;}
+			{stack[top++] = 175; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 168; goto st1000;}
+			{stack[top++] = 175; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 168; goto st1013;}
+			{stack[top++] = 175; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 168; goto st1031;}
+			{stack[top++] = 175; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 168; goto st1026;}
+			{stack[top++] = 175; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 168; goto st1044;}
+			{stack[top++] = 175; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 168; goto st1050;}
+			{stack[top++] = 175; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st168;
-st168:
+	goto st175;
+st175:
 	if ( ++p == pe )
-		goto _test_eof168;
-case 168:
+		goto _test_eof175;
+case 175:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21744,14 +22742,14 @@ case 168:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 73: goto st47;
-		case 105: goto st47;
+		case 73: goto st54;
+		case 105: goto st54;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr104:
 	{
 		s->r_class = s->default_class;
@@ -21763,80 +22761,82 @@ tr104:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 169; goto st589;}
+			{stack[top++] = 176; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 169; goto st591;}
+			{stack[top++] = 176; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 169; goto st593;}
+			{stack[top++] = 176; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 169; goto st625;}
+			{stack[top++] = 176; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 169; goto st630;}
+			{stack[top++] = 176; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 169; goto st635;}
+			{stack[top++] = 176; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 169; goto st640;}
+			{stack[top++] = 176; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 169; goto st644;}
+			{stack[top++] = 176; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 169; goto st646;}
+			{stack[top++] = 176; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 169; goto st701;}
+			{stack[top++] = 176; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 169; goto st712;}
+			{stack[top++] = 176; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 169; goto st729;}
+			{stack[top++] = 176; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 169; goto st740;}
+			{stack[top++] = 176; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 169; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 176; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 169; goto st764;}
+			{stack[top++] = 176; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 169; goto st774;}
+			{stack[top++] = 176; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 169; goto st813;}
+			{stack[top++] = 176; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 169; goto st955;}
+			{stack[top++] = 176; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 169; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 176; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 169; goto st969;}
+			{stack[top++] = 176; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 169; goto st971;}
+			{stack[top++] = 176; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 169; goto st1000;}
+			{stack[top++] = 176; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 169; goto st1013;}
+			{stack[top++] = 176; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 169; goto st1031;}
+			{stack[top++] = 176; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 169; goto st1026;}
+			{stack[top++] = 176; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 169; goto st1044;}
+			{stack[top++] = 176; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 169; goto st1050;}
+			{stack[top++] = 176; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st169;
-st169:
+	goto st176;
+st176:
 	if ( ++p == pe )
-		goto _test_eof169;
-case 169:
+		goto _test_eof176;
+case 176:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21854,16 +22854,16 @@ case 169:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 78: goto st130;
-		case 80: goto st55;
-		case 110: goto st130;
-		case 112: goto st55;
+		case 78: goto st137;
+		case 80: goto st62;
+		case 110: goto st137;
+		case 112: goto st62;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr105:
 	{
 		s->r_class = s->default_class;
@@ -21875,80 +22875,82 @@ tr105:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 170; goto st589;}
+			{stack[top++] = 177; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 170; goto st591;}
+			{stack[top++] = 177; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 170; goto st593;}
+			{stack[top++] = 177; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 170; goto st625;}
+			{stack[top++] = 177; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 170; goto st630;}
+			{stack[top++] = 177; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 170; goto st635;}
+			{stack[top++] = 177; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 170; goto st640;}
+			{stack[top++] = 177; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 170; goto st644;}
+			{stack[top++] = 177; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 170; goto st646;}
+			{stack[top++] = 177; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 170; goto st701;}
+			{stack[top++] = 177; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 170; goto st712;}
+			{stack[top++] = 177; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 170; goto st729;}
+			{stack[top++] = 177; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 170; goto st740;}
+			{stack[top++] = 177; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 170; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 177; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 170; goto st764;}
+			{stack[top++] = 177; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 170; goto st774;}
+			{stack[top++] = 177; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 170; goto st813;}
+			{stack[top++] = 177; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 170; goto st955;}
+			{stack[top++] = 177; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 170; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 177; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 170; goto st969;}
+			{stack[top++] = 177; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 170; goto st971;}
+			{stack[top++] = 177; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 170; goto st1000;}
+			{stack[top++] = 177; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 170; goto st1013;}
+			{stack[top++] = 177; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 170; goto st1031;}
+			{stack[top++] = 177; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 170; goto st1026;}
+			{stack[top++] = 177; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 170; goto st1044;}
+			{stack[top++] = 177; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 170; goto st1050;}
+			{stack[top++] = 177; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st170;
-st170:
+	goto st177;
+st177:
 	if ( ++p == pe )
-		goto _test_eof170;
-case 170:
+		goto _test_eof177;
+case 177:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -21966,16 +22968,16 @@ case 170:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 69: goto st63;
-		case 88: goto st65;
-		case 101: goto st63;
-		case 120: goto st65;
+		case 69: goto st70;
+		case 88: goto st72;
+		case 101: goto st70;
+		case 120: goto st72;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr106:
 	{
 		s->r_class = s->default_class;
@@ -21987,80 +22989,82 @@ tr106:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 171; goto st589;}
+			{stack[top++] = 178; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 171; goto st591;}
+			{stack[top++] = 178; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 171; goto st593;}
+			{stack[top++] = 178; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 171; goto st625;}
+			{stack[top++] = 178; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 171; goto st630;}
+			{stack[top++] = 178; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 171; goto st635;}
+			{stack[top++] = 178; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 171; goto st640;}
+			{stack[top++] = 178; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 171; goto st644;}
+			{stack[top++] = 178; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 171; goto st646;}
+			{stack[top++] = 178; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 171; goto st701;}
+			{stack[top++] = 178; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 171; goto st712;}
+			{stack[top++] = 178; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 171; goto st729;}
+			{stack[top++] = 178; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 171; goto st740;}
+			{stack[top++] = 178; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 171; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 178; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 171; goto st764;}
+			{stack[top++] = 178; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 171; goto st774;}
+			{stack[top++] = 178; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 171; goto st813;}
+			{stack[top++] = 178; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 171; goto st955;}
+			{stack[top++] = 178; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 171; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 178; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 171; goto st969;}
+			{stack[top++] = 178; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 171; goto st971;}
+			{stack[top++] = 178; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 171; goto st1000;}
+			{stack[top++] = 178; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 171; goto st1013;}
+			{stack[top++] = 178; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 171; goto st1031;}
+			{stack[top++] = 178; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 171; goto st1026;}
+			{stack[top++] = 178; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 171; goto st1044;}
+			{stack[top++] = 178; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 171; goto st1050;}
+			{stack[top++] = 178; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st171;
-st171:
+	goto st178;
+st178:
 	if ( ++p == pe )
-		goto _test_eof171;
-case 171:
+		goto _test_eof178;
+case 178:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22078,18 +23082,18 @@ case 171:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 51: goto st67;
-		case 54: goto st69;
-		case 79: goto st71;
-		case 80: goto st73;
-		case 111: goto st71;
-		case 112: goto st73;
+		case 51: goto st74;
+		case 54: goto st76;
+		case 79: goto st78;
+		case 80: goto st80;
+		case 111: goto st78;
+		case 112: goto st80;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr107:
 	{
 		s->r_class = s->default_class;
@@ -22101,80 +23105,82 @@ tr107:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 172; goto st589;}
+			{stack[top++] = 179; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 172; goto st591;}
+			{stack[top++] = 179; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 172; goto st593;}
+			{stack[top++] = 179; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 172; goto st625;}
+			{stack[top++] = 179; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 172; goto st630;}
+			{stack[top++] = 179; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 172; goto st635;}
+			{stack[top++] = 179; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 172; goto st640;}
+			{stack[top++] = 179; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 172; goto st644;}
+			{stack[top++] = 179; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 172; goto st646;}
+			{stack[top++] = 179; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 172; goto st701;}
+			{stack[top++] = 179; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 172; goto st712;}
+			{stack[top++] = 179; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 172; goto st729;}
+			{stack[top++] = 179; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 172; goto st740;}
+			{stack[top++] = 179; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 172; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 179; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 172; goto st764;}
+			{stack[top++] = 179; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 172; goto st774;}
+			{stack[top++] = 179; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 172; goto st813;}
+			{stack[top++] = 179; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 172; goto st955;}
+			{stack[top++] = 179; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 172; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 179; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 172; goto st969;}
+			{stack[top++] = 179; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 172; goto st971;}
+			{stack[top++] = 179; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 172; goto st1000;}
+			{stack[top++] = 179; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 172; goto st1013;}
+			{stack[top++] = 179; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 172; goto st1031;}
+			{stack[top++] = 179; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 172; goto st1026;}
+			{stack[top++] = 179; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 172; goto st1044;}
+			{stack[top++] = 179; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 172; goto st1050;}
+			{stack[top++] = 179; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st172;
-st172:
+	goto st179;
+st179:
 	if ( ++p == pe )
-		goto _test_eof172;
-case 172:
+		goto _test_eof179;
+case 179:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22192,16 +23198,16 @@ case 172:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 73: goto st75;
-		case 88: goto st79;
-		case 105: goto st75;
-		case 120: goto st79;
+		case 73: goto st82;
+		case 88: goto st86;
+		case 105: goto st82;
+		case 120: goto st86;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr108:
 	{
 		s->r_class = s->default_class;
@@ -22213,80 +23219,82 @@ tr108:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 173; goto st589;}
+			{stack[top++] = 180; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 173; goto st591;}
+			{stack[top++] = 180; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 173; goto st593;}
+			{stack[top++] = 180; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 173; goto st625;}
+			{stack[top++] = 180; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 173; goto st630;}
+			{stack[top++] = 180; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 173; goto st635;}
+			{stack[top++] = 180; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 173; goto st640;}
+			{stack[top++] = 180; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 173; goto st644;}
+			{stack[top++] = 180; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 173; goto st646;}
+			{stack[top++] = 180; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 173; goto st701;}
+			{stack[top++] = 180; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 173; goto st712;}
+			{stack[top++] = 180; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 173; goto st729;}
+			{stack[top++] = 180; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 173; goto st740;}
+			{stack[top++] = 180; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 173; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 180; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 173; goto st764;}
+			{stack[top++] = 180; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 173; goto st774;}
+			{stack[top++] = 180; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 173; goto st813;}
+			{stack[top++] = 180; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 173; goto st955;}
+			{stack[top++] = 180; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 173; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 180; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 173; goto st969;}
+			{stack[top++] = 180; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 173; goto st971;}
+			{stack[top++] = 180; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 173; goto st1000;}
+			{stack[top++] = 180; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 173; goto st1013;}
+			{stack[top++] = 180; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 173; goto st1031;}
+			{stack[top++] = 180; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 173; goto st1026;}
+			{stack[top++] = 180; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 173; goto st1044;}
+			{stack[top++] = 180; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 173; goto st1050;}
+			{stack[top++] = 180; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st173;
-st173:
+	goto st180;
+st180:
 	if ( ++p == pe )
-		goto _test_eof173;
-case 173:
+		goto _test_eof180;
+case 180:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22304,18 +23312,18 @@ case 173:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 65: goto st81;
-		case 73: goto st85;
-		case 83: goto st87;
-		case 97: goto st81;
-		case 105: goto st85;
-		case 115: goto st87;
+		case 65: goto st88;
+		case 73: goto st92;
+		case 83: goto st94;
+		case 97: goto st88;
+		case 105: goto st92;
+		case 115: goto st94;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr109:
 	{
 		s->r_class = s->default_class;
@@ -22327,80 +23335,82 @@ tr109:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 174; goto st589;}
+			{stack[top++] = 181; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 174; goto st591;}
+			{stack[top++] = 181; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 174; goto st593;}
+			{stack[top++] = 181; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 174; goto st625;}
+			{stack[top++] = 181; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 174; goto st630;}
+			{stack[top++] = 181; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 174; goto st635;}
+			{stack[top++] = 181; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 174; goto st640;}
+			{stack[top++] = 181; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 174; goto st644;}
+			{stack[top++] = 181; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 174; goto st646;}
+			{stack[top++] = 181; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 174; goto st701;}
+			{stack[top++] = 181; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 174; goto st712;}
+			{stack[top++] = 181; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 174; goto st729;}
+			{stack[top++] = 181; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 174; goto st740;}
+			{stack[top++] = 181; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 174; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 181; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 174; goto st764;}
+			{stack[top++] = 181; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 174; goto st774;}
+			{stack[top++] = 181; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 174; goto st813;}
+			{stack[top++] = 181; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 174; goto st955;}
+			{stack[top++] = 181; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 174; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 181; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 174; goto st969;}
+			{stack[top++] = 181; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 174; goto st971;}
+			{stack[top++] = 181; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 174; goto st1000;}
+			{stack[top++] = 181; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 174; goto st1013;}
+			{stack[top++] = 181; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 174; goto st1031;}
+			{stack[top++] = 181; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 174; goto st1026;}
+			{stack[top++] = 181; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 174; goto st1044;}
+			{stack[top++] = 181; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 174; goto st1050;}
+			{stack[top++] = 181; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st174;
-st174:
+	goto st181;
+st181:
 	if ( ++p == pe )
-		goto _test_eof174;
-case 174:
+		goto _test_eof181;
+case 181:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22418,14 +23428,14 @@ case 174:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 84: goto st97;
-		case 116: goto st97;
+		case 84: goto st104;
+		case 116: goto st104;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr110:
 	{
 		s->r_class = s->default_class;
@@ -22437,80 +23447,82 @@ tr110:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 175; goto st589;}
+			{stack[top++] = 182; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 175; goto st591;}
+			{stack[top++] = 182; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 175; goto st593;}
+			{stack[top++] = 182; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 175; goto st625;}
+			{stack[top++] = 182; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 175; goto st630;}
+			{stack[top++] = 182; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 175; goto st635;}
+			{stack[top++] = 182; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 175; goto st640;}
+			{stack[top++] = 182; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 175; goto st644;}
+			{stack[top++] = 182; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 175; goto st646;}
+			{stack[top++] = 182; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 175; goto st701;}
+			{stack[top++] = 182; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 175; goto st712;}
+			{stack[top++] = 182; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 175; goto st729;}
+			{stack[top++] = 182; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 175; goto st740;}
+			{stack[top++] = 182; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 175; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 182; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 175; goto st764;}
+			{stack[top++] = 182; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 175; goto st774;}
+			{stack[top++] = 182; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 175; goto st813;}
+			{stack[top++] = 182; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 175; goto st955;}
+			{stack[top++] = 182; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 175; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 182; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 175; goto st969;}
+			{stack[top++] = 182; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 175; goto st971;}
+			{stack[top++] = 182; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 175; goto st1000;}
+			{stack[top++] = 182; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 175; goto st1013;}
+			{stack[top++] = 182; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 175; goto st1031;}
+			{stack[top++] = 182; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 175; goto st1026;}
+			{stack[top++] = 182; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 175; goto st1044;}
+			{stack[top++] = 182; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 175; goto st1050;}
+			{stack[top++] = 182; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st175;
-st175:
+	goto st182;
+st182:
 	if ( ++p == pe )
-		goto _test_eof175;
-case 175:
+		goto _test_eof182;
+case 182:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22528,18 +23540,18 @@ case 175:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 80: goto st100;
-		case 82: goto st101;
-		case 84: goto st105;
-		case 112: goto st100;
-		case 114: goto st101;
-		case 116: goto st105;
+		case 80: goto st107;
+		case 82: goto st108;
+		case 84: goto st112;
+		case 112: goto st107;
+		case 114: goto st108;
+		case 116: goto st112;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr111:
 	{
 		s->r_class = s->default_class;
@@ -22551,80 +23563,82 @@ tr111:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 176; goto st589;}
+			{stack[top++] = 183; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 176; goto st591;}
+			{stack[top++] = 183; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 176; goto st593;}
+			{stack[top++] = 183; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 176; goto st625;}
+			{stack[top++] = 183; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 176; goto st630;}
+			{stack[top++] = 183; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 176; goto st635;}
+			{stack[top++] = 183; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 176; goto st640;}
+			{stack[top++] = 183; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 176; goto st644;}
+			{stack[top++] = 183; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 176; goto st646;}
+			{stack[top++] = 183; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 176; goto st701;}
+			{stack[top++] = 183; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 176; goto st712;}
+			{stack[top++] = 183; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 176; goto st729;}
+			{stack[top++] = 183; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 176; goto st740;}
+			{stack[top++] = 183; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 176; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 183; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 176; goto st764;}
+			{stack[top++] = 183; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 176; goto st774;}
+			{stack[top++] = 183; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 176; goto st813;}
+			{stack[top++] = 183; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 176; goto st955;}
+			{stack[top++] = 183; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 176; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 183; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 176; goto st969;}
+			{stack[top++] = 183; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 176; goto st971;}
+			{stack[top++] = 183; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 176; goto st1000;}
+			{stack[top++] = 183; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 176; goto st1013;}
+			{stack[top++] = 183; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 176; goto st1031;}
+			{stack[top++] = 183; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 176; goto st1026;}
+			{stack[top++] = 183; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 176; goto st1044;}
+			{stack[top++] = 183; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 176; goto st1050;}
+			{stack[top++] = 183; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st176;
-st176:
+	goto st183;
+st183:
 	if ( ++p == pe )
-		goto _test_eof176;
-case 176:
+		goto _test_eof183;
+case 183:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22642,20 +23656,20 @@ case 176:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 79: goto st107;
-		case 80: goto st109;
-		case 82: goto st111;
-		case 83: goto st113;
-		case 111: goto st107;
-		case 112: goto st109;
-		case 114: goto st111;
-		case 115: goto st113;
+		case 79: goto st114;
+		case 80: goto st116;
+		case 82: goto st118;
+		case 83: goto st120;
+		case 111: goto st114;
+		case 112: goto st116;
+		case 114: goto st118;
+		case 115: goto st120;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
+	goto tr676;
 tr112:
 	{
 		s->r_class = s->default_class;
@@ -22667,80 +23681,82 @@ tr112:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 177; goto st589;}
+			{stack[top++] = 184; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 177; goto st591;}
+			{stack[top++] = 184; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 177; goto st593;}
+			{stack[top++] = 184; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 177; goto st625;}
+			{stack[top++] = 184; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 177; goto st630;}
+			{stack[top++] = 184; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 177; goto st635;}
+			{stack[top++] = 184; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 177; goto st640;}
+			{stack[top++] = 184; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 177; goto st644;}
+			{stack[top++] = 184; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 177; goto st646;}
+			{stack[top++] = 184; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 177; goto st701;}
+			{stack[top++] = 184; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 177; goto st712;}
+			{stack[top++] = 184; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 177; goto st729;}
+			{stack[top++] = 184; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 177; goto st740;}
+			{stack[top++] = 184; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 177; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 184; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 177; goto st764;}
+			{stack[top++] = 184; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 177; goto st774;}
+			{stack[top++] = 184; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 177; goto st813;}
+			{stack[top++] = 184; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 177; goto st955;}
+			{stack[top++] = 184; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 177; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 184; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 177; goto st969;}
+			{stack[top++] = 184; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 177; goto st971;}
+			{stack[top++] = 184; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 177; goto st1000;}
+			{stack[top++] = 184; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 177; goto st1013;}
+			{stack[top++] = 184; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 177; goto st1031;}
+			{stack[top++] = 184; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 177; goto st1026;}
+			{stack[top++] = 184; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 177; goto st1044;}
+			{stack[top++] = 184; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 177; goto st1050;}
+			{stack[top++] = 184; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st177;
-st177:
+	goto st184;
+st184:
 	if ( ++p == pe )
-		goto _test_eof177;
-case 177:
+		goto _test_eof184;
+case 184:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22758,19 +23774,19 @@ case 177:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 76: goto st118;
-		case 88: goto st121;
-		case 89: goto st123;
-		case 108: goto st118;
-		case 120: goto st121;
-		case 121: goto st123;
+		case 76: goto st125;
+		case 88: goto st128;
+		case 89: goto st130;
+		case 108: goto st125;
+		case 120: goto st128;
+		case 121: goto st130;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr653;
-tr713:
+	goto tr676;
+tr736:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -22778,19 +23794,19 @@ tr713:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st178;
-tr3209:
+	goto st185;
+tr3272:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st178;
-st178:
+	goto st185;
+st185:
 	if ( ++p == pe )
-		goto _test_eof178;
-case 178:
+		goto _test_eof185;
+case 185:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -22811,11 +23827,11 @@ case 178:
 	}
 	switch( _widec ) {
 		case 778: goto tr81;
-		case 1034: goto tr680;
+		case 1034: goto tr703;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st178;
+			goto st185;
 	} else if ( _widec >= 640 )
 		goto st8;
 	goto tr77;
@@ -22823,15 +23839,15 @@ tr113:
 	{
 		s->line_counter++;
 	}
-	goto st1064;
-tr680:
+	goto st1085;
+tr703:
 	{
 		s->line_counter++;
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -22842,8 +23858,8 @@ tr680:
 			return;
 		}
 	}
-	goto st1064;
-tr712:
+	goto st1085;
+tr735:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -22857,7 +23873,7 @@ tr712:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -22868,22 +23884,22 @@ tr712:
 			return;
 		}
 	}
-	goto st1064;
-tr3148:
+	goto st1085;
+tr3211:
 	{
 		s->line_counter++;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1064;
-st1064:
+	goto st1085;
+st1085:
 	if ( ++p == pe )
-		goto _test_eof1064;
-case 1064:
+		goto _test_eof1085;
+case 1085:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -22901,51 +23917,51 @@ case 1064:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr3142;
-		case 32: goto tr3142;
-		case 36: goto tr3143;
-		case 40: goto tr3144;
-		case 41: goto tr3145;
-		case 42: goto tr3146;
+		case 9: goto tr3205;
+		case 32: goto tr3205;
+		case 36: goto tr3206;
+		case 40: goto tr3207;
+		case 41: goto tr3208;
+		case 42: goto tr3209;
 		case 58: goto tr67;
-		case 65: goto tr3213;
-		case 67: goto tr3214;
-		case 68: goto tr3215;
-		case 69: goto tr3216;
-		case 72: goto tr3217;
-		case 73: goto tr3218;
-		case 75: goto tr3219;
-		case 76: goto tr3220;
-		case 77: goto tr3221;
-		case 78: goto tr3222;
-		case 80: goto tr3223;
-		case 82: goto tr3224;
-		case 83: goto tr3225;
-		case 84: goto tr3226;
-		case 92: goto tr3147;
-		case 95: goto tr3146;
-		case 97: goto tr3213;
-		case 99: goto tr3214;
-		case 100: goto tr3215;
-		case 101: goto tr3216;
-		case 104: goto tr3217;
-		case 105: goto tr3218;
-		case 107: goto tr3219;
-		case 108: goto tr3220;
-		case 109: goto tr3221;
-		case 110: goto tr3222;
-		case 112: goto tr3223;
-		case 114: goto tr3224;
-		case 115: goto tr3225;
-		case 116: goto tr3226;
+		case 65: goto tr3276;
+		case 67: goto tr3277;
+		case 68: goto tr3278;
+		case 69: goto tr3279;
+		case 72: goto tr3280;
+		case 73: goto tr3281;
+		case 75: goto tr3282;
+		case 76: goto tr3283;
+		case 77: goto tr3284;
+		case 78: goto tr3285;
+		case 80: goto tr3286;
+		case 82: goto tr3287;
+		case 83: goto tr3288;
+		case 84: goto tr3289;
+		case 92: goto tr3210;
+		case 95: goto tr3209;
+		case 97: goto tr3276;
+		case 99: goto tr3277;
+		case 100: goto tr3278;
+		case 101: goto tr3279;
+		case 104: goto tr3280;
+		case 105: goto tr3281;
+		case 107: goto tr3282;
+		case 108: goto tr3283;
+		case 109: goto tr3284;
+		case 110: goto tr3285;
+		case 112: goto tr3286;
+		case 114: goto tr3287;
+		case 115: goto tr3288;
+		case 116: goto tr3289;
 		case 1802: goto tr19;
-		case 1851: goto st137;
-		case 2058: goto tr3148;
-		case 2107: goto tr3149;
+		case 1851: goto st144;
+		case 2058: goto tr3211;
+		case 2107: goto tr3212;
 		case 2314: goto tr115;
 		case 2363: goto tr116;
-		case 2570: goto tr3150;
-		case 2619: goto tr3151;
+		case 2570: goto tr3213;
+		case 2619: goto tr3214;
 	}
 	if ( _widec < 60 ) {
 		if ( _widec < 11 ) {
@@ -22954,105 +23970,107 @@ case 1064:
 		} else if ( _widec > 44 ) {
 			if ( _widec > 47 ) {
 				if ( 48 <= _widec && _widec <= 57 )
-					goto tr3212;
+					goto tr3275;
 			} else if ( _widec >= 45 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else if ( _widec > 63 ) {
 		if ( _widec < 91 ) {
 			if ( 64 <= _widec && _widec <= 90 )
-				goto tr3146;
+				goto tr3209;
 		} else if ( _widec > 96 ) {
 			if ( _widec > 122 ) {
 				if ( 123 <= _widec )
 					goto tr67;
 			} else if ( _widec >= 98 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else
 		goto tr67;
-	goto tr3211;
-tr3143:
+	goto tr3274;
+tr3206:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 179; goto st589;}
+			{stack[top++] = 186; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 179; goto st591;}
+			{stack[top++] = 186; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 179; goto st593;}
+			{stack[top++] = 186; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 179; goto st625;}
+			{stack[top++] = 186; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 179; goto st630;}
+			{stack[top++] = 186; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 179; goto st635;}
+			{stack[top++] = 186; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 179; goto st640;}
+			{stack[top++] = 186; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 179; goto st644;}
+			{stack[top++] = 186; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 179; goto st646;}
+			{stack[top++] = 186; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 179; goto st701;}
+			{stack[top++] = 186; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 179; goto st712;}
+			{stack[top++] = 186; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 179; goto st729;}
+			{stack[top++] = 186; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 179; goto st740;}
+			{stack[top++] = 186; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 179; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 186; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 179; goto st764;}
+			{stack[top++] = 186; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 179; goto st774;}
+			{stack[top++] = 186; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 179; goto st813;}
+			{stack[top++] = 186; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 179; goto st955;}
+			{stack[top++] = 186; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 179; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 186; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 179; goto st969;}
+			{stack[top++] = 186; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 179; goto st971;}
+			{stack[top++] = 186; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 179; goto st1000;}
+			{stack[top++] = 186; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 179; goto st1013;}
+			{stack[top++] = 186; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 179; goto st1031;}
+			{stack[top++] = 186; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 179; goto st1026;}
+			{stack[top++] = 186; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 179; goto st1044;}
+			{stack[top++] = 186; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 179; goto st1050;}
+			{stack[top++] = 186; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st179;
-st179:
+	goto st186;
+st186:
 	if ( ++p == pe )
-		goto _test_eof179;
-case 179:
+		goto _test_eof186;
+case 186:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -23070,203 +24088,205 @@ case 179:
 		case 32: goto st7;
 		case 40: goto tr79;
 		case 41: goto tr80;
-		case 73: goto tr592;
-		case 79: goto tr593;
-		case 84: goto tr594;
-		case 105: goto tr592;
-		case 111: goto tr593;
-		case 116: goto tr594;
+		case 73: goto tr615;
+		case 79: goto tr616;
+		case 84: goto tr617;
+		case 105: goto tr615;
+		case 111: goto tr616;
+		case 116: goto tr617;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
 		case 1083: goto st8;
 	}
-	goto tr681;
-tr593:
+	goto tr704;
+tr616:
 	{
 		s->stop = true;
 	}
-	goto st180;
-st180:
+	goto st187;
+st187:
 	if ( ++p == pe )
-		goto _test_eof180;
-case 180:
+		goto _test_eof187;
+case 187:
 	switch( (*p) ) {
-		case 82: goto st181;
-		case 114: goto st181;
+		case 82: goto st188;
+		case 114: goto st188;
 	}
-	goto tr591;
-st181:
+	goto tr614;
+st188:
 	if ( ++p == pe )
-		goto _test_eof181;
-case 181:
+		goto _test_eof188;
+case 188:
 	switch( (*p) ) {
-		case 73: goto st182;
-		case 105: goto st182;
+		case 73: goto st189;
+		case 105: goto st189;
 	}
-	goto tr591;
-st182:
+	goto tr614;
+st189:
 	if ( ++p == pe )
-		goto _test_eof182;
-case 182:
+		goto _test_eof189;
+case 189:
 	switch( (*p) ) {
-		case 71: goto st183;
-		case 103: goto st183;
+		case 71: goto st190;
+		case 103: goto st190;
 	}
-	goto tr591;
-st183:
+	goto tr614;
+st190:
 	if ( ++p == pe )
-		goto _test_eof183;
-case 183:
+		goto _test_eof190;
+case 190:
 	switch( (*p) ) {
-		case 73: goto st184;
-		case 105: goto st184;
+		case 73: goto st191;
+		case 105: goto st191;
 	}
-	goto tr591;
-st184:
+	goto tr614;
+st191:
 	if ( ++p == pe )
-		goto _test_eof184;
-case 184:
+		goto _test_eof191;
+case 191:
 	switch( (*p) ) {
-		case 78: goto st185;
-		case 110: goto st185;
+		case 78: goto st192;
+		case 110: goto st192;
 	}
-	goto tr591;
-st185:
+	goto tr614;
+st192:
 	if ( ++p == pe )
-		goto _test_eof185;
-case 185:
+		goto _test_eof192;
+case 192:
 	switch( (*p) ) {
-		case 32: goto tr687;
-		case 59: goto tr687;
+		case 32: goto tr710;
+		case 59: goto tr710;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr687;
+			goto tr710;
 	} else if ( (*p) >= 9 )
-		goto tr687;
-	goto tr591;
-tr594:
+		goto tr710;
+	goto tr614;
+tr617:
 	{
 		s->stop = true;
 	}
-	goto st186;
-st186:
+	goto st193;
+st193:
 	if ( ++p == pe )
-		goto _test_eof186;
-case 186:
+		goto _test_eof193;
+case 193:
 	switch( (*p) ) {
-		case 84: goto st187;
-		case 116: goto st187;
+		case 84: goto st194;
+		case 116: goto st194;
 	}
-	goto tr591;
-st187:
+	goto tr614;
+st194:
 	if ( ++p == pe )
-		goto _test_eof187;
-case 187:
+		goto _test_eof194;
+case 194:
 	switch( (*p) ) {
-		case 76: goto st188;
-		case 108: goto st188;
+		case 76: goto st195;
+		case 108: goto st195;
 	}
-	goto tr591;
-st188:
+	goto tr614;
+st195:
 	if ( ++p == pe )
-		goto _test_eof188;
-case 188:
+		goto _test_eof195;
+case 195:
 	switch( (*p) ) {
-		case 32: goto tr690;
-		case 59: goto tr690;
+		case 32: goto tr713;
+		case 59: goto tr713;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr690;
+			goto tr713;
 	} else if ( (*p) >= 9 )
-		goto tr690;
-	goto tr591;
-tr3146:
+		goto tr713;
+	goto tr614;
+tr3209:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 189; goto st589;}
+			{stack[top++] = 196; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 189; goto st591;}
+			{stack[top++] = 196; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 189; goto st593;}
+			{stack[top++] = 196; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 189; goto st625;}
+			{stack[top++] = 196; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 189; goto st630;}
+			{stack[top++] = 196; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 189; goto st635;}
+			{stack[top++] = 196; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 189; goto st640;}
+			{stack[top++] = 196; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 189; goto st644;}
+			{stack[top++] = 196; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 189; goto st646;}
+			{stack[top++] = 196; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 189; goto st701;}
+			{stack[top++] = 196; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 189; goto st712;}
+			{stack[top++] = 196; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 189; goto st729;}
+			{stack[top++] = 196; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 189; goto st740;}
+			{stack[top++] = 196; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 189; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 196; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 189; goto st764;}
+			{stack[top++] = 196; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 189; goto st774;}
+			{stack[top++] = 196; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 189; goto st813;}
+			{stack[top++] = 196; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 189; goto st955;}
+			{stack[top++] = 196; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 189; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 196; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 189; goto st969;}
+			{stack[top++] = 196; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 189; goto st971;}
+			{stack[top++] = 196; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 189; goto st1000;}
+			{stack[top++] = 196; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 189; goto st1013;}
+			{stack[top++] = 196; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 189; goto st1031;}
+			{stack[top++] = 196; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 189; goto st1026;}
+			{stack[top++] = 196; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 189; goto st1044;}
+			{stack[top++] = 196; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 189; goto st1050;}
+			{stack[top++] = 196; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 189; goto st248;} }
-	goto st189;
-st189:
+	{ p--; {stack[top++] = 196; goto st255;} }
+	goto st196;
+st196:
 	if ( ++p == pe )
-		goto _test_eof189;
-case 189:
+		goto _test_eof196;
+case 196:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -23280,117 +24300,119 @@ case 189:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr691;
-tr3212:
+	goto tr714;
+tr3275:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 190; goto st589;}
+			{stack[top++] = 197; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 190; goto st591;}
+			{stack[top++] = 197; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 190; goto st593;}
+			{stack[top++] = 197; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 190; goto st625;}
+			{stack[top++] = 197; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 190; goto st630;}
+			{stack[top++] = 197; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 190; goto st635;}
+			{stack[top++] = 197; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 190; goto st640;}
+			{stack[top++] = 197; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 190; goto st644;}
+			{stack[top++] = 197; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 190; goto st646;}
+			{stack[top++] = 197; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 190; goto st701;}
+			{stack[top++] = 197; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 190; goto st712;}
+			{stack[top++] = 197; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 190; goto st729;}
+			{stack[top++] = 197; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 190; goto st740;}
+			{stack[top++] = 197; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 190; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 197; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 190; goto st764;}
+			{stack[top++] = 197; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 190; goto st774;}
+			{stack[top++] = 197; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 190; goto st813;}
+			{stack[top++] = 197; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 190; goto st955;}
+			{stack[top++] = 197; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 190; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 197; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 190; goto st969;}
+			{stack[top++] = 197; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 190; goto st971;}
+			{stack[top++] = 197; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 190; goto st1000;}
+			{stack[top++] = 197; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 190; goto st1013;}
+			{stack[top++] = 197; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 190; goto st1031;}
+			{stack[top++] = 197; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 190; goto st1026;}
+			{stack[top++] = 197; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 190; goto st1044;}
+			{stack[top++] = 197; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 190; goto st1050;}
+			{stack[top++] = 197; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 190; goto st248;} }
-	goto st190;
-st190:
+	{ p--; {stack[top++] = 197; goto st255;} }
+	goto st197;
+st197:
 	if ( ++p == pe )
-		goto _test_eof190;
-case 190:
+		goto _test_eof197;
+case 197:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -23404,47 +24426,47 @@ case 190:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr698;
-		case 32: goto tr698;
-		case 40: goto tr699;
-		case 41: goto tr700;
+		case 9: goto tr721;
+		case 32: goto tr721;
+		case 40: goto tr722;
+		case 41: goto tr723;
 		case 68: goto tr28;
 		case 72: goto tr29;
 		case 77: goto tr30;
-		case 83: goto st152;
+		case 83: goto st159;
 		case 87: goto tr32;
 		case 100: goto tr28;
 		case 104: goto tr29;
 		case 109: goto tr30;
-		case 115: goto st152;
+		case 115: goto st159;
 		case 119: goto tr32;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr701;
-		case 1083: goto tr702;
+		case 1034: goto tr724;
+		case 1083: goto tr725;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr27;
-	goto tr697;
-tr704:
+	goto tr720;
+tr727:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st191;
-tr705:
+	goto st198;
+tr728:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st191;
-tr698:
+	goto st198;
+tr721:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -23453,18 +24475,18 @@ tr698:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st191;
-tr699:
+	goto st198;
+tr722:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -23473,18 +24495,18 @@ tr699:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st191;
-tr700:
+	goto st198;
+tr723:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -23493,14 +24515,14 @@ tr700:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st191;
-st191:
+	goto st198;
+st198:
 	if ( ++p == pe )
-		goto _test_eof191;
-case 191:
+		goto _test_eof198;
+case 198:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -23514,10 +24536,10 @@ case 191:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st191;
-		case 32: goto st191;
-		case 40: goto tr704;
-		case 41: goto tr705;
+		case 9: goto st198;
+		case 32: goto st198;
+		case 40: goto tr727;
+		case 41: goto tr728;
 		case 65: goto tr5;
 		case 67: goto tr6;
 		case 68: goto tr7;
@@ -23548,13 +24570,13 @@ case 191:
 		case 116: goto tr18;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr706;
-		case 1083: goto st192;
+		case 1034: goto tr729;
+		case 1083: goto st199;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
 	goto tr0;
-tr702:
+tr725:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -23563,14 +24585,14 @@ tr702:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st192;
-st192:
+	goto st199;
+st199:
 	if ( ++p == pe )
-		goto _test_eof192;
-case 192:
+		goto _test_eof199;
+case 199:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -23591,15 +24613,15 @@ case 192:
 	}
 	switch( _widec ) {
 		case 778: goto tr81;
-		case 1034: goto tr706;
+		case 1034: goto tr729;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st192;
+			goto st199;
 	} else if ( _widec >= 640 )
 		goto st8;
 	goto tr125;
-tr3213:
+tr3276:
 	{
 		s->r_class = s->default_class;
 	}
@@ -23610,85 +24632,87 @@ tr3213:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 193; goto st589;}
+			{stack[top++] = 200; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 193; goto st591;}
+			{stack[top++] = 200; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 193; goto st593;}
+			{stack[top++] = 200; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 193; goto st625;}
+			{stack[top++] = 200; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 193; goto st630;}
+			{stack[top++] = 200; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 193; goto st635;}
+			{stack[top++] = 200; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 193; goto st640;}
+			{stack[top++] = 200; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 193; goto st644;}
+			{stack[top++] = 200; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 193; goto st646;}
+			{stack[top++] = 200; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 193; goto st701;}
+			{stack[top++] = 200; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 193; goto st712;}
+			{stack[top++] = 200; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 193; goto st729;}
+			{stack[top++] = 200; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 193; goto st740;}
+			{stack[top++] = 200; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 193; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 200; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 193; goto st764;}
+			{stack[top++] = 200; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 193; goto st774;}
+			{stack[top++] = 200; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 193; goto st813;}
+			{stack[top++] = 200; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 193; goto st955;}
+			{stack[top++] = 200; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 193; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 200; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 193; goto st969;}
+			{stack[top++] = 200; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 193; goto st971;}
+			{stack[top++] = 200; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 193; goto st1000;}
+			{stack[top++] = 200; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 193; goto st1013;}
+			{stack[top++] = 200; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 193; goto st1031;}
+			{stack[top++] = 200; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 193; goto st1026;}
+			{stack[top++] = 200; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 193; goto st1044;}
+			{stack[top++] = 200; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 193; goto st1050;}
+			{stack[top++] = 200; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 193; goto st248;} }
-	goto st193;
-st193:
+	{ p--; {stack[top++] = 200; goto st255;} }
+	goto st200;
+st200:
 	if ( ++p == pe )
-		goto _test_eof193;
-case 193:
+		goto _test_eof200;
+case 200:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -23706,45 +24730,45 @@ case 193:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr709;
-		case 32: goto tr709;
-		case 40: goto tr710;
-		case 41: goto tr711;
-		case 65: goto st213;
-		case 70: goto st216;
-		case 80: goto st220;
-		case 97: goto st213;
-		case 102: goto st216;
-		case 112: goto st220;
+		case 9: goto tr732;
+		case 32: goto tr732;
+		case 40: goto tr733;
+		case 41: goto tr734;
+		case 65: goto st220;
+		case 70: goto st223;
+		case 80: goto st227;
+		case 97: goto st220;
+		case 102: goto st223;
+		case 112: goto st227;
 		case 1802: goto tr81;
 		case 1851: goto st8;
-		case 2058: goto tr712;
-		case 2107: goto tr713;
-		case 2314: goto tr659;
-		case 2363: goto tr660;
-		case 2570: goto tr714;
-		case 2619: goto tr715;
-	}
-	goto tr708;
-tr717:
+		case 2058: goto tr735;
+		case 2107: goto tr736;
+		case 2314: goto tr682;
+		case 2363: goto tr683;
+		case 2570: goto tr737;
+		case 2619: goto tr738;
+	}
+	goto tr731;
+tr740:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st194;
-tr718:
+	goto st201;
+tr741:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st194;
-tr709:
+	goto st201;
+tr732:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -23752,15 +24776,15 @@ tr709:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st194;
-tr710:
+	goto st201;
+tr733:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -23768,15 +24792,15 @@ tr710:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st194;
-tr711:
+	goto st201;
+tr734:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -23784,11 +24808,11 @@ tr711:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st194;
-st194:
+	goto st201;
+st201:
 	if ( ++p == pe )
-		goto _test_eof194;
-case 194:
+		goto _test_eof201;
+case 201:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -23806,10 +24830,10 @@ case 194:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st194;
-		case 32: goto st194;
-		case 40: goto tr717;
-		case 41: goto tr718;
+		case 9: goto st201;
+		case 32: goto st201;
+		case 40: goto tr740;
+		case 41: goto tr741;
 		case 58: goto tr67;
 		case 65: goto tr99;
 		case 67: goto tr100;
@@ -23842,12 +24866,12 @@ case 194:
 		case 116: goto tr112;
 		case 1802: goto tr81;
 		case 1851: goto st8;
-		case 2058: goto tr680;
-		case 2107: goto st178;
+		case 2058: goto tr703;
+		case 2107: goto st185;
 		case 2314: goto tr90;
 		case 2363: goto tr91;
-		case 2570: goto tr719;
-		case 2619: goto tr679;
+		case 2570: goto tr742;
+		case 2619: goto tr702;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
@@ -23869,77 +24893,79 @@ tr117:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1065; goto st589;}
+			{stack[top++] = 1086; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1065; goto st591;}
+			{stack[top++] = 1086; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1065; goto st593;}
+			{stack[top++] = 1086; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1065; goto st625;}
+			{stack[top++] = 1086; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1065; goto st630;}
+			{stack[top++] = 1086; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1065; goto st635;}
+			{stack[top++] = 1086; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1065; goto st640;}
+			{stack[top++] = 1086; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1065; goto st644;}
+			{stack[top++] = 1086; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1065; goto st646;}
+			{stack[top++] = 1086; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1065; goto st701;}
+			{stack[top++] = 1086; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1065; goto st712;}
+			{stack[top++] = 1086; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1065; goto st729;}
+			{stack[top++] = 1086; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1065; goto st740;}
+			{stack[top++] = 1086; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1065; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1086; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1065; goto st764;}
+			{stack[top++] = 1086; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1065; goto st774;}
+			{stack[top++] = 1086; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1065; goto st813;}
+			{stack[top++] = 1086; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1065; goto st955;}
+			{stack[top++] = 1086; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1065; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1086; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1065; goto st969;}
+			{stack[top++] = 1086; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1065; goto st971;}
+			{stack[top++] = 1086; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1065; goto st1000;}
+			{stack[top++] = 1086; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1065; goto st1013;}
+			{stack[top++] = 1086; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1065; goto st1031;}
+			{stack[top++] = 1086; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1065; goto st1026;}
+			{stack[top++] = 1086; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1065; goto st1044;}
+			{stack[top++] = 1086; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1065; goto st1050;}
+			{stack[top++] = 1086; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st1065;
-tr719:
+	goto st1086;
+tr742:
 	{
 		s->line_counter++;
 	}
@@ -23947,79 +24973,81 @@ tr719:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1065; goto st589;}
+			{stack[top++] = 1086; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1065; goto st591;}
+			{stack[top++] = 1086; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1065; goto st593;}
+			{stack[top++] = 1086; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1065; goto st625;}
+			{stack[top++] = 1086; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1065; goto st630;}
+			{stack[top++] = 1086; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1065; goto st635;}
+			{stack[top++] = 1086; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1065; goto st640;}
+			{stack[top++] = 1086; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1065; goto st644;}
+			{stack[top++] = 1086; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1065; goto st646;}
+			{stack[top++] = 1086; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1065; goto st701;}
+			{stack[top++] = 1086; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1065; goto st712;}
+			{stack[top++] = 1086; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1065; goto st729;}
+			{stack[top++] = 1086; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1065; goto st740;}
+			{stack[top++] = 1086; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1065; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1086; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1065; goto st764;}
+			{stack[top++] = 1086; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1065; goto st774;}
+			{stack[top++] = 1086; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1065; goto st813;}
+			{stack[top++] = 1086; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1065; goto st955;}
+			{stack[top++] = 1086; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1065; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1086; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1065; goto st969;}
+			{stack[top++] = 1086; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1065; goto st971;}
+			{stack[top++] = 1086; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1065; goto st1000;}
+			{stack[top++] = 1086; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1065; goto st1013;}
+			{stack[top++] = 1086; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1065; goto st1031;}
+			{stack[top++] = 1086; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1065; goto st1026;}
+			{stack[top++] = 1086; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1065; goto st1044;}
+			{stack[top++] = 1086; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1065; goto st1050;}
+			{stack[top++] = 1086; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -24030,8 +25058,8 @@ tr719:
 			return;
 		}
 	}
-	goto st1065;
-tr714:
+	goto st1086;
+tr737:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -24046,79 +25074,81 @@ tr714:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1065; goto st589;}
+			{stack[top++] = 1086; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1065; goto st591;}
+			{stack[top++] = 1086; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1065; goto st593;}
+			{stack[top++] = 1086; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1065; goto st625;}
+			{stack[top++] = 1086; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1065; goto st630;}
+			{stack[top++] = 1086; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1065; goto st635;}
+			{stack[top++] = 1086; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1065; goto st640;}
+			{stack[top++] = 1086; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1065; goto st644;}
+			{stack[top++] = 1086; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1065; goto st646;}
+			{stack[top++] = 1086; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1065; goto st701;}
+			{stack[top++] = 1086; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1065; goto st712;}
+			{stack[top++] = 1086; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1065; goto st729;}
+			{stack[top++] = 1086; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1065; goto st740;}
+			{stack[top++] = 1086; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1065; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1086; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1065; goto st764;}
+			{stack[top++] = 1086; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1065; goto st774;}
+			{stack[top++] = 1086; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1065; goto st813;}
+			{stack[top++] = 1086; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1065; goto st955;}
+			{stack[top++] = 1086; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1065; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1086; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1065; goto st969;}
+			{stack[top++] = 1086; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1065; goto st971;}
+			{stack[top++] = 1086; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1065; goto st1000;}
+			{stack[top++] = 1086; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1065; goto st1013;}
+			{stack[top++] = 1086; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1065; goto st1031;}
+			{stack[top++] = 1086; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1065; goto st1026;}
+			{stack[top++] = 1086; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1065; goto st1044;}
+			{stack[top++] = 1086; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1065; goto st1050;}
+			{stack[top++] = 1086; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -24129,8 +25159,8 @@ tr714:
 			return;
 		}
 	}
-	goto st1065;
-tr3150:
+	goto st1086;
+tr3213:
 	{
 		s->line_counter++;
 	}
@@ -24138,86 +25168,88 @@ tr3150:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 1065; goto st589;}
+			{stack[top++] = 1086; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 1065; goto st591;}
+			{stack[top++] = 1086; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 1065; goto st593;}
+			{stack[top++] = 1086; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 1065; goto st625;}
+			{stack[top++] = 1086; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 1065; goto st630;}
+			{stack[top++] = 1086; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 1065; goto st635;}
+			{stack[top++] = 1086; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 1065; goto st640;}
+			{stack[top++] = 1086; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 1065; goto st644;}
+			{stack[top++] = 1086; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 1065; goto st646;}
+			{stack[top++] = 1086; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 1065; goto st701;}
+			{stack[top++] = 1086; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 1065; goto st712;}
+			{stack[top++] = 1086; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 1065; goto st729;}
+			{stack[top++] = 1086; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 1065; goto st740;}
+			{stack[top++] = 1086; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 1065; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 1086; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 1065; goto st764;}
+			{stack[top++] = 1086; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 1065; goto st774;}
+			{stack[top++] = 1086; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 1065; goto st813;}
+			{stack[top++] = 1086; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 1065; goto st955;}
+			{stack[top++] = 1086; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 1065; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 1086; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 1065; goto st969;}
+			{stack[top++] = 1086; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 1065; goto st971;}
+			{stack[top++] = 1086; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 1065; goto st1000;}
+			{stack[top++] = 1086; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 1065; goto st1013;}
+			{stack[top++] = 1086; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 1065; goto st1031;}
+			{stack[top++] = 1086; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 1065; goto st1026;}
+			{stack[top++] = 1086; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 1065; goto st1044;}
+			{stack[top++] = 1086; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 1065; goto st1050;}
+			{stack[top++] = 1086; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1065;
-st1065:
+	goto st1086;
+st1086:
 	if ( ++p == pe )
-		goto _test_eof1065;
-case 1065:
+		goto _test_eof1086;
+case 1086:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24235,51 +25267,51 @@ case 1065:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr3206;
-		case 32: goto tr3206;
-		case 36: goto tr3143;
-		case 40: goto tr3207;
-		case 41: goto tr3208;
-		case 42: goto tr3146;
+		case 9: goto tr3269;
+		case 32: goto tr3269;
+		case 36: goto tr3206;
+		case 40: goto tr3270;
+		case 41: goto tr3271;
+		case 42: goto tr3209;
 		case 58: goto tr67;
-		case 65: goto tr3213;
-		case 67: goto tr3214;
-		case 68: goto tr3215;
-		case 69: goto tr3216;
-		case 72: goto tr3217;
-		case 73: goto tr3218;
-		case 75: goto tr3219;
-		case 76: goto tr3220;
-		case 77: goto tr3221;
-		case 78: goto tr3222;
-		case 80: goto tr3223;
-		case 82: goto tr3224;
-		case 83: goto tr3225;
-		case 84: goto tr3226;
-		case 92: goto tr3147;
-		case 95: goto tr3146;
-		case 97: goto tr3213;
-		case 99: goto tr3214;
-		case 100: goto tr3215;
-		case 101: goto tr3216;
-		case 104: goto tr3217;
-		case 105: goto tr3218;
-		case 107: goto tr3219;
-		case 108: goto tr3220;
-		case 109: goto tr3221;
-		case 110: goto tr3222;
-		case 112: goto tr3223;
-		case 114: goto tr3224;
-		case 115: goto tr3225;
-		case 116: goto tr3226;
+		case 65: goto tr3276;
+		case 67: goto tr3277;
+		case 68: goto tr3278;
+		case 69: goto tr3279;
+		case 72: goto tr3280;
+		case 73: goto tr3281;
+		case 75: goto tr3282;
+		case 76: goto tr3283;
+		case 77: goto tr3284;
+		case 78: goto tr3285;
+		case 80: goto tr3286;
+		case 82: goto tr3287;
+		case 83: goto tr3288;
+		case 84: goto tr3289;
+		case 92: goto tr3210;
+		case 95: goto tr3209;
+		case 97: goto tr3276;
+		case 99: goto tr3277;
+		case 100: goto tr3278;
+		case 101: goto tr3279;
+		case 104: goto tr3280;
+		case 105: goto tr3281;
+		case 107: goto tr3282;
+		case 108: goto tr3283;
+		case 109: goto tr3284;
+		case 110: goto tr3285;
+		case 112: goto tr3286;
+		case 114: goto tr3287;
+		case 115: goto tr3288;
+		case 116: goto tr3289;
 		case 1802: goto tr81;
 		case 1851: goto st8;
-		case 2058: goto tr3227;
-		case 2107: goto tr3209;
+		case 2058: goto tr3290;
+		case 2107: goto tr3272;
 		case 2314: goto tr90;
 		case 2363: goto tr91;
-		case 2570: goto tr3227;
-		case 2619: goto tr3210;
+		case 2570: goto tr3290;
+		case 2619: goto tr3273;
 	}
 	if ( _widec < 60 ) {
 		if ( _widec < 11 ) {
@@ -24288,27 +25320,27 @@ case 1065:
 		} else if ( _widec > 44 ) {
 			if ( _widec > 47 ) {
 				if ( 48 <= _widec && _widec <= 57 )
-					goto tr3212;
+					goto tr3275;
 			} else if ( _widec >= 45 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else if ( _widec > 63 ) {
 		if ( _widec < 91 ) {
 			if ( 64 <= _widec && _widec <= 90 )
-				goto tr3146;
+				goto tr3209;
 		} else if ( _widec > 96 ) {
 			if ( _widec > 122 ) {
 				if ( 123 <= _widec )
 					goto tr67;
 			} else if ( _widec >= 98 )
-				goto tr3146;
+				goto tr3209;
 		} else
 			goto tr67;
 	} else
 		goto tr67;
-	goto tr3211;
-tr3214:
+	goto tr3274;
+tr3277:
 	{
 		s->r_class = s->default_class;
 	}
@@ -24319,85 +25351,87 @@ tr3214:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 195; goto st589;}
+			{stack[top++] = 202; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 195; goto st591;}
+			{stack[top++] = 202; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 195; goto st593;}
+			{stack[top++] = 202; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 195; goto st625;}
+			{stack[top++] = 202; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 195; goto st630;}
+			{stack[top++] = 202; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 195; goto st635;}
+			{stack[top++] = 202; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 195; goto st640;}
+			{stack[top++] = 202; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 195; goto st644;}
+			{stack[top++] = 202; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 195; goto st646;}
+			{stack[top++] = 202; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 195; goto st701;}
+			{stack[top++] = 202; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 195; goto st712;}
+			{stack[top++] = 202; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 195; goto st729;}
+			{stack[top++] = 202; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 195; goto st740;}
+			{stack[top++] = 202; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 195; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 202; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 195; goto st764;}
+			{stack[top++] = 202; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 195; goto st774;}
+			{stack[top++] = 202; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 195; goto st813;}
+			{stack[top++] = 202; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 195; goto st955;}
+			{stack[top++] = 202; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 195; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 202; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 195; goto st969;}
+			{stack[top++] = 202; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 195; goto st971;}
+			{stack[top++] = 202; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 195; goto st1000;}
+			{stack[top++] = 202; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 195; goto st1013;}
+			{stack[top++] = 202; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 195; goto st1031;}
+			{stack[top++] = 202; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 195; goto st1026;}
+			{stack[top++] = 202; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 195; goto st1044;}
+			{stack[top++] = 202; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 195; goto st1050;}
+			{stack[top++] = 202; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 195; goto st248;} }
-	goto st195;
-st195:
+	{ p--; {stack[top++] = 202; goto st255;} }
+	goto st202;
+st202:
 	if ( ++p == pe )
-		goto _test_eof195;
-case 195:
+		goto _test_eof202;
+case 202:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24411,21 +25445,23 @@ case 195:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 69: goto st17;
-		case 78: goto st21;
-		case 101: goto st17;
-		case 110: goto st21;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 68: goto st17;
+		case 69: goto st25;
+		case 78: goto st28;
+		case 100: goto st17;
+		case 101: goto st25;
+		case 110: goto st28;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3215:
+	goto tr731;
+tr3278:
 	{
 		s->r_class = s->default_class;
 	}
@@ -24436,85 +25472,87 @@ tr3215:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 196; goto st589;}
+			{stack[top++] = 203; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 196; goto st591;}
+			{stack[top++] = 203; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 196; goto st593;}
+			{stack[top++] = 203; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 196; goto st625;}
+			{stack[top++] = 203; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 196; goto st630;}
+			{stack[top++] = 203; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 196; goto st635;}
+			{stack[top++] = 203; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 196; goto st640;}
+			{stack[top++] = 203; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 196; goto st644;}
+			{stack[top++] = 203; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 196; goto st646;}
+			{stack[top++] = 203; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 196; goto st701;}
+			{stack[top++] = 203; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 196; goto st712;}
+			{stack[top++] = 203; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 196; goto st729;}
+			{stack[top++] = 203; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 196; goto st740;}
+			{stack[top++] = 203; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 196; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 203; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 196; goto st764;}
+			{stack[top++] = 203; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 196; goto st774;}
+			{stack[top++] = 203; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 196; goto st813;}
+			{stack[top++] = 203; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 196; goto st955;}
+			{stack[top++] = 203; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 196; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 203; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 196; goto st969;}
+			{stack[top++] = 203; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 196; goto st971;}
+			{stack[top++] = 203; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 196; goto st1000;}
+			{stack[top++] = 203; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 196; goto st1013;}
+			{stack[top++] = 203; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 196; goto st1031;}
+			{stack[top++] = 203; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 196; goto st1026;}
+			{stack[top++] = 203; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 196; goto st1044;}
+			{stack[top++] = 203; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 196; goto st1050;}
+			{stack[top++] = 203; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 196; goto st248;} }
-	goto st196;
-st196:
+	{ p--; {stack[top++] = 203; goto st255;} }
+	goto st203;
+st203:
 	if ( ++p == pe )
-		goto _test_eof196;
-case 196:
+		goto _test_eof203;
+case 203:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24528,23 +25566,23 @@ case 196:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 72: goto st26;
-		case 78: goto st30;
-		case 83: goto st38;
-		case 104: goto st26;
-		case 110: goto st30;
-		case 115: goto st38;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 72: goto st33;
+		case 78: goto st37;
+		case 83: goto st45;
+		case 104: goto st33;
+		case 110: goto st37;
+		case 115: goto st45;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3216:
+	goto tr731;
+tr3279:
 	{
 		s->r_class = s->default_class;
 	}
@@ -24555,85 +25593,87 @@ tr3216:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 197; goto st589;}
+			{stack[top++] = 204; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 197; goto st591;}
+			{stack[top++] = 204; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 197; goto st593;}
+			{stack[top++] = 204; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 197; goto st625;}
+			{stack[top++] = 204; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 197; goto st630;}
+			{stack[top++] = 204; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 197; goto st635;}
+			{stack[top++] = 204; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 197; goto st640;}
+			{stack[top++] = 204; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 197; goto st644;}
+			{stack[top++] = 204; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 197; goto st646;}
+			{stack[top++] = 204; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 197; goto st701;}
+			{stack[top++] = 204; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 197; goto st712;}
+			{stack[top++] = 204; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 197; goto st729;}
+			{stack[top++] = 204; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 197; goto st740;}
+			{stack[top++] = 204; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 197; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 204; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 197; goto st764;}
+			{stack[top++] = 204; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 197; goto st774;}
+			{stack[top++] = 204; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 197; goto st813;}
+			{stack[top++] = 204; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 197; goto st955;}
+			{stack[top++] = 204; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 197; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 204; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 197; goto st969;}
+			{stack[top++] = 204; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 197; goto st971;}
+			{stack[top++] = 204; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 197; goto st1000;}
+			{stack[top++] = 204; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 197; goto st1013;}
+			{stack[top++] = 204; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 197; goto st1031;}
+			{stack[top++] = 204; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 197; goto st1026;}
+			{stack[top++] = 204; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 197; goto st1044;}
+			{stack[top++] = 204; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 197; goto st1050;}
+			{stack[top++] = 204; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 197; goto st248;} }
-	goto st197;
-st197:
+	{ p--; {stack[top++] = 204; goto st255;} }
+	goto st204;
+st204:
 	if ( ++p == pe )
-		goto _test_eof197;
-case 197:
+		goto _test_eof204;
+case 204:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24647,19 +25687,19 @@ case 197:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 85: goto st40;
-		case 117: goto st40;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 85: goto st47;
+		case 117: goto st47;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3217:
+	goto tr731;
+tr3280:
 	{
 		s->r_class = s->default_class;
 	}
@@ -24670,85 +25710,87 @@ tr3217:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 198; goto st589;}
+			{stack[top++] = 205; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 198; goto st591;}
+			{stack[top++] = 205; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 198; goto st593;}
+			{stack[top++] = 205; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 198; goto st625;}
+			{stack[top++] = 205; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 198; goto st630;}
+			{stack[top++] = 205; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 198; goto st635;}
+			{stack[top++] = 205; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 198; goto st640;}
+			{stack[top++] = 205; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 198; goto st644;}
+			{stack[top++] = 205; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 198; goto st646;}
+			{stack[top++] = 205; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 198; goto st701;}
+			{stack[top++] = 205; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 198; goto st712;}
+			{stack[top++] = 205; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 198; goto st729;}
+			{stack[top++] = 205; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 198; goto st740;}
+			{stack[top++] = 205; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 198; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 205; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 198; goto st764;}
+			{stack[top++] = 205; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 198; goto st774;}
+			{stack[top++] = 205; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 198; goto st813;}
+			{stack[top++] = 205; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 198; goto st955;}
+			{stack[top++] = 205; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 198; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 205; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 198; goto st969;}
+			{stack[top++] = 205; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 198; goto st971;}
+			{stack[top++] = 205; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 198; goto st1000;}
+			{stack[top++] = 205; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 198; goto st1013;}
+			{stack[top++] = 205; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 198; goto st1031;}
+			{stack[top++] = 205; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 198; goto st1026;}
+			{stack[top++] = 205; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 198; goto st1044;}
+			{stack[top++] = 205; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 198; goto st1050;}
+			{stack[top++] = 205; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 198; goto st248;} }
-	goto st198;
-st198:
+	{ p--; {stack[top++] = 205; goto st255;} }
+	goto st205;
+st205:
 	if ( ++p == pe )
-		goto _test_eof198;
-case 198:
+		goto _test_eof205;
+case 205:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24762,19 +25804,19 @@ case 198:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 73: goto st47;
-		case 105: goto st47;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 73: goto st54;
+		case 105: goto st54;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3218:
+	goto tr731;
+tr3281:
 	{
 		s->r_class = s->default_class;
 	}
@@ -24785,85 +25827,87 @@ tr3218:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 199; goto st589;}
+			{stack[top++] = 206; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 199; goto st591;}
+			{stack[top++] = 206; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 199; goto st593;}
+			{stack[top++] = 206; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 199; goto st625;}
+			{stack[top++] = 206; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 199; goto st630;}
+			{stack[top++] = 206; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 199; goto st635;}
+			{stack[top++] = 206; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 199; goto st640;}
+			{stack[top++] = 206; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 199; goto st644;}
+			{stack[top++] = 206; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 199; goto st646;}
+			{stack[top++] = 206; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 199; goto st701;}
+			{stack[top++] = 206; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 199; goto st712;}
+			{stack[top++] = 206; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 199; goto st729;}
+			{stack[top++] = 206; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 199; goto st740;}
+			{stack[top++] = 206; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 199; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 206; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 199; goto st764;}
+			{stack[top++] = 206; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 199; goto st774;}
+			{stack[top++] = 206; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 199; goto st813;}
+			{stack[top++] = 206; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 199; goto st955;}
+			{stack[top++] = 206; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 199; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 206; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 199; goto st969;}
+			{stack[top++] = 206; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 199; goto st971;}
+			{stack[top++] = 206; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 199; goto st1000;}
+			{stack[top++] = 206; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 199; goto st1013;}
+			{stack[top++] = 206; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 199; goto st1031;}
+			{stack[top++] = 206; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 199; goto st1026;}
+			{stack[top++] = 206; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 199; goto st1044;}
+			{stack[top++] = 206; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 199; goto st1050;}
+			{stack[top++] = 206; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 199; goto st248;} }
-	goto st199;
-st199:
+	{ p--; {stack[top++] = 206; goto st255;} }
+	goto st206;
+st206:
 	if ( ++p == pe )
-		goto _test_eof199;
-case 199:
+		goto _test_eof206;
+case 206:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24877,21 +25921,21 @@ case 199:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 78: goto st130;
-		case 80: goto st55;
-		case 110: goto st130;
-		case 112: goto st55;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 78: goto st137;
+		case 80: goto st62;
+		case 110: goto st137;
+		case 112: goto st62;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3219:
+	goto tr731;
+tr3282:
 	{
 		s->r_class = s->default_class;
 	}
@@ -24902,85 +25946,87 @@ tr3219:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 200; goto st589;}
+			{stack[top++] = 207; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 200; goto st591;}
+			{stack[top++] = 207; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 200; goto st593;}
+			{stack[top++] = 207; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 200; goto st625;}
+			{stack[top++] = 207; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 200; goto st630;}
+			{stack[top++] = 207; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 200; goto st635;}
+			{stack[top++] = 207; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 200; goto st640;}
+			{stack[top++] = 207; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 200; goto st644;}
+			{stack[top++] = 207; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 200; goto st646;}
+			{stack[top++] = 207; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 200; goto st701;}
+			{stack[top++] = 207; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 200; goto st712;}
+			{stack[top++] = 207; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 200; goto st729;}
+			{stack[top++] = 207; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 200; goto st740;}
+			{stack[top++] = 207; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 200; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 207; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 200; goto st764;}
+			{stack[top++] = 207; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 200; goto st774;}
+			{stack[top++] = 207; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 200; goto st813;}
+			{stack[top++] = 207; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 200; goto st955;}
+			{stack[top++] = 207; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 200; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 207; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 200; goto st969;}
+			{stack[top++] = 207; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 200; goto st971;}
+			{stack[top++] = 207; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 200; goto st1000;}
+			{stack[top++] = 207; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 200; goto st1013;}
+			{stack[top++] = 207; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 200; goto st1031;}
+			{stack[top++] = 207; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 200; goto st1026;}
+			{stack[top++] = 207; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 200; goto st1044;}
+			{stack[top++] = 207; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 200; goto st1050;}
+			{stack[top++] = 207; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 200; goto st248;} }
-	goto st200;
-st200:
+	{ p--; {stack[top++] = 207; goto st255;} }
+	goto st207;
+st207:
 	if ( ++p == pe )
-		goto _test_eof200;
-case 200:
+		goto _test_eof207;
+case 207:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -24994,21 +26040,21 @@ case 200:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 69: goto st63;
-		case 88: goto st65;
-		case 101: goto st63;
-		case 120: goto st65;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 69: goto st70;
+		case 88: goto st72;
+		case 101: goto st70;
+		case 120: goto st72;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3220:
+	goto tr731;
+tr3283:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25019,85 +26065,87 @@ tr3220:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 201; goto st589;}
+			{stack[top++] = 208; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 201; goto st591;}
+			{stack[top++] = 208; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 201; goto st593;}
+			{stack[top++] = 208; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 201; goto st625;}
+			{stack[top++] = 208; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 201; goto st630;}
+			{stack[top++] = 208; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 201; goto st635;}
+			{stack[top++] = 208; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 201; goto st640;}
+			{stack[top++] = 208; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 201; goto st644;}
+			{stack[top++] = 208; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 201; goto st646;}
+			{stack[top++] = 208; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 201; goto st701;}
+			{stack[top++] = 208; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 201; goto st712;}
+			{stack[top++] = 208; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 201; goto st729;}
+			{stack[top++] = 208; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 201; goto st740;}
+			{stack[top++] = 208; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 201; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 208; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 201; goto st764;}
+			{stack[top++] = 208; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 201; goto st774;}
+			{stack[top++] = 208; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 201; goto st813;}
+			{stack[top++] = 208; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 201; goto st955;}
+			{stack[top++] = 208; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 201; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 208; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 201; goto st969;}
+			{stack[top++] = 208; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 201; goto st971;}
+			{stack[top++] = 208; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 201; goto st1000;}
+			{stack[top++] = 208; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 201; goto st1013;}
+			{stack[top++] = 208; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 201; goto st1031;}
+			{stack[top++] = 208; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 201; goto st1026;}
+			{stack[top++] = 208; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 201; goto st1044;}
+			{stack[top++] = 208; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 201; goto st1050;}
+			{stack[top++] = 208; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 201; goto st248;} }
-	goto st201;
-st201:
+	{ p--; {stack[top++] = 208; goto st255;} }
+	goto st208;
+st208:
 	if ( ++p == pe )
-		goto _test_eof201;
-case 201:
+		goto _test_eof208;
+case 208:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25111,23 +26159,23 @@ case 201:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 51: goto st67;
-		case 54: goto st69;
-		case 79: goto st71;
-		case 80: goto st73;
-		case 111: goto st71;
-		case 112: goto st73;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 51: goto st74;
+		case 54: goto st76;
+		case 79: goto st78;
+		case 80: goto st80;
+		case 111: goto st78;
+		case 112: goto st80;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3221:
+	goto tr731;
+tr3284:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25138,85 +26186,87 @@ tr3221:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 202; goto st589;}
+			{stack[top++] = 209; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 202; goto st591;}
+			{stack[top++] = 209; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 202; goto st593;}
+			{stack[top++] = 209; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 202; goto st625;}
+			{stack[top++] = 209; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 202; goto st630;}
+			{stack[top++] = 209; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 202; goto st635;}
+			{stack[top++] = 209; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 202; goto st640;}
+			{stack[top++] = 209; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 202; goto st644;}
+			{stack[top++] = 209; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 202; goto st646;}
+			{stack[top++] = 209; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 202; goto st701;}
+			{stack[top++] = 209; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 202; goto st712;}
+			{stack[top++] = 209; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 202; goto st729;}
+			{stack[top++] = 209; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 202; goto st740;}
+			{stack[top++] = 209; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 202; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 209; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 202; goto st764;}
+			{stack[top++] = 209; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 202; goto st774;}
+			{stack[top++] = 209; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 202; goto st813;}
+			{stack[top++] = 209; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 202; goto st955;}
+			{stack[top++] = 209; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 202; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 209; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 202; goto st969;}
+			{stack[top++] = 209; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 202; goto st971;}
+			{stack[top++] = 209; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 202; goto st1000;}
+			{stack[top++] = 209; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 202; goto st1013;}
+			{stack[top++] = 209; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 202; goto st1031;}
+			{stack[top++] = 209; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 202; goto st1026;}
+			{stack[top++] = 209; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 202; goto st1044;}
+			{stack[top++] = 209; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 202; goto st1050;}
+			{stack[top++] = 209; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 202; goto st248;} }
-	goto st202;
-st202:
+	{ p--; {stack[top++] = 209; goto st255;} }
+	goto st209;
+st209:
 	if ( ++p == pe )
-		goto _test_eof202;
-case 202:
+		goto _test_eof209;
+case 209:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25230,21 +26280,21 @@ case 202:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 73: goto st75;
-		case 88: goto st79;
-		case 105: goto st75;
-		case 120: goto st79;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 73: goto st82;
+		case 88: goto st86;
+		case 105: goto st82;
+		case 120: goto st86;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3222:
+	goto tr731;
+tr3285:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25255,85 +26305,87 @@ tr3222:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 203; goto st589;}
+			{stack[top++] = 210; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 203; goto st591;}
+			{stack[top++] = 210; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 203; goto st593;}
+			{stack[top++] = 210; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 203; goto st625;}
+			{stack[top++] = 210; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 203; goto st630;}
+			{stack[top++] = 210; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 203; goto st635;}
+			{stack[top++] = 210; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 203; goto st640;}
+			{stack[top++] = 210; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 203; goto st644;}
+			{stack[top++] = 210; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 203; goto st646;}
+			{stack[top++] = 210; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 203; goto st701;}
+			{stack[top++] = 210; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 203; goto st712;}
+			{stack[top++] = 210; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 203; goto st729;}
+			{stack[top++] = 210; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 203; goto st740;}
+			{stack[top++] = 210; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 203; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 210; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 203; goto st764;}
+			{stack[top++] = 210; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 203; goto st774;}
+			{stack[top++] = 210; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 203; goto st813;}
+			{stack[top++] = 210; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 203; goto st955;}
+			{stack[top++] = 210; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 203; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 210; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 203; goto st969;}
+			{stack[top++] = 210; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 203; goto st971;}
+			{stack[top++] = 210; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 203; goto st1000;}
+			{stack[top++] = 210; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 203; goto st1013;}
+			{stack[top++] = 210; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 203; goto st1031;}
+			{stack[top++] = 210; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 203; goto st1026;}
+			{stack[top++] = 210; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 203; goto st1044;}
+			{stack[top++] = 210; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 203; goto st1050;}
+			{stack[top++] = 210; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 203; goto st248;} }
-	goto st203;
-st203:
+	{ p--; {stack[top++] = 210; goto st255;} }
+	goto st210;
+st210:
 	if ( ++p == pe )
-		goto _test_eof203;
-case 203:
+		goto _test_eof210;
+case 210:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25347,23 +26399,23 @@ case 203:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 65: goto st81;
-		case 73: goto st85;
-		case 83: goto st87;
-		case 97: goto st81;
-		case 105: goto st85;
-		case 115: goto st87;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 65: goto st88;
+		case 73: goto st92;
+		case 83: goto st94;
+		case 97: goto st88;
+		case 105: goto st92;
+		case 115: goto st94;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3223:
+	goto tr731;
+tr3286:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25374,85 +26426,87 @@ tr3223:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 204; goto st589;}
+			{stack[top++] = 211; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 204; goto st591;}
+			{stack[top++] = 211; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 204; goto st593;}
+			{stack[top++] = 211; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 204; goto st625;}
+			{stack[top++] = 211; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 204; goto st630;}
+			{stack[top++] = 211; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 204; goto st635;}
+			{stack[top++] = 211; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 204; goto st640;}
+			{stack[top++] = 211; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 204; goto st644;}
+			{stack[top++] = 211; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 204; goto st646;}
+			{stack[top++] = 211; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 204; goto st701;}
+			{stack[top++] = 211; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 204; goto st712;}
+			{stack[top++] = 211; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 204; goto st729;}
+			{stack[top++] = 211; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 204; goto st740;}
+			{stack[top++] = 211; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 204; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 211; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 204; goto st764;}
+			{stack[top++] = 211; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 204; goto st774;}
+			{stack[top++] = 211; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 204; goto st813;}
+			{stack[top++] = 211; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 204; goto st955;}
+			{stack[top++] = 211; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 204; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 211; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 204; goto st969;}
+			{stack[top++] = 211; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 204; goto st971;}
+			{stack[top++] = 211; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 204; goto st1000;}
+			{stack[top++] = 211; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 204; goto st1013;}
+			{stack[top++] = 211; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 204; goto st1031;}
+			{stack[top++] = 211; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 204; goto st1026;}
+			{stack[top++] = 211; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 204; goto st1044;}
+			{stack[top++] = 211; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 204; goto st1050;}
+			{stack[top++] = 211; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 204; goto st248;} }
-	goto st204;
-st204:
+	{ p--; {stack[top++] = 211; goto st255;} }
+	goto st211;
+st211:
 	if ( ++p == pe )
-		goto _test_eof204;
-case 204:
+		goto _test_eof211;
+case 211:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25466,19 +26520,19 @@ case 204:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 84: goto st97;
-		case 116: goto st97;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 84: goto st104;
+		case 116: goto st104;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3224:
+	goto tr731;
+tr3287:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25489,85 +26543,87 @@ tr3224:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 205; goto st589;}
+			{stack[top++] = 212; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 205; goto st591;}
+			{stack[top++] = 212; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 205; goto st593;}
+			{stack[top++] = 212; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 205; goto st625;}
+			{stack[top++] = 212; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 205; goto st630;}
+			{stack[top++] = 212; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 205; goto st635;}
+			{stack[top++] = 212; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 205; goto st640;}
+			{stack[top++] = 212; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 205; goto st644;}
+			{stack[top++] = 212; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 205; goto st646;}
+			{stack[top++] = 212; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 205; goto st701;}
+			{stack[top++] = 212; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 205; goto st712;}
+			{stack[top++] = 212; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 205; goto st729;}
+			{stack[top++] = 212; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 205; goto st740;}
+			{stack[top++] = 212; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 205; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 212; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 205; goto st764;}
+			{stack[top++] = 212; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 205; goto st774;}
+			{stack[top++] = 212; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 205; goto st813;}
+			{stack[top++] = 212; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 205; goto st955;}
+			{stack[top++] = 212; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 205; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 212; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 205; goto st969;}
+			{stack[top++] = 212; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 205; goto st971;}
+			{stack[top++] = 212; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 205; goto st1000;}
+			{stack[top++] = 212; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 205; goto st1013;}
+			{stack[top++] = 212; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 205; goto st1031;}
+			{stack[top++] = 212; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 205; goto st1026;}
+			{stack[top++] = 212; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 205; goto st1044;}
+			{stack[top++] = 212; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 205; goto st1050;}
+			{stack[top++] = 212; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 205; goto st248;} }
-	goto st205;
-st205:
+	{ p--; {stack[top++] = 212; goto st255;} }
+	goto st212;
+st212:
 	if ( ++p == pe )
-		goto _test_eof205;
-case 205:
+		goto _test_eof212;
+case 212:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25581,23 +26637,23 @@ case 205:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 80: goto st100;
-		case 82: goto st101;
-		case 84: goto st105;
-		case 112: goto st100;
-		case 114: goto st101;
-		case 116: goto st105;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 80: goto st107;
+		case 82: goto st108;
+		case 84: goto st112;
+		case 112: goto st107;
+		case 114: goto st108;
+		case 116: goto st112;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3225:
+	goto tr731;
+tr3288:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25608,85 +26664,87 @@ tr3225:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 206; goto st589;}
+			{stack[top++] = 213; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 206; goto st591;}
+			{stack[top++] = 213; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 206; goto st593;}
+			{stack[top++] = 213; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 206; goto st625;}
+			{stack[top++] = 213; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 206; goto st630;}
+			{stack[top++] = 213; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 206; goto st635;}
+			{stack[top++] = 213; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 206; goto st640;}
+			{stack[top++] = 213; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 206; goto st644;}
+			{stack[top++] = 213; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 206; goto st646;}
+			{stack[top++] = 213; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 206; goto st701;}
+			{stack[top++] = 213; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 206; goto st712;}
+			{stack[top++] = 213; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 206; goto st729;}
+			{stack[top++] = 213; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 206; goto st740;}
+			{stack[top++] = 213; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 206; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 213; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 206; goto st764;}
+			{stack[top++] = 213; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 206; goto st774;}
+			{stack[top++] = 213; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 206; goto st813;}
+			{stack[top++] = 213; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 206; goto st955;}
+			{stack[top++] = 213; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 206; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 213; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 206; goto st969;}
+			{stack[top++] = 213; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 206; goto st971;}
+			{stack[top++] = 213; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 206; goto st1000;}
+			{stack[top++] = 213; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 206; goto st1013;}
+			{stack[top++] = 213; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 206; goto st1031;}
+			{stack[top++] = 213; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 206; goto st1026;}
+			{stack[top++] = 213; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 206; goto st1044;}
+			{stack[top++] = 213; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 206; goto st1050;}
+			{stack[top++] = 213; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 206; goto st248;} }
-	goto st206;
-st206:
+	{ p--; {stack[top++] = 213; goto st255;} }
+	goto st213;
+st213:
 	if ( ++p == pe )
-		goto _test_eof206;
-case 206:
+		goto _test_eof213;
+case 213:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25700,25 +26758,25 @@ case 206:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 79: goto st107;
-		case 80: goto st109;
-		case 82: goto st111;
-		case 83: goto st113;
-		case 111: goto st107;
-		case 112: goto st109;
-		case 114: goto st111;
-		case 115: goto st113;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 79: goto st114;
+		case 80: goto st116;
+		case 82: goto st118;
+		case 83: goto st120;
+		case 111: goto st114;
+		case 112: goto st116;
+		case 114: goto st118;
+		case 115: goto st120;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3226:
+	goto tr731;
+tr3289:
 	{
 		s->r_class = s->default_class;
 	}
@@ -25729,85 +26787,87 @@ tr3226:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 207; goto st589;}
+			{stack[top++] = 214; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 207; goto st591;}
+			{stack[top++] = 214; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 207; goto st593;}
+			{stack[top++] = 214; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 207; goto st625;}
+			{stack[top++] = 214; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 207; goto st630;}
+			{stack[top++] = 214; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 207; goto st635;}
+			{stack[top++] = 214; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 207; goto st640;}
+			{stack[top++] = 214; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 207; goto st644;}
+			{stack[top++] = 214; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 207; goto st646;}
+			{stack[top++] = 214; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 207; goto st701;}
+			{stack[top++] = 214; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 207; goto st712;}
+			{stack[top++] = 214; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 207; goto st729;}
+			{stack[top++] = 214; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 207; goto st740;}
+			{stack[top++] = 214; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 207; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 214; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 207; goto st764;}
+			{stack[top++] = 214; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 207; goto st774;}
+			{stack[top++] = 214; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 207; goto st813;}
+			{stack[top++] = 214; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 207; goto st955;}
+			{stack[top++] = 214; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 207; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 214; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 207; goto st969;}
+			{stack[top++] = 214; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 207; goto st971;}
+			{stack[top++] = 214; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 207; goto st1000;}
+			{stack[top++] = 214; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 207; goto st1013;}
+			{stack[top++] = 214; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 207; goto st1031;}
+			{stack[top++] = 214; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 207; goto st1026;}
+			{stack[top++] = 214; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 207; goto st1044;}
+			{stack[top++] = 214; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 207; goto st1050;}
+			{stack[top++] = 214; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 207; goto st248;} }
-	goto st207;
-st207:
+	{ p--; {stack[top++] = 214; goto st255;} }
+	goto st214;
+st214:
 	if ( ++p == pe )
-		goto _test_eof207;
-case 207:
+		goto _test_eof214;
+case 214:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25821,33 +26881,33 @@ case 207:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr692;
-		case 32: goto tr692;
-		case 40: goto tr693;
-		case 41: goto tr694;
-		case 76: goto st118;
-		case 88: goto st121;
-		case 89: goto st123;
-		case 108: goto st118;
-		case 120: goto st121;
-		case 121: goto st123;
+		case 9: goto tr715;
+		case 32: goto tr715;
+		case 40: goto tr716;
+		case 41: goto tr717;
+		case 76: goto st125;
+		case 88: goto st128;
+		case 89: goto st130;
+		case 108: goto st125;
+		case 120: goto st128;
+		case 121: goto st130;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr695;
-		case 1083: goto tr696;
+		case 1034: goto tr718;
+		case 1083: goto tr719;
 	}
-	goto tr708;
-tr3147:
+	goto tr731;
+tr3210:
 	{
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 208; goto st248;} }
-	goto st208;
-st208:
+	{ p--; {stack[top++] = 215; goto st255;} }
+	goto st215;
+st215:
 	if ( ++p == pe )
-		goto _test_eof208;
-case 208:
+		goto _test_eof215;
+case 215:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25861,15 +26921,15 @@ case 208:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr720;
-		case 32: goto tr720;
+		case 9: goto tr743;
+		case 32: goto tr743;
 		case 35: goto tr85;
-		case 40: goto tr722;
-		case 41: goto tr723;
+		case 40: goto tr745;
+		case 41: goto tr746;
 		case 778: goto tr84;
 		case 827: goto tr84;
-		case 1034: goto tr724;
-		case 1083: goto tr725;
+		case 1034: goto tr747;
+		case 1083: goto tr748;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
@@ -25879,8 +26939,8 @@ case 208:
 			goto tr84;
 	} else
 		goto tr84;
-	goto tr721;
-tr720:
+	goto tr744;
+tr743:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -25889,84 +26949,86 @@ tr720:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 209; goto st589;}
+			{stack[top++] = 216; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 209; goto st591;}
+			{stack[top++] = 216; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 209; goto st593;}
+			{stack[top++] = 216; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 209; goto st625;}
+			{stack[top++] = 216; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 209; goto st630;}
+			{stack[top++] = 216; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 209; goto st635;}
+			{stack[top++] = 216; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 209; goto st640;}
+			{stack[top++] = 216; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 209; goto st644;}
+			{stack[top++] = 216; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 209; goto st646;}
+			{stack[top++] = 216; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 209; goto st701;}
+			{stack[top++] = 216; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 209; goto st712;}
+			{stack[top++] = 216; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 209; goto st729;}
+			{stack[top++] = 216; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 209; goto st740;}
+			{stack[top++] = 216; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 209; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 216; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 209; goto st764;}
+			{stack[top++] = 216; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 209; goto st774;}
+			{stack[top++] = 216; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 209; goto st813;}
+			{stack[top++] = 216; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 209; goto st955;}
+			{stack[top++] = 216; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 209; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 216; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 209; goto st969;}
+			{stack[top++] = 216; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 209; goto st971;}
+			{stack[top++] = 216; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 209; goto st1000;}
+			{stack[top++] = 216; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 209; goto st1013;}
+			{stack[top++] = 216; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 209; goto st1031;}
+			{stack[top++] = 216; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 209; goto st1026;}
+			{stack[top++] = 216; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 209; goto st1044;}
+			{stack[top++] = 216; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 209; goto st1050;}
+			{stack[top++] = 216; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st209;
-tr722:
+	goto st216;
+tr745:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
@@ -25975,84 +27037,86 @@ tr722:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 209; goto st589;}
+			{stack[top++] = 216; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 209; goto st591;}
+			{stack[top++] = 216; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 209; goto st593;}
+			{stack[top++] = 216; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 209; goto st625;}
+			{stack[top++] = 216; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 209; goto st630;}
+			{stack[top++] = 216; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 209; goto st635;}
+			{stack[top++] = 216; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 209; goto st640;}
+			{stack[top++] = 216; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 209; goto st644;}
+			{stack[top++] = 216; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 209; goto st646;}
+			{stack[top++] = 216; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 209; goto st701;}
+			{stack[top++] = 216; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 209; goto st712;}
+			{stack[top++] = 216; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 209; goto st729;}
+			{stack[top++] = 216; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 209; goto st740;}
+			{stack[top++] = 216; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 209; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 216; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 209; goto st764;}
+			{stack[top++] = 216; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 209; goto st774;}
+			{stack[top++] = 216; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 209; goto st813;}
+			{stack[top++] = 216; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 209; goto st955;}
+			{stack[top++] = 216; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 209; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 216; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 209; goto st969;}
+			{stack[top++] = 216; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 209; goto st971;}
+			{stack[top++] = 216; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 209; goto st1000;}
+			{stack[top++] = 216; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 209; goto st1013;}
+			{stack[top++] = 216; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 209; goto st1031;}
+			{stack[top++] = 216; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 209; goto st1026;}
+			{stack[top++] = 216; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 209; goto st1044;}
+			{stack[top++] = 216; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 209; goto st1050;}
+			{stack[top++] = 216; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st209;
-tr723:
+	goto st216;
+tr746:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
@@ -26061,77 +27125,79 @@ tr723:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 209; goto st589;}
+			{stack[top++] = 216; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 209; goto st591;}
+			{stack[top++] = 216; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 209; goto st593;}
+			{stack[top++] = 216; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 209; goto st625;}
+			{stack[top++] = 216; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 209; goto st630;}
+			{stack[top++] = 216; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 209; goto st635;}
+			{stack[top++] = 216; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 209; goto st640;}
+			{stack[top++] = 216; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 209; goto st644;}
+			{stack[top++] = 216; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 209; goto st646;}
+			{stack[top++] = 216; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 209; goto st701;}
+			{stack[top++] = 216; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 209; goto st712;}
+			{stack[top++] = 216; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 209; goto st729;}
+			{stack[top++] = 216; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 209; goto st740;}
+			{stack[top++] = 216; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 209; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 216; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 209; goto st764;}
+			{stack[top++] = 216; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 209; goto st774;}
+			{stack[top++] = 216; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 209; goto st813;}
+			{stack[top++] = 216; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 209; goto st955;}
+			{stack[top++] = 216; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 209; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 216; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 209; goto st969;}
+			{stack[top++] = 216; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 209; goto st971;}
+			{stack[top++] = 216; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 209; goto st1000;}
+			{stack[top++] = 216; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 209; goto st1013;}
+			{stack[top++] = 216; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 209; goto st1031;}
+			{stack[top++] = 216; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 209; goto st1026;}
+			{stack[top++] = 216; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 209; goto st1044;}
+			{stack[top++] = 216; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 209; goto st1050;}
+			{stack[top++] = 216; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st209;
-tr724:
+	goto st216;
+tr747:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -26143,80 +27209,82 @@ tr724:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 209; goto st589;}
+			{stack[top++] = 216; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 209; goto st591;}
+			{stack[top++] = 216; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 209; goto st593;}
+			{stack[top++] = 216; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 209; goto st625;}
+			{stack[top++] = 216; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 209; goto st630;}
+			{stack[top++] = 216; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 209; goto st635;}
+			{stack[top++] = 216; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 209; goto st640;}
+			{stack[top++] = 216; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 209; goto st644;}
+			{stack[top++] = 216; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 209; goto st646;}
+			{stack[top++] = 216; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 209; goto st701;}
+			{stack[top++] = 216; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 209; goto st712;}
+			{stack[top++] = 216; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 209; goto st729;}
+			{stack[top++] = 216; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 209; goto st740;}
+			{stack[top++] = 216; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 209; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 216; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 209; goto st764;}
+			{stack[top++] = 216; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 209; goto st774;}
+			{stack[top++] = 216; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 209; goto st813;}
+			{stack[top++] = 216; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 209; goto st955;}
+			{stack[top++] = 216; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 209; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 216; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 209; goto st969;}
+			{stack[top++] = 216; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 209; goto st971;}
+			{stack[top++] = 216; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 209; goto st1000;}
+			{stack[top++] = 216; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 209; goto st1013;}
+			{stack[top++] = 216; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 209; goto st1031;}
+			{stack[top++] = 216; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 209; goto st1026;}
+			{stack[top++] = 216; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 209; goto st1044;}
+			{stack[top++] = 216; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 209; goto st1050;}
+			{stack[top++] = 216; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st209;
-st209:
+	goto st216;
+st216:
 	if ( ++p == pe )
-		goto _test_eof209;
-case 209:
+		goto _test_eof216;
+case 216:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26230,10 +27298,10 @@ case 209:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st160;
-		case 32: goto st160;
-		case 40: goto tr668;
-		case 41: goto tr669;
+		case 9: goto st167;
+		case 32: goto st167;
+		case 40: goto tr691;
+		case 41: goto tr692;
 		case 65: goto tr5;
 		case 67: goto tr6;
 		case 68: goto tr7;
@@ -26264,13 +27332,13 @@ case 209:
 		case 116: goto tr18;
 		case 778: goto tr81;
 		case 827: goto st8;
-		case 1034: goto tr670;
-		case 1083: goto st161;
+		case 1034: goto tr693;
+		case 1083: goto st168;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
 		goto tr4;
 	goto tr95;
-tr725:
+tr748:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -26279,80 +27347,82 @@ tr725:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 210; goto st589;}
+			{stack[top++] = 217; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 210; goto st591;}
+			{stack[top++] = 217; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 210; goto st593;}
+			{stack[top++] = 217; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 210; goto st625;}
+			{stack[top++] = 217; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 210; goto st630;}
+			{stack[top++] = 217; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 210; goto st635;}
+			{stack[top++] = 217; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 210; goto st640;}
+			{stack[top++] = 217; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 210; goto st644;}
+			{stack[top++] = 217; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 210; goto st646;}
+			{stack[top++] = 217; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 210; goto st701;}
+			{stack[top++] = 217; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 210; goto st712;}
+			{stack[top++] = 217; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 210; goto st729;}
+			{stack[top++] = 217; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 210; goto st740;}
+			{stack[top++] = 217; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 210; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 217; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 210; goto st764;}
+			{stack[top++] = 217; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 210; goto st774;}
+			{stack[top++] = 217; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 210; goto st813;}
+			{stack[top++] = 217; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 210; goto st955;}
+			{stack[top++] = 217; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 210; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 217; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 210; goto st969;}
+			{stack[top++] = 217; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 210; goto st971;}
+			{stack[top++] = 217; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 210; goto st1000;}
+			{stack[top++] = 217; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 210; goto st1013;}
+			{stack[top++] = 217; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 210; goto st1031;}
+			{stack[top++] = 217; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 210; goto st1026;}
+			{stack[top++] = 217; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 210; goto st1044;}
+			{stack[top++] = 217; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 210; goto st1050;}
+			{stack[top++] = 217; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st210;
-st210:
+	goto st217;
+st217:
 	if ( ++p == pe )
-		goto _test_eof210;
-case 210:
+		goto _test_eof217;
+case 217:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -26390,38 +27460,38 @@ case 210:
 		case 808: goto tr79;
 		case 809: goto tr80;
 		case 827: goto st8;
-		case 1033: goto st211;
-		case 1034: goto tr670;
-		case 1056: goto st211;
-		case 1064: goto tr727;
-		case 1065: goto tr728;
-		case 1083: goto st161;
+		case 1033: goto st218;
+		case 1034: goto tr693;
+		case 1056: goto st218;
+		case 1064: goto tr750;
+		case 1065: goto tr751;
+		case 1083: goto st168;
 	}
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st148;
+		goto st155;
 	goto tr77;
-tr727:
+tr750:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st211;
-tr728:
+	goto st218;
+tr751:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st211;
-st211:
+	goto st218;
+st218:
 	if ( ++p == pe )
-		goto _test_eof211;
-case 211:
+		goto _test_eof218;
+case 218:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -26459,110 +27529,112 @@ case 211:
 		case 808: goto tr79;
 		case 809: goto tr80;
 		case 827: goto st8;
-		case 1033: goto st211;
-		case 1034: goto tr670;
-		case 1056: goto st211;
-		case 1064: goto tr727;
-		case 1065: goto tr728;
-		case 1083: goto st161;
+		case 1033: goto st218;
+		case 1034: goto tr693;
+		case 1056: goto st218;
+		case 1064: goto tr750;
+		case 1065: goto tr751;
+		case 1083: goto st168;
 	}
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st148;
+		goto st155;
 	goto tr83;
-tr730:
+tr753:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st212;
-tr731:
+	goto st219;
+tr754:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st212;
-tr679:
+	goto st219;
+tr702:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 212; goto st589;}
+			{stack[top++] = 219; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 212; goto st591;}
+			{stack[top++] = 219; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 212; goto st593;}
+			{stack[top++] = 219; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 212; goto st625;}
+			{stack[top++] = 219; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 212; goto st630;}
+			{stack[top++] = 219; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 212; goto st635;}
+			{stack[top++] = 219; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 212; goto st640;}
+			{stack[top++] = 219; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 212; goto st644;}
+			{stack[top++] = 219; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 212; goto st646;}
+			{stack[top++] = 219; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 212; goto st701;}
+			{stack[top++] = 219; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 212; goto st712;}
+			{stack[top++] = 219; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 212; goto st729;}
+			{stack[top++] = 219; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 212; goto st740;}
+			{stack[top++] = 219; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 212; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 219; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 212; goto st764;}
+			{stack[top++] = 219; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 212; goto st774;}
+			{stack[top++] = 219; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 212; goto st813;}
+			{stack[top++] = 219; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 212; goto st955;}
+			{stack[top++] = 219; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 212; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 219; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 212; goto st969;}
+			{stack[top++] = 219; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 212; goto st971;}
+			{stack[top++] = 219; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 212; goto st1000;}
+			{stack[top++] = 219; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 212; goto st1013;}
+			{stack[top++] = 219; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 212; goto st1031;}
+			{stack[top++] = 219; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 212; goto st1026;}
+			{stack[top++] = 219; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 212; goto st1044;}
+			{stack[top++] = 219; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 212; goto st1050;}
+			{stack[top++] = 219; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st212;
-tr715:
+	goto st219;
+tr738:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -26574,161 +27646,165 @@ tr715:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 212; goto st589;}
+			{stack[top++] = 219; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 212; goto st591;}
+			{stack[top++] = 219; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 212; goto st593;}
+			{stack[top++] = 219; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 212; goto st625;}
+			{stack[top++] = 219; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 212; goto st630;}
+			{stack[top++] = 219; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 212; goto st635;}
+			{stack[top++] = 219; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 212; goto st640;}
+			{stack[top++] = 219; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 212; goto st644;}
+			{stack[top++] = 219; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 212; goto st646;}
+			{stack[top++] = 219; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 212; goto st701;}
+			{stack[top++] = 219; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 212; goto st712;}
+			{stack[top++] = 219; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 212; goto st729;}
+			{stack[top++] = 219; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 212; goto st740;}
+			{stack[top++] = 219; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 212; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 219; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 212; goto st764;}
+			{stack[top++] = 219; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 212; goto st774;}
+			{stack[top++] = 219; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 212; goto st813;}
+			{stack[top++] = 219; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 212; goto st955;}
+			{stack[top++] = 219; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 212; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 219; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 212; goto st969;}
+			{stack[top++] = 219; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 212; goto st971;}
+			{stack[top++] = 219; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 212; goto st1000;}
+			{stack[top++] = 219; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 212; goto st1013;}
+			{stack[top++] = 219; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 212; goto st1031;}
+			{stack[top++] = 219; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 212; goto st1026;}
+			{stack[top++] = 219; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 212; goto st1044;}
+			{stack[top++] = 219; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 212; goto st1050;}
+			{stack[top++] = 219; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st212;
-tr3210:
+	goto st219;
+tr3273:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 212; goto st589;}
+			{stack[top++] = 219; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 212; goto st591;}
+			{stack[top++] = 219; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 212; goto st593;}
+			{stack[top++] = 219; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 212; goto st625;}
+			{stack[top++] = 219; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 212; goto st630;}
+			{stack[top++] = 219; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 212; goto st635;}
+			{stack[top++] = 219; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 212; goto st640;}
+			{stack[top++] = 219; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 212; goto st644;}
+			{stack[top++] = 219; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 212; goto st646;}
+			{stack[top++] = 219; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 212; goto st701;}
+			{stack[top++] = 219; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 212; goto st712;}
+			{stack[top++] = 219; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 212; goto st729;}
+			{stack[top++] = 219; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 212; goto st740;}
+			{stack[top++] = 219; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 212; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 219; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 212; goto st764;}
+			{stack[top++] = 219; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 212; goto st774;}
+			{stack[top++] = 219; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 212; goto st813;}
+			{stack[top++] = 219; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 212; goto st955;}
+			{stack[top++] = 219; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 212; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 219; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 212; goto st969;}
+			{stack[top++] = 219; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 212; goto st971;}
+			{stack[top++] = 219; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 212; goto st1000;}
+			{stack[top++] = 219; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 212; goto st1013;}
+			{stack[top++] = 219; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 212; goto st1031;}
+			{stack[top++] = 219; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 212; goto st1026;}
+			{stack[top++] = 219; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 212; goto st1044;}
+			{stack[top++] = 219; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 212; goto st1050;}
+			{stack[top++] = 219; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st212;
-st212:
+	goto st219;
+st219:
 	if ( ++p == pe )
-		goto _test_eof212;
-case 212:
+		goto _test_eof219;
+case 219:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -26760,45 +27836,45 @@ case 212:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 777: goto st163;
+		case 777: goto st170;
 		case 778: goto tr81;
-		case 800: goto st163;
-		case 808: goto tr673;
-		case 809: goto tr674;
-		case 1033: goto st212;
-		case 1034: goto tr670;
-		case 1056: goto st212;
-		case 1064: goto tr730;
-		case 1065: goto tr731;
+		case 800: goto st170;
+		case 808: goto tr696;
+		case 809: goto tr697;
+		case 1033: goto st219;
+		case 1034: goto tr693;
+		case 1056: goto st219;
+		case 1064: goto tr753;
+		case 1065: goto tr754;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st178;
+			goto st185;
 	} else if ( _widec >= 640 )
 		goto st8;
 	goto tr77;
-st213:
+st220:
 	if ( ++p == pe )
-		goto _test_eof213;
-case 213:
+		goto _test_eof220;
+case 220:
 	switch( (*p) ) {
-		case 65: goto st214;
-		case 97: goto st214;
+		case 65: goto st221;
+		case 97: goto st221;
 	}
 	goto tr35;
-st214:
+st221:
 	if ( ++p == pe )
-		goto _test_eof214;
-case 214:
+		goto _test_eof221;
+case 221:
 	switch( (*p) ) {
-		case 65: goto st215;
-		case 97: goto st215;
+		case 65: goto st222;
+		case 97: goto st222;
 	}
 	goto tr35;
-st215:
+st222:
 	if ( ++p == pe )
-		goto _test_eof215;
-case 215:
+		goto _test_eof222;
+case 222:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26816,49 +27892,49 @@ case 215:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr734;
-		case 32: goto tr734;
-		case 40: goto tr735;
-		case 41: goto tr736;
-		case 2058: goto tr737;
-		case 2107: goto tr738;
-		case 2314: goto tr739;
-		case 2363: goto tr739;
-		case 2570: goto tr740;
-		case 2619: goto tr741;
+		case 9: goto tr757;
+		case 32: goto tr757;
+		case 40: goto tr758;
+		case 41: goto tr759;
+		case 2058: goto tr760;
+		case 2107: goto tr761;
+		case 2314: goto tr762;
+		case 2363: goto tr762;
+		case 2570: goto tr763;
+		case 2619: goto tr764;
 	}
 	goto tr55;
-st216:
+st223:
 	if ( ++p == pe )
-		goto _test_eof216;
-case 216:
+		goto _test_eof223;
+case 223:
 	switch( (*p) ) {
-		case 83: goto st217;
-		case 115: goto st217;
+		case 83: goto st224;
+		case 115: goto st224;
 	}
 	goto tr35;
-st217:
+st224:
 	if ( ++p == pe )
-		goto _test_eof217;
-case 217:
+		goto _test_eof224;
+case 224:
 	switch( (*p) ) {
-		case 68: goto st218;
-		case 100: goto st218;
+		case 68: goto st225;
+		case 100: goto st225;
 	}
 	goto tr35;
-st218:
+st225:
 	if ( ++p == pe )
-		goto _test_eof218;
-case 218:
+		goto _test_eof225;
+case 225:
 	switch( (*p) ) {
-		case 66: goto st219;
-		case 98: goto st219;
+		case 66: goto st226;
+		case 98: goto st226;
 	}
 	goto tr35;
-st219:
+st226:
 	if ( ++p == pe )
-		goto _test_eof219;
-case 219:
+		goto _test_eof226;
+case 226:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26876,31 +27952,31 @@ case 219:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr745;
-		case 32: goto tr745;
-		case 40: goto tr746;
-		case 41: goto tr747;
-		case 2058: goto tr748;
-		case 2107: goto tr749;
-		case 2314: goto tr750;
-		case 2363: goto tr750;
-		case 2570: goto tr751;
-		case 2619: goto tr752;
+		case 9: goto tr768;
+		case 32: goto tr768;
+		case 40: goto tr769;
+		case 41: goto tr770;
+		case 2058: goto tr771;
+		case 2107: goto tr772;
+		case 2314: goto tr773;
+		case 2363: goto tr773;
+		case 2570: goto tr774;
+		case 2619: goto tr775;
 	}
 	goto tr55;
-st220:
+st227:
 	if ( ++p == pe )
-		goto _test_eof220;
-case 220:
+		goto _test_eof227;
+case 227:
 	switch( (*p) ) {
-		case 76: goto st221;
-		case 108: goto st221;
+		case 76: goto st228;
+		case 108: goto st228;
 	}
 	goto tr35;
-st221:
+st228:
 	if ( ++p == pe )
-		goto _test_eof221;
-case 221:
+		goto _test_eof228;
+case 228:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26918,30 +27994,30 @@ case 221:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr754;
-		case 32: goto tr754;
-		case 40: goto tr755;
-		case 41: goto tr756;
-		case 2058: goto tr757;
-		case 2107: goto tr758;
-		case 2314: goto tr759;
-		case 2363: goto tr759;
-		case 2570: goto tr760;
-		case 2619: goto tr761;
+		case 9: goto tr777;
+		case 32: goto tr777;
+		case 40: goto tr778;
+		case 41: goto tr779;
+		case 2058: goto tr780;
+		case 2107: goto tr781;
+		case 2314: goto tr782;
+		case 2363: goto tr782;
+		case 2570: goto tr783;
+		case 2619: goto tr784;
 	}
 	goto tr55;
-tr3149:
+tr3212:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st222;
-st222:
+	goto st229;
+st229:
 	if ( ++p == pe )
-		goto _test_eof222;
-case 222:
+		goto _test_eof229;
+case 229:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -26966,89 +28042,91 @@ case 222:
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st222;
+			goto st229;
 	} else if ( _widec >= 640 )
-		goto st137;
+		goto st144;
 	goto tr77;
 tr116:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 223; goto st589;}
+			{stack[top++] = 230; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 223; goto st591;}
+			{stack[top++] = 230; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 223; goto st593;}
+			{stack[top++] = 230; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 223; goto st625;}
+			{stack[top++] = 230; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 223; goto st630;}
+			{stack[top++] = 230; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 223; goto st635;}
+			{stack[top++] = 230; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 223; goto st640;}
+			{stack[top++] = 230; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 223; goto st644;}
+			{stack[top++] = 230; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 223; goto st646;}
+			{stack[top++] = 230; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 223; goto st701;}
+			{stack[top++] = 230; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 223; goto st712;}
+			{stack[top++] = 230; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 223; goto st729;}
+			{stack[top++] = 230; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 223; goto st740;}
+			{stack[top++] = 230; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 223; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 230; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 223; goto st764;}
+			{stack[top++] = 230; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 223; goto st774;}
+			{stack[top++] = 230; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 223; goto st813;}
+			{stack[top++] = 230; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 223; goto st955;}
+			{stack[top++] = 230; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 223; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 230; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 223; goto st969;}
+			{stack[top++] = 230; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 223; goto st971;}
+			{stack[top++] = 230; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 223; goto st1000;}
+			{stack[top++] = 230; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 223; goto st1013;}
+			{stack[top++] = 230; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 223; goto st1031;}
+			{stack[top++] = 230; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 223; goto st1026;}
+			{stack[top++] = 230; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 223; goto st1044;}
+			{stack[top++] = 230; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 223; goto st1050;}
+			{stack[top++] = 230; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st223;
-st223:
+	goto st230;
+st230:
 	if ( ++p == pe )
-		goto _test_eof223;
-case 223:
+		goto _test_eof230;
+case 230:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27062,10 +28140,10 @@ case 223:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st224;
-		case 32: goto st224;
-		case 40: goto tr763;
-		case 41: goto tr764;
+		case 9: goto st231;
+		case 32: goto st231;
+		case 40: goto tr786;
+		case 41: goto tr787;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
@@ -27073,35 +28151,35 @@ case 223:
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto st137;
+			goto st144;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto st137;
+			goto st144;
 	} else
-		goto st137;
+		goto st144;
 	goto tr77;
-tr763:
+tr786:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st224;
-tr764:
+	goto st231;
+tr787:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st224;
-st224:
+	goto st231;
+st231:
 	if ( ++p == pe )
-		goto _test_eof224;
-case 224:
+		goto _test_eof231;
+case 231:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27115,10 +28193,10 @@ case 224:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st224;
-		case 32: goto st224;
-		case 40: goto tr763;
-		case 41: goto tr764;
+		case 9: goto st231;
+		case 32: goto st231;
+		case 40: goto tr786;
+		case 41: goto tr787;
 		case 778: goto tr81;
 		case 827: goto st8;
 		case 1034: goto tr81;
@@ -27126,191 +28204,195 @@ case 224:
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto st137;
+			goto st144;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto st137;
+			goto st144;
 	} else
-		goto st137;
+		goto st144;
 	goto tr83;
-tr766:
+tr789:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st225;
-tr767:
+	goto st232;
+tr790:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st225;
+	goto st232;
 tr118:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 225; goto st589;}
+			{stack[top++] = 232; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 225; goto st591;}
+			{stack[top++] = 232; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 225; goto st593;}
+			{stack[top++] = 232; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 225; goto st625;}
+			{stack[top++] = 232; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 225; goto st630;}
+			{stack[top++] = 232; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 225; goto st635;}
+			{stack[top++] = 232; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 225; goto st640;}
+			{stack[top++] = 232; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 225; goto st644;}
+			{stack[top++] = 232; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 225; goto st646;}
+			{stack[top++] = 232; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 225; goto st701;}
+			{stack[top++] = 232; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 225; goto st712;}
+			{stack[top++] = 232; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 225; goto st729;}
+			{stack[top++] = 232; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 225; goto st740;}
+			{stack[top++] = 232; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 225; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 232; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 225; goto st764;}
+			{stack[top++] = 232; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 225; goto st774;}
+			{stack[top++] = 232; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 225; goto st813;}
+			{stack[top++] = 232; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 225; goto st955;}
+			{stack[top++] = 232; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 225; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 232; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 225; goto st969;}
+			{stack[top++] = 232; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 225; goto st971;}
+			{stack[top++] = 232; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 225; goto st1000;}
+			{stack[top++] = 232; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 225; goto st1013;}
+			{stack[top++] = 232; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 225; goto st1031;}
+			{stack[top++] = 232; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 225; goto st1026;}
+			{stack[top++] = 232; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 225; goto st1044;}
+			{stack[top++] = 232; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 225; goto st1050;}
+			{stack[top++] = 232; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st225;
-tr3151:
+	goto st232;
+tr3214:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 225; goto st589;}
+			{stack[top++] = 232; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 225; goto st591;}
+			{stack[top++] = 232; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 225; goto st593;}
+			{stack[top++] = 232; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 225; goto st625;}
+			{stack[top++] = 232; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 225; goto st630;}
+			{stack[top++] = 232; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 225; goto st635;}
+			{stack[top++] = 232; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 225; goto st640;}
+			{stack[top++] = 232; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 225; goto st644;}
+			{stack[top++] = 232; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 225; goto st646;}
+			{stack[top++] = 232; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 225; goto st701;}
+			{stack[top++] = 232; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 225; goto st712;}
+			{stack[top++] = 232; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 225; goto st729;}
+			{stack[top++] = 232; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 225; goto st740;}
+			{stack[top++] = 232; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 225; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 232; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 225; goto st764;}
+			{stack[top++] = 232; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 225; goto st774;}
+			{stack[top++] = 232; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 225; goto st813;}
+			{stack[top++] = 232; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 225; goto st955;}
+			{stack[top++] = 232; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 225; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 232; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 225; goto st969;}
+			{stack[top++] = 232; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 225; goto st971;}
+			{stack[top++] = 232; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 225; goto st1000;}
+			{stack[top++] = 232; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 225; goto st1013;}
+			{stack[top++] = 232; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 225; goto st1031;}
+			{stack[top++] = 232; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 225; goto st1026;}
+			{stack[top++] = 232; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 225; goto st1044;}
+			{stack[top++] = 232; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 225; goto st1050;}
+			{stack[top++] = 232; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st225;
-st225:
+	goto st232;
+st232:
 	if ( ++p == pe )
-		goto _test_eof225;
-case 225:
+		goto _test_eof232;
+case 232:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -27342,44 +28424,44 @@ case 225:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 777: goto st224;
+		case 777: goto st231;
 		case 778: goto tr81;
-		case 800: goto st224;
-		case 808: goto tr763;
-		case 809: goto tr764;
+		case 800: goto st231;
+		case 808: goto tr786;
+		case 809: goto tr787;
 		case 827: goto st8;
-		case 1033: goto st225;
-		case 1034: goto tr670;
-		case 1056: goto st225;
-		case 1064: goto tr766;
-		case 1065: goto tr767;
-		case 1083: goto st178;
+		case 1033: goto st232;
+		case 1034: goto tr693;
+		case 1056: goto st232;
+		case 1064: goto tr789;
+		case 1065: goto tr790;
+		case 1083: goto st185;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st222;
+			goto st229;
 	} else if ( _widec >= 640 )
-		goto st137;
+		goto st144;
 	goto tr77;
-tr769:
+tr792:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st226;
-tr770:
+	goto st233;
+tr793:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st226;
-tr662:
+	goto st233;
+tr685:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	{
 		rdata_tail = s->r_data;
@@ -27388,155 +28470,159 @@ tr662:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 226; goto st589;}
+			{stack[top++] = 233; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 226; goto st591;}
+			{stack[top++] = 233; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 226; goto st593;}
+			{stack[top++] = 233; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 226; goto st625;}
+			{stack[top++] = 233; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 226; goto st630;}
+			{stack[top++] = 233; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 226; goto st635;}
+			{stack[top++] = 233; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 226; goto st640;}
+			{stack[top++] = 233; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 226; goto st644;}
+			{stack[top++] = 233; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 226; goto st646;}
+			{stack[top++] = 233; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 226; goto st701;}
+			{stack[top++] = 233; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 226; goto st712;}
+			{stack[top++] = 233; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 226; goto st729;}
+			{stack[top++] = 233; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 226; goto st740;}
+			{stack[top++] = 233; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 226; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 233; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 226; goto st764;}
+			{stack[top++] = 233; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 226; goto st774;}
+			{stack[top++] = 233; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 226; goto st813;}
+			{stack[top++] = 233; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 226; goto st955;}
+			{stack[top++] = 233; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 226; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 233; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 226; goto st969;}
+			{stack[top++] = 233; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 226; goto st971;}
+			{stack[top++] = 233; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 226; goto st1000;}
+			{stack[top++] = 233; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 226; goto st1013;}
+			{stack[top++] = 233; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 226; goto st1031;}
+			{stack[top++] = 233; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 226; goto st1026;}
+			{stack[top++] = 233; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 226; goto st1044;}
+			{stack[top++] = 233; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 226; goto st1050;}
+			{stack[top++] = 233; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st226;
+	goto st233;
 tr92:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 226; goto st589;}
+			{stack[top++] = 233; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 226; goto st591;}
+			{stack[top++] = 233; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 226; goto st593;}
+			{stack[top++] = 233; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 226; goto st625;}
+			{stack[top++] = 233; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 226; goto st630;}
+			{stack[top++] = 233; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 226; goto st635;}
+			{stack[top++] = 233; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 226; goto st640;}
+			{stack[top++] = 233; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 226; goto st644;}
+			{stack[top++] = 233; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 226; goto st646;}
+			{stack[top++] = 233; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 226; goto st701;}
+			{stack[top++] = 233; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 226; goto st712;}
+			{stack[top++] = 233; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 226; goto st729;}
+			{stack[top++] = 233; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 226; goto st740;}
+			{stack[top++] = 233; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 226; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 233; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 226; goto st764;}
+			{stack[top++] = 233; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 226; goto st774;}
+			{stack[top++] = 233; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 226; goto st813;}
+			{stack[top++] = 233; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 226; goto st955;}
+			{stack[top++] = 233; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 226; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 233; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 226; goto st969;}
+			{stack[top++] = 233; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 226; goto st971;}
+			{stack[top++] = 233; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 226; goto st1000;}
+			{stack[top++] = 233; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 226; goto st1013;}
+			{stack[top++] = 233; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 226; goto st1031;}
+			{stack[top++] = 233; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 226; goto st1026;}
+			{stack[top++] = 233; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 226; goto st1044;}
+			{stack[top++] = 233; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 226; goto st1050;}
+			{stack[top++] = 233; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st226;
-st226:
+	goto st233;
+st233:
 	if ( ++p == pe )
-		goto _test_eof226;
-case 226:
+		goto _test_eof233;
+case 233:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -27568,16 +28654,16 @@ case 226:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 777: goto st163;
+		case 777: goto st170;
 		case 778: goto tr81;
-		case 800: goto st163;
-		case 808: goto tr673;
-		case 809: goto tr674;
-		case 1033: goto st226;
+		case 800: goto st170;
+		case 808: goto tr696;
+		case 809: goto tr697;
+		case 1033: goto st233;
 		case 1034: goto tr81;
-		case 1056: goto st226;
-		case 1064: goto tr769;
-		case 1065: goto tr770;
+		case 1056: goto st233;
+		case 1064: goto tr792;
+		case 1065: goto tr793;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
@@ -27585,7 +28671,7 @@ case 226:
 	} else if ( _widec >= 640 )
 		goto st8;
 	goto tr77;
-tr643:
+tr666:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -27593,11 +28679,11 @@ tr643:
 	{
 		rdata_tail = s->r_data;
 	}
-	goto st227;
-st227:
+	goto st234;
+st234:
 	if ( ++p == pe )
-		goto _test_eof227;
-case 227:
+		goto _test_eof234;
+case 234:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -27617,104 +28703,106 @@ case 227:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr649;
+		goto tr672;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st227;
+		goto st234;
 	goto tr69;
-tr772:
+tr795:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st228;
-tr773:
+	goto st235;
+tr796:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st228;
-tr652:
+	goto st235;
+tr675:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 228; goto st589;}
+			{stack[top++] = 235; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 228; goto st591;}
+			{stack[top++] = 235; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 228; goto st593;}
+			{stack[top++] = 235; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 228; goto st625;}
+			{stack[top++] = 235; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 228; goto st630;}
+			{stack[top++] = 235; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 228; goto st635;}
+			{stack[top++] = 235; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 228; goto st640;}
+			{stack[top++] = 235; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 228; goto st644;}
+			{stack[top++] = 235; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 228; goto st646;}
+			{stack[top++] = 235; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 228; goto st701;}
+			{stack[top++] = 235; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 228; goto st712;}
+			{stack[top++] = 235; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 228; goto st729;}
+			{stack[top++] = 235; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 228; goto st740;}
+			{stack[top++] = 235; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 228; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 235; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 228; goto st764;}
+			{stack[top++] = 235; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 228; goto st774;}
+			{stack[top++] = 235; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 228; goto st813;}
+			{stack[top++] = 235; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 228; goto st955;}
+			{stack[top++] = 235; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 228; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 235; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 228; goto st969;}
+			{stack[top++] = 235; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 228; goto st971;}
+			{stack[top++] = 235; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 228; goto st1000;}
+			{stack[top++] = 235; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 228; goto st1013;}
+			{stack[top++] = 235; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 228; goto st1031;}
+			{stack[top++] = 235; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 228; goto st1026;}
+			{stack[top++] = 235; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 228; goto st1044;}
+			{stack[top++] = 235; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 228; goto st1050;}
+			{stack[top++] = 235; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st228;
-tr645:
+	goto st235;
+tr668:
 	{
 		s->r_owner_length = s->dname_tmp_length;
 	}
@@ -27726,80 +28814,82 @@ tr645:
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = 228; goto st589;}
+			{stack[top++] = 235; goto st603;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = 228; goto st591;}
+			{stack[top++] = 235; goto st605;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = 228; goto st593;}
+			{stack[top++] = 235; goto st607;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = 228; goto st625;}
+			{stack[top++] = 235; goto st639;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = 228; goto st630;}
+			{stack[top++] = 235; goto st644;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = 228; goto st635;}
+			{stack[top++] = 235; goto st649;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = 228; goto st640;}
+			{stack[top++] = 235; goto st654;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = 228; goto st644;}
+			{stack[top++] = 235; goto st658;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = 228; goto st646;}
+			{stack[top++] = 235; goto st660;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = 228; goto st701;}
+			{stack[top++] = 235; goto st715;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = 228; goto st712;}
+			{stack[top++] = 235; goto st726;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = 228; goto st729;}
+			{stack[top++] = 235; goto st743;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = 228; goto st740;}
+			{stack[top++] = 235; goto st754;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = 228; goto st751;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = 235; goto st765;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = 228; goto st764;}
+			{stack[top++] = 235; goto st778;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = 228; goto st774;}
+			{stack[top++] = 235; goto st788;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = 228; goto st813;}
+			{stack[top++] = 235; goto st827;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = 228; goto st955;}
+			{stack[top++] = 235; goto st976;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = 228; goto st958;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = 235; goto st979;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = 228; goto st969;}
+			{stack[top++] = 235; goto st990;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = 228; goto st971;}
+			{stack[top++] = 235; goto st992;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = 228; goto st1000;}
+			{stack[top++] = 235; goto st1021;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = 228; goto st1013;}
+			{stack[top++] = 235; goto st1034;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = 228; goto st1031;}
+			{stack[top++] = 235; goto st1052;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = 228; goto st1026;}
+			{stack[top++] = 235; goto st1047;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = 228; goto st1044;}
+			{stack[top++] = 235; goto st1065;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = 228; goto st1050;}
+			{stack[top++] = 235; goto st1071;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{goto st246;}
+			{goto st253;}
 		}
 	}
-	goto st228;
-st228:
+	goto st235;
+st235:
 	if ( ++p == pe )
-		goto _test_eof228;
-case 228:
+		goto _test_eof235;
+case 235:
 	_widec = (*p);
 	if ( (*p) < 11 ) {
 		if ( (*p) > 9 ) {
@@ -27837,17 +28927,17 @@ case 228:
 		case 808: goto tr79;
 		case 809: goto tr80;
 		case 827: goto st8;
-		case 1033: goto st228;
-		case 1034: goto tr670;
-		case 1056: goto st228;
-		case 1064: goto tr772;
-		case 1065: goto tr773;
-		case 1083: goto st178;
+		case 1033: goto st235;
+		case 1034: goto tr693;
+		case 1056: goto st235;
+		case 1064: goto tr795;
+		case 1065: goto tr796;
+		case 1083: goto st185;
 	}
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st227;
+		goto st234;
 	goto tr77;
-tr3157:
+tr3220:
 	{
 		s->r_class = s->default_class;
 	}
@@ -27855,9 +28945,9 @@ tr3157:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 229; goto st248;} }
-	goto st229;
-tr3175:
+	{ p--; {stack[top++] = 236; goto st255;} }
+	goto st236;
+tr3238:
 	{
 		s->r_class = s->default_class;
 	}
@@ -27868,12 +28958,12 @@ tr3175:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 229; goto st248;} }
-	goto st229;
-st229:
+	{ p--; {stack[top++] = 236; goto st255;} }
+	goto st236;
+st236:
 	if ( ++p == pe )
-		goto _test_eof229;
-case 229:
+		goto _test_eof236;
+case 236:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27887,19 +28977,21 @@ case 229:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 69: goto st17;
-		case 78: goto st21;
-		case 101: goto st17;
-		case 110: goto st21;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3158:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 68: goto st17;
+		case 69: goto st25;
+		case 78: goto st28;
+		case 100: goto st17;
+		case 101: goto st25;
+		case 110: goto st28;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3221:
 	{
 		s->r_class = s->default_class;
 	}
@@ -27907,9 +28999,9 @@ tr3158:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 230; goto st248;} }
-	goto st230;
-tr3176:
+	{ p--; {stack[top++] = 237; goto st255;} }
+	goto st237;
+tr3239:
 	{
 		s->r_class = s->default_class;
 	}
@@ -27920,12 +29012,12 @@ tr3176:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 230; goto st248;} }
-	goto st230;
-st230:
+	{ p--; {stack[top++] = 237; goto st255;} }
+	goto st237;
+st237:
 	if ( ++p == pe )
-		goto _test_eof230;
-case 230:
+		goto _test_eof237;
+case 237:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27939,21 +29031,21 @@ case 230:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 72: goto st26;
-		case 78: goto st30;
-		case 83: goto st38;
-		case 104: goto st26;
-		case 110: goto st30;
-		case 115: goto st38;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3159:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 72: goto st33;
+		case 78: goto st37;
+		case 83: goto st45;
+		case 104: goto st33;
+		case 110: goto st37;
+		case 115: goto st45;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3222:
 	{
 		s->r_class = s->default_class;
 	}
@@ -27961,9 +29053,9 @@ tr3159:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 231; goto st248;} }
-	goto st231;
-tr3177:
+	{ p--; {stack[top++] = 238; goto st255;} }
+	goto st238;
+tr3240:
 	{
 		s->r_class = s->default_class;
 	}
@@ -27974,12 +29066,12 @@ tr3177:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 231; goto st248;} }
-	goto st231;
-st231:
+	{ p--; {stack[top++] = 238; goto st255;} }
+	goto st238;
+st238:
 	if ( ++p == pe )
-		goto _test_eof231;
-case 231:
+		goto _test_eof238;
+case 238:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27993,17 +29085,17 @@ case 231:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 85: goto st40;
-		case 117: goto st40;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3160:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 85: goto st47;
+		case 117: goto st47;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3223:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28011,9 +29103,9 @@ tr3160:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 232; goto st248;} }
-	goto st232;
-tr3178:
+	{ p--; {stack[top++] = 239; goto st255;} }
+	goto st239;
+tr3241:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28024,12 +29116,12 @@ tr3178:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 232; goto st248;} }
-	goto st232;
-st232:
+	{ p--; {stack[top++] = 239; goto st255;} }
+	goto st239;
+st239:
 	if ( ++p == pe )
-		goto _test_eof232;
-case 232:
+		goto _test_eof239;
+case 239:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28043,17 +29135,17 @@ case 232:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 73: goto st47;
-		case 105: goto st47;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3179:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 73: goto st54;
+		case 105: goto st54;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3242:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28064,12 +29156,12 @@ tr3179:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 233; goto st248;} }
-	goto st233;
-st233:
+	{ p--; {stack[top++] = 240; goto st255;} }
+	goto st240;
+st240:
 	if ( ++p == pe )
-		goto _test_eof233;
-case 233:
+		goto _test_eof240;
+case 240:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28083,19 +29175,19 @@ case 233:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 78: goto st130;
-		case 80: goto st55;
-		case 110: goto st130;
-		case 112: goto st55;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3162:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 78: goto st137;
+		case 80: goto st62;
+		case 110: goto st137;
+		case 112: goto st62;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3225:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28103,9 +29195,9 @@ tr3162:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 234; goto st248;} }
-	goto st234;
-tr3180:
+	{ p--; {stack[top++] = 241; goto st255;} }
+	goto st241;
+tr3243:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28116,12 +29208,12 @@ tr3180:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 234; goto st248;} }
-	goto st234;
-st234:
+	{ p--; {stack[top++] = 241; goto st255;} }
+	goto st241;
+st241:
 	if ( ++p == pe )
-		goto _test_eof234;
-case 234:
+		goto _test_eof241;
+case 241:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28135,19 +29227,19 @@ case 234:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 69: goto st63;
-		case 88: goto st65;
-		case 101: goto st63;
-		case 120: goto st65;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3163:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 69: goto st70;
+		case 88: goto st72;
+		case 101: goto st70;
+		case 120: goto st72;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3226:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28155,9 +29247,9 @@ tr3163:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 235; goto st248;} }
-	goto st235;
-tr3181:
+	{ p--; {stack[top++] = 242; goto st255;} }
+	goto st242;
+tr3244:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28168,12 +29260,12 @@ tr3181:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 235; goto st248;} }
-	goto st235;
-st235:
+	{ p--; {stack[top++] = 242; goto st255;} }
+	goto st242;
+st242:
 	if ( ++p == pe )
-		goto _test_eof235;
-case 235:
+		goto _test_eof242;
+case 242:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28187,21 +29279,21 @@ case 235:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 51: goto st67;
-		case 54: goto st69;
-		case 79: goto st71;
-		case 80: goto st73;
-		case 111: goto st71;
-		case 112: goto st73;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3164:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 51: goto st74;
+		case 54: goto st76;
+		case 79: goto st78;
+		case 80: goto st80;
+		case 111: goto st78;
+		case 112: goto st80;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3227:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28209,9 +29301,9 @@ tr3164:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 236; goto st248;} }
-	goto st236;
-tr3182:
+	{ p--; {stack[top++] = 243; goto st255;} }
+	goto st243;
+tr3245:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28222,12 +29314,12 @@ tr3182:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 236; goto st248;} }
-	goto st236;
-st236:
+	{ p--; {stack[top++] = 243; goto st255;} }
+	goto st243;
+st243:
 	if ( ++p == pe )
-		goto _test_eof236;
-case 236:
+		goto _test_eof243;
+case 243:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28241,19 +29333,19 @@ case 236:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 73: goto st75;
-		case 88: goto st79;
-		case 105: goto st75;
-		case 120: goto st79;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3165:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 73: goto st82;
+		case 88: goto st86;
+		case 105: goto st82;
+		case 120: goto st86;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3228:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28261,9 +29353,9 @@ tr3165:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 237; goto st248;} }
-	goto st237;
-tr3183:
+	{ p--; {stack[top++] = 244; goto st255;} }
+	goto st244;
+tr3246:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28274,12 +29366,12 @@ tr3183:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 237; goto st248;} }
-	goto st237;
-st237:
+	{ p--; {stack[top++] = 244; goto st255;} }
+	goto st244;
+st244:
 	if ( ++p == pe )
-		goto _test_eof237;
-case 237:
+		goto _test_eof244;
+case 244:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28293,21 +29385,21 @@ case 237:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 65: goto st81;
-		case 73: goto st85;
-		case 83: goto st87;
-		case 97: goto st81;
-		case 105: goto st85;
-		case 115: goto st87;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3166:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 65: goto st88;
+		case 73: goto st92;
+		case 83: goto st94;
+		case 97: goto st88;
+		case 105: goto st92;
+		case 115: goto st94;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3229:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28315,9 +29407,9 @@ tr3166:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 238; goto st248;} }
-	goto st238;
-tr3184:
+	{ p--; {stack[top++] = 245; goto st255;} }
+	goto st245;
+tr3247:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28328,12 +29420,12 @@ tr3184:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 238; goto st248;} }
-	goto st238;
-st238:
+	{ p--; {stack[top++] = 245; goto st255;} }
+	goto st245;
+st245:
 	if ( ++p == pe )
-		goto _test_eof238;
-case 238:
+		goto _test_eof245;
+case 245:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28347,17 +29439,17 @@ case 238:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 84: goto st97;
-		case 116: goto st97;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3167:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 84: goto st104;
+		case 116: goto st104;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3230:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28365,9 +29457,9 @@ tr3167:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 239; goto st248;} }
-	goto st239;
-tr3185:
+	{ p--; {stack[top++] = 246; goto st255;} }
+	goto st246;
+tr3248:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28378,12 +29470,12 @@ tr3185:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 239; goto st248;} }
-	goto st239;
-st239:
+	{ p--; {stack[top++] = 246; goto st255;} }
+	goto st246;
+st246:
 	if ( ++p == pe )
-		goto _test_eof239;
-case 239:
+		goto _test_eof246;
+case 246:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28397,21 +29489,21 @@ case 239:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 80: goto st100;
-		case 82: goto st101;
-		case 84: goto st105;
-		case 112: goto st100;
-		case 114: goto st101;
-		case 116: goto st105;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3168:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 80: goto st107;
+		case 82: goto st108;
+		case 84: goto st112;
+		case 112: goto st107;
+		case 114: goto st108;
+		case 116: goto st112;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3231:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28419,9 +29511,9 @@ tr3168:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 240; goto st248;} }
-	goto st240;
-tr3186:
+	{ p--; {stack[top++] = 247; goto st255;} }
+	goto st247;
+tr3249:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28432,12 +29524,12 @@ tr3186:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 240; goto st248;} }
-	goto st240;
-st240:
+	{ p--; {stack[top++] = 247; goto st255;} }
+	goto st247;
+st247:
 	if ( ++p == pe )
-		goto _test_eof240;
-case 240:
+		goto _test_eof247;
+case 247:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28451,23 +29543,23 @@ case 240:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 79: goto st107;
-		case 80: goto st109;
-		case 82: goto st111;
-		case 83: goto st113;
-		case 111: goto st107;
-		case 112: goto st109;
-		case 114: goto st111;
-		case 115: goto st113;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 79: goto st114;
+		case 80: goto st116;
+		case 82: goto st118;
+		case 83: goto st120;
+		case 111: goto st114;
+		case 112: goto st116;
+		case 114: goto st118;
+		case 115: goto st120;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
 	}
-	goto tr774;
-tr3169:
+	goto tr797;
+tr3232:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28475,9 +29567,9 @@ tr3169:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 241; goto st248;} }
-	goto st241;
-tr3187:
+	{ p--; {stack[top++] = 248; goto st255;} }
+	goto st248;
+tr3250:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28488,12 +29580,12 @@ tr3187:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 241; goto st248;} }
-	goto st241;
-st241:
+	{ p--; {stack[top++] = 248; goto st255;} }
+	goto st248;
+st248:
 	if ( ++p == pe )
-		goto _test_eof241;
-case 241:
+		goto _test_eof248;
+case 248:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28507,43 +29599,43 @@ case 241:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 76: goto st118;
-		case 88: goto st121;
-		case 89: goto st123;
-		case 108: goto st118;
-		case 120: goto st121;
-		case 121: goto st123;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
-tr3141:
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 76: goto st125;
+		case 88: goto st128;
+		case 89: goto st130;
+		case 108: goto st125;
+		case 120: goto st128;
+		case 121: goto st130;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
+tr3204:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st242;
-tr3197:
+	goto st249;
+tr3260:
 	{
 		s->stop = false;
 	}
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st242;
-st242:
+	goto st249;
+st249:
 	if ( ++p == pe )
-		goto _test_eof242;
-case 242:
+		goto _test_eof249;
+case 249:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -28568,22 +29660,22 @@ case 242:
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st242;
+			goto st249;
 	} else if ( _widec >= 640 )
-		goto st137;
+		goto st144;
 	goto tr83;
-tr3171:
+tr3234:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st243;
-st243:
+	goto st250;
+st250:
 	if ( ++p == pe )
-		goto _test_eof243;
-case 243:
+		goto _test_eof250;
+case 250:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -28604,15 +29696,15 @@ case 243:
 	}
 	switch( _widec ) {
 		case 778: goto tr19;
-		case 1034: goto tr539;
+		case 1034: goto tr562;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st243;
+			goto st250;
 	} else if ( _widec >= 640 )
-		goto st137;
+		goto st144;
 	goto tr125;
-tr3161:
+tr3224:
 	{
 		s->r_class = s->default_class;
 	}
@@ -28620,12 +29712,12 @@ tr3161:
 		s->dname = s->r_owner;
 		s->r_owner_length = 0;
 	}
-	{ p--; {stack[top++] = 244; goto st248;} }
-	goto st244;
-st244:
+	{ p--; {stack[top++] = 251; goto st255;} }
+	goto st251;
+st251:
 	if ( ++p == pe )
-		goto _test_eof244;
-case 244:
+		goto _test_eof251;
+case 251:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28639,32 +29731,32 @@ case 244:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr603;
-		case 32: goto tr603;
-		case 40: goto tr604;
-		case 41: goto tr605;
-		case 78: goto st52;
-		case 80: goto st55;
-		case 110: goto st52;
-		case 112: goto st55;
-		case 1034: goto tr606;
-		case 1083: goto tr607;
-	}
-	goto tr774;
+		case 9: goto tr626;
+		case 32: goto tr626;
+		case 40: goto tr627;
+		case 41: goto tr628;
+		case 78: goto st59;
+		case 80: goto st62;
+		case 110: goto st59;
+		case 112: goto st62;
+		case 1034: goto tr629;
+		case 1083: goto tr630;
+	}
+	goto tr797;
 tr124:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st245;
-st245:
+	goto st252;
+st252:
 	if ( ++p == pe )
-		goto _test_eof245;
-case 245:
+		goto _test_eof252;
+case 252:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -28689,18 +29781,18 @@ case 245:
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st245;
+			goto st252;
 	} else if ( _widec >= 640 )
 		goto st8;
 	goto tr125;
-st246:
+st253:
 	if ( ++p == pe )
-		goto _test_eof246;
-case 246:
+		goto _test_eof253;
+case 253:
 	if ( (*p) == 10 )
-		goto tr776;
-	goto tr775;
-tr775:
+		goto tr799;
+	goto tr798;
+tr798:
 	{
 		s->buffer_length = 0;
 	}
@@ -28713,8 +29805,8 @@ tr775:
 			s->buffer[s->buffer_length++] = (*p);
 		}
 	}
-	goto st247;
-tr777:
+	goto st254;
+tr800:
 	{
 		if ((*p) == '\r') {
 			ERR(ZS_DOS_NEWLINE);
@@ -28724,15 +29816,15 @@ tr777:
 			s->buffer[s->buffer_length++] = (*p);
 		}
 	}
-	goto st247;
-st247:
+	goto st254;
+st254:
 	if ( ++p == pe )
-		goto _test_eof247;
-case 247:
+		goto _test_eof254;
+case 254:
 	if ( (*p) == 10 )
-		goto tr778;
-	goto tr777;
-tr776:
+		goto tr801;
+	goto tr800;
+tr799:
 	{
 		s->buffer_length = 0;
 	}
@@ -28761,9 +29853,9 @@ tr776:
 	{
 		s->line_counter++;
 	}
-	{ {goto st1056;} }
-	goto st1066;
-tr778:
+	{ {goto st1077;} }
+	goto st1087;
+tr801:
 	{
 		// Ending string in buffer.
 		s->buffer[s->buffer_length++] = 0;
@@ -28789,34 +29881,34 @@ tr778:
 	{
 		s->line_counter++;
 	}
-	{ {goto st1056;} }
-	goto st1066;
-st1066:
+	{ {goto st1077;} }
+	goto st1087;
+st1087:
 	if ( ++p == pe )
-		goto _test_eof1066;
-case 1066:
+		goto _test_eof1087;
+case 1087:
 	goto st0;
-st248:
+st255:
 	if ( ++p == pe )
-		goto _test_eof248;
-case 248:
+		goto _test_eof255;
+case 255:
 	switch( (*p) ) {
-		case 42: goto tr780;
-		case 46: goto tr781;
-		case 64: goto st256;
-		case 92: goto tr783;
-		case 95: goto tr780;
+		case 42: goto tr803;
+		case 46: goto tr804;
+		case 64: goto st263;
+		case 92: goto tr806;
+		case 95: goto tr803;
 	}
 	if ( (*p) < 65 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr780;
+			goto tr803;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr780;
+			goto tr803;
 	} else
-		goto tr780;
-	goto tr779;
-tr780:
+		goto tr803;
+	goto tr802;
+tr803:
 	{
 		s->item_length_position = 0;
 		s->dname_tmp_length = 0;
@@ -28826,147 +29918,159 @@ tr780:
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st249;
-tr785:
+	goto st256;
+tr808:
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st249;
-tr789:
+	goto st256;
+tr812:
 	{
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st249;
-tr796:
+	goto st256;
+tr819:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st249;
-st249:
+	goto st256;
+st256:
 	if ( ++p == pe )
-		goto _test_eof249;
-case 249:
+		goto _test_eof256;
+case 256:
 	switch( (*p) ) {
-		case 32: goto tr784;
-		case 42: goto tr785;
-		case 46: goto tr786;
-		case 59: goto tr784;
-		case 92: goto st251;
-		case 95: goto tr785;
+		case 32: goto tr807;
+		case 42: goto tr808;
+		case 46: goto tr809;
+		case 59: goto tr807;
+		case 92: goto st258;
+		case 95: goto tr808;
 	}
 	if ( (*p) < 45 ) {
 		if ( (*p) > 10 ) {
 			if ( 40 <= (*p) && (*p) <= 41 )
-				goto tr784;
+				goto tr807;
 		} else if ( (*p) >= 9 )
-			goto tr784;
+			goto tr807;
 	} else if ( (*p) > 57 ) {
 		if ( (*p) > 90 ) {
 			if ( 97 <= (*p) && (*p) <= 122 )
-				goto tr785;
+				goto tr808;
 		} else if ( (*p) >= 65 )
-			goto tr785;
+			goto tr808;
 	} else
-		goto tr785;
-	goto tr779;
-tr784:
+		goto tr808;
+	goto tr802;
+tr807:
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
-		memcpy(s->dname + s->dname_tmp_length,
-		       s->zone_origin,
-		       s->zone_origin_length);
+		// Check for (relative + origin) dname length overflow.
+		if (s->dname_tmp_length + s->zone_origin_length <= MAX_DNAME_LENGTH) {
+			memcpy(s->dname + s->dname_tmp_length,
+			       s->zone_origin,
+			       s->zone_origin_length);
 
-		s->dname_tmp_length += s->zone_origin_length;
-
-		if (s->dname_tmp_length > MAX_DNAME_LENGTH) {
+			s->dname_tmp_length += s->zone_origin_length;
+		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1067;
-tr788:
+	goto st1088;
+tr811:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1067;
-tr795:
+	goto st1088;
+tr818:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
-		memcpy(s->dname + s->dname_tmp_length,
-		       s->zone_origin,
-		       s->zone_origin_length);
-
-		s->dname_tmp_length += s->zone_origin_length;
+		// Check for (relative + origin) dname length overflow.
+		if (s->dname_tmp_length + s->zone_origin_length <= MAX_DNAME_LENGTH) {
+			memcpy(s->dname + s->dname_tmp_length,
+			       s->zone_origin,
+			       s->zone_origin_length);
 
-		if (s->dname_tmp_length > MAX_DNAME_LENGTH) {
+			s->dname_tmp_length += s->zone_origin_length;
+		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1067;
-tr799:
+	goto st1088;
+tr822:
 	{
+		// Copy already verified zone origin.
 		memcpy(s->dname,
 		       s->zone_origin,
 		       s->zone_origin_length);
@@ -28976,65 +30080,69 @@ tr799:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1067;
-st1067:
+	goto st1088;
+st1088:
 	if ( ++p == pe )
-		goto _test_eof1067;
-case 1067:
+		goto _test_eof1088;
+case 1088:
 	goto st0;
-tr786:
+tr809:
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st250;
-tr797:
+	goto st257;
+tr820:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st250;
-st250:
+	goto st257;
+st257:
 	if ( ++p == pe )
-		goto _test_eof250;
-case 250:
+		goto _test_eof257;
+case 257:
 	switch( (*p) ) {
-		case 32: goto tr788;
-		case 42: goto tr789;
-		case 45: goto tr789;
-		case 59: goto tr788;
-		case 92: goto tr790;
-		case 95: goto tr789;
+		case 32: goto tr811;
+		case 42: goto tr812;
+		case 45: goto tr812;
+		case 59: goto tr811;
+		case 92: goto tr813;
+		case 95: goto tr812;
 	}
 	if ( (*p) < 47 ) {
 		if ( (*p) > 10 ) {
 			if ( 40 <= (*p) && (*p) <= 41 )
-				goto tr788;
+				goto tr811;
 		} else if ( (*p) >= 9 )
-			goto tr788;
+			goto tr811;
 	} else if ( (*p) > 57 ) {
 		if ( (*p) > 90 ) {
 			if ( 97 <= (*p) && (*p) <= 122 )
-				goto tr789;
+				goto tr812;
 		} else if ( (*p) >= 65 )
-			goto tr789;
+			goto tr812;
 	} else
-		goto tr789;
-	goto tr779;
-tr783:
+		goto tr812;
+	goto tr802;
+tr806:
 	{
 		s->item_length_position = 0;
 		s->dname_tmp_length = 0;
@@ -29043,152 +30151,152 @@ tr783:
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
-	goto st251;
-tr790:
+	goto st258;
+tr813:
 	{
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
-	goto st251;
-tr798:
+	goto st258;
+tr821:
 	{
 		s->dname_tmp_length++;
 	}
-	goto st251;
-st251:
+	goto st258;
+st258:
 	if ( ++p == pe )
-		goto _test_eof251;
-case 251:
+		goto _test_eof258;
+case 258:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr791;
-	goto tr785;
-tr791:
+		goto tr814;
+	goto tr808;
+tr814:
 	{
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length] = 0;
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st252;
-st252:
+	goto st259;
+st259:
 	if ( ++p == pe )
-		goto _test_eof252;
-case 252:
+		goto _test_eof259;
+case 259:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr793;
-	goto tr792;
-tr793:
+		goto tr816;
+	goto tr815;
+tr816:
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st253;
-st253:
+	goto st260;
+st260:
 	if ( ++p == pe )
-		goto _test_eof253;
-case 253:
+		goto _test_eof260;
+case 260:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr794;
-	goto tr792;
-tr794:
+		goto tr817;
+	goto tr815;
+tr817:
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st254;
-st254:
+	goto st261;
+st261:
 	if ( ++p == pe )
-		goto _test_eof254;
-case 254:
+		goto _test_eof261;
+case 261:
 	switch( (*p) ) {
-		case 32: goto tr795;
-		case 42: goto tr796;
-		case 46: goto tr797;
-		case 59: goto tr795;
-		case 92: goto tr798;
-		case 95: goto tr796;
+		case 32: goto tr818;
+		case 42: goto tr819;
+		case 46: goto tr820;
+		case 59: goto tr818;
+		case 92: goto tr821;
+		case 95: goto tr819;
 	}
 	if ( (*p) < 45 ) {
 		if ( (*p) > 10 ) {
 			if ( 40 <= (*p) && (*p) <= 41 )
-				goto tr795;
+				goto tr818;
 		} else if ( (*p) >= 9 )
-			goto tr795;
+			goto tr818;
 	} else if ( (*p) > 57 ) {
 		if ( (*p) > 90 ) {
 			if ( 97 <= (*p) && (*p) <= 122 )
-				goto tr796;
+				goto tr819;
 		} else if ( (*p) >= 65 )
-			goto tr796;
+			goto tr819;
 	} else
-		goto tr796;
-	goto tr792;
-tr781:
+		goto tr819;
+	goto tr815;
+tr804:
 	{
 		s->item_length_position = 0;
 		s->dname_tmp_length = 0;
 	}
-	goto st255;
-st255:
+	goto st262;
+st262:
 	if ( ++p == pe )
-		goto _test_eof255;
-case 255:
+		goto _test_eof262;
+case 262:
 	switch( (*p) ) {
-		case 32: goto tr788;
-		case 59: goto tr788;
+		case 32: goto tr811;
+		case 59: goto tr811;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr788;
+			goto tr811;
 	} else if ( (*p) >= 9 )
-		goto tr788;
-	goto tr779;
-st256:
+		goto tr811;
+	goto tr802;
+st263:
 	if ( ++p == pe )
-		goto _test_eof256;
-case 256:
+		goto _test_eof263;
+case 263:
 	switch( (*p) ) {
-		case 32: goto tr799;
-		case 59: goto tr799;
+		case 32: goto tr822;
+		case 59: goto tr822;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr799;
+			goto tr822;
 	} else if ( (*p) >= 9 )
-		goto tr799;
-	goto tr779;
-st257:
+		goto tr822;
+	goto tr802;
+st264:
 	if ( ++p == pe )
-		goto _test_eof257;
-case 257:
+		goto _test_eof264;
+case 264:
 	switch( (*p) ) {
-		case 34: goto st263;
-		case 92: goto st259;
+		case 34: goto st270;
+		case 92: goto st266;
 	}
 	if ( (*p) > 58 ) {
 		if ( 60 <= (*p) && (*p) <= 126 )
-			goto tr801;
+			goto tr824;
 	} else if ( (*p) >= 33 )
-		goto tr801;
-	goto tr800;
-tr801:
+		goto tr824;
+	goto tr823;
+tr824:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st258;
-tr811:
+	goto st265;
+tr834:
 	{
 		rdata_tail++;
 	}
@@ -29197,64 +30305,64 @@ tr811:
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st258;
-st258:
+	goto st265;
+st265:
 	if ( ++p == pe )
-		goto _test_eof258;
-case 258:
+		goto _test_eof265;
+case 265:
 	switch( (*p) ) {
-		case 32: goto tr804;
-		case 33: goto tr801;
-		case 59: goto tr804;
-		case 92: goto st259;
+		case 32: goto tr827;
+		case 33: goto tr824;
+		case 59: goto tr827;
+		case 92: goto st266;
 	}
 	if ( (*p) < 35 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr804;
+			goto tr827;
 	} else if ( (*p) > 39 ) {
 		if ( (*p) > 41 ) {
 			if ( 42 <= (*p) && (*p) <= 126 )
-				goto tr801;
+				goto tr824;
 		} else if ( (*p) >= 40 )
-			goto tr805;
+			goto tr828;
 	} else
-		goto tr801;
-	goto tr800;
-tr804:
+		goto tr824;
+	goto tr823;
+tr827:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1068;
-tr810:
+	goto st1089;
+tr833:
 	{
 		rdata_tail++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1068;
-st1068:
+	goto st1089;
+st1089:
 	if ( ++p == pe )
-		goto _test_eof1068;
-case 1068:
+		goto _test_eof1089;
+case 1089:
 	goto st0;
-tr805:
+tr828:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1069;
-tr812:
+	goto st1090;
+tr835:
 	{
 		rdata_tail++;
 	}
@@ -29263,148 +30371,148 @@ tr812:
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1069;
-st1069:
+	goto st1090;
+st1090:
 	if ( ++p == pe )
-		goto _test_eof1069;
-case 1069:
+		goto _test_eof1090;
+case 1090:
 	switch( (*p) ) {
-		case 32: goto tr804;
-		case 33: goto tr801;
-		case 59: goto tr804;
-		case 92: goto st259;
+		case 32: goto tr827;
+		case 33: goto tr824;
+		case 59: goto tr827;
+		case 92: goto st266;
 	}
 	if ( (*p) < 35 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr804;
+			goto tr827;
 	} else if ( (*p) > 39 ) {
 		if ( (*p) > 41 ) {
 			if ( 42 <= (*p) && (*p) <= 126 )
-				goto tr801;
+				goto tr824;
 		} else if ( (*p) >= 40 )
-			goto tr805;
+			goto tr828;
 	} else
-		goto tr801;
-	goto tr800;
-tr813:
+		goto tr824;
+	goto tr823;
+tr836:
 	{
 		rdata_tail++;
 	}
-	goto st259;
-st259:
+	goto st266;
+st266:
 	if ( ++p == pe )
-		goto _test_eof259;
-case 259:
+		goto _test_eof266;
+case 266:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr806;
-	goto tr801;
-tr806:
+		goto tr829;
+	goto tr824;
+tr829:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = 0;
 			s->item_length++;
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st260;
-st260:
+	goto st267;
+st267:
 	if ( ++p == pe )
-		goto _test_eof260;
-case 260:
+		goto _test_eof267;
+case 267:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr808;
-	goto tr807;
-tr808:
+		goto tr831;
+	goto tr830;
+tr831:
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st261;
-st261:
+	goto st268;
+st268:
 	if ( ++p == pe )
-		goto _test_eof261;
-case 261:
+		goto _test_eof268;
+case 268:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr809;
-	goto tr807;
-tr809:
+		goto tr832;
+	goto tr830;
+tr832:
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st262;
-st262:
+	goto st269;
+st269:
 	if ( ++p == pe )
-		goto _test_eof262;
-case 262:
+		goto _test_eof269;
+case 269:
 	switch( (*p) ) {
-		case 32: goto tr810;
-		case 33: goto tr811;
-		case 59: goto tr810;
-		case 92: goto tr813;
+		case 32: goto tr833;
+		case 33: goto tr834;
+		case 59: goto tr833;
+		case 92: goto tr836;
 	}
 	if ( (*p) < 35 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr810;
+			goto tr833;
 	} else if ( (*p) > 39 ) {
 		if ( (*p) > 41 ) {
 			if ( 42 <= (*p) && (*p) <= 126 )
-				goto tr811;
+				goto tr834;
 		} else if ( (*p) >= 40 )
-			goto tr812;
+			goto tr835;
 	} else
-		goto tr811;
-	goto tr807;
-tr814:
+		goto tr834;
+	goto tr830;
+tr837:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st263;
-tr821:
+	goto st270;
+tr844:
 	{
 		rdata_tail++;
 	}
@@ -29413,14 +30521,14 @@ tr821:
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st263;
-st263:
+	goto st270;
+st270:
 	if ( ++p == pe )
-		goto _test_eof263;
-case 263:
+		goto _test_eof270;
+case 270:
 	_widec = (*p);
 	if ( 10 <= (*p) && (*p) <= 10 ) {
 		_widec = (short)(128 + ((*p) - -128));
@@ -29428,117 +30536,117 @@ case 263:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr814;
-		case 34: goto st264;
-		case 92: goto st265;
-		case 522: goto tr814;
+		case 9: goto tr837;
+		case 34: goto st271;
+		case 92: goto st272;
+		case 522: goto tr837;
 	}
 	if ( 32 <= _widec && _widec <= 126 )
-		goto tr814;
-	goto tr800;
-tr822:
+		goto tr837;
+	goto tr823;
+tr845:
 	{
 		rdata_tail++;
 	}
-	goto st264;
-st264:
+	goto st271;
+st271:
 	if ( ++p == pe )
-		goto _test_eof264;
-case 264:
+		goto _test_eof271;
+case 271:
 	switch( (*p) ) {
-		case 32: goto tr804;
-		case 59: goto tr804;
+		case 32: goto tr827;
+		case 59: goto tr827;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr804;
+			goto tr827;
 	} else if ( (*p) >= 9 )
-		goto tr804;
-	goto tr817;
-tr823:
+		goto tr827;
+	goto tr840;
+tr846:
 	{
 		rdata_tail++;
 	}
-	goto st265;
-st265:
+	goto st272;
+st272:
 	if ( ++p == pe )
-		goto _test_eof265;
-case 265:
+		goto _test_eof272;
+case 272:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr818;
-	goto tr814;
-tr818:
+		goto tr841;
+	goto tr837;
+tr841:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = 0;
 			s->item_length++;
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st266;
-st266:
+	goto st273;
+st273:
 	if ( ++p == pe )
-		goto _test_eof266;
-case 266:
+		goto _test_eof273;
+case 273:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr819;
-	goto tr807;
-tr819:
+		goto tr842;
+	goto tr830;
+tr842:
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st267;
-st267:
+	goto st274;
+st274:
 	if ( ++p == pe )
-		goto _test_eof267;
-case 267:
+		goto _test_eof274;
+case 274:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr820;
-	goto tr807;
-tr820:
+		goto tr843;
+	goto tr830;
+tr843:
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st268;
-st268:
+	goto st275;
+st275:
 	if ( ++p == pe )
-		goto _test_eof268;
-case 268:
+		goto _test_eof275;
+case 275:
 	_widec = (*p);
 	if ( 10 <= (*p) && (*p) <= 10 ) {
 		_widec = (short)(128 + ((*p) - -128));
@@ -29546,18 +30654,18 @@ case 268:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr821;
-		case 34: goto tr822;
-		case 92: goto tr823;
-		case 522: goto tr821;
+		case 9: goto tr844;
+		case 34: goto tr845;
+		case 92: goto tr846;
+		case 522: goto tr844;
 	}
 	if ( 32 <= _widec && _widec <= 126 )
-		goto tr821;
-	goto tr807;
-st269:
+		goto tr844;
+	goto tr830;
+st276:
 	if ( ++p == pe )
-		goto _test_eof269;
-case 269:
+		goto _test_eof276;
+case 276:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29571,41 +30679,41 @@ case 269:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st270;
-		case 32: goto st270;
-		case 40: goto tr826;
-		case 41: goto tr827;
-		case 1034: goto tr828;
-		case 1083: goto st277;
-	}
-	goto tr824;
-tr826:
+		case 9: goto st277;
+		case 32: goto st277;
+		case 40: goto tr849;
+		case 41: goto tr850;
+		case 1034: goto tr851;
+		case 1083: goto st284;
+	}
+	goto tr847;
+tr849:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st270;
-tr827:
+	goto st277;
+tr850:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st270;
-tr828:
+	goto st277;
+tr851:
 	{
 		s->line_counter++;
 	}
-	goto st270;
-st270:
+	goto st277;
+st277:
 	if ( ++p == pe )
-		goto _test_eof270;
-case 270:
+		goto _test_eof277;
+case 277:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29619,55 +30727,55 @@ case 270:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st270;
-		case 32: goto st270;
-		case 40: goto tr826;
-		case 41: goto tr827;
-		case 1034: goto tr828;
-		case 1083: goto st277;
+		case 9: goto st277;
+		case 32: goto st277;
+		case 40: goto tr849;
+		case 41: goto tr850;
+		case 1034: goto tr851;
+		case 1083: goto st284;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr831;
-	goto tr830;
-tr831:
+		goto tr854;
+	goto tr853;
+tr854:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st271;
-tr836:
+	goto st278;
+tr859:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st271;
-st271:
+	goto st278;
+st278:
 	if ( ++p == pe )
-		goto _test_eof271;
-case 271:
+		goto _test_eof278;
+case 278:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29681,94 +30789,94 @@ case 271:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st272;
-		case 32: goto st272;
-		case 40: goto tr834;
-		case 41: goto tr835;
-		case 68: goto tr837;
-		case 72: goto tr838;
-		case 77: goto tr839;
-		case 83: goto st274;
-		case 87: goto tr841;
-		case 100: goto tr837;
-		case 104: goto tr838;
-		case 109: goto tr839;
-		case 115: goto st274;
-		case 119: goto tr841;
-		case 778: goto tr842;
-		case 827: goto st273;
-		case 1034: goto tr842;
-		case 1083: goto st273;
+		case 9: goto st279;
+		case 32: goto st279;
+		case 40: goto tr857;
+		case 41: goto tr858;
+		case 68: goto tr860;
+		case 72: goto tr861;
+		case 77: goto tr862;
+		case 83: goto st281;
+		case 87: goto tr864;
+		case 100: goto tr860;
+		case 104: goto tr861;
+		case 109: goto tr862;
+		case 115: goto st281;
+		case 119: goto tr864;
+		case 778: goto tr865;
+		case 827: goto st280;
+		case 1034: goto tr865;
+		case 1083: goto st280;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr836;
-	goto tr832;
-tr834:
+		goto tr859;
+	goto tr855;
+tr857:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st272;
-tr835:
+	goto st279;
+tr858:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st272;
-tr853:
+	goto st279;
+tr876:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st272;
-tr854:
+	goto st279;
+tr877:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st272;
-tr855:
+	goto st279;
+tr878:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st272;
-st272:
+	goto st279;
+st279:
 	if ( ++p == pe )
-		goto _test_eof272;
-case 272:
+		goto _test_eof279;
+case 279:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29782,23 +30890,23 @@ case 272:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st272;
-		case 32: goto st272;
-		case 40: goto tr834;
-		case 41: goto tr835;
-		case 778: goto tr842;
-		case 827: goto st273;
-		case 1034: goto tr842;
-		case 1083: goto st273;
-	}
-	goto tr844;
-tr842:
+		case 9: goto st279;
+		case 32: goto st279;
+		case 40: goto tr857;
+		case 41: goto tr858;
+		case 778: goto tr865;
+		case 827: goto st280;
+		case 1034: goto tr865;
+		case 1083: goto st280;
+	}
+	goto tr867;
+tr865:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			s->default_ttl = (uint32_t)(s->number64);
 		} else {
 			ERR(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -29807,14 +30915,14 @@ tr842:
 	{
 		s->line_counter++;
 	}
-	goto st1070;
-tr857:
+	goto st1091;
+tr880:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -29822,7 +30930,7 @@ tr857:
 			s->default_ttl = (uint32_t)(s->number64);
 		} else {
 			ERR(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -29831,69 +30939,69 @@ tr857:
 	{
 		s->line_counter++;
 	}
-	goto st1070;
-st1070:
+	goto st1091;
+st1091:
 	if ( ++p == pe )
-		goto _test_eof1070;
-case 1070:
+		goto _test_eof1091;
+case 1091:
 	goto st0;
-tr858:
+tr881:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st273;
-st273:
+	goto st280;
+st280:
 	if ( ++p == pe )
-		goto _test_eof273;
-case 273:
+		goto _test_eof280;
+case 280:
 	if ( (*p) == 10 )
-		goto tr842;
-	goto st273;
-tr837:
+		goto tr865;
+	goto st280;
+tr860:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st274;
-tr838:
+	goto st281;
+tr861:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st274;
-tr839:
+	goto st281;
+tr862:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st274;
-tr841:
+	goto st281;
+tr864:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st274;
-st274:
+	goto st281;
+st281:
 	if ( ++p == pe )
-		goto _test_eof274;
-case 274:
+		goto _test_eof281;
+case 281:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29907,35 +31015,35 @@ case 274:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st272;
-		case 32: goto st272;
-		case 40: goto tr834;
-		case 41: goto tr835;
-		case 778: goto tr842;
-		case 827: goto st273;
-		case 1034: goto tr842;
-		case 1083: goto st273;
+		case 9: goto st279;
+		case 32: goto st279;
+		case 40: goto tr857;
+		case 41: goto tr858;
+		case 778: goto tr865;
+		case 827: goto st280;
+		case 1034: goto tr865;
+		case 1083: goto st280;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr845;
-	goto tr832;
-tr847:
+		goto tr868;
+	goto tr855;
+tr870:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st275;
-tr845:
+	goto st282;
+tr868:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -29943,27 +31051,27 @@ tr845:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st275;
-tr856:
+	goto st282;
+tr879:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -29973,79 +31081,79 @@ tr856:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st275;
-st275:
+	goto st282;
+st282:
 	if ( ++p == pe )
-		goto _test_eof275;
-case 275:
+		goto _test_eof282;
+case 282:
 	switch( (*p) ) {
-		case 68: goto tr848;
-		case 72: goto tr849;
-		case 77: goto tr850;
-		case 83: goto st276;
-		case 87: goto tr852;
-		case 100: goto tr848;
-		case 104: goto tr849;
-		case 109: goto tr850;
-		case 115: goto st276;
-		case 119: goto tr852;
+		case 68: goto tr871;
+		case 72: goto tr872;
+		case 77: goto tr873;
+		case 83: goto st283;
+		case 87: goto tr875;
+		case 100: goto tr871;
+		case 104: goto tr872;
+		case 109: goto tr873;
+		case 115: goto st283;
+		case 119: goto tr875;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr847;
-	goto tr846;
-tr848:
+		goto tr870;
+	goto tr869;
+tr871:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st276;
-tr849:
+	goto st283;
+tr872:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st276;
-tr850:
+	goto st283;
+tr873:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st276;
-tr852:
+	goto st283;
+tr875:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st276;
-st276:
+	goto st283;
+st283:
 	if ( ++p == pe )
-		goto _test_eof276;
-case 276:
+		goto _test_eof283;
+case 283:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30059,22 +31167,22 @@ case 276:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr853;
-		case 32: goto tr853;
-		case 40: goto tr854;
-		case 41: goto tr855;
-		case 778: goto tr857;
-		case 827: goto tr858;
-		case 1034: goto tr857;
-		case 1083: goto tr858;
+		case 9: goto tr876;
+		case 32: goto tr876;
+		case 40: goto tr877;
+		case 41: goto tr878;
+		case 778: goto tr880;
+		case 827: goto tr881;
+		case 1034: goto tr880;
+		case 1083: goto tr881;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr856;
-	goto tr832;
-st277:
+		goto tr879;
+	goto tr855;
+st284:
 	if ( ++p == pe )
-		goto _test_eof277;
-case 277:
+		goto _test_eof284;
+case 284:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -30094,14 +31202,14 @@ case 277:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr828;
+		goto tr851;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st277;
-	goto tr824;
-st278:
+		goto st284;
+	goto tr847;
+st285:
 	if ( ++p == pe )
-		goto _test_eof278;
-case 278:
+		goto _test_eof285;
+case 285:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30115,41 +31223,41 @@ case 278:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st279;
-		case 32: goto st279;
-		case 40: goto tr861;
-		case 41: goto tr862;
-		case 1034: goto tr863;
-		case 1083: goto st289;
-	}
-	goto tr859;
-tr861:
+		case 9: goto st286;
+		case 32: goto st286;
+		case 40: goto tr884;
+		case 41: goto tr885;
+		case 1034: goto tr886;
+		case 1083: goto st296;
+	}
+	goto tr882;
+tr884:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st279;
-tr862:
+	goto st286;
+tr885:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st279;
-tr863:
+	goto st286;
+tr886:
 	{
 		s->line_counter++;
 	}
-	goto st279;
-st279:
+	goto st286;
+st286:
 	if ( ++p == pe )
-		goto _test_eof279;
-case 279:
+		goto _test_eof286;
+case 286:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30163,67 +31271,70 @@ case 279:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st279;
-		case 32: goto st279;
-		case 40: goto tr861;
-		case 41: goto tr862;
-		case 42: goto tr865;
-		case 46: goto tr866;
-		case 92: goto tr867;
-		case 95: goto tr865;
-		case 1034: goto tr863;
-		case 1083: goto st289;
+		case 9: goto st286;
+		case 32: goto st286;
+		case 40: goto tr884;
+		case 41: goto tr885;
+		case 42: goto tr888;
+		case 46: goto tr889;
+		case 92: goto tr890;
+		case 95: goto tr888;
+		case 1034: goto tr886;
+		case 1083: goto st296;
 	}
 	if ( _widec < 65 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr865;
+			goto tr888;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr865;
+			goto tr888;
 	} else
-		goto tr865;
-	goto tr859;
-tr868:
+		goto tr888;
+	goto tr882;
+tr891:
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st280;
-tr875:
+	goto st287;
+tr898:
 	{
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st280;
-tr888:
+	goto st287;
+tr911:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st280;
-tr865:
+	goto st287;
+tr888:
 	{
 		s->dname = s->zone_origin;
 	}
@@ -30236,63 +31347,68 @@ tr865:
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st280;
-st280:
+	goto st287;
+st287:
 	if ( ++p == pe )
-		goto _test_eof280;
-case 280:
+		goto _test_eof287;
+case 287:
 	switch( (*p) ) {
-		case 42: goto tr868;
-		case 46: goto tr869;
-		case 92: goto st284;
-		case 95: goto tr868;
+		case 42: goto tr891;
+		case 46: goto tr892;
+		case 92: goto st291;
+		case 95: goto tr891;
 	}
 	if ( (*p) < 65 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr868;
+			goto tr891;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr868;
+			goto tr891;
 	} else
-		goto tr868;
-	goto tr859;
-tr869:
+		goto tr891;
+	goto tr882;
+tr892:
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st281;
-tr889:
+	goto st288;
+tr912:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st281;
-st281:
+	goto st288;
+st288:
 	if ( ++p == pe )
-		goto _test_eof281;
-case 281:
+		goto _test_eof288;
+case 288:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30306,79 +31422,82 @@ case 281:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr872;
-		case 32: goto tr872;
-		case 40: goto tr873;
-		case 41: goto tr874;
-		case 42: goto tr875;
-		case 45: goto tr875;
-		case 92: goto tr876;
-		case 95: goto tr875;
-		case 778: goto tr877;
-		case 827: goto tr878;
-		case 1034: goto tr877;
-		case 1083: goto tr878;
+		case 9: goto tr895;
+		case 32: goto tr895;
+		case 40: goto tr896;
+		case 41: goto tr897;
+		case 42: goto tr898;
+		case 45: goto tr898;
+		case 92: goto tr899;
+		case 95: goto tr898;
+		case 778: goto tr900;
+		case 827: goto tr901;
+		case 1034: goto tr900;
+		case 1083: goto tr901;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr875;
+			goto tr898;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr875;
+			goto tr898;
 	} else
-		goto tr875;
-	goto tr871;
-tr880:
+		goto tr898;
+	goto tr894;
+tr903:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st282;
-tr881:
+	goto st289;
+tr904:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st282;
-tr872:
+	goto st289;
+tr895:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
-	goto st282;
-tr873:
+	goto st289;
+tr896:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st282;
-tr874:
+	goto st289;
+tr897:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st282;
-st282:
+	goto st289;
+st289:
 	if ( ++p == pe )
-		goto _test_eof282;
-case 282:
+		goto _test_eof289;
+case 289:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30392,18 +31511,19 @@ case 282:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st282;
-		case 32: goto st282;
-		case 40: goto tr880;
-		case 41: goto tr881;
-		case 778: goto tr882;
-		case 827: goto st283;
-		case 1034: goto tr882;
-		case 1083: goto st283;
-	}
-	goto tr871;
-tr877:
+		case 9: goto st289;
+		case 32: goto st289;
+		case 40: goto tr903;
+		case 41: goto tr904;
+		case 778: goto tr905;
+		case 827: goto st290;
+		case 1034: goto tr905;
+		case 1083: goto st290;
+	}
+	goto tr894;
+tr900:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
@@ -30415,8 +31535,8 @@ tr877:
 	{
 		s->line_counter++;
 	}
-	goto st1071;
-tr882:
+	goto st1092;
+tr905:
 	{
 		s->zone_origin_length = s->dname_tmp_length;
 	}
@@ -30426,36 +31546,37 @@ tr882:
 	{
 		s->line_counter++;
 	}
-	goto st1071;
-st1071:
+	goto st1092;
+st1092:
 	if ( ++p == pe )
-		goto _test_eof1071;
-case 1071:
+		goto _test_eof1092;
+case 1092:
 	goto st0;
-tr878:
+tr901:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
-	goto st283;
-st283:
+	goto st290;
+st290:
 	if ( ++p == pe )
-		goto _test_eof283;
-case 283:
+		goto _test_eof290;
+case 290:
 	if ( (*p) == 10 )
-		goto tr882;
-	goto st283;
-tr876:
+		goto tr905;
+	goto st290;
+tr899:
 	{
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
-	goto st284;
-tr890:
+	goto st291;
+tr913:
 	{
 		s->dname_tmp_length++;
 	}
-	goto st284;
-tr867:
+	goto st291;
+tr890:
 	{
 		s->dname = s->zone_origin;
 	}
@@ -30467,75 +31588,75 @@ tr867:
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
-	goto st284;
-st284:
+	goto st291;
+st291:
 	if ( ++p == pe )
-		goto _test_eof284;
-case 284:
+		goto _test_eof291;
+case 291:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr884;
-	goto tr868;
-tr884:
+		goto tr907;
+	goto tr891;
+tr907:
 	{
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length] = 0;
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st285;
-st285:
+	goto st292;
+st292:
 	if ( ++p == pe )
-		goto _test_eof285;
-case 285:
+		goto _test_eof292;
+case 292:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr886;
-	goto tr885;
-tr886:
+		goto tr909;
+	goto tr908;
+tr909:
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st286;
-st286:
+	goto st293;
+st293:
 	if ( ++p == pe )
-		goto _test_eof286;
-case 286:
+		goto _test_eof293;
+case 293:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr887;
-	goto tr885;
-tr887:
+		goto tr910;
+	goto tr908;
+tr910:
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st287;
-st287:
+	goto st294;
+st294:
 	if ( ++p == pe )
-		goto _test_eof287;
-case 287:
+		goto _test_eof294;
+case 294:
 	switch( (*p) ) {
-		case 42: goto tr888;
-		case 46: goto tr889;
-		case 92: goto tr890;
-		case 95: goto tr888;
+		case 42: goto tr911;
+		case 46: goto tr912;
+		case 92: goto tr913;
+		case 95: goto tr911;
 	}
 	if ( (*p) < 65 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr888;
+			goto tr911;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr888;
+			goto tr911;
 	} else
-		goto tr888;
-	goto tr885;
-tr866:
+		goto tr911;
+	goto tr908;
+tr889:
 	{
 		s->dname = s->zone_origin;
 	}
@@ -30543,11 +31664,11 @@ tr866:
 		s->item_length_position = 0;
 		s->dname_tmp_length = 0;
 	}
-	goto st288;
-st288:
+	goto st295;
+st295:
 	if ( ++p == pe )
-		goto _test_eof288;
-case 288:
+		goto _test_eof295;
+case 295:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30561,20 +31682,20 @@ case 288:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr872;
-		case 32: goto tr872;
-		case 40: goto tr873;
-		case 41: goto tr874;
-		case 778: goto tr877;
-		case 827: goto tr878;
-		case 1034: goto tr877;
-		case 1083: goto tr878;
-	}
-	goto tr871;
-st289:
+		case 9: goto tr895;
+		case 32: goto tr895;
+		case 40: goto tr896;
+		case 41: goto tr897;
+		case 778: goto tr900;
+		case 827: goto tr901;
+		case 1034: goto tr900;
+		case 1083: goto tr901;
+	}
+	goto tr894;
+st296:
 	if ( ++p == pe )
-		goto _test_eof289;
-case 289:
+		goto _test_eof296;
+case 296:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -30594,14 +31715,14 @@ case 289:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr863;
+		goto tr886;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st289;
-	goto tr859;
-st290:
+		goto st296;
+	goto tr882;
+st297:
 	if ( ++p == pe )
-		goto _test_eof290;
-case 290:
+		goto _test_eof297;
+case 297:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30615,41 +31736,41 @@ case 290:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st291;
-		case 32: goto st291;
-		case 40: goto tr892;
-		case 41: goto tr893;
-		case 1034: goto tr894;
-		case 1083: goto st306;
+		case 9: goto st298;
+		case 32: goto st298;
+		case 40: goto tr915;
+		case 41: goto tr916;
+		case 1034: goto tr917;
+		case 1083: goto st313;
 	}
 	goto st0;
-tr892:
+tr915:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st291;
-tr893:
+	goto st298;
+tr916:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st291;
-tr894:
+	goto st298;
+tr917:
 	{
 		s->line_counter++;
 	}
-	goto st291;
-st291:
+	goto st298;
+st298:
 	if ( ++p == pe )
-		goto _test_eof291;
-case 291:
+		goto _test_eof298;
+case 298:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30663,32 +31784,32 @@ case 291:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st291;
-		case 32: goto st291;
-		case 40: goto tr892;
-		case 41: goto tr893;
-		case 1034: goto tr894;
-		case 1083: goto st306;
+		case 9: goto st298;
+		case 32: goto st298;
+		case 40: goto tr915;
+		case 41: goto tr916;
+		case 1034: goto tr917;
+		case 1083: goto st313;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr896;
+			goto tr919;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr896;
+			goto tr919;
 	} else
-		goto tr896;
-	goto tr897;
-tr896:
+		goto tr919;
+	goto tr920;
+tr919:
 	{
 		rdata_tail = s->r_data;
 	}
-	{ p--; {stack[top++] = 292; goto st257;} }
-	goto st292;
-st292:
+	{ p--; {stack[top++] = 299; goto st264;} }
+	goto st299;
+st299:
 	if ( ++p == pe )
-		goto _test_eof292;
-case 292:
+		goto _test_eof299;
+case 299:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30702,35 +31823,35 @@ case 292:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr899;
-		case 32: goto tr899;
-		case 40: goto tr900;
-		case 41: goto tr901;
-		case 778: goto tr902;
-		case 827: goto tr903;
-		case 1034: goto tr902;
-		case 1083: goto tr904;
-	}
-	goto tr898;
-tr907:
+		case 9: goto tr922;
+		case 32: goto tr922;
+		case 40: goto tr923;
+		case 41: goto tr924;
+		case 778: goto tr925;
+		case 827: goto tr926;
+		case 1034: goto tr925;
+		case 1083: goto tr927;
+	}
+	goto tr921;
+tr930:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st293;
-tr908:
+	goto st300;
+tr931:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st293;
-tr899:
+	goto st300;
+tr922:
 	{
 		*rdata_tail = 0; // Ending filename string.
 		strncpy((char*)(s->include_filename), (char*)(s->r_data),
@@ -30740,14 +31861,14 @@ tr899:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 
 		// For detection whether origin is not present.
 		s->dname = NULL;
 	}
-	goto st293;
-tr900:
+	goto st300;
+tr923:
 	{
 		*rdata_tail = 0; // Ending filename string.
 		strncpy((char*)(s->include_filename), (char*)(s->r_data),
@@ -30757,7 +31878,7 @@ tr900:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 
 		// For detection whether origin is not present.
@@ -30766,12 +31887,12 @@ tr900:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st293;
-tr901:
+	goto st300;
+tr924:
 	{
 		*rdata_tail = 0; // Ending filename string.
 		strncpy((char*)(s->include_filename), (char*)(s->r_data),
@@ -30781,7 +31902,7 @@ tr901:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 
 		// For detection whether origin is not present.
@@ -30790,15 +31911,15 @@ tr901:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st293;
-st293:
+	goto st300;
+st300:
 	if ( ++p == pe )
-		goto _test_eof293;
-case 293:
+		goto _test_eof300;
+case 300:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30812,69 +31933,72 @@ case 293:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st293;
-		case 32: goto st293;
-		case 40: goto tr907;
-		case 41: goto tr908;
-		case 42: goto tr909;
-		case 46: goto tr910;
-		case 92: goto tr911;
-		case 95: goto tr909;
-		case 778: goto tr912;
-		case 827: goto st297;
-		case 1034: goto tr912;
-		case 1083: goto st303;
+		case 9: goto st300;
+		case 32: goto st300;
+		case 40: goto tr930;
+		case 41: goto tr931;
+		case 42: goto tr932;
+		case 46: goto tr933;
+		case 92: goto tr934;
+		case 95: goto tr932;
+		case 778: goto tr935;
+		case 827: goto st304;
+		case 1034: goto tr935;
+		case 1083: goto st310;
 	}
 	if ( _widec < 65 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr909;
+			goto tr932;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr909;
+			goto tr932;
 	} else
-		goto tr909;
-	goto tr905;
-tr916:
+		goto tr932;
+	goto tr928;
+tr939:
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st294;
-tr922:
+	goto st301;
+tr945:
 	{
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st294;
-tr933:
+	goto st301;
+tr956:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st294;
-tr909:
+	goto st301;
+tr932:
 	{
 		s->dname = s->r_data;
 	}
@@ -30887,63 +32011,68 @@ tr909:
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st294;
-st294:
+	goto st301;
+st301:
 	if ( ++p == pe )
-		goto _test_eof294;
-case 294:
+		goto _test_eof301;
+case 301:
 	switch( (*p) ) {
-		case 42: goto tr916;
-		case 46: goto tr917;
-		case 92: goto st298;
-		case 95: goto tr916;
+		case 42: goto tr939;
+		case 46: goto tr940;
+		case 92: goto st305;
+		case 95: goto tr939;
 	}
 	if ( (*p) < 65 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr916;
+			goto tr939;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr916;
+			goto tr939;
 	} else
-		goto tr916;
-	goto tr915;
-tr917:
+		goto tr939;
+	goto tr938;
+tr940:
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st295;
-tr934:
+	goto st302;
+tr957:
 	{
 		s->dname_tmp_length++;
 	}
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st295;
-st295:
+	goto st302;
+st302:
 	if ( ++p == pe )
-		goto _test_eof295;
-case 295:
+		goto _test_eof302;
+case 302:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30957,56 +32086,58 @@ case 295:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr919;
-		case 32: goto tr919;
-		case 40: goto tr920;
-		case 41: goto tr921;
-		case 42: goto tr922;
-		case 45: goto tr922;
-		case 92: goto tr923;
-		case 95: goto tr922;
-		case 778: goto tr924;
-		case 827: goto tr925;
-		case 1034: goto tr924;
-		case 1083: goto tr925;
+		case 9: goto tr942;
+		case 32: goto tr942;
+		case 40: goto tr943;
+		case 41: goto tr944;
+		case 42: goto tr945;
+		case 45: goto tr945;
+		case 92: goto tr946;
+		case 95: goto tr945;
+		case 778: goto tr947;
+		case 827: goto tr948;
+		case 1034: goto tr947;
+		case 1083: goto tr948;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr922;
+			goto tr945;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr922;
+			goto tr945;
 	} else
-		goto tr922;
-	goto tr905;
-tr927:
+		goto tr945;
+	goto tr928;
+tr950:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st296;
-tr928:
+	goto st303;
+tr951:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st296;
-tr919:
+	goto st303;
+tr942:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
 		s->r_data_length = s->dname_tmp_length;
 	}
-	goto st296;
-tr920:
+	goto st303;
+tr943:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
@@ -31015,13 +32146,14 @@ tr920:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st296;
-tr921:
+	goto st303;
+tr944:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
@@ -31030,15 +32162,15 @@ tr921:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st296;
-st296:
+	goto st303;
+st303:
 	if ( ++p == pe )
-		goto _test_eof296;
-case 296:
+		goto _test_eof303;
+case 303:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31052,17 +32184,17 @@ case 296:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st296;
-		case 32: goto st296;
-		case 40: goto tr927;
-		case 41: goto tr928;
-		case 778: goto tr912;
-		case 827: goto st297;
-		case 1034: goto tr912;
-		case 1083: goto st297;
+		case 9: goto st303;
+		case 32: goto st303;
+		case 40: goto tr950;
+		case 41: goto tr951;
+		case 778: goto tr935;
+		case 827: goto st304;
+		case 1034: goto tr935;
+		case 1083: goto st304;
 	}
 	goto tr83;
-tr902:
+tr925:
 	{
 		*rdata_tail = 0; // Ending filename string.
 		strncpy((char*)(s->include_filename), (char*)(s->r_data),
@@ -31072,7 +32204,7 @@ tr902:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 
 		// For detection whether origin is not present.
@@ -31120,12 +32252,12 @@ tr902:
 					ERR(ss->error_code);
 				}
 				zs_scanner_free(ss);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 			zs_scanner_free(ss);
 		} else {
 			ERR(ZS_UNPROCESSED_INCLUDE);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -31134,8 +32266,8 @@ tr902:
 	{
 		s->line_counter++;
 	}
-	goto st1072;
-tr912:
+	goto st1093;
+tr935:
 	{
 		char text_origin[4 * MAX_DNAME_LENGTH]; // Each char as \DDD.
 
@@ -31178,12 +32310,12 @@ tr912:
 					ERR(ss->error_code);
 				}
 				zs_scanner_free(ss);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 			zs_scanner_free(ss);
 		} else {
 			ERR(ZS_UNPROCESSED_INCLUDE);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -31192,9 +32324,10 @@ tr912:
 	{
 		s->line_counter++;
 	}
-	goto st1072;
-tr924:
+	goto st1093;
+tr947:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
@@ -31242,12 +32375,12 @@ tr924:
 					ERR(ss->error_code);
 				}
 				zs_scanner_free(ss);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 			zs_scanner_free(ss);
 		} else {
 			ERR(ZS_UNPROCESSED_INCLUDE);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -31256,13 +32389,13 @@ tr924:
 	{
 		s->line_counter++;
 	}
-	goto st1072;
-st1072:
+	goto st1093;
+st1093:
 	if ( ++p == pe )
-		goto _test_eof1072;
-case 1072:
+		goto _test_eof1093;
+case 1093:
 	goto st0;
-tr903:
+tr926:
 	{
 		*rdata_tail = 0; // Ending filename string.
 		strncpy((char*)(s->include_filename), (char*)(s->r_data),
@@ -31272,40 +32405,41 @@ tr903:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 
 		// For detection whether origin is not present.
 		s->dname = NULL;
 	}
-	goto st297;
-tr925:
+	goto st304;
+tr948:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	{
 		s->r_data_length = s->dname_tmp_length;
 	}
-	goto st297;
-st297:
+	goto st304;
+st304:
 	if ( ++p == pe )
-		goto _test_eof297;
-case 297:
+		goto _test_eof304;
+case 304:
 	if ( (*p) == 10 )
-		goto tr912;
-	goto st297;
-tr923:
+		goto tr935;
+	goto st304;
+tr946:
 	{
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
-	goto st298;
-tr935:
+	goto st305;
+tr958:
 	{
 		s->dname_tmp_length++;
 	}
-	goto st298;
-tr911:
+	goto st305;
+tr934:
 	{
 		s->dname = s->r_data;
 	}
@@ -31317,75 +32451,75 @@ tr911:
 		s->item_length = 0;
 		s->item_length_position = s->dname_tmp_length++;
 	}
-	goto st298;
-st298:
+	goto st305;
+st305:
 	if ( ++p == pe )
-		goto _test_eof298;
-case 298:
+		goto _test_eof305;
+case 305:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr929;
-	goto tr916;
-tr929:
+		goto tr952;
+	goto tr939;
+tr952:
 	{
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length] = 0;
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st299;
-st299:
+	goto st306;
+st306:
 	if ( ++p == pe )
-		goto _test_eof299;
-case 299:
+		goto _test_eof306;
+case 306:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr931;
-	goto tr930;
-tr931:
+		goto tr954;
+	goto tr953;
+tr954:
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st300;
-st300:
+	goto st307;
+st307:
 	if ( ++p == pe )
-		goto _test_eof300;
-case 300:
+		goto _test_eof307;
+case 307:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr932;
-	goto tr930;
-tr932:
+		goto tr955;
+	goto tr953;
+tr955:
 	{
 		(s->dname)[s->dname_tmp_length] *= 10;
 		(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
 	}
-	goto st301;
-st301:
+	goto st308;
+st308:
 	if ( ++p == pe )
-		goto _test_eof301;
-case 301:
+		goto _test_eof308;
+case 308:
 	switch( (*p) ) {
-		case 42: goto tr933;
-		case 46: goto tr934;
-		case 92: goto tr935;
-		case 95: goto tr933;
+		case 42: goto tr956;
+		case 46: goto tr957;
+		case 92: goto tr958;
+		case 95: goto tr956;
 	}
 	if ( (*p) < 65 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr933;
+			goto tr956;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr933;
+			goto tr956;
 	} else
-		goto tr933;
-	goto tr930;
-tr910:
+		goto tr956;
+	goto tr953;
+tr933:
 	{
 		s->dname = s->r_data;
 	}
@@ -31393,11 +32527,11 @@ tr910:
 		s->item_length_position = 0;
 		s->dname_tmp_length = 0;
 	}
-	goto st302;
-st302:
+	goto st309;
+st309:
 	if ( ++p == pe )
-		goto _test_eof302;
-case 302:
+		goto _test_eof309;
+case 309:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31411,17 +32545,17 @@ case 302:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr919;
-		case 32: goto tr919;
-		case 40: goto tr920;
-		case 41: goto tr921;
-		case 778: goto tr924;
-		case 827: goto tr925;
-		case 1034: goto tr924;
-		case 1083: goto tr925;
-	}
-	goto tr905;
-tr904:
+		case 9: goto tr942;
+		case 32: goto tr942;
+		case 40: goto tr943;
+		case 41: goto tr944;
+		case 778: goto tr947;
+		case 827: goto tr948;
+		case 1034: goto tr947;
+		case 1083: goto tr948;
+	}
+	goto tr928;
+tr927:
 	{
 		*rdata_tail = 0; // Ending filename string.
 		strncpy((char*)(s->include_filename), (char*)(s->r_data),
@@ -31431,17 +32565,17 @@ tr904:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 
 		// For detection whether origin is not present.
 		s->dname = NULL;
 	}
-	goto st303;
-st303:
+	goto st310;
+st310:
 	if ( ++p == pe )
-		goto _test_eof303;
-case 303:
+		goto _test_eof310;
+case 310:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -31461,16 +32595,16 @@ case 303:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 778: goto tr912;
-		case 1034: goto tr936;
+		case 778: goto tr935;
+		case 1034: goto tr959;
 	}
 	if ( _widec > 895 ) {
 		if ( 896 <= _widec && _widec <= 1151 )
-			goto st303;
+			goto st310;
 	} else if ( _widec >= 640 )
-		goto st297;
+		goto st304;
 	goto tr83;
-tr936:
+tr959:
 	{
 		s->line_counter++;
 	}
@@ -31516,22 +32650,22 @@ tr936:
 					ERR(ss->error_code);
 				}
 				zs_scanner_free(ss);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 			zs_scanner_free(ss);
 		} else {
 			ERR(ZS_UNPROCESSED_INCLUDE);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1073;
-st1073:
+	goto st1094;
+st1094:
 	if ( ++p == pe )
-		goto _test_eof1073;
-case 1073:
+		goto _test_eof1094;
+case 1094:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31545,53 +32679,53 @@ case 1073:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st304;
-		case 32: goto st304;
-		case 40: goto tr938;
-		case 41: goto tr939;
-		case 42: goto tr909;
-		case 46: goto tr910;
-		case 92: goto tr911;
-		case 95: goto tr909;
-		case 1034: goto tr940;
-		case 1083: goto st305;
+		case 9: goto st311;
+		case 32: goto st311;
+		case 40: goto tr961;
+		case 41: goto tr962;
+		case 42: goto tr932;
+		case 46: goto tr933;
+		case 92: goto tr934;
+		case 95: goto tr932;
+		case 1034: goto tr963;
+		case 1083: goto st312;
 	}
 	if ( _widec < 65 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr909;
+			goto tr932;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr909;
+			goto tr932;
 	} else
-		goto tr909;
-	goto tr915;
-tr938:
+		goto tr932;
+	goto tr938;
+tr961:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st304;
-tr939:
+	goto st311;
+tr962:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st304;
-tr940:
+	goto st311;
+tr963:
 	{
 		s->line_counter++;
 	}
-	goto st304;
-st304:
+	goto st311;
+st311:
 	if ( ++p == pe )
-		goto _test_eof304;
-case 304:
+		goto _test_eof311;
+case 311:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31605,30 +32739,30 @@ case 304:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st304;
-		case 32: goto st304;
-		case 40: goto tr938;
-		case 41: goto tr939;
-		case 42: goto tr909;
-		case 46: goto tr910;
-		case 92: goto tr911;
-		case 95: goto tr909;
-		case 1034: goto tr940;
-		case 1083: goto st305;
+		case 9: goto st311;
+		case 32: goto st311;
+		case 40: goto tr961;
+		case 41: goto tr962;
+		case 42: goto tr932;
+		case 46: goto tr933;
+		case 92: goto tr934;
+		case 95: goto tr932;
+		case 1034: goto tr963;
+		case 1083: goto st312;
 	}
 	if ( _widec < 65 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr909;
+			goto tr932;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr909;
+			goto tr932;
 	} else
-		goto tr909;
-	goto tr915;
-st305:
+		goto tr932;
+	goto tr938;
+st312:
 	if ( ++p == pe )
-		goto _test_eof305;
-case 305:
+		goto _test_eof312;
+case 312:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -31648,14 +32782,14 @@ case 305:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr940;
+		goto tr963;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st305;
+		goto st312;
 	goto st0;
-st306:
+st313:
 	if ( ++p == pe )
-		goto _test_eof306;
-case 306:
+		goto _test_eof313;
+case 313:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -31675,51 +32809,51 @@ case 306:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr894;
+		goto tr917;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st306;
+		goto st313;
 	goto st0;
-st307:
+st314:
 	if ( ++p == pe )
-		goto _test_eof307;
-case 307:
+		goto _test_eof314;
+case 314:
 	if ( (*p) == 43 )
-		goto tr943;
+		goto tr966;
 	if ( (*p) < 65 ) {
 		if ( 47 <= (*p) && (*p) <= 57 )
-			goto tr943;
+			goto tr966;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr943;
+			goto tr966;
 	} else
-		goto tr943;
-	goto tr942;
-tr943:
+		goto tr966;
+	goto tr965;
+tr966:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_base64_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st308;
-st308:
+	goto st315;
+st315:
 	if ( ++p == pe )
-		goto _test_eof308;
-case 308:
+		goto _test_eof315;
+case 315:
 	if ( (*p) == 43 )
-		goto tr944;
+		goto tr967;
 	if ( (*p) < 65 ) {
 		if ( 47 <= (*p) && (*p) <= 57 )
-			goto tr944;
+			goto tr967;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr944;
+			goto tr967;
 	} else
-		goto tr944;
-	goto tr942;
-tr944:
+		goto tr967;
+	goto tr965;
+tr967:
 	{
 		*(rdata_tail++) += second_left_base64_to_num[(uint8_t)(*p)];
 
@@ -31727,28 +32861,28 @@ tr944:
 			*rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st309;
-st309:
+	goto st316;
+st316:
 	if ( ++p == pe )
-		goto _test_eof309;
-case 309:
+		goto _test_eof316;
+case 316:
 	switch( (*p) ) {
-		case 43: goto tr945;
-		case 61: goto st313;
+		case 43: goto tr968;
+		case 61: goto st320;
 	}
 	if ( (*p) < 65 ) {
 		if ( 47 <= (*p) && (*p) <= 57 )
-			goto tr945;
+			goto tr968;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr945;
+			goto tr968;
 	} else
-		goto tr945;
-	goto tr942;
-tr945:
+		goto tr968;
+	goto tr965;
+tr968:
 	{
 		*(rdata_tail++) += third_left_base64_to_num[(uint8_t)(*p)];
 
@@ -31756,59 +32890,59 @@ tr945:
 			*rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st310;
-st310:
+	goto st317;
+st317:
 	if ( ++p == pe )
-		goto _test_eof310;
-case 310:
+		goto _test_eof317;
+case 317:
 	switch( (*p) ) {
-		case 43: goto tr947;
-		case 61: goto st311;
+		case 43: goto tr970;
+		case 61: goto st318;
 	}
 	if ( (*p) < 65 ) {
 		if ( 47 <= (*p) && (*p) <= 57 )
-			goto tr947;
+			goto tr970;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr947;
+			goto tr970;
 	} else
-		goto tr947;
-	goto tr942;
-tr949:
+		goto tr970;
+	goto tr965;
+tr972:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st311;
-tr950:
+	goto st318;
+tr973:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st311;
-tr951:
+	goto st318;
+tr974:
 	{
 		s->line_counter++;
 	}
-	goto st311;
-tr947:
+	goto st318;
+tr970:
 	{
 		*(rdata_tail++) += fourth_base64_to_num[(uint8_t)(*p)];
 	}
-	goto st311;
-st311:
+	goto st318;
+st318:
 	if ( ++p == pe )
-		goto _test_eof311;
-case 311:
+		goto _test_eof318;
+case 318:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31826,31 +32960,31 @@ case 311:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st311;
-		case 32: goto st311;
-		case 40: goto tr949;
-		case 41: goto tr950;
-		case 43: goto tr943;
-		case 2058: goto tr951;
-		case 2107: goto st312;
-		case 2314: goto tr953;
-		case 2363: goto tr953;
-		case 2570: goto tr954;
-		case 2619: goto tr955;
+		case 9: goto st318;
+		case 32: goto st318;
+		case 40: goto tr972;
+		case 41: goto tr973;
+		case 43: goto tr966;
+		case 2058: goto tr974;
+		case 2107: goto st319;
+		case 2314: goto tr976;
+		case 2363: goto tr976;
+		case 2570: goto tr977;
+		case 2619: goto tr978;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr943;
+			goto tr966;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr943;
+			goto tr966;
 	} else
-		goto tr943;
-	goto tr942;
-st312:
+		goto tr966;
+	goto tr965;
+st319:
 	if ( ++p == pe )
-		goto _test_eof312;
-case 312:
+		goto _test_eof319;
+case 319:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -31870,32 +33004,32 @@ case 312:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr951;
+		goto tr974;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st312;
-	goto tr942;
-tr953:
+		goto st319;
+	goto tr965;
+tr976:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1074;
-st1074:
+	goto st1095;
+st1095:
 	if ( ++p == pe )
-		goto _test_eof1074;
-case 1074:
+		goto _test_eof1095;
+case 1095:
 	goto st0;
-tr954:
+tr977:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1075;
-st1075:
+	goto st1096;
+st1096:
 	if ( ++p == pe )
-		goto _test_eof1075;
-case 1075:
+		goto _test_eof1096;
+case 1096:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31913,36 +33047,36 @@ case 1075:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st311;
-		case 32: goto st311;
-		case 40: goto tr949;
-		case 41: goto tr950;
-		case 43: goto tr943;
-		case 2058: goto tr951;
-		case 2107: goto st312;
-		case 2314: goto tr953;
-		case 2363: goto tr953;
-		case 2570: goto tr954;
-		case 2619: goto tr955;
+		case 9: goto st318;
+		case 32: goto st318;
+		case 40: goto tr972;
+		case 41: goto tr973;
+		case 43: goto tr966;
+		case 2058: goto tr974;
+		case 2107: goto st319;
+		case 2314: goto tr976;
+		case 2363: goto tr976;
+		case 2570: goto tr977;
+		case 2619: goto tr978;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr943;
+			goto tr966;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr943;
+			goto tr966;
 	} else
-		goto tr943;
-	goto tr942;
-tr955:
+		goto tr966;
+	goto tr965;
+tr978:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1076;
-st1076:
+	goto st1097;
+st1097:
 	if ( ++p == pe )
-		goto _test_eof1076;
-case 1076:
+		goto _test_eof1097;
+case 1097:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -31962,21 +33096,21 @@ case 1076:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr951;
+		goto tr974;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st312;
-	goto tr942;
-st313:
+		goto st319;
+	goto tr965;
+st320:
 	if ( ++p == pe )
-		goto _test_eof313;
-case 313:
+		goto _test_eof320;
+case 320:
 	if ( (*p) == 61 )
-		goto st311;
-	goto tr942;
-st314:
+		goto st318;
+	goto tr965;
+st321:
 	if ( ++p == pe )
-		goto _test_eof314;
-case 314:
+		goto _test_eof321;
+case 321:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31994,48 +33128,48 @@ case 314:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr957;
-		case 32: goto tr957;
-		case 40: goto tr958;
-		case 41: goto tr959;
-		case 2058: goto tr960;
-		case 2107: goto tr961;
-		case 2314: goto tr962;
-		case 2363: goto tr962;
-		case 2570: goto tr963;
-		case 2619: goto tr964;
-	}
-	goto tr956;
-tr966:
+		case 9: goto tr980;
+		case 32: goto tr980;
+		case 40: goto tr981;
+		case 41: goto tr982;
+		case 2058: goto tr983;
+		case 2107: goto tr984;
+		case 2314: goto tr985;
+		case 2363: goto tr985;
+		case 2570: goto tr986;
+		case 2619: goto tr987;
+	}
+	goto tr979;
+tr989:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr967:
+	goto st322;
+tr990:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr982:
+	goto st322;
+tr1005:
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr957:
+	goto st322;
+tr980:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
 	}
-	goto st315;
-tr958:
+	goto st322;
+tr981:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
@@ -32043,12 +33177,12 @@ tr958:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr959:
+	goto st322;
+tr982:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
@@ -32056,12 +33190,12 @@ tr959:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr960:
+	goto st322;
+tr983:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
@@ -32069,1170 +33203,1228 @@ tr960:
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr987:
+	goto st322;
+tr1010:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
-	goto st315;
-tr988:
+	goto st322;
+tr1011:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr989:
+	goto st322;
+tr1012:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr993:
+	goto st322;
+tr1016:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1000:
+	goto st322;
+tr1023:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
-	goto st315;
-tr1001:
+	goto st322;
+tr1024:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1002:
+	goto st322;
+tr1025:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1003:
+	goto st322;
+tr1026:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1012:
+	goto st322;
+tr1040:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	goto st322;
+tr1041:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	{
+		if (s->multiline == true) {
+			ERR(ZS_LEFT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = true;
+	}
+	goto st322;
+tr1042:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	{
+		if (s->multiline == false) {
+			ERR(ZS_RIGHT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = false;
+	}
+	goto st322;
+tr1043:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	{
+		s->line_counter++;
+	}
+	goto st322;
+tr1048:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	goto st322;
+tr1049:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	{
+		if (s->multiline == true) {
+			ERR(ZS_LEFT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = true;
+	}
+	goto st322;
+tr1050:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	{
+		if (s->multiline == false) {
+			ERR(ZS_RIGHT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = false;
+	}
+	goto st322;
+tr1051:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	{
+		s->line_counter++;
+	}
+	goto st322;
+tr1058:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
-	goto st315;
-tr1013:
+	goto st322;
+tr1059:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1014:
+	goto st322;
+tr1060:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1015:
+	goto st322;
+tr1061:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1023:
+	goto st322;
+tr1069:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
-	goto st315;
-tr1024:
+	goto st322;
+tr1070:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1025:
+	goto st322;
+tr1071:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1026:
+	goto st322;
+tr1072:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1037:
+	goto st322;
+tr1083:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
-	goto st315;
-tr1038:
+	goto st322;
+tr1084:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1039:
+	goto st322;
+tr1085:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1040:
+	goto st322;
+tr1086:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1049:
+	goto st322;
+tr1095:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
-	goto st315;
-tr1050:
+	goto st322;
+tr1096:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1051:
+	goto st322;
+tr1097:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1052:
+	goto st322;
+tr1098:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1060:
+	goto st322;
+tr1106:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
-	goto st315;
-tr1061:
+	goto st322;
+tr1107:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1062:
+	goto st322;
+tr1108:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1063:
+	goto st322;
+tr1109:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1068:
+	goto st322;
+tr1114:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
-	goto st315;
-tr1069:
+	goto st322;
+tr1115:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1070:
+	goto st322;
+tr1116:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1071:
+	goto st322;
+tr1117:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1081:
+	goto st322;
+tr1127:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
-	goto st315;
-tr1082:
+	goto st322;
+tr1128:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1083:
+	goto st322;
+tr1129:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1084:
+	goto st322;
+tr1130:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1090:
+	goto st322;
+tr1136:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
-	goto st315;
-tr1091:
+	goto st322;
+tr1137:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1092:
+	goto st322;
+tr1138:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1093:
+	goto st322;
+tr1139:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1102:
+	goto st322;
+tr1148:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
-	goto st315;
-tr1103:
+	goto st322;
+tr1149:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1104:
+	goto st322;
+tr1150:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1105:
+	goto st322;
+tr1151:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1117:
+	goto st322;
+tr1163:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
-	goto st315;
-tr1118:
+	goto st322;
+tr1164:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1119:
+	goto st322;
+tr1165:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1120:
+	goto st322;
+tr1166:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1128:
+	goto st322;
+tr1174:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
-	goto st315;
-tr1129:
+	goto st322;
+tr1175:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1130:
+	goto st322;
+tr1176:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1131:
+	goto st322;
+tr1177:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1136:
+	goto st322;
+tr1182:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
-	goto st315;
-tr1137:
+	goto st322;
+tr1183:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1138:
+	goto st322;
+tr1184:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1139:
+	goto st322;
+tr1185:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1149:
+	goto st322;
+tr1195:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
-	goto st315;
-tr1150:
+	goto st322;
+tr1196:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1151:
+	goto st322;
+tr1197:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1152:
+	goto st322;
+tr1198:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1158:
+	goto st322;
+tr1204:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
-	goto st315;
-tr1159:
+	goto st322;
+tr1205:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1160:
+	goto st322;
+tr1206:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1161:
+	goto st322;
+tr1207:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1167:
+	goto st322;
+tr1213:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
-	goto st315;
-tr1168:
+	goto st322;
+tr1214:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1169:
+	goto st322;
+tr1215:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1170:
+	goto st322;
+tr1216:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1175:
+	goto st322;
+tr1221:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
-	goto st315;
-tr1176:
+	goto st322;
+tr1222:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1177:
+	goto st322;
+tr1223:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1178:
+	goto st322;
+tr1224:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1188:
+	goto st322;
+tr1234:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
-	goto st315;
-tr1189:
+	goto st322;
+tr1235:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1190:
+	goto st322;
+tr1236:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1191:
+	goto st322;
+tr1237:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1196:
+	goto st322;
+tr1242:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
-	goto st315;
-tr1197:
+	goto st322;
+tr1243:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1198:
+	goto st322;
+tr1244:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1199:
+	goto st322;
+tr1245:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1210:
+	goto st322;
+tr1256:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
-	goto st315;
-tr1211:
+	goto st322;
+tr1257:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1212:
+	goto st322;
+tr1258:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1213:
+	goto st322;
+tr1259:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1219:
+	goto st322;
+tr1265:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
-	goto st315;
-tr1220:
+	goto st322;
+tr1266:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1221:
+	goto st322;
+tr1267:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1222:
+	goto st322;
+tr1268:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1227:
+	goto st322;
+tr1273:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
-	goto st315;
-tr1228:
+	goto st322;
+tr1274:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1229:
+	goto st322;
+tr1275:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1231:
+	goto st322;
+tr1277:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1237:
+	goto st322;
+tr1283:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
-	goto st315;
-tr1238:
+	goto st322;
+tr1284:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1239:
+	goto st322;
+tr1285:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1241:
+	goto st322;
+tr1287:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1246:
+	goto st322;
+tr1292:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
-	goto st315;
-tr1247:
+	goto st322;
+tr1293:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1248:
+	goto st322;
+tr1294:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1250:
+	goto st322;
+tr1296:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1259:
+	goto st322;
+tr1305:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
-	goto st315;
-tr1260:
+	goto st322;
+tr1306:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1261:
+	goto st322;
+tr1307:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1262:
+	goto st322;
+tr1308:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1269:
+	goto st322;
+tr1315:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
-	goto st315;
-tr1270:
+	goto st322;
+tr1316:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1271:
+	goto st322;
+tr1317:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1272:
+	goto st322;
+tr1318:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1280:
+	goto st322;
+tr1326:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
-	goto st315;
-tr1281:
+	goto st322;
+tr1327:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1282:
+	goto st322;
+tr1328:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1283:
+	goto st322;
+tr1329:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1291:
+	goto st322;
+tr1337:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
-	goto st315;
-tr1292:
+	goto st322;
+tr1338:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1293:
+	goto st322;
+tr1339:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1294:
+	goto st322;
+tr1340:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1299:
+	goto st322;
+tr1345:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
-	goto st315;
-tr1300:
+	goto st322;
+tr1346:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1301:
+	goto st322;
+tr1347:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1302:
+	goto st322;
+tr1348:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1312:
+	goto st322;
+tr1358:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
-	goto st315;
-tr1313:
+	goto st322;
+tr1359:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1314:
+	goto st322;
+tr1360:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1315:
+	goto st322;
+tr1361:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1321:
+	goto st322;
+tr1367:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
-	goto st315;
-tr1322:
+	goto st322;
+tr1368:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1323:
+	goto st322;
+tr1369:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1324:
+	goto st322;
+tr1370:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1330:
+	goto st322;
+tr1376:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
-	goto st315;
-tr1331:
+	goto st322;
+tr1377:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1332:
+	goto st322;
+tr1378:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1333:
+	goto st322;
+tr1379:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1341:
+	goto st322;
+tr1387:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
-	goto st315;
-tr1342:
+	goto st322;
+tr1388:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1343:
+	goto st322;
+tr1389:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1344:
+	goto st322;
+tr1390:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1354:
+	goto st322;
+tr1400:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
-	goto st315;
-tr1355:
+	goto st322;
+tr1401:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1356:
+	goto st322;
+tr1402:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1357:
+	goto st322;
+tr1403:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1363:
+	goto st322;
+tr1409:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
-	goto st315;
-tr1364:
+	goto st322;
+tr1410:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1365:
+	goto st322;
+tr1411:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1366:
+	goto st322;
+tr1412:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1374:
+	goto st322;
+tr1420:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st315;
-tr1375:
+	goto st322;
+tr1421:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1376:
+	goto st322;
+tr1422:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1378:
+	goto st322;
+tr1424:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1386:
+	goto st322;
+tr1432:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
-	goto st315;
-tr1387:
+	goto st322;
+tr1433:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1388:
+	goto st322;
+tr1434:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1389:
+	goto st322;
+tr1435:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-tr1395:
+	goto st322;
+tr1441:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
-	goto st315;
-tr1396:
+	goto st322;
+tr1442:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st315;
-tr1397:
+	goto st322;
+tr1443:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st315;
-tr1398:
+	goto st322;
+tr1444:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	{
 		s->line_counter++;
 	}
-	goto st315;
-st315:
+	goto st322;
+st322:
 	if ( ++p == pe )
-		goto _test_eof315;
-case 315:
+		goto _test_eof322;
+case 322:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33250,50 +34442,50 @@ case 315:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st315;
-		case 32: goto st315;
-		case 40: goto tr966;
-		case 41: goto tr967;
-		case 65: goto st316;
-		case 67: goto st321;
-		case 68: goto st329;
-		case 69: goto st343;
-		case 72: goto st350;
-		case 73: goto st355;
-		case 75: goto st363;
-		case 76: goto st367;
-		case 77: goto st375;
-		case 78: goto st381;
-		case 80: goto st397;
-		case 82: goto st400;
-		case 83: goto st407;
-		case 84: goto st418;
-		case 97: goto st316;
-		case 99: goto st321;
-		case 100: goto st329;
-		case 101: goto st343;
-		case 104: goto st350;
-		case 105: goto st355;
-		case 107: goto st363;
-		case 108: goto st367;
-		case 109: goto st375;
-		case 110: goto st381;
-		case 112: goto st397;
-		case 114: goto st400;
-		case 115: goto st407;
-		case 116: goto st418;
-		case 2058: goto tr982;
-		case 2107: goto st320;
-		case 2314: goto tr984;
-		case 2363: goto tr984;
-		case 2570: goto tr985;
-		case 2619: goto tr986;
-	}
-	goto tr956;
-st316:
+		case 9: goto st322;
+		case 32: goto st322;
+		case 40: goto tr989;
+		case 41: goto tr990;
+		case 65: goto st323;
+		case 67: goto st328;
+		case 68: goto st343;
+		case 69: goto st357;
+		case 72: goto st364;
+		case 73: goto st369;
+		case 75: goto st377;
+		case 76: goto st381;
+		case 77: goto st389;
+		case 78: goto st395;
+		case 80: goto st411;
+		case 82: goto st414;
+		case 83: goto st421;
+		case 84: goto st432;
+		case 97: goto st323;
+		case 99: goto st328;
+		case 100: goto st343;
+		case 101: goto st357;
+		case 104: goto st364;
+		case 105: goto st369;
+		case 107: goto st377;
+		case 108: goto st381;
+		case 109: goto st389;
+		case 110: goto st395;
+		case 112: goto st411;
+		case 114: goto st414;
+		case 115: goto st421;
+		case 116: goto st432;
+		case 2058: goto tr1005;
+		case 2107: goto st327;
+		case 2314: goto tr1007;
+		case 2363: goto tr1007;
+		case 2570: goto tr1008;
+		case 2619: goto tr1009;
+	}
+	goto tr979;
+st323:
 	if ( ++p == pe )
-		goto _test_eof316;
-case 316:
+		goto _test_eof323;
+case 323:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33311,46 +34503,46 @@ case 316:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr987;
-		case 32: goto tr987;
-		case 40: goto tr988;
-		case 41: goto tr989;
-		case 65: goto st317;
-		case 70: goto st428;
-		case 80: goto st432;
-		case 97: goto st317;
-		case 102: goto st428;
-		case 112: goto st432;
-		case 2058: goto tr993;
-		case 2107: goto tr994;
-		case 2314: goto tr995;
-		case 2363: goto tr995;
-		case 2570: goto tr996;
-		case 2619: goto tr997;
-	}
-	goto tr956;
-st317:
+		case 9: goto tr1010;
+		case 32: goto tr1010;
+		case 40: goto tr1011;
+		case 41: goto tr1012;
+		case 65: goto st324;
+		case 70: goto st442;
+		case 80: goto st446;
+		case 97: goto st324;
+		case 102: goto st442;
+		case 112: goto st446;
+		case 2058: goto tr1016;
+		case 2107: goto tr1017;
+		case 2314: goto tr1018;
+		case 2363: goto tr1018;
+		case 2570: goto tr1019;
+		case 2619: goto tr1020;
+	}
+	goto tr979;
+st324:
 	if ( ++p == pe )
-		goto _test_eof317;
-case 317:
+		goto _test_eof324;
+case 324:
 	switch( (*p) ) {
-		case 65: goto st318;
-		case 97: goto st318;
+		case 65: goto st325;
+		case 97: goto st325;
 	}
-	goto tr956;
-st318:
+	goto tr979;
+st325:
 	if ( ++p == pe )
-		goto _test_eof318;
-case 318:
+		goto _test_eof325;
+case 325:
 	switch( (*p) ) {
-		case 65: goto st319;
-		case 97: goto st319;
+		case 65: goto st326;
+		case 97: goto st326;
 	}
-	goto tr956;
-st319:
+	goto tr979;
+st326:
 	if ( ++p == pe )
-		goto _test_eof319;
-case 319:
+		goto _test_eof326;
+case 326:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33368,152 +34560,158 @@ case 319:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1000;
-		case 32: goto tr1000;
-		case 40: goto tr1001;
-		case 41: goto tr1002;
-		case 2058: goto tr1003;
-		case 2107: goto tr1004;
-		case 2314: goto tr1005;
-		case 2363: goto tr1005;
-		case 2570: goto tr1006;
-		case 2619: goto tr1007;
-	}
-	goto tr956;
-tr961:
+		case 9: goto tr1023;
+		case 32: goto tr1023;
+		case 40: goto tr1024;
+		case 41: goto tr1025;
+		case 2058: goto tr1026;
+		case 2107: goto tr1027;
+		case 2314: goto tr1028;
+		case 2363: goto tr1028;
+		case 2570: goto tr1029;
+		case 2619: goto tr1030;
+	}
+	goto tr979;
+tr984:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
 	}
-	goto st320;
-tr994:
+	goto st327;
+tr1017:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
-	goto st320;
-tr1004:
+	goto st327;
+tr1027:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
-	goto st320;
-tr1016:
+	goto st327;
+tr1044:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	goto st327;
+tr1052:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	goto st327;
+tr1062:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
-	goto st320;
-tr1027:
+	goto st327;
+tr1073:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
-	goto st320;
-tr1041:
+	goto st327;
+tr1087:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
-	goto st320;
-tr1053:
+	goto st327;
+tr1099:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
-	goto st320;
-tr1064:
+	goto st327;
+tr1110:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
-	goto st320;
-tr1072:
+	goto st327;
+tr1118:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
-	goto st320;
-tr1085:
+	goto st327;
+tr1131:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
-	goto st320;
-tr1094:
+	goto st327;
+tr1140:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
-	goto st320;
-tr1106:
+	goto st327;
+tr1152:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
-	goto st320;
-tr1121:
+	goto st327;
+tr1167:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
-	goto st320;
-tr1132:
+	goto st327;
+tr1178:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
-	goto st320;
-tr1140:
+	goto st327;
+tr1186:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
-	goto st320;
-tr1153:
+	goto st327;
+tr1199:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
-	goto st320;
-tr1162:
+	goto st327;
+tr1208:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
-	goto st320;
-tr1171:
+	goto st327;
+tr1217:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
-	goto st320;
-tr1179:
+	goto st327;
+tr1225:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
-	goto st320;
-tr1192:
+	goto st327;
+tr1238:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
-	goto st320;
-tr1200:
+	goto st327;
+tr1246:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
-	goto st320;
-tr1214:
+	goto st327;
+tr1260:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
-	goto st320;
-tr1223:
+	goto st327;
+tr1269:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
-	goto st320;
-tr1232:
+	goto st327;
+tr1278:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
-	goto st320;
-tr1242:
+	goto st327;
+tr1288:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
-	goto st320;
-tr1251:
+	goto st327;
+tr1297:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
-	goto st320;
-tr1263:
+	goto st327;
+tr1309:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
-	goto st320;
-tr1273:
+	goto st327;
+tr1319:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
-	goto st320;
-tr1284:
+	goto st327;
+tr1330:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
-	goto st320;
-tr1295:
+	goto st327;
+tr1341:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
-	goto st320;
-tr1303:
+	goto st327;
+tr1349:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
-	goto st320;
-tr1316:
+	goto st327;
+tr1362:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
-	goto st320;
-tr1325:
+	goto st327;
+tr1371:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
-	goto st320;
-tr1334:
+	goto st327;
+tr1380:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
-	goto st320;
-tr1345:
+	goto st327;
+tr1391:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
-	goto st320;
-tr1358:
+	goto st327;
+tr1404:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
-	goto st320;
-tr1367:
+	goto st327;
+tr1413:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
-	goto st320;
-tr1379:
+	goto st327;
+tr1425:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st320;
-tr1390:
+	goto st327;
+tr1436:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
-	goto st320;
-tr1399:
+	goto st327;
+tr1445:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
-	goto st320;
-st320:
+	goto st327;
+st327:
 	if ( ++p == pe )
-		goto _test_eof320;
-case 320:
+		goto _test_eof327;
+case 327:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -33533,11 +34731,11 @@ case 320:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr982;
+		goto tr1005;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st320;
-	goto tr956;
-tr962:
+		goto st327;
+	goto tr979;
+tr985:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
@@ -33560,7 +34758,7 @@ tr962:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33568,8 +34766,8 @@ tr962:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr984:
+	goto st1098;
+tr1007:
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -33588,7 +34786,7 @@ tr984:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33596,8 +34794,8 @@ tr984:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr995:
+	goto st1098;
+tr1018:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33617,7 +34815,7 @@ tr995:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33625,8 +34823,8 @@ tr995:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1005:
+	goto st1098;
+tr1028:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33646,7 +34844,7 @@ tr1005:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33654,8 +34852,66 @@ tr1005:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1017:
+	goto st1098;
+tr1045:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	{
+		for (window = 0; window <= s->last_window; window++) {
+			if ((s->windows[window]).length > 0) {
+				if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+				{
+					// Window number.
+					*rdata_tail = (uint8_t)window;
+					rdata_tail += 1;
+					// Bitmap length.
+					*rdata_tail = (s->windows[window]).length;
+					rdata_tail += 1;
+					// Copying bitmap.
+					memcpy(rdata_tail,
+					       (s->windows[window]).bitmap,
+					       (s->windows[window]).length);
+					rdata_tail += (s->windows[window]).length;
+				} else {
+					WARN(ZS_RDATA_OVERFLOW);
+					p--; {goto st253;}
+				}
+			}
+		}
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1098;
+tr1053:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	{
+		for (window = 0; window <= s->last_window; window++) {
+			if ((s->windows[window]).length > 0) {
+				if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+				{
+					// Window number.
+					*rdata_tail = (uint8_t)window;
+					rdata_tail += 1;
+					// Bitmap length.
+					*rdata_tail = (s->windows[window]).length;
+					rdata_tail += 1;
+					// Copying bitmap.
+					memcpy(rdata_tail,
+					       (s->windows[window]).bitmap,
+					       (s->windows[window]).length);
+					rdata_tail += (s->windows[window]).length;
+				} else {
+					WARN(ZS_RDATA_OVERFLOW);
+					p--; {goto st253;}
+				}
+			}
+		}
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1098;
+tr1063:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33675,7 +34931,7 @@ tr1017:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33683,8 +34939,8 @@ tr1017:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1028:
+	goto st1098;
+tr1074:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33704,7 +34960,7 @@ tr1028:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33712,8 +34968,8 @@ tr1028:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1042:
+	goto st1098;
+tr1088:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33733,7 +34989,7 @@ tr1042:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33741,8 +34997,8 @@ tr1042:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1054:
+	goto st1098;
+tr1100:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33762,7 +35018,7 @@ tr1054:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33770,8 +35026,8 @@ tr1054:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1065:
+	goto st1098;
+tr1111:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33791,7 +35047,7 @@ tr1065:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33799,8 +35055,8 @@ tr1065:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1073:
+	goto st1098;
+tr1119:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33820,7 +35076,7 @@ tr1073:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33828,8 +35084,8 @@ tr1073:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1086:
+	goto st1098;
+tr1132:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33849,7 +35105,7 @@ tr1086:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33857,8 +35113,8 @@ tr1086:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1095:
+	goto st1098;
+tr1141:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33878,7 +35134,7 @@ tr1095:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33886,8 +35142,8 @@ tr1095:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1107:
+	goto st1098;
+tr1153:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33907,7 +35163,7 @@ tr1107:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33915,8 +35171,8 @@ tr1107:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1122:
+	goto st1098;
+tr1168:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33936,7 +35192,7 @@ tr1122:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33944,8 +35200,8 @@ tr1122:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1133:
+	goto st1098;
+tr1179:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33965,7 +35221,7 @@ tr1133:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -33973,8 +35229,8 @@ tr1133:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1141:
+	goto st1098;
+tr1187:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -33994,7 +35250,7 @@ tr1141:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34002,8 +35258,8 @@ tr1141:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1154:
+	goto st1098;
+tr1200:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34023,7 +35279,7 @@ tr1154:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34031,8 +35287,8 @@ tr1154:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1163:
+	goto st1098;
+tr1209:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34052,7 +35308,7 @@ tr1163:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34060,8 +35316,8 @@ tr1163:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1172:
+	goto st1098;
+tr1218:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34081,7 +35337,7 @@ tr1172:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34089,8 +35345,8 @@ tr1172:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1180:
+	goto st1098;
+tr1226:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34110,7 +35366,7 @@ tr1180:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34118,8 +35374,8 @@ tr1180:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1193:
+	goto st1098;
+tr1239:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34139,7 +35395,7 @@ tr1193:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34147,8 +35403,8 @@ tr1193:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1201:
+	goto st1098;
+tr1247:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34168,7 +35424,7 @@ tr1201:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34176,8 +35432,8 @@ tr1201:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1215:
+	goto st1098;
+tr1261:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34197,7 +35453,7 @@ tr1215:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34205,8 +35461,8 @@ tr1215:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1224:
+	goto st1098;
+tr1270:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34226,7 +35482,7 @@ tr1224:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34234,8 +35490,8 @@ tr1224:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1233:
+	goto st1098;
+tr1279:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34255,7 +35511,7 @@ tr1233:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34263,8 +35519,8 @@ tr1233:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1243:
+	goto st1098;
+tr1289:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34284,7 +35540,7 @@ tr1243:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34292,8 +35548,8 @@ tr1243:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1252:
+	goto st1098;
+tr1298:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34313,7 +35569,7 @@ tr1252:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34321,8 +35577,8 @@ tr1252:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1264:
+	goto st1098;
+tr1310:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34342,7 +35598,7 @@ tr1264:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34350,8 +35606,8 @@ tr1264:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1274:
+	goto st1098;
+tr1320:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34371,7 +35627,7 @@ tr1274:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34379,8 +35635,8 @@ tr1274:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1285:
+	goto st1098;
+tr1331:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34400,7 +35656,7 @@ tr1285:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34408,8 +35664,8 @@ tr1285:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1296:
+	goto st1098;
+tr1342:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34429,7 +35685,7 @@ tr1296:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34437,8 +35693,8 @@ tr1296:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1304:
+	goto st1098;
+tr1350:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34458,7 +35714,7 @@ tr1304:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34466,8 +35722,8 @@ tr1304:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1317:
+	goto st1098;
+tr1363:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34487,7 +35743,7 @@ tr1317:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34495,8 +35751,8 @@ tr1317:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1326:
+	goto st1098;
+tr1372:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34516,7 +35772,7 @@ tr1326:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34524,8 +35780,8 @@ tr1326:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1335:
+	goto st1098;
+tr1381:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34545,7 +35801,7 @@ tr1335:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34553,8 +35809,8 @@ tr1335:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1346:
+	goto st1098;
+tr1392:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34574,7 +35830,7 @@ tr1346:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34582,8 +35838,8 @@ tr1346:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1359:
+	goto st1098;
+tr1405:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34603,7 +35859,7 @@ tr1359:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34611,8 +35867,8 @@ tr1359:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1368:
+	goto st1098;
+tr1414:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34632,7 +35888,7 @@ tr1368:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34640,14 +35896,14 @@ tr1368:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1380:
+	goto st1098;
+tr1426:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -34668,7 +35924,7 @@ tr1380:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34676,8 +35932,8 @@ tr1380:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1391:
+	goto st1098;
+tr1437:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34697,7 +35953,7 @@ tr1391:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34705,8 +35961,8 @@ tr1391:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-tr1400:
+	goto st1098;
+tr1446:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -34726,7 +35982,7 @@ tr1400:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34734,13 +35990,13 @@ tr1400:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1077;
-st1077:
+	goto st1098;
+st1098:
 	if ( ++p == pe )
-		goto _test_eof1077;
-case 1077:
+		goto _test_eof1098;
+case 1098:
 	goto st0;
-tr963:
+tr986:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
@@ -34766,7 +36022,7 @@ tr963:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34774,8 +36030,8 @@ tr963:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr985:
+	goto st1099;
+tr1008:
 	{
 		s->line_counter++;
 	}
@@ -34797,7 +36053,7 @@ tr985:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34805,8 +36061,8 @@ tr985:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr996:
+	goto st1099;
+tr1019:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	{
 		s->line_counter++;
@@ -34829,7 +36085,7 @@ tr996:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34837,8 +36093,8 @@ tr996:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1006:
+	goto st1099;
+tr1029:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	{
 		s->line_counter++;
@@ -34861,7 +36117,7 @@ tr1006:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34869,9 +36125,9 @@ tr1006:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1018:
-	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
+	goto st1099;
+tr1046:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
 	{
 		s->line_counter++;
 	}
@@ -34893,7 +36149,7 @@ tr1018:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34901,9 +36157,9 @@ tr1018:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1029:
-	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
+	goto st1099;
+tr1054:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
 	{
 		s->line_counter++;
 	}
@@ -34925,7 +36181,7 @@ tr1029:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34933,9 +36189,9 @@ tr1029:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1043:
-	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
+	goto st1099;
+tr1064:
+	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	{
 		s->line_counter++;
 	}
@@ -34957,7 +36213,7 @@ tr1043:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34965,9 +36221,9 @@ tr1043:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1055:
-	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
+	goto st1099;
+tr1075:
+	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	{
 		s->line_counter++;
 	}
@@ -34989,7 +36245,7 @@ tr1055:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -34997,9 +36253,9 @@ tr1055:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1066:
-	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
+	goto st1099;
+tr1089:
+	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	{
 		s->line_counter++;
 	}
@@ -35021,7 +36277,7 @@ tr1066:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35029,9 +36285,9 @@ tr1066:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1074:
-	{ window_add_bit(KNOT_RRTYPE_DS, s); }
+	goto st1099;
+tr1101:
+	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	{
 		s->line_counter++;
 	}
@@ -35053,7 +36309,7 @@ tr1074:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35061,9 +36317,9 @@ tr1074:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1087:
-	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
+	goto st1099;
+tr1112:
+	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	{
 		s->line_counter++;
 	}
@@ -35085,7 +36341,7 @@ tr1087:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35093,9 +36349,9 @@ tr1087:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1096:
-	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
+	goto st1099;
+tr1120:
+	{ window_add_bit(KNOT_RRTYPE_DS, s); }
 	{
 		s->line_counter++;
 	}
@@ -35117,7 +36373,7 @@ tr1096:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35125,9 +36381,9 @@ tr1096:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1108:
-	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
+	goto st1099;
+tr1133:
+	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
 	{
 		s->line_counter++;
 	}
@@ -35149,7 +36405,7 @@ tr1108:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35157,8 +36413,72 @@ tr1108:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1123:
+	goto st1099;
+tr1142:
+	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
+	{
+		s->line_counter++;
+	}
+	{
+		for (window = 0; window <= s->last_window; window++) {
+			if ((s->windows[window]).length > 0) {
+				if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+				{
+					// Window number.
+					*rdata_tail = (uint8_t)window;
+					rdata_tail += 1;
+					// Bitmap length.
+					*rdata_tail = (s->windows[window]).length;
+					rdata_tail += 1;
+					// Copying bitmap.
+					memcpy(rdata_tail,
+					       (s->windows[window]).bitmap,
+					       (s->windows[window]).length);
+					rdata_tail += (s->windows[window]).length;
+				} else {
+					WARN(ZS_RDATA_OVERFLOW);
+					p--; {goto st253;}
+				}
+			}
+		}
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1099;
+tr1154:
+	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
+	{
+		s->line_counter++;
+	}
+	{
+		for (window = 0; window <= s->last_window; window++) {
+			if ((s->windows[window]).length > 0) {
+				if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+				{
+					// Window number.
+					*rdata_tail = (uint8_t)window;
+					rdata_tail += 1;
+					// Bitmap length.
+					*rdata_tail = (s->windows[window]).length;
+					rdata_tail += 1;
+					// Copying bitmap.
+					memcpy(rdata_tail,
+					       (s->windows[window]).bitmap,
+					       (s->windows[window]).length);
+					rdata_tail += (s->windows[window]).length;
+				} else {
+					WARN(ZS_RDATA_OVERFLOW);
+					p--; {goto st253;}
+				}
+			}
+		}
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1099;
+tr1169:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	{
 		s->line_counter++;
@@ -35181,7 +36501,7 @@ tr1123:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35189,8 +36509,8 @@ tr1123:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1134:
+	goto st1099;
+tr1180:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	{
 		s->line_counter++;
@@ -35213,7 +36533,7 @@ tr1134:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35221,8 +36541,8 @@ tr1134:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1142:
+	goto st1099;
+tr1188:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	{
 		s->line_counter++;
@@ -35245,7 +36565,7 @@ tr1142:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35253,8 +36573,8 @@ tr1142:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1155:
+	goto st1099;
+tr1201:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	{
 		s->line_counter++;
@@ -35277,7 +36597,7 @@ tr1155:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35285,8 +36605,8 @@ tr1155:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1164:
+	goto st1099;
+tr1210:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	{
 		s->line_counter++;
@@ -35309,7 +36629,7 @@ tr1164:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35317,8 +36637,8 @@ tr1164:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1173:
+	goto st1099;
+tr1219:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	{
 		s->line_counter++;
@@ -35341,7 +36661,7 @@ tr1173:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35349,8 +36669,8 @@ tr1173:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1181:
+	goto st1099;
+tr1227:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	{
 		s->line_counter++;
@@ -35373,7 +36693,7 @@ tr1181:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35381,8 +36701,8 @@ tr1181:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1194:
+	goto st1099;
+tr1240:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	{
 		s->line_counter++;
@@ -35405,7 +36725,7 @@ tr1194:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35413,8 +36733,8 @@ tr1194:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1202:
+	goto st1099;
+tr1248:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	{
 		s->line_counter++;
@@ -35437,7 +36757,7 @@ tr1202:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35445,8 +36765,8 @@ tr1202:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1216:
+	goto st1099;
+tr1262:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	{
 		s->line_counter++;
@@ -35469,7 +36789,7 @@ tr1216:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35477,8 +36797,8 @@ tr1216:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1225:
+	goto st1099;
+tr1271:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	{
 		s->line_counter++;
@@ -35501,7 +36821,7 @@ tr1225:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35509,8 +36829,8 @@ tr1225:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1234:
+	goto st1099;
+tr1280:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	{
 		s->line_counter++;
@@ -35533,7 +36853,7 @@ tr1234:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35541,8 +36861,8 @@ tr1234:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1244:
+	goto st1099;
+tr1290:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	{
 		s->line_counter++;
@@ -35565,7 +36885,7 @@ tr1244:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35573,8 +36893,8 @@ tr1244:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1253:
+	goto st1099;
+tr1299:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	{
 		s->line_counter++;
@@ -35597,7 +36917,7 @@ tr1253:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35605,8 +36925,8 @@ tr1253:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1265:
+	goto st1099;
+tr1311:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	{
 		s->line_counter++;
@@ -35629,7 +36949,7 @@ tr1265:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35637,8 +36957,8 @@ tr1265:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1275:
+	goto st1099;
+tr1321:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	{
 		s->line_counter++;
@@ -35661,7 +36981,7 @@ tr1275:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35669,8 +36989,8 @@ tr1275:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1286:
+	goto st1099;
+tr1332:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	{
 		s->line_counter++;
@@ -35693,7 +37013,7 @@ tr1286:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35701,8 +37021,8 @@ tr1286:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1297:
+	goto st1099;
+tr1343:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	{
 		s->line_counter++;
@@ -35725,7 +37045,7 @@ tr1297:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35733,8 +37053,8 @@ tr1297:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1305:
+	goto st1099;
+tr1351:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	{
 		s->line_counter++;
@@ -35757,7 +37077,7 @@ tr1305:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35765,8 +37085,8 @@ tr1305:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1318:
+	goto st1099;
+tr1364:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	{
 		s->line_counter++;
@@ -35789,7 +37109,7 @@ tr1318:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35797,8 +37117,8 @@ tr1318:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1327:
+	goto st1099;
+tr1373:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	{
 		s->line_counter++;
@@ -35821,7 +37141,7 @@ tr1327:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35829,8 +37149,8 @@ tr1327:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1336:
+	goto st1099;
+tr1382:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	{
 		s->line_counter++;
@@ -35853,7 +37173,7 @@ tr1336:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35861,8 +37181,8 @@ tr1336:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1347:
+	goto st1099;
+tr1393:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	{
 		s->line_counter++;
@@ -35885,7 +37205,7 @@ tr1347:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35893,8 +37213,8 @@ tr1347:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1360:
+	goto st1099;
+tr1406:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	{
 		s->line_counter++;
@@ -35917,7 +37237,7 @@ tr1360:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35925,8 +37245,8 @@ tr1360:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1369:
+	goto st1099;
+tr1415:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	{
 		s->line_counter++;
@@ -35949,7 +37269,7 @@ tr1369:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35957,14 +37277,14 @@ tr1369:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1381:
+	goto st1099;
+tr1427:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -35988,7 +37308,7 @@ tr1381:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -35996,8 +37316,8 @@ tr1381:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1392:
+	goto st1099;
+tr1438:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	{
 		s->line_counter++;
@@ -36020,7 +37340,7 @@ tr1392:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36028,8 +37348,8 @@ tr1392:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-tr1401:
+	goto st1099;
+tr1447:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	{
 		s->line_counter++;
@@ -36052,7 +37372,7 @@ tr1401:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36060,11 +37380,11 @@ tr1401:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1078;
-st1078:
+	goto st1099;
+st1099:
 	if ( ++p == pe )
-		goto _test_eof1078;
-case 1078:
+		goto _test_eof1099;
+case 1099:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -36082,79 +37402,110 @@ case 1078:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st315;
-		case 32: goto st315;
-		case 40: goto tr966;
-		case 41: goto tr967;
-		case 65: goto st316;
-		case 67: goto st321;
+		case 9: goto st322;
+		case 32: goto st322;
+		case 40: goto tr989;
+		case 41: goto tr990;
+		case 65: goto st323;
+		case 67: goto st328;
+		case 68: goto st343;
+		case 69: goto st357;
+		case 72: goto st364;
+		case 73: goto st369;
+		case 75: goto st377;
+		case 76: goto st381;
+		case 77: goto st389;
+		case 78: goto st395;
+		case 80: goto st411;
+		case 82: goto st414;
+		case 83: goto st421;
+		case 84: goto st432;
+		case 97: goto st323;
+		case 99: goto st328;
+		case 100: goto st343;
+		case 101: goto st357;
+		case 104: goto st364;
+		case 105: goto st369;
+		case 107: goto st377;
+		case 108: goto st381;
+		case 109: goto st389;
+		case 110: goto st395;
+		case 112: goto st411;
+		case 114: goto st414;
+		case 115: goto st421;
+		case 116: goto st432;
+		case 2058: goto tr1005;
+		case 2107: goto st327;
+		case 2314: goto tr1007;
+		case 2363: goto tr1007;
+		case 2570: goto tr1008;
+		case 2619: goto tr1009;
+	}
+	goto tr979;
+st328:
+	if ( ++p == pe )
+		goto _test_eof328;
+case 328:
+	switch( (*p) ) {
 		case 68: goto st329;
-		case 69: goto st343;
-		case 72: goto st350;
-		case 73: goto st355;
-		case 75: goto st363;
-		case 76: goto st367;
-		case 77: goto st375;
-		case 78: goto st381;
-		case 80: goto st397;
-		case 82: goto st400;
-		case 83: goto st407;
-		case 84: goto st418;
-		case 97: goto st316;
-		case 99: goto st321;
+		case 69: goto st336;
+		case 78: goto st339;
 		case 100: goto st329;
-		case 101: goto st343;
-		case 104: goto st350;
-		case 105: goto st355;
-		case 107: goto st363;
-		case 108: goto st367;
-		case 109: goto st375;
-		case 110: goto st381;
-		case 112: goto st397;
-		case 114: goto st400;
-		case 115: goto st407;
-		case 116: goto st418;
-		case 2058: goto tr982;
-		case 2107: goto st320;
-		case 2314: goto tr984;
-		case 2363: goto tr984;
-		case 2570: goto tr985;
-		case 2619: goto tr986;
-	}
-	goto tr956;
-st321:
+		case 101: goto st336;
+		case 110: goto st339;
+	}
+	goto tr979;
+st329:
 	if ( ++p == pe )
-		goto _test_eof321;
-case 321:
+		goto _test_eof329;
+case 329:
 	switch( (*p) ) {
-		case 69: goto st322;
-		case 78: goto st325;
-		case 101: goto st322;
-		case 110: goto st325;
+		case 78: goto st330;
+		case 83: goto st335;
+		case 110: goto st330;
+		case 115: goto st335;
 	}
-	goto tr956;
-st322:
+	goto tr979;
+st330:
 	if ( ++p == pe )
-		goto _test_eof322;
-case 322:
+		goto _test_eof330;
+case 330:
 	switch( (*p) ) {
-		case 82: goto st323;
-		case 114: goto st323;
+		case 83: goto st331;
+		case 115: goto st331;
 	}
-	goto tr956;
-st323:
+	goto tr979;
+st331:
 	if ( ++p == pe )
-		goto _test_eof323;
-case 323:
+		goto _test_eof331;
+case 331:
 	switch( (*p) ) {
-		case 84: goto st324;
-		case 116: goto st324;
+		case 75: goto st332;
+		case 107: goto st332;
 	}
-	goto tr956;
-st324:
+	goto tr979;
+st332:
 	if ( ++p == pe )
-		goto _test_eof324;
-case 324:
+		goto _test_eof332;
+case 332:
+	switch( (*p) ) {
+		case 69: goto st333;
+		case 101: goto st333;
+	}
+	goto tr979;
+st333:
+	if ( ++p == pe )
+		goto _test_eof333;
+case 333:
+	switch( (*p) ) {
+		case 89: goto st334;
+		case 121: goto st334;
+	}
+	goto tr979;
+st334:
+	if ( ++p == pe )
+		goto _test_eof334;
+case 334:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -36172,19 +37523,19 @@ case 324:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1012;
-		case 32: goto tr1012;
-		case 40: goto tr1013;
-		case 41: goto tr1014;
-		case 2058: goto tr1015;
-		case 2107: goto tr1016;
-		case 2314: goto tr1017;
-		case 2363: goto tr1017;
-		case 2570: goto tr1018;
-		case 2619: goto tr1019;
-	}
-	goto tr956;
-tr964:
+		case 9: goto tr1040;
+		case 32: goto tr1040;
+		case 40: goto tr1041;
+		case 41: goto tr1042;
+		case 2058: goto tr1043;
+		case 2107: goto tr1044;
+		case 2314: goto tr1045;
+		case 2363: goto tr1045;
+		case 2570: goto tr1046;
+		case 2619: goto tr1047;
+	}
+	goto tr979;
+tr987:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
@@ -36207,7 +37558,7 @@ tr964:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36215,8 +37566,8 @@ tr964:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr986:
+	goto st1100;
+tr1009:
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36235,7 +37586,7 @@ tr986:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36243,8 +37594,8 @@ tr986:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr997:
+	goto st1100;
+tr1020:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36264,7 +37615,7 @@ tr997:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36272,8 +37623,8 @@ tr997:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1007:
+	goto st1100;
+tr1030:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36293,7 +37644,7 @@ tr1007:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36301,9 +37652,9 @@ tr1007:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1019:
-	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
+	goto st1100;
+tr1047:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36322,7 +37673,7 @@ tr1019:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36330,9 +37681,9 @@ tr1019:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1030:
-	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
+	goto st1100;
+tr1055:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36351,7 +37702,7 @@ tr1030:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36359,9 +37710,9 @@ tr1030:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1044:
-	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
+	goto st1100;
+tr1065:
+	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36380,7 +37731,7 @@ tr1044:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36388,9 +37739,9 @@ tr1044:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1056:
-	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
+	goto st1100;
+tr1076:
+	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36409,7 +37760,7 @@ tr1056:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36417,9 +37768,9 @@ tr1056:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1067:
-	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
+	goto st1100;
+tr1090:
+	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36438,7 +37789,7 @@ tr1067:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36446,9 +37797,9 @@ tr1067:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1075:
-	{ window_add_bit(KNOT_RRTYPE_DS, s); }
+	goto st1100;
+tr1102:
+	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36467,7 +37818,7 @@ tr1075:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36475,9 +37826,9 @@ tr1075:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1088:
-	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
+	goto st1100;
+tr1113:
+	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -36496,7 +37847,7 @@ tr1088:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36504,8 +37855,66 @@ tr1088:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1097:
+	goto st1100;
+tr1121:
+	{ window_add_bit(KNOT_RRTYPE_DS, s); }
+	{
+		for (window = 0; window <= s->last_window; window++) {
+			if ((s->windows[window]).length > 0) {
+				if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+				{
+					// Window number.
+					*rdata_tail = (uint8_t)window;
+					rdata_tail += 1;
+					// Bitmap length.
+					*rdata_tail = (s->windows[window]).length;
+					rdata_tail += 1;
+					// Copying bitmap.
+					memcpy(rdata_tail,
+					       (s->windows[window]).bitmap,
+					       (s->windows[window]).length);
+					rdata_tail += (s->windows[window]).length;
+				} else {
+					WARN(ZS_RDATA_OVERFLOW);
+					p--; {goto st253;}
+				}
+			}
+		}
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1100;
+tr1134:
+	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
+	{
+		for (window = 0; window <= s->last_window; window++) {
+			if ((s->windows[window]).length > 0) {
+				if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+				{
+					// Window number.
+					*rdata_tail = (uint8_t)window;
+					rdata_tail += 1;
+					// Bitmap length.
+					*rdata_tail = (s->windows[window]).length;
+					rdata_tail += 1;
+					// Copying bitmap.
+					memcpy(rdata_tail,
+					       (s->windows[window]).bitmap,
+					       (s->windows[window]).length);
+					rdata_tail += (s->windows[window]).length;
+				} else {
+					WARN(ZS_RDATA_OVERFLOW);
+					p--; {goto st253;}
+				}
+			}
+		}
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1100;
+tr1143:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36525,7 +37934,7 @@ tr1097:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36533,8 +37942,8 @@ tr1097:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1109:
+	goto st1100;
+tr1155:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36554,7 +37963,7 @@ tr1109:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36562,8 +37971,8 @@ tr1109:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1124:
+	goto st1100;
+tr1170:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36583,7 +37992,7 @@ tr1124:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36591,8 +38000,8 @@ tr1124:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1135:
+	goto st1100;
+tr1181:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36612,7 +38021,7 @@ tr1135:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36620,8 +38029,8 @@ tr1135:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1143:
+	goto st1100;
+tr1189:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36641,7 +38050,7 @@ tr1143:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36649,8 +38058,8 @@ tr1143:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1156:
+	goto st1100;
+tr1202:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36670,7 +38079,7 @@ tr1156:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36678,8 +38087,8 @@ tr1156:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1165:
+	goto st1100;
+tr1211:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36699,7 +38108,7 @@ tr1165:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36707,8 +38116,8 @@ tr1165:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1174:
+	goto st1100;
+tr1220:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36728,7 +38137,7 @@ tr1174:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36736,8 +38145,8 @@ tr1174:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1182:
+	goto st1100;
+tr1228:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36757,7 +38166,7 @@ tr1182:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36765,8 +38174,8 @@ tr1182:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1195:
+	goto st1100;
+tr1241:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36786,7 +38195,7 @@ tr1195:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36794,8 +38203,8 @@ tr1195:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1203:
+	goto st1100;
+tr1249:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36815,7 +38224,7 @@ tr1203:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36823,8 +38232,8 @@ tr1203:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1217:
+	goto st1100;
+tr1263:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36844,7 +38253,7 @@ tr1217:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36852,8 +38261,8 @@ tr1217:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1226:
+	goto st1100;
+tr1272:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36873,7 +38282,7 @@ tr1226:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36881,8 +38290,8 @@ tr1226:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1235:
+	goto st1100;
+tr1281:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36902,7 +38311,7 @@ tr1235:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36910,8 +38319,8 @@ tr1235:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1245:
+	goto st1100;
+tr1291:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36931,7 +38340,7 @@ tr1245:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36939,8 +38348,8 @@ tr1245:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1254:
+	goto st1100;
+tr1300:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36960,7 +38369,7 @@ tr1254:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36968,8 +38377,8 @@ tr1254:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1266:
+	goto st1100;
+tr1312:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -36989,7 +38398,7 @@ tr1266:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -36997,8 +38406,8 @@ tr1266:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1276:
+	goto st1100;
+tr1322:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37018,7 +38427,7 @@ tr1276:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37026,8 +38435,8 @@ tr1276:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1287:
+	goto st1100;
+tr1333:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37047,7 +38456,7 @@ tr1287:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37055,8 +38464,8 @@ tr1287:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1298:
+	goto st1100;
+tr1344:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37076,7 +38485,7 @@ tr1298:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37084,8 +38493,8 @@ tr1298:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1306:
+	goto st1100;
+tr1352:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37105,7 +38514,7 @@ tr1306:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37113,8 +38522,8 @@ tr1306:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1319:
+	goto st1100;
+tr1365:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37134,7 +38543,7 @@ tr1319:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37142,8 +38551,8 @@ tr1319:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1328:
+	goto st1100;
+tr1374:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37163,7 +38572,7 @@ tr1328:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37171,8 +38580,8 @@ tr1328:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1337:
+	goto st1100;
+tr1383:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37192,7 +38601,7 @@ tr1337:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37200,8 +38609,8 @@ tr1337:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1348:
+	goto st1100;
+tr1394:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37221,7 +38630,7 @@ tr1348:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37229,8 +38638,8 @@ tr1348:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1361:
+	goto st1100;
+tr1407:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37250,7 +38659,7 @@ tr1361:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37258,8 +38667,8 @@ tr1361:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1370:
+	goto st1100;
+tr1416:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37279,7 +38688,7 @@ tr1370:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37287,14 +38696,14 @@ tr1370:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1382:
+	goto st1100;
+tr1428:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -37315,7 +38724,7 @@ tr1382:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37323,8 +38732,8 @@ tr1382:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1393:
+	goto st1100;
+tr1439:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37344,7 +38753,7 @@ tr1393:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37352,8 +38761,8 @@ tr1393:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-tr1402:
+	goto st1100;
+tr1448:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	{
 		for (window = 0; window <= s->last_window; window++) {
@@ -37373,7 +38782,7 @@ tr1402:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {goto st246;}
+					p--; {goto st253;}
 				}
 			}
 		}
@@ -37381,11 +38790,11 @@ tr1402:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1079;
-st1079:
+	goto st1100;
+st1100:
 	if ( ++p == pe )
-		goto _test_eof1079;
-case 1079:
+		goto _test_eof1100;
+case 1100:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -37405,114 +38814,14 @@ case 1079:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr982;
+		goto tr1005;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st320;
-	goto tr956;
-st325:
-	if ( ++p == pe )
-		goto _test_eof325;
-case 325:
-	switch( (*p) ) {
-		case 65: goto st326;
-		case 97: goto st326;
-	}
-	goto tr956;
-st326:
-	if ( ++p == pe )
-		goto _test_eof326;
-case 326:
-	switch( (*p) ) {
-		case 77: goto st327;
-		case 109: goto st327;
-	}
-	goto tr956;
-st327:
-	if ( ++p == pe )
-		goto _test_eof327;
-case 327:
-	switch( (*p) ) {
-		case 69: goto st328;
-		case 101: goto st328;
-	}
-	goto tr956;
-st328:
-	if ( ++p == pe )
-		goto _test_eof328;
-case 328:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
-	}
-	switch( _widec ) {
-		case 9: goto tr1023;
-		case 32: goto tr1023;
-		case 40: goto tr1024;
-		case 41: goto tr1025;
-		case 2058: goto tr1026;
-		case 2107: goto tr1027;
-		case 2314: goto tr1028;
-		case 2363: goto tr1028;
-		case 2570: goto tr1029;
-		case 2619: goto tr1030;
-	}
-	goto tr956;
-st329:
-	if ( ++p == pe )
-		goto _test_eof329;
-case 329:
-	switch( (*p) ) {
-		case 72: goto st330;
-		case 78: goto st334;
-		case 83: goto st342;
-		case 104: goto st330;
-		case 110: goto st334;
-		case 115: goto st342;
-	}
-	goto tr956;
-st330:
-	if ( ++p == pe )
-		goto _test_eof330;
-case 330:
-	switch( (*p) ) {
-		case 67: goto st331;
-		case 99: goto st331;
-	}
-	goto tr956;
-st331:
-	if ( ++p == pe )
-		goto _test_eof331;
-case 331:
-	switch( (*p) ) {
-		case 73: goto st332;
-		case 105: goto st332;
-	}
-	goto tr956;
-st332:
-	if ( ++p == pe )
-		goto _test_eof332;
-case 332:
-	switch( (*p) ) {
-		case 68: goto st333;
-		case 100: goto st333;
-	}
-	goto tr956;
-st333:
+		goto st327;
+	goto tr979;
+st335:
 	if ( ++p == pe )
-		goto _test_eof333;
-case 333:
+		goto _test_eof335;
+case 335:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37530,51 +38839,40 @@ case 333:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1037;
-		case 32: goto tr1037;
-		case 40: goto tr1038;
-		case 41: goto tr1039;
-		case 2058: goto tr1040;
-		case 2107: goto tr1041;
-		case 2314: goto tr1042;
-		case 2363: goto tr1042;
-		case 2570: goto tr1043;
-		case 2619: goto tr1044;
-	}
-	goto tr956;
-st334:
-	if ( ++p == pe )
-		goto _test_eof334;
-case 334:
-	switch( (*p) ) {
-		case 65: goto st335;
-		case 83: goto st338;
-		case 97: goto st335;
-		case 115: goto st338;
-	}
-	goto tr956;
-st335:
-	if ( ++p == pe )
-		goto _test_eof335;
-case 335:
-	switch( (*p) ) {
-		case 77: goto st336;
-		case 109: goto st336;
-	}
-	goto tr956;
+		case 9: goto tr1048;
+		case 32: goto tr1048;
+		case 40: goto tr1049;
+		case 41: goto tr1050;
+		case 2058: goto tr1051;
+		case 2107: goto tr1052;
+		case 2314: goto tr1053;
+		case 2363: goto tr1053;
+		case 2570: goto tr1054;
+		case 2619: goto tr1055;
+	}
+	goto tr979;
 st336:
 	if ( ++p == pe )
 		goto _test_eof336;
 case 336:
 	switch( (*p) ) {
-		case 69: goto st337;
-		case 101: goto st337;
+		case 82: goto st337;
+		case 114: goto st337;
 	}
-	goto tr956;
+	goto tr979;
 st337:
 	if ( ++p == pe )
 		goto _test_eof337;
 case 337:
+	switch( (*p) ) {
+		case 84: goto st338;
+		case 116: goto st338;
+	}
+	goto tr979;
+st338:
+	if ( ++p == pe )
+		goto _test_eof338;
+case 338:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37592,78 +38890,45 @@ case 337:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1049;
-		case 32: goto tr1049;
-		case 40: goto tr1050;
-		case 41: goto tr1051;
-		case 2058: goto tr1052;
-		case 2107: goto tr1053;
-		case 2314: goto tr1054;
-		case 2363: goto tr1054;
-		case 2570: goto tr1055;
-		case 2619: goto tr1056;
-	}
-	goto tr956;
-st338:
-	if ( ++p == pe )
-		goto _test_eof338;
-case 338:
-	switch( (*p) ) {
-		case 75: goto st339;
-		case 107: goto st339;
-	}
-	goto tr956;
+		case 9: goto tr1058;
+		case 32: goto tr1058;
+		case 40: goto tr1059;
+		case 41: goto tr1060;
+		case 2058: goto tr1061;
+		case 2107: goto tr1062;
+		case 2314: goto tr1063;
+		case 2363: goto tr1063;
+		case 2570: goto tr1064;
+		case 2619: goto tr1065;
+	}
+	goto tr979;
 st339:
 	if ( ++p == pe )
 		goto _test_eof339;
 case 339:
 	switch( (*p) ) {
-		case 69: goto st340;
-		case 101: goto st340;
+		case 65: goto st340;
+		case 97: goto st340;
 	}
-	goto tr956;
+	goto tr979;
 st340:
 	if ( ++p == pe )
 		goto _test_eof340;
 case 340:
 	switch( (*p) ) {
-		case 89: goto st341;
-		case 121: goto st341;
+		case 77: goto st341;
+		case 109: goto st341;
 	}
-	goto tr956;
+	goto tr979;
 st341:
 	if ( ++p == pe )
 		goto _test_eof341;
 case 341:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
+	switch( (*p) ) {
+		case 69: goto st342;
+		case 101: goto st342;
 	}
-	switch( _widec ) {
-		case 9: goto tr1060;
-		case 32: goto tr1060;
-		case 40: goto tr1061;
-		case 41: goto tr1062;
-		case 2058: goto tr1063;
-		case 2107: goto tr1064;
-		case 2314: goto tr1065;
-		case 2363: goto tr1065;
-		case 2570: goto tr1066;
-		case 2619: goto tr1067;
-	}
-	goto tr956;
+	goto tr979;
 st342:
 	if ( ++p == pe )
 		goto _test_eof342;
@@ -37685,52 +38950,58 @@ case 342:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1068;
-		case 32: goto tr1068;
-		case 40: goto tr1069;
-		case 41: goto tr1070;
-		case 2058: goto tr1071;
-		case 2107: goto tr1072;
-		case 2314: goto tr1073;
-		case 2363: goto tr1073;
-		case 2570: goto tr1074;
-		case 2619: goto tr1075;
-	}
-	goto tr956;
+		case 9: goto tr1069;
+		case 32: goto tr1069;
+		case 40: goto tr1070;
+		case 41: goto tr1071;
+		case 2058: goto tr1072;
+		case 2107: goto tr1073;
+		case 2314: goto tr1074;
+		case 2363: goto tr1074;
+		case 2570: goto tr1075;
+		case 2619: goto tr1076;
+	}
+	goto tr979;
 st343:
 	if ( ++p == pe )
 		goto _test_eof343;
 case 343:
 	switch( (*p) ) {
-		case 85: goto st344;
-		case 117: goto st344;
-	}
-	goto tr956;
+		case 72: goto st344;
+		case 78: goto st348;
+		case 83: goto st356;
+		case 104: goto st344;
+		case 110: goto st348;
+		case 115: goto st356;
+	}
+	goto tr979;
 st344:
 	if ( ++p == pe )
 		goto _test_eof344;
 case 344:
 	switch( (*p) ) {
-		case 73: goto st345;
-		case 105: goto st345;
+		case 67: goto st345;
+		case 99: goto st345;
 	}
-	goto tr956;
+	goto tr979;
 st345:
 	if ( ++p == pe )
 		goto _test_eof345;
 case 345:
 	switch( (*p) ) {
-		case 52: goto st346;
-		case 54: goto st348;
+		case 73: goto st346;
+		case 105: goto st346;
 	}
-	goto tr956;
+	goto tr979;
 st346:
 	if ( ++p == pe )
 		goto _test_eof346;
 case 346:
-	if ( (*p) == 56 )
-		goto st347;
-	goto tr956;
+	switch( (*p) ) {
+		case 68: goto st347;
+		case 100: goto st347;
+	}
+	goto tr979;
 st347:
 	if ( ++p == pe )
 		goto _test_eof347;
@@ -37752,29 +39023,51 @@ case 347:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1081;
-		case 32: goto tr1081;
-		case 40: goto tr1082;
-		case 41: goto tr1083;
-		case 2058: goto tr1084;
-		case 2107: goto tr1085;
-		case 2314: goto tr1086;
-		case 2363: goto tr1086;
-		case 2570: goto tr1087;
-		case 2619: goto tr1088;
-	}
-	goto tr956;
+		case 9: goto tr1083;
+		case 32: goto tr1083;
+		case 40: goto tr1084;
+		case 41: goto tr1085;
+		case 2058: goto tr1086;
+		case 2107: goto tr1087;
+		case 2314: goto tr1088;
+		case 2363: goto tr1088;
+		case 2570: goto tr1089;
+		case 2619: goto tr1090;
+	}
+	goto tr979;
 st348:
 	if ( ++p == pe )
 		goto _test_eof348;
 case 348:
-	if ( (*p) == 52 )
-		goto st349;
-	goto tr956;
+	switch( (*p) ) {
+		case 65: goto st349;
+		case 83: goto st352;
+		case 97: goto st349;
+		case 115: goto st352;
+	}
+	goto tr979;
 st349:
 	if ( ++p == pe )
 		goto _test_eof349;
 case 349:
+	switch( (*p) ) {
+		case 77: goto st350;
+		case 109: goto st350;
+	}
+	goto tr979;
+st350:
+	if ( ++p == pe )
+		goto _test_eof350;
+case 350:
+	switch( (*p) ) {
+		case 69: goto st351;
+		case 101: goto st351;
+	}
+	goto tr979;
+st351:
+	if ( ++p == pe )
+		goto _test_eof351;
+case 351:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37792,58 +39085,49 @@ case 349:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1090;
-		case 32: goto tr1090;
-		case 40: goto tr1091;
-		case 41: goto tr1092;
-		case 2058: goto tr1093;
-		case 2107: goto tr1094;
-		case 2314: goto tr1095;
-		case 2363: goto tr1095;
-		case 2570: goto tr1096;
-		case 2619: goto tr1097;
-	}
-	goto tr956;
-st350:
-	if ( ++p == pe )
-		goto _test_eof350;
-case 350:
-	switch( (*p) ) {
-		case 73: goto st351;
-		case 105: goto st351;
-	}
-	goto tr956;
-st351:
-	if ( ++p == pe )
-		goto _test_eof351;
-case 351:
-	switch( (*p) ) {
-		case 78: goto st352;
-		case 110: goto st352;
-	}
-	goto tr956;
+		case 9: goto tr1095;
+		case 32: goto tr1095;
+		case 40: goto tr1096;
+		case 41: goto tr1097;
+		case 2058: goto tr1098;
+		case 2107: goto tr1099;
+		case 2314: goto tr1100;
+		case 2363: goto tr1100;
+		case 2570: goto tr1101;
+		case 2619: goto tr1102;
+	}
+	goto tr979;
 st352:
 	if ( ++p == pe )
 		goto _test_eof352;
 case 352:
 	switch( (*p) ) {
-		case 70: goto st353;
-		case 102: goto st353;
+		case 75: goto st353;
+		case 107: goto st353;
 	}
-	goto tr956;
+	goto tr979;
 st353:
 	if ( ++p == pe )
 		goto _test_eof353;
 case 353:
 	switch( (*p) ) {
-		case 79: goto st354;
-		case 111: goto st354;
+		case 69: goto st354;
+		case 101: goto st354;
 	}
-	goto tr956;
+	goto tr979;
 st354:
 	if ( ++p == pe )
 		goto _test_eof354;
 case 354:
+	switch( (*p) ) {
+		case 89: goto st355;
+		case 121: goto st355;
+	}
+	goto tr979;
+st355:
+	if ( ++p == pe )
+		goto _test_eof355;
+case 355:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37861,85 +39145,89 @@ case 354:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1102;
-		case 32: goto tr1102;
-		case 40: goto tr1103;
-		case 41: goto tr1104;
-		case 2058: goto tr1105;
-		case 2107: goto tr1106;
-		case 2314: goto tr1107;
-		case 2363: goto tr1107;
-		case 2570: goto tr1108;
-		case 2619: goto tr1109;
-	}
-	goto tr956;
-st355:
-	if ( ++p == pe )
-		goto _test_eof355;
-case 355:
-	switch( (*p) ) {
-		case 80: goto st356;
-		case 112: goto st356;
-	}
-	goto tr956;
+		case 9: goto tr1106;
+		case 32: goto tr1106;
+		case 40: goto tr1107;
+		case 41: goto tr1108;
+		case 2058: goto tr1109;
+		case 2107: goto tr1110;
+		case 2314: goto tr1111;
+		case 2363: goto tr1111;
+		case 2570: goto tr1112;
+		case 2619: goto tr1113;
+	}
+	goto tr979;
 st356:
 	if ( ++p == pe )
 		goto _test_eof356;
 case 356:
-	switch( (*p) ) {
-		case 83: goto st357;
-		case 115: goto st357;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
 	}
-	goto tr956;
+	switch( _widec ) {
+		case 9: goto tr1114;
+		case 32: goto tr1114;
+		case 40: goto tr1115;
+		case 41: goto tr1116;
+		case 2058: goto tr1117;
+		case 2107: goto tr1118;
+		case 2314: goto tr1119;
+		case 2363: goto tr1119;
+		case 2570: goto tr1120;
+		case 2619: goto tr1121;
+	}
+	goto tr979;
 st357:
 	if ( ++p == pe )
 		goto _test_eof357;
 case 357:
 	switch( (*p) ) {
-		case 69: goto st358;
-		case 101: goto st358;
+		case 85: goto st358;
+		case 117: goto st358;
 	}
-	goto tr956;
+	goto tr979;
 st358:
 	if ( ++p == pe )
 		goto _test_eof358;
 case 358:
 	switch( (*p) ) {
-		case 67: goto st359;
-		case 99: goto st359;
+		case 73: goto st359;
+		case 105: goto st359;
 	}
-	goto tr956;
+	goto tr979;
 st359:
 	if ( ++p == pe )
 		goto _test_eof359;
 case 359:
 	switch( (*p) ) {
-		case 75: goto st360;
-		case 107: goto st360;
+		case 52: goto st360;
+		case 54: goto st362;
 	}
-	goto tr956;
+	goto tr979;
 st360:
 	if ( ++p == pe )
 		goto _test_eof360;
 case 360:
-	switch( (*p) ) {
-		case 69: goto st361;
-		case 101: goto st361;
-	}
-	goto tr956;
+	if ( (*p) == 56 )
+		goto st361;
+	goto tr979;
 st361:
 	if ( ++p == pe )
 		goto _test_eof361;
 case 361:
-	switch( (*p) ) {
-		case 89: goto st362;
-		case 121: goto st362;
-	}
-	goto tr956;
-st362:
-	if ( ++p == pe )
-		goto _test_eof362;
-case 362:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37957,75 +39245,29 @@ case 362:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1117;
-		case 32: goto tr1117;
-		case 40: goto tr1118;
-		case 41: goto tr1119;
-		case 2058: goto tr1120;
-		case 2107: goto tr1121;
-		case 2314: goto tr1122;
-		case 2363: goto tr1122;
-		case 2570: goto tr1123;
-		case 2619: goto tr1124;
-	}
-	goto tr956;
+		case 9: goto tr1127;
+		case 32: goto tr1127;
+		case 40: goto tr1128;
+		case 41: goto tr1129;
+		case 2058: goto tr1130;
+		case 2107: goto tr1131;
+		case 2314: goto tr1132;
+		case 2363: goto tr1132;
+		case 2570: goto tr1133;
+		case 2619: goto tr1134;
+	}
+	goto tr979;
+st362:
+	if ( ++p == pe )
+		goto _test_eof362;
+case 362:
+	if ( (*p) == 52 )
+		goto st363;
+	goto tr979;
 st363:
 	if ( ++p == pe )
 		goto _test_eof363;
 case 363:
-	switch( (*p) ) {
-		case 69: goto st364;
-		case 88: goto st366;
-		case 101: goto st364;
-		case 120: goto st366;
-	}
-	goto tr956;
-st364:
-	if ( ++p == pe )
-		goto _test_eof364;
-case 364:
-	switch( (*p) ) {
-		case 89: goto st365;
-		case 121: goto st365;
-	}
-	goto tr956;
-st365:
-	if ( ++p == pe )
-		goto _test_eof365;
-case 365:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
-	}
-	switch( _widec ) {
-		case 9: goto tr1128;
-		case 32: goto tr1128;
-		case 40: goto tr1129;
-		case 41: goto tr1130;
-		case 2058: goto tr1131;
-		case 2107: goto tr1132;
-		case 2314: goto tr1133;
-		case 2363: goto tr1133;
-		case 2570: goto tr1134;
-		case 2619: goto tr1135;
-	}
-	goto tr956;
-st366:
-	if ( ++p == pe )
-		goto _test_eof366;
-case 366:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38054,31 +39296,47 @@ case 366:
 		case 2570: goto tr1142;
 		case 2619: goto tr1143;
 	}
-	goto tr956;
+	goto tr979;
+st364:
+	if ( ++p == pe )
+		goto _test_eof364;
+case 364:
+	switch( (*p) ) {
+		case 73: goto st365;
+		case 105: goto st365;
+	}
+	goto tr979;
+st365:
+	if ( ++p == pe )
+		goto _test_eof365;
+case 365:
+	switch( (*p) ) {
+		case 78: goto st366;
+		case 110: goto st366;
+	}
+	goto tr979;
+st366:
+	if ( ++p == pe )
+		goto _test_eof366;
+case 366:
+	switch( (*p) ) {
+		case 70: goto st367;
+		case 102: goto st367;
+	}
+	goto tr979;
 st367:
 	if ( ++p == pe )
 		goto _test_eof367;
 case 367:
 	switch( (*p) ) {
-		case 51: goto st368;
-		case 54: goto st370;
-		case 79: goto st372;
-		case 80: goto st374;
-		case 111: goto st372;
-		case 112: goto st374;
-	}
-	goto tr956;
+		case 79: goto st368;
+		case 111: goto st368;
+	}
+	goto tr979;
 st368:
 	if ( ++p == pe )
 		goto _test_eof368;
 case 368:
-	if ( (*p) == 50 )
-		goto st369;
-	goto tr956;
-st369:
-	if ( ++p == pe )
-		goto _test_eof369;
-case 369:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38096,58 +39354,45 @@ case 369:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1149;
-		case 32: goto tr1149;
-		case 40: goto tr1150;
-		case 41: goto tr1151;
-		case 2058: goto tr1152;
-		case 2107: goto tr1153;
-		case 2314: goto tr1154;
-		case 2363: goto tr1154;
-		case 2570: goto tr1155;
-		case 2619: goto tr1156;
-	}
-	goto tr956;
+		case 9: goto tr1148;
+		case 32: goto tr1148;
+		case 40: goto tr1149;
+		case 41: goto tr1150;
+		case 2058: goto tr1151;
+		case 2107: goto tr1152;
+		case 2314: goto tr1153;
+		case 2363: goto tr1153;
+		case 2570: goto tr1154;
+		case 2619: goto tr1155;
+	}
+	goto tr979;
+st369:
+	if ( ++p == pe )
+		goto _test_eof369;
+case 369:
+	switch( (*p) ) {
+		case 80: goto st370;
+		case 112: goto st370;
+	}
+	goto tr979;
 st370:
 	if ( ++p == pe )
 		goto _test_eof370;
 case 370:
-	if ( (*p) == 52 )
-		goto st371;
-	goto tr956;
+	switch( (*p) ) {
+		case 83: goto st371;
+		case 115: goto st371;
+	}
+	goto tr979;
 st371:
 	if ( ++p == pe )
 		goto _test_eof371;
 case 371:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
+	switch( (*p) ) {
+		case 69: goto st372;
+		case 101: goto st372;
 	}
-	switch( _widec ) {
-		case 9: goto tr1158;
-		case 32: goto tr1158;
-		case 40: goto tr1159;
-		case 41: goto tr1160;
-		case 2058: goto tr1161;
-		case 2107: goto tr1162;
-		case 2314: goto tr1163;
-		case 2363: goto tr1163;
-		case 2570: goto tr1164;
-		case 2619: goto tr1165;
-	}
-	goto tr956;
+	goto tr979;
 st372:
 	if ( ++p == pe )
 		goto _test_eof372;
@@ -38156,44 +39401,38 @@ case 372:
 		case 67: goto st373;
 		case 99: goto st373;
 	}
-	goto tr956;
+	goto tr979;
 st373:
 	if ( ++p == pe )
 		goto _test_eof373;
 case 373:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
+	switch( (*p) ) {
+		case 75: goto st374;
+		case 107: goto st374;
 	}
-	switch( _widec ) {
-		case 9: goto tr1167;
-		case 32: goto tr1167;
-		case 40: goto tr1168;
-		case 41: goto tr1169;
-		case 2058: goto tr1170;
-		case 2107: goto tr1171;
-		case 2314: goto tr1172;
-		case 2363: goto tr1172;
-		case 2570: goto tr1173;
-		case 2619: goto tr1174;
-	}
-	goto tr956;
+	goto tr979;
 st374:
 	if ( ++p == pe )
 		goto _test_eof374;
 case 374:
+	switch( (*p) ) {
+		case 69: goto st375;
+		case 101: goto st375;
+	}
+	goto tr979;
+st375:
+	if ( ++p == pe )
+		goto _test_eof375;
+case 375:
+	switch( (*p) ) {
+		case 89: goto st376;
+		case 121: goto st376;
+	}
+	goto tr979;
+st376:
+	if ( ++p == pe )
+		goto _test_eof376;
+case 376:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38211,56 +39450,38 @@ case 374:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1175;
-		case 32: goto tr1175;
-		case 40: goto tr1176;
-		case 41: goto tr1177;
-		case 2058: goto tr1178;
-		case 2107: goto tr1179;
-		case 2314: goto tr1180;
-		case 2363: goto tr1180;
-		case 2570: goto tr1181;
-		case 2619: goto tr1182;
-	}
-	goto tr956;
-st375:
-	if ( ++p == pe )
-		goto _test_eof375;
-case 375:
-	switch( (*p) ) {
-		case 73: goto st376;
-		case 88: goto st380;
-		case 105: goto st376;
-		case 120: goto st380;
-	}
-	goto tr956;
-st376:
-	if ( ++p == pe )
-		goto _test_eof376;
-case 376:
-	switch( (*p) ) {
-		case 78: goto st377;
-		case 110: goto st377;
-	}
-	goto tr956;
+		case 9: goto tr1163;
+		case 32: goto tr1163;
+		case 40: goto tr1164;
+		case 41: goto tr1165;
+		case 2058: goto tr1166;
+		case 2107: goto tr1167;
+		case 2314: goto tr1168;
+		case 2363: goto tr1168;
+		case 2570: goto tr1169;
+		case 2619: goto tr1170;
+	}
+	goto tr979;
 st377:
 	if ( ++p == pe )
 		goto _test_eof377;
 case 377:
 	switch( (*p) ) {
-		case 70: goto st378;
-		case 102: goto st378;
+		case 69: goto st378;
+		case 88: goto st380;
+		case 101: goto st378;
+		case 120: goto st380;
 	}
-	goto tr956;
+	goto tr979;
 st378:
 	if ( ++p == pe )
 		goto _test_eof378;
 case 378:
 	switch( (*p) ) {
-		case 79: goto st379;
-		case 111: goto st379;
+		case 89: goto st379;
+		case 121: goto st379;
 	}
-	goto tr956;
+	goto tr979;
 st379:
 	if ( ++p == pe )
 		goto _test_eof379;
@@ -38282,18 +39503,18 @@ case 379:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1188;
-		case 32: goto tr1188;
-		case 40: goto tr1189;
-		case 41: goto tr1190;
-		case 2058: goto tr1191;
-		case 2107: goto tr1192;
-		case 2314: goto tr1193;
-		case 2363: goto tr1193;
-		case 2570: goto tr1194;
-		case 2619: goto tr1195;
-	}
-	goto tr956;
+		case 9: goto tr1174;
+		case 32: goto tr1174;
+		case 40: goto tr1175;
+		case 41: goto tr1176;
+		case 2058: goto tr1177;
+		case 2107: goto tr1178;
+		case 2314: goto tr1179;
+		case 2363: goto tr1179;
+		case 2570: goto tr1180;
+		case 2619: goto tr1181;
+	}
+	goto tr979;
 st380:
 	if ( ++p == pe )
 		goto _test_eof380;
@@ -38315,58 +39536,78 @@ case 380:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1196;
-		case 32: goto tr1196;
-		case 40: goto tr1197;
-		case 41: goto tr1198;
-		case 2058: goto tr1199;
-		case 2107: goto tr1200;
-		case 2314: goto tr1201;
-		case 2363: goto tr1201;
-		case 2570: goto tr1202;
-		case 2619: goto tr1203;
-	}
-	goto tr956;
+		case 9: goto tr1182;
+		case 32: goto tr1182;
+		case 40: goto tr1183;
+		case 41: goto tr1184;
+		case 2058: goto tr1185;
+		case 2107: goto tr1186;
+		case 2314: goto tr1187;
+		case 2363: goto tr1187;
+		case 2570: goto tr1188;
+		case 2619: goto tr1189;
+	}
+	goto tr979;
 st381:
 	if ( ++p == pe )
 		goto _test_eof381;
 case 381:
 	switch( (*p) ) {
-		case 65: goto st382;
-		case 73: goto st386;
-		case 83: goto st388;
-		case 97: goto st382;
-		case 105: goto st386;
-		case 115: goto st388;
-	}
-	goto tr956;
+		case 51: goto st382;
+		case 54: goto st384;
+		case 79: goto st386;
+		case 80: goto st388;
+		case 111: goto st386;
+		case 112: goto st388;
+	}
+	goto tr979;
 st382:
 	if ( ++p == pe )
 		goto _test_eof382;
 case 382:
-	switch( (*p) ) {
-		case 80: goto st383;
-		case 112: goto st383;
-	}
-	goto tr956;
+	if ( (*p) == 50 )
+		goto st383;
+	goto tr979;
 st383:
 	if ( ++p == pe )
 		goto _test_eof383;
 case 383:
-	switch( (*p) ) {
-		case 84: goto st384;
-		case 116: goto st384;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
 	}
-	goto tr956;
+	switch( _widec ) {
+		case 9: goto tr1195;
+		case 32: goto tr1195;
+		case 40: goto tr1196;
+		case 41: goto tr1197;
+		case 2058: goto tr1198;
+		case 2107: goto tr1199;
+		case 2314: goto tr1200;
+		case 2363: goto tr1200;
+		case 2570: goto tr1201;
+		case 2619: goto tr1202;
+	}
+	goto tr979;
 st384:
 	if ( ++p == pe )
 		goto _test_eof384;
 case 384:
-	switch( (*p) ) {
-		case 82: goto st385;
-		case 114: goto st385;
-	}
-	goto tr956;
+	if ( (*p) == 52 )
+		goto st385;
+	goto tr979;
 st385:
 	if ( ++p == pe )
 		goto _test_eof385;
@@ -38388,27 +39629,27 @@ case 385:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1210;
-		case 32: goto tr1210;
-		case 40: goto tr1211;
-		case 41: goto tr1212;
-		case 2058: goto tr1213;
-		case 2107: goto tr1214;
-		case 2314: goto tr1215;
-		case 2363: goto tr1215;
-		case 2570: goto tr1216;
-		case 2619: goto tr1217;
-	}
-	goto tr956;
+		case 9: goto tr1204;
+		case 32: goto tr1204;
+		case 40: goto tr1205;
+		case 41: goto tr1206;
+		case 2058: goto tr1207;
+		case 2107: goto tr1208;
+		case 2314: goto tr1209;
+		case 2363: goto tr1209;
+		case 2570: goto tr1210;
+		case 2619: goto tr1211;
+	}
+	goto tr979;
 st386:
 	if ( ++p == pe )
 		goto _test_eof386;
 case 386:
 	switch( (*p) ) {
-		case 68: goto st387;
-		case 100: goto st387;
+		case 67: goto st387;
+		case 99: goto st387;
 	}
-	goto tr956;
+	goto tr979;
 st387:
 	if ( ++p == pe )
 		goto _test_eof387;
@@ -38430,18 +39671,18 @@ case 387:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1219;
-		case 32: goto tr1219;
-		case 40: goto tr1220;
-		case 41: goto tr1221;
-		case 2058: goto tr1222;
-		case 2107: goto tr1223;
-		case 2314: goto tr1224;
-		case 2363: goto tr1224;
-		case 2570: goto tr1225;
-		case 2619: goto tr1226;
-	}
-	goto tr956;
+		case 9: goto tr1213;
+		case 32: goto tr1213;
+		case 40: goto tr1214;
+		case 41: goto tr1215;
+		case 2058: goto tr1216;
+		case 2107: goto tr1217;
+		case 2314: goto tr1218;
+		case 2363: goto tr1218;
+		case 2570: goto tr1219;
+		case 2619: goto tr1220;
+	}
+	goto tr979;
 st388:
 	if ( ++p == pe )
 		goto _test_eof388;
@@ -38463,33 +39704,60 @@ case 388:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1227;
-		case 32: goto tr1227;
-		case 40: goto tr1228;
-		case 41: goto tr1229;
-		case 69: goto st389;
-		case 101: goto st389;
-		case 2058: goto tr1231;
-		case 2107: goto tr1232;
-		case 2314: goto tr1233;
-		case 2363: goto tr1233;
-		case 2570: goto tr1234;
-		case 2619: goto tr1235;
-	}
-	goto tr956;
+		case 9: goto tr1221;
+		case 32: goto tr1221;
+		case 40: goto tr1222;
+		case 41: goto tr1223;
+		case 2058: goto tr1224;
+		case 2107: goto tr1225;
+		case 2314: goto tr1226;
+		case 2363: goto tr1226;
+		case 2570: goto tr1227;
+		case 2619: goto tr1228;
+	}
+	goto tr979;
 st389:
 	if ( ++p == pe )
 		goto _test_eof389;
 case 389:
 	switch( (*p) ) {
-		case 67: goto st390;
-		case 99: goto st390;
+		case 73: goto st390;
+		case 88: goto st394;
+		case 105: goto st390;
+		case 120: goto st394;
 	}
-	goto tr956;
+	goto tr979;
 st390:
 	if ( ++p == pe )
 		goto _test_eof390;
 case 390:
+	switch( (*p) ) {
+		case 78: goto st391;
+		case 110: goto st391;
+	}
+	goto tr979;
+st391:
+	if ( ++p == pe )
+		goto _test_eof391;
+case 391:
+	switch( (*p) ) {
+		case 70: goto st392;
+		case 102: goto st392;
+	}
+	goto tr979;
+st392:
+	if ( ++p == pe )
+		goto _test_eof392;
+case 392:
+	switch( (*p) ) {
+		case 79: goto st393;
+		case 111: goto st393;
+	}
+	goto tr979;
+st393:
+	if ( ++p == pe )
+		goto _test_eof393;
+case 393:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38507,23 +39775,22 @@ case 390:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1237;
-		case 32: goto tr1237;
-		case 40: goto tr1238;
-		case 41: goto tr1239;
-		case 51: goto st391;
-		case 2058: goto tr1241;
-		case 2107: goto tr1242;
-		case 2314: goto tr1243;
-		case 2363: goto tr1243;
-		case 2570: goto tr1244;
-		case 2619: goto tr1245;
-	}
-	goto tr956;
-st391:
+		case 9: goto tr1234;
+		case 32: goto tr1234;
+		case 40: goto tr1235;
+		case 41: goto tr1236;
+		case 2058: goto tr1237;
+		case 2107: goto tr1238;
+		case 2314: goto tr1239;
+		case 2363: goto tr1239;
+		case 2570: goto tr1240;
+		case 2619: goto tr1241;
+	}
+	goto tr979;
+st394:
 	if ( ++p == pe )
-		goto _test_eof391;
-case 391:
+		goto _test_eof394;
+case 394:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38541,89 +39808,40 @@ case 391:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1246;
-		case 32: goto tr1246;
-		case 40: goto tr1247;
-		case 41: goto tr1248;
-		case 80: goto st392;
-		case 112: goto st392;
-		case 2058: goto tr1250;
-		case 2107: goto tr1251;
-		case 2314: goto tr1252;
-		case 2363: goto tr1252;
-		case 2570: goto tr1253;
-		case 2619: goto tr1254;
-	}
-	goto tr956;
-st392:
-	if ( ++p == pe )
-		goto _test_eof392;
-case 392:
-	switch( (*p) ) {
-		case 65: goto st393;
-		case 97: goto st393;
-	}
-	goto tr956;
-st393:
-	if ( ++p == pe )
-		goto _test_eof393;
-case 393:
-	switch( (*p) ) {
-		case 82: goto st394;
-		case 114: goto st394;
-	}
-	goto tr956;
-st394:
-	if ( ++p == pe )
-		goto _test_eof394;
-case 394:
-	switch( (*p) ) {
-		case 65: goto st395;
-		case 97: goto st395;
-	}
-	goto tr956;
+		case 9: goto tr1242;
+		case 32: goto tr1242;
+		case 40: goto tr1243;
+		case 41: goto tr1244;
+		case 2058: goto tr1245;
+		case 2107: goto tr1246;
+		case 2314: goto tr1247;
+		case 2363: goto tr1247;
+		case 2570: goto tr1248;
+		case 2619: goto tr1249;
+	}
+	goto tr979;
 st395:
 	if ( ++p == pe )
 		goto _test_eof395;
 case 395:
 	switch( (*p) ) {
-		case 77: goto st396;
-		case 109: goto st396;
-	}
-	goto tr956;
+		case 65: goto st396;
+		case 73: goto st400;
+		case 83: goto st402;
+		case 97: goto st396;
+		case 105: goto st400;
+		case 115: goto st402;
+	}
+	goto tr979;
 st396:
 	if ( ++p == pe )
 		goto _test_eof396;
 case 396:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
+	switch( (*p) ) {
+		case 80: goto st397;
+		case 112: goto st397;
 	}
-	switch( _widec ) {
-		case 9: goto tr1259;
-		case 32: goto tr1259;
-		case 40: goto tr1260;
-		case 41: goto tr1261;
-		case 2058: goto tr1262;
-		case 2107: goto tr1263;
-		case 2314: goto tr1264;
-		case 2363: goto tr1264;
-		case 2570: goto tr1265;
-		case 2619: goto tr1266;
-	}
-	goto tr956;
+	goto tr979;
 st397:
 	if ( ++p == pe )
 		goto _test_eof397;
@@ -38632,7 +39850,7 @@ case 397:
 		case 84: goto st398;
 		case 116: goto st398;
 	}
-	goto tr956;
+	goto tr979;
 st398:
 	if ( ++p == pe )
 		goto _test_eof398;
@@ -38641,7 +39859,7 @@ case 398:
 		case 82: goto st399;
 		case 114: goto st399;
 	}
-	goto tr956;
+	goto tr979;
 st399:
 	if ( ++p == pe )
 		goto _test_eof399;
@@ -38663,31 +39881,27 @@ case 399:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1269;
-		case 32: goto tr1269;
-		case 40: goto tr1270;
-		case 41: goto tr1271;
-		case 2058: goto tr1272;
-		case 2107: goto tr1273;
-		case 2314: goto tr1274;
-		case 2363: goto tr1274;
-		case 2570: goto tr1275;
-		case 2619: goto tr1276;
-	}
-	goto tr956;
+		case 9: goto tr1256;
+		case 32: goto tr1256;
+		case 40: goto tr1257;
+		case 41: goto tr1258;
+		case 2058: goto tr1259;
+		case 2107: goto tr1260;
+		case 2314: goto tr1261;
+		case 2363: goto tr1261;
+		case 2570: goto tr1262;
+		case 2619: goto tr1263;
+	}
+	goto tr979;
 st400:
 	if ( ++p == pe )
 		goto _test_eof400;
 case 400:
 	switch( (*p) ) {
-		case 80: goto st401;
-		case 82: goto st402;
-		case 84: goto st406;
-		case 112: goto st401;
-		case 114: goto st402;
-		case 116: goto st406;
-	}
-	goto tr956;
+		case 68: goto st401;
+		case 100: goto st401;
+	}
+	goto tr979;
 st401:
 	if ( ++p == pe )
 		goto _test_eof401;
@@ -38709,49 +39923,66 @@ case 401:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1280;
-		case 32: goto tr1280;
-		case 40: goto tr1281;
-		case 41: goto tr1282;
-		case 2058: goto tr1283;
-		case 2107: goto tr1284;
-		case 2314: goto tr1285;
-		case 2363: goto tr1285;
-		case 2570: goto tr1286;
-		case 2619: goto tr1287;
-	}
-	goto tr956;
+		case 9: goto tr1265;
+		case 32: goto tr1265;
+		case 40: goto tr1266;
+		case 41: goto tr1267;
+		case 2058: goto tr1268;
+		case 2107: goto tr1269;
+		case 2314: goto tr1270;
+		case 2363: goto tr1270;
+		case 2570: goto tr1271;
+		case 2619: goto tr1272;
+	}
+	goto tr979;
 st402:
 	if ( ++p == pe )
 		goto _test_eof402;
 case 402:
-	switch( (*p) ) {
-		case 83: goto st403;
-		case 115: goto st403;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
 	}
-	goto tr956;
+	switch( _widec ) {
+		case 9: goto tr1273;
+		case 32: goto tr1273;
+		case 40: goto tr1274;
+		case 41: goto tr1275;
+		case 69: goto st403;
+		case 101: goto st403;
+		case 2058: goto tr1277;
+		case 2107: goto tr1278;
+		case 2314: goto tr1279;
+		case 2363: goto tr1279;
+		case 2570: goto tr1280;
+		case 2619: goto tr1281;
+	}
+	goto tr979;
 st403:
 	if ( ++p == pe )
 		goto _test_eof403;
 case 403:
 	switch( (*p) ) {
-		case 73: goto st404;
-		case 105: goto st404;
+		case 67: goto st404;
+		case 99: goto st404;
 	}
-	goto tr956;
+	goto tr979;
 st404:
 	if ( ++p == pe )
 		goto _test_eof404;
 case 404:
-	switch( (*p) ) {
-		case 71: goto st405;
-		case 103: goto st405;
-	}
-	goto tr956;
-st405:
-	if ( ++p == pe )
-		goto _test_eof405;
-case 405:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38769,22 +40000,23 @@ case 405:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1291;
-		case 32: goto tr1291;
-		case 40: goto tr1292;
-		case 41: goto tr1293;
-		case 2058: goto tr1294;
-		case 2107: goto tr1295;
-		case 2314: goto tr1296;
-		case 2363: goto tr1296;
-		case 2570: goto tr1297;
-		case 2619: goto tr1298;
-	}
-	goto tr956;
-st406:
+		case 9: goto tr1283;
+		case 32: goto tr1283;
+		case 40: goto tr1284;
+		case 41: goto tr1285;
+		case 51: goto st405;
+		case 2058: goto tr1287;
+		case 2107: goto tr1288;
+		case 2314: goto tr1289;
+		case 2363: goto tr1289;
+		case 2570: goto tr1290;
+		case 2619: goto tr1291;
+	}
+	goto tr979;
+st405:
 	if ( ++p == pe )
-		goto _test_eof406;
-case 406:
+		goto _test_eof405;
+case 405:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38802,33 +40034,38 @@ case 406:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1299;
-		case 32: goto tr1299;
-		case 40: goto tr1300;
-		case 41: goto tr1301;
-		case 2058: goto tr1302;
-		case 2107: goto tr1303;
-		case 2314: goto tr1304;
-		case 2363: goto tr1304;
-		case 2570: goto tr1305;
-		case 2619: goto tr1306;
-	}
-	goto tr956;
+		case 9: goto tr1292;
+		case 32: goto tr1292;
+		case 40: goto tr1293;
+		case 41: goto tr1294;
+		case 80: goto st406;
+		case 112: goto st406;
+		case 2058: goto tr1296;
+		case 2107: goto tr1297;
+		case 2314: goto tr1298;
+		case 2363: goto tr1298;
+		case 2570: goto tr1299;
+		case 2619: goto tr1300;
+	}
+	goto tr979;
+st406:
+	if ( ++p == pe )
+		goto _test_eof406;
+case 406:
+	switch( (*p) ) {
+		case 65: goto st407;
+		case 97: goto st407;
+	}
+	goto tr979;
 st407:
 	if ( ++p == pe )
 		goto _test_eof407;
 case 407:
 	switch( (*p) ) {
-		case 79: goto st408;
-		case 80: goto st410;
-		case 82: goto st412;
-		case 83: goto st414;
-		case 111: goto st408;
-		case 112: goto st410;
-		case 114: goto st412;
-		case 115: goto st414;
-	}
-	goto tr956;
+		case 82: goto st408;
+		case 114: goto st408;
+	}
+	goto tr979;
 st408:
 	if ( ++p == pe )
 		goto _test_eof408;
@@ -38837,53 +40074,20 @@ case 408:
 		case 65: goto st409;
 		case 97: goto st409;
 	}
-	goto tr956;
+	goto tr979;
 st409:
 	if ( ++p == pe )
 		goto _test_eof409;
 case 409:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(1664 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-			if ( 
- !s->multiline  ) _widec += 512;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(1664 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-		if ( 
- !s->multiline  ) _widec += 512;
+	switch( (*p) ) {
+		case 77: goto st410;
+		case 109: goto st410;
 	}
-	switch( _widec ) {
-		case 9: goto tr1312;
-		case 32: goto tr1312;
-		case 40: goto tr1313;
-		case 41: goto tr1314;
-		case 2058: goto tr1315;
-		case 2107: goto tr1316;
-		case 2314: goto tr1317;
-		case 2363: goto tr1317;
-		case 2570: goto tr1318;
-		case 2619: goto tr1319;
-	}
-	goto tr956;
+	goto tr979;
 st410:
 	if ( ++p == pe )
 		goto _test_eof410;
 case 410:
-	switch( (*p) ) {
-		case 70: goto st411;
-		case 102: goto st411;
-	}
-	goto tr956;
-st411:
-	if ( ++p == pe )
-		goto _test_eof411;
-case 411:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38901,27 +40105,36 @@ case 411:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1321;
-		case 32: goto tr1321;
-		case 40: goto tr1322;
-		case 41: goto tr1323;
-		case 2058: goto tr1324;
-		case 2107: goto tr1325;
-		case 2314: goto tr1326;
-		case 2363: goto tr1326;
-		case 2570: goto tr1327;
-		case 2619: goto tr1328;
-	}
-	goto tr956;
+		case 9: goto tr1305;
+		case 32: goto tr1305;
+		case 40: goto tr1306;
+		case 41: goto tr1307;
+		case 2058: goto tr1308;
+		case 2107: goto tr1309;
+		case 2314: goto tr1310;
+		case 2363: goto tr1310;
+		case 2570: goto tr1311;
+		case 2619: goto tr1312;
+	}
+	goto tr979;
+st411:
+	if ( ++p == pe )
+		goto _test_eof411;
+case 411:
+	switch( (*p) ) {
+		case 84: goto st412;
+		case 116: goto st412;
+	}
+	goto tr979;
 st412:
 	if ( ++p == pe )
 		goto _test_eof412;
 case 412:
 	switch( (*p) ) {
-		case 86: goto st413;
-		case 118: goto st413;
+		case 82: goto st413;
+		case 114: goto st413;
 	}
-	goto tr956;
+	goto tr979;
 st413:
 	if ( ++p == pe )
 		goto _test_eof413;
@@ -38943,49 +40156,95 @@ case 413:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1330;
-		case 32: goto tr1330;
-		case 40: goto tr1331;
-		case 41: goto tr1332;
-		case 2058: goto tr1333;
-		case 2107: goto tr1334;
-		case 2314: goto tr1335;
-		case 2363: goto tr1335;
-		case 2570: goto tr1336;
-		case 2619: goto tr1337;
-	}
-	goto tr956;
+		case 9: goto tr1315;
+		case 32: goto tr1315;
+		case 40: goto tr1316;
+		case 41: goto tr1317;
+		case 2058: goto tr1318;
+		case 2107: goto tr1319;
+		case 2314: goto tr1320;
+		case 2363: goto tr1320;
+		case 2570: goto tr1321;
+		case 2619: goto tr1322;
+	}
+	goto tr979;
 st414:
 	if ( ++p == pe )
 		goto _test_eof414;
 case 414:
 	switch( (*p) ) {
-		case 72: goto st415;
-		case 104: goto st415;
-	}
-	goto tr956;
+		case 80: goto st415;
+		case 82: goto st416;
+		case 84: goto st420;
+		case 112: goto st415;
+		case 114: goto st416;
+		case 116: goto st420;
+	}
+	goto tr979;
 st415:
 	if ( ++p == pe )
 		goto _test_eof415;
 case 415:
-	switch( (*p) ) {
-		case 70: goto st416;
-		case 102: goto st416;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
 	}
-	goto tr956;
+	switch( _widec ) {
+		case 9: goto tr1326;
+		case 32: goto tr1326;
+		case 40: goto tr1327;
+		case 41: goto tr1328;
+		case 2058: goto tr1329;
+		case 2107: goto tr1330;
+		case 2314: goto tr1331;
+		case 2363: goto tr1331;
+		case 2570: goto tr1332;
+		case 2619: goto tr1333;
+	}
+	goto tr979;
 st416:
 	if ( ++p == pe )
 		goto _test_eof416;
 case 416:
 	switch( (*p) ) {
-		case 80: goto st417;
-		case 112: goto st417;
+		case 83: goto st417;
+		case 115: goto st417;
 	}
-	goto tr956;
+	goto tr979;
 st417:
 	if ( ++p == pe )
 		goto _test_eof417;
 case 417:
+	switch( (*p) ) {
+		case 73: goto st418;
+		case 105: goto st418;
+	}
+	goto tr979;
+st418:
+	if ( ++p == pe )
+		goto _test_eof418;
+case 418:
+	switch( (*p) ) {
+		case 71: goto st419;
+		case 103: goto st419;
+	}
+	goto tr979;
+st419:
+	if ( ++p == pe )
+		goto _test_eof419;
+case 419:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39003,53 +40262,22 @@ case 417:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1341;
-		case 32: goto tr1341;
-		case 40: goto tr1342;
-		case 41: goto tr1343;
-		case 2058: goto tr1344;
-		case 2107: goto tr1345;
-		case 2314: goto tr1346;
-		case 2363: goto tr1346;
-		case 2570: goto tr1347;
-		case 2619: goto tr1348;
-	}
-	goto tr956;
-st418:
-	if ( ++p == pe )
-		goto _test_eof418;
-case 418:
-	switch( (*p) ) {
-		case 76: goto st419;
-		case 88: goto st422;
-		case 89: goto st424;
-		case 108: goto st419;
-		case 120: goto st422;
-		case 121: goto st424;
-	}
-	goto tr956;
-st419:
-	if ( ++p == pe )
-		goto _test_eof419;
-case 419:
-	switch( (*p) ) {
-		case 83: goto st420;
-		case 115: goto st420;
-	}
-	goto tr956;
+		case 9: goto tr1337;
+		case 32: goto tr1337;
+		case 40: goto tr1338;
+		case 41: goto tr1339;
+		case 2058: goto tr1340;
+		case 2107: goto tr1341;
+		case 2314: goto tr1342;
+		case 2363: goto tr1342;
+		case 2570: goto tr1343;
+		case 2619: goto tr1344;
+	}
+	goto tr979;
 st420:
 	if ( ++p == pe )
 		goto _test_eof420;
 case 420:
-	switch( (*p) ) {
-		case 65: goto st421;
-		case 97: goto st421;
-	}
-	goto tr956;
-st421:
-	if ( ++p == pe )
-		goto _test_eof421;
-case 421:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39067,27 +40295,42 @@ case 421:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1354;
-		case 32: goto tr1354;
-		case 40: goto tr1355;
-		case 41: goto tr1356;
-		case 2058: goto tr1357;
-		case 2107: goto tr1358;
-		case 2314: goto tr1359;
-		case 2363: goto tr1359;
-		case 2570: goto tr1360;
-		case 2619: goto tr1361;
-	}
-	goto tr956;
+		case 9: goto tr1345;
+		case 32: goto tr1345;
+		case 40: goto tr1346;
+		case 41: goto tr1347;
+		case 2058: goto tr1348;
+		case 2107: goto tr1349;
+		case 2314: goto tr1350;
+		case 2363: goto tr1350;
+		case 2570: goto tr1351;
+		case 2619: goto tr1352;
+	}
+	goto tr979;
+st421:
+	if ( ++p == pe )
+		goto _test_eof421;
+case 421:
+	switch( (*p) ) {
+		case 79: goto st422;
+		case 80: goto st424;
+		case 82: goto st426;
+		case 83: goto st428;
+		case 111: goto st422;
+		case 112: goto st424;
+		case 114: goto st426;
+		case 115: goto st428;
+	}
+	goto tr979;
 st422:
 	if ( ++p == pe )
 		goto _test_eof422;
 case 422:
 	switch( (*p) ) {
-		case 84: goto st423;
-		case 116: goto st423;
+		case 65: goto st423;
+		case 97: goto st423;
 	}
-	goto tr956;
+	goto tr979;
 st423:
 	if ( ++p == pe )
 		goto _test_eof423;
@@ -39109,82 +40352,332 @@ case 423:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1363;
-		case 32: goto tr1363;
-		case 40: goto tr1364;
-		case 41: goto tr1365;
-		case 2058: goto tr1366;
-		case 2107: goto tr1367;
-		case 2314: goto tr1368;
-		case 2363: goto tr1368;
-		case 2570: goto tr1369;
-		case 2619: goto tr1370;
-	}
-	goto tr956;
+		case 9: goto tr1358;
+		case 32: goto tr1358;
+		case 40: goto tr1359;
+		case 41: goto tr1360;
+		case 2058: goto tr1361;
+		case 2107: goto tr1362;
+		case 2314: goto tr1363;
+		case 2363: goto tr1363;
+		case 2570: goto tr1364;
+		case 2619: goto tr1365;
+	}
+	goto tr979;
 st424:
 	if ( ++p == pe )
 		goto _test_eof424;
 case 424:
 	switch( (*p) ) {
-		case 80: goto st425;
-		case 112: goto st425;
+		case 70: goto st425;
+		case 102: goto st425;
 	}
-	goto tr956;
+	goto tr979;
 st425:
 	if ( ++p == pe )
 		goto _test_eof425;
 case 425:
-	switch( (*p) ) {
-		case 69: goto st426;
-		case 101: goto st426;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
 	}
-	goto tr956;
+	switch( _widec ) {
+		case 9: goto tr1367;
+		case 32: goto tr1367;
+		case 40: goto tr1368;
+		case 41: goto tr1369;
+		case 2058: goto tr1370;
+		case 2107: goto tr1371;
+		case 2314: goto tr1372;
+		case 2363: goto tr1372;
+		case 2570: goto tr1373;
+		case 2619: goto tr1374;
+	}
+	goto tr979;
 st426:
 	if ( ++p == pe )
 		goto _test_eof426;
 case 426:
+	switch( (*p) ) {
+		case 86: goto st427;
+		case 118: goto st427;
+	}
+	goto tr979;
+st427:
+	if ( ++p == pe )
+		goto _test_eof427;
+case 427:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr1376;
+		case 32: goto tr1376;
+		case 40: goto tr1377;
+		case 41: goto tr1378;
+		case 2058: goto tr1379;
+		case 2107: goto tr1380;
+		case 2314: goto tr1381;
+		case 2363: goto tr1381;
+		case 2570: goto tr1382;
+		case 2619: goto tr1383;
+	}
+	goto tr979;
+st428:
+	if ( ++p == pe )
+		goto _test_eof428;
+case 428:
+	switch( (*p) ) {
+		case 72: goto st429;
+		case 104: goto st429;
+	}
+	goto tr979;
+st429:
+	if ( ++p == pe )
+		goto _test_eof429;
+case 429:
+	switch( (*p) ) {
+		case 70: goto st430;
+		case 102: goto st430;
+	}
+	goto tr979;
+st430:
+	if ( ++p == pe )
+		goto _test_eof430;
+case 430:
+	switch( (*p) ) {
+		case 80: goto st431;
+		case 112: goto st431;
+	}
+	goto tr979;
+st431:
+	if ( ++p == pe )
+		goto _test_eof431;
+case 431:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr1387;
+		case 32: goto tr1387;
+		case 40: goto tr1388;
+		case 41: goto tr1389;
+		case 2058: goto tr1390;
+		case 2107: goto tr1391;
+		case 2314: goto tr1392;
+		case 2363: goto tr1392;
+		case 2570: goto tr1393;
+		case 2619: goto tr1394;
+	}
+	goto tr979;
+st432:
+	if ( ++p == pe )
+		goto _test_eof432;
+case 432:
+	switch( (*p) ) {
+		case 76: goto st433;
+		case 88: goto st436;
+		case 89: goto st438;
+		case 108: goto st433;
+		case 120: goto st436;
+		case 121: goto st438;
+	}
+	goto tr979;
+st433:
+	if ( ++p == pe )
+		goto _test_eof433;
+case 433:
+	switch( (*p) ) {
+		case 83: goto st434;
+		case 115: goto st434;
+	}
+	goto tr979;
+st434:
+	if ( ++p == pe )
+		goto _test_eof434;
+case 434:
+	switch( (*p) ) {
+		case 65: goto st435;
+		case 97: goto st435;
+	}
+	goto tr979;
+st435:
+	if ( ++p == pe )
+		goto _test_eof435;
+case 435:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr1400;
+		case 32: goto tr1400;
+		case 40: goto tr1401;
+		case 41: goto tr1402;
+		case 2058: goto tr1403;
+		case 2107: goto tr1404;
+		case 2314: goto tr1405;
+		case 2363: goto tr1405;
+		case 2570: goto tr1406;
+		case 2619: goto tr1407;
+	}
+	goto tr979;
+st436:
+	if ( ++p == pe )
+		goto _test_eof436;
+case 436:
+	switch( (*p) ) {
+		case 84: goto st437;
+		case 116: goto st437;
+	}
+	goto tr979;
+st437:
+	if ( ++p == pe )
+		goto _test_eof437;
+case 437:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(1664 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+			if ( 
+ !s->multiline  ) _widec += 512;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(1664 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+		if ( 
+ !s->multiline  ) _widec += 512;
+	}
+	switch( _widec ) {
+		case 9: goto tr1409;
+		case 32: goto tr1409;
+		case 40: goto tr1410;
+		case 41: goto tr1411;
+		case 2058: goto tr1412;
+		case 2107: goto tr1413;
+		case 2314: goto tr1414;
+		case 2363: goto tr1414;
+		case 2570: goto tr1415;
+		case 2619: goto tr1416;
+	}
+	goto tr979;
+st438:
+	if ( ++p == pe )
+		goto _test_eof438;
+case 438:
+	switch( (*p) ) {
+		case 80: goto st439;
+		case 112: goto st439;
+	}
+	goto tr979;
+st439:
+	if ( ++p == pe )
+		goto _test_eof439;
+case 439:
+	switch( (*p) ) {
+		case 69: goto st440;
+		case 101: goto st440;
+	}
+	goto tr979;
+st440:
+	if ( ++p == pe )
+		goto _test_eof440;
+case 440:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1373;
-	goto tr956;
-tr1373:
+		goto tr1419;
+	goto tr979;
+tr1419:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st427;
-tr1377:
+	goto st441;
+tr1423:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st427;
-st427:
+	goto st441;
+st441:
 	if ( ++p == pe )
-		goto _test_eof427;
-case 427:
+		goto _test_eof441;
+case 441:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39202,51 +40695,51 @@ case 427:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1374;
-		case 32: goto tr1374;
-		case 40: goto tr1375;
-		case 41: goto tr1376;
-		case 2058: goto tr1378;
-		case 2107: goto tr1379;
-		case 2314: goto tr1380;
-		case 2363: goto tr1380;
-		case 2570: goto tr1381;
-		case 2619: goto tr1382;
+		case 9: goto tr1420;
+		case 32: goto tr1420;
+		case 40: goto tr1421;
+		case 41: goto tr1422;
+		case 2058: goto tr1424;
+		case 2107: goto tr1425;
+		case 2314: goto tr1426;
+		case 2363: goto tr1426;
+		case 2570: goto tr1427;
+		case 2619: goto tr1428;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1377;
-	goto tr956;
-st428:
+		goto tr1423;
+	goto tr979;
+st442:
 	if ( ++p == pe )
-		goto _test_eof428;
-case 428:
+		goto _test_eof442;
+case 442:
 	switch( (*p) ) {
-		case 83: goto st429;
-		case 115: goto st429;
+		case 83: goto st443;
+		case 115: goto st443;
 	}
-	goto tr956;
-st429:
+	goto tr979;
+st443:
 	if ( ++p == pe )
-		goto _test_eof429;
-case 429:
+		goto _test_eof443;
+case 443:
 	switch( (*p) ) {
-		case 68: goto st430;
-		case 100: goto st430;
+		case 68: goto st444;
+		case 100: goto st444;
 	}
-	goto tr956;
-st430:
+	goto tr979;
+st444:
 	if ( ++p == pe )
-		goto _test_eof430;
-case 430:
+		goto _test_eof444;
+case 444:
 	switch( (*p) ) {
-		case 66: goto st431;
-		case 98: goto st431;
+		case 66: goto st445;
+		case 98: goto st445;
 	}
-	goto tr956;
-st431:
+	goto tr979;
+st445:
 	if ( ++p == pe )
-		goto _test_eof431;
-case 431:
+		goto _test_eof445;
+case 445:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39264,31 +40757,31 @@ case 431:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1386;
-		case 32: goto tr1386;
-		case 40: goto tr1387;
-		case 41: goto tr1388;
-		case 2058: goto tr1389;
-		case 2107: goto tr1390;
-		case 2314: goto tr1391;
-		case 2363: goto tr1391;
-		case 2570: goto tr1392;
-		case 2619: goto tr1393;
-	}
-	goto tr956;
-st432:
+		case 9: goto tr1432;
+		case 32: goto tr1432;
+		case 40: goto tr1433;
+		case 41: goto tr1434;
+		case 2058: goto tr1435;
+		case 2107: goto tr1436;
+		case 2314: goto tr1437;
+		case 2363: goto tr1437;
+		case 2570: goto tr1438;
+		case 2619: goto tr1439;
+	}
+	goto tr979;
+st446:
 	if ( ++p == pe )
-		goto _test_eof432;
-case 432:
+		goto _test_eof446;
+case 446:
 	switch( (*p) ) {
-		case 76: goto st433;
-		case 108: goto st433;
+		case 76: goto st447;
+		case 108: goto st447;
 	}
-	goto tr956;
-st433:
+	goto tr979;
+st447:
 	if ( ++p == pe )
-		goto _test_eof433;
-case 433:
+		goto _test_eof447;
+case 447:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39306,22 +40799,22 @@ case 433:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1395;
-		case 32: goto tr1395;
-		case 40: goto tr1396;
-		case 41: goto tr1397;
-		case 2058: goto tr1398;
-		case 2107: goto tr1399;
-		case 2314: goto tr1400;
-		case 2363: goto tr1400;
-		case 2570: goto tr1401;
-		case 2619: goto tr1402;
-	}
-	goto tr956;
-st434:
+		case 9: goto tr1441;
+		case 32: goto tr1441;
+		case 40: goto tr1442;
+		case 41: goto tr1443;
+		case 2058: goto tr1444;
+		case 2107: goto tr1445;
+		case 2314: goto tr1446;
+		case 2363: goto tr1446;
+		case 2570: goto tr1447;
+		case 2619: goto tr1448;
+	}
+	goto tr979;
+st448:
 	if ( ++p == pe )
-		goto _test_eof434;
-case 434:
+		goto _test_eof448;
+case 448:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39335,41 +40828,41 @@ case 434:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st435;
-		case 32: goto st435;
-		case 40: goto tr1405;
-		case 41: goto tr1406;
-		case 1034: goto tr1407;
-		case 1083: goto st442;
-	}
-	goto tr1403;
-tr1405:
+		case 9: goto st449;
+		case 32: goto st449;
+		case 40: goto tr1451;
+		case 41: goto tr1452;
+		case 1034: goto tr1453;
+		case 1083: goto st456;
+	}
+	goto tr1449;
+tr1451:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st435;
-tr1406:
+	goto st449;
+tr1452:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st435;
-tr1407:
+	goto st449;
+tr1453:
 	{
 		s->line_counter++;
 	}
-	goto st435;
-st435:
+	goto st449;
+st449:
 	if ( ++p == pe )
-		goto _test_eof435;
-case 435:
+		goto _test_eof449;
+case 449:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39383,55 +40876,55 @@ case 435:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st435;
-		case 32: goto st435;
-		case 40: goto tr1405;
-		case 41: goto tr1406;
-		case 1034: goto tr1407;
-		case 1083: goto st442;
+		case 9: goto st449;
+		case 32: goto st449;
+		case 40: goto tr1451;
+		case 41: goto tr1452;
+		case 1034: goto tr1453;
+		case 1083: goto st456;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1410;
-	goto tr1409;
-tr1410:
+		goto tr1456;
+	goto tr1455;
+tr1456:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st436;
-tr1414:
+	goto st450;
+tr1460:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st436;
-st436:
+	goto st450;
+st450:
 	if ( ++p == pe )
-		goto _test_eof436;
-case 436:
+		goto _test_eof450;
+case 450:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39445,100 +40938,100 @@ case 436:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1411;
-		case 32: goto tr1411;
-		case 40: goto tr1412;
-		case 41: goto tr1413;
-		case 1034: goto tr1415;
-		case 1083: goto tr1416;
+		case 9: goto tr1457;
+		case 32: goto tr1457;
+		case 40: goto tr1458;
+		case 41: goto tr1459;
+		case 1034: goto tr1461;
+		case 1083: goto tr1462;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1414;
-	goto tr1409;
-tr1419:
+		goto tr1460;
+	goto tr1455;
+tr1465:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st437;
-tr1420:
+	goto st451;
+tr1466:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st437;
-tr1422:
+	goto st451;
+tr1468:
 	{
 		s->line_counter++;
 	}
-	goto st437;
-tr1411:
+	goto st451;
+tr1457:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st437;
-tr1412:
+	goto st451;
+tr1458:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st437;
-tr1413:
+	goto st451;
+tr1459:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st437;
-tr1415:
+	goto st451;
+tr1461:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st437;
-st437:
+	goto st451;
+st451:
 	if ( ++p == pe )
-		goto _test_eof437;
-case 437:
+		goto _test_eof451;
+case 451:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39552,78 +41045,78 @@ case 437:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st437;
-		case 32: goto st437;
-		case 40: goto tr1419;
-		case 41: goto tr1420;
-		case 1034: goto tr1422;
-		case 1083: goto st441;
+		case 9: goto st451;
+		case 32: goto st451;
+		case 40: goto tr1465;
+		case 41: goto tr1466;
+		case 1034: goto tr1468;
+		case 1083: goto st455;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1421;
+			goto tr1467;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1421;
+			goto tr1467;
 	} else
-		goto tr1421;
-	goto tr1417;
-tr1421:
+		goto tr1467;
+	goto tr1463;
+tr1467:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st438;
-st438:
+	goto st452;
+st452:
 	if ( ++p == pe )
-		goto _test_eof438;
-case 438:
+		goto _test_eof452;
+case 452:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1424;
+			goto tr1470;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr1424;
+			goto tr1470;
 	} else
-		goto tr1424;
-	goto tr1417;
-tr1426:
+		goto tr1470;
+	goto tr1463;
+tr1472:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st439;
-tr1427:
+	goto st453;
+tr1473:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st439;
-tr1428:
+	goto st453;
+tr1474:
 	{
 		s->line_counter++;
 	}
-	goto st439;
-tr1424:
+	goto st453;
+tr1470:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st439;
-st439:
+	goto st453;
+st453:
 	if ( ++p == pe )
-		goto _test_eof439;
-case 439:
+		goto _test_eof453;
+case 453:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39641,30 +41134,30 @@ case 439:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st439;
-		case 32: goto st439;
-		case 40: goto tr1426;
-		case 41: goto tr1427;
-		case 2058: goto tr1428;
-		case 2107: goto st440;
-		case 2314: goto tr1430;
-		case 2363: goto tr1430;
-		case 2570: goto tr1431;
-		case 2619: goto tr1432;
+		case 9: goto st453;
+		case 32: goto st453;
+		case 40: goto tr1472;
+		case 41: goto tr1473;
+		case 2058: goto tr1474;
+		case 2107: goto st454;
+		case 2314: goto tr1476;
+		case 2363: goto tr1476;
+		case 2570: goto tr1477;
+		case 2619: goto tr1478;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1421;
+			goto tr1467;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1421;
+			goto tr1467;
 	} else
-		goto tr1421;
-	goto tr1417;
-st440:
+		goto tr1467;
+	goto tr1463;
+st454:
 	if ( ++p == pe )
-		goto _test_eof440;
-case 440:
+		goto _test_eof454;
+case 454:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -39684,44 +41177,44 @@ case 440:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1428;
+		goto tr1474;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st440;
-	goto tr1417;
-tr1430:
+		goto st454;
+	goto tr1463;
+tr1476:
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1080;
-st1080:
+	goto st1101;
+st1101:
 	if ( ++p == pe )
-		goto _test_eof1080;
-case 1080:
+		goto _test_eof1101;
+case 1101:
 	goto st0;
-tr1431:
+tr1477:
 	{
 		s->line_counter++;
 	}
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1081;
-st1081:
+	goto st1102;
+st1102:
 	if ( ++p == pe )
-		goto _test_eof1081;
-case 1081:
+		goto _test_eof1102;
+case 1102:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39739,41 +41232,41 @@ case 1081:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st439;
-		case 32: goto st439;
-		case 40: goto tr1426;
-		case 41: goto tr1427;
-		case 2058: goto tr1428;
-		case 2107: goto st440;
-		case 2314: goto tr1430;
-		case 2363: goto tr1430;
-		case 2570: goto tr1431;
-		case 2619: goto tr1432;
+		case 9: goto st453;
+		case 32: goto st453;
+		case 40: goto tr1472;
+		case 41: goto tr1473;
+		case 2058: goto tr1474;
+		case 2107: goto st454;
+		case 2314: goto tr1476;
+		case 2363: goto tr1476;
+		case 2570: goto tr1477;
+		case 2619: goto tr1478;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1421;
+			goto tr1467;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1421;
+			goto tr1467;
 	} else
-		goto tr1421;
-	goto tr1417;
-tr1432:
+		goto tr1467;
+	goto tr1463;
+tr1478:
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1082;
-st1082:
+	goto st1103;
+st1103:
 	if ( ++p == pe )
-		goto _test_eof1082;
-case 1082:
+		goto _test_eof1103;
+case 1103:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -39793,24 +41286,24 @@ case 1082:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1428;
+		goto tr1474;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st440;
-	goto tr1417;
-tr1416:
+		goto st454;
+	goto tr1463;
+tr1462:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st441;
-st441:
+	goto st455;
+st455:
 	if ( ++p == pe )
-		goto _test_eof441;
-case 441:
+		goto _test_eof455;
+case 455:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -39830,14 +41323,14 @@ case 441:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1422;
+		goto tr1468;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st441;
-	goto tr1403;
-st442:
+		goto st455;
+	goto tr1449;
+st456:
 	if ( ++p == pe )
-		goto _test_eof442;
-case 442:
+		goto _test_eof456;
+case 456:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -39857,14 +41350,14 @@ case 442:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1407;
+		goto tr1453;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st442;
-	goto tr1403;
-st443:
+		goto st456;
+	goto tr1449;
+st457:
 	if ( ++p == pe )
-		goto _test_eof443;
-case 443:
+		goto _test_eof457;
+case 457:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39878,41 +41371,41 @@ case 443:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st444;
-		case 32: goto st444;
-		case 40: goto tr1434;
-		case 41: goto tr1435;
-		case 1034: goto tr1436;
-		case 1083: goto st452;
-	}
-	goto tr1403;
-tr1434:
+		case 9: goto st458;
+		case 32: goto st458;
+		case 40: goto tr1480;
+		case 41: goto tr1481;
+		case 1034: goto tr1482;
+		case 1083: goto st466;
+	}
+	goto tr1449;
+tr1480:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st444;
-tr1435:
+	goto st458;
+tr1481:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st444;
-tr1436:
+	goto st458;
+tr1482:
 	{
 		s->line_counter++;
 	}
-	goto st444;
-st444:
+	goto st458;
+st458:
 	if ( ++p == pe )
-		goto _test_eof444;
-case 444:
+		goto _test_eof458;
+case 458:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39926,40 +41419,40 @@ case 444:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st444;
-		case 32: goto st444;
-		case 40: goto tr1434;
-		case 41: goto tr1435;
-		case 48: goto tr1438;
-		case 1034: goto tr1436;
-		case 1083: goto st452;
+		case 9: goto st458;
+		case 32: goto st458;
+		case 40: goto tr1480;
+		case 41: goto tr1481;
+		case 48: goto tr1484;
+		case 1034: goto tr1482;
+		case 1083: goto st466;
 	}
 	if ( 49 <= _widec && _widec <= 57 )
-		goto tr1439;
-	goto tr1409;
-tr1438:
+		goto tr1485;
+	goto tr1455;
+tr1484:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st445;
-st445:
+	goto st459;
+st459:
 	if ( ++p == pe )
-		goto _test_eof445;
-case 445:
+		goto _test_eof459;
+case 459:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39973,19 +41466,19 @@ case 445:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1440;
-		case 32: goto tr1440;
-		case 40: goto tr1441;
-		case 41: goto tr1442;
-		case 778: goto tr1444;
-		case 827: goto tr1444;
-		case 1034: goto tr1445;
-		case 1083: goto tr1446;
+		case 9: goto tr1486;
+		case 32: goto tr1486;
+		case 40: goto tr1487;
+		case 41: goto tr1488;
+		case 778: goto tr1490;
+		case 827: goto tr1490;
+		case 1034: goto tr1491;
+		case 1083: goto tr1492;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1443;
-	goto tr1409;
-tr1440:
+		goto tr1489;
+	goto tr1455;
+tr1486:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
@@ -39994,11 +41487,11 @@ tr1440:
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1083;
-tr1441:
+	goto st1104;
+tr1487:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
@@ -40007,18 +41500,18 @@ tr1441:
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1083;
-tr1442:
+	goto st1104;
+tr1488:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
@@ -40027,18 +41520,18 @@ tr1442:
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1083;
-tr1445:
+	goto st1104;
+tr1491:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
@@ -40047,17 +41540,17 @@ tr1445:
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1083;
-st1083:
+	goto st1104;
+st1104:
 	if ( ++p == pe )
-		goto _test_eof1083;
-case 1083:
+		goto _test_eof1104;
+case 1104:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40071,106 +41564,106 @@ case 1083:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st446;
-		case 32: goto st446;
-		case 40: goto tr1448;
-		case 41: goto tr1449;
-		case 1034: goto tr1451;
-		case 1083: goto st450;
+		case 9: goto st460;
+		case 32: goto st460;
+		case 40: goto tr1494;
+		case 41: goto tr1495;
+		case 1034: goto tr1497;
+		case 1083: goto st464;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1450;
+			goto tr1496;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1450;
+			goto tr1496;
 	} else
-		goto tr1450;
-	goto tr1417;
-tr1448:
+		goto tr1496;
+	goto tr1463;
+tr1494:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st446;
-tr1449:
+	goto st460;
+tr1495:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st446;
-tr1451:
+	goto st460;
+tr1497:
 	{
 		s->line_counter++;
 	}
-	goto st446;
-tr1462:
+	goto st460;
+tr1508:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st446;
-tr1463:
+	goto st460;
+tr1509:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st446;
-tr1464:
+	goto st460;
+tr1510:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st446;
-tr1465:
+	goto st460;
+tr1511:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st446;
-st446:
+	goto st460;
+st460:
 	if ( ++p == pe )
-		goto _test_eof446;
-case 446:
+		goto _test_eof460;
+case 460:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40184,78 +41677,78 @@ case 446:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st446;
-		case 32: goto st446;
-		case 40: goto tr1448;
-		case 41: goto tr1449;
-		case 1034: goto tr1451;
-		case 1083: goto st450;
+		case 9: goto st460;
+		case 32: goto st460;
+		case 40: goto tr1494;
+		case 41: goto tr1495;
+		case 1034: goto tr1497;
+		case 1083: goto st464;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1450;
+			goto tr1496;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1450;
+			goto tr1496;
 	} else
-		goto tr1450;
-	goto tr1417;
-tr1450:
+		goto tr1496;
+	goto tr1463;
+tr1496:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st447;
-st447:
+	goto st461;
+st461:
 	if ( ++p == pe )
-		goto _test_eof447;
-case 447:
+		goto _test_eof461;
+case 461:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1453;
+			goto tr1499;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr1453;
+			goto tr1499;
 	} else
-		goto tr1453;
-	goto tr1417;
-tr1455:
+		goto tr1499;
+	goto tr1463;
+tr1501:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st448;
-tr1456:
+	goto st462;
+tr1502:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st448;
-tr1457:
+	goto st462;
+tr1503:
 	{
 		s->line_counter++;
 	}
-	goto st448;
-tr1453:
+	goto st462;
+tr1499:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st448;
-st448:
+	goto st462;
+st462:
 	if ( ++p == pe )
-		goto _test_eof448;
-case 448:
+		goto _test_eof462;
+case 462:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40273,30 +41766,30 @@ case 448:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st448;
-		case 32: goto st448;
-		case 40: goto tr1455;
-		case 41: goto tr1456;
-		case 2058: goto tr1457;
-		case 2107: goto st449;
-		case 2314: goto tr1459;
-		case 2363: goto tr1459;
-		case 2570: goto tr1460;
-		case 2619: goto tr1461;
+		case 9: goto st462;
+		case 32: goto st462;
+		case 40: goto tr1501;
+		case 41: goto tr1502;
+		case 2058: goto tr1503;
+		case 2107: goto st463;
+		case 2314: goto tr1505;
+		case 2363: goto tr1505;
+		case 2570: goto tr1506;
+		case 2619: goto tr1507;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1450;
+			goto tr1496;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1450;
+			goto tr1496;
 	} else
-		goto tr1450;
-	goto tr1417;
-st449:
+		goto tr1496;
+	goto tr1463;
+st463:
 	if ( ++p == pe )
-		goto _test_eof449;
-case 449:
+		goto _test_eof463;
+case 463:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -40316,49 +41809,49 @@ case 449:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1457;
+		goto tr1503;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st449;
-	goto tr1417;
-tr1444:
+		goto st463;
+	goto tr1463;
+tr1490:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1084;
-tr1459:
+	goto st1105;
+tr1505:
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1084;
-st1084:
+	goto st1105;
+st1105:
 	if ( ++p == pe )
-		goto _test_eof1084;
-case 1084:
-	goto tr1403;
-tr1460:
+		goto _test_eof1105;
+case 1105:
+	goto tr1449;
+tr1506:
 	{
 		s->line_counter++;
 	}
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1085;
-st1085:
+	goto st1106;
+st1106:
 	if ( ++p == pe )
-		goto _test_eof1085;
-case 1085:
+		goto _test_eof1106;
+case 1106:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40376,41 +41869,41 @@ case 1085:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st448;
-		case 32: goto st448;
-		case 40: goto tr1455;
-		case 41: goto tr1456;
-		case 2058: goto tr1457;
-		case 2107: goto st449;
-		case 2314: goto tr1459;
-		case 2363: goto tr1459;
-		case 2570: goto tr1460;
-		case 2619: goto tr1461;
+		case 9: goto st462;
+		case 32: goto st462;
+		case 40: goto tr1501;
+		case 41: goto tr1502;
+		case 2058: goto tr1503;
+		case 2107: goto st463;
+		case 2314: goto tr1505;
+		case 2363: goto tr1505;
+		case 2570: goto tr1506;
+		case 2619: goto tr1507;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr1450;
+			goto tr1496;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr1450;
+			goto tr1496;
 	} else
-		goto tr1450;
-	goto tr1417;
-tr1461:
+		goto tr1496;
+	goto tr1463;
+tr1507:
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1086;
-st1086:
+	goto st1107;
+st1107:
 	if ( ++p == pe )
-		goto _test_eof1086;
-case 1086:
+		goto _test_eof1107;
+case 1107:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -40430,24 +41923,24 @@ case 1086:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1457;
+		goto tr1503;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st449;
-	goto tr1417;
-tr1466:
+		goto st463;
+	goto tr1463;
+tr1512:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st450;
-st450:
+	goto st464;
+st464:
 	if ( ++p == pe )
-		goto _test_eof450;
-case 450:
+		goto _test_eof464;
+case 464:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -40467,49 +41960,49 @@ case 450:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1451;
+		goto tr1497;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st450;
-	goto tr1403;
-tr1439:
+		goto st464;
+	goto tr1449;
+tr1485:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st451;
-tr1443:
+	goto st465;
+tr1489:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st451;
-st451:
+	goto st465;
+st465:
 	if ( ++p == pe )
-		goto _test_eof451;
-case 451:
+		goto _test_eof465;
+case 465:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40523,17 +42016,17 @@ case 451:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1462;
-		case 32: goto tr1462;
-		case 40: goto tr1463;
-		case 41: goto tr1464;
-		case 1034: goto tr1465;
-		case 1083: goto tr1466;
+		case 9: goto tr1508;
+		case 32: goto tr1508;
+		case 40: goto tr1509;
+		case 41: goto tr1510;
+		case 1034: goto tr1511;
+		case 1083: goto tr1512;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1443;
-	goto tr1409;
-tr1446:
+		goto tr1489;
+	goto tr1455;
+tr1492:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
@@ -40542,14 +42035,14 @@ tr1446:
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1087;
-st1087:
+	goto st1108;
+st1108:
 	if ( ++p == pe )
-		goto _test_eof1087;
-case 1087:
+		goto _test_eof1108;
+case 1108:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -40569,14 +42062,14 @@ case 1087:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1451;
+		goto tr1497;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st450;
-	goto tr1403;
-st452:
+		goto st464;
+	goto tr1449;
+st466:
 	if ( ++p == pe )
-		goto _test_eof452;
-case 452:
+		goto _test_eof466;
+case 466:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -40596,1174 +42089,1174 @@ case 452:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1436;
+		goto tr1482;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st452;
-	goto tr1403;
-st453:
+		goto st466;
+	goto tr1449;
+st467:
 	if ( ++p == pe )
-		goto _test_eof453;
-case 453:
+		goto _test_eof467;
+case 467:
 	switch( (*p) ) {
-		case 68: goto st455;
-		case 69: goto st470;
-		case 73: goto st500;
-		case 80: goto st508;
-		case 82: goto st521;
-		case 100: goto st455;
-		case 101: goto st470;
-		case 105: goto st500;
-		case 112: goto st508;
-		case 114: goto st521;
+		case 68: goto st469;
+		case 69: goto st484;
+		case 73: goto st514;
+		case 80: goto st522;
+		case 82: goto st535;
+		case 100: goto st469;
+		case 101: goto st484;
+		case 105: goto st514;
+		case 112: goto st522;
+		case 114: goto st535;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1468;
-	goto tr1467;
-tr1468:
+		goto tr1514;
+	goto tr1513;
+tr1514:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st454;
-tr1475:
+	goto st468;
+tr1521:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st454;
-st454:
+	goto st468;
+st468:
 	if ( ++p == pe )
-		goto _test_eof454;
-case 454:
+		goto _test_eof468;
+case 468:
 	switch( (*p) ) {
-		case 32: goto tr1474;
-		case 59: goto tr1474;
+		case 32: goto tr1520;
+		case 59: goto tr1520;
 	}
 	if ( (*p) < 40 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr1474;
+			goto tr1520;
 	} else if ( (*p) > 41 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1475;
+			goto tr1521;
 	} else
-		goto tr1474;
-	goto tr1467;
-tr1474:
+		goto tr1520;
+	goto tr1513;
+tr1520:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1478:
+	goto st1109;
+tr1524:
 	{
 		*(rdata_tail++) = 2;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1480:
+	goto st1109;
+tr1526:
 	{
 		*(rdata_tail++) = 3;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1492:
+	goto st1109;
+tr1538:
 	{
 		*(rdata_tail++) = 6;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1501:
+	goto st1109;
+tr1547:
 	{
 		*(rdata_tail++) = 12;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1515:
+	goto st1109;
+tr1561:
 	{
 		*(rdata_tail++) = 13;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1524:
+	goto st1109;
+tr1570:
 	{
 		*(rdata_tail++) = 14;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1532:
+	goto st1109;
+tr1578:
 	{
 		*(rdata_tail++) = 252;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1543:
+	goto st1109;
+tr1589:
 	{
 		*(rdata_tail++) = 253;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1546:
+	goto st1109;
+tr1592:
 	{
 		*(rdata_tail++) = 254;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1553:
+	goto st1109;
+tr1599:
 	{
 		*(rdata_tail++) = 1;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1559:
+	goto st1109;
+tr1605:
 	{
 		*(rdata_tail++) = 5;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1571:
+	goto st1109;
+tr1617:
 	{
 		*(rdata_tail++) = 7;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1574:
+	goto st1109;
+tr1620:
 	{
 		*(rdata_tail++) = 8;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-tr1577:
+	goto st1109;
+tr1623:
 	{
 		*(rdata_tail++) = 10;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1088;
-st1088:
+	goto st1109;
+st1109:
 	if ( ++p == pe )
-		goto _test_eof1088;
-case 1088:
+		goto _test_eof1109;
+case 1109:
 	goto st0;
-st455:
-	if ( ++p == pe )
-		goto _test_eof455;
-case 455:
-	switch( (*p) ) {
-		case 72: goto st456;
-		case 83: goto st457;
-		case 104: goto st456;
-		case 115: goto st457;
-	}
-	goto tr1467;
-st456:
-	if ( ++p == pe )
-		goto _test_eof456;
-case 456:
-	switch( (*p) ) {
-		case 32: goto tr1478;
-		case 59: goto tr1478;
-	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1478;
-	} else if ( (*p) >= 9 )
-		goto tr1478;
-	goto tr1467;
-st457:
-	if ( ++p == pe )
-		goto _test_eof457;
-case 457:
-	switch( (*p) ) {
-		case 65: goto st458;
-		case 97: goto st458;
-	}
-	goto tr1467;
-st458:
-	if ( ++p == pe )
-		goto _test_eof458;
-case 458:
-	switch( (*p) ) {
-		case 32: goto tr1480;
-		case 45: goto st459;
-		case 59: goto tr1480;
-	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1480;
-	} else if ( (*p) >= 9 )
-		goto tr1480;
-	goto tr1467;
-st459:
-	if ( ++p == pe )
-		goto _test_eof459;
-case 459:
-	switch( (*p) ) {
-		case 78: goto st460;
-		case 110: goto st460;
-	}
-	goto tr1467;
-st460:
-	if ( ++p == pe )
-		goto _test_eof460;
-case 460:
-	switch( (*p) ) {
-		case 83: goto st461;
-		case 115: goto st461;
-	}
-	goto tr1467;
-st461:
-	if ( ++p == pe )
-		goto _test_eof461;
-case 461:
-	switch( (*p) ) {
-		case 69: goto st462;
-		case 101: goto st462;
-	}
-	goto tr1467;
-st462:
-	if ( ++p == pe )
-		goto _test_eof462;
-case 462:
-	switch( (*p) ) {
-		case 67: goto st463;
-		case 99: goto st463;
-	}
-	goto tr1467;
-st463:
-	if ( ++p == pe )
-		goto _test_eof463;
-case 463:
-	if ( (*p) == 51 )
-		goto st464;
-	goto tr1467;
-st464:
-	if ( ++p == pe )
-		goto _test_eof464;
-case 464:
-	if ( (*p) == 45 )
-		goto st465;
-	goto tr1467;
-st465:
-	if ( ++p == pe )
-		goto _test_eof465;
-case 465:
-	switch( (*p) ) {
-		case 83: goto st466;
-		case 115: goto st466;
-	}
-	goto tr1467;
-st466:
-	if ( ++p == pe )
-		goto _test_eof466;
-case 466:
-	switch( (*p) ) {
-		case 72: goto st467;
-		case 104: goto st467;
-	}
-	goto tr1467;
-st467:
-	if ( ++p == pe )
-		goto _test_eof467;
-case 467:
-	switch( (*p) ) {
-		case 65: goto st468;
-		case 97: goto st468;
-	}
-	goto tr1467;
-st468:
-	if ( ++p == pe )
-		goto _test_eof468;
-case 468:
-	if ( (*p) == 49 )
-		goto st469;
-	goto tr1467;
 st469:
 	if ( ++p == pe )
 		goto _test_eof469;
 case 469:
 	switch( (*p) ) {
-		case 32: goto tr1492;
-		case 59: goto tr1492;
+		case 72: goto st470;
+		case 83: goto st471;
+		case 104: goto st470;
+		case 115: goto st471;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1492;
-	} else if ( (*p) >= 9 )
-		goto tr1492;
-	goto tr1467;
+	goto tr1513;
 st470:
 	if ( ++p == pe )
 		goto _test_eof470;
 case 470:
 	switch( (*p) ) {
-		case 67: goto st471;
-		case 99: goto st471;
+		case 32: goto tr1524;
+		case 59: goto tr1524;
 	}
-	goto tr1467;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1524;
+	} else if ( (*p) >= 9 )
+		goto tr1524;
+	goto tr1513;
 st471:
 	if ( ++p == pe )
 		goto _test_eof471;
 case 471:
 	switch( (*p) ) {
-		case 67: goto st472;
-		case 68: goto st478;
-		case 99: goto st472;
-		case 100: goto st478;
+		case 65: goto st472;
+		case 97: goto st472;
 	}
-	goto tr1467;
+	goto tr1513;
 st472:
 	if ( ++p == pe )
 		goto _test_eof472;
 case 472:
-	if ( (*p) == 45 )
-		goto st473;
-	goto tr1467;
+	switch( (*p) ) {
+		case 32: goto tr1526;
+		case 45: goto st473;
+		case 59: goto tr1526;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1526;
+	} else if ( (*p) >= 9 )
+		goto tr1526;
+	goto tr1513;
 st473:
 	if ( ++p == pe )
 		goto _test_eof473;
 case 473:
 	switch( (*p) ) {
-		case 71: goto st474;
-		case 103: goto st474;
+		case 78: goto st474;
+		case 110: goto st474;
 	}
-	goto tr1467;
+	goto tr1513;
 st474:
 	if ( ++p == pe )
 		goto _test_eof474;
 case 474:
 	switch( (*p) ) {
-		case 79: goto st475;
-		case 111: goto st475;
+		case 83: goto st475;
+		case 115: goto st475;
 	}
-	goto tr1467;
+	goto tr1513;
 st475:
 	if ( ++p == pe )
 		goto _test_eof475;
 case 475:
 	switch( (*p) ) {
-		case 83: goto st476;
-		case 115: goto st476;
+		case 69: goto st476;
+		case 101: goto st476;
 	}
-	goto tr1467;
+	goto tr1513;
 st476:
 	if ( ++p == pe )
 		goto _test_eof476;
 case 476:
 	switch( (*p) ) {
-		case 84: goto st477;
-		case 116: goto st477;
+		case 67: goto st477;
+		case 99: goto st477;
 	}
-	goto tr1467;
+	goto tr1513;
 st477:
 	if ( ++p == pe )
 		goto _test_eof477;
 case 477:
-	switch( (*p) ) {
-		case 32: goto tr1501;
-		case 59: goto tr1501;
-	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1501;
-	} else if ( (*p) >= 9 )
-		goto tr1501;
-	goto tr1467;
+	if ( (*p) == 51 )
+		goto st478;
+	goto tr1513;
 st478:
 	if ( ++p == pe )
 		goto _test_eof478;
 case 478:
-	switch( (*p) ) {
-		case 83: goto st479;
-		case 115: goto st479;
-	}
-	goto tr1467;
+	if ( (*p) == 45 )
+		goto st479;
+	goto tr1513;
 st479:
 	if ( ++p == pe )
 		goto _test_eof479;
 case 479:
 	switch( (*p) ) {
-		case 65: goto st480;
-		case 97: goto st480;
+		case 83: goto st480;
+		case 115: goto st480;
 	}
-	goto tr1467;
+	goto tr1513;
 st480:
 	if ( ++p == pe )
 		goto _test_eof480;
 case 480:
 	switch( (*p) ) {
-		case 80: goto st481;
-		case 112: goto st481;
+		case 72: goto st481;
+		case 104: goto st481;
 	}
-	goto tr1467;
+	goto tr1513;
 st481:
 	if ( ++p == pe )
 		goto _test_eof481;
 case 481:
 	switch( (*p) ) {
-		case 50: goto st482;
-		case 51: goto st491;
+		case 65: goto st482;
+		case 97: goto st482;
 	}
-	goto tr1467;
+	goto tr1513;
 st482:
 	if ( ++p == pe )
 		goto _test_eof482;
 case 482:
-	if ( (*p) == 53 )
+	if ( (*p) == 49 )
 		goto st483;
-	goto tr1467;
+	goto tr1513;
 st483:
 	if ( ++p == pe )
 		goto _test_eof483;
 case 483:
-	if ( (*p) == 54 )
-		goto st484;
-	goto tr1467;
+	switch( (*p) ) {
+		case 32: goto tr1538;
+		case 59: goto tr1538;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1538;
+	} else if ( (*p) >= 9 )
+		goto tr1538;
+	goto tr1513;
 st484:
 	if ( ++p == pe )
 		goto _test_eof484;
 case 484:
 	switch( (*p) ) {
-		case 83: goto st485;
-		case 115: goto st485;
+		case 67: goto st485;
+		case 99: goto st485;
 	}
-	goto tr1467;
+	goto tr1513;
 st485:
 	if ( ++p == pe )
 		goto _test_eof485;
 case 485:
 	switch( (*p) ) {
-		case 72: goto st486;
-		case 104: goto st486;
+		case 67: goto st486;
+		case 68: goto st492;
+		case 99: goto st486;
+		case 100: goto st492;
 	}
-	goto tr1467;
+	goto tr1513;
 st486:
 	if ( ++p == pe )
 		goto _test_eof486;
 case 486:
-	switch( (*p) ) {
-		case 65: goto st487;
-		case 97: goto st487;
-	}
-	goto tr1467;
+	if ( (*p) == 45 )
+		goto st487;
+	goto tr1513;
 st487:
 	if ( ++p == pe )
 		goto _test_eof487;
 case 487:
-	if ( (*p) == 50 )
-		goto st488;
-	goto tr1467;
+	switch( (*p) ) {
+		case 71: goto st488;
+		case 103: goto st488;
+	}
+	goto tr1513;
 st488:
 	if ( ++p == pe )
 		goto _test_eof488;
 case 488:
-	if ( (*p) == 53 )
-		goto st489;
-	goto tr1467;
+	switch( (*p) ) {
+		case 79: goto st489;
+		case 111: goto st489;
+	}
+	goto tr1513;
 st489:
 	if ( ++p == pe )
 		goto _test_eof489;
 case 489:
-	if ( (*p) == 54 )
-		goto st490;
-	goto tr1467;
+	switch( (*p) ) {
+		case 83: goto st490;
+		case 115: goto st490;
+	}
+	goto tr1513;
 st490:
 	if ( ++p == pe )
 		goto _test_eof490;
 case 490:
 	switch( (*p) ) {
-		case 32: goto tr1515;
-		case 59: goto tr1515;
+		case 84: goto st491;
+		case 116: goto st491;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1515;
-	} else if ( (*p) >= 9 )
-		goto tr1515;
-	goto tr1467;
+	goto tr1513;
 st491:
 	if ( ++p == pe )
 		goto _test_eof491;
 case 491:
-	if ( (*p) == 56 )
-		goto st492;
-	goto tr1467;
+	switch( (*p) ) {
+		case 32: goto tr1547;
+		case 59: goto tr1547;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1547;
+	} else if ( (*p) >= 9 )
+		goto tr1547;
+	goto tr1513;
 st492:
 	if ( ++p == pe )
 		goto _test_eof492;
 case 492:
-	if ( (*p) == 52 )
-		goto st493;
-	goto tr1467;
+	switch( (*p) ) {
+		case 83: goto st493;
+		case 115: goto st493;
+	}
+	goto tr1513;
 st493:
 	if ( ++p == pe )
 		goto _test_eof493;
 case 493:
 	switch( (*p) ) {
-		case 83: goto st494;
-		case 115: goto st494;
+		case 65: goto st494;
+		case 97: goto st494;
 	}
-	goto tr1467;
+	goto tr1513;
 st494:
 	if ( ++p == pe )
 		goto _test_eof494;
 case 494:
 	switch( (*p) ) {
-		case 72: goto st495;
-		case 104: goto st495;
+		case 80: goto st495;
+		case 112: goto st495;
 	}
-	goto tr1467;
+	goto tr1513;
 st495:
 	if ( ++p == pe )
 		goto _test_eof495;
 case 495:
 	switch( (*p) ) {
-		case 65: goto st496;
-		case 97: goto st496;
+		case 50: goto st496;
+		case 51: goto st505;
 	}
-	goto tr1467;
+	goto tr1513;
 st496:
 	if ( ++p == pe )
 		goto _test_eof496;
 case 496:
-	if ( (*p) == 51 )
+	if ( (*p) == 53 )
 		goto st497;
-	goto tr1467;
+	goto tr1513;
 st497:
 	if ( ++p == pe )
 		goto _test_eof497;
 case 497:
-	if ( (*p) == 56 )
+	if ( (*p) == 54 )
 		goto st498;
-	goto tr1467;
+	goto tr1513;
 st498:
 	if ( ++p == pe )
 		goto _test_eof498;
 case 498:
-	if ( (*p) == 52 )
-		goto st499;
-	goto tr1467;
+	switch( (*p) ) {
+		case 83: goto st499;
+		case 115: goto st499;
+	}
+	goto tr1513;
 st499:
 	if ( ++p == pe )
 		goto _test_eof499;
 case 499:
 	switch( (*p) ) {
-		case 32: goto tr1524;
-		case 59: goto tr1524;
+		case 72: goto st500;
+		case 104: goto st500;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1524;
-	} else if ( (*p) >= 9 )
-		goto tr1524;
-	goto tr1467;
+	goto tr1513;
 st500:
 	if ( ++p == pe )
 		goto _test_eof500;
 case 500:
 	switch( (*p) ) {
-		case 78: goto st501;
-		case 110: goto st501;
+		case 65: goto st501;
+		case 97: goto st501;
 	}
-	goto tr1467;
+	goto tr1513;
 st501:
 	if ( ++p == pe )
 		goto _test_eof501;
 case 501:
-	switch( (*p) ) {
-		case 68: goto st502;
-		case 100: goto st502;
-	}
-	goto tr1467;
+	if ( (*p) == 50 )
+		goto st502;
+	goto tr1513;
 st502:
 	if ( ++p == pe )
 		goto _test_eof502;
 case 502:
-	switch( (*p) ) {
-		case 73: goto st503;
-		case 105: goto st503;
-	}
-	goto tr1467;
+	if ( (*p) == 53 )
+		goto st503;
+	goto tr1513;
 st503:
 	if ( ++p == pe )
 		goto _test_eof503;
 case 503:
-	switch( (*p) ) {
-		case 82: goto st504;
-		case 114: goto st504;
-	}
-	goto tr1467;
+	if ( (*p) == 54 )
+		goto st504;
+	goto tr1513;
 st504:
 	if ( ++p == pe )
 		goto _test_eof504;
 case 504:
 	switch( (*p) ) {
-		case 69: goto st505;
-		case 101: goto st505;
+		case 32: goto tr1561;
+		case 59: goto tr1561;
 	}
-	goto tr1467;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1561;
+	} else if ( (*p) >= 9 )
+		goto tr1561;
+	goto tr1513;
 st505:
 	if ( ++p == pe )
 		goto _test_eof505;
 case 505:
-	switch( (*p) ) {
-		case 67: goto st506;
-		case 99: goto st506;
-	}
-	goto tr1467;
+	if ( (*p) == 56 )
+		goto st506;
+	goto tr1513;
 st506:
 	if ( ++p == pe )
 		goto _test_eof506;
 case 506:
-	switch( (*p) ) {
-		case 84: goto st507;
-		case 116: goto st507;
-	}
-	goto tr1467;
+	if ( (*p) == 52 )
+		goto st507;
+	goto tr1513;
 st507:
 	if ( ++p == pe )
 		goto _test_eof507;
 case 507:
 	switch( (*p) ) {
-		case 32: goto tr1532;
-		case 59: goto tr1532;
+		case 83: goto st508;
+		case 115: goto st508;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1532;
-	} else if ( (*p) >= 9 )
-		goto tr1532;
-	goto tr1467;
+	goto tr1513;
 st508:
 	if ( ++p == pe )
 		goto _test_eof508;
 case 508:
 	switch( (*p) ) {
-		case 82: goto st509;
-		case 114: goto st509;
+		case 72: goto st509;
+		case 104: goto st509;
 	}
-	goto tr1467;
+	goto tr1513;
 st509:
 	if ( ++p == pe )
 		goto _test_eof509;
 case 509:
 	switch( (*p) ) {
-		case 73: goto st510;
-		case 105: goto st510;
+		case 65: goto st510;
+		case 97: goto st510;
 	}
-	goto tr1467;
+	goto tr1513;
 st510:
 	if ( ++p == pe )
 		goto _test_eof510;
 case 510:
-	switch( (*p) ) {
-		case 86: goto st511;
-		case 118: goto st511;
-	}
-	goto tr1467;
+	if ( (*p) == 51 )
+		goto st511;
+	goto tr1513;
 st511:
 	if ( ++p == pe )
 		goto _test_eof511;
 case 511:
-	switch( (*p) ) {
-		case 65: goto st512;
-		case 97: goto st512;
-	}
-	goto tr1467;
+	if ( (*p) == 56 )
+		goto st512;
+	goto tr1513;
 st512:
 	if ( ++p == pe )
 		goto _test_eof512;
 case 512:
-	switch( (*p) ) {
-		case 84: goto st513;
-		case 116: goto st513;
-	}
-	goto tr1467;
+	if ( (*p) == 52 )
+		goto st513;
+	goto tr1513;
 st513:
 	if ( ++p == pe )
 		goto _test_eof513;
 case 513:
 	switch( (*p) ) {
-		case 69: goto st514;
-		case 101: goto st514;
+		case 32: goto tr1570;
+		case 59: goto tr1570;
 	}
-	goto tr1467;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1570;
+	} else if ( (*p) >= 9 )
+		goto tr1570;
+	goto tr1513;
 st514:
 	if ( ++p == pe )
 		goto _test_eof514;
 case 514:
 	switch( (*p) ) {
-		case 68: goto st515;
-		case 79: goto st518;
-		case 100: goto st515;
-		case 111: goto st518;
+		case 78: goto st515;
+		case 110: goto st515;
 	}
-	goto tr1467;
+	goto tr1513;
 st515:
 	if ( ++p == pe )
 		goto _test_eof515;
 case 515:
 	switch( (*p) ) {
-		case 78: goto st516;
-		case 110: goto st516;
+		case 68: goto st516;
+		case 100: goto st516;
 	}
-	goto tr1467;
+	goto tr1513;
 st516:
 	if ( ++p == pe )
 		goto _test_eof516;
 case 516:
 	switch( (*p) ) {
-		case 83: goto st517;
-		case 115: goto st517;
+		case 73: goto st517;
+		case 105: goto st517;
 	}
-	goto tr1467;
+	goto tr1513;
 st517:
 	if ( ++p == pe )
 		goto _test_eof517;
 case 517:
 	switch( (*p) ) {
-		case 32: goto tr1543;
-		case 59: goto tr1543;
+		case 82: goto st518;
+		case 114: goto st518;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1543;
-	} else if ( (*p) >= 9 )
-		goto tr1543;
-	goto tr1467;
+	goto tr1513;
 st518:
 	if ( ++p == pe )
 		goto _test_eof518;
 case 518:
 	switch( (*p) ) {
-		case 73: goto st519;
-		case 105: goto st519;
+		case 69: goto st519;
+		case 101: goto st519;
 	}
-	goto tr1467;
+	goto tr1513;
 st519:
 	if ( ++p == pe )
 		goto _test_eof519;
 case 519:
 	switch( (*p) ) {
-		case 68: goto st520;
-		case 100: goto st520;
+		case 67: goto st520;
+		case 99: goto st520;
 	}
-	goto tr1467;
+	goto tr1513;
 st520:
 	if ( ++p == pe )
 		goto _test_eof520;
 case 520:
 	switch( (*p) ) {
-		case 32: goto tr1546;
-		case 59: goto tr1546;
+		case 84: goto st521;
+		case 116: goto st521;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1546;
-	} else if ( (*p) >= 9 )
-		goto tr1546;
-	goto tr1467;
+	goto tr1513;
 st521:
 	if ( ++p == pe )
 		goto _test_eof521;
 case 521:
 	switch( (*p) ) {
-		case 83: goto st522;
-		case 115: goto st522;
+		case 32: goto tr1578;
+		case 59: goto tr1578;
 	}
-	goto tr1467;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1578;
+	} else if ( (*p) >= 9 )
+		goto tr1578;
+	goto tr1513;
 st522:
 	if ( ++p == pe )
 		goto _test_eof522;
 case 522:
 	switch( (*p) ) {
-		case 65: goto st523;
-		case 97: goto st523;
+		case 82: goto st523;
+		case 114: goto st523;
 	}
-	goto tr1467;
+	goto tr1513;
 st523:
 	if ( ++p == pe )
 		goto _test_eof523;
 case 523:
 	switch( (*p) ) {
-		case 77: goto st524;
-		case 83: goto st527;
-		case 109: goto st524;
-		case 115: goto st527;
+		case 73: goto st524;
+		case 105: goto st524;
 	}
-	goto tr1467;
+	goto tr1513;
 st524:
 	if ( ++p == pe )
 		goto _test_eof524;
 case 524:
 	switch( (*p) ) {
-		case 68: goto st525;
-		case 100: goto st525;
+		case 86: goto st525;
+		case 118: goto st525;
 	}
-	goto tr1467;
+	goto tr1513;
 st525:
 	if ( ++p == pe )
 		goto _test_eof525;
 case 525:
-	if ( (*p) == 53 )
-		goto st526;
-	goto tr1467;
+	switch( (*p) ) {
+		case 65: goto st526;
+		case 97: goto st526;
+	}
+	goto tr1513;
 st526:
 	if ( ++p == pe )
 		goto _test_eof526;
 case 526:
 	switch( (*p) ) {
-		case 32: goto tr1553;
-		case 59: goto tr1553;
+		case 84: goto st527;
+		case 116: goto st527;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1553;
-	} else if ( (*p) >= 9 )
-		goto tr1553;
-	goto tr1467;
+	goto tr1513;
 st527:
 	if ( ++p == pe )
 		goto _test_eof527;
 case 527:
 	switch( (*p) ) {
-		case 72: goto st528;
-		case 104: goto st528;
+		case 69: goto st528;
+		case 101: goto st528;
 	}
-	goto tr1467;
+	goto tr1513;
 st528:
 	if ( ++p == pe )
 		goto _test_eof528;
 case 528:
 	switch( (*p) ) {
-		case 65: goto st529;
-		case 97: goto st529;
+		case 68: goto st529;
+		case 79: goto st532;
+		case 100: goto st529;
+		case 111: goto st532;
 	}
-	goto tr1467;
+	goto tr1513;
 st529:
 	if ( ++p == pe )
 		goto _test_eof529;
 case 529:
 	switch( (*p) ) {
-		case 49: goto st530;
-		case 50: goto st542;
-		case 53: goto st545;
+		case 78: goto st530;
+		case 110: goto st530;
 	}
-	goto tr1467;
+	goto tr1513;
 st530:
 	if ( ++p == pe )
 		goto _test_eof530;
 case 530:
 	switch( (*p) ) {
-		case 32: goto tr1559;
-		case 45: goto st531;
-		case 59: goto tr1559;
+		case 83: goto st531;
+		case 115: goto st531;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1559;
-	} else if ( (*p) >= 9 )
-		goto tr1559;
-	goto tr1467;
+	goto tr1513;
 st531:
 	if ( ++p == pe )
 		goto _test_eof531;
 case 531:
 	switch( (*p) ) {
-		case 78: goto st532;
-		case 110: goto st532;
+		case 32: goto tr1589;
+		case 59: goto tr1589;
 	}
-	goto tr1467;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1589;
+	} else if ( (*p) >= 9 )
+		goto tr1589;
+	goto tr1513;
 st532:
 	if ( ++p == pe )
 		goto _test_eof532;
 case 532:
 	switch( (*p) ) {
-		case 83: goto st533;
-		case 115: goto st533;
+		case 73: goto st533;
+		case 105: goto st533;
 	}
-	goto tr1467;
+	goto tr1513;
 st533:
 	if ( ++p == pe )
 		goto _test_eof533;
 case 533:
 	switch( (*p) ) {
-		case 69: goto st534;
-		case 101: goto st534;
+		case 68: goto st534;
+		case 100: goto st534;
 	}
-	goto tr1467;
+	goto tr1513;
 st534:
 	if ( ++p == pe )
 		goto _test_eof534;
 case 534:
 	switch( (*p) ) {
-		case 67: goto st535;
-		case 99: goto st535;
+		case 32: goto tr1592;
+		case 59: goto tr1592;
 	}
-	goto tr1467;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1592;
+	} else if ( (*p) >= 9 )
+		goto tr1592;
+	goto tr1513;
 st535:
 	if ( ++p == pe )
 		goto _test_eof535;
 case 535:
-	if ( (*p) == 51 )
-		goto st536;
-	goto tr1467;
+	switch( (*p) ) {
+		case 83: goto st536;
+		case 115: goto st536;
+	}
+	goto tr1513;
 st536:
 	if ( ++p == pe )
 		goto _test_eof536;
 case 536:
-	if ( (*p) == 45 )
-		goto st537;
-	goto tr1467;
+	switch( (*p) ) {
+		case 65: goto st537;
+		case 97: goto st537;
+	}
+	goto tr1513;
 st537:
 	if ( ++p == pe )
 		goto _test_eof537;
 case 537:
 	switch( (*p) ) {
-		case 83: goto st538;
-		case 115: goto st538;
+		case 77: goto st538;
+		case 83: goto st541;
+		case 109: goto st538;
+		case 115: goto st541;
 	}
-	goto tr1467;
+	goto tr1513;
 st538:
 	if ( ++p == pe )
 		goto _test_eof538;
 case 538:
 	switch( (*p) ) {
-		case 72: goto st539;
-		case 104: goto st539;
+		case 68: goto st539;
+		case 100: goto st539;
 	}
-	goto tr1467;
+	goto tr1513;
 st539:
 	if ( ++p == pe )
 		goto _test_eof539;
 case 539:
-	switch( (*p) ) {
-		case 65: goto st540;
-		case 97: goto st540;
-	}
-	goto tr1467;
+	if ( (*p) == 53 )
+		goto st540;
+	goto tr1513;
 st540:
 	if ( ++p == pe )
 		goto _test_eof540;
 case 540:
-	if ( (*p) == 49 )
-		goto st541;
-	goto tr1467;
+	switch( (*p) ) {
+		case 32: goto tr1599;
+		case 59: goto tr1599;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1599;
+	} else if ( (*p) >= 9 )
+		goto tr1599;
+	goto tr1513;
 st541:
 	if ( ++p == pe )
 		goto _test_eof541;
 case 541:
 	switch( (*p) ) {
-		case 32: goto tr1571;
-		case 59: goto tr1571;
+		case 72: goto st542;
+		case 104: goto st542;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1571;
-	} else if ( (*p) >= 9 )
-		goto tr1571;
-	goto tr1467;
+	goto tr1513;
 st542:
 	if ( ++p == pe )
 		goto _test_eof542;
 case 542:
-	if ( (*p) == 53 )
-		goto st543;
-	goto tr1467;
+	switch( (*p) ) {
+		case 65: goto st543;
+		case 97: goto st543;
+	}
+	goto tr1513;
 st543:
 	if ( ++p == pe )
 		goto _test_eof543;
 case 543:
-	if ( (*p) == 54 )
-		goto st544;
-	goto tr1467;
+	switch( (*p) ) {
+		case 49: goto st544;
+		case 50: goto st556;
+		case 53: goto st559;
+	}
+	goto tr1513;
 st544:
 	if ( ++p == pe )
 		goto _test_eof544;
 case 544:
 	switch( (*p) ) {
-		case 32: goto tr1574;
-		case 59: goto tr1574;
+		case 32: goto tr1605;
+		case 45: goto st545;
+		case 59: goto tr1605;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1574;
+			goto tr1605;
 	} else if ( (*p) >= 9 )
-		goto tr1574;
-	goto tr1467;
+		goto tr1605;
+	goto tr1513;
 st545:
 	if ( ++p == pe )
 		goto _test_eof545;
 case 545:
-	if ( (*p) == 49 )
-		goto st546;
-	goto tr1467;
+	switch( (*p) ) {
+		case 78: goto st546;
+		case 110: goto st546;
+	}
+	goto tr1513;
 st546:
 	if ( ++p == pe )
 		goto _test_eof546;
 case 546:
-	if ( (*p) == 50 )
-		goto st547;
-	goto tr1467;
+	switch( (*p) ) {
+		case 83: goto st547;
+		case 115: goto st547;
+	}
+	goto tr1513;
 st547:
 	if ( ++p == pe )
 		goto _test_eof547;
 case 547:
 	switch( (*p) ) {
-		case 32: goto tr1577;
-		case 59: goto tr1577;
+		case 69: goto st548;
+		case 101: goto st548;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1577;
-	} else if ( (*p) >= 9 )
-		goto tr1577;
-	goto tr1467;
+	goto tr1513;
 st548:
 	if ( ++p == pe )
 		goto _test_eof548;
 case 548:
 	switch( (*p) ) {
-		case 65: goto st550;
-		case 73: goto st556;
-		case 79: goto st573;
-		case 80: goto st576;
-		case 83: goto st582;
-		case 85: goto st586;
-		case 97: goto st550;
-		case 105: goto st556;
-		case 111: goto st573;
-		case 112: goto st576;
-		case 115: goto st582;
-		case 117: goto st586;
+		case 67: goto st549;
+		case 99: goto st549;
+	}
+	goto tr1513;
+st549:
+	if ( ++p == pe )
+		goto _test_eof549;
+case 549:
+	if ( (*p) == 51 )
+		goto st550;
+	goto tr1513;
+st550:
+	if ( ++p == pe )
+		goto _test_eof550;
+case 550:
+	if ( (*p) == 45 )
+		goto st551;
+	goto tr1513;
+st551:
+	if ( ++p == pe )
+		goto _test_eof551;
+case 551:
+	switch( (*p) ) {
+		case 83: goto st552;
+		case 115: goto st552;
+	}
+	goto tr1513;
+st552:
+	if ( ++p == pe )
+		goto _test_eof552;
+case 552:
+	switch( (*p) ) {
+		case 72: goto st553;
+		case 104: goto st553;
+	}
+	goto tr1513;
+st553:
+	if ( ++p == pe )
+		goto _test_eof553;
+case 553:
+	switch( (*p) ) {
+		case 65: goto st554;
+		case 97: goto st554;
+	}
+	goto tr1513;
+st554:
+	if ( ++p == pe )
+		goto _test_eof554;
+case 554:
+	if ( (*p) == 49 )
+		goto st555;
+	goto tr1513;
+st555:
+	if ( ++p == pe )
+		goto _test_eof555;
+case 555:
+	switch( (*p) ) {
+		case 32: goto tr1617;
+		case 59: goto tr1617;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1617;
+	} else if ( (*p) >= 9 )
+		goto tr1617;
+	goto tr1513;
+st556:
+	if ( ++p == pe )
+		goto _test_eof556;
+case 556:
+	if ( (*p) == 53 )
+		goto st557;
+	goto tr1513;
+st557:
+	if ( ++p == pe )
+		goto _test_eof557;
+case 557:
+	if ( (*p) == 54 )
+		goto st558;
+	goto tr1513;
+st558:
+	if ( ++p == pe )
+		goto _test_eof558;
+case 558:
+	switch( (*p) ) {
+		case 32: goto tr1620;
+		case 59: goto tr1620;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1620;
+	} else if ( (*p) >= 9 )
+		goto tr1620;
+	goto tr1513;
+st559:
+	if ( ++p == pe )
+		goto _test_eof559;
+case 559:
+	if ( (*p) == 49 )
+		goto st560;
+	goto tr1513;
+st560:
+	if ( ++p == pe )
+		goto _test_eof560;
+case 560:
+	if ( (*p) == 50 )
+		goto st561;
+	goto tr1513;
+st561:
+	if ( ++p == pe )
+		goto _test_eof561;
+case 561:
+	switch( (*p) ) {
+		case 32: goto tr1623;
+		case 59: goto tr1623;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1623;
+	} else if ( (*p) >= 9 )
+		goto tr1623;
+	goto tr1513;
+st562:
+	if ( ++p == pe )
+		goto _test_eof562;
+case 562:
+	switch( (*p) ) {
+		case 65: goto st564;
+		case 73: goto st570;
+		case 79: goto st587;
+		case 80: goto st590;
+		case 83: goto st596;
+		case 85: goto st600;
+		case 97: goto st564;
+		case 105: goto st570;
+		case 111: goto st587;
+		case 112: goto st590;
+		case 115: goto st596;
+		case 117: goto st600;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1579;
-	goto tr1578;
-tr1579:
+		goto tr1625;
+	goto tr1624;
+tr1625:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st549;
-tr1587:
+	goto st563;
+tr1633:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st549;
-st549:
+	goto st563;
+st563:
 	if ( ++p == pe )
-		goto _test_eof549;
-case 549:
+		goto _test_eof563;
+case 563:
 	switch( (*p) ) {
-		case 32: goto tr1586;
-		case 59: goto tr1586;
+		case 32: goto tr1632;
+		case 59: goto tr1632;
 	}
 	if ( (*p) < 40 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr1586;
+			goto tr1632;
 	} else if ( (*p) > 41 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1587;
+			goto tr1633;
 	} else
-		goto tr1586;
-	goto tr1578;
-tr1586:
+		goto tr1632;
+	goto tr1624;
+tr1632:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1593:
+	goto st1110;
+tr1639:
 	{
 		*((uint16_t *)rdata_tail) = htons(7);
 		rdata_tail += 2;
@@ -41771,8 +43264,8 @@ tr1593:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1602:
+	goto st1110;
+tr1648:
 	{
 		*((uint16_t *)rdata_tail) = htons(8);
 		rdata_tail += 2;
@@ -41780,8 +43273,8 @@ tr1602:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1606:
+	goto st1110;
+tr1652:
 	{
 		*((uint16_t *)rdata_tail) = htons(6);
 		rdata_tail += 2;
@@ -41789,8 +43282,8 @@ tr1606:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1609:
+	goto st1110;
+tr1655:
 	{
 		*((uint16_t *)rdata_tail) = htons(4);
 		rdata_tail += 2;
@@ -41798,8 +43291,8 @@ tr1609:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1613:
+	goto st1110;
+tr1659:
 	{
 		*((uint16_t *)rdata_tail) = htons(5);
 		rdata_tail += 2;
@@ -41807,8 +43300,8 @@ tr1613:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1616:
+	goto st1110;
+tr1662:
 	{
 		*((uint16_t *)rdata_tail) = htons(254);
 		rdata_tail += 2;
@@ -41816,8 +43309,8 @@ tr1616:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1620:
+	goto st1110;
+tr1666:
 	{
 		*((uint16_t *)rdata_tail) = htons(3);
 		rdata_tail += 2;
@@ -41825,8 +43318,8 @@ tr1620:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1623:
+	goto st1110;
+tr1669:
 	{
 		*((uint16_t *)rdata_tail) = htons(1);
 		rdata_tail += 2;
@@ -41834,8 +43327,8 @@ tr1623:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1627:
+	goto st1110;
+tr1673:
 	{
 		*((uint16_t *)rdata_tail) = htons(2);
 		rdata_tail += 2;
@@ -41843,8 +43336,8 @@ tr1627:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-tr1630:
+	goto st1110;
+tr1676:
 	{
 		*((uint16_t *)rdata_tail) = htons(253);
 		rdata_tail += 2;
@@ -41852,398 +43345,250 @@ tr1630:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1089;
-st1089:
+	goto st1110;
+st1110:
 	if ( ++p == pe )
-		goto _test_eof1089;
-case 1089:
+		goto _test_eof1110;
+case 1110:
 	goto st0;
-st550:
-	if ( ++p == pe )
-		goto _test_eof550;
-case 550:
-	switch( (*p) ) {
-		case 67: goto st551;
-		case 99: goto st551;
-	}
-	goto tr1578;
-st551:
-	if ( ++p == pe )
-		goto _test_eof551;
-case 551:
-	switch( (*p) ) {
-		case 80: goto st552;
-		case 112: goto st552;
-	}
-	goto tr1578;
-st552:
-	if ( ++p == pe )
-		goto _test_eof552;
-case 552:
-	switch( (*p) ) {
-		case 75: goto st553;
-		case 107: goto st553;
-	}
-	goto tr1578;
-st553:
-	if ( ++p == pe )
-		goto _test_eof553;
-case 553:
-	switch( (*p) ) {
-		case 73: goto st554;
-		case 105: goto st554;
-	}
-	goto tr1578;
-st554:
-	if ( ++p == pe )
-		goto _test_eof554;
-case 554:
-	switch( (*p) ) {
-		case 88: goto st555;
-		case 120: goto st555;
-	}
-	goto tr1578;
-st555:
-	if ( ++p == pe )
-		goto _test_eof555;
-case 555:
-	switch( (*p) ) {
-		case 32: goto tr1593;
-		case 59: goto tr1593;
-	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1593;
-	} else if ( (*p) >= 9 )
-		goto tr1593;
-	goto tr1578;
-st556:
-	if ( ++p == pe )
-		goto _test_eof556;
-case 556:
-	switch( (*p) ) {
-		case 65: goto st557;
-		case 80: goto st563;
-		case 83: goto st569;
-		case 97: goto st557;
-		case 112: goto st563;
-		case 115: goto st569;
-	}
-	goto tr1578;
-st557:
-	if ( ++p == pe )
-		goto _test_eof557;
-case 557:
-	switch( (*p) ) {
-		case 67: goto st558;
-		case 99: goto st558;
-	}
-	goto tr1578;
-st558:
-	if ( ++p == pe )
-		goto _test_eof558;
-case 558:
-	switch( (*p) ) {
-		case 80: goto st559;
-		case 112: goto st559;
-	}
-	goto tr1578;
-st559:
-	if ( ++p == pe )
-		goto _test_eof559;
-case 559:
-	switch( (*p) ) {
-		case 75: goto st560;
-		case 107: goto st560;
-	}
-	goto tr1578;
-st560:
-	if ( ++p == pe )
-		goto _test_eof560;
-case 560:
-	switch( (*p) ) {
-		case 73: goto st561;
-		case 105: goto st561;
-	}
-	goto tr1578;
-st561:
-	if ( ++p == pe )
-		goto _test_eof561;
-case 561:
-	switch( (*p) ) {
-		case 88: goto st562;
-		case 120: goto st562;
-	}
-	goto tr1578;
-st562:
-	if ( ++p == pe )
-		goto _test_eof562;
-case 562:
-	switch( (*p) ) {
-		case 32: goto tr1602;
-		case 59: goto tr1602;
-	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1602;
-	} else if ( (*p) >= 9 )
-		goto tr1602;
-	goto tr1578;
-st563:
-	if ( ++p == pe )
-		goto _test_eof563;
-case 563:
-	switch( (*p) ) {
-		case 71: goto st564;
-		case 75: goto st566;
-		case 103: goto st564;
-		case 107: goto st566;
-	}
-	goto tr1578;
 st564:
 	if ( ++p == pe )
 		goto _test_eof564;
 case 564:
 	switch( (*p) ) {
-		case 80: goto st565;
-		case 112: goto st565;
+		case 67: goto st565;
+		case 99: goto st565;
 	}
-	goto tr1578;
+	goto tr1624;
 st565:
 	if ( ++p == pe )
 		goto _test_eof565;
 case 565:
 	switch( (*p) ) {
-		case 32: goto tr1606;
-		case 59: goto tr1606;
+		case 80: goto st566;
+		case 112: goto st566;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1606;
-	} else if ( (*p) >= 9 )
-		goto tr1606;
-	goto tr1578;
+	goto tr1624;
 st566:
 	if ( ++p == pe )
 		goto _test_eof566;
 case 566:
 	switch( (*p) ) {
-		case 73: goto st567;
-		case 105: goto st567;
+		case 75: goto st567;
+		case 107: goto st567;
 	}
-	goto tr1578;
+	goto tr1624;
 st567:
 	if ( ++p == pe )
 		goto _test_eof567;
 case 567:
 	switch( (*p) ) {
-		case 88: goto st568;
-		case 120: goto st568;
+		case 73: goto st568;
+		case 105: goto st568;
 	}
-	goto tr1578;
+	goto tr1624;
 st568:
 	if ( ++p == pe )
 		goto _test_eof568;
 case 568:
 	switch( (*p) ) {
-		case 32: goto tr1609;
-		case 59: goto tr1609;
+		case 88: goto st569;
+		case 120: goto st569;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1609;
-	} else if ( (*p) >= 9 )
-		goto tr1609;
-	goto tr1578;
+	goto tr1624;
 st569:
 	if ( ++p == pe )
 		goto _test_eof569;
 case 569:
 	switch( (*p) ) {
-		case 80: goto st570;
-		case 112: goto st570;
+		case 32: goto tr1639;
+		case 59: goto tr1639;
 	}
-	goto tr1578;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1639;
+	} else if ( (*p) >= 9 )
+		goto tr1639;
+	goto tr1624;
 st570:
 	if ( ++p == pe )
 		goto _test_eof570;
 case 570:
 	switch( (*p) ) {
-		case 75: goto st571;
-		case 107: goto st571;
-	}
-	goto tr1578;
+		case 65: goto st571;
+		case 80: goto st577;
+		case 83: goto st583;
+		case 97: goto st571;
+		case 112: goto st577;
+		case 115: goto st583;
+	}
+	goto tr1624;
 st571:
 	if ( ++p == pe )
 		goto _test_eof571;
 case 571:
 	switch( (*p) ) {
-		case 73: goto st572;
-		case 105: goto st572;
+		case 67: goto st572;
+		case 99: goto st572;
 	}
-	goto tr1578;
+	goto tr1624;
 st572:
 	if ( ++p == pe )
 		goto _test_eof572;
 case 572:
 	switch( (*p) ) {
-		case 32: goto tr1613;
-		case 59: goto tr1613;
+		case 80: goto st573;
+		case 112: goto st573;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1613;
-	} else if ( (*p) >= 9 )
-		goto tr1613;
-	goto tr1578;
+	goto tr1624;
 st573:
 	if ( ++p == pe )
 		goto _test_eof573;
 case 573:
 	switch( (*p) ) {
-		case 73: goto st574;
-		case 105: goto st574;
+		case 75: goto st574;
+		case 107: goto st574;
 	}
-	goto tr1578;
+	goto tr1624;
 st574:
 	if ( ++p == pe )
 		goto _test_eof574;
 case 574:
 	switch( (*p) ) {
-		case 68: goto st575;
-		case 100: goto st575;
+		case 73: goto st575;
+		case 105: goto st575;
 	}
-	goto tr1578;
+	goto tr1624;
 st575:
 	if ( ++p == pe )
 		goto _test_eof575;
 case 575:
 	switch( (*p) ) {
-		case 32: goto tr1616;
-		case 59: goto tr1616;
+		case 88: goto st576;
+		case 120: goto st576;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1616;
-	} else if ( (*p) >= 9 )
-		goto tr1616;
-	goto tr1578;
+	goto tr1624;
 st576:
 	if ( ++p == pe )
 		goto _test_eof576;
 case 576:
 	switch( (*p) ) {
-		case 71: goto st577;
-		case 75: goto st579;
-		case 103: goto st577;
-		case 107: goto st579;
+		case 32: goto tr1648;
+		case 59: goto tr1648;
 	}
-	goto tr1578;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1648;
+	} else if ( (*p) >= 9 )
+		goto tr1648;
+	goto tr1624;
 st577:
 	if ( ++p == pe )
 		goto _test_eof577;
 case 577:
 	switch( (*p) ) {
-		case 80: goto st578;
-		case 112: goto st578;
+		case 71: goto st578;
+		case 75: goto st580;
+		case 103: goto st578;
+		case 107: goto st580;
 	}
-	goto tr1578;
+	goto tr1624;
 st578:
 	if ( ++p == pe )
 		goto _test_eof578;
 case 578:
 	switch( (*p) ) {
-		case 32: goto tr1620;
-		case 59: goto tr1620;
+		case 80: goto st579;
+		case 112: goto st579;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1620;
-	} else if ( (*p) >= 9 )
-		goto tr1620;
-	goto tr1578;
+	goto tr1624;
 st579:
 	if ( ++p == pe )
 		goto _test_eof579;
 case 579:
 	switch( (*p) ) {
-		case 73: goto st580;
-		case 105: goto st580;
+		case 32: goto tr1652;
+		case 59: goto tr1652;
 	}
-	goto tr1578;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1652;
+	} else if ( (*p) >= 9 )
+		goto tr1652;
+	goto tr1624;
 st580:
 	if ( ++p == pe )
 		goto _test_eof580;
 case 580:
 	switch( (*p) ) {
-		case 88: goto st581;
-		case 120: goto st581;
+		case 73: goto st581;
+		case 105: goto st581;
 	}
-	goto tr1578;
+	goto tr1624;
 st581:
 	if ( ++p == pe )
 		goto _test_eof581;
 case 581:
 	switch( (*p) ) {
-		case 32: goto tr1623;
-		case 59: goto tr1623;
+		case 88: goto st582;
+		case 120: goto st582;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1623;
-	} else if ( (*p) >= 9 )
-		goto tr1623;
-	goto tr1578;
+	goto tr1624;
 st582:
 	if ( ++p == pe )
 		goto _test_eof582;
 case 582:
 	switch( (*p) ) {
-		case 80: goto st583;
-		case 112: goto st583;
+		case 32: goto tr1655;
+		case 59: goto tr1655;
 	}
-	goto tr1578;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1655;
+	} else if ( (*p) >= 9 )
+		goto tr1655;
+	goto tr1624;
 st583:
 	if ( ++p == pe )
 		goto _test_eof583;
 case 583:
 	switch( (*p) ) {
-		case 75: goto st584;
-		case 107: goto st584;
+		case 80: goto st584;
+		case 112: goto st584;
 	}
-	goto tr1578;
+	goto tr1624;
 st584:
 	if ( ++p == pe )
 		goto _test_eof584;
 case 584:
 	switch( (*p) ) {
-		case 73: goto st585;
-		case 105: goto st585;
+		case 75: goto st585;
+		case 107: goto st585;
 	}
-	goto tr1578;
+	goto tr1624;
 st585:
 	if ( ++p == pe )
 		goto _test_eof585;
 case 585:
 	switch( (*p) ) {
-		case 32: goto tr1627;
-		case 59: goto tr1627;
+		case 73: goto st586;
+		case 105: goto st586;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1627;
-	} else if ( (*p) >= 9 )
-		goto tr1627;
-	goto tr1578;
+	goto tr1624;
 st586:
 	if ( ++p == pe )
 		goto _test_eof586;
 case 586:
 	switch( (*p) ) {
-		case 82: goto st587;
-		case 114: goto st587;
+		case 32: goto tr1659;
+		case 59: goto tr1659;
 	}
-	goto tr1578;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1659;
+	} else if ( (*p) >= 9 )
+		goto tr1659;
+	goto tr1624;
 st587:
 	if ( ++p == pe )
 		goto _test_eof587;
@@ -42252,176 +43597,324 @@ case 587:
 		case 73: goto st588;
 		case 105: goto st588;
 	}
-	goto tr1578;
+	goto tr1624;
 st588:
 	if ( ++p == pe )
 		goto _test_eof588;
 case 588:
 	switch( (*p) ) {
-		case 32: goto tr1630;
-		case 59: goto tr1630;
+		case 68: goto st589;
+		case 100: goto st589;
 	}
-	if ( (*p) > 10 ) {
-		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1630;
-	} else if ( (*p) >= 9 )
-		goto tr1630;
-	goto tr1578;
+	goto tr1624;
 st589:
 	if ( ++p == pe )
 		goto _test_eof589;
 case 589:
-	if ( (*p) == 46 )
-		goto tr1632;
-	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1632;
-	goto tr1631;
-tr1632:
-	{
-		s->buffer_length = 0;
-	}
-	{
-		if (s->buffer_length < MAX_RDATA_LENGTH) {
-			s->buffer[s->buffer_length++] = (*p);
-		}
-		else {
-			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
-		}
-	}
-	goto st590;
-tr1634:
-	{
-		if (s->buffer_length < MAX_RDATA_LENGTH) {
-			s->buffer[s->buffer_length++] = (*p);
-		}
-		else {
-			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
-		}
+	switch( (*p) ) {
+		case 32: goto tr1662;
+		case 59: goto tr1662;
 	}
-	goto st590;
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1662;
+	} else if ( (*p) >= 9 )
+		goto tr1662;
+	goto tr1624;
 st590:
 	if ( ++p == pe )
 		goto _test_eof590;
 case 590:
 	switch( (*p) ) {
-		case 32: goto tr1633;
-		case 46: goto tr1634;
-		case 59: goto tr1633;
-	}
-	if ( (*p) < 40 ) {
-		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr1633;
-	} else if ( (*p) > 41 ) {
-		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1634;
-	} else
-		goto tr1633;
-	goto tr1631;
-tr1633:
-	{
-		s->buffer[s->buffer_length] = 0;
-
-		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
-			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
-		}
-	}
-	{
-		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
-		rdata_tail += INET4_ADDR_LENGTH;
-	}
-	{
-		p--; {cs = stack[--top];goto _again;}
+		case 71: goto st591;
+		case 75: goto st593;
+		case 103: goto st591;
+		case 107: goto st593;
 	}
-	goto st1090;
-st1090:
-	if ( ++p == pe )
-		goto _test_eof1090;
-case 1090:
-	goto st0;
+	goto tr1624;
 st591:
 	if ( ++p == pe )
 		goto _test_eof591;
 case 591:
 	switch( (*p) ) {
-		case 42: goto tr1635;
-		case 92: goto tr1635;
-		case 95: goto tr1635;
-	}
-	if ( (*p) < 64 ) {
-		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr1635;
-	} else if ( (*p) > 90 ) {
-		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr1635;
-	} else
-		goto tr1635;
-	goto tr69;
-tr1635:
-	{
-		s->dname = rdata_tail;
+		case 80: goto st592;
+		case 112: goto st592;
 	}
-	{ p--; {stack[top++] = 592; goto st248;} }
-	goto st592;
+	goto tr1624;
 st592:
 	if ( ++p == pe )
 		goto _test_eof592;
 case 592:
 	switch( (*p) ) {
-		case 32: goto tr1636;
-		case 59: goto tr1636;
+		case 32: goto tr1666;
+		case 59: goto tr1666;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1636;
+			goto tr1666;
 	} else if ( (*p) >= 9 )
-		goto tr1636;
-	goto tr69;
-tr1636:
-	{
-		rdata_tail += s->dname_tmp_length;
-	}
-	{
-		p--; {cs = stack[--top];goto _again;}
-	}
-	goto st1091;
-st1091:
-	if ( ++p == pe )
-		goto _test_eof1091;
-case 1091:
-	goto st0;
+		goto tr1666;
+	goto tr1624;
 st593:
 	if ( ++p == pe )
 		goto _test_eof593;
 case 593:
 	switch( (*p) ) {
-		case 42: goto tr1637;
-		case 92: goto tr1637;
-		case 95: goto tr1637;
-	}
-	if ( (*p) < 64 ) {
-		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr1637;
-	} else if ( (*p) > 90 ) {
-		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr1637;
-	} else
-		goto tr1637;
-	goto tr69;
-tr1637:
-	{
-		s->dname = rdata_tail;
+		case 73: goto st594;
+		case 105: goto st594;
 	}
-	{ p--; {stack[top++] = 594; goto st248;} }
-	goto st594;
+	goto tr1624;
 st594:
 	if ( ++p == pe )
 		goto _test_eof594;
 case 594:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
+	switch( (*p) ) {
+		case 88: goto st595;
+		case 120: goto st595;
+	}
+	goto tr1624;
+st595:
+	if ( ++p == pe )
+		goto _test_eof595;
+case 595:
+	switch( (*p) ) {
+		case 32: goto tr1669;
+		case 59: goto tr1669;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1669;
+	} else if ( (*p) >= 9 )
+		goto tr1669;
+	goto tr1624;
+st596:
+	if ( ++p == pe )
+		goto _test_eof596;
+case 596:
+	switch( (*p) ) {
+		case 80: goto st597;
+		case 112: goto st597;
+	}
+	goto tr1624;
+st597:
+	if ( ++p == pe )
+		goto _test_eof597;
+case 597:
+	switch( (*p) ) {
+		case 75: goto st598;
+		case 107: goto st598;
+	}
+	goto tr1624;
+st598:
+	if ( ++p == pe )
+		goto _test_eof598;
+case 598:
+	switch( (*p) ) {
+		case 73: goto st599;
+		case 105: goto st599;
+	}
+	goto tr1624;
+st599:
+	if ( ++p == pe )
+		goto _test_eof599;
+case 599:
+	switch( (*p) ) {
+		case 32: goto tr1673;
+		case 59: goto tr1673;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1673;
+	} else if ( (*p) >= 9 )
+		goto tr1673;
+	goto tr1624;
+st600:
+	if ( ++p == pe )
+		goto _test_eof600;
+case 600:
+	switch( (*p) ) {
+		case 82: goto st601;
+		case 114: goto st601;
+	}
+	goto tr1624;
+st601:
+	if ( ++p == pe )
+		goto _test_eof601;
+case 601:
+	switch( (*p) ) {
+		case 73: goto st602;
+		case 105: goto st602;
+	}
+	goto tr1624;
+st602:
+	if ( ++p == pe )
+		goto _test_eof602;
+case 602:
+	switch( (*p) ) {
+		case 32: goto tr1676;
+		case 59: goto tr1676;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1676;
+	} else if ( (*p) >= 9 )
+		goto tr1676;
+	goto tr1624;
+st603:
+	if ( ++p == pe )
+		goto _test_eof603;
+case 603:
+	if ( (*p) == 46 )
+		goto tr1678;
+	if ( 48 <= (*p) && (*p) <= 57 )
+		goto tr1678;
+	goto tr1677;
+tr1678:
+	{
+		s->buffer_length = 0;
+	}
+	{
+		if (s->buffer_length < MAX_RDATA_LENGTH) {
+			s->buffer[s->buffer_length++] = (*p);
+		}
+		else {
+			WARN(ZS_RDATA_OVERFLOW);
+			p--; {goto st253;}
+		}
+	}
+	goto st604;
+tr1680:
+	{
+		if (s->buffer_length < MAX_RDATA_LENGTH) {
+			s->buffer[s->buffer_length++] = (*p);
+		}
+		else {
+			WARN(ZS_RDATA_OVERFLOW);
+			p--; {goto st253;}
+		}
+	}
+	goto st604;
+st604:
+	if ( ++p == pe )
+		goto _test_eof604;
+case 604:
+	switch( (*p) ) {
+		case 32: goto tr1679;
+		case 46: goto tr1680;
+		case 59: goto tr1679;
+	}
+	if ( (*p) < 40 ) {
+		if ( 9 <= (*p) && (*p) <= 10 )
+			goto tr1679;
+	} else if ( (*p) > 41 ) {
+		if ( 48 <= (*p) && (*p) <= 57 )
+			goto tr1680;
+	} else
+		goto tr1679;
+	goto tr1677;
+tr1679:
+	{
+		s->buffer[s->buffer_length] = 0;
+
+		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
+			WARN(ZS_BAD_IPV4);
+			p--; {goto st253;}
+		}
+	}
+	{
+		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
+		rdata_tail += INET4_ADDR_LENGTH;
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1111;
+st1111:
+	if ( ++p == pe )
+		goto _test_eof1111;
+case 1111:
+	goto st0;
+st605:
+	if ( ++p == pe )
+		goto _test_eof605;
+case 605:
+	switch( (*p) ) {
+		case 42: goto tr1681;
+		case 92: goto tr1681;
+		case 95: goto tr1681;
+	}
+	if ( (*p) < 64 ) {
+		if ( 45 <= (*p) && (*p) <= 57 )
+			goto tr1681;
+	} else if ( (*p) > 90 ) {
+		if ( 97 <= (*p) && (*p) <= 122 )
+			goto tr1681;
+	} else
+		goto tr1681;
+	goto tr69;
+tr1681:
+	{
+		s->dname = rdata_tail;
+	}
+	{ p--; {stack[top++] = 606; goto st255;} }
+	goto st606;
+st606:
+	if ( ++p == pe )
+		goto _test_eof606;
+case 606:
+	switch( (*p) ) {
+		case 32: goto tr1682;
+		case 59: goto tr1682;
+	}
+	if ( (*p) > 10 ) {
+		if ( 40 <= (*p) && (*p) <= 41 )
+			goto tr1682;
+	} else if ( (*p) >= 9 )
+		goto tr1682;
+	goto tr69;
+tr1682:
+	{
+		rdata_tail += s->dname_tmp_length;
+	}
+	{
+		p--; {cs = stack[--top];goto _again;}
+	}
+	goto st1112;
+st1112:
+	if ( ++p == pe )
+		goto _test_eof1112;
+case 1112:
+	goto st0;
+st607:
+	if ( ++p == pe )
+		goto _test_eof607;
+case 607:
+	switch( (*p) ) {
+		case 42: goto tr1683;
+		case 92: goto tr1683;
+		case 95: goto tr1683;
+	}
+	if ( (*p) < 64 ) {
+		if ( 45 <= (*p) && (*p) <= 57 )
+			goto tr1683;
+	} else if ( (*p) > 90 ) {
+		if ( 97 <= (*p) && (*p) <= 122 )
+			goto tr1683;
+	} else
+		goto tr1683;
+	goto tr69;
+tr1683:
+	{
+		s->dname = rdata_tail;
+	}
+	{ p--; {stack[top++] = 608; goto st255;} }
+	goto st608;
+st608:
+	if ( ++p == pe )
+		goto _test_eof608;
+case 608:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
 			_widec = (short)(640 + ((*p) - -128));
 			if ( 
@@ -42433,78 +43926,78 @@ case 594:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1638;
-		case 32: goto tr1638;
-		case 40: goto tr1639;
-		case 41: goto tr1640;
-		case 1034: goto tr1641;
-		case 1083: goto tr1642;
+		case 9: goto tr1684;
+		case 32: goto tr1684;
+		case 40: goto tr1685;
+		case 41: goto tr1686;
+		case 1034: goto tr1687;
+		case 1083: goto tr1688;
 	}
 	goto tr69;
-tr1644:
+tr1690:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st595;
-tr1645:
+	goto st609;
+tr1691:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st595;
-tr1647:
+	goto st609;
+tr1693:
 	{
 		s->line_counter++;
 	}
-	goto st595;
-tr1638:
+	goto st609;
+tr1684:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st595;
-tr1639:
+	goto st609;
+tr1685:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st595;
-tr1640:
+	goto st609;
+tr1686:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st595;
-tr1641:
+	goto st609;
+tr1687:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st595;
-st595:
+	goto st609;
+st609:
 	if ( ++p == pe )
-		goto _test_eof595;
-case 595:
+		goto _test_eof609;
+case 609:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42518,35 +44011,35 @@ case 595:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st595;
-		case 32: goto st595;
-		case 40: goto tr1644;
-		case 41: goto tr1645;
-		case 42: goto tr1646;
-		case 92: goto tr1646;
-		case 95: goto tr1646;
-		case 1034: goto tr1647;
-		case 1083: goto st624;
+		case 9: goto st609;
+		case 32: goto st609;
+		case 40: goto tr1690;
+		case 41: goto tr1691;
+		case 42: goto tr1692;
+		case 92: goto tr1692;
+		case 95: goto tr1692;
+		case 1034: goto tr1693;
+		case 1083: goto st638;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr1646;
+			goto tr1692;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr1646;
+			goto tr1692;
 	} else
-		goto tr1646;
+		goto tr1692;
 	goto tr69;
-tr1646:
+tr1692:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 596; goto st248;} }
-	goto st596;
-st596:
+	{ p--; {stack[top++] = 610; goto st255;} }
+	goto st610;
+st610:
 	if ( ++p == pe )
-		goto _test_eof596;
-case 596:
+		goto _test_eof610;
+case 610:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42560,78 +44053,78 @@ case 596:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1649;
-		case 32: goto tr1649;
-		case 40: goto tr1650;
-		case 41: goto tr1651;
-		case 1034: goto tr1652;
-		case 1083: goto tr1653;
+		case 9: goto tr1695;
+		case 32: goto tr1695;
+		case 40: goto tr1696;
+		case 41: goto tr1697;
+		case 1034: goto tr1698;
+		case 1083: goto tr1699;
 	}
 	goto tr69;
-tr1656:
+tr1702:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st597;
-tr1657:
+	goto st611;
+tr1703:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st597;
-tr1659:
+	goto st611;
+tr1705:
 	{
 		s->line_counter++;
 	}
-	goto st597;
-tr1649:
+	goto st611;
+tr1695:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st597;
-tr1650:
+	goto st611;
+tr1696:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st597;
-tr1651:
+	goto st611;
+tr1697:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st597;
-tr1652:
+	goto st611;
+tr1698:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st597;
-st597:
+	goto st611;
+st611:
 	if ( ++p == pe )
-		goto _test_eof597;
-case 597:
+		goto _test_eof611;
+case 611:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42645,55 +44138,55 @@ case 597:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st597;
-		case 32: goto st597;
-		case 40: goto tr1656;
-		case 41: goto tr1657;
-		case 1034: goto tr1659;
-		case 1083: goto st623;
+		case 9: goto st611;
+		case 32: goto st611;
+		case 40: goto tr1702;
+		case 41: goto tr1703;
+		case 1034: goto tr1705;
+		case 1083: goto st637;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1658;
-	goto tr1654;
-tr1658:
+		goto tr1704;
+	goto tr1700;
+tr1704:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st598;
-tr1664:
+	goto st612;
+tr1710:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st598;
-st598:
+	goto st612;
+st612:
 	if ( ++p == pe )
-		goto _test_eof598;
-case 598:
+		goto _test_eof612;
+case 612:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42707,104 +44200,104 @@ case 598:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1661;
-		case 32: goto tr1661;
-		case 40: goto tr1662;
-		case 41: goto tr1663;
-		case 1034: goto tr1665;
-		case 1083: goto tr1666;
+		case 9: goto tr1707;
+		case 32: goto tr1707;
+		case 40: goto tr1708;
+		case 41: goto tr1709;
+		case 1034: goto tr1711;
+		case 1083: goto tr1712;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1664;
-	goto tr1654;
-tr1668:
+		goto tr1710;
+	goto tr1700;
+tr1714:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st599;
-tr1669:
+	goto st613;
+tr1715:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st599;
-tr1671:
+	goto st613;
+tr1717:
 	{
 		s->line_counter++;
 	}
-	goto st599;
-tr1661:
+	goto st613;
+tr1707:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st599;
-tr1662:
+	goto st613;
+tr1708:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st599;
-tr1663:
+	goto st613;
+tr1709:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st599;
-tr1665:
+	goto st613;
+tr1711:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st599;
-st599:
+	goto st613;
+st613:
 	if ( ++p == pe )
-		goto _test_eof599;
-case 599:
+		goto _test_eof613;
+case 613:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42818,55 +44311,55 @@ case 599:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st599;
-		case 32: goto st599;
-		case 40: goto tr1668;
-		case 41: goto tr1669;
-		case 1034: goto tr1671;
-		case 1083: goto st622;
+		case 9: goto st613;
+		case 32: goto st613;
+		case 40: goto tr1714;
+		case 41: goto tr1715;
+		case 1034: goto tr1717;
+		case 1083: goto st636;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1670;
-	goto tr1654;
-tr1670:
+		goto tr1716;
+	goto tr1700;
+tr1716:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st600;
-tr1677:
+	goto st614;
+tr1723:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st600;
-st600:
+	goto st614;
+st614:
 	if ( ++p == pe )
-		goto _test_eof600;
-case 600:
+		goto _test_eof614;
+case 614:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42880,117 +44373,117 @@ case 600:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1674;
-		case 32: goto tr1674;
-		case 40: goto tr1675;
-		case 41: goto tr1676;
-		case 68: goto tr1678;
-		case 72: goto tr1679;
-		case 77: goto tr1680;
-		case 83: goto st619;
-		case 87: goto tr1682;
-		case 100: goto tr1678;
-		case 104: goto tr1679;
-		case 109: goto tr1680;
-		case 115: goto st619;
-		case 119: goto tr1682;
-		case 1034: goto tr1683;
-		case 1083: goto tr1684;
+		case 9: goto tr1720;
+		case 32: goto tr1720;
+		case 40: goto tr1721;
+		case 41: goto tr1722;
+		case 68: goto tr1724;
+		case 72: goto tr1725;
+		case 77: goto tr1726;
+		case 83: goto st633;
+		case 87: goto tr1728;
+		case 100: goto tr1724;
+		case 104: goto tr1725;
+		case 109: goto tr1726;
+		case 115: goto st633;
+		case 119: goto tr1728;
+		case 1034: goto tr1729;
+		case 1083: goto tr1730;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1677;
-	goto tr1673;
-tr1686:
+		goto tr1723;
+	goto tr1719;
+tr1732:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st601;
-tr1687:
+	goto st615;
+tr1733:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st601;
-tr1689:
+	goto st615;
+tr1735:
 	{
 		s->line_counter++;
 	}
-	goto st601;
-tr1674:
+	goto st615;
+tr1720:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st601;
-tr1675:
+	goto st615;
+tr1721:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st601;
-tr1676:
+	goto st615;
+tr1722:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st601;
-tr1683:
+	goto st615;
+tr1729:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st601;
-tr1774:
+	goto st615;
+tr1820:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -42999,17 +44492,17 @@ tr1774:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st601;
-tr1775:
+	goto st615;
+tr1821:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43018,24 +44511,24 @@ tr1775:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st601;
-tr1776:
+	goto st615;
+tr1822:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43044,24 +44537,24 @@ tr1776:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st601;
-tr1778:
+	goto st615;
+tr1824:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43070,17 +44563,17 @@ tr1778:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st601;
-st601:
+	goto st615;
+st615:
 	if ( ++p == pe )
-		goto _test_eof601;
-case 601:
+		goto _test_eof615;
+case 615:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43094,55 +44587,55 @@ case 601:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st601;
-		case 32: goto st601;
-		case 40: goto tr1686;
-		case 41: goto tr1687;
-		case 1034: goto tr1689;
-		case 1083: goto st618;
+		case 9: goto st615;
+		case 32: goto st615;
+		case 40: goto tr1732;
+		case 41: goto tr1733;
+		case 1034: goto tr1735;
+		case 1083: goto st632;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1688;
-	goto tr1654;
-tr1688:
+		goto tr1734;
+	goto tr1700;
+tr1734:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st602;
-tr1694:
+	goto st616;
+tr1740:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st602;
-st602:
+	goto st616;
+st616:
 	if ( ++p == pe )
-		goto _test_eof602;
-case 602:
+		goto _test_eof616;
+case 616:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43156,117 +44649,117 @@ case 602:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1691;
-		case 32: goto tr1691;
-		case 40: goto tr1692;
-		case 41: goto tr1693;
-		case 68: goto tr1695;
-		case 72: goto tr1696;
-		case 77: goto tr1697;
-		case 83: goto st615;
-		case 87: goto tr1699;
-		case 100: goto tr1695;
-		case 104: goto tr1696;
-		case 109: goto tr1697;
-		case 115: goto st615;
-		case 119: goto tr1699;
-		case 1034: goto tr1700;
-		case 1083: goto tr1701;
+		case 9: goto tr1737;
+		case 32: goto tr1737;
+		case 40: goto tr1738;
+		case 41: goto tr1739;
+		case 68: goto tr1741;
+		case 72: goto tr1742;
+		case 77: goto tr1743;
+		case 83: goto st629;
+		case 87: goto tr1745;
+		case 100: goto tr1741;
+		case 104: goto tr1742;
+		case 109: goto tr1743;
+		case 115: goto st629;
+		case 119: goto tr1745;
+		case 1034: goto tr1746;
+		case 1083: goto tr1747;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1694;
-	goto tr1673;
-tr1703:
+		goto tr1740;
+	goto tr1719;
+tr1749:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st603;
-tr1704:
+	goto st617;
+tr1750:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st603;
-tr1706:
+	goto st617;
+tr1752:
 	{
 		s->line_counter++;
 	}
-	goto st603;
-tr1691:
+	goto st617;
+tr1737:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st603;
-tr1692:
+	goto st617;
+tr1738:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st603;
-tr1693:
+	goto st617;
+tr1739:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st603;
-tr1700:
+	goto st617;
+tr1746:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st603;
-tr1761:
+	goto st617;
+tr1807:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43275,17 +44768,17 @@ tr1761:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st603;
-tr1762:
+	goto st617;
+tr1808:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43294,24 +44787,24 @@ tr1762:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st603;
-tr1763:
+	goto st617;
+tr1809:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43320,24 +44813,24 @@ tr1763:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st603;
-tr1765:
+	goto st617;
+tr1811:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43346,17 +44839,17 @@ tr1765:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st603;
-st603:
+	goto st617;
+st617:
 	if ( ++p == pe )
-		goto _test_eof603;
-case 603:
+		goto _test_eof617;
+case 617:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43370,55 +44863,55 @@ case 603:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st603;
-		case 32: goto st603;
-		case 40: goto tr1703;
-		case 41: goto tr1704;
-		case 1034: goto tr1706;
-		case 1083: goto st614;
+		case 9: goto st617;
+		case 32: goto st617;
+		case 40: goto tr1749;
+		case 41: goto tr1750;
+		case 1034: goto tr1752;
+		case 1083: goto st628;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1705;
-	goto tr1654;
-tr1705:
+		goto tr1751;
+	goto tr1700;
+tr1751:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st604;
-tr1711:
+	goto st618;
+tr1757:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st604;
-st604:
+	goto st618;
+st618:
 	if ( ++p == pe )
-		goto _test_eof604;
-case 604:
+		goto _test_eof618;
+case 618:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43432,117 +44925,117 @@ case 604:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1708;
-		case 32: goto tr1708;
-		case 40: goto tr1709;
-		case 41: goto tr1710;
-		case 68: goto tr1712;
-		case 72: goto tr1713;
-		case 77: goto tr1714;
-		case 83: goto st611;
-		case 87: goto tr1716;
-		case 100: goto tr1712;
-		case 104: goto tr1713;
-		case 109: goto tr1714;
-		case 115: goto st611;
-		case 119: goto tr1716;
-		case 1034: goto tr1717;
-		case 1083: goto tr1718;
+		case 9: goto tr1754;
+		case 32: goto tr1754;
+		case 40: goto tr1755;
+		case 41: goto tr1756;
+		case 68: goto tr1758;
+		case 72: goto tr1759;
+		case 77: goto tr1760;
+		case 83: goto st625;
+		case 87: goto tr1762;
+		case 100: goto tr1758;
+		case 104: goto tr1759;
+		case 109: goto tr1760;
+		case 115: goto st625;
+		case 119: goto tr1762;
+		case 1034: goto tr1763;
+		case 1083: goto tr1764;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1711;
-	goto tr1673;
-tr1720:
+		goto tr1757;
+	goto tr1719;
+tr1766:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st605;
-tr1721:
+	goto st619;
+tr1767:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st605;
-tr1723:
+	goto st619;
+tr1769:
 	{
 		s->line_counter++;
 	}
-	goto st605;
-tr1708:
+	goto st619;
+tr1754:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st605;
-tr1709:
+	goto st619;
+tr1755:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st605;
-tr1710:
+	goto st619;
+tr1756:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st605;
-tr1717:
+	goto st619;
+tr1763:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st605;
-tr1748:
+	goto st619;
+tr1794:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43551,17 +45044,17 @@ tr1748:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st605;
-tr1749:
+	goto st619;
+tr1795:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43570,24 +45063,24 @@ tr1749:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st605;
-tr1750:
+	goto st619;
+tr1796:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43596,24 +45089,24 @@ tr1750:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st605;
-tr1752:
+	goto st619;
+tr1798:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43622,17 +45115,17 @@ tr1752:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st605;
-st605:
+	goto st619;
+st619:
 	if ( ++p == pe )
-		goto _test_eof605;
-case 605:
+		goto _test_eof619;
+case 619:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43646,99 +45139,99 @@ case 605:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st605;
-		case 32: goto st605;
-		case 40: goto tr1720;
-		case 41: goto tr1721;
-		case 1034: goto tr1723;
-		case 1083: goto st610;
+		case 9: goto st619;
+		case 32: goto st619;
+		case 40: goto tr1766;
+		case 41: goto tr1767;
+		case 1034: goto tr1769;
+		case 1083: goto st624;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1722;
-	goto tr1654;
-tr1722:
+		goto tr1768;
+	goto tr1700;
+tr1768:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st606;
-tr1726:
+	goto st620;
+tr1772:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st606;
-st606:
+	goto st620;
+st620:
 	if ( ++p == pe )
-		goto _test_eof606;
-case 606:
+		goto _test_eof620;
+case 620:
 	switch( (*p) ) {
-		case 32: goto tr1725;
-		case 59: goto tr1725;
-		case 68: goto tr1727;
-		case 72: goto tr1728;
-		case 77: goto tr1729;
-		case 83: goto st607;
-		case 87: goto tr1731;
-		case 100: goto tr1727;
-		case 104: goto tr1728;
-		case 109: goto tr1729;
-		case 115: goto st607;
-		case 119: goto tr1731;
+		case 32: goto tr1771;
+		case 59: goto tr1771;
+		case 68: goto tr1773;
+		case 72: goto tr1774;
+		case 77: goto tr1775;
+		case 83: goto st621;
+		case 87: goto tr1777;
+		case 100: goto tr1773;
+		case 104: goto tr1774;
+		case 109: goto tr1775;
+		case 115: goto st621;
+		case 119: goto tr1777;
 	}
 	if ( (*p) < 40 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr1725;
+			goto tr1771;
 	} else if ( (*p) > 41 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1726;
+			goto tr1772;
 	} else
-		goto tr1725;
-	goto tr1673;
-tr1725:
+		goto tr1771;
+	goto tr1719;
+tr1771:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1092;
-tr1739:
+	goto st1113;
+tr1785:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43747,88 +45240,88 @@ tr1739:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1092;
-st1092:
+	goto st1113;
+st1113:
 	if ( ++p == pe )
-		goto _test_eof1092;
-case 1092:
+		goto _test_eof1113;
+case 1113:
 	goto st0;
-tr1727:
+tr1773:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st607;
-tr1728:
+	goto st621;
+tr1774:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st607;
-tr1729:
+	goto st621;
+tr1775:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st607;
-tr1731:
+	goto st621;
+tr1777:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st607;
-st607:
+	goto st621;
+st621:
 	if ( ++p == pe )
-		goto _test_eof607;
-case 607:
+		goto _test_eof621;
+case 621:
 	switch( (*p) ) {
-		case 32: goto tr1725;
-		case 59: goto tr1725;
+		case 32: goto tr1771;
+		case 59: goto tr1771;
 	}
 	if ( (*p) < 40 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr1725;
+			goto tr1771;
 	} else if ( (*p) > 41 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1732;
+			goto tr1778;
 	} else
-		goto tr1725;
-	goto tr1673;
-tr1733:
+		goto tr1771;
+	goto tr1719;
+tr1779:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st608;
-tr1732:
+	goto st622;
+tr1778:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -43836,27 +45329,27 @@ tr1732:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st608;
-tr1740:
+	goto st622;
+tr1786:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43866,110 +45359,110 @@ tr1740:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st608;
-st608:
+	goto st622;
+st622:
 	if ( ++p == pe )
-		goto _test_eof608;
-case 608:
+		goto _test_eof622;
+case 622:
 	switch( (*p) ) {
-		case 68: goto tr1734;
-		case 72: goto tr1735;
-		case 77: goto tr1736;
-		case 83: goto st609;
-		case 87: goto tr1738;
-		case 100: goto tr1734;
-		case 104: goto tr1735;
-		case 109: goto tr1736;
-		case 115: goto st609;
-		case 119: goto tr1738;
+		case 68: goto tr1780;
+		case 72: goto tr1781;
+		case 77: goto tr1782;
+		case 83: goto st623;
+		case 87: goto tr1784;
+		case 100: goto tr1780;
+		case 104: goto tr1781;
+		case 109: goto tr1782;
+		case 115: goto st623;
+		case 119: goto tr1784;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1733;
-	goto tr1673;
-tr1734:
+		goto tr1779;
+	goto tr1719;
+tr1780:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st609;
-tr1735:
+	goto st623;
+tr1781:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st609;
-tr1736:
+	goto st623;
+tr1782:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st609;
-tr1738:
+	goto st623;
+tr1784:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st609;
-st609:
+	goto st623;
+st623:
 	if ( ++p == pe )
-		goto _test_eof609;
-case 609:
+		goto _test_eof623;
+case 623:
 	switch( (*p) ) {
-		case 32: goto tr1739;
-		case 59: goto tr1739;
+		case 32: goto tr1785;
+		case 59: goto tr1785;
 	}
 	if ( (*p) < 40 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr1739;
+			goto tr1785;
 	} else if ( (*p) > 41 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr1740;
+			goto tr1786;
 	} else
-		goto tr1739;
-	goto tr1673;
-tr1718:
+		goto tr1785;
+	goto tr1719;
+tr1764:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st610;
-tr1753:
+	goto st624;
+tr1799:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -43978,14 +45471,14 @@ tr1753:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st610;
-st610:
+	goto st624;
+st624:
 	if ( ++p == pe )
-		goto _test_eof610;
-case 610:
+		goto _test_eof624;
+case 624:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -44005,50 +45498,50 @@ case 610:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1723;
+		goto tr1769;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st610;
+		goto st624;
 	goto tr69;
-tr1712:
+tr1758:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st611;
-tr1713:
+	goto st625;
+tr1759:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st611;
-tr1714:
+	goto st625;
+tr1760:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st611;
-tr1716:
+	goto st625;
+tr1762:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st611;
-st611:
+	goto st625;
+st625:
 	if ( ++p == pe )
-		goto _test_eof611;
-case 611:
+		goto _test_eof625;
+case 625:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44062,33 +45555,33 @@ case 611:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1708;
-		case 32: goto tr1708;
-		case 40: goto tr1709;
-		case 41: goto tr1710;
-		case 1034: goto tr1717;
-		case 1083: goto tr1718;
+		case 9: goto tr1754;
+		case 32: goto tr1754;
+		case 40: goto tr1755;
+		case 41: goto tr1756;
+		case 1034: goto tr1763;
+		case 1083: goto tr1764;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1741;
-	goto tr1673;
-tr1742:
+		goto tr1787;
+	goto tr1719;
+tr1788:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st612;
-tr1741:
+	goto st626;
+tr1787:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -44096,27 +45589,27 @@ tr1741:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st612;
-tr1751:
+	goto st626;
+tr1797:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -44126,79 +45619,79 @@ tr1751:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st612;
-st612:
+	goto st626;
+st626:
 	if ( ++p == pe )
-		goto _test_eof612;
-case 612:
+		goto _test_eof626;
+case 626:
 	switch( (*p) ) {
-		case 68: goto tr1743;
-		case 72: goto tr1744;
-		case 77: goto tr1745;
-		case 83: goto st613;
-		case 87: goto tr1747;
-		case 100: goto tr1743;
-		case 104: goto tr1744;
-		case 109: goto tr1745;
-		case 115: goto st613;
-		case 119: goto tr1747;
+		case 68: goto tr1789;
+		case 72: goto tr1790;
+		case 77: goto tr1791;
+		case 83: goto st627;
+		case 87: goto tr1793;
+		case 100: goto tr1789;
+		case 104: goto tr1790;
+		case 109: goto tr1791;
+		case 115: goto st627;
+		case 119: goto tr1793;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1742;
-	goto tr1673;
-tr1743:
+		goto tr1788;
+	goto tr1719;
+tr1789:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st613;
-tr1744:
+	goto st627;
+tr1790:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st613;
-tr1745:
+	goto st627;
+tr1791:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st613;
-tr1747:
+	goto st627;
+tr1793:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st613;
-st613:
+	goto st627;
+st627:
 	if ( ++p == pe )
-		goto _test_eof613;
-case 613:
+		goto _test_eof627;
+case 627:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44212,34 +45705,34 @@ case 613:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1748;
-		case 32: goto tr1748;
-		case 40: goto tr1749;
-		case 41: goto tr1750;
-		case 1034: goto tr1752;
-		case 1083: goto tr1753;
+		case 9: goto tr1794;
+		case 32: goto tr1794;
+		case 40: goto tr1795;
+		case 41: goto tr1796;
+		case 1034: goto tr1798;
+		case 1083: goto tr1799;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1751;
-	goto tr1673;
-tr1701:
+		goto tr1797;
+	goto tr1719;
+tr1747:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st614;
-tr1766:
+	goto st628;
+tr1812:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -44248,14 +45741,14 @@ tr1766:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st614;
-st614:
+	goto st628;
+st628:
 	if ( ++p == pe )
-		goto _test_eof614;
-case 614:
+		goto _test_eof628;
+case 628:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -44275,50 +45768,50 @@ case 614:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1706;
+		goto tr1752;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st614;
+		goto st628;
 	goto tr69;
-tr1695:
+tr1741:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st615;
-tr1696:
+	goto st629;
+tr1742:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st615;
-tr1697:
+	goto st629;
+tr1743:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st615;
-tr1699:
+	goto st629;
+tr1745:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st615;
-st615:
+	goto st629;
+st629:
 	if ( ++p == pe )
-		goto _test_eof615;
-case 615:
+		goto _test_eof629;
+case 629:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44332,33 +45825,33 @@ case 615:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1691;
-		case 32: goto tr1691;
-		case 40: goto tr1692;
-		case 41: goto tr1693;
-		case 1034: goto tr1700;
-		case 1083: goto tr1701;
+		case 9: goto tr1737;
+		case 32: goto tr1737;
+		case 40: goto tr1738;
+		case 41: goto tr1739;
+		case 1034: goto tr1746;
+		case 1083: goto tr1747;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1754;
-	goto tr1673;
-tr1755:
+		goto tr1800;
+	goto tr1719;
+tr1801:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st616;
-tr1754:
+	goto st630;
+tr1800:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -44366,27 +45859,27 @@ tr1754:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st616;
-tr1764:
+	goto st630;
+tr1810:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -44396,79 +45889,79 @@ tr1764:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st616;
-st616:
+	goto st630;
+st630:
 	if ( ++p == pe )
-		goto _test_eof616;
-case 616:
+		goto _test_eof630;
+case 630:
 	switch( (*p) ) {
-		case 68: goto tr1756;
-		case 72: goto tr1757;
-		case 77: goto tr1758;
-		case 83: goto st617;
-		case 87: goto tr1760;
-		case 100: goto tr1756;
-		case 104: goto tr1757;
-		case 109: goto tr1758;
-		case 115: goto st617;
-		case 119: goto tr1760;
+		case 68: goto tr1802;
+		case 72: goto tr1803;
+		case 77: goto tr1804;
+		case 83: goto st631;
+		case 87: goto tr1806;
+		case 100: goto tr1802;
+		case 104: goto tr1803;
+		case 109: goto tr1804;
+		case 115: goto st631;
+		case 119: goto tr1806;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1755;
-	goto tr1673;
-tr1756:
+		goto tr1801;
+	goto tr1719;
+tr1802:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st617;
-tr1757:
+	goto st631;
+tr1803:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st617;
-tr1758:
+	goto st631;
+tr1804:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st617;
-tr1760:
+	goto st631;
+tr1806:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st617;
-st617:
+	goto st631;
+st631:
 	if ( ++p == pe )
-		goto _test_eof617;
-case 617:
+		goto _test_eof631;
+case 631:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44482,34 +45975,34 @@ case 617:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1761;
-		case 32: goto tr1761;
-		case 40: goto tr1762;
-		case 41: goto tr1763;
-		case 1034: goto tr1765;
-		case 1083: goto tr1766;
+		case 9: goto tr1807;
+		case 32: goto tr1807;
+		case 40: goto tr1808;
+		case 41: goto tr1809;
+		case 1034: goto tr1811;
+		case 1083: goto tr1812;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1764;
-	goto tr1673;
-tr1684:
+		goto tr1810;
+	goto tr1719;
+tr1730:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st618;
-tr1779:
+	goto st632;
+tr1825:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -44518,14 +46011,14 @@ tr1779:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st618;
-st618:
+	goto st632;
+st632:
 	if ( ++p == pe )
-		goto _test_eof618;
-case 618:
+		goto _test_eof632;
+case 632:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -44545,50 +46038,50 @@ case 618:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1689;
+		goto tr1735;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st618;
+		goto st632;
 	goto tr69;
-tr1678:
+tr1724:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st619;
-tr1679:
+	goto st633;
+tr1725:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st619;
-tr1680:
+	goto st633;
+tr1726:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st619;
-tr1682:
+	goto st633;
+tr1728:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st619;
-st619:
+	goto st633;
+st633:
 	if ( ++p == pe )
-		goto _test_eof619;
-case 619:
+		goto _test_eof633;
+case 633:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44602,33 +46095,33 @@ case 619:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1674;
-		case 32: goto tr1674;
-		case 40: goto tr1675;
-		case 41: goto tr1676;
-		case 1034: goto tr1683;
-		case 1083: goto tr1684;
+		case 9: goto tr1720;
+		case 32: goto tr1720;
+		case 40: goto tr1721;
+		case 41: goto tr1722;
+		case 1034: goto tr1729;
+		case 1083: goto tr1730;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1767;
-	goto tr1673;
-tr1768:
+		goto tr1813;
+	goto tr1719;
+tr1814:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st620;
-tr1767:
+	goto st634;
+tr1813:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -44636,27 +46129,27 @@ tr1767:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st620;
-tr1777:
+	goto st634;
+tr1823:
 	{
 		if (s->number64 + s->number64_tmp < UINT32_MAX) {
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -44666,79 +46159,79 @@ tr1777:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st620;
-st620:
+	goto st634;
+st634:
 	if ( ++p == pe )
-		goto _test_eof620;
-case 620:
+		goto _test_eof634;
+case 634:
 	switch( (*p) ) {
-		case 68: goto tr1769;
-		case 72: goto tr1770;
-		case 77: goto tr1771;
-		case 83: goto st621;
-		case 87: goto tr1773;
-		case 100: goto tr1769;
-		case 104: goto tr1770;
-		case 109: goto tr1771;
-		case 115: goto st621;
-		case 119: goto tr1773;
+		case 68: goto tr1815;
+		case 72: goto tr1816;
+		case 77: goto tr1817;
+		case 83: goto st635;
+		case 87: goto tr1819;
+		case 100: goto tr1815;
+		case 104: goto tr1816;
+		case 109: goto tr1817;
+		case 115: goto st635;
+		case 119: goto tr1819;
 	}
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1768;
-	goto tr1673;
-tr1769:
+		goto tr1814;
+	goto tr1719;
+tr1815:
 	{ if (s->number64 <= (UINT32_MAX / 86400)) {
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st621;
-tr1770:
+	goto st635;
+tr1816:
 	{ if (s->number64 <= (UINT32_MAX / 3600)) {
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st621;
-tr1771:
+	goto st635;
+tr1817:
 	{ if (s->number64 <= (UINT32_MAX / 60)) {
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st621;
-tr1773:
+	goto st635;
+tr1819:
 	{ if (s->number64 <= (UINT32_MAX / 604800)) {
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {goto st246;}
+	                  p--; {goto st253;}
 	              }
 	            }
-	goto st621;
-st621:
+	goto st635;
+st635:
 	if ( ++p == pe )
-		goto _test_eof621;
-case 621:
+		goto _test_eof635;
+case 635:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44752,31 +46245,31 @@ case 621:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1774;
-		case 32: goto tr1774;
-		case 40: goto tr1775;
-		case 41: goto tr1776;
-		case 1034: goto tr1778;
-		case 1083: goto tr1779;
+		case 9: goto tr1820;
+		case 32: goto tr1820;
+		case 40: goto tr1821;
+		case 41: goto tr1822;
+		case 1034: goto tr1824;
+		case 1083: goto tr1825;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1777;
-	goto tr1673;
-tr1666:
+		goto tr1823;
+	goto tr1719;
+tr1712:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st622;
-st622:
+	goto st636;
+st636:
 	if ( ++p == pe )
-		goto _test_eof622;
-case 622:
+		goto _test_eof636;
+case 636:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -44796,19 +46289,19 @@ case 622:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1671;
+		goto tr1717;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st622;
+		goto st636;
 	goto tr69;
-tr1653:
+tr1699:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st623;
-st623:
+	goto st637;
+st637:
 	if ( ++p == pe )
-		goto _test_eof623;
-case 623:
+		goto _test_eof637;
+case 637:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -44828,19 +46321,19 @@ case 623:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1659;
+		goto tr1705;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st623;
+		goto st637;
 	goto tr69;
-tr1642:
+tr1688:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st624;
-st624:
+	goto st638;
+st638:
 	if ( ++p == pe )
-		goto _test_eof624;
-case 624:
+		goto _test_eof638;
+case 638:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -44860,14 +46353,14 @@ case 624:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1647;
+		goto tr1693;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st624;
+		goto st638;
 	goto tr69;
-st625:
+st639:
 	if ( ++p == pe )
-		goto _test_eof625;
-case 625:
+		goto _test_eof639;
+case 639:
 	switch( (*p) ) {
 		case 32: goto tr69;
 		case 59: goto tr69;
@@ -44877,17 +46370,17 @@ case 625:
 			goto tr69;
 	} else if ( (*p) >= 9 )
 		goto tr69;
-	goto tr1780;
-tr1780:
+	goto tr1826;
+tr1826:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	{ p--; {stack[top++] = 626; goto st257;} }
-	goto st626;
-st626:
+	{ p--; {stack[top++] = 640; goto st264;} }
+	goto st640;
+st640:
 	if ( ++p == pe )
-		goto _test_eof626;
-case 626:
+		goto _test_eof640;
+case 640:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44901,38 +46394,38 @@ case 626:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1781;
-		case 32: goto tr1781;
-		case 40: goto tr1782;
-		case 41: goto tr1783;
-		case 1034: goto tr1784;
-		case 1083: goto tr1785;
+		case 9: goto tr1827;
+		case 32: goto tr1827;
+		case 40: goto tr1828;
+		case 41: goto tr1829;
+		case 1034: goto tr1830;
+		case 1083: goto tr1831;
 	}
 	goto tr69;
-tr1788:
+tr1834:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st627;
-tr1789:
+	goto st641;
+tr1835:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st627;
-tr1790:
+	goto st641;
+tr1836:
 	{
 		s->line_counter++;
 	}
-	goto st627;
-tr1781:
+	goto st641;
+tr1827:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -44940,11 +46433,11 @@ tr1781:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st627;
-tr1782:
+	goto st641;
+tr1828:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -44952,18 +46445,18 @@ tr1782:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st627;
-tr1783:
+	goto st641;
+tr1829:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -44971,18 +46464,18 @@ tr1783:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st627;
-tr1784:
+	goto st641;
+tr1830:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -44990,17 +46483,17 @@ tr1784:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st627;
-st627:
+	goto st641;
+st641:
 	if ( ++p == pe )
-		goto _test_eof627;
-case 627:
+		goto _test_eof641;
+case 641:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45014,43 +46507,43 @@ case 627:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st627;
-		case 32: goto st627;
-		case 40: goto tr1788;
-		case 41: goto tr1789;
-		case 1034: goto tr1790;
-		case 1083: goto st629;
+		case 9: goto st641;
+		case 32: goto st641;
+		case 40: goto tr1834;
+		case 41: goto tr1835;
+		case 1034: goto tr1836;
+		case 1083: goto st643;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr1786;
+			goto tr1832;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr1786;
+			goto tr1832;
 	} else
-		goto tr1786;
+		goto tr1832;
 	goto tr69;
-tr1786:
+tr1832:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	{ p--; {stack[top++] = 628; goto st257;} }
-	goto st628;
-st628:
+	{ p--; {stack[top++] = 642; goto st264;} }
+	goto st642;
+st642:
 	if ( ++p == pe )
-		goto _test_eof628;
-case 628:
+		goto _test_eof642;
+case 642:
 	switch( (*p) ) {
-		case 32: goto tr1792;
-		case 59: goto tr1792;
+		case 32: goto tr1838;
+		case 59: goto tr1838;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1792;
+			goto tr1838;
 	} else if ( (*p) >= 9 )
-		goto tr1792;
+		goto tr1838;
 	goto tr69;
-tr1792:
+tr1838:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45058,19 +46551,19 @@ tr1792:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1093;
-st1093:
+	goto st1114;
+st1114:
 	if ( ++p == pe )
-		goto _test_eof1093;
-case 1093:
+		goto _test_eof1114;
+case 1114:
 	goto st0;
-tr1785:
+tr1831:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45078,14 +46571,14 @@ tr1785:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st629;
-st629:
+	goto st643;
+st643:
 	if ( ++p == pe )
-		goto _test_eof629;
-case 629:
+		goto _test_eof643;
+case 643:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -45105,38 +46598,38 @@ case 629:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1790;
+		goto tr1836;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st629;
+		goto st643;
 	goto tr69;
-st630:
+st644:
 	if ( ++p == pe )
-		goto _test_eof630;
-case 630:
+		goto _test_eof644;
+case 644:
 	switch( (*p) ) {
-		case 42: goto tr1793;
-		case 92: goto tr1793;
-		case 95: goto tr1793;
+		case 42: goto tr1839;
+		case 92: goto tr1839;
+		case 95: goto tr1839;
 	}
 	if ( (*p) < 64 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr1793;
+			goto tr1839;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr1793;
+			goto tr1839;
 	} else
-		goto tr1793;
+		goto tr1839;
 	goto tr69;
-tr1793:
+tr1839:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 631; goto st248;} }
-	goto st631;
-st631:
+	{ p--; {stack[top++] = 645; goto st255;} }
+	goto st645;
+st645:
 	if ( ++p == pe )
-		goto _test_eof631;
-case 631:
+		goto _test_eof645;
+case 645:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45150,78 +46643,78 @@ case 631:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1794;
-		case 32: goto tr1794;
-		case 40: goto tr1795;
-		case 41: goto tr1796;
-		case 1034: goto tr1797;
-		case 1083: goto tr1798;
+		case 9: goto tr1840;
+		case 32: goto tr1840;
+		case 40: goto tr1841;
+		case 41: goto tr1842;
+		case 1034: goto tr1843;
+		case 1083: goto tr1844;
 	}
 	goto tr69;
-tr1800:
+tr1846:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st632;
-tr1801:
+	goto st646;
+tr1847:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st632;
-tr1803:
+	goto st646;
+tr1849:
 	{
 		s->line_counter++;
 	}
-	goto st632;
-tr1794:
+	goto st646;
+tr1840:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st632;
-tr1795:
+	goto st646;
+tr1841:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st632;
-tr1796:
+	goto st646;
+tr1842:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st632;
-tr1797:
+	goto st646;
+tr1843:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st632;
-st632:
+	goto st646;
+st646:
 	if ( ++p == pe )
-		goto _test_eof632;
-case 632:
+		goto _test_eof646;
+case 646:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45235,67 +46728,67 @@ case 632:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st632;
-		case 32: goto st632;
-		case 40: goto tr1800;
-		case 41: goto tr1801;
-		case 42: goto tr1802;
-		case 92: goto tr1802;
-		case 95: goto tr1802;
-		case 1034: goto tr1803;
-		case 1083: goto st634;
+		case 9: goto st646;
+		case 32: goto st646;
+		case 40: goto tr1846;
+		case 41: goto tr1847;
+		case 42: goto tr1848;
+		case 92: goto tr1848;
+		case 95: goto tr1848;
+		case 1034: goto tr1849;
+		case 1083: goto st648;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr1802;
+			goto tr1848;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr1802;
+			goto tr1848;
 	} else
-		goto tr1802;
+		goto tr1848;
 	goto tr69;
-tr1802:
+tr1848:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 633; goto st248;} }
-	goto st633;
-st633:
+	{ p--; {stack[top++] = 647; goto st255;} }
+	goto st647;
+st647:
 	if ( ++p == pe )
-		goto _test_eof633;
-case 633:
+		goto _test_eof647;
+case 647:
 	switch( (*p) ) {
-		case 32: goto tr1805;
-		case 59: goto tr1805;
+		case 32: goto tr1851;
+		case 59: goto tr1851;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1805;
+			goto tr1851;
 	} else if ( (*p) >= 9 )
-		goto tr1805;
+		goto tr1851;
 	goto tr69;
-tr1805:
+tr1851:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1094;
-st1094:
+	goto st1115;
+st1115:
 	if ( ++p == pe )
-		goto _test_eof1094;
-case 1094:
+		goto _test_eof1115;
+case 1115:
 	goto st0;
-tr1798:
+tr1844:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st634;
-st634:
+	goto st648;
+st648:
 	if ( ++p == pe )
-		goto _test_eof634;
-case 634:
+		goto _test_eof648;
+case 648:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -45315,56 +46808,56 @@ case 634:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1803;
+		goto tr1849;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st634;
+		goto st648;
 	goto tr69;
-st635:
+st649:
 	if ( ++p == pe )
-		goto _test_eof635;
-case 635:
+		goto _test_eof649;
+case 649:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1806;
-	goto tr1654;
-tr1806:
+		goto tr1852;
+	goto tr1700;
+tr1852:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st636;
-tr1810:
+	goto st650;
+tr1856:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st636;
-st636:
+	goto st650;
+st650:
 	if ( ++p == pe )
-		goto _test_eof636;
-case 636:
+		goto _test_eof650;
+case 650:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45378,104 +46871,104 @@ case 636:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1807;
-		case 32: goto tr1807;
-		case 40: goto tr1808;
-		case 41: goto tr1809;
-		case 1034: goto tr1811;
-		case 1083: goto tr1812;
+		case 9: goto tr1853;
+		case 32: goto tr1853;
+		case 40: goto tr1854;
+		case 41: goto tr1855;
+		case 1034: goto tr1857;
+		case 1083: goto tr1858;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1810;
-	goto tr1654;
-tr1814:
+		goto tr1856;
+	goto tr1700;
+tr1860:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st637;
-tr1815:
+	goto st651;
+tr1861:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st637;
-tr1817:
+	goto st651;
+tr1863:
 	{
 		s->line_counter++;
 	}
-	goto st637;
-tr1807:
+	goto st651;
+tr1853:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st637;
-tr1808:
+	goto st651;
+tr1854:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st637;
-tr1809:
+	goto st651;
+tr1855:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st637;
-tr1811:
+	goto st651;
+tr1857:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st637;
-st637:
+	goto st651;
+st651:
 	if ( ++p == pe )
-		goto _test_eof637;
-case 637:
+		goto _test_eof651;
+case 651:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45489,73 +46982,73 @@ case 637:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st637;
-		case 32: goto st637;
-		case 40: goto tr1814;
-		case 41: goto tr1815;
-		case 42: goto tr1816;
-		case 92: goto tr1816;
-		case 95: goto tr1816;
-		case 1034: goto tr1817;
-		case 1083: goto st639;
+		case 9: goto st651;
+		case 32: goto st651;
+		case 40: goto tr1860;
+		case 41: goto tr1861;
+		case 42: goto tr1862;
+		case 92: goto tr1862;
+		case 95: goto tr1862;
+		case 1034: goto tr1863;
+		case 1083: goto st653;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr1816;
+			goto tr1862;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr1816;
+			goto tr1862;
 	} else
-		goto tr1816;
+		goto tr1862;
 	goto tr69;
-tr1816:
+tr1862:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 638; goto st248;} }
-	goto st638;
-st638:
+	{ p--; {stack[top++] = 652; goto st255;} }
+	goto st652;
+st652:
 	if ( ++p == pe )
-		goto _test_eof638;
-case 638:
+		goto _test_eof652;
+case 652:
 	switch( (*p) ) {
-		case 32: goto tr1819;
-		case 59: goto tr1819;
+		case 32: goto tr1865;
+		case 59: goto tr1865;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr1819;
+			goto tr1865;
 	} else if ( (*p) >= 9 )
-		goto tr1819;
+		goto tr1865;
 	goto tr69;
-tr1819:
+tr1865:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1095;
-st1095:
+	goto st1116;
+st1116:
 	if ( ++p == pe )
-		goto _test_eof1095;
-case 1095:
+		goto _test_eof1116;
+case 1116:
 	goto st0;
-tr1812:
+tr1858:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st639;
-st639:
+	goto st653;
+st653:
 	if ( ++p == pe )
-		goto _test_eof639;
-case 639:
+		goto _test_eof653;
+case 653:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -45575,14 +47068,14 @@ case 639:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1817;
+		goto tr1863;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st639;
+		goto st653;
 	goto tr69;
-st640:
+st654:
 	if ( ++p == pe )
-		goto _test_eof640;
-case 640:
+		goto _test_eof654;
+case 654:
 	switch( (*p) ) {
 		case 32: goto tr69;
 		case 59: goto tr69;
@@ -45592,17 +47085,17 @@ case 640:
 			goto tr69;
 	} else if ( (*p) >= 9 )
 		goto tr69;
-	goto tr1820;
-tr1820:
+	goto tr1866;
+tr1866:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	{ p--; {stack[top++] = 641; goto st257;} }
-	goto st641;
-st641:
+	{ p--; {stack[top++] = 655; goto st264;} }
+	goto st655;
+st655:
 	if ( ++p == pe )
-		goto _test_eof641;
-case 641:
+		goto _test_eof655;
+case 655:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45620,42 +47113,42 @@ case 641:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1821;
-		case 32: goto tr1821;
-		case 40: goto tr1822;
-		case 41: goto tr1823;
-		case 2058: goto tr1824;
-		case 2107: goto tr1825;
-		case 2314: goto tr1826;
-		case 2363: goto tr1826;
-		case 2570: goto tr1827;
-		case 2619: goto tr1828;
+		case 9: goto tr1867;
+		case 32: goto tr1867;
+		case 40: goto tr1868;
+		case 41: goto tr1869;
+		case 2058: goto tr1870;
+		case 2107: goto tr1871;
+		case 2314: goto tr1872;
+		case 2363: goto tr1872;
+		case 2570: goto tr1873;
+		case 2619: goto tr1874;
 	}
 	goto tr69;
-tr1830:
+tr1876:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st642;
-tr1831:
+	goto st656;
+tr1877:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st642;
-tr1832:
+	goto st656;
+tr1878:
 	{
 		s->line_counter++;
 	}
-	goto st642;
-tr1821:
+	goto st656;
+tr1867:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45663,11 +47156,11 @@ tr1821:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st642;
-tr1822:
+	goto st656;
+tr1868:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45675,18 +47168,18 @@ tr1822:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st642;
-tr1823:
+	goto st656;
+tr1869:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45694,18 +47187,18 @@ tr1823:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st642;
-tr1824:
+	goto st656;
+tr1870:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45713,17 +47206,17 @@ tr1824:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st642;
-st642:
+	goto st656;
+st656:
 	if ( ++p == pe )
-		goto _test_eof642;
-case 642:
+		goto _test_eof656;
+case 656:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45741,27 +47234,27 @@ case 642:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st642;
-		case 32: goto st642;
-		case 40: goto tr1830;
-		case 41: goto tr1831;
-		case 2058: goto tr1832;
-		case 2107: goto st643;
-		case 2314: goto tr1834;
-		case 2363: goto tr1834;
-		case 2570: goto tr1835;
-		case 2619: goto tr1836;
+		case 9: goto st656;
+		case 32: goto st656;
+		case 40: goto tr1876;
+		case 41: goto tr1877;
+		case 2058: goto tr1878;
+		case 2107: goto st657;
+		case 2314: goto tr1880;
+		case 2363: goto tr1880;
+		case 2570: goto tr1881;
+		case 2619: goto tr1882;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr1820;
+			goto tr1866;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr1820;
+			goto tr1866;
 	} else
-		goto tr1820;
+		goto tr1866;
 	goto tr69;
-tr1825:
+tr1871:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45769,14 +47262,14 @@ tr1825:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st643;
-st643:
+	goto st657;
+st657:
 	if ( ++p == pe )
-		goto _test_eof643;
-case 643:
+		goto _test_eof657;
+case 657:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -45796,16 +47289,16 @@ case 643:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1832;
+		goto tr1878;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st643;
+		goto st657;
 	goto tr69;
-tr1834:
+tr1880:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1096;
-tr1826:
+	goto st1117;
+tr1872:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45813,27 +47306,27 @@ tr1826:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1096;
-st1096:
+	goto st1117;
+st1117:
 	if ( ++p == pe )
-		goto _test_eof1096;
-case 1096:
+		goto _test_eof1117;
+case 1117:
 	goto st0;
-tr1835:
+tr1881:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1097;
-tr1827:
+	goto st1118;
+tr1873:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45841,7 +47334,7 @@ tr1827:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -45850,11 +47343,11 @@ tr1827:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1097;
-st1097:
+	goto st1118;
+st1118:
 	if ( ++p == pe )
-		goto _test_eof1097;
-case 1097:
+		goto _test_eof1118;
+case 1118:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45872,32 +47365,32 @@ case 1097:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st642;
-		case 32: goto st642;
-		case 40: goto tr1830;
-		case 41: goto tr1831;
-		case 2058: goto tr1832;
-		case 2107: goto st643;
-		case 2314: goto tr1834;
-		case 2363: goto tr1834;
-		case 2570: goto tr1835;
-		case 2619: goto tr1836;
+		case 9: goto st656;
+		case 32: goto st656;
+		case 40: goto tr1876;
+		case 41: goto tr1877;
+		case 2058: goto tr1878;
+		case 2107: goto st657;
+		case 2314: goto tr1880;
+		case 2363: goto tr1880;
+		case 2570: goto tr1881;
+		case 2619: goto tr1882;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr1820;
+			goto tr1866;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr1820;
+			goto tr1866;
 	} else
-		goto tr1820;
+		goto tr1866;
 	goto tr69;
-tr1836:
+tr1882:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1098;
-tr1828:
+	goto st1119;
+tr1874:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -45905,17 +47398,17 @@ tr1828:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1098;
-st1098:
+	goto st1119;
+st1119:
 	if ( ++p == pe )
-		goto _test_eof1098;
-case 1098:
+		goto _test_eof1119;
+case 1119:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -45935,26 +47428,26 @@ case 1098:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1832;
+		goto tr1878;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st643;
+		goto st657;
 	goto tr69;
-st644:
+st658:
 	if ( ++p == pe )
-		goto _test_eof644;
-case 644:
+		goto _test_eof658;
+case 658:
 	if ( (*p) == 46 )
-		goto tr1837;
+		goto tr1883;
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 58 )
-			goto tr1837;
+			goto tr1883;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr1837;
+			goto tr1883;
 	} else
-		goto tr1837;
-	goto tr1631;
-tr1837:
+		goto tr1883;
+	goto tr1677;
+tr1883:
 	{
 		s->buffer_length = 0;
 	}
@@ -45964,52 +47457,52 @@ tr1837:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st645;
-tr1839:
+	goto st659;
+tr1885:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st645;
-st645:
+	goto st659;
+st659:
 	if ( ++p == pe )
-		goto _test_eof645;
-case 645:
+		goto _test_eof659;
+case 659:
 	switch( (*p) ) {
-		case 32: goto tr1838;
-		case 46: goto tr1839;
-		case 59: goto tr1838;
+		case 32: goto tr1884;
+		case 46: goto tr1885;
+		case 59: goto tr1884;
 	}
 	if ( (*p) < 48 ) {
 		if ( (*p) > 10 ) {
 			if ( 40 <= (*p) && (*p) <= 41 )
-				goto tr1838;
+				goto tr1884;
 		} else if ( (*p) >= 9 )
-			goto tr1838;
+			goto tr1884;
 	} else if ( (*p) > 58 ) {
 		if ( (*p) > 70 ) {
 			if ( 97 <= (*p) && (*p) <= 102 )
-				goto tr1839;
+				goto tr1885;
 		} else if ( (*p) >= 65 )
-			goto tr1839;
+			goto tr1885;
 	} else
-		goto tr1839;
-	goto tr1631;
-tr1838:
+		goto tr1885;
+	goto tr1677;
+tr1884:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46019,36 +47512,36 @@ tr1838:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1099;
-st1099:
+	goto st1120;
+st1120:
 	if ( ++p == pe )
-		goto _test_eof1099;
-case 1099:
+		goto _test_eof1120;
+case 1120:
 	goto st0;
-st646:
+st660:
 	if ( ++p == pe )
-		goto _test_eof646;
-case 646:
+		goto _test_eof660;
+case 660:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1841;
-	goto tr1840;
-tr1845:
+		goto tr1887;
+	goto tr1886;
+tr1891:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st647;
-tr1841:
+	goto st661;
+tr1887:
 	{
 		memset(&(s->loc), 0, sizeof(s->loc));
 		// Defaults.
@@ -46063,24 +47556,24 @@ tr1841:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st647;
-st647:
+	goto st661;
+st661:
 	if ( ++p == pe )
-		goto _test_eof647;
-case 647:
+		goto _test_eof661;
+case 661:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46094,100 +47587,100 @@ case 647:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1842;
-		case 32: goto tr1842;
-		case 40: goto tr1843;
-		case 41: goto tr1844;
-		case 1034: goto tr1846;
-		case 1083: goto tr1847;
+		case 9: goto tr1888;
+		case 32: goto tr1888;
+		case 40: goto tr1889;
+		case 41: goto tr1890;
+		case 1034: goto tr1892;
+		case 1083: goto tr1893;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1845;
-	goto tr1840;
-tr1849:
+		goto tr1891;
+	goto tr1886;
+tr1895:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st648;
-tr1850:
+	goto st662;
+tr1896:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st648;
-tr1854:
+	goto st662;
+tr1900:
 	{
 		s->line_counter++;
 	}
-	goto st648;
-tr1842:
+	goto st662;
+tr1888:
 	{
 		if (s->number64 <= 90) {
 			s->loc.d1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st648;
-tr1843:
+	goto st662;
+tr1889:
 	{
 		if (s->number64 <= 90) {
 			s->loc.d1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st648;
-tr1844:
+	goto st662;
+tr1890:
 	{
 		if (s->number64 <= 90) {
 			s->loc.d1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st648;
-tr1846:
+	goto st662;
+tr1892:
 	{
 		if (s->number64 <= 90) {
 			s->loc.d1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st648;
-st648:
+	goto st662;
+st662:
 	if ( ++p == pe )
-		goto _test_eof648;
-case 648:
+		goto _test_eof662;
+case 662:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46201,57 +47694,57 @@ case 648:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st648;
-		case 32: goto st648;
-		case 40: goto tr1849;
-		case 41: goto tr1850;
-		case 78: goto st653;
-		case 83: goto st695;
-		case 1034: goto tr1854;
-		case 1083: goto st700;
+		case 9: goto st662;
+		case 32: goto st662;
+		case 40: goto tr1895;
+		case 41: goto tr1896;
+		case 78: goto st667;
+		case 83: goto st709;
+		case 1034: goto tr1900;
+		case 1083: goto st714;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1851;
-	goto tr1840;
-tr1851:
+		goto tr1897;
+	goto tr1886;
+tr1897:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st649;
-tr1859:
+	goto st663;
+tr1905:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st649;
-st649:
+	goto st663;
+st663:
 	if ( ++p == pe )
-		goto _test_eof649;
-case 649:
+		goto _test_eof663;
+case 663:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46265,100 +47758,100 @@ case 649:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1856;
-		case 32: goto tr1856;
-		case 40: goto tr1857;
-		case 41: goto tr1858;
-		case 1034: goto tr1860;
-		case 1083: goto tr1861;
+		case 9: goto tr1902;
+		case 32: goto tr1902;
+		case 40: goto tr1903;
+		case 41: goto tr1904;
+		case 1034: goto tr1906;
+		case 1083: goto tr1907;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1859;
-	goto tr1840;
-tr1863:
+		goto tr1905;
+	goto tr1886;
+tr1909:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st650;
-tr1864:
+	goto st664;
+tr1910:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st650;
-tr1866:
+	goto st664;
+tr1912:
 	{
 		s->line_counter++;
 	}
-	goto st650;
-tr1856:
+	goto st664;
+tr1902:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st650;
-tr1857:
+	goto st664;
+tr1903:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st650;
-tr1858:
+	goto st664;
+tr1904:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st650;
-tr1860:
+	goto st664;
+tr1906:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st650;
-st650:
+	goto st664;
+st664:
 	if ( ++p == pe )
-		goto _test_eof650;
-case 650:
+		goto _test_eof664;
+case 664:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46372,35 +47865,35 @@ case 650:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st650;
-		case 32: goto st650;
-		case 40: goto tr1863;
-		case 41: goto tr1864;
-		case 78: goto st653;
-		case 83: goto st695;
-		case 1034: goto tr1866;
-		case 1083: goto st699;
+		case 9: goto st664;
+		case 32: goto st664;
+		case 40: goto tr1909;
+		case 41: goto tr1910;
+		case 78: goto st667;
+		case 83: goto st709;
+		case 1034: goto tr1912;
+		case 1083: goto st713;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1865;
-	goto tr1840;
-tr1872:
+		goto tr1911;
+	goto tr1886;
+tr1918:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st651;
-tr1865:
+	goto st665;
+tr1911:
 	{
 		s->decimals = 3;
 	}
@@ -46411,24 +47904,24 @@ tr1865:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st651;
-st651:
+	goto st665;
+st665:
 	if ( ++p == pe )
-		goto _test_eof651;
-case 651:
+		goto _test_eof665;
+case 665:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46442,41 +47935,41 @@ case 651:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1868;
-		case 32: goto tr1868;
-		case 40: goto tr1869;
-		case 41: goto tr1870;
-		case 46: goto st697;
-		case 1034: goto tr1873;
-		case 1083: goto tr1874;
+		case 9: goto tr1914;
+		case 32: goto tr1914;
+		case 40: goto tr1915;
+		case 41: goto tr1916;
+		case 46: goto st711;
+		case 1034: goto tr1919;
+		case 1083: goto tr1920;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1872;
-	goto tr1840;
-tr1876:
+		goto tr1918;
+	goto tr1886;
+tr1922:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st652;
-tr1877:
+	goto st666;
+tr1923:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st652;
-tr1878:
+	goto st666;
+tr1924:
 	{
 		s->line_counter++;
 	}
-	goto st652;
-tr1868:
+	goto st666;
+tr1914:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -46486,7 +47979,7 @@ tr1868:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46494,11 +47987,11 @@ tr1868:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st652;
-tr1869:
+	goto st666;
+tr1915:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -46508,7 +48001,7 @@ tr1869:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46516,18 +48009,18 @@ tr1869:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st652;
-tr1870:
+	goto st666;
+tr1916:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -46537,7 +48030,7 @@ tr1870:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46545,18 +48038,18 @@ tr1870:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st652;
-tr1873:
+	goto st666;
+tr1919:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -46566,7 +48059,7 @@ tr1873:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46574,14 +48067,14 @@ tr1873:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st652;
-tr2067:
+	goto st666;
+tr2113:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -46594,7 +48087,7 @@ tr2067:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46602,11 +48095,11 @@ tr2067:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st652;
-tr2068:
+	goto st666;
+tr2114:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -46619,7 +48112,7 @@ tr2068:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46627,18 +48120,18 @@ tr2068:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st652;
-tr2069:
+	goto st666;
+tr2115:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -46651,7 +48144,7 @@ tr2069:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46659,18 +48152,18 @@ tr2069:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st652;
-tr2071:
+	goto st666;
+tr2117:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -46683,7 +48176,7 @@ tr2071:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -46691,17 +48184,17 @@ tr2071:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st652;
-st652:
+	goto st666;
+st666:
 	if ( ++p == pe )
-		goto _test_eof652;
-case 652:
+		goto _test_eof666;
+case 666:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46715,20 +48208,20 @@ case 652:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st652;
-		case 32: goto st652;
-		case 40: goto tr1876;
-		case 41: goto tr1877;
-		case 78: goto st653;
-		case 83: goto st695;
-		case 1034: goto tr1878;
-		case 1083: goto st696;
+		case 9: goto st666;
+		case 32: goto st666;
+		case 40: goto tr1922;
+		case 41: goto tr1923;
+		case 78: goto st667;
+		case 83: goto st709;
+		case 1034: goto tr1924;
+		case 1083: goto st710;
 	}
-	goto tr1840;
-st653:
+	goto tr1886;
+st667:
 	if ( ++p == pe )
-		goto _test_eof653;
-case 653:
+		goto _test_eof667;
+case 667:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46742,78 +48235,78 @@ case 653:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st654;
-		case 32: goto st654;
-		case 40: goto tr1881;
-		case 41: goto tr1882;
-		case 1034: goto tr1883;
-		case 1083: goto st694;
-	}
-	goto tr1840;
-tr1881:
+		case 9: goto st668;
+		case 32: goto st668;
+		case 40: goto tr1927;
+		case 41: goto tr1928;
+		case 1034: goto tr1929;
+		case 1083: goto st708;
+	}
+	goto tr1886;
+tr1927:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st654;
-tr1882:
+	goto st668;
+tr1928:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st654;
-tr1883:
+	goto st668;
+tr1929:
 	{
 		s->line_counter++;
 	}
-	goto st654;
-tr2062:
+	goto st668;
+tr2108:
 	{
 		s->loc.lat_sign = -1;
 	}
-	goto st654;
-tr2063:
+	goto st668;
+tr2109:
 	{
 		s->loc.lat_sign = -1;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st654;
-tr2064:
+	goto st668;
+tr2110:
 	{
 		s->loc.lat_sign = -1;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st654;
-tr2065:
+	goto st668;
+tr2111:
 	{
 		s->loc.lat_sign = -1;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st654;
-st654:
+	goto st668;
+st668:
 	if ( ++p == pe )
-		goto _test_eof654;
-case 654:
+		goto _test_eof668;
+case 668:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46827,55 +48320,55 @@ case 654:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st654;
-		case 32: goto st654;
-		case 40: goto tr1881;
-		case 41: goto tr1882;
-		case 1034: goto tr1883;
-		case 1083: goto st694;
+		case 9: goto st668;
+		case 32: goto st668;
+		case 40: goto tr1927;
+		case 41: goto tr1928;
+		case 1034: goto tr1929;
+		case 1083: goto st708;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1885;
-	goto tr1840;
-tr1885:
+		goto tr1931;
+	goto tr1886;
+tr1931:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st655;
-tr1889:
+	goto st669;
+tr1935:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st655;
-st655:
+	goto st669;
+st669:
 	if ( ++p == pe )
-		goto _test_eof655;
-case 655:
+		goto _test_eof669;
+case 669:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46889,100 +48382,100 @@ case 655:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1886;
-		case 32: goto tr1886;
-		case 40: goto tr1887;
-		case 41: goto tr1888;
-		case 1034: goto tr1890;
-		case 1083: goto tr1891;
+		case 9: goto tr1932;
+		case 32: goto tr1932;
+		case 40: goto tr1933;
+		case 41: goto tr1934;
+		case 1034: goto tr1936;
+		case 1083: goto tr1937;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1889;
-	goto tr1840;
-tr1893:
+		goto tr1935;
+	goto tr1886;
+tr1939:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st656;
-tr1894:
+	goto st670;
+tr1940:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st656;
-tr1898:
+	goto st670;
+tr1944:
 	{
 		s->line_counter++;
 	}
-	goto st656;
-tr1886:
+	goto st670;
+tr1932:
 	{
 		if (s->number64 <= 180) {
 			s->loc.d2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st656;
-tr1887:
+	goto st670;
+tr1933:
 	{
 		if (s->number64 <= 180) {
 			s->loc.d2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st656;
-tr1888:
+	goto st670;
+tr1934:
 	{
 		if (s->number64 <= 180) {
 			s->loc.d2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st656;
-tr1890:
+	goto st670;
+tr1936:
 	{
 		if (s->number64 <= 180) {
 			s->loc.d2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st656;
-st656:
+	goto st670;
+st670:
 	if ( ++p == pe )
-		goto _test_eof656;
-case 656:
+		goto _test_eof670;
+case 670:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -46996,57 +48489,57 @@ case 656:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st656;
-		case 32: goto st656;
-		case 40: goto tr1893;
-		case 41: goto tr1894;
-		case 69: goto st661;
-		case 87: goto st688;
-		case 1034: goto tr1898;
-		case 1083: goto st693;
+		case 9: goto st670;
+		case 32: goto st670;
+		case 40: goto tr1939;
+		case 41: goto tr1940;
+		case 69: goto st675;
+		case 87: goto st702;
+		case 1034: goto tr1944;
+		case 1083: goto st707;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1895;
-	goto tr1840;
-tr1895:
+		goto tr1941;
+	goto tr1886;
+tr1941:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st657;
-tr1903:
+	goto st671;
+tr1949:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st657;
-st657:
+	goto st671;
+st671:
 	if ( ++p == pe )
-		goto _test_eof657;
-case 657:
+		goto _test_eof671;
+case 671:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47060,100 +48553,100 @@ case 657:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1900;
-		case 32: goto tr1900;
-		case 40: goto tr1901;
-		case 41: goto tr1902;
-		case 1034: goto tr1904;
-		case 1083: goto tr1905;
+		case 9: goto tr1946;
+		case 32: goto tr1946;
+		case 40: goto tr1947;
+		case 41: goto tr1948;
+		case 1034: goto tr1950;
+		case 1083: goto tr1951;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1903;
-	goto tr1840;
-tr1907:
+		goto tr1949;
+	goto tr1886;
+tr1953:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st658;
-tr1908:
+	goto st672;
+tr1954:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st658;
-tr1910:
+	goto st672;
+tr1956:
 	{
 		s->line_counter++;
 	}
-	goto st658;
-tr1900:
+	goto st672;
+tr1946:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st658;
-tr1901:
+	goto st672;
+tr1947:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st658;
-tr1902:
+	goto st672;
+tr1948:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st658;
-tr1904:
+	goto st672;
+tr1950:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st658;
-st658:
+	goto st672;
+st672:
 	if ( ++p == pe )
-		goto _test_eof658;
-case 658:
+		goto _test_eof672;
+case 672:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47167,35 +48660,35 @@ case 658:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st658;
-		case 32: goto st658;
-		case 40: goto tr1907;
-		case 41: goto tr1908;
-		case 69: goto st661;
-		case 87: goto st688;
-		case 1034: goto tr1910;
-		case 1083: goto st692;
+		case 9: goto st672;
+		case 32: goto st672;
+		case 40: goto tr1953;
+		case 41: goto tr1954;
+		case 69: goto st675;
+		case 87: goto st702;
+		case 1034: goto tr1956;
+		case 1083: goto st706;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1909;
-	goto tr1840;
-tr1916:
+		goto tr1955;
+	goto tr1886;
+tr1962:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st659;
-tr1909:
+	goto st673;
+tr1955:
 	{
 		s->decimals = 3;
 	}
@@ -47206,24 +48699,24 @@ tr1909:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st659;
-st659:
+	goto st673;
+st673:
 	if ( ++p == pe )
-		goto _test_eof659;
-case 659:
+		goto _test_eof673;
+case 673:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47237,41 +48730,41 @@ case 659:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1912;
-		case 32: goto tr1912;
-		case 40: goto tr1913;
-		case 41: goto tr1914;
-		case 46: goto st690;
-		case 1034: goto tr1917;
-		case 1083: goto tr1918;
+		case 9: goto tr1958;
+		case 32: goto tr1958;
+		case 40: goto tr1959;
+		case 41: goto tr1960;
+		case 46: goto st704;
+		case 1034: goto tr1963;
+		case 1083: goto tr1964;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1916;
-	goto tr1840;
-tr1920:
+		goto tr1962;
+	goto tr1886;
+tr1966:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st660;
-tr1921:
+	goto st674;
+tr1967:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st660;
-tr1922:
+	goto st674;
+tr1968:
 	{
 		s->line_counter++;
 	}
-	goto st660;
-tr1912:
+	goto st674;
+tr1958:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47281,7 +48774,7 @@ tr1912:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47289,11 +48782,11 @@ tr1912:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st660;
-tr1913:
+	goto st674;
+tr1959:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47303,7 +48796,7 @@ tr1913:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47311,18 +48804,18 @@ tr1913:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st660;
-tr1914:
+	goto st674;
+tr1960:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47332,7 +48825,7 @@ tr1914:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47340,18 +48833,18 @@ tr1914:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st660;
-tr1917:
+	goto st674;
+tr1963:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47361,7 +48854,7 @@ tr1917:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47369,14 +48862,14 @@ tr1917:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st660;
-tr2055:
+	goto st674;
+tr2101:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47389,7 +48882,7 @@ tr2055:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47397,11 +48890,11 @@ tr2055:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st660;
-tr2056:
+	goto st674;
+tr2102:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47414,7 +48907,7 @@ tr2056:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47422,18 +48915,18 @@ tr2056:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st660;
-tr2057:
+	goto st674;
+tr2103:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47446,7 +48939,7 @@ tr2057:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47454,18 +48947,18 @@ tr2057:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st660;
-tr2059:
+	goto st674;
+tr2105:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47478,7 +48971,7 @@ tr2059:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47486,17 +48979,17 @@ tr2059:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st660;
-st660:
+	goto st674;
+st674:
 	if ( ++p == pe )
-		goto _test_eof660;
-case 660:
+		goto _test_eof674;
+case 674:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47510,20 +49003,20 @@ case 660:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st660;
-		case 32: goto st660;
-		case 40: goto tr1920;
-		case 41: goto tr1921;
-		case 69: goto st661;
-		case 87: goto st688;
-		case 1034: goto tr1922;
-		case 1083: goto st689;
-	}
-	goto tr1840;
-st661:
+		case 9: goto st674;
+		case 32: goto st674;
+		case 40: goto tr1966;
+		case 41: goto tr1967;
+		case 69: goto st675;
+		case 87: goto st702;
+		case 1034: goto tr1968;
+		case 1083: goto st703;
+	}
+	goto tr1886;
+st675:
 	if ( ++p == pe )
-		goto _test_eof661;
-case 661:
+		goto _test_eof675;
+case 675:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47537,78 +49030,78 @@ case 661:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st662;
-		case 32: goto st662;
-		case 40: goto tr1925;
-		case 41: goto tr1926;
-		case 1034: goto tr1927;
-		case 1083: goto st687;
-	}
-	goto tr1840;
-tr1925:
+		case 9: goto st676;
+		case 32: goto st676;
+		case 40: goto tr1971;
+		case 41: goto tr1972;
+		case 1034: goto tr1973;
+		case 1083: goto st701;
+	}
+	goto tr1886;
+tr1971:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st662;
-tr1926:
+	goto st676;
+tr1972:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st662;
-tr1927:
+	goto st676;
+tr1973:
 	{
 		s->line_counter++;
 	}
-	goto st662;
-tr2050:
+	goto st676;
+tr2096:
 	{
 		s->loc.long_sign = -1;
 	}
-	goto st662;
-tr2051:
+	goto st676;
+tr2097:
 	{
 		s->loc.long_sign = -1;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st662;
-tr2052:
+	goto st676;
+tr2098:
 	{
 		s->loc.long_sign = -1;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st662;
-tr2053:
+	goto st676;
+tr2099:
 	{
 		s->loc.long_sign = -1;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st662;
-st662:
+	goto st676;
+st676:
 	if ( ++p == pe )
-		goto _test_eof662;
-case 662:
+		goto _test_eof676;
+case 676:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47622,41 +49115,41 @@ case 662:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st662;
-		case 32: goto st662;
-		case 40: goto tr1925;
-		case 41: goto tr1926;
-		case 45: goto st663;
-		case 1034: goto tr1927;
-		case 1083: goto st687;
+		case 9: goto st676;
+		case 32: goto st676;
+		case 40: goto tr1971;
+		case 41: goto tr1972;
+		case 45: goto st677;
+		case 1034: goto tr1973;
+		case 1083: goto st701;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1930;
-	goto tr1840;
-st663:
+		goto tr1976;
+	goto tr1886;
+st677:
 	if ( ++p == pe )
-		goto _test_eof663;
-case 663:
+		goto _test_eof677;
+case 677:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr1931;
-	goto tr1840;
-tr1936:
+		goto tr1977;
+	goto tr1886;
+tr1982:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st664;
-tr1930:
+	goto st678;
+tr1976:
 	{
 		s->decimals = 2;
 	}
@@ -47667,21 +49160,21 @@ tr1930:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st664;
-tr1931:
+	goto st678;
+tr1977:
 	{
 		s->loc.alt_sign = -1;
 	}
@@ -47695,24 +49188,24 @@ tr1931:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st664;
-st664:
+	goto st678;
+st678:
 	if ( ++p == pe )
-		goto _test_eof664;
-case 664:
+		goto _test_eof678;
+case 678:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47730,46 +49223,46 @@ case 664:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1932;
-		case 32: goto tr1932;
-		case 40: goto tr1933;
-		case 41: goto tr1934;
-		case 46: goto st684;
-		case 109: goto tr1937;
-		case 2058: goto tr1938;
-		case 2107: goto tr1939;
-		case 2314: goto tr1940;
-		case 2363: goto tr1940;
-		case 2570: goto tr1941;
-		case 2619: goto tr1942;
+		case 9: goto tr1978;
+		case 32: goto tr1978;
+		case 40: goto tr1979;
+		case 41: goto tr1980;
+		case 46: goto st698;
+		case 109: goto tr1983;
+		case 2058: goto tr1984;
+		case 2107: goto tr1985;
+		case 2314: goto tr1986;
+		case 2363: goto tr1986;
+		case 2570: goto tr1987;
+		case 2619: goto tr1988;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1936;
-	goto tr1840;
-tr1944:
+		goto tr1982;
+	goto tr1886;
+tr1990:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st665;
-tr1945:
+	goto st679;
+tr1991:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st665;
-tr1947:
+	goto st679;
+tr1993:
 	{
 		s->line_counter++;
 	}
-	goto st665;
-tr1932:
+	goto st679;
+tr1978:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47779,7 +49272,7 @@ tr1932:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47789,11 +49282,11 @@ tr1932:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st665;
-tr1933:
+	goto st679;
+tr1979:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47803,7 +49296,7 @@ tr1933:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47813,18 +49306,18 @@ tr1933:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st665;
-tr1934:
+	goto st679;
+tr1980:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47834,7 +49327,7 @@ tr1934:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47844,18 +49337,18 @@ tr1934:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st665;
-tr1938:
+	goto st679;
+tr1984:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -47865,7 +49358,7 @@ tr1938:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47875,14 +49368,14 @@ tr1938:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st665;
-tr2039:
+	goto st679;
+tr2085:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47895,7 +49388,7 @@ tr2039:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47905,11 +49398,11 @@ tr2039:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st665;
-tr2040:
+	goto st679;
+tr2086:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47922,7 +49415,7 @@ tr2040:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47932,18 +49425,18 @@ tr2040:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st665;
-tr2041:
+	goto st679;
+tr2087:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47956,7 +49449,7 @@ tr2041:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -47966,18 +49459,18 @@ tr2041:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st665;
-tr2044:
+	goto st679;
+tr2090:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -47990,7 +49483,7 @@ tr2044:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48000,17 +49493,17 @@ tr2044:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st665;
-st665:
+	goto st679;
+st679:
 	if ( ++p == pe )
-		goto _test_eof665;
-case 665:
+		goto _test_eof679;
+case 679:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -48028,37 +49521,37 @@ case 665:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st665;
-		case 32: goto st665;
-		case 40: goto tr1944;
-		case 41: goto tr1945;
-		case 2058: goto tr1947;
-		case 2107: goto st683;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1950;
-		case 2619: goto tr1951;
+		case 9: goto st679;
+		case 32: goto st679;
+		case 40: goto tr1990;
+		case 41: goto tr1991;
+		case 2058: goto tr1993;
+		case 2107: goto st697;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr1996;
+		case 2619: goto tr1997;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1946;
-	goto tr1840;
-tr1956:
+		goto tr1992;
+	goto tr1886;
+tr2002:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st666;
-tr1946:
+	goto st680;
+tr1992:
 	{
 		s->decimals = 2;
 	}
@@ -48069,24 +49562,24 @@ tr1946:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st666;
-st666:
+	goto st680;
+st680:
 	if ( ++p == pe )
-		goto _test_eof666;
-case 666:
+		goto _test_eof680;
+case 680:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -48104,46 +49597,46 @@ case 666:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1952;
-		case 32: goto tr1952;
-		case 40: goto tr1953;
-		case 41: goto tr1954;
-		case 46: goto st680;
-		case 109: goto tr1957;
-		case 2058: goto tr1958;
-		case 2107: goto tr1959;
-		case 2314: goto tr1960;
-		case 2363: goto tr1960;
-		case 2570: goto tr1961;
-		case 2619: goto tr1962;
+		case 9: goto tr1998;
+		case 32: goto tr1998;
+		case 40: goto tr1999;
+		case 41: goto tr2000;
+		case 46: goto st694;
+		case 109: goto tr2003;
+		case 2058: goto tr2004;
+		case 2107: goto tr2005;
+		case 2314: goto tr2006;
+		case 2363: goto tr2006;
+		case 2570: goto tr2007;
+		case 2619: goto tr2008;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1956;
-	goto tr1840;
-tr1964:
+		goto tr2002;
+	goto tr1886;
+tr2010:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st667;
-tr1965:
+	goto st681;
+tr2011:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st667;
-tr1967:
+	goto st681;
+tr2013:
 	{
 		s->line_counter++;
 	}
-	goto st667;
-tr1952:
+	goto st681;
+tr1998:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48153,7 +49646,7 @@ tr1952:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48161,11 +49654,11 @@ tr1952:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st667;
-tr1953:
+	goto st681;
+tr1999:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48175,7 +49668,7 @@ tr1953:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48183,18 +49676,18 @@ tr1953:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st667;
-tr1954:
+	goto st681;
+tr2000:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48204,7 +49697,7 @@ tr1954:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48212,18 +49705,18 @@ tr1954:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st667;
-tr1958:
+	goto st681;
+tr2004:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48233,7 +49726,7 @@ tr1958:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48241,14 +49734,14 @@ tr1958:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st667;
-tr2028:
+	goto st681;
+tr2074:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48261,7 +49754,7 @@ tr2028:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48269,11 +49762,11 @@ tr2028:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st667;
-tr2029:
+	goto st681;
+tr2075:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48286,7 +49779,7 @@ tr2029:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48294,18 +49787,18 @@ tr2029:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st667;
-tr2030:
+	goto st681;
+tr2076:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48318,7 +49811,7 @@ tr2030:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48326,18 +49819,18 @@ tr2030:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st667;
-tr2033:
+	goto st681;
+tr2079:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48350,7 +49843,7 @@ tr2033:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48358,17 +49851,17 @@ tr2033:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st667;
-st667:
+	goto st681;
+st681:
 	if ( ++p == pe )
-		goto _test_eof667;
-case 667:
+		goto _test_eof681;
+case 681:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -48386,37 +49879,37 @@ case 667:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st667;
-		case 32: goto st667;
-		case 40: goto tr1964;
-		case 41: goto tr1965;
-		case 2058: goto tr1967;
-		case 2107: goto st679;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1969;
-		case 2619: goto tr1970;
+		case 9: goto st681;
+		case 32: goto st681;
+		case 40: goto tr2010;
+		case 41: goto tr2011;
+		case 2058: goto tr2013;
+		case 2107: goto st693;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2015;
+		case 2619: goto tr2016;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1966;
-	goto tr1840;
-tr1975:
+		goto tr2012;
+	goto tr1886;
+tr2021:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st668;
-tr1966:
+	goto st682;
+tr2012:
 	{
 		s->decimals = 2;
 	}
@@ -48427,24 +49920,24 @@ tr1966:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st668;
-st668:
+	goto st682;
+st682:
 	if ( ++p == pe )
-		goto _test_eof668;
-case 668:
+		goto _test_eof682;
+case 682:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -48462,46 +49955,46 @@ case 668:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1971;
-		case 32: goto tr1971;
-		case 40: goto tr1972;
-		case 41: goto tr1973;
-		case 46: goto st676;
-		case 109: goto tr1976;
-		case 2058: goto tr1977;
-		case 2107: goto tr1978;
-		case 2314: goto tr1979;
-		case 2363: goto tr1979;
-		case 2570: goto tr1980;
-		case 2619: goto tr1981;
+		case 9: goto tr2017;
+		case 32: goto tr2017;
+		case 40: goto tr2018;
+		case 41: goto tr2019;
+		case 46: goto st690;
+		case 109: goto tr2022;
+		case 2058: goto tr2023;
+		case 2107: goto tr2024;
+		case 2314: goto tr2025;
+		case 2363: goto tr2025;
+		case 2570: goto tr2026;
+		case 2619: goto tr2027;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1975;
-	goto tr1840;
-tr1983:
+		goto tr2021;
+	goto tr1886;
+tr2029:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st669;
-tr1984:
+	goto st683;
+tr2030:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st669;
-tr1986:
+	goto st683;
+tr2032:
 	{
 		s->line_counter++;
 	}
-	goto st669;
-tr1971:
+	goto st683;
+tr2017:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48511,7 +50004,7 @@ tr1971:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48519,11 +50012,11 @@ tr1971:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st669;
-tr1972:
+	goto st683;
+tr2018:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48533,7 +50026,7 @@ tr1972:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48541,18 +50034,18 @@ tr1972:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st669;
-tr1973:
+	goto st683;
+tr2019:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48562,7 +50055,7 @@ tr1973:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48570,18 +50063,18 @@ tr1973:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st669;
-tr1977:
+	goto st683;
+tr2023:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48591,7 +50084,7 @@ tr1977:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48599,14 +50092,14 @@ tr1977:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st669;
-tr2017:
+	goto st683;
+tr2063:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48619,7 +50112,7 @@ tr2017:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48627,11 +50120,11 @@ tr2017:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st669;
-tr2018:
+	goto st683;
+tr2064:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48644,7 +50137,7 @@ tr2018:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48652,18 +50145,18 @@ tr2018:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st669;
-tr2019:
+	goto st683;
+tr2065:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48676,7 +50169,7 @@ tr2019:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48684,18 +50177,18 @@ tr2019:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st669;
-tr2022:
+	goto st683;
+tr2068:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48708,7 +50201,7 @@ tr2022:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48716,17 +50209,17 @@ tr2022:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st669;
-st669:
+	goto st683;
+st683:
 	if ( ++p == pe )
-		goto _test_eof669;
-case 669:
+		goto _test_eof683;
+case 683:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -48744,37 +50237,37 @@ case 669:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st669;
-		case 32: goto st669;
-		case 40: goto tr1983;
-		case 41: goto tr1984;
-		case 2058: goto tr1986;
-		case 2107: goto st675;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1988;
-		case 2619: goto tr1989;
+		case 9: goto st683;
+		case 32: goto st683;
+		case 40: goto tr2029;
+		case 41: goto tr2030;
+		case 2058: goto tr2032;
+		case 2107: goto st689;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2034;
+		case 2619: goto tr2035;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1985;
-	goto tr1840;
-tr1994:
+		goto tr2031;
+	goto tr1886;
+tr2040:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st670;
-tr1985:
+	goto st684;
+tr2031:
 	{
 		s->decimals = 2;
 	}
@@ -48785,24 +50278,24 @@ tr1985:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st670;
-st670:
+	goto st684;
+st684:
 	if ( ++p == pe )
-		goto _test_eof670;
-case 670:
+		goto _test_eof684;
+case 684:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -48820,46 +50313,46 @@ case 670:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1990;
-		case 32: goto tr1990;
-		case 40: goto tr1991;
-		case 41: goto tr1992;
-		case 46: goto st673;
-		case 109: goto tr1990;
-		case 2058: goto tr1995;
-		case 2107: goto tr1996;
-		case 2314: goto tr1997;
-		case 2363: goto tr1997;
-		case 2570: goto tr1998;
-		case 2619: goto tr1999;
+		case 9: goto tr2036;
+		case 32: goto tr2036;
+		case 40: goto tr2037;
+		case 41: goto tr2038;
+		case 46: goto st687;
+		case 109: goto tr2036;
+		case 2058: goto tr2041;
+		case 2107: goto tr2042;
+		case 2314: goto tr2043;
+		case 2363: goto tr2043;
+		case 2570: goto tr2044;
+		case 2619: goto tr2045;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1994;
-	goto tr1840;
-tr2001:
+		goto tr2040;
+	goto tr1886;
+tr2047:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st671;
-tr2002:
+	goto st685;
+tr2048:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st671;
-tr2003:
+	goto st685;
+tr2049:
 	{
 		s->line_counter++;
 	}
-	goto st671;
-tr1990:
+	goto st685;
+tr2036:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48869,7 +50362,7 @@ tr1990:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48877,11 +50370,11 @@ tr1990:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st671;
-tr1991:
+	goto st685;
+tr2037:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48891,7 +50384,7 @@ tr1991:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48899,18 +50392,18 @@ tr1991:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st671;
-tr1992:
+	goto st685;
+tr2038:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48920,7 +50413,7 @@ tr1992:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48928,18 +50421,18 @@ tr1992:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st671;
-tr1995:
+	goto st685;
+tr2041:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -48949,7 +50442,7 @@ tr1995:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48957,14 +50450,14 @@ tr1995:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st671;
-tr2007:
+	goto st685;
+tr2053:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -48977,7 +50470,7 @@ tr2007:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -48985,11 +50478,11 @@ tr2007:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st671;
-tr2008:
+	goto st685;
+tr2054:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49002,7 +50495,7 @@ tr2008:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49010,18 +50503,18 @@ tr2008:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st671;
-tr2009:
+	goto st685;
+tr2055:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49034,7 +50527,7 @@ tr2009:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49042,18 +50535,18 @@ tr2009:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st671;
-tr2011:
+	goto st685;
+tr2057:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49066,7 +50559,7 @@ tr2011:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49074,17 +50567,17 @@ tr2011:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st671;
-st671:
+	goto st685;
+st685:
 	if ( ++p == pe )
-		goto _test_eof671;
-case 671:
+		goto _test_eof685;
+case 685:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -49102,19 +50595,19 @@ case 671:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st671;
-		case 32: goto st671;
-		case 40: goto tr2001;
-		case 41: goto tr2002;
-		case 2058: goto tr2003;
-		case 2107: goto st672;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr2005;
-		case 2619: goto tr2006;
-	}
-	goto tr1840;
-tr1996:
+		case 9: goto st685;
+		case 32: goto st685;
+		case 40: goto tr2047;
+		case 41: goto tr2048;
+		case 2058: goto tr2049;
+		case 2107: goto st686;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2051;
+		case 2619: goto tr2052;
+	}
+	goto tr1886;
+tr2042:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49124,7 +50617,7 @@ tr1996:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49132,11 +50625,11 @@ tr1996:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st672;
-tr2012:
+	goto st686;
+tr2058:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49149,7 +50642,7 @@ tr2012:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49157,14 +50650,14 @@ tr2012:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st672;
-st672:
+	goto st686;
+st686:
 	if ( ++p == pe )
-		goto _test_eof672;
-case 672:
+		goto _test_eof686;
+case 686:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -49184,11 +50677,11 @@ case 672:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2003;
+		goto tr2049;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st672;
-	goto tr1840;
-tr1940:
+		goto st686;
+	goto tr1886;
+tr1986:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49198,7 +50691,7 @@ tr1940:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49208,7 +50701,7 @@ tr1940:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49240,8 +50733,8 @@ tr1940:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr1949:
+	goto st1121;
+tr1995:
 	{
 		// Write version.
 		*(rdata_tail) = 0;
@@ -49271,8 +50764,8 @@ tr1949:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr1960:
+	goto st1121;
+tr2006:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49282,7 +50775,7 @@ tr1960:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49290,7 +50783,7 @@ tr1960:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49322,8 +50815,8 @@ tr1960:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr1979:
+	goto st1121;
+tr2025:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49333,7 +50826,7 @@ tr1979:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49341,7 +50834,7 @@ tr1979:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49373,8 +50866,8 @@ tr1979:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr1997:
+	goto st1121;
+tr2043:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49384,7 +50877,7 @@ tr1997:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49392,7 +50885,7 @@ tr1997:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49424,8 +50917,8 @@ tr1997:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr2013:
+	goto st1121;
+tr2059:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49438,7 +50931,7 @@ tr2013:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49446,7 +50939,7 @@ tr2013:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49478,8 +50971,8 @@ tr2013:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr2024:
+	goto st1121;
+tr2070:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49492,7 +50985,7 @@ tr2024:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49500,7 +50993,7 @@ tr2024:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49532,8 +51025,8 @@ tr2024:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr2035:
+	goto st1121;
+tr2081:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49546,7 +51039,7 @@ tr2035:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49554,7 +51047,7 @@ tr2035:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49586,8 +51079,8 @@ tr2035:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-tr2046:
+	goto st1121;
+tr2092:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49600,7 +51093,7 @@ tr2046:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49610,7 +51103,7 @@ tr2046:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49642,13 +51135,13 @@ tr2046:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1100;
-st1100:
+	goto st1121;
+st1121:
 	if ( ++p == pe )
-		goto _test_eof1100;
-case 1100:
+		goto _test_eof1121;
+case 1121:
 	goto st0;
-tr2005:
+tr2051:
 	{
 		s->line_counter++;
 	}
@@ -49681,8 +51174,8 @@ tr2005:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1101;
-tr1998:
+	goto st1122;
+tr2044:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49692,7 +51185,7 @@ tr1998:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49700,7 +51193,7 @@ tr1998:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49735,8 +51228,8 @@ tr1998:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1101;
-tr2014:
+	goto st1122;
+tr2060:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49749,7 +51242,7 @@ tr2014:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49757,7 +51250,7 @@ tr2014:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49792,11 +51285,11 @@ tr2014:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1101;
-st1101:
+	goto st1122;
+st1122:
 	if ( ++p == pe )
-		goto _test_eof1101;
-case 1101:
+		goto _test_eof1122;
+case 1122:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -49814,19 +51307,19 @@ case 1101:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st671;
-		case 32: goto st671;
-		case 40: goto tr2001;
-		case 41: goto tr2002;
-		case 2058: goto tr2003;
-		case 2107: goto st672;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr2005;
-		case 2619: goto tr2006;
-	}
-	goto tr1840;
-tr2006:
+		case 9: goto st685;
+		case 32: goto st685;
+		case 40: goto tr2047;
+		case 41: goto tr2048;
+		case 2058: goto tr2049;
+		case 2107: goto st686;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2051;
+		case 2619: goto tr2052;
+	}
+	goto tr1886;
+tr2052:
 	{
 		// Write version.
 		*(rdata_tail) = 0;
@@ -49856,8 +51349,8 @@ tr2006:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1102;
-tr1999:
+	goto st1123;
+tr2045:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -49867,7 +51360,7 @@ tr1999:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49875,7 +51368,7 @@ tr1999:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49907,8 +51400,8 @@ tr1999:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1102;
-tr2015:
+	goto st1123;
+tr2061:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -49921,7 +51414,7 @@ tr2015:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49929,7 +51422,7 @@ tr2015:
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -49961,11 +51454,11 @@ tr2015:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1102;
-st1102:
+	goto st1123;
+st1123:
 	if ( ++p == pe )
-		goto _test_eof1102;
-case 1102:
+		goto _test_eof1123;
+case 1123:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -49985,14 +51478,14 @@ case 1102:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2003;
+		goto tr2049;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st672;
-	goto tr1840;
-st673:
+		goto st686;
+	goto tr1886;
+st687:
 	if ( ++p == pe )
-		goto _test_eof673;
-case 673:
+		goto _test_eof687;
+case 687:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50010,22 +51503,22 @@ case 673:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr2007;
-		case 32: goto tr2007;
-		case 40: goto tr2008;
-		case 41: goto tr2009;
-		case 109: goto tr2007;
-		case 2058: goto tr2011;
-		case 2107: goto tr2012;
-		case 2314: goto tr2013;
-		case 2363: goto tr2013;
-		case 2570: goto tr2014;
-		case 2619: goto tr2015;
+		case 9: goto tr2053;
+		case 32: goto tr2053;
+		case 40: goto tr2054;
+		case 41: goto tr2055;
+		case 109: goto tr2053;
+		case 2058: goto tr2057;
+		case 2107: goto tr2058;
+		case 2314: goto tr2059;
+		case 2363: goto tr2059;
+		case 2570: goto tr2060;
+		case 2619: goto tr2061;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2010;
-	goto tr1840;
-tr2010:
+		goto tr2056;
+	goto tr1886;
+tr2056:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50033,46 +51526,46 @@ tr2010:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st674;
-tr2016:
+	goto st688;
+tr2062:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st674;
-st674:
+	goto st688;
+st688:
 	if ( ++p == pe )
-		goto _test_eof674;
-case 674:
+		goto _test_eof688;
+case 688:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50090,22 +51583,22 @@ case 674:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1990;
-		case 32: goto tr1990;
-		case 40: goto tr1991;
-		case 41: goto tr1992;
-		case 109: goto tr1990;
-		case 2058: goto tr1995;
-		case 2107: goto tr1996;
-		case 2314: goto tr1997;
-		case 2363: goto tr1997;
-		case 2570: goto tr1998;
-		case 2619: goto tr1999;
+		case 9: goto tr2036;
+		case 32: goto tr2036;
+		case 40: goto tr2037;
+		case 41: goto tr2038;
+		case 109: goto tr2036;
+		case 2058: goto tr2041;
+		case 2107: goto tr2042;
+		case 2314: goto tr2043;
+		case 2363: goto tr2043;
+		case 2570: goto tr2044;
+		case 2619: goto tr2045;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2016;
-	goto tr1840;
-tr1978:
+		goto tr2062;
+	goto tr1886;
+tr2024:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -50115,7 +51608,7 @@ tr1978:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50123,11 +51616,11 @@ tr1978:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st675;
-tr2023:
+	goto st689;
+tr2069:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50140,7 +51633,7 @@ tr2023:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50148,14 +51641,14 @@ tr2023:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st675;
-st675:
+	goto st689;
+st689:
 	if ( ++p == pe )
-		goto _test_eof675;
-case 675:
+		goto _test_eof689;
+case 689:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -50175,11 +51668,11 @@ case 675:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1986;
+		goto tr2032;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st675;
-	goto tr1840;
-tr1988:
+		goto st689;
+	goto tr1886;
+tr2034:
 	{
 		s->line_counter++;
 	}
@@ -50212,8 +51705,8 @@ tr1988:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1103;
-tr1980:
+	goto st1124;
+tr2026:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -50223,7 +51716,7 @@ tr1980:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50231,7 +51724,7 @@ tr1980:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50266,8 +51759,8 @@ tr1980:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1103;
-tr2025:
+	goto st1124;
+tr2071:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50280,7 +51773,7 @@ tr2025:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50288,7 +51781,7 @@ tr2025:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50323,11 +51816,11 @@ tr2025:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1103;
-st1103:
+	goto st1124;
+st1124:
 	if ( ++p == pe )
-		goto _test_eof1103;
-case 1103:
+		goto _test_eof1124;
+case 1124:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50345,21 +51838,21 @@ case 1103:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st669;
-		case 32: goto st669;
-		case 40: goto tr1983;
-		case 41: goto tr1984;
-		case 2058: goto tr1986;
-		case 2107: goto st675;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1988;
-		case 2619: goto tr1989;
+		case 9: goto st683;
+		case 32: goto st683;
+		case 40: goto tr2029;
+		case 41: goto tr2030;
+		case 2058: goto tr2032;
+		case 2107: goto st689;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2034;
+		case 2619: goto tr2035;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1985;
-	goto tr1840;
-tr1989:
+		goto tr2031;
+	goto tr1886;
+tr2035:
 	{
 		// Write version.
 		*(rdata_tail) = 0;
@@ -50389,8 +51882,8 @@ tr1989:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1104;
-tr1981:
+	goto st1125;
+tr2027:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -50400,7 +51893,7 @@ tr1981:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50408,7 +51901,7 @@ tr1981:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50440,8 +51933,8 @@ tr1981:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1104;
-tr2026:
+	goto st1125;
+tr2072:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50454,7 +51947,7 @@ tr2026:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50462,7 +51955,7 @@ tr2026:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50494,11 +51987,11 @@ tr2026:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1104;
-st1104:
+	goto st1125;
+st1125:
 	if ( ++p == pe )
-		goto _test_eof1104;
-case 1104:
+		goto _test_eof1125;
+case 1125:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -50518,14 +52011,14 @@ case 1104:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1986;
+		goto tr2032;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st675;
-	goto tr1840;
-st676:
+		goto st689;
+	goto tr1886;
+st690:
 	if ( ++p == pe )
-		goto _test_eof676;
-case 676:
+		goto _test_eof690;
+case 690:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50543,22 +52036,22 @@ case 676:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr2017;
-		case 32: goto tr2017;
-		case 40: goto tr2018;
-		case 41: goto tr2019;
-		case 109: goto tr2021;
-		case 2058: goto tr2022;
-		case 2107: goto tr2023;
-		case 2314: goto tr2024;
-		case 2363: goto tr2024;
-		case 2570: goto tr2025;
-		case 2619: goto tr2026;
+		case 9: goto tr2063;
+		case 32: goto tr2063;
+		case 40: goto tr2064;
+		case 41: goto tr2065;
+		case 109: goto tr2067;
+		case 2058: goto tr2068;
+		case 2107: goto tr2069;
+		case 2314: goto tr2070;
+		case 2363: goto tr2070;
+		case 2570: goto tr2071;
+		case 2619: goto tr2072;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2020;
-	goto tr1840;
-tr2020:
+		goto tr2066;
+	goto tr1886;
+tr2066:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50566,46 +52059,46 @@ tr2020:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st677;
-tr2027:
+	goto st691;
+tr2073:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st677;
-st677:
+	goto st691;
+st691:
 	if ( ++p == pe )
-		goto _test_eof677;
-case 677:
+		goto _test_eof691;
+case 691:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50623,22 +52116,22 @@ case 677:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1971;
-		case 32: goto tr1971;
-		case 40: goto tr1972;
-		case 41: goto tr1973;
-		case 109: goto tr1976;
-		case 2058: goto tr1977;
-		case 2107: goto tr1978;
-		case 2314: goto tr1979;
-		case 2363: goto tr1979;
-		case 2570: goto tr1980;
-		case 2619: goto tr1981;
+		case 9: goto tr2017;
+		case 32: goto tr2017;
+		case 40: goto tr2018;
+		case 41: goto tr2019;
+		case 109: goto tr2022;
+		case 2058: goto tr2023;
+		case 2107: goto tr2024;
+		case 2314: goto tr2025;
+		case 2363: goto tr2025;
+		case 2570: goto tr2026;
+		case 2619: goto tr2027;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2027;
-	goto tr1840;
-tr1976:
+		goto tr2073;
+	goto tr1886;
+tr2022:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -50648,7 +52141,7 @@ tr1976:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50656,11 +52149,11 @@ tr1976:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st678;
-tr2021:
+	goto st692;
+tr2067:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50673,7 +52166,7 @@ tr2021:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50681,14 +52174,14 @@ tr2021:
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st678;
-st678:
+	goto st692;
+st692:
 	if ( ++p == pe )
-		goto _test_eof678;
-case 678:
+		goto _test_eof692;
+case 692:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50706,19 +52199,19 @@ case 678:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st669;
-		case 32: goto st669;
-		case 40: goto tr1983;
-		case 41: goto tr1984;
-		case 2058: goto tr1986;
-		case 2107: goto st675;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1988;
-		case 2619: goto tr1989;
-	}
-	goto tr1840;
-tr1959:
+		case 9: goto st683;
+		case 32: goto st683;
+		case 40: goto tr2029;
+		case 41: goto tr2030;
+		case 2058: goto tr2032;
+		case 2107: goto st689;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2034;
+		case 2619: goto tr2035;
+	}
+	goto tr1886;
+tr2005:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -50728,7 +52221,7 @@ tr1959:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50736,11 +52229,11 @@ tr1959:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st679;
-tr2034:
+	goto st693;
+tr2080:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50753,7 +52246,7 @@ tr2034:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50761,14 +52254,14 @@ tr2034:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st679;
-st679:
+	goto st693;
+st693:
 	if ( ++p == pe )
-		goto _test_eof679;
-case 679:
+		goto _test_eof693;
+case 693:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -50788,11 +52281,11 @@ case 679:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1967;
+		goto tr2013;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st679;
-	goto tr1840;
-tr1969:
+		goto st693;
+	goto tr1886;
+tr2015:
 	{
 		s->line_counter++;
 	}
@@ -50825,8 +52318,8 @@ tr1969:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1105;
-tr1961:
+	goto st1126;
+tr2007:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -50836,7 +52329,7 @@ tr1961:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50844,7 +52337,7 @@ tr1961:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50879,8 +52372,8 @@ tr1961:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1105;
-tr2036:
+	goto st1126;
+tr2082:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -50893,7 +52386,7 @@ tr2036:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50901,7 +52394,7 @@ tr2036:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -50936,11 +52429,11 @@ tr2036:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1105;
-st1105:
+	goto st1126;
+st1126:
 	if ( ++p == pe )
-		goto _test_eof1105;
-case 1105:
+		goto _test_eof1126;
+case 1126:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50958,21 +52451,21 @@ case 1105:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st667;
-		case 32: goto st667;
-		case 40: goto tr1964;
-		case 41: goto tr1965;
-		case 2058: goto tr1967;
-		case 2107: goto st679;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1969;
-		case 2619: goto tr1970;
+		case 9: goto st681;
+		case 32: goto st681;
+		case 40: goto tr2010;
+		case 41: goto tr2011;
+		case 2058: goto tr2013;
+		case 2107: goto st693;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2015;
+		case 2619: goto tr2016;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1966;
-	goto tr1840;
-tr1970:
+		goto tr2012;
+	goto tr1886;
+tr2016:
 	{
 		// Write version.
 		*(rdata_tail) = 0;
@@ -51002,8 +52495,8 @@ tr1970:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1106;
-tr1962:
+	goto st1127;
+tr2008:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -51013,7 +52506,7 @@ tr1962:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51021,7 +52514,7 @@ tr1962:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51053,8 +52546,8 @@ tr1962:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1106;
-tr2037:
+	goto st1127;
+tr2083:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51067,7 +52560,7 @@ tr2037:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51075,7 +52568,7 @@ tr2037:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51107,11 +52600,11 @@ tr2037:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1106;
-st1106:
+	goto st1127;
+st1127:
 	if ( ++p == pe )
-		goto _test_eof1106;
-case 1106:
+		goto _test_eof1127;
+case 1127:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -51131,14 +52624,14 @@ case 1106:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1967;
+		goto tr2013;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st679;
-	goto tr1840;
-st680:
+		goto st693;
+	goto tr1886;
+st694:
 	if ( ++p == pe )
-		goto _test_eof680;
-case 680:
+		goto _test_eof694;
+case 694:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51156,22 +52649,22 @@ case 680:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr2028;
-		case 32: goto tr2028;
-		case 40: goto tr2029;
-		case 41: goto tr2030;
-		case 109: goto tr2032;
-		case 2058: goto tr2033;
-		case 2107: goto tr2034;
-		case 2314: goto tr2035;
-		case 2363: goto tr2035;
-		case 2570: goto tr2036;
-		case 2619: goto tr2037;
+		case 9: goto tr2074;
+		case 32: goto tr2074;
+		case 40: goto tr2075;
+		case 41: goto tr2076;
+		case 109: goto tr2078;
+		case 2058: goto tr2079;
+		case 2107: goto tr2080;
+		case 2314: goto tr2081;
+		case 2363: goto tr2081;
+		case 2570: goto tr2082;
+		case 2619: goto tr2083;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2031;
-	goto tr1840;
-tr2031:
+		goto tr2077;
+	goto tr1886;
+tr2077:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51179,46 +52672,46 @@ tr2031:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st681;
-tr2038:
+	goto st695;
+tr2084:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st681;
-st681:
+	goto st695;
+st695:
 	if ( ++p == pe )
-		goto _test_eof681;
-case 681:
+		goto _test_eof695;
+case 695:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51236,22 +52729,22 @@ case 681:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1952;
-		case 32: goto tr1952;
-		case 40: goto tr1953;
-		case 41: goto tr1954;
-		case 109: goto tr1957;
-		case 2058: goto tr1958;
-		case 2107: goto tr1959;
-		case 2314: goto tr1960;
-		case 2363: goto tr1960;
-		case 2570: goto tr1961;
-		case 2619: goto tr1962;
+		case 9: goto tr1998;
+		case 32: goto tr1998;
+		case 40: goto tr1999;
+		case 41: goto tr2000;
+		case 109: goto tr2003;
+		case 2058: goto tr2004;
+		case 2107: goto tr2005;
+		case 2314: goto tr2006;
+		case 2363: goto tr2006;
+		case 2570: goto tr2007;
+		case 2619: goto tr2008;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2038;
-	goto tr1840;
-tr1957:
+		goto tr2084;
+	goto tr1886;
+tr2003:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -51261,7 +52754,7 @@ tr1957:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51269,11 +52762,11 @@ tr1957:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st682;
-tr2032:
+	goto st696;
+tr2078:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51286,7 +52779,7 @@ tr2032:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51294,14 +52787,14 @@ tr2032:
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st682;
-st682:
+	goto st696;
+st696:
 	if ( ++p == pe )
-		goto _test_eof682;
-case 682:
+		goto _test_eof696;
+case 696:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51319,19 +52812,19 @@ case 682:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st667;
-		case 32: goto st667;
-		case 40: goto tr1964;
-		case 41: goto tr1965;
-		case 2058: goto tr1967;
-		case 2107: goto st679;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1969;
-		case 2619: goto tr1970;
-	}
-	goto tr1840;
-tr1939:
+		case 9: goto st681;
+		case 32: goto st681;
+		case 40: goto tr2010;
+		case 41: goto tr2011;
+		case 2058: goto tr2013;
+		case 2107: goto st693;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr2015;
+		case 2619: goto tr2016;
+	}
+	goto tr1886;
+tr1985:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -51341,7 +52834,7 @@ tr1939:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51351,11 +52844,11 @@ tr1939:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st683;
-tr2045:
+	goto st697;
+tr2091:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51368,7 +52861,7 @@ tr2045:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51378,14 +52871,14 @@ tr2045:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st683;
-st683:
+	goto st697;
+st697:
 	if ( ++p == pe )
-		goto _test_eof683;
-case 683:
+		goto _test_eof697;
+case 697:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -51405,11 +52898,11 @@ case 683:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1947;
+		goto tr1993;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st683;
-	goto tr1840;
-tr1941:
+		goto st697;
+	goto tr1886;
+tr1987:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -51419,7 +52912,7 @@ tr1941:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51429,7 +52922,7 @@ tr1941:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51464,8 +52957,8 @@ tr1941:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1107;
-tr1950:
+	goto st1128;
+tr1996:
 	{
 		s->line_counter++;
 	}
@@ -51498,8 +52991,8 @@ tr1950:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1107;
-tr2047:
+	goto st1128;
+tr2093:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51512,7 +53005,7 @@ tr2047:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51522,7 +53015,7 @@ tr2047:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51557,11 +53050,11 @@ tr2047:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1107;
-st1107:
+	goto st1128;
+st1128:
 	if ( ++p == pe )
-		goto _test_eof1107;
-case 1107:
+		goto _test_eof1128;
+case 1128:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51579,21 +53072,21 @@ case 1107:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st665;
-		case 32: goto st665;
-		case 40: goto tr1944;
-		case 41: goto tr1945;
-		case 2058: goto tr1947;
-		case 2107: goto st683;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1950;
-		case 2619: goto tr1951;
+		case 9: goto st679;
+		case 32: goto st679;
+		case 40: goto tr1990;
+		case 41: goto tr1991;
+		case 2058: goto tr1993;
+		case 2107: goto st697;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr1996;
+		case 2619: goto tr1997;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr1946;
-	goto tr1840;
-tr1942:
+		goto tr1992;
+	goto tr1886;
+tr1988:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -51603,7 +53096,7 @@ tr1942:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51613,7 +53106,7 @@ tr1942:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51645,8 +53138,8 @@ tr1942:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1108;
-tr1951:
+	goto st1129;
+tr1997:
 	{
 		// Write version.
 		*(rdata_tail) = 0;
@@ -51676,8 +53169,8 @@ tr1951:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1108;
-tr2048:
+	goto st1129;
+tr2094:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51690,7 +53183,7 @@ tr2048:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51700,7 +53193,7 @@ tr2048:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51732,11 +53225,11 @@ tr2048:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1108;
-st1108:
+	goto st1129;
+st1129:
 	if ( ++p == pe )
-		goto _test_eof1108;
-case 1108:
+		goto _test_eof1129;
+case 1129:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -51756,14 +53249,14 @@ case 1108:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1947;
+		goto tr1993;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st683;
-	goto tr1840;
-st684:
+		goto st697;
+	goto tr1886;
+st698:
 	if ( ++p == pe )
-		goto _test_eof684;
-case 684:
+		goto _test_eof698;
+case 698:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51781,22 +53274,22 @@ case 684:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr2039;
-		case 32: goto tr2039;
-		case 40: goto tr2040;
-		case 41: goto tr2041;
-		case 109: goto tr2043;
-		case 2058: goto tr2044;
-		case 2107: goto tr2045;
-		case 2314: goto tr2046;
-		case 2363: goto tr2046;
-		case 2570: goto tr2047;
-		case 2619: goto tr2048;
+		case 9: goto tr2085;
+		case 32: goto tr2085;
+		case 40: goto tr2086;
+		case 41: goto tr2087;
+		case 109: goto tr2089;
+		case 2058: goto tr2090;
+		case 2107: goto tr2091;
+		case 2314: goto tr2092;
+		case 2363: goto tr2092;
+		case 2570: goto tr2093;
+		case 2619: goto tr2094;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2042;
-	goto tr1840;
-tr2042:
+		goto tr2088;
+	goto tr1886;
+tr2088:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51804,46 +53297,46 @@ tr2042:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st685;
-tr2049:
+	goto st699;
+tr2095:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st685;
-st685:
+	goto st699;
+st699:
 	if ( ++p == pe )
-		goto _test_eof685;
-case 685:
+		goto _test_eof699;
+case 699:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51861,22 +53354,22 @@ case 685:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr1932;
-		case 32: goto tr1932;
-		case 40: goto tr1933;
-		case 41: goto tr1934;
-		case 109: goto tr1937;
-		case 2058: goto tr1938;
-		case 2107: goto tr1939;
-		case 2314: goto tr1940;
-		case 2363: goto tr1940;
-		case 2570: goto tr1941;
-		case 2619: goto tr1942;
+		case 9: goto tr1978;
+		case 32: goto tr1978;
+		case 40: goto tr1979;
+		case 41: goto tr1980;
+		case 109: goto tr1983;
+		case 2058: goto tr1984;
+		case 2107: goto tr1985;
+		case 2314: goto tr1986;
+		case 2363: goto tr1986;
+		case 2570: goto tr1987;
+		case 2619: goto tr1988;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2049;
-	goto tr1840;
-tr1937:
+		goto tr2095;
+	goto tr1886;
+tr1983:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -51886,7 +53379,7 @@ tr1937:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51896,11 +53389,11 @@ tr1937:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st686;
-tr2043:
+	goto st700;
+tr2089:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -51913,7 +53406,7 @@ tr2043:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -51923,14 +53416,14 @@ tr2043:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st686;
-st686:
+	goto st700;
+st700:
 	if ( ++p == pe )
-		goto _test_eof686;
-case 686:
+		goto _test_eof700;
+case 700:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -51948,27 +53441,27 @@ case 686:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st665;
-		case 32: goto st665;
-		case 40: goto tr1944;
-		case 41: goto tr1945;
-		case 2058: goto tr1947;
-		case 2107: goto st683;
-		case 2314: goto tr1949;
-		case 2363: goto tr1949;
-		case 2570: goto tr1950;
-		case 2619: goto tr1951;
-	}
-	goto tr1840;
-tr2054:
+		case 9: goto st679;
+		case 32: goto st679;
+		case 40: goto tr1990;
+		case 41: goto tr1991;
+		case 2058: goto tr1993;
+		case 2107: goto st697;
+		case 2314: goto tr1995;
+		case 2363: goto tr1995;
+		case 2570: goto tr1996;
+		case 2619: goto tr1997;
+	}
+	goto tr1886;
+tr2100:
 	{
 		s->loc.long_sign = -1;
 	}
-	goto st687;
-st687:
+	goto st701;
+st701:
 	if ( ++p == pe )
-		goto _test_eof687;
-case 687:
+		goto _test_eof701;
+case 701:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -51988,14 +53481,14 @@ case 687:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1927;
+		goto tr1973;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st687;
-	goto tr1840;
-st688:
+		goto st701;
+	goto tr1886;
+st702:
 	if ( ++p == pe )
-		goto _test_eof688;
-case 688:
+		goto _test_eof702;
+case 702:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52009,15 +53502,15 @@ case 688:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2050;
-		case 32: goto tr2050;
-		case 40: goto tr2051;
-		case 41: goto tr2052;
-		case 1034: goto tr2053;
-		case 1083: goto tr2054;
-	}
-	goto tr1840;
-tr1918:
+		case 9: goto tr2096;
+		case 32: goto tr2096;
+		case 40: goto tr2097;
+		case 41: goto tr2098;
+		case 1034: goto tr2099;
+		case 1083: goto tr2100;
+	}
+	goto tr1886;
+tr1964:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -52027,7 +53520,7 @@ tr1918:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -52035,11 +53528,11 @@ tr1918:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st689;
-tr2060:
+	goto st703;
+tr2106:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -52052,7 +53545,7 @@ tr2060:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -52060,14 +53553,14 @@ tr2060:
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st689;
-st689:
+	goto st703;
+st703:
 	if ( ++p == pe )
-		goto _test_eof689;
-case 689:
+		goto _test_eof703;
+case 703:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52087,14 +53580,14 @@ case 689:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1922;
+		goto tr1968;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st689;
-	goto tr1840;
-st690:
+		goto st703;
+	goto tr1886;
+st704:
 	if ( ++p == pe )
-		goto _test_eof690;
-case 690:
+		goto _test_eof704;
+case 704:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52108,17 +53601,17 @@ case 690:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2055;
-		case 32: goto tr2055;
-		case 40: goto tr2056;
-		case 41: goto tr2057;
-		case 1034: goto tr2059;
-		case 1083: goto tr2060;
+		case 9: goto tr2101;
+		case 32: goto tr2101;
+		case 40: goto tr2102;
+		case 41: goto tr2103;
+		case 1034: goto tr2105;
+		case 1083: goto tr2106;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2058;
-	goto tr1840;
-tr2058:
+		goto tr2104;
+	goto tr1886;
+tr2104:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -52126,46 +53619,46 @@ tr2058:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st691;
-tr2061:
+	goto st705;
+tr2107:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st691;
-st691:
+	goto st705;
+st705:
 	if ( ++p == pe )
-		goto _test_eof691;
-case 691:
+		goto _test_eof705;
+case 705:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52179,30 +53672,30 @@ case 691:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1912;
-		case 32: goto tr1912;
-		case 40: goto tr1913;
-		case 41: goto tr1914;
-		case 1034: goto tr1917;
-		case 1083: goto tr1918;
+		case 9: goto tr1958;
+		case 32: goto tr1958;
+		case 40: goto tr1959;
+		case 41: goto tr1960;
+		case 1034: goto tr1963;
+		case 1083: goto tr1964;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2061;
-	goto tr1840;
-tr1905:
+		goto tr2107;
+	goto tr1886;
+tr1951:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st692;
-st692:
+	goto st706;
+st706:
 	if ( ++p == pe )
-		goto _test_eof692;
-case 692:
+		goto _test_eof706;
+case 706:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52222,24 +53715,24 @@ case 692:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1910;
+		goto tr1956;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st692;
-	goto tr1840;
-tr1891:
+		goto st706;
+	goto tr1886;
+tr1937:
 	{
 		if (s->number64 <= 180) {
 			s->loc.d2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st693;
-st693:
+	goto st707;
+st707:
 	if ( ++p == pe )
-		goto _test_eof693;
-case 693:
+		goto _test_eof707;
+case 707:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52259,19 +53752,19 @@ case 693:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1898;
+		goto tr1944;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st693;
-	goto tr1840;
-tr2066:
+		goto st707;
+	goto tr1886;
+tr2112:
 	{
 		s->loc.lat_sign = -1;
 	}
-	goto st694;
-st694:
+	goto st708;
+st708:
 	if ( ++p == pe )
-		goto _test_eof694;
-case 694:
+		goto _test_eof708;
+case 708:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52291,14 +53784,14 @@ case 694:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1883;
+		goto tr1929;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st694;
-	goto tr1840;
-st695:
+		goto st708;
+	goto tr1886;
+st709:
 	if ( ++p == pe )
-		goto _test_eof695;
-case 695:
+		goto _test_eof709;
+case 709:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52312,15 +53805,15 @@ case 695:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2062;
-		case 32: goto tr2062;
-		case 40: goto tr2063;
-		case 41: goto tr2064;
-		case 1034: goto tr2065;
-		case 1083: goto tr2066;
-	}
-	goto tr1840;
-tr1874:
+		case 9: goto tr2108;
+		case 32: goto tr2108;
+		case 40: goto tr2109;
+		case 41: goto tr2110;
+		case 1034: goto tr2111;
+		case 1083: goto tr2112;
+	}
+	goto tr1886;
+tr1920:
 	{
 		if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
 			s->number64 *= pow(10, s->decimals);
@@ -52330,7 +53823,7 @@ tr1874:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -52338,11 +53831,11 @@ tr1874:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st696;
-tr2072:
+	goto st710;
+tr2118:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -52355,7 +53848,7 @@ tr2072:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -52363,14 +53856,14 @@ tr2072:
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st696;
-st696:
+	goto st710;
+st710:
 	if ( ++p == pe )
-		goto _test_eof696;
-case 696:
+		goto _test_eof710;
+case 710:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52390,14 +53883,14 @@ case 696:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1878;
+		goto tr1924;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st696;
-	goto tr1840;
-st697:
+		goto st710;
+	goto tr1886;
+st711:
 	if ( ++p == pe )
-		goto _test_eof697;
-case 697:
+		goto _test_eof711;
+case 711:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52411,17 +53904,17 @@ case 697:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2067;
-		case 32: goto tr2067;
-		case 40: goto tr2068;
-		case 41: goto tr2069;
-		case 1034: goto tr2071;
-		case 1083: goto tr2072;
+		case 9: goto tr2113;
+		case 32: goto tr2113;
+		case 40: goto tr2114;
+		case 41: goto tr2115;
+		case 1034: goto tr2117;
+		case 1083: goto tr2118;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2070;
-	goto tr1840;
-tr2070:
+		goto tr2116;
+	goto tr1886;
+tr2116:
 	{
 		s->number64_tmp = s->number64;
 	}
@@ -52429,46 +53922,46 @@ tr2070:
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st698;
-tr2073:
+	goto st712;
+tr2119:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->decimal_counter++;
 	}
-	goto st698;
-st698:
+	goto st712;
+st712:
 	if ( ++p == pe )
-		goto _test_eof698;
-case 698:
+		goto _test_eof712;
+case 712:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52482,30 +53975,30 @@ case 698:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr1868;
-		case 32: goto tr1868;
-		case 40: goto tr1869;
-		case 41: goto tr1870;
-		case 1034: goto tr1873;
-		case 1083: goto tr1874;
+		case 9: goto tr1914;
+		case 32: goto tr1914;
+		case 40: goto tr1915;
+		case 41: goto tr1916;
+		case 1034: goto tr1919;
+		case 1083: goto tr1920;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2073;
-	goto tr1840;
-tr1861:
+		goto tr2119;
+	goto tr1886;
+tr1907:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st699;
-st699:
+	goto st713;
+st713:
 	if ( ++p == pe )
-		goto _test_eof699;
-case 699:
+		goto _test_eof713;
+case 713:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52525,24 +54018,24 @@ case 699:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1866;
+		goto tr1912;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st699;
-	goto tr1840;
-tr1847:
+		goto st713;
+	goto tr1886;
+tr1893:
 	{
 		if (s->number64 <= 90) {
 			s->loc.d1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st700;
-st700:
+	goto st714;
+st714:
 	if ( ++p == pe )
-		goto _test_eof700;
-case 700:
+		goto _test_eof714;
+case 714:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -52562,56 +54055,56 @@ case 700:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr1854;
+		goto tr1900;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st700;
-	goto tr1840;
-st701:
+		goto st714;
+	goto tr1886;
+st715:
 	if ( ++p == pe )
-		goto _test_eof701;
-case 701:
+		goto _test_eof715;
+case 715:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2074;
-	goto tr1654;
-tr2074:
+		goto tr2120;
+	goto tr1700;
+tr2120:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st702;
-tr2078:
+	goto st716;
+tr2124:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st702;
-st702:
+	goto st716;
+st716:
 	if ( ++p == pe )
-		goto _test_eof702;
-case 702:
+		goto _test_eof716;
+case 716:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52625,104 +54118,104 @@ case 702:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2075;
-		case 32: goto tr2075;
-		case 40: goto tr2076;
-		case 41: goto tr2077;
-		case 1034: goto tr2079;
-		case 1083: goto tr2080;
+		case 9: goto tr2121;
+		case 32: goto tr2121;
+		case 40: goto tr2122;
+		case 41: goto tr2123;
+		case 1034: goto tr2125;
+		case 1083: goto tr2126;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2078;
-	goto tr1654;
-tr2082:
+		goto tr2124;
+	goto tr1700;
+tr2128:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st703;
-tr2083:
+	goto st717;
+tr2129:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st703;
-tr2085:
+	goto st717;
+tr2131:
 	{
 		s->line_counter++;
 	}
-	goto st703;
-tr2075:
+	goto st717;
+tr2121:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st703;
-tr2076:
+	goto st717;
+tr2122:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st703;
-tr2077:
+	goto st717;
+tr2123:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st703;
-tr2079:
+	goto st717;
+tr2125:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st703;
-st703:
+	goto st717;
+st717:
 	if ( ++p == pe )
-		goto _test_eof703;
-case 703:
+		goto _test_eof717;
+case 717:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52736,55 +54229,55 @@ case 703:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st703;
-		case 32: goto st703;
-		case 40: goto tr2082;
-		case 41: goto tr2083;
-		case 1034: goto tr2085;
-		case 1083: goto st711;
+		case 9: goto st717;
+		case 32: goto st717;
+		case 40: goto tr2128;
+		case 41: goto tr2129;
+		case 1034: goto tr2131;
+		case 1083: goto st725;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2084;
-	goto tr1654;
-tr2084:
+		goto tr2130;
+	goto tr1700;
+tr2130:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st704;
-tr2090:
+	goto st718;
+tr2136:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st704;
-st704:
+	goto st718;
+st718:
 	if ( ++p == pe )
-		goto _test_eof704;
-case 704:
+		goto _test_eof718;
+case 718:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52798,104 +54291,104 @@ case 704:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2087;
-		case 32: goto tr2087;
-		case 40: goto tr2088;
-		case 41: goto tr2089;
-		case 1034: goto tr2091;
-		case 1083: goto tr2092;
+		case 9: goto tr2133;
+		case 32: goto tr2133;
+		case 40: goto tr2134;
+		case 41: goto tr2135;
+		case 1034: goto tr2137;
+		case 1083: goto tr2138;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2090;
-	goto tr1654;
-tr2094:
+		goto tr2136;
+	goto tr1700;
+tr2140:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st705;
-tr2095:
+	goto st719;
+tr2141:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st705;
-tr2097:
+	goto st719;
+tr2143:
 	{
 		s->line_counter++;
 	}
-	goto st705;
-tr2087:
+	goto st719;
+tr2133:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st705;
-tr2088:
+	goto st719;
+tr2134:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st705;
-tr2089:
+	goto st719;
+tr2135:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st705;
-tr2091:
+	goto st719;
+tr2137:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st705;
-st705:
+	goto st719;
+st719:
 	if ( ++p == pe )
-		goto _test_eof705;
-case 705:
+		goto _test_eof719;
+case 719:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52909,55 +54402,55 @@ case 705:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st705;
-		case 32: goto st705;
-		case 40: goto tr2094;
-		case 41: goto tr2095;
-		case 1034: goto tr2097;
-		case 1083: goto st710;
+		case 9: goto st719;
+		case 32: goto st719;
+		case 40: goto tr2140;
+		case 41: goto tr2141;
+		case 1034: goto tr2143;
+		case 1083: goto st724;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2096;
-	goto tr1654;
-tr2096:
+		goto tr2142;
+	goto tr1700;
+tr2142:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st706;
-tr2102:
+	goto st720;
+tr2148:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st706;
-st706:
+	goto st720;
+st720:
 	if ( ++p == pe )
-		goto _test_eof706;
-case 706:
+		goto _test_eof720;
+case 720:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52971,104 +54464,104 @@ case 706:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2099;
-		case 32: goto tr2099;
-		case 40: goto tr2100;
-		case 41: goto tr2101;
-		case 1034: goto tr2103;
-		case 1083: goto tr2104;
+		case 9: goto tr2145;
+		case 32: goto tr2145;
+		case 40: goto tr2146;
+		case 41: goto tr2147;
+		case 1034: goto tr2149;
+		case 1083: goto tr2150;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2102;
-	goto tr1654;
-tr2106:
+		goto tr2148;
+	goto tr1700;
+tr2152:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st707;
-tr2107:
+	goto st721;
+tr2153:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st707;
-tr2109:
+	goto st721;
+tr2155:
 	{
 		s->line_counter++;
 	}
-	goto st707;
-tr2099:
+	goto st721;
+tr2145:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st707;
-tr2100:
+	goto st721;
+tr2146:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st707;
-tr2101:
+	goto st721;
+tr2147:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st707;
-tr2103:
+	goto st721;
+tr2149:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st707;
-st707:
+	goto st721;
+st721:
 	if ( ++p == pe )
-		goto _test_eof707;
-case 707:
+		goto _test_eof721;
+case 721:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53082,73 +54575,73 @@ case 707:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st707;
-		case 32: goto st707;
-		case 40: goto tr2106;
-		case 41: goto tr2107;
-		case 42: goto tr2108;
-		case 92: goto tr2108;
-		case 95: goto tr2108;
-		case 1034: goto tr2109;
-		case 1083: goto st709;
+		case 9: goto st721;
+		case 32: goto st721;
+		case 40: goto tr2152;
+		case 41: goto tr2153;
+		case 42: goto tr2154;
+		case 92: goto tr2154;
+		case 95: goto tr2154;
+		case 1034: goto tr2155;
+		case 1083: goto st723;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr2108;
+			goto tr2154;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2108;
+			goto tr2154;
 	} else
-		goto tr2108;
+		goto tr2154;
 	goto tr69;
-tr2108:
+tr2154:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 708; goto st248;} }
-	goto st708;
-st708:
+	{ p--; {stack[top++] = 722; goto st255;} }
+	goto st722;
+st722:
 	if ( ++p == pe )
-		goto _test_eof708;
-case 708:
+		goto _test_eof722;
+case 722:
 	switch( (*p) ) {
-		case 32: goto tr2111;
-		case 59: goto tr2111;
+		case 32: goto tr2157;
+		case 59: goto tr2157;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr2111;
+			goto tr2157;
 	} else if ( (*p) >= 9 )
-		goto tr2111;
+		goto tr2157;
 	goto tr69;
-tr2111:
+tr2157:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1109;
-st1109:
+	goto st1130;
+st1130:
 	if ( ++p == pe )
-		goto _test_eof1109;
-case 1109:
+		goto _test_eof1130;
+case 1130:
 	goto st0;
-tr2104:
+tr2150:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st709;
-st709:
+	goto st723;
+st723:
 	if ( ++p == pe )
-		goto _test_eof709;
-case 709:
+		goto _test_eof723;
+case 723:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -53168,25 +54661,25 @@ case 709:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2109;
+		goto tr2155;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st709;
+		goto st723;
 	goto tr69;
-tr2092:
+tr2138:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st710;
-st710:
+	goto st724;
+st724:
 	if ( ++p == pe )
-		goto _test_eof710;
-case 710:
+		goto _test_eof724;
+case 724:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -53206,25 +54699,25 @@ case 710:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2097;
+		goto tr2143;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st710;
+		goto st724;
 	goto tr69;
-tr2080:
+tr2126:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st711;
-st711:
+	goto st725;
+st725:
 	if ( ++p == pe )
-		goto _test_eof711;
-case 711:
+		goto _test_eof725;
+case 725:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -53244,56 +54737,56 @@ case 711:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2085;
+		goto tr2131;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st711;
+		goto st725;
 	goto tr69;
-st712:
+st726:
 	if ( ++p == pe )
-		goto _test_eof712;
-case 712:
+		goto _test_eof726;
+case 726:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2112;
-	goto tr1654;
-tr2112:
+		goto tr2158;
+	goto tr1700;
+tr2158:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st713;
-tr2116:
+	goto st727;
+tr2162:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st713;
-st713:
+	goto st727;
+st727:
 	if ( ++p == pe )
-		goto _test_eof713;
-case 713:
+		goto _test_eof727;
+case 727:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53307,104 +54800,104 @@ case 713:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2113;
-		case 32: goto tr2113;
-		case 40: goto tr2114;
-		case 41: goto tr2115;
-		case 1034: goto tr2117;
-		case 1083: goto tr2118;
+		case 9: goto tr2159;
+		case 32: goto tr2159;
+		case 40: goto tr2160;
+		case 41: goto tr2161;
+		case 1034: goto tr2163;
+		case 1083: goto tr2164;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2116;
-	goto tr1654;
-tr2120:
+		goto tr2162;
+	goto tr1700;
+tr2166:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st714;
-tr2121:
+	goto st728;
+tr2167:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st714;
-tr2123:
+	goto st728;
+tr2169:
 	{
 		s->line_counter++;
 	}
-	goto st714;
-tr2113:
+	goto st728;
+tr2159:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st714;
-tr2114:
+	goto st728;
+tr2160:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st714;
-tr2115:
+	goto st728;
+tr2161:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st714;
-tr2117:
+	goto st728;
+tr2163:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st714;
-st714:
+	goto st728;
+st728:
 	if ( ++p == pe )
-		goto _test_eof714;
-case 714:
+		goto _test_eof728;
+case 728:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53418,55 +54911,55 @@ case 714:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st714;
-		case 32: goto st714;
-		case 40: goto tr2120;
-		case 41: goto tr2121;
-		case 1034: goto tr2123;
-		case 1083: goto st728;
+		case 9: goto st728;
+		case 32: goto st728;
+		case 40: goto tr2166;
+		case 41: goto tr2167;
+		case 1034: goto tr2169;
+		case 1083: goto st742;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2122;
-	goto tr1654;
-tr2122:
+		goto tr2168;
+	goto tr1700;
+tr2168:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st715;
-tr2128:
+	goto st729;
+tr2174:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st715;
-st715:
+	goto st729;
+st729:
 	if ( ++p == pe )
-		goto _test_eof715;
-case 715:
+		goto _test_eof729;
+case 729:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53480,104 +54973,104 @@ case 715:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2125;
-		case 32: goto tr2125;
-		case 40: goto tr2126;
-		case 41: goto tr2127;
-		case 1034: goto tr2129;
-		case 1083: goto tr2130;
+		case 9: goto tr2171;
+		case 32: goto tr2171;
+		case 40: goto tr2172;
+		case 41: goto tr2173;
+		case 1034: goto tr2175;
+		case 1083: goto tr2176;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2128;
-	goto tr1654;
-tr2133:
+		goto tr2174;
+	goto tr1700;
+tr2179:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st716;
-tr2134:
+	goto st730;
+tr2180:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st716;
-tr2135:
+	goto st730;
+tr2181:
 	{
 		s->line_counter++;
 	}
-	goto st716;
-tr2125:
+	goto st730;
+tr2171:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st716;
-tr2126:
+	goto st730;
+tr2172:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st716;
-tr2127:
+	goto st730;
+tr2173:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st716;
-tr2129:
+	goto st730;
+tr2175:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st716;
-st716:
+	goto st730;
+st730:
 	if ( ++p == pe )
-		goto _test_eof716;
-case 716:
+		goto _test_eof730;
+case 730:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53591,32 +55084,32 @@ case 716:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st716;
-		case 32: goto st716;
-		case 40: goto tr2133;
-		case 41: goto tr2134;
-		case 1034: goto tr2135;
-		case 1083: goto st727;
+		case 9: goto st730;
+		case 32: goto st730;
+		case 40: goto tr2179;
+		case 41: goto tr2180;
+		case 1034: goto tr2181;
+		case 1083: goto st741;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr2131;
+			goto tr2177;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr2131;
+			goto tr2177;
 	} else
-		goto tr2131;
+		goto tr2177;
 	goto tr69;
-tr2131:
+tr2177:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	{ p--; {stack[top++] = 717; goto st257;} }
-	goto st717;
-st717:
+	{ p--; {stack[top++] = 731; goto st264;} }
+	goto st731;
+st731:
 	if ( ++p == pe )
-		goto _test_eof717;
-case 717:
+		goto _test_eof731;
+case 731:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53630,38 +55123,38 @@ case 717:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2137;
-		case 32: goto tr2137;
-		case 40: goto tr2138;
-		case 41: goto tr2139;
-		case 1034: goto tr2140;
-		case 1083: goto tr2141;
+		case 9: goto tr2183;
+		case 32: goto tr2183;
+		case 40: goto tr2184;
+		case 41: goto tr2185;
+		case 1034: goto tr2186;
+		case 1083: goto tr2187;
 	}
 	goto tr69;
-tr2144:
+tr2190:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st718;
-tr2145:
+	goto st732;
+tr2191:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st718;
-tr2146:
+	goto st732;
+tr2192:
 	{
 		s->line_counter++;
 	}
-	goto st718;
-tr2137:
+	goto st732;
+tr2183:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53669,11 +55162,11 @@ tr2137:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st718;
-tr2138:
+	goto st732;
+tr2184:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53681,18 +55174,18 @@ tr2138:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st718;
-tr2139:
+	goto st732;
+tr2185:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53700,18 +55193,18 @@ tr2139:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st718;
-tr2140:
+	goto st732;
+tr2186:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53719,17 +55212,17 @@ tr2140:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st718;
-st718:
+	goto st732;
+st732:
 	if ( ++p == pe )
-		goto _test_eof718;
-case 718:
+		goto _test_eof732;
+case 732:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53743,32 +55236,32 @@ case 718:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st718;
-		case 32: goto st718;
-		case 40: goto tr2144;
-		case 41: goto tr2145;
-		case 1034: goto tr2146;
-		case 1083: goto st726;
+		case 9: goto st732;
+		case 32: goto st732;
+		case 40: goto tr2190;
+		case 41: goto tr2191;
+		case 1034: goto tr2192;
+		case 1083: goto st740;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr2142;
+			goto tr2188;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr2142;
+			goto tr2188;
 	} else
-		goto tr2142;
+		goto tr2188;
 	goto tr69;
-tr2142:
+tr2188:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	{ p--; {stack[top++] = 719; goto st257;} }
-	goto st719;
-st719:
+	{ p--; {stack[top++] = 733; goto st264;} }
+	goto st733;
+st733:
 	if ( ++p == pe )
-		goto _test_eof719;
-case 719:
+		goto _test_eof733;
+case 733:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53782,38 +55275,38 @@ case 719:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2148;
-		case 32: goto tr2148;
-		case 40: goto tr2149;
-		case 41: goto tr2150;
-		case 1034: goto tr2151;
-		case 1083: goto tr2152;
+		case 9: goto tr2194;
+		case 32: goto tr2194;
+		case 40: goto tr2195;
+		case 41: goto tr2196;
+		case 1034: goto tr2197;
+		case 1083: goto tr2198;
 	}
 	goto tr69;
-tr2155:
+tr2201:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st720;
-tr2156:
+	goto st734;
+tr2202:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st720;
-tr2157:
+	goto st734;
+tr2203:
 	{
 		s->line_counter++;
 	}
-	goto st720;
-tr2148:
+	goto st734;
+tr2194:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53821,11 +55314,11 @@ tr2148:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st720;
-tr2149:
+	goto st734;
+tr2195:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53833,18 +55326,18 @@ tr2149:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st720;
-tr2150:
+	goto st734;
+tr2196:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53852,18 +55345,18 @@ tr2150:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st720;
-tr2151:
+	goto st734;
+tr2197:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53871,17 +55364,17 @@ tr2151:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st720;
-st720:
+	goto st734;
+st734:
 	if ( ++p == pe )
-		goto _test_eof720;
-case 720:
+		goto _test_eof734;
+case 734:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53895,32 +55388,32 @@ case 720:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st720;
-		case 32: goto st720;
-		case 40: goto tr2155;
-		case 41: goto tr2156;
-		case 1034: goto tr2157;
-		case 1083: goto st725;
+		case 9: goto st734;
+		case 32: goto st734;
+		case 40: goto tr2201;
+		case 41: goto tr2202;
+		case 1034: goto tr2203;
+		case 1083: goto st739;
 	}
 	if ( _widec < 11 ) {
 		if ( _widec <= 8 )
-			goto tr2153;
+			goto tr2199;
 	} else if ( _widec > 58 ) {
 		if ( 60 <= _widec )
-			goto tr2153;
+			goto tr2199;
 	} else
-		goto tr2153;
+		goto tr2199;
 	goto tr69;
-tr2153:
+tr2199:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	{ p--; {stack[top++] = 721; goto st257;} }
-	goto st721;
-st721:
+	{ p--; {stack[top++] = 735; goto st264;} }
+	goto st735;
+st735:
 	if ( ++p == pe )
-		goto _test_eof721;
-case 721:
+		goto _test_eof735;
+case 735:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53934,38 +55427,38 @@ case 721:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2159;
-		case 32: goto tr2159;
-		case 40: goto tr2160;
-		case 41: goto tr2161;
-		case 1034: goto tr2162;
-		case 1083: goto tr2163;
+		case 9: goto tr2205;
+		case 32: goto tr2205;
+		case 40: goto tr2206;
+		case 41: goto tr2207;
+		case 1034: goto tr2208;
+		case 1083: goto tr2209;
 	}
 	goto tr69;
-tr2165:
+tr2211:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st722;
-tr2166:
+	goto st736;
+tr2212:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st722;
-tr2168:
+	goto st736;
+tr2214:
 	{
 		s->line_counter++;
 	}
-	goto st722;
-tr2159:
+	goto st736;
+tr2205:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53973,11 +55466,11 @@ tr2159:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st722;
-tr2160:
+	goto st736;
+tr2206:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -53985,18 +55478,18 @@ tr2160:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st722;
-tr2161:
+	goto st736;
+tr2207:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -54004,18 +55497,18 @@ tr2161:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st722;
-tr2162:
+	goto st736;
+tr2208:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -54023,17 +55516,17 @@ tr2162:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st722;
-st722:
+	goto st736;
+st736:
 	if ( ++p == pe )
-		goto _test_eof722;
-case 722:
+		goto _test_eof736;
+case 736:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54047,59 +55540,59 @@ case 722:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st722;
-		case 32: goto st722;
-		case 40: goto tr2165;
-		case 41: goto tr2166;
-		case 42: goto tr2167;
-		case 92: goto tr2167;
-		case 95: goto tr2167;
-		case 1034: goto tr2168;
-		case 1083: goto st724;
+		case 9: goto st736;
+		case 32: goto st736;
+		case 40: goto tr2211;
+		case 41: goto tr2212;
+		case 42: goto tr2213;
+		case 92: goto tr2213;
+		case 95: goto tr2213;
+		case 1034: goto tr2214;
+		case 1083: goto st738;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr2167;
+			goto tr2213;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2167;
+			goto tr2213;
 	} else
-		goto tr2167;
+		goto tr2213;
 	goto tr69;
-tr2167:
+tr2213:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 723; goto st248;} }
-	goto st723;
-st723:
+	{ p--; {stack[top++] = 737; goto st255;} }
+	goto st737;
+st737:
 	if ( ++p == pe )
-		goto _test_eof723;
-case 723:
+		goto _test_eof737;
+case 737:
 	switch( (*p) ) {
-		case 32: goto tr2170;
-		case 59: goto tr2170;
+		case 32: goto tr2216;
+		case 59: goto tr2216;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr2170;
+			goto tr2216;
 	} else if ( (*p) >= 9 )
-		goto tr2170;
+		goto tr2216;
 	goto tr69;
-tr2170:
+tr2216:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1110;
-st1110:
+	goto st1131;
+st1131:
 	if ( ++p == pe )
-		goto _test_eof1110;
-case 1110:
+		goto _test_eof1131;
+case 1131:
 	goto st0;
-tr2163:
+tr2209:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -54107,14 +55600,14 @@ tr2163:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st724;
-st724:
+	goto st738;
+st738:
 	if ( ++p == pe )
-		goto _test_eof724;
-case 724:
+		goto _test_eof738;
+case 738:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54134,11 +55627,11 @@ case 724:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2168;
+		goto tr2214;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st724;
+		goto st738;
 	goto tr69;
-tr2152:
+tr2198:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -54146,14 +55639,14 @@ tr2152:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st725;
-st725:
+	goto st739;
+st739:
 	if ( ++p == pe )
-		goto _test_eof725;
-case 725:
+		goto _test_eof739;
+case 739:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54173,11 +55666,11 @@ case 725:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2157;
+		goto tr2203;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st725;
+		goto st739;
 	goto tr69;
-tr2141:
+tr2187:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -54185,14 +55678,14 @@ tr2141:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st726;
-st726:
+	goto st740;
+st740:
 	if ( ++p == pe )
-		goto _test_eof726;
-case 726:
+		goto _test_eof740;
+case 740:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54212,25 +55705,25 @@ case 726:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2146;
+		goto tr2192;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st726;
+		goto st740;
 	goto tr69;
-tr2130:
+tr2176:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st727;
-st727:
+	goto st741;
+st741:
 	if ( ++p == pe )
-		goto _test_eof727;
-case 727:
+		goto _test_eof741;
+case 741:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54250,25 +55743,25 @@ case 727:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2135;
+		goto tr2181;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st727;
+		goto st741;
 	goto tr69;
-tr2118:
+tr2164:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st728;
-st728:
+	goto st742;
+st742:
 	if ( ++p == pe )
-		goto _test_eof728;
-case 728:
+		goto _test_eof742;
+case 742:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54288,30 +55781,30 @@ case 728:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2123;
+		goto tr2169;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st728;
+		goto st742;
 	goto tr69;
-st729:
+st743:
 	if ( ++p == pe )
-		goto _test_eof729;
-case 729:
+		goto _test_eof743;
+case 743:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2171;
+			goto tr2217;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr2171;
+			goto tr2217;
 	} else
-		goto tr2171;
+		goto tr2217;
 	goto tr69;
-tr2171:
-	{ p--; {stack[top++] = 730; goto st548;} }
-	goto st730;
-st730:
+tr2217:
+	{ p--; {stack[top++] = 744; goto st562;} }
+	goto st744;
+st744:
 	if ( ++p == pe )
-		goto _test_eof730;
-case 730:
+		goto _test_eof744;
+case 744:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54325,41 +55818,41 @@ case 730:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st731;
-		case 32: goto st731;
-		case 40: goto tr2173;
-		case 41: goto tr2174;
-		case 1034: goto tr2175;
-		case 1083: goto st739;
+		case 9: goto st745;
+		case 32: goto st745;
+		case 40: goto tr2219;
+		case 41: goto tr2220;
+		case 1034: goto tr2221;
+		case 1083: goto st753;
 	}
 	goto tr69;
-tr2173:
+tr2219:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st731;
-tr2174:
+	goto st745;
+tr2220:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st731;
-tr2175:
+	goto st745;
+tr2221:
 	{
 		s->line_counter++;
 	}
-	goto st731;
-st731:
+	goto st745;
+st745:
 	if ( ++p == pe )
-		goto _test_eof731;
-case 731:
+		goto _test_eof745;
+case 745:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54373,55 +55866,55 @@ case 731:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st731;
-		case 32: goto st731;
-		case 40: goto tr2173;
-		case 41: goto tr2174;
-		case 1034: goto tr2175;
-		case 1083: goto st739;
+		case 9: goto st745;
+		case 32: goto st745;
+		case 40: goto tr2219;
+		case 41: goto tr2220;
+		case 1034: goto tr2221;
+		case 1083: goto st753;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2177;
-	goto tr1654;
-tr2177:
+		goto tr2223;
+	goto tr1700;
+tr2223:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st732;
-tr2181:
+	goto st746;
+tr2227:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st732;
-st732:
+	goto st746;
+st746:
 	if ( ++p == pe )
-		goto _test_eof732;
-case 732:
+		goto _test_eof746;
+case 746:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54435,104 +55928,104 @@ case 732:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2178;
-		case 32: goto tr2178;
-		case 40: goto tr2179;
-		case 41: goto tr2180;
-		case 1034: goto tr2182;
-		case 1083: goto tr2183;
+		case 9: goto tr2224;
+		case 32: goto tr2224;
+		case 40: goto tr2225;
+		case 41: goto tr2226;
+		case 1034: goto tr2228;
+		case 1083: goto tr2229;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2181;
-	goto tr1654;
-tr2185:
+		goto tr2227;
+	goto tr1700;
+tr2231:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st733;
-tr2186:
+	goto st747;
+tr2232:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st733;
-tr2188:
+	goto st747;
+tr2234:
 	{
 		s->line_counter++;
 	}
-	goto st733;
-tr2178:
+	goto st747;
+tr2224:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st733;
-tr2179:
+	goto st747;
+tr2225:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st733;
-tr2180:
+	goto st747;
+tr2226:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st733;
-tr2182:
+	goto st747;
+tr2228:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st733;
-st733:
+	goto st747;
+st747:
 	if ( ++p == pe )
-		goto _test_eof733;
-case 733:
+		goto _test_eof747;
+case 747:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54546,29 +56039,29 @@ case 733:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st733;
-		case 32: goto st733;
-		case 40: goto tr2185;
-		case 41: goto tr2186;
-		case 1034: goto tr2188;
-		case 1083: goto st738;
+		case 9: goto st747;
+		case 32: goto st747;
+		case 40: goto tr2231;
+		case 41: goto tr2232;
+		case 1034: goto tr2234;
+		case 1083: goto st752;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2187;
+			goto tr2233;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2187;
+			goto tr2233;
 	} else
-		goto tr2187;
+		goto tr2233;
 	goto tr69;
-tr2187:
-	{ p--; {stack[top++] = 734; goto st453;} }
-	goto st734;
-st734:
+tr2233:
+	{ p--; {stack[top++] = 748; goto st467;} }
+	goto st748;
+st748:
 	if ( ++p == pe )
-		goto _test_eof734;
-case 734:
+		goto _test_eof748;
+case 748:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54582,41 +56075,41 @@ case 734:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st735;
-		case 32: goto st735;
-		case 40: goto tr2191;
-		case 41: goto tr2192;
-		case 1034: goto tr2193;
-		case 1083: goto st737;
+		case 9: goto st749;
+		case 32: goto st749;
+		case 40: goto tr2237;
+		case 41: goto tr2238;
+		case 1034: goto tr2239;
+		case 1083: goto st751;
 	}
 	goto tr69;
-tr2191:
+tr2237:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st735;
-tr2192:
+	goto st749;
+tr2238:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st735;
-tr2193:
+	goto st749;
+tr2239:
 	{
 		s->line_counter++;
 	}
-	goto st735;
-st735:
+	goto st749;
+st749:
 	if ( ++p == pe )
-		goto _test_eof735;
-case 735:
+		goto _test_eof749;
+case 749:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54630,30 +56123,30 @@ case 735:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st735;
-		case 32: goto st735;
-		case 40: goto tr2191;
-		case 41: goto tr2192;
-		case 43: goto tr2195;
-		case 1034: goto tr2193;
-		case 1083: goto st737;
+		case 9: goto st749;
+		case 32: goto st749;
+		case 40: goto tr2237;
+		case 41: goto tr2238;
+		case 43: goto tr2241;
+		case 1034: goto tr2239;
+		case 1083: goto st751;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr2195;
+			goto tr2241;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2195;
+			goto tr2241;
 	} else
-		goto tr2195;
+		goto tr2241;
 	goto tr69;
-tr2195:
-	{ p--; {stack[top++] = 736; goto st307;} }
-	goto st736;
-st736:
+tr2241:
+	{ p--; {stack[top++] = 750; goto st314;} }
+	goto st750;
+st750:
 	if ( ++p == pe )
-		goto _test_eof736;
-case 736:
+		goto _test_eof750;
+case 750:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54667,24 +56160,24 @@ case 736:
  !s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 1546: goto tr2196;
-		case 1595: goto tr2196;
+		case 1546: goto tr2242;
+		case 1595: goto tr2242;
 	}
 	goto tr69;
-tr2196:
+tr2242:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1111;
-st1111:
+	goto st1132;
+st1132:
 	if ( ++p == pe )
-		goto _test_eof1111;
-case 1111:
+		goto _test_eof1132;
+case 1132:
 	goto st0;
-st737:
+st751:
 	if ( ++p == pe )
-		goto _test_eof737;
-case 737:
+		goto _test_eof751;
+case 751:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54704,25 +56197,25 @@ case 737:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2193;
+		goto tr2239;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st737;
+		goto st751;
 	goto tr69;
-tr2183:
+tr2229:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st738;
-st738:
+	goto st752;
+st752:
 	if ( ++p == pe )
-		goto _test_eof738;
-case 738:
+		goto _test_eof752;
+case 752:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54742,14 +56235,14 @@ case 738:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2188;
+		goto tr2234;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st738;
+		goto st752;
 	goto tr69;
-st739:
+st753:
 	if ( ++p == pe )
-		goto _test_eof739;
-case 739:
+		goto _test_eof753;
+case 753:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -54769,41 +56262,41 @@ case 739:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2175;
+		goto tr2221;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st739;
+		goto st753;
 	goto tr69;
-tr2200:
+tr2246:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st740;
-tr2201:
+	goto st754;
+tr2247:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st740;
-tr2204:
+	goto st754;
+tr2250:
 	{
 		s->line_counter++;
 	}
-	goto st740;
-tr2217:
+	goto st754;
+tr2263:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -54826,7 +56319,7 @@ tr2217:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -54842,15 +56335,15 @@ tr2217:
 		memcpy(rdata_tail, s->buffer, len);
 		rdata_tail += len;
 	}
-	goto st740;
-tr2218:
+	goto st754;
+tr2264:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -54873,7 +56366,7 @@ tr2218:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -54892,19 +56385,19 @@ tr2218:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st740;
-tr2219:
+	goto st754;
+tr2265:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -54927,7 +56420,7 @@ tr2219:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -54946,19 +56439,19 @@ tr2219:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st740;
-tr2221:
+	goto st754;
+tr2267:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -54981,7 +56474,7 @@ tr2221:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -55000,11 +56493,11 @@ tr2221:
 	{
 		s->line_counter++;
 	}
-	goto st740;
-st740:
+	goto st754;
+st754:
 	if ( ++p == pe )
-		goto _test_eof740;
-case 740:
+		goto _test_eof754;
+case 754:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55022,68 +56515,68 @@ case 740:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st740;
-		case 32: goto st740;
-		case 33: goto tr2199;
-		case 40: goto tr2200;
-		case 41: goto tr2201;
-		case 49: goto tr2202;
-		case 50: goto tr2203;
-		case 2058: goto tr2204;
-		case 2107: goto st747;
-		case 2314: goto tr2206;
-		case 2363: goto tr2206;
-		case 2570: goto tr2207;
-		case 2619: goto tr2208;
-	}
-	goto tr2197;
-tr2199:
+		case 9: goto st754;
+		case 32: goto st754;
+		case 33: goto tr2245;
+		case 40: goto tr2246;
+		case 41: goto tr2247;
+		case 49: goto tr2248;
+		case 50: goto tr2249;
+		case 2058: goto tr2250;
+		case 2107: goto st761;
+		case 2314: goto tr2252;
+		case 2363: goto tr2252;
+		case 2570: goto tr2253;
+		case 2619: goto tr2254;
+	}
+	goto tr2243;
+tr2245:
 	{
 		memset(&(s->apl), 0, sizeof(s->apl));
 	}
 	{
 		s->apl.excl_flag = 128; // dec 128  = bin 10000000.
 	}
-	goto st741;
-st741:
+	goto st755;
+st755:
 	if ( ++p == pe )
-		goto _test_eof741;
-case 741:
+		goto _test_eof755;
+case 755:
 	switch( (*p) ) {
-		case 49: goto tr2209;
-		case 50: goto tr2210;
+		case 49: goto tr2255;
+		case 50: goto tr2256;
 	}
-	goto tr2197;
-tr2202:
+	goto tr2243;
+tr2248:
 	{
 		memset(&(s->apl), 0, sizeof(s->apl));
 	}
 	{
 		s->apl.addr_family = 1;
 	}
-	goto st742;
-tr2209:
+	goto st756;
+tr2255:
 	{
 		s->apl.addr_family = 1;
 	}
-	goto st742;
-st742:
+	goto st756;
+st756:
 	if ( ++p == pe )
-		goto _test_eof742;
-case 742:
+		goto _test_eof756;
+case 756:
 	if ( (*p) == 58 )
-		goto st743;
-	goto tr2197;
-st743:
+		goto st757;
+	goto tr2243;
+st757:
 	if ( ++p == pe )
-		goto _test_eof743;
-case 743:
+		goto _test_eof757;
+case 757:
 	if ( (*p) == 46 )
-		goto tr2213;
+		goto tr2259;
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2213;
-	goto tr2212;
-tr2213:
+		goto tr2259;
+	goto tr2258;
+tr2259:
 	{
 		s->buffer_length = 0;
 	}
@@ -55093,96 +56586,96 @@ tr2213:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st744;
-tr2214:
+	goto st758;
+tr2260:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st744;
-st744:
+	goto st758;
+st758:
 	if ( ++p == pe )
-		goto _test_eof744;
-case 744:
+		goto _test_eof758;
+case 758:
 	if ( (*p) == 47 )
-		goto tr2215;
+		goto tr2261;
 	if ( 46 <= (*p) && (*p) <= 57 )
-		goto tr2214;
-	goto tr2212;
-tr2215:
+		goto tr2260;
+	goto tr2258;
+tr2261:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st745;
-tr2229:
+	goto st759;
+tr2275:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st745;
-st745:
+	goto st759;
+st759:
 	if ( ++p == pe )
-		goto _test_eof745;
-case 745:
+		goto _test_eof759;
+case 759:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2216;
-	goto tr2197;
-tr2216:
+		goto tr2262;
+	goto tr2243;
+tr2262:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st746;
-tr2220:
+	goto st760;
+tr2266:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st746;
-st746:
+	goto st760;
+st760:
 	if ( ++p == pe )
-		goto _test_eof746;
-case 746:
+		goto _test_eof760;
+case 760:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55200,28 +56693,28 @@ case 746:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto tr2217;
-		case 32: goto tr2217;
-		case 40: goto tr2218;
-		case 41: goto tr2219;
-		case 2058: goto tr2221;
-		case 2107: goto tr2222;
-		case 2314: goto tr2223;
-		case 2363: goto tr2223;
-		case 2570: goto tr2224;
-		case 2619: goto tr2225;
+		case 9: goto tr2263;
+		case 32: goto tr2263;
+		case 40: goto tr2264;
+		case 41: goto tr2265;
+		case 2058: goto tr2267;
+		case 2107: goto tr2268;
+		case 2314: goto tr2269;
+		case 2363: goto tr2269;
+		case 2570: goto tr2270;
+		case 2619: goto tr2271;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2220;
-	goto tr2197;
-tr2222:
+		goto tr2266;
+	goto tr2243;
+tr2268:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -55244,7 +56737,7 @@ tr2222:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -55260,11 +56753,11 @@ tr2222:
 		memcpy(rdata_tail, s->buffer, len);
 		rdata_tail += len;
 	}
-	goto st747;
-st747:
+	goto st761;
+st761:
 	if ( ++p == pe )
-		goto _test_eof747;
-case 747:
+		goto _test_eof761;
+case 761:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -55284,23 +56777,23 @@ case 747:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2204;
+		goto tr2250;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st747;
+		goto st761;
 	goto tr69;
-tr2206:
+tr2252:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1112;
-tr2223:
+	goto st1133;
+tr2269:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -55323,7 +56816,7 @@ tr2223:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -55342,28 +56835,28 @@ tr2223:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1112;
-st1112:
+	goto st1133;
+st1133:
 	if ( ++p == pe )
-		goto _test_eof1112;
-case 1112:
+		goto _test_eof1133;
+case 1133:
 	goto st0;
-tr2207:
+tr2253:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1113;
-tr2224:
+	goto st1134;
+tr2270:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -55386,7 +56879,7 @@ tr2224:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -55408,11 +56901,11 @@ tr2224:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1113;
-st1113:
+	goto st1134;
+st1134:
 	if ( ++p == pe )
-		goto _test_eof1113;
-case 1113:
+		goto _test_eof1134;
+case 1134:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55430,57 +56923,57 @@ case 1113:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st740;
-		case 32: goto st740;
-		case 33: goto tr2199;
-		case 40: goto tr2200;
-		case 41: goto tr2201;
-		case 49: goto tr2202;
-		case 50: goto tr2203;
-		case 2058: goto tr2204;
-		case 2107: goto st747;
-		case 2314: goto tr2206;
-		case 2363: goto tr2206;
-		case 2570: goto tr2207;
-		case 2619: goto tr2208;
-	}
-	goto tr2197;
-tr2203:
+		case 9: goto st754;
+		case 32: goto st754;
+		case 33: goto tr2245;
+		case 40: goto tr2246;
+		case 41: goto tr2247;
+		case 49: goto tr2248;
+		case 50: goto tr2249;
+		case 2058: goto tr2250;
+		case 2107: goto st761;
+		case 2314: goto tr2252;
+		case 2363: goto tr2252;
+		case 2570: goto tr2253;
+		case 2619: goto tr2254;
+	}
+	goto tr2243;
+tr2249:
 	{
 		memset(&(s->apl), 0, sizeof(s->apl));
 	}
 	{
 		s->apl.addr_family = 2;
 	}
-	goto st748;
-tr2210:
+	goto st762;
+tr2256:
 	{
 		s->apl.addr_family = 2;
 	}
-	goto st748;
-st748:
+	goto st762;
+st762:
 	if ( ++p == pe )
-		goto _test_eof748;
-case 748:
+		goto _test_eof762;
+case 762:
 	if ( (*p) == 58 )
-		goto st749;
-	goto tr2197;
-st749:
+		goto st763;
+	goto tr2243;
+st763:
 	if ( ++p == pe )
-		goto _test_eof749;
-case 749:
+		goto _test_eof763;
+case 763:
 	if ( (*p) == 46 )
-		goto tr2227;
+		goto tr2273;
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 58 )
-			goto tr2227;
+			goto tr2273;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr2227;
+			goto tr2273;
 	} else
-		goto tr2227;
-	goto tr2212;
-tr2227:
+		goto tr2273;
+	goto tr2258;
+tr2273:
 	{
 		s->buffer_length = 0;
 	}
@@ -55490,49 +56983,49 @@ tr2227:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st750;
-tr2228:
+	goto st764;
+tr2274:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st750;
-st750:
+	goto st764;
+st764:
 	if ( ++p == pe )
-		goto _test_eof750;
-case 750:
+		goto _test_eof764;
+case 764:
 	if ( (*p) == 47 )
-		goto tr2229;
+		goto tr2275;
 	if ( (*p) < 65 ) {
 		if ( 46 <= (*p) && (*p) <= 58 )
-			goto tr2228;
+			goto tr2274;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr2228;
+			goto tr2274;
 	} else
-		goto tr2228;
-	goto tr2212;
-tr2208:
+		goto tr2274;
+	goto tr2258;
+tr2254:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1114;
-tr2225:
+	goto st1135;
+tr2271:
 	{
 		if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
 		    (s->apl.addr_family == 2 && s->number64 <= 128)) {
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -55555,7 +57048,7 @@ tr2225:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -55574,11 +57067,11 @@ tr2225:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1114;
-st1114:
+	goto st1135;
+st1135:
 	if ( ++p == pe )
-		goto _test_eof1114;
-case 1114:
+		goto _test_eof1135;
+case 1135:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -55598,56 +57091,56 @@ case 1114:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2204;
+		goto tr2250;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st747;
+		goto st761;
 	goto tr69;
-st751:
+st765:
 	if ( ++p == pe )
-		goto _test_eof751;
-case 751:
+		goto _test_eof765;
+case 765:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2230;
-	goto tr1654;
-tr2230:
+		goto tr2276;
+	goto tr1700;
+tr2276:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st752;
-tr2234:
+	goto st766;
+tr2280:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st752;
-st752:
+	goto st766;
+st766:
 	if ( ++p == pe )
-		goto _test_eof752;
-case 752:
+		goto _test_eof766;
+case 766:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55661,104 +57154,104 @@ case 752:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2231;
-		case 32: goto tr2231;
-		case 40: goto tr2232;
-		case 41: goto tr2233;
-		case 1034: goto tr2235;
-		case 1083: goto tr2236;
+		case 9: goto tr2277;
+		case 32: goto tr2277;
+		case 40: goto tr2278;
+		case 41: goto tr2279;
+		case 1034: goto tr2281;
+		case 1083: goto tr2282;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2234;
-	goto tr1654;
-tr2238:
+		goto tr2280;
+	goto tr1700;
+tr2284:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st753;
-tr2239:
+	goto st767;
+tr2285:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st753;
-tr2241:
+	goto st767;
+tr2287:
 	{
 		s->line_counter++;
 	}
-	goto st753;
-tr2231:
+	goto st767;
+tr2277:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st753;
-tr2232:
+	goto st767;
+tr2278:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st753;
-tr2233:
+	goto st767;
+tr2279:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st753;
-tr2235:
+	goto st767;
+tr2281:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st753;
-st753:
+	goto st767;
+st767:
 	if ( ++p == pe )
-		goto _test_eof753;
-case 753:
+		goto _test_eof767;
+case 767:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55772,29 +57265,29 @@ case 753:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st753;
-		case 32: goto st753;
-		case 40: goto tr2238;
-		case 41: goto tr2239;
-		case 1034: goto tr2241;
-		case 1083: goto st763;
+		case 9: goto st767;
+		case 32: goto st767;
+		case 40: goto tr2284;
+		case 41: goto tr2285;
+		case 1034: goto tr2287;
+		case 1083: goto st777;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2240;
+			goto tr2286;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2240;
+			goto tr2286;
 	} else
-		goto tr2240;
+		goto tr2286;
 	goto tr69;
-tr2240:
-	{ p--; {stack[top++] = 754; goto st453;} }
-	goto st754;
-st754:
+tr2286:
+	{ p--; {stack[top++] = 768; goto st467;} }
+	goto st768;
+st768:
 	if ( ++p == pe )
-		goto _test_eof754;
-case 754:
+		goto _test_eof768;
+case 768:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55808,41 +57301,41 @@ case 754:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st755;
-		case 32: goto st755;
-		case 40: goto tr2244;
-		case 41: goto tr2245;
-		case 1034: goto tr2246;
-		case 1083: goto st762;
+		case 9: goto st769;
+		case 32: goto st769;
+		case 40: goto tr2290;
+		case 41: goto tr2291;
+		case 1034: goto tr2292;
+		case 1083: goto st776;
 	}
 	goto tr69;
-tr2244:
+tr2290:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st755;
-tr2245:
+	goto st769;
+tr2291:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st755;
-tr2246:
+	goto st769;
+tr2292:
 	{
 		s->line_counter++;
 	}
-	goto st755;
-st755:
+	goto st769;
+st769:
 	if ( ++p == pe )
-		goto _test_eof755;
-case 755:
+		goto _test_eof769;
+case 769:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55856,55 +57349,55 @@ case 755:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st755;
-		case 32: goto st755;
-		case 40: goto tr2244;
-		case 41: goto tr2245;
-		case 1034: goto tr2246;
-		case 1083: goto st762;
+		case 9: goto st769;
+		case 32: goto st769;
+		case 40: goto tr2290;
+		case 41: goto tr2291;
+		case 1034: goto tr2292;
+		case 1083: goto st776;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2248;
-	goto tr1654;
-tr2248:
+		goto tr2294;
+	goto tr1700;
+tr2294:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st756;
-tr2252:
+	goto st770;
+tr2298:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st756;
-st756:
+	goto st770;
+st770:
 	if ( ++p == pe )
-		goto _test_eof756;
-case 756:
+		goto _test_eof770;
+case 770:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55918,104 +57411,104 @@ case 756:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2249;
-		case 32: goto tr2249;
-		case 40: goto tr2250;
-		case 41: goto tr2251;
-		case 1034: goto tr2253;
-		case 1083: goto tr2254;
+		case 9: goto tr2295;
+		case 32: goto tr2295;
+		case 40: goto tr2296;
+		case 41: goto tr2297;
+		case 1034: goto tr2299;
+		case 1083: goto tr2300;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2252;
-	goto tr1654;
-tr2257:
+		goto tr2298;
+	goto tr1700;
+tr2303:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st757;
-tr2258:
+	goto st771;
+tr2304:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st757;
-tr2260:
+	goto st771;
+tr2306:
 	{
 		s->line_counter++;
 	}
-	goto st757;
-tr2249:
+	goto st771;
+tr2295:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st757;
-tr2250:
+	goto st771;
+tr2296:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st757;
-tr2251:
+	goto st771;
+tr2297:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st757;
-tr2253:
+	goto st771;
+tr2299:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st757;
-st757:
+	goto st771;
+st771:
 	if ( ++p == pe )
-		goto _test_eof757;
-case 757:
+		goto _test_eof771;
+case 771:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56029,78 +57522,78 @@ case 757:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st757;
-		case 32: goto st757;
-		case 40: goto tr2257;
-		case 41: goto tr2258;
-		case 1034: goto tr2260;
-		case 1083: goto st761;
+		case 9: goto st771;
+		case 32: goto st771;
+		case 40: goto tr2303;
+		case 41: goto tr2304;
+		case 1034: goto tr2306;
+		case 1083: goto st775;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2259;
+			goto tr2305;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2259;
+			goto tr2305;
 	} else
-		goto tr2259;
-	goto tr2255;
-tr2259:
+		goto tr2305;
+	goto tr2301;
+tr2305:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st758;
-st758:
+	goto st772;
+st772:
 	if ( ++p == pe )
-		goto _test_eof758;
-case 758:
+		goto _test_eof772;
+case 772:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2262;
+			goto tr2308;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr2262;
+			goto tr2308;
 	} else
-		goto tr2262;
-	goto tr2255;
-tr2264:
+		goto tr2308;
+	goto tr2301;
+tr2310:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st759;
-tr2265:
+	goto st773;
+tr2311:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st759;
-tr2266:
+	goto st773;
+tr2312:
 	{
 		s->line_counter++;
 	}
-	goto st759;
-tr2262:
+	goto st773;
+tr2308:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st759;
-st759:
+	goto st773;
+st773:
 	if ( ++p == pe )
-		goto _test_eof759;
-case 759:
+		goto _test_eof773;
+case 773:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56118,30 +57611,30 @@ case 759:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st759;
-		case 32: goto st759;
-		case 40: goto tr2264;
-		case 41: goto tr2265;
-		case 2058: goto tr2266;
-		case 2107: goto st760;
-		case 2314: goto tr2268;
-		case 2363: goto tr2268;
-		case 2570: goto tr2269;
-		case 2619: goto tr2270;
+		case 9: goto st773;
+		case 32: goto st773;
+		case 40: goto tr2310;
+		case 41: goto tr2311;
+		case 2058: goto tr2312;
+		case 2107: goto st774;
+		case 2314: goto tr2314;
+		case 2363: goto tr2314;
+		case 2570: goto tr2315;
+		case 2619: goto tr2316;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2259;
+			goto tr2305;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2259;
+			goto tr2305;
 	} else
-		goto tr2259;
-	goto tr2255;
-st760:
+		goto tr2305;
+	goto tr2301;
+st774:
 	if ( ++p == pe )
-		goto _test_eof760;
-case 760:
+		goto _test_eof774;
+case 774:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56161,32 +57654,32 @@ case 760:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2266;
+		goto tr2312;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st760;
-	goto tr2255;
-tr2268:
+		goto st774;
+	goto tr2301;
+tr2314:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1115;
-st1115:
+	goto st1136;
+st1136:
 	if ( ++p == pe )
-		goto _test_eof1115;
-case 1115:
+		goto _test_eof1136;
+case 1136:
 	goto st0;
-tr2269:
+tr2315:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1116;
-st1116:
+	goto st1137;
+st1137:
 	if ( ++p == pe )
-		goto _test_eof1116;
-case 1116:
+		goto _test_eof1137;
+case 1137:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56204,35 +57697,35 @@ case 1116:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st759;
-		case 32: goto st759;
-		case 40: goto tr2264;
-		case 41: goto tr2265;
-		case 2058: goto tr2266;
-		case 2107: goto st760;
-		case 2314: goto tr2268;
-		case 2363: goto tr2268;
-		case 2570: goto tr2269;
-		case 2619: goto tr2270;
+		case 9: goto st773;
+		case 32: goto st773;
+		case 40: goto tr2310;
+		case 41: goto tr2311;
+		case 2058: goto tr2312;
+		case 2107: goto st774;
+		case 2314: goto tr2314;
+		case 2363: goto tr2314;
+		case 2570: goto tr2315;
+		case 2619: goto tr2316;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2259;
+			goto tr2305;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2259;
+			goto tr2305;
 	} else
-		goto tr2259;
-	goto tr2255;
-tr2270:
+		goto tr2305;
+	goto tr2301;
+tr2316:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1117;
-st1117:
+	goto st1138;
+st1138:
 	if ( ++p == pe )
-		goto _test_eof1117;
-case 1117:
+		goto _test_eof1138;
+case 1138:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56252,25 +57745,25 @@ case 1117:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2266;
+		goto tr2312;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st760;
-	goto tr2255;
-tr2254:
+		goto st774;
+	goto tr2301;
+tr2300:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st761;
-st761:
+	goto st775;
+st775:
 	if ( ++p == pe )
-		goto _test_eof761;
-case 761:
+		goto _test_eof775;
+case 775:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56290,14 +57783,14 @@ case 761:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2260;
+		goto tr2306;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st761;
+		goto st775;
 	goto tr69;
-st762:
+st776:
 	if ( ++p == pe )
-		goto _test_eof762;
-case 762:
+		goto _test_eof776;
+case 776:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56317,25 +57810,25 @@ case 762:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2246;
+		goto tr2292;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st762;
+		goto st776;
 	goto tr69;
-tr2236:
+tr2282:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st763;
-st763:
+	goto st777;
+st777:
 	if ( ++p == pe )
-		goto _test_eof763;
-case 763:
+		goto _test_eof777;
+case 777:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56355,56 +57848,56 @@ case 763:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2241;
+		goto tr2287;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st763;
+		goto st777;
 	goto tr69;
-st764:
+st778:
 	if ( ++p == pe )
-		goto _test_eof764;
-case 764:
+		goto _test_eof778;
+case 778:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2271;
-	goto tr1654;
-tr2271:
+		goto tr2317;
+	goto tr1700;
+tr2317:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st765;
-tr2275:
+	goto st779;
+tr2321:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st765;
-st765:
+	goto st779;
+st779:
 	if ( ++p == pe )
-		goto _test_eof765;
-case 765:
+		goto _test_eof779;
+case 779:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56418,104 +57911,104 @@ case 765:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2272;
-		case 32: goto tr2272;
-		case 40: goto tr2273;
-		case 41: goto tr2274;
-		case 1034: goto tr2276;
-		case 1083: goto tr2277;
+		case 9: goto tr2318;
+		case 32: goto tr2318;
+		case 40: goto tr2319;
+		case 41: goto tr2320;
+		case 1034: goto tr2322;
+		case 1083: goto tr2323;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2275;
-	goto tr1654;
-tr2279:
+		goto tr2321;
+	goto tr1700;
+tr2325:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st766;
-tr2280:
+	goto st780;
+tr2326:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st766;
-tr2282:
+	goto st780;
+tr2328:
 	{
 		s->line_counter++;
 	}
-	goto st766;
-tr2272:
+	goto st780;
+tr2318:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st766;
-tr2273:
+	goto st780;
+tr2319:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st766;
-tr2274:
+	goto st780;
+tr2320:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st766;
-tr2276:
+	goto st780;
+tr2322:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st766;
-st766:
+	goto st780;
+st780:
 	if ( ++p == pe )
-		goto _test_eof766;
-case 766:
+		goto _test_eof780;
+case 780:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56529,55 +58022,55 @@ case 766:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st766;
-		case 32: goto st766;
-		case 40: goto tr2279;
-		case 41: goto tr2280;
-		case 1034: goto tr2282;
-		case 1083: goto st773;
+		case 9: goto st780;
+		case 32: goto st780;
+		case 40: goto tr2325;
+		case 41: goto tr2326;
+		case 1034: goto tr2328;
+		case 1083: goto st787;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2281;
-	goto tr1654;
-tr2281:
+		goto tr2327;
+	goto tr1700;
+tr2327:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st767;
-tr2287:
+	goto st781;
+tr2333:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st767;
-st767:
+	goto st781;
+st781:
 	if ( ++p == pe )
-		goto _test_eof767;
-case 767:
+		goto _test_eof781;
+case 781:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56591,104 +58084,104 @@ case 767:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2284;
-		case 32: goto tr2284;
-		case 40: goto tr2285;
-		case 41: goto tr2286;
-		case 1034: goto tr2288;
-		case 1083: goto tr2289;
+		case 9: goto tr2330;
+		case 32: goto tr2330;
+		case 40: goto tr2331;
+		case 41: goto tr2332;
+		case 1034: goto tr2334;
+		case 1083: goto tr2335;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2287;
-	goto tr1654;
-tr2291:
+		goto tr2333;
+	goto tr1700;
+tr2337:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st768;
-tr2292:
+	goto st782;
+tr2338:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st768;
-tr2294:
+	goto st782;
+tr2340:
 	{
 		s->line_counter++;
 	}
-	goto st768;
-tr2284:
+	goto st782;
+tr2330:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st768;
-tr2285:
+	goto st782;
+tr2331:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st768;
-tr2286:
+	goto st782;
+tr2332:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st768;
-tr2288:
+	goto st782;
+tr2334:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st768;
-st768:
+	goto st782;
+st782:
 	if ( ++p == pe )
-		goto _test_eof768;
-case 768:
+		goto _test_eof782;
+case 782:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56702,78 +58195,78 @@ case 768:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st768;
-		case 32: goto st768;
-		case 40: goto tr2291;
-		case 41: goto tr2292;
-		case 1034: goto tr2294;
-		case 1083: goto st772;
+		case 9: goto st782;
+		case 32: goto st782;
+		case 40: goto tr2337;
+		case 41: goto tr2338;
+		case 1034: goto tr2340;
+		case 1083: goto st786;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2293;
+			goto tr2339;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2293;
+			goto tr2339;
 	} else
-		goto tr2293;
-	goto tr2255;
-tr2293:
+		goto tr2339;
+	goto tr2301;
+tr2339:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st769;
-st769:
+	goto st783;
+st783:
 	if ( ++p == pe )
-		goto _test_eof769;
-case 769:
+		goto _test_eof783;
+case 783:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2296;
+			goto tr2342;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr2296;
+			goto tr2342;
 	} else
-		goto tr2296;
-	goto tr2255;
-tr2298:
+		goto tr2342;
+	goto tr2301;
+tr2344:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st770;
-tr2299:
+	goto st784;
+tr2345:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st770;
-tr2300:
+	goto st784;
+tr2346:
 	{
 		s->line_counter++;
 	}
-	goto st770;
-tr2296:
+	goto st784;
+tr2342:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st770;
-st770:
+	goto st784;
+st784:
 	if ( ++p == pe )
-		goto _test_eof770;
-case 770:
+		goto _test_eof784;
+case 784:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56791,30 +58284,30 @@ case 770:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st770;
-		case 32: goto st770;
-		case 40: goto tr2298;
-		case 41: goto tr2299;
-		case 2058: goto tr2300;
-		case 2107: goto st771;
-		case 2314: goto tr2302;
-		case 2363: goto tr2302;
-		case 2570: goto tr2303;
-		case 2619: goto tr2304;
+		case 9: goto st784;
+		case 32: goto st784;
+		case 40: goto tr2344;
+		case 41: goto tr2345;
+		case 2058: goto tr2346;
+		case 2107: goto st785;
+		case 2314: goto tr2348;
+		case 2363: goto tr2348;
+		case 2570: goto tr2349;
+		case 2619: goto tr2350;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2293;
+			goto tr2339;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2293;
+			goto tr2339;
 	} else
-		goto tr2293;
-	goto tr2255;
-st771:
+		goto tr2339;
+	goto tr2301;
+st785:
 	if ( ++p == pe )
-		goto _test_eof771;
-case 771:
+		goto _test_eof785;
+case 785:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56834,32 +58327,32 @@ case 771:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2300;
+		goto tr2346;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st771;
-	goto tr2255;
-tr2302:
+		goto st785;
+	goto tr2301;
+tr2348:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1118;
-st1118:
+	goto st1139;
+st1139:
 	if ( ++p == pe )
-		goto _test_eof1118;
-case 1118:
+		goto _test_eof1139;
+case 1139:
 	goto st0;
-tr2303:
+tr2349:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1119;
-st1119:
+	goto st1140;
+st1140:
 	if ( ++p == pe )
-		goto _test_eof1119;
-case 1119:
+		goto _test_eof1140;
+case 1140:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56877,35 +58370,35 @@ case 1119:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st770;
-		case 32: goto st770;
-		case 40: goto tr2298;
-		case 41: goto tr2299;
-		case 2058: goto tr2300;
-		case 2107: goto st771;
-		case 2314: goto tr2302;
-		case 2363: goto tr2302;
-		case 2570: goto tr2303;
-		case 2619: goto tr2304;
+		case 9: goto st784;
+		case 32: goto st784;
+		case 40: goto tr2344;
+		case 41: goto tr2345;
+		case 2058: goto tr2346;
+		case 2107: goto st785;
+		case 2314: goto tr2348;
+		case 2363: goto tr2348;
+		case 2570: goto tr2349;
+		case 2619: goto tr2350;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2293;
+			goto tr2339;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2293;
+			goto tr2339;
 	} else
-		goto tr2293;
-	goto tr2255;
-tr2304:
+		goto tr2339;
+	goto tr2301;
+tr2350:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1120;
-st1120:
+	goto st1141;
+st1141:
 	if ( ++p == pe )
-		goto _test_eof1120;
-case 1120:
+		goto _test_eof1141;
+case 1141:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56925,25 +58418,25 @@ case 1120:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2300;
+		goto tr2346;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st771;
-	goto tr2255;
-tr2289:
+		goto st785;
+	goto tr2301;
+tr2335:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st772;
-st772:
+	goto st786;
+st786:
 	if ( ++p == pe )
-		goto _test_eof772;
-case 772:
+		goto _test_eof786;
+case 786:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -56963,25 +58456,25 @@ case 772:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2294;
+		goto tr2340;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st772;
+		goto st786;
 	goto tr69;
-tr2277:
+tr2323:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st773;
-st773:
+	goto st787;
+st787:
 	if ( ++p == pe )
-		goto _test_eof773;
-case 773:
+		goto _test_eof787;
+case 787:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -57001,56 +58494,56 @@ case 773:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2282;
+		goto tr2328;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st773;
+		goto st787;
 	goto tr69;
-st774:
+st788:
 	if ( ++p == pe )
-		goto _test_eof774;
-case 774:
+		goto _test_eof788;
+case 788:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2305;
-	goto tr1654;
-tr2305:
+		goto tr2351;
+	goto tr1700;
+tr2351:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st775;
-tr2309:
+	goto st789;
+tr2355:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st775;
-st775:
+	goto st789;
+st789:
 	if ( ++p == pe )
-		goto _test_eof775;
-case 775:
+		goto _test_eof789;
+case 789:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57064,104 +58557,104 @@ case 775:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2306;
-		case 32: goto tr2306;
-		case 40: goto tr2307;
-		case 41: goto tr2308;
-		case 1034: goto tr2310;
-		case 1083: goto tr2311;
+		case 9: goto tr2352;
+		case 32: goto tr2352;
+		case 40: goto tr2353;
+		case 41: goto tr2354;
+		case 1034: goto tr2356;
+		case 1083: goto tr2357;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2309;
-	goto tr1654;
-tr2314:
+		goto tr2355;
+	goto tr1700;
+tr2360:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st776;
-tr2315:
+	goto st790;
+tr2361:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st776;
-tr2320:
+	goto st790;
+tr2366:
 	{
 		s->line_counter++;
 	}
-	goto st776;
-tr2306:
+	goto st790;
+tr2352:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st776;
-tr2307:
+	goto st790;
+tr2353:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st776;
-tr2308:
+	goto st790;
+tr2354:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st776;
-tr2310:
+	goto st790;
+tr2356:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st776;
-st776:
+	goto st790;
+st790:
 	if ( ++p == pe )
-		goto _test_eof776;
-case 776:
+		goto _test_eof790;
+case 790:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57175,27 +58668,27 @@ case 776:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st776;
-		case 32: goto st776;
-		case 40: goto tr2314;
-		case 41: goto tr2315;
-		case 48: goto tr2316;
-		case 49: goto tr2317;
-		case 50: goto tr2318;
-		case 51: goto tr2319;
-		case 1034: goto tr2320;
-		case 1083: goto st812;
-	}
-	goto tr2312;
-tr2316:
+		case 9: goto st790;
+		case 32: goto st790;
+		case 40: goto tr2360;
+		case 41: goto tr2361;
+		case 48: goto tr2362;
+		case 49: goto tr2363;
+		case 50: goto tr2364;
+		case 51: goto tr2365;
+		case 1034: goto tr2366;
+		case 1083: goto st826;
+	}
+	goto tr2358;
+tr2362:
 	{
 		*(rdata_tail++) = 0;
 	}
-	goto st777;
-st777:
+	goto st791;
+st791:
 	if ( ++p == pe )
-		goto _test_eof777;
-case 777:
+		goto _test_eof791;
+case 791:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57209,41 +58702,41 @@ case 777:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st778;
-		case 32: goto st778;
-		case 40: goto tr2323;
-		case 41: goto tr2324;
-		case 1034: goto tr2325;
-		case 1083: goto st790;
-	}
-	goto tr2312;
-tr2323:
+		case 9: goto st792;
+		case 32: goto st792;
+		case 40: goto tr2369;
+		case 41: goto tr2370;
+		case 1034: goto tr2371;
+		case 1083: goto st804;
+	}
+	goto tr2358;
+tr2369:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st778;
-tr2324:
+	goto st792;
+tr2370:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st778;
-tr2325:
+	goto st792;
+tr2371:
 	{
 		s->line_counter++;
 	}
-	goto st778;
-st778:
+	goto st792;
+st792:
 	if ( ++p == pe )
-		goto _test_eof778;
-case 778:
+		goto _test_eof792;
+case 792:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57257,55 +58750,55 @@ case 778:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st778;
-		case 32: goto st778;
-		case 40: goto tr2323;
-		case 41: goto tr2324;
-		case 1034: goto tr2325;
-		case 1083: goto st790;
+		case 9: goto st792;
+		case 32: goto st792;
+		case 40: goto tr2369;
+		case 41: goto tr2370;
+		case 1034: goto tr2371;
+		case 1083: goto st804;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2328;
-	goto tr2327;
-tr2328:
+		goto tr2374;
+	goto tr2373;
+tr2374:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st779;
-tr2332:
+	goto st793;
+tr2378:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st779;
-st779:
+	goto st793;
+st793:
 	if ( ++p == pe )
-		goto _test_eof779;
-case 779:
+		goto _test_eof793;
+case 793:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57319,104 +58812,104 @@ case 779:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2329;
-		case 32: goto tr2329;
-		case 40: goto tr2330;
-		case 41: goto tr2331;
-		case 1034: goto tr2333;
-		case 1083: goto tr2334;
+		case 9: goto tr2375;
+		case 32: goto tr2375;
+		case 40: goto tr2376;
+		case 41: goto tr2377;
+		case 1034: goto tr2379;
+		case 1083: goto tr2380;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2332;
-	goto tr2327;
-tr2336:
+		goto tr2378;
+	goto tr2373;
+tr2382:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st780;
-tr2337:
+	goto st794;
+tr2383:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st780;
-tr2339:
+	goto st794;
+tr2385:
 	{
 		s->line_counter++;
 	}
-	goto st780;
-tr2329:
+	goto st794;
+tr2375:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st780;
-tr2330:
+	goto st794;
+tr2376:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st780;
-tr2331:
+	goto st794;
+tr2377:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st780;
-tr2333:
+	goto st794;
+tr2379:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st780;
-st780:
+	goto st794;
+st794:
 	if ( ++p == pe )
-		goto _test_eof780;
-case 780:
+		goto _test_eof794;
+case 794:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57430,19 +58923,19 @@ case 780:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st780;
-		case 32: goto st780;
-		case 40: goto tr2336;
-		case 41: goto tr2337;
-		case 46: goto st781;
-		case 1034: goto tr2339;
-		case 1083: goto st789;
+		case 9: goto st794;
+		case 32: goto st794;
+		case 40: goto tr2382;
+		case 41: goto tr2383;
+		case 46: goto st795;
+		case 1034: goto tr2385;
+		case 1083: goto st803;
 	}
-	goto tr2312;
-st781:
+	goto tr2358;
+st795:
 	if ( ++p == pe )
-		goto _test_eof781;
-case 781:
+		goto _test_eof795;
+case 795:
 	_widec = (*p);
 	if ( (*p) < 32 ) {
 		if ( (*p) > 9 ) {
@@ -57500,123 +58993,123 @@ case 781:
  s->number64 == 0  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 6153: goto st782;
-		case 6176: goto st782;
-		case 6184: goto tr2343;
-		case 6185: goto tr2344;
-		case 6409: goto st785;
-		case 6432: goto st785;
-		case 6440: goto tr2346;
-		case 6441: goto tr2347;
-		case 6665: goto st787;
-		case 6688: goto st787;
-		case 6696: goto tr2349;
-		case 6697: goto tr2350;
-		case 9482: goto tr2351;
-		case 9531: goto tr2351;
-		case 9738: goto tr2351;
-		case 9787: goto tr2351;
-		case 10250: goto tr2352;
-		case 10299: goto st784;
-		case 10506: goto tr2351;
-		case 10555: goto tr2351;
-		case 10762: goto tr2354;
-		case 10811: goto tr2355;
-		case 11274: goto tr2356;
-		case 11323: goto st786;
-		case 11530: goto tr2351;
-		case 11579: goto tr2351;
-		case 11786: goto tr2358;
-		case 11835: goto tr2359;
-		case 12298: goto tr2360;
-		case 12347: goto st788;
-		case 12554: goto tr2351;
-		case 12603: goto tr2351;
-		case 12810: goto tr2362;
-		case 12859: goto tr2363;
-	}
-	goto tr2341;
-tr2343:
+		case 6153: goto st796;
+		case 6176: goto st796;
+		case 6184: goto tr2389;
+		case 6185: goto tr2390;
+		case 6409: goto st799;
+		case 6432: goto st799;
+		case 6440: goto tr2392;
+		case 6441: goto tr2393;
+		case 6665: goto st801;
+		case 6688: goto st801;
+		case 6696: goto tr2395;
+		case 6697: goto tr2396;
+		case 9482: goto tr2397;
+		case 9531: goto tr2397;
+		case 9738: goto tr2397;
+		case 9787: goto tr2397;
+		case 10250: goto tr2398;
+		case 10299: goto st798;
+		case 10506: goto tr2397;
+		case 10555: goto tr2397;
+		case 10762: goto tr2400;
+		case 10811: goto tr2401;
+		case 11274: goto tr2402;
+		case 11323: goto st800;
+		case 11530: goto tr2397;
+		case 11579: goto tr2397;
+		case 11786: goto tr2404;
+		case 11835: goto tr2405;
+		case 12298: goto tr2406;
+		case 12347: goto st802;
+		case 12554: goto tr2397;
+		case 12603: goto tr2397;
+		case 12810: goto tr2408;
+		case 12859: goto tr2409;
+	}
+	goto tr2387;
+tr2389:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st782;
-tr2344:
+	goto st796;
+tr2390:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st782;
-tr2352:
+	goto st796;
+tr2398:
 	{
 		s->line_counter++;
 	}
-	goto st782;
-tr2468:
+	goto st796;
+tr2514:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st782;
-tr2469:
+	goto st796;
+tr2515:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st782;
-tr2470:
+	goto st796;
+tr2516:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st782;
-tr2478:
+	goto st796;
+tr2524:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st782;
-tr2387:
+	goto st796;
+tr2433:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
 		rdata_tail += INET4_ADDR_LENGTH;
 	}
-	goto st782;
-tr2388:
+	goto st796;
+tr2434:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57626,18 +59119,18 @@ tr2388:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st782;
-tr2389:
+	goto st796;
+tr2435:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57647,18 +59140,18 @@ tr2389:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st782;
-tr2397:
+	goto st796;
+tr2443:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57668,28 +59161,28 @@ tr2397:
 	{
 		s->line_counter++;
 	}
-	goto st782;
-tr2428:
+	goto st796;
+tr2474:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr6.s6_addr), INET6_ADDR_LENGTH);
 		rdata_tail += INET6_ADDR_LENGTH;
 	}
-	goto st782;
-tr2429:
+	goto st796;
+tr2475:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57699,18 +59192,18 @@ tr2429:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st782;
-tr2430:
+	goto st796;
+tr2476:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57720,18 +59213,18 @@ tr2430:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st782;
-tr2438:
+	goto st796;
+tr2484:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57741,11 +59234,11 @@ tr2438:
 	{
 		s->line_counter++;
 	}
-	goto st782;
-st782:
+	goto st796;
+st796:
 	if ( ++p == pe )
-		goto _test_eof782;
-case 782:
+		goto _test_eof796;
+case 796:
 	_widec = (*p);
 	if ( (*p) < 43 ) {
 		if ( (*p) < 32 ) {
@@ -57817,30 +59310,30 @@ case 782:
  s->number64 != 0  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 3081: goto st782;
-		case 3104: goto st782;
-		case 3112: goto tr2343;
-		case 3113: goto tr2344;
-		case 3115: goto tr2365;
-		case 4106: goto tr2352;
-		case 4155: goto st784;
+		case 3081: goto st796;
+		case 3104: goto st796;
+		case 3112: goto tr2389;
+		case 3113: goto tr2390;
+		case 3115: goto tr2411;
+		case 4106: goto tr2398;
+		case 4155: goto st798;
 	}
 	if ( _widec < 3137 ) {
 		if ( 3119 <= _widec && _widec <= 3129 )
-			goto tr2365;
+			goto tr2411;
 	} else if ( _widec > 3162 ) {
 		if ( 3169 <= _widec && _widec <= 3194 )
-			goto tr2365;
+			goto tr2411;
 	} else
-		goto tr2365;
-	goto tr2364;
-tr2365:
-	{ p--; {stack[top++] = 783; goto st307;} }
-	goto st783;
-st783:
+		goto tr2411;
+	goto tr2410;
+tr2411:
+	{ p--; {stack[top++] = 797; goto st314;} }
+	goto st797;
+st797:
 	if ( ++p == pe )
-		goto _test_eof783;
-case 783:
+		goto _test_eof797;
+case 797:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57854,22 +59347,22 @@ case 783:
  !s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 1546: goto tr2351;
-		case 1595: goto tr2351;
+		case 1546: goto tr2397;
+		case 1595: goto tr2397;
 	}
-	goto tr2364;
-tr2351:
+	goto tr2410;
+tr2397:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1121;
-tr2396:
+	goto st1142;
+tr2442:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57879,22 +59372,22 @@ tr2396:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1121;
-tr2477:
+	goto st1142;
+tr2523:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1121;
-tr2437:
+	goto st1142;
+tr2483:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -57904,49 +59397,49 @@ tr2437:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1121;
-st1121:
+	goto st1142;
+st1142:
 	if ( ++p == pe )
-		goto _test_eof1121;
-case 1121:
+		goto _test_eof1142;
+case 1142:
 	goto st0;
-tr2479:
+tr2525:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st784;
-tr2398:
+	goto st798;
+tr2444:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
 		rdata_tail += INET4_ADDR_LENGTH;
 	}
-	goto st784;
-tr2439:
+	goto st798;
+tr2485:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr6.s6_addr), INET6_ADDR_LENGTH);
 		rdata_tail += INET6_ADDR_LENGTH;
 	}
-	goto st784;
-st784:
+	goto st798;
+st798:
 	if ( ++p == pe )
-		goto _test_eof784;
-case 784:
+		goto _test_eof798;
+case 798:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -57972,91 +59465,91 @@ case 784:
  s->number64 != 0  ) _widec += 512;
 	}
 	if ( _widec == 4106 )
-		goto tr2352;
+		goto tr2398;
 	if ( 3968 <= _widec && _widec <= 4223 )
-		goto st784;
-	goto tr2364;
-tr2346:
+		goto st798;
+	goto tr2410;
+tr2392:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st785;
-tr2347:
+	goto st799;
+tr2393:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st785;
-tr2356:
+	goto st799;
+tr2402:
 	{
 		s->line_counter++;
 	}
-	goto st785;
-tr2471:
+	goto st799;
+tr2517:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st785;
-tr2472:
+	goto st799;
+tr2518:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st785;
-tr2473:
+	goto st799;
+tr2519:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st785;
-tr2482:
+	goto st799;
+tr2528:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st785;
-tr2390:
+	goto st799;
+tr2436:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
 		rdata_tail += INET4_ADDR_LENGTH;
 	}
-	goto st785;
-tr2391:
+	goto st799;
+tr2437:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58066,18 +59559,18 @@ tr2391:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st785;
-tr2392:
+	goto st799;
+tr2438:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58087,18 +59580,18 @@ tr2392:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st785;
-tr2401:
+	goto st799;
+tr2447:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58108,28 +59601,28 @@ tr2401:
 	{
 		s->line_counter++;
 	}
-	goto st785;
-tr2431:
+	goto st799;
+tr2477:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr6.s6_addr), INET6_ADDR_LENGTH);
 		rdata_tail += INET6_ADDR_LENGTH;
 	}
-	goto st785;
-tr2432:
+	goto st799;
+tr2478:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58139,18 +59632,18 @@ tr2432:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st785;
-tr2433:
+	goto st799;
+tr2479:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58160,18 +59653,18 @@ tr2433:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st785;
-tr2442:
+	goto st799;
+tr2488:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58181,11 +59674,11 @@ tr2442:
 	{
 		s->line_counter++;
 	}
-	goto st785;
-st785:
+	goto st799;
+st799:
 	if ( ++p == pe )
-		goto _test_eof785;
-case 785:
+		goto _test_eof799;
+case 799:
 	_widec = (*p);
 	if ( (*p) < 32 ) {
 		if ( (*p) > 9 ) {
@@ -58231,59 +59724,59 @@ case 785:
  s->number64 == 0  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 4617: goto st785;
-		case 4640: goto st785;
-		case 4648: goto tr2346;
-		case 4649: goto tr2347;
-		case 13578: goto tr2351;
-		case 13627: goto tr2351;
-		case 13834: goto tr2351;
-		case 13883: goto tr2351;
-		case 14346: goto tr2356;
-		case 14395: goto st786;
-		case 14602: goto tr2351;
-		case 14651: goto tr2351;
-		case 14858: goto tr2358;
-		case 14907: goto tr2359;
-	}
-	goto tr2364;
-tr2483:
+		case 4617: goto st799;
+		case 4640: goto st799;
+		case 4648: goto tr2392;
+		case 4649: goto tr2393;
+		case 13578: goto tr2397;
+		case 13627: goto tr2397;
+		case 13834: goto tr2397;
+		case 13883: goto tr2397;
+		case 14346: goto tr2402;
+		case 14395: goto st800;
+		case 14602: goto tr2397;
+		case 14651: goto tr2397;
+		case 14858: goto tr2404;
+		case 14907: goto tr2405;
+	}
+	goto tr2410;
+tr2529:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st786;
-tr2402:
+	goto st800;
+tr2448:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
 		rdata_tail += INET4_ADDR_LENGTH;
 	}
-	goto st786;
-tr2443:
+	goto st800;
+tr2489:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr6.s6_addr), INET6_ADDR_LENGTH);
 		rdata_tail += INET6_ADDR_LENGTH;
 	}
-	goto st786;
-st786:
+	goto st800;
+st800:
 	if ( ++p == pe )
-		goto _test_eof786;
-case 786:
+		goto _test_eof800;
+case 800:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -58309,25 +59802,25 @@ case 786:
  s->number64 == 0  ) _widec += 512;
 	}
 	if ( _widec == 5642 )
-		goto tr2356;
+		goto tr2402;
 	if ( 5504 <= _widec && _widec <= 5759 )
-		goto st786;
-	goto tr2364;
-tr2358:
+		goto st800;
+	goto tr2410;
+tr2404:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1122;
-tr2403:
+	goto st1143;
+tr2449:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58340,14 +59833,14 @@ tr2403:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1122;
-tr2444:
+	goto st1143;
+tr2490:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58360,8 +59853,8 @@ tr2444:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1122;
-tr2484:
+	goto st1143;
+tr2530:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
@@ -58371,11 +59864,11 @@ tr2484:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1122;
-st1122:
+	goto st1143;
+st1143:
 	if ( ++p == pe )
-		goto _test_eof1122;
-case 1122:
+		goto _test_eof1143;
+case 1143:
 	_widec = (*p);
 	if ( (*p) < 32 ) {
 		if ( (*p) > 9 ) {
@@ -58421,34 +59914,34 @@ case 1122:
  s->number64 == 0  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 4617: goto st785;
-		case 4640: goto st785;
-		case 4648: goto tr2346;
-		case 4649: goto tr2347;
-		case 13578: goto tr2351;
-		case 13627: goto tr2351;
-		case 13834: goto tr2351;
-		case 13883: goto tr2351;
-		case 14346: goto tr2356;
-		case 14395: goto st786;
-		case 14602: goto tr2351;
-		case 14651: goto tr2351;
-		case 14858: goto tr2358;
-		case 14907: goto tr2359;
-	}
-	goto tr2364;
-tr2359:
+		case 4617: goto st799;
+		case 4640: goto st799;
+		case 4648: goto tr2392;
+		case 4649: goto tr2393;
+		case 13578: goto tr2397;
+		case 13627: goto tr2397;
+		case 13834: goto tr2397;
+		case 13883: goto tr2397;
+		case 14346: goto tr2402;
+		case 14395: goto st800;
+		case 14602: goto tr2397;
+		case 14651: goto tr2397;
+		case 14858: goto tr2404;
+		case 14907: goto tr2405;
+	}
+	goto tr2410;
+tr2405:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1123;
-tr2404:
+	goto st1144;
+tr2450:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58458,22 +59951,22 @@ tr2404:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1123;
-tr2485:
+	goto st1144;
+tr2531:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1123;
-tr2445:
+	goto st1144;
+tr2491:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58483,11 +59976,11 @@ tr2445:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1123;
-st1123:
+	goto st1144;
+st1144:
 	if ( ++p == pe )
-		goto _test_eof1123;
-case 1123:
+		goto _test_eof1144;
+case 1144:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -58513,91 +60006,91 @@ case 1123:
  s->number64 == 0  ) _widec += 512;
 	}
 	if ( _widec == 5642 )
-		goto tr2356;
+		goto tr2402;
 	if ( 5504 <= _widec && _widec <= 5759 )
-		goto st786;
-	goto tr2364;
-tr2349:
+		goto st800;
+	goto tr2410;
+tr2395:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st787;
-tr2350:
+	goto st801;
+tr2396:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st787;
-tr2360:
+	goto st801;
+tr2406:
 	{
 		s->line_counter++;
 	}
-	goto st787;
-tr2474:
+	goto st801;
+tr2520:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st787;
-tr2475:
+	goto st801;
+tr2521:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st787;
-tr2476:
+	goto st801;
+tr2522:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st787;
-tr2486:
+	goto st801;
+tr2532:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st787;
-tr2393:
+	goto st801;
+tr2439:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
 		rdata_tail += INET4_ADDR_LENGTH;
 	}
-	goto st787;
-tr2394:
+	goto st801;
+tr2440:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58607,18 +60100,18 @@ tr2394:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st787;
-tr2395:
+	goto st801;
+tr2441:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58628,18 +60121,18 @@ tr2395:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st787;
-tr2405:
+	goto st801;
+tr2451:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58649,28 +60142,28 @@ tr2405:
 	{
 		s->line_counter++;
 	}
-	goto st787;
-tr2434:
+	goto st801;
+tr2480:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr6.s6_addr), INET6_ADDR_LENGTH);
 		rdata_tail += INET6_ADDR_LENGTH;
 	}
-	goto st787;
-tr2435:
+	goto st801;
+tr2481:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58680,18 +60173,18 @@ tr2435:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st787;
-tr2436:
+	goto st801;
+tr2482:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58701,18 +60194,18 @@ tr2436:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st787;
-tr2446:
+	goto st801;
+tr2492:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58722,11 +60215,11 @@ tr2446:
 	{
 		s->line_counter++;
 	}
-	goto st787;
-st787:
+	goto st801;
+st801:
 	if ( ++p == pe )
-		goto _test_eof787;
-case 787:
+		goto _test_eof801;
+case 801:
 	_widec = (*p);
 	if ( (*p) < 43 ) {
 		if ( (*p) < 32 ) {
@@ -58814,66 +60307,66 @@ case 787:
  s->number64 != 0  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 3115: goto tr2365;
-		case 6153: goto st782;
-		case 6176: goto st782;
-		case 6184: goto tr2343;
-		case 6185: goto tr2344;
-		case 6409: goto st785;
-		case 6432: goto st785;
-		case 6440: goto tr2346;
-		case 6441: goto tr2347;
-		case 6665: goto st787;
-		case 6688: goto st787;
-		case 6696: goto tr2349;
-		case 6697: goto tr2350;
-		case 9482: goto tr2351;
-		case 9531: goto tr2351;
-		case 9738: goto tr2351;
-		case 9787: goto tr2351;
-		case 10250: goto tr2352;
-		case 10299: goto st784;
-		case 10506: goto tr2351;
-		case 10555: goto tr2351;
-		case 10762: goto tr2354;
-		case 10811: goto tr2355;
-		case 11274: goto tr2356;
-		case 11323: goto st786;
-		case 11530: goto tr2351;
-		case 11579: goto tr2351;
-		case 11786: goto tr2358;
-		case 11835: goto tr2359;
-		case 12298: goto tr2360;
-		case 12347: goto st788;
-		case 12554: goto tr2351;
-		case 12603: goto tr2351;
-		case 12810: goto tr2362;
-		case 12859: goto tr2363;
+		case 3115: goto tr2411;
+		case 6153: goto st796;
+		case 6176: goto st796;
+		case 6184: goto tr2389;
+		case 6185: goto tr2390;
+		case 6409: goto st799;
+		case 6432: goto st799;
+		case 6440: goto tr2392;
+		case 6441: goto tr2393;
+		case 6665: goto st801;
+		case 6688: goto st801;
+		case 6696: goto tr2395;
+		case 6697: goto tr2396;
+		case 9482: goto tr2397;
+		case 9531: goto tr2397;
+		case 9738: goto tr2397;
+		case 9787: goto tr2397;
+		case 10250: goto tr2398;
+		case 10299: goto st798;
+		case 10506: goto tr2397;
+		case 10555: goto tr2397;
+		case 10762: goto tr2400;
+		case 10811: goto tr2401;
+		case 11274: goto tr2402;
+		case 11323: goto st800;
+		case 11530: goto tr2397;
+		case 11579: goto tr2397;
+		case 11786: goto tr2404;
+		case 11835: goto tr2405;
+		case 12298: goto tr2406;
+		case 12347: goto st802;
+		case 12554: goto tr2397;
+		case 12603: goto tr2397;
+		case 12810: goto tr2408;
+		case 12859: goto tr2409;
 	}
 	if ( _widec < 3137 ) {
 		if ( 3119 <= _widec && _widec <= 3129 )
-			goto tr2365;
+			goto tr2411;
 	} else if ( _widec > 3162 ) {
 		if ( 3169 <= _widec && _widec <= 3194 )
-			goto tr2365;
+			goto tr2411;
 	} else
-		goto tr2365;
-	goto tr2364;
-tr2354:
+		goto tr2411;
+	goto tr2410;
+tr2400:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1124;
-tr2399:
+	goto st1145;
+tr2445:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58886,14 +60379,14 @@ tr2399:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1124;
-tr2440:
+	goto st1145;
+tr2486:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -58906,8 +60399,8 @@ tr2440:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1124;
-tr2480:
+	goto st1145;
+tr2526:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
@@ -58917,11 +60410,11 @@ tr2480:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1124;
-st1124:
+	goto st1145;
+st1145:
 	if ( ++p == pe )
-		goto _test_eof1124;
-case 1124:
+		goto _test_eof1145;
+case 1145:
 	_widec = (*p);
 	if ( (*p) < 43 ) {
 		if ( (*p) < 32 ) {
@@ -58993,35 +60486,35 @@ case 1124:
  s->number64 != 0  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 3081: goto st782;
-		case 3104: goto st782;
-		case 3112: goto tr2343;
-		case 3113: goto tr2344;
-		case 3115: goto tr2365;
-		case 4106: goto tr2352;
-		case 4155: goto st784;
+		case 3081: goto st796;
+		case 3104: goto st796;
+		case 3112: goto tr2389;
+		case 3113: goto tr2390;
+		case 3115: goto tr2411;
+		case 4106: goto tr2398;
+		case 4155: goto st798;
 	}
 	if ( _widec < 3137 ) {
 		if ( 3119 <= _widec && _widec <= 3129 )
-			goto tr2365;
+			goto tr2411;
 	} else if ( _widec > 3162 ) {
 		if ( 3169 <= _widec && _widec <= 3194 )
-			goto tr2365;
+			goto tr2411;
 	} else
-		goto tr2365;
-	goto tr2364;
-tr2355:
+		goto tr2411;
+	goto tr2410;
+tr2401:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1125;
-tr2400:
+	goto st1146;
+tr2446:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -59031,22 +60524,22 @@ tr2400:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1125;
-tr2481:
+	goto st1146;
+tr2527:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1125;
-tr2441:
+	goto st1146;
+tr2487:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -59056,11 +60549,11 @@ tr2441:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1125;
-st1125:
+	goto st1146;
+st1146:
 	if ( ++p == pe )
-		goto _test_eof1125;
-case 1125:
+		goto _test_eof1146;
+case 1146:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59086,47 +60579,47 @@ case 1125:
  s->number64 != 0  ) _widec += 512;
 	}
 	if ( _widec == 4106 )
-		goto tr2352;
+		goto tr2398;
 	if ( 3968 <= _widec && _widec <= 4223 )
-		goto st784;
-	goto tr2364;
-tr2487:
+		goto st798;
+	goto tr2410;
+tr2533:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st788;
-tr2406:
+	goto st802;
+tr2452:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr4.s_addr), INET4_ADDR_LENGTH);
 		rdata_tail += INET4_ADDR_LENGTH;
 	}
-	goto st788;
-tr2447:
+	goto st802;
+tr2493:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		memcpy(rdata_tail, &(addr6.s6_addr), INET6_ADDR_LENGTH);
 		rdata_tail += INET6_ADDR_LENGTH;
 	}
-	goto st788;
-st788:
+	goto st802;
+st802:
 	if ( ++p == pe )
-		goto _test_eof788;
-case 788:
+		goto _test_eof802;
+case 802:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59158,34 +60651,34 @@ case 788:
  s->number64 == 0  ) _widec += 1024;
 	}
 	switch( _widec ) {
-		case 7690: goto tr2352;
-		case 8202: goto tr2356;
-		case 8714: goto tr2360;
+		case 7690: goto tr2398;
+		case 8202: goto tr2402;
+		case 8714: goto tr2406;
 	}
 	if ( _widec < 8064 ) {
 		if ( 7552 <= _widec && _widec <= 7807 )
-			goto st784;
+			goto st798;
 	} else if ( _widec > 8319 ) {
 		if ( 8576 <= _widec && _widec <= 8831 )
-			goto st788;
+			goto st802;
 	} else
-		goto st786;
-	goto tr2364;
-tr2362:
+		goto st800;
+	goto tr2410;
+tr2408:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1126;
-tr2407:
+	goto st1147;
+tr2453:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -59198,14 +60691,14 @@ tr2407:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1126;
-tr2448:
+	goto st1147;
+tr2494:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -59218,8 +60711,8 @@ tr2448:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1126;
-tr2488:
+	goto st1147;
+tr2534:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
@@ -59229,11 +60722,11 @@ tr2488:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1126;
-st1126:
+	goto st1147;
+st1147:
 	if ( ++p == pe )
-		goto _test_eof1126;
-case 1126:
+		goto _test_eof1147;
+case 1147:
 	_widec = (*p);
 	if ( (*p) < 43 ) {
 		if ( (*p) < 32 ) {
@@ -59321,63 +60814,63 @@ case 1126:
  s->number64 != 0  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 3115: goto tr2365;
-		case 6153: goto st782;
-		case 6176: goto st782;
-		case 6184: goto tr2343;
-		case 6185: goto tr2344;
-		case 6409: goto st785;
-		case 6432: goto st785;
-		case 6440: goto tr2346;
-		case 6441: goto tr2347;
-		case 6665: goto st787;
-		case 6688: goto st787;
-		case 6696: goto tr2349;
-		case 6697: goto tr2350;
-		case 9482: goto tr2351;
-		case 9531: goto tr2351;
-		case 9738: goto tr2351;
-		case 9787: goto tr2351;
-		case 10250: goto tr2352;
-		case 10299: goto st784;
-		case 10506: goto tr2351;
-		case 10555: goto tr2351;
-		case 10762: goto tr2354;
-		case 10811: goto tr2355;
-		case 11274: goto tr2356;
-		case 11323: goto st786;
-		case 11530: goto tr2351;
-		case 11579: goto tr2351;
-		case 11786: goto tr2358;
-		case 11835: goto tr2359;
-		case 12298: goto tr2360;
-		case 12347: goto st788;
-		case 12554: goto tr2351;
-		case 12603: goto tr2351;
-		case 12810: goto tr2362;
-		case 12859: goto tr2363;
+		case 3115: goto tr2411;
+		case 6153: goto st796;
+		case 6176: goto st796;
+		case 6184: goto tr2389;
+		case 6185: goto tr2390;
+		case 6409: goto st799;
+		case 6432: goto st799;
+		case 6440: goto tr2392;
+		case 6441: goto tr2393;
+		case 6665: goto st801;
+		case 6688: goto st801;
+		case 6696: goto tr2395;
+		case 6697: goto tr2396;
+		case 9482: goto tr2397;
+		case 9531: goto tr2397;
+		case 9738: goto tr2397;
+		case 9787: goto tr2397;
+		case 10250: goto tr2398;
+		case 10299: goto st798;
+		case 10506: goto tr2397;
+		case 10555: goto tr2397;
+		case 10762: goto tr2400;
+		case 10811: goto tr2401;
+		case 11274: goto tr2402;
+		case 11323: goto st800;
+		case 11530: goto tr2397;
+		case 11579: goto tr2397;
+		case 11786: goto tr2404;
+		case 11835: goto tr2405;
+		case 12298: goto tr2406;
+		case 12347: goto st802;
+		case 12554: goto tr2397;
+		case 12603: goto tr2397;
+		case 12810: goto tr2408;
+		case 12859: goto tr2409;
 	}
 	if ( _widec < 3137 ) {
 		if ( 3119 <= _widec && _widec <= 3129 )
-			goto tr2365;
+			goto tr2411;
 	} else if ( _widec > 3162 ) {
 		if ( 3169 <= _widec && _widec <= 3194 )
-			goto tr2365;
+			goto tr2411;
 	} else
-		goto tr2365;
-	goto tr2364;
-tr2363:
+		goto tr2411;
+	goto tr2410;
+tr2409:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1127;
-tr2408:
+	goto st1148;
+tr2454:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -59387,22 +60880,22 @@ tr2408:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1127;
-tr2489:
+	goto st1148;
+tr2535:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1127;
-tr2449:
+	goto st1148;
+tr2495:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -59412,11 +60905,11 @@ tr2449:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1127;
-st1127:
+	goto st1148;
+st1148:
 	if ( ++p == pe )
-		goto _test_eof1127;
-case 1127:
+		goto _test_eof1148;
+case 1148:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59448,34 +60941,34 @@ case 1127:
  s->number64 == 0  ) _widec += 1024;
 	}
 	switch( _widec ) {
-		case 7690: goto tr2352;
-		case 8202: goto tr2356;
-		case 8714: goto tr2360;
+		case 7690: goto tr2398;
+		case 8202: goto tr2402;
+		case 8714: goto tr2406;
 	}
 	if ( _widec < 8064 ) {
 		if ( 7552 <= _widec && _widec <= 7807 )
-			goto st784;
+			goto st798;
 	} else if ( _widec > 8319 ) {
 		if ( 8576 <= _widec && _widec <= 8831 )
-			goto st788;
+			goto st802;
 	} else
-		goto st786;
-	goto tr2364;
-tr2334:
+		goto st800;
+	goto tr2410;
+tr2380:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st789;
-st789:
+	goto st803;
+st803:
 	if ( ++p == pe )
-		goto _test_eof789;
-case 789:
+		goto _test_eof803;
+case 803:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59495,14 +60988,14 @@ case 789:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2339;
+		goto tr2385;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st789;
-	goto tr2312;
-st790:
+		goto st803;
+	goto tr2358;
+st804:
 	if ( ++p == pe )
-		goto _test_eof790;
-case 790:
+		goto _test_eof804;
+case 804:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59522,19 +61015,19 @@ case 790:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2325;
+		goto tr2371;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st790;
-	goto tr2312;
-tr2317:
+		goto st804;
+	goto tr2358;
+tr2363:
 	{
 		*(rdata_tail++) = 1;
 	}
-	goto st791;
-st791:
+	goto st805;
+st805:
 	if ( ++p == pe )
-		goto _test_eof791;
-case 791:
+		goto _test_eof805;
+case 805:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59548,41 +61041,41 @@ case 791:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st792;
-		case 32: goto st792;
-		case 40: goto tr2367;
-		case 41: goto tr2368;
-		case 1034: goto tr2369;
-		case 1083: goto st797;
+		case 9: goto st806;
+		case 32: goto st806;
+		case 40: goto tr2413;
+		case 41: goto tr2414;
+		case 1034: goto tr2415;
+		case 1083: goto st811;
 	}
-	goto tr2312;
-tr2367:
+	goto tr2358;
+tr2413:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st792;
-tr2368:
+	goto st806;
+tr2414:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st792;
-tr2369:
+	goto st806;
+tr2415:
 	{
 		s->line_counter++;
 	}
-	goto st792;
-st792:
+	goto st806;
+st806:
 	if ( ++p == pe )
-		goto _test_eof792;
-case 792:
+		goto _test_eof806;
+case 806:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59596,55 +61089,55 @@ case 792:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st792;
-		case 32: goto st792;
-		case 40: goto tr2367;
-		case 41: goto tr2368;
-		case 1034: goto tr2369;
-		case 1083: goto st797;
+		case 9: goto st806;
+		case 32: goto st806;
+		case 40: goto tr2413;
+		case 41: goto tr2414;
+		case 1034: goto tr2415;
+		case 1083: goto st811;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2371;
-	goto tr2327;
-tr2371:
+		goto tr2417;
+	goto tr2373;
+tr2417:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st793;
-tr2375:
+	goto st807;
+tr2421:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st793;
-st793:
+	goto st807;
+st807:
 	if ( ++p == pe )
-		goto _test_eof793;
-case 793:
+		goto _test_eof807;
+case 807:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59658,104 +61151,104 @@ case 793:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2372;
-		case 32: goto tr2372;
-		case 40: goto tr2373;
-		case 41: goto tr2374;
-		case 1034: goto tr2376;
-		case 1083: goto tr2377;
+		case 9: goto tr2418;
+		case 32: goto tr2418;
+		case 40: goto tr2419;
+		case 41: goto tr2420;
+		case 1034: goto tr2422;
+		case 1083: goto tr2423;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2375;
-	goto tr2327;
-tr2380:
+		goto tr2421;
+	goto tr2373;
+tr2426:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st794;
-tr2381:
+	goto st808;
+tr2427:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st794;
-tr2383:
+	goto st808;
+tr2429:
 	{
 		s->line_counter++;
 	}
-	goto st794;
-tr2372:
+	goto st808;
+tr2418:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st794;
-tr2373:
+	goto st808;
+tr2419:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st794;
-tr2374:
+	goto st808;
+tr2420:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st794;
-tr2376:
+	goto st808;
+tr2422:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st794;
-st794:
+	goto st808;
+st808:
 	if ( ++p == pe )
-		goto _test_eof794;
-case 794:
+		goto _test_eof808;
+case 808:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59769,18 +61262,18 @@ case 794:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st794;
-		case 32: goto st794;
-		case 40: goto tr2380;
-		case 41: goto tr2381;
-		case 46: goto tr2382;
-		case 1034: goto tr2383;
-		case 1083: goto st796;
+		case 9: goto st808;
+		case 32: goto st808;
+		case 40: goto tr2426;
+		case 41: goto tr2427;
+		case 46: goto tr2428;
+		case 1034: goto tr2429;
+		case 1083: goto st810;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2382;
-	goto tr2378;
-tr2382:
+		goto tr2428;
+	goto tr2424;
+tr2428:
 	{
 		s->buffer_length = 0;
 	}
@@ -59790,25 +61283,25 @@ tr2382:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st795;
-tr2386:
+	goto st809;
+tr2432:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st795;
-st795:
+	goto st809;
+st809:
 	if ( ++p == pe )
-		goto _test_eof795;
-case 795:
+		goto _test_eof809;
+case 809:
 	_widec = (*p);
 	if ( (*p) < 32 ) {
 		if ( (*p) > 9 ) {
@@ -59866,60 +61359,60 @@ case 795:
  s->number64 == 0  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 46: goto tr2386;
-		case 6153: goto tr2387;
-		case 6176: goto tr2387;
-		case 6184: goto tr2388;
-		case 6185: goto tr2389;
-		case 6409: goto tr2390;
-		case 6432: goto tr2390;
-		case 6440: goto tr2391;
-		case 6441: goto tr2392;
-		case 6665: goto tr2393;
-		case 6688: goto tr2393;
-		case 6696: goto tr2394;
-		case 6697: goto tr2395;
-		case 9482: goto tr2396;
-		case 9531: goto tr2396;
-		case 9738: goto tr2396;
-		case 9787: goto tr2396;
-		case 10250: goto tr2397;
-		case 10299: goto tr2398;
-		case 10506: goto tr2396;
-		case 10555: goto tr2396;
-		case 10762: goto tr2399;
-		case 10811: goto tr2400;
-		case 11274: goto tr2401;
-		case 11323: goto tr2402;
-		case 11530: goto tr2396;
-		case 11579: goto tr2396;
-		case 11786: goto tr2403;
-		case 11835: goto tr2404;
-		case 12298: goto tr2405;
-		case 12347: goto tr2406;
-		case 12554: goto tr2396;
-		case 12603: goto tr2396;
-		case 12810: goto tr2407;
-		case 12859: goto tr2408;
+		case 46: goto tr2432;
+		case 6153: goto tr2433;
+		case 6176: goto tr2433;
+		case 6184: goto tr2434;
+		case 6185: goto tr2435;
+		case 6409: goto tr2436;
+		case 6432: goto tr2436;
+		case 6440: goto tr2437;
+		case 6441: goto tr2438;
+		case 6665: goto tr2439;
+		case 6688: goto tr2439;
+		case 6696: goto tr2440;
+		case 6697: goto tr2441;
+		case 9482: goto tr2442;
+		case 9531: goto tr2442;
+		case 9738: goto tr2442;
+		case 9787: goto tr2442;
+		case 10250: goto tr2443;
+		case 10299: goto tr2444;
+		case 10506: goto tr2442;
+		case 10555: goto tr2442;
+		case 10762: goto tr2445;
+		case 10811: goto tr2446;
+		case 11274: goto tr2447;
+		case 11323: goto tr2448;
+		case 11530: goto tr2442;
+		case 11579: goto tr2442;
+		case 11786: goto tr2449;
+		case 11835: goto tr2450;
+		case 12298: goto tr2451;
+		case 12347: goto tr2452;
+		case 12554: goto tr2442;
+		case 12603: goto tr2442;
+		case 12810: goto tr2453;
+		case 12859: goto tr2454;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2386;
-	goto tr2385;
-tr2377:
+		goto tr2432;
+	goto tr2431;
+tr2423:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st796;
-st796:
+	goto st810;
+st810:
 	if ( ++p == pe )
-		goto _test_eof796;
-case 796:
+		goto _test_eof810;
+case 810:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59939,14 +61432,14 @@ case 796:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2383;
+		goto tr2429;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st796;
-	goto tr2312;
-st797:
+		goto st810;
+	goto tr2358;
+st811:
 	if ( ++p == pe )
-		goto _test_eof797;
-case 797:
+		goto _test_eof811;
+case 811:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -59966,19 +61459,19 @@ case 797:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2369;
+		goto tr2415;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st797;
-	goto tr2312;
-tr2318:
+		goto st811;
+	goto tr2358;
+tr2364:
 	{
 		*(rdata_tail++) = 2;
 	}
-	goto st798;
-st798:
+	goto st812;
+st812:
 	if ( ++p == pe )
-		goto _test_eof798;
-case 798:
+		goto _test_eof812;
+case 812:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59992,41 +61485,41 @@ case 798:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st799;
-		case 32: goto st799;
-		case 40: goto tr2410;
-		case 41: goto tr2411;
-		case 1034: goto tr2412;
-		case 1083: goto st804;
-	}
-	goto tr2312;
-tr2410:
+		case 9: goto st813;
+		case 32: goto st813;
+		case 40: goto tr2456;
+		case 41: goto tr2457;
+		case 1034: goto tr2458;
+		case 1083: goto st818;
+	}
+	goto tr2358;
+tr2456:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st799;
-tr2411:
+	goto st813;
+tr2457:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st799;
-tr2412:
+	goto st813;
+tr2458:
 	{
 		s->line_counter++;
 	}
-	goto st799;
-st799:
+	goto st813;
+st813:
 	if ( ++p == pe )
-		goto _test_eof799;
-case 799:
+		goto _test_eof813;
+case 813:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60040,55 +61533,55 @@ case 799:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st799;
-		case 32: goto st799;
-		case 40: goto tr2410;
-		case 41: goto tr2411;
-		case 1034: goto tr2412;
-		case 1083: goto st804;
+		case 9: goto st813;
+		case 32: goto st813;
+		case 40: goto tr2456;
+		case 41: goto tr2457;
+		case 1034: goto tr2458;
+		case 1083: goto st818;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2414;
-	goto tr2327;
-tr2414:
+		goto tr2460;
+	goto tr2373;
+tr2460:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st800;
-tr2418:
+	goto st814;
+tr2464:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st800;
-st800:
+	goto st814;
+st814:
 	if ( ++p == pe )
-		goto _test_eof800;
-case 800:
+		goto _test_eof814;
+case 814:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60102,104 +61595,104 @@ case 800:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2415;
-		case 32: goto tr2415;
-		case 40: goto tr2416;
-		case 41: goto tr2417;
-		case 1034: goto tr2419;
-		case 1083: goto tr2420;
+		case 9: goto tr2461;
+		case 32: goto tr2461;
+		case 40: goto tr2462;
+		case 41: goto tr2463;
+		case 1034: goto tr2465;
+		case 1083: goto tr2466;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2418;
-	goto tr2327;
-tr2422:
+		goto tr2464;
+	goto tr2373;
+tr2468:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st801;
-tr2423:
+	goto st815;
+tr2469:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st801;
-tr2425:
+	goto st815;
+tr2471:
 	{
 		s->line_counter++;
 	}
-	goto st801;
-tr2415:
+	goto st815;
+tr2461:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st801;
-tr2416:
+	goto st815;
+tr2462:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st801;
-tr2417:
+	goto st815;
+tr2463:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st801;
-tr2419:
+	goto st815;
+tr2465:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st801;
-st801:
+	goto st815;
+st815:
 	if ( ++p == pe )
-		goto _test_eof801;
-case 801:
+		goto _test_eof815;
+case 815:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60213,24 +61706,24 @@ case 801:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st801;
-		case 32: goto st801;
-		case 40: goto tr2422;
-		case 41: goto tr2423;
-		case 46: goto tr2424;
-		case 1034: goto tr2425;
-		case 1083: goto st803;
+		case 9: goto st815;
+		case 32: goto st815;
+		case 40: goto tr2468;
+		case 41: goto tr2469;
+		case 46: goto tr2470;
+		case 1034: goto tr2471;
+		case 1083: goto st817;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 58 )
-			goto tr2424;
+			goto tr2470;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2424;
+			goto tr2470;
 	} else
-		goto tr2424;
-	goto tr2378;
-tr2424:
+		goto tr2470;
+	goto tr2424;
+tr2470:
 	{
 		s->buffer_length = 0;
 	}
@@ -60240,25 +61733,25 @@ tr2424:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st802;
-tr2427:
+	goto st816;
+tr2473:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st802;
-st802:
+	goto st816;
+st816:
 	if ( ++p == pe )
-		goto _test_eof802;
-case 802:
+		goto _test_eof816;
+case 816:
 	_widec = (*p);
 	if ( (*p) < 32 ) {
 		if ( (*p) > 9 ) {
@@ -60316,66 +61809,66 @@ case 802:
  s->number64 == 0  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 46: goto tr2427;
-		case 6153: goto tr2428;
-		case 6176: goto tr2428;
-		case 6184: goto tr2429;
-		case 6185: goto tr2430;
-		case 6409: goto tr2431;
-		case 6432: goto tr2431;
-		case 6440: goto tr2432;
-		case 6441: goto tr2433;
-		case 6665: goto tr2434;
-		case 6688: goto tr2434;
-		case 6696: goto tr2435;
-		case 6697: goto tr2436;
-		case 9482: goto tr2437;
-		case 9531: goto tr2437;
-		case 9738: goto tr2437;
-		case 9787: goto tr2437;
-		case 10250: goto tr2438;
-		case 10299: goto tr2439;
-		case 10506: goto tr2437;
-		case 10555: goto tr2437;
-		case 10762: goto tr2440;
-		case 10811: goto tr2441;
-		case 11274: goto tr2442;
-		case 11323: goto tr2443;
-		case 11530: goto tr2437;
-		case 11579: goto tr2437;
-		case 11786: goto tr2444;
-		case 11835: goto tr2445;
-		case 12298: goto tr2446;
-		case 12347: goto tr2447;
-		case 12554: goto tr2437;
-		case 12603: goto tr2437;
-		case 12810: goto tr2448;
-		case 12859: goto tr2449;
+		case 46: goto tr2473;
+		case 6153: goto tr2474;
+		case 6176: goto tr2474;
+		case 6184: goto tr2475;
+		case 6185: goto tr2476;
+		case 6409: goto tr2477;
+		case 6432: goto tr2477;
+		case 6440: goto tr2478;
+		case 6441: goto tr2479;
+		case 6665: goto tr2480;
+		case 6688: goto tr2480;
+		case 6696: goto tr2481;
+		case 6697: goto tr2482;
+		case 9482: goto tr2483;
+		case 9531: goto tr2483;
+		case 9738: goto tr2483;
+		case 9787: goto tr2483;
+		case 10250: goto tr2484;
+		case 10299: goto tr2485;
+		case 10506: goto tr2483;
+		case 10555: goto tr2483;
+		case 10762: goto tr2486;
+		case 10811: goto tr2487;
+		case 11274: goto tr2488;
+		case 11323: goto tr2489;
+		case 11530: goto tr2483;
+		case 11579: goto tr2483;
+		case 11786: goto tr2490;
+		case 11835: goto tr2491;
+		case 12298: goto tr2492;
+		case 12347: goto tr2493;
+		case 12554: goto tr2483;
+		case 12603: goto tr2483;
+		case 12810: goto tr2494;
+		case 12859: goto tr2495;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 58 )
-			goto tr2427;
+			goto tr2473;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2427;
+			goto tr2473;
 	} else
-		goto tr2427;
-	goto tr2385;
-tr2420:
+		goto tr2473;
+	goto tr2431;
+tr2466:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st803;
-st803:
+	goto st817;
+st817:
 	if ( ++p == pe )
-		goto _test_eof803;
-case 803:
+		goto _test_eof817;
+case 817:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -60395,14 +61888,14 @@ case 803:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2425;
+		goto tr2471;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st803;
-	goto tr2312;
-st804:
+		goto st817;
+	goto tr2358;
+st818:
 	if ( ++p == pe )
-		goto _test_eof804;
-case 804:
+		goto _test_eof818;
+case 818:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -60422,19 +61915,19 @@ case 804:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2412;
+		goto tr2458;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st804;
-	goto tr2312;
-tr2319:
+		goto st818;
+	goto tr2358;
+tr2365:
 	{
 		*(rdata_tail++) = 3;
 	}
-	goto st805;
-st805:
+	goto st819;
+st819:
 	if ( ++p == pe )
-		goto _test_eof805;
-case 805:
+		goto _test_eof819;
+case 819:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60448,41 +61941,41 @@ case 805:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st806;
-		case 32: goto st806;
-		case 40: goto tr2451;
-		case 41: goto tr2452;
-		case 1034: goto tr2453;
-		case 1083: goto st811;
+		case 9: goto st820;
+		case 32: goto st820;
+		case 40: goto tr2497;
+		case 41: goto tr2498;
+		case 1034: goto tr2499;
+		case 1083: goto st825;
 	}
-	goto tr2312;
-tr2451:
+	goto tr2358;
+tr2497:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st806;
-tr2452:
+	goto st820;
+tr2498:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st806;
-tr2453:
+	goto st820;
+tr2499:
 	{
 		s->line_counter++;
 	}
-	goto st806;
-st806:
+	goto st820;
+st820:
 	if ( ++p == pe )
-		goto _test_eof806;
-case 806:
+		goto _test_eof820;
+case 820:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60496,55 +61989,55 @@ case 806:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st806;
-		case 32: goto st806;
-		case 40: goto tr2451;
-		case 41: goto tr2452;
-		case 1034: goto tr2453;
-		case 1083: goto st811;
+		case 9: goto st820;
+		case 32: goto st820;
+		case 40: goto tr2497;
+		case 41: goto tr2498;
+		case 1034: goto tr2499;
+		case 1083: goto st825;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2455;
-	goto tr2327;
-tr2455:
+		goto tr2501;
+	goto tr2373;
+tr2501:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st807;
-tr2459:
+	goto st821;
+tr2505:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st807;
-st807:
+	goto st821;
+st821:
 	if ( ++p == pe )
-		goto _test_eof807;
-case 807:
+		goto _test_eof821;
+case 821:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60558,104 +62051,104 @@ case 807:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2456;
-		case 32: goto tr2456;
-		case 40: goto tr2457;
-		case 41: goto tr2458;
-		case 1034: goto tr2460;
-		case 1083: goto tr2461;
+		case 9: goto tr2502;
+		case 32: goto tr2502;
+		case 40: goto tr2503;
+		case 41: goto tr2504;
+		case 1034: goto tr2506;
+		case 1083: goto tr2507;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2459;
-	goto tr2327;
-tr2463:
+		goto tr2505;
+	goto tr2373;
+tr2509:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st808;
-tr2464:
+	goto st822;
+tr2510:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st808;
-tr2466:
+	goto st822;
+tr2512:
 	{
 		s->line_counter++;
 	}
-	goto st808;
-tr2456:
+	goto st822;
+tr2502:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st808;
-tr2457:
+	goto st822;
+tr2503:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st808;
-tr2458:
+	goto st822;
+tr2504:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st808;
-tr2460:
+	goto st822;
+tr2506:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st808;
-st808:
+	goto st822;
+st822:
 	if ( ++p == pe )
-		goto _test_eof808;
-case 808:
+		goto _test_eof822;
+case 822:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60669,35 +62162,35 @@ case 808:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st808;
-		case 32: goto st808;
-		case 40: goto tr2463;
-		case 41: goto tr2464;
-		case 42: goto tr2465;
-		case 92: goto tr2465;
-		case 95: goto tr2465;
-		case 1034: goto tr2466;
-		case 1083: goto st810;
+		case 9: goto st822;
+		case 32: goto st822;
+		case 40: goto tr2509;
+		case 41: goto tr2510;
+		case 42: goto tr2511;
+		case 92: goto tr2511;
+		case 95: goto tr2511;
+		case 1034: goto tr2512;
+		case 1083: goto st824;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr2465;
+			goto tr2511;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2465;
+			goto tr2511;
 	} else
-		goto tr2465;
-	goto tr2312;
-tr2465:
+		goto tr2511;
+	goto tr2358;
+tr2511:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 809; goto st248;} }
-	goto st809;
-st809:
+	{ p--; {stack[top++] = 823; goto st255;} }
+	goto st823;
+st823:
 	if ( ++p == pe )
-		goto _test_eof809;
-case 809:
+		goto _test_eof823;
+case 823:
 	_widec = (*p);
 	if ( (*p) < 32 ) {
 		if ( (*p) > 9 ) {
@@ -60755,57 +62248,57 @@ case 809:
  s->number64 == 0  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 6153: goto tr2468;
-		case 6176: goto tr2468;
-		case 6184: goto tr2469;
-		case 6185: goto tr2470;
-		case 6409: goto tr2471;
-		case 6432: goto tr2471;
-		case 6440: goto tr2472;
-		case 6441: goto tr2473;
-		case 6665: goto tr2474;
-		case 6688: goto tr2474;
-		case 6696: goto tr2475;
-		case 6697: goto tr2476;
-		case 9482: goto tr2477;
-		case 9531: goto tr2477;
-		case 9738: goto tr2477;
-		case 9787: goto tr2477;
-		case 10250: goto tr2478;
-		case 10299: goto tr2479;
-		case 10506: goto tr2477;
-		case 10555: goto tr2477;
-		case 10762: goto tr2480;
-		case 10811: goto tr2481;
-		case 11274: goto tr2482;
-		case 11323: goto tr2483;
-		case 11530: goto tr2477;
-		case 11579: goto tr2477;
-		case 11786: goto tr2484;
-		case 11835: goto tr2485;
-		case 12298: goto tr2486;
-		case 12347: goto tr2487;
-		case 12554: goto tr2477;
-		case 12603: goto tr2477;
-		case 12810: goto tr2488;
-		case 12859: goto tr2489;
-	}
-	goto tr2341;
-tr2461:
+		case 6153: goto tr2514;
+		case 6176: goto tr2514;
+		case 6184: goto tr2515;
+		case 6185: goto tr2516;
+		case 6409: goto tr2517;
+		case 6432: goto tr2517;
+		case 6440: goto tr2518;
+		case 6441: goto tr2519;
+		case 6665: goto tr2520;
+		case 6688: goto tr2520;
+		case 6696: goto tr2521;
+		case 6697: goto tr2522;
+		case 9482: goto tr2523;
+		case 9531: goto tr2523;
+		case 9738: goto tr2523;
+		case 9787: goto tr2523;
+		case 10250: goto tr2524;
+		case 10299: goto tr2525;
+		case 10506: goto tr2523;
+		case 10555: goto tr2523;
+		case 10762: goto tr2526;
+		case 10811: goto tr2527;
+		case 11274: goto tr2528;
+		case 11323: goto tr2529;
+		case 11530: goto tr2523;
+		case 11579: goto tr2523;
+		case 11786: goto tr2530;
+		case 11835: goto tr2531;
+		case 12298: goto tr2532;
+		case 12347: goto tr2533;
+		case 12554: goto tr2523;
+		case 12603: goto tr2523;
+		case 12810: goto tr2534;
+		case 12859: goto tr2535;
+	}
+	goto tr2387;
+tr2507:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st810;
-st810:
+	goto st824;
+st824:
 	if ( ++p == pe )
-		goto _test_eof810;
-case 810:
+		goto _test_eof824;
+case 824:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -60825,14 +62318,14 @@ case 810:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2466;
+		goto tr2512;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st810;
-	goto tr2312;
-st811:
+		goto st824;
+	goto tr2358;
+st825:
 	if ( ++p == pe )
-		goto _test_eof811;
-case 811:
+		goto _test_eof825;
+case 825:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -60852,25 +62345,25 @@ case 811:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2453;
+		goto tr2499;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st811;
-	goto tr2312;
-tr2311:
+		goto st825;
+	goto tr2358;
+tr2357:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st812;
-st812:
+	goto st826;
+st826:
 	if ( ++p == pe )
-		goto _test_eof812;
-case 812:
+		goto _test_eof826;
+case 826:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -60890,49 +62383,49 @@ case 812:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2320;
+		goto tr2366;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st812;
+		goto st826;
 	goto tr69;
-st813:
+st827:
 	if ( ++p == pe )
-		goto _test_eof813;
-case 813:
+		goto _test_eof827;
+case 827:
 	switch( (*p) ) {
-		case 65: goto st814;
-		case 67: goto st848;
-		case 68: goto st856;
-		case 69: goto st870;
-		case 72: goto st877;
-		case 73: goto st882;
-		case 75: goto st890;
-		case 76: goto st894;
-		case 77: goto st902;
-		case 78: goto st908;
-		case 80: goto st924;
-		case 82: goto st927;
-		case 83: goto st934;
-		case 84: goto st945;
-		case 97: goto st814;
-		case 99: goto st848;
-		case 100: goto st856;
-		case 101: goto st870;
-		case 104: goto st877;
-		case 105: goto st882;
-		case 107: goto st890;
-		case 108: goto st894;
-		case 109: goto st902;
-		case 110: goto st908;
-		case 112: goto st924;
-		case 114: goto st927;
-		case 115: goto st934;
-		case 116: goto st945;
-	}
-	goto tr2490;
-st814:
+		case 65: goto st828;
+		case 67: goto st862;
+		case 68: goto st877;
+		case 69: goto st891;
+		case 72: goto st898;
+		case 73: goto st903;
+		case 75: goto st911;
+		case 76: goto st915;
+		case 77: goto st923;
+		case 78: goto st929;
+		case 80: goto st945;
+		case 82: goto st948;
+		case 83: goto st955;
+		case 84: goto st966;
+		case 97: goto st828;
+		case 99: goto st862;
+		case 100: goto st877;
+		case 101: goto st891;
+		case 104: goto st898;
+		case 105: goto st903;
+		case 107: goto st911;
+		case 108: goto st915;
+		case 109: goto st923;
+		case 110: goto st929;
+		case 112: goto st945;
+		case 114: goto st948;
+		case 115: goto st955;
+		case 116: goto st966;
+	}
+	goto tr2536;
+st828:
 	if ( ++p == pe )
-		goto _test_eof814;
-case 814:
+		goto _test_eof828;
+case 828:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60946,1210 +62439,1268 @@ case 814:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2505;
-		case 32: goto tr2505;
-		case 40: goto tr2506;
-		case 41: goto tr2507;
-		case 65: goto st839;
-		case 70: goto st842;
-		case 80: goto st846;
-		case 97: goto st839;
-		case 102: goto st842;
-		case 112: goto st846;
-		case 1034: goto tr2511;
-		case 1083: goto tr2512;
-	}
-	goto tr2490;
-tr2514:
+		case 9: goto tr2551;
+		case 32: goto tr2551;
+		case 40: goto tr2552;
+		case 41: goto tr2553;
+		case 65: goto st853;
+		case 70: goto st856;
+		case 80: goto st860;
+		case 97: goto st853;
+		case 102: goto st856;
+		case 112: goto st860;
+		case 1034: goto tr2557;
+		case 1083: goto tr2558;
+	}
+	goto tr2536;
+tr2560:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2515:
+	goto st829;
+tr2561:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2517:
+	goto st829;
+tr2563:
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2884:
+	goto st829;
+tr2947:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st815;
-tr2885:
+	goto st829;
+tr2948:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2886:
+	goto st829;
+tr2949:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2888:
+	goto st829;
+tr2951:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2505:
+	goto st829;
+tr2551:
 	{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
-	goto st815;
-tr2506:
+	goto st829;
+tr2552:
 	{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2507:
+	goto st829;
+tr2553:
 	{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2511:
+	goto st829;
+tr2557:
 	{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2600:
+	goto st829;
+tr2646:
 	{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
-	goto st815;
-tr2601:
+	goto st829;
+tr2647:
 	{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2602:
+	goto st829;
+tr2648:
 	{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2603:
+	goto st829;
+tr2649:
 	{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2608:
+	goto st829;
+tr2654:
 	{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
-	goto st815;
-tr2609:
+	goto st829;
+tr2655:
 	{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2610:
+	goto st829;
+tr2656:
 	{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2611:
+	goto st829;
+tr2657:
 	{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2614:
+	goto st829;
+tr2660:
 	{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
-	goto st815;
-tr2615:
+	goto st829;
+tr2661:
 	{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2616:
+	goto st829;
+tr2662:
 	{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2617:
+	goto st829;
+tr2663:
 	{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2623:
+	goto st829;
+tr2674:
+	{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
+	goto st829;
+tr2675:
+	{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
+	{
+		if (s->multiline == true) {
+			ERR(ZS_LEFT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = true;
+	}
+	goto st829;
+tr2676:
+	{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
+	{
+		if (s->multiline == false) {
+			ERR(ZS_RIGHT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = false;
+	}
+	goto st829;
+tr2677:
+	{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
+	{
+		s->line_counter++;
+	}
+	goto st829;
+tr2679:
+	{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
+	goto st829;
+tr2680:
+	{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
+	{
+		if (s->multiline == true) {
+			ERR(ZS_LEFT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = true;
+	}
+	goto st829;
+tr2681:
+	{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
+	{
+		if (s->multiline == false) {
+			ERR(ZS_RIGHT_PARENTHESIS);
+			p--; {goto st253;}
+		}
+		s->multiline = false;
+	}
+	goto st829;
+tr2682:
+	{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
+	{
+		s->line_counter++;
+	}
+	goto st829;
+tr2686:
 	{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
-	goto st815;
-tr2624:
+	goto st829;
+tr2687:
 	{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2625:
+	goto st829;
+tr2688:
 	{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2626:
+	goto st829;
+tr2689:
 	{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2631:
+	goto st829;
+tr2694:
 	{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
-	goto st815;
-tr2632:
+	goto st829;
+tr2695:
 	{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2633:
+	goto st829;
+tr2696:
 	{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2634:
+	goto st829;
+tr2697:
 	{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2642:
+	goto st829;
+tr2705:
 	{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
-	goto st815;
-tr2643:
+	goto st829;
+tr2706:
 	{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2644:
+	goto st829;
+tr2707:
 	{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2645:
+	goto st829;
+tr2708:
 	{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2651:
+	goto st829;
+tr2714:
 	{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
-	goto st815;
-tr2652:
+	goto st829;
+tr2715:
 	{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2653:
+	goto st829;
+tr2716:
 	{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2654:
+	goto st829;
+tr2717:
 	{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2659:
+	goto st829;
+tr2722:
 	{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
-	goto st815;
-tr2660:
+	goto st829;
+tr2723:
 	{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2661:
+	goto st829;
+tr2724:
 	{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2662:
+	goto st829;
+tr2725:
 	{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2664:
+	goto st829;
+tr2727:
 	{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
-	goto st815;
-tr2665:
+	goto st829;
+tr2728:
 	{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2666:
+	goto st829;
+tr2729:
 	{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2667:
+	goto st829;
+tr2730:
 	{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2674:
+	goto st829;
+tr2737:
 	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
-	goto st815;
-tr2675:
+	goto st829;
+tr2738:
 	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2676:
+	goto st829;
+tr2739:
 	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2677:
+	goto st829;
+tr2740:
 	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2680:
+	goto st829;
+tr2743:
 	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
-	goto st815;
-tr2681:
+	goto st829;
+tr2744:
 	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2682:
+	goto st829;
+tr2745:
 	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2683:
+	goto st829;
+tr2746:
 	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2689:
+	goto st829;
+tr2752:
 	{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
-	goto st815;
-tr2690:
+	goto st829;
+tr2753:
 	{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2691:
+	goto st829;
+tr2754:
 	{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2692:
+	goto st829;
+tr2755:
 	{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2701:
+	goto st829;
+tr2764:
 	{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
-	goto st815;
-tr2702:
+	goto st829;
+tr2765:
 	{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2703:
+	goto st829;
+tr2766:
 	{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2704:
+	goto st829;
+tr2767:
 	{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2709:
+	goto st829;
+tr2772:
 	{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
-	goto st815;
-tr2710:
+	goto st829;
+tr2773:
 	{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2711:
+	goto st829;
+tr2774:
 	{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2712:
+	goto st829;
+tr2775:
 	{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2714:
+	goto st829;
+tr2777:
 	{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
-	goto st815;
-tr2715:
+	goto st829;
+tr2778:
 	{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2716:
+	goto st829;
+tr2779:
 	{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2717:
+	goto st829;
+tr2780:
 	{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2724:
+	goto st829;
+tr2787:
 	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
-	goto st815;
-tr2725:
+	goto st829;
+tr2788:
 	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2726:
+	goto st829;
+tr2789:
 	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2727:
+	goto st829;
+tr2790:
 	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2730:
+	goto st829;
+tr2793:
 	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
-	goto st815;
-tr2731:
+	goto st829;
+tr2794:
 	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2732:
+	goto st829;
+tr2795:
 	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2733:
+	goto st829;
+tr2796:
 	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2736:
+	goto st829;
+tr2799:
 	{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
-	goto st815;
-tr2737:
+	goto st829;
+tr2800:
 	{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2738:
+	goto st829;
+tr2801:
 	{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2739:
+	goto st829;
+tr2802:
 	{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2741:
+	goto st829;
+tr2804:
 	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
-	goto st815;
-tr2742:
+	goto st829;
+tr2805:
 	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2743:
+	goto st829;
+tr2806:
 	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2744:
+	goto st829;
+tr2807:
 	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2751:
+	goto st829;
+tr2814:
 	{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
-	goto st815;
-tr2752:
+	goto st829;
+tr2815:
 	{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2753:
+	goto st829;
+tr2816:
 	{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2754:
+	goto st829;
+tr2817:
 	{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2756:
+	goto st829;
+tr2819:
 	{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
-	goto st815;
-tr2757:
+	goto st829;
+tr2820:
 	{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2758:
+	goto st829;
+tr2821:
 	{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2759:
+	goto st829;
+tr2822:
 	{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2767:
+	goto st829;
+tr2830:
 	{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
-	goto st815;
-tr2768:
+	goto st829;
+tr2831:
 	{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2769:
+	goto st829;
+tr2832:
 	{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2770:
+	goto st829;
+tr2833:
 	{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2773:
+	goto st829;
+tr2836:
 	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
-	goto st815;
-tr2774:
+	goto st829;
+tr2837:
 	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2775:
+	goto st829;
+tr2838:
 	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2776:
+	goto st829;
+tr2839:
 	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2778:
+	goto st829;
+tr2841:
 	{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
-	goto st815;
-tr2779:
+	goto st829;
+tr2842:
 	{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2780:
+	goto st829;
+tr2843:
 	{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2782:
+	goto st829;
+tr2845:
 	{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2785:
+	goto st829;
+tr2848:
 	{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
-	goto st815;
-tr2786:
+	goto st829;
+tr2849:
 	{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2787:
+	goto st829;
+tr2850:
 	{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2789:
+	goto st829;
+tr2852:
 	{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2791:
+	goto st829;
+tr2854:
 	{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
-	goto st815;
-tr2792:
+	goto st829;
+tr2855:
 	{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2793:
+	goto st829;
+tr2856:
 	{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2795:
+	goto st829;
+tr2858:
 	{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2801:
+	goto st829;
+tr2864:
 	{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
-	goto st815;
-tr2802:
+	goto st829;
+tr2865:
 	{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2803:
+	goto st829;
+tr2866:
 	{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2804:
+	goto st829;
+tr2867:
 	{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2808:
+	goto st829;
+tr2871:
 	{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
-	goto st815;
-tr2809:
+	goto st829;
+tr2872:
 	{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2810:
+	goto st829;
+tr2873:
 	{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2811:
+	goto st829;
+tr2874:
 	{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2816:
+	goto st829;
+tr2879:
 	{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
-	goto st815;
-tr2817:
+	goto st829;
+tr2880:
 	{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2818:
+	goto st829;
+tr2881:
 	{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2819:
+	goto st829;
+tr2882:
 	{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2824:
+	goto st829;
+tr2887:
 	{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
-	goto st815;
-tr2825:
+	goto st829;
+tr2888:
 	{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2826:
+	goto st829;
+tr2889:
 	{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2827:
+	goto st829;
+tr2890:
 	{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2829:
+	goto st829;
+tr2892:
 	{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
-	goto st815;
-tr2830:
+	goto st829;
+tr2893:
 	{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2831:
+	goto st829;
+tr2894:
 	{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2832:
+	goto st829;
+tr2895:
 	{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2839:
+	goto st829;
+tr2902:
 	{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
-	goto st815;
-tr2840:
+	goto st829;
+tr2903:
 	{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2841:
+	goto st829;
+tr2904:
 	{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2842:
+	goto st829;
+tr2905:
 	{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2845:
+	goto st829;
+tr2908:
 	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
-	goto st815;
-tr2846:
+	goto st829;
+tr2909:
 	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2847:
+	goto st829;
+tr2910:
 	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2848:
+	goto st829;
+tr2911:
 	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2851:
+	goto st829;
+tr2914:
 	{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
-	goto st815;
-tr2852:
+	goto st829;
+tr2915:
 	{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2853:
+	goto st829;
+tr2916:
 	{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2854:
+	goto st829;
+tr2917:
 	{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2859:
+	goto st829;
+tr2922:
 	{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
-	goto st815;
-tr2860:
+	goto st829;
+tr2923:
 	{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2861:
+	goto st829;
+tr2924:
 	{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2862:
+	goto st829;
+tr2925:
 	{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2869:
+	goto st829;
+tr2932:
 	{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
-	goto st815;
-tr2870:
+	goto st829;
+tr2933:
 	{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2871:
+	goto st829;
+tr2934:
 	{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2872:
+	goto st829;
+tr2935:
 	{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-tr2875:
+	goto st829;
+tr2938:
 	{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
-	goto st815;
-tr2876:
+	goto st829;
+tr2939:
 	{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st815;
-tr2877:
+	goto st829;
+tr2940:
 	{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st815;
-tr2878:
+	goto st829;
+tr2941:
 	{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
 	{
 		s->line_counter++;
 	}
-	goto st815;
-st815:
+	goto st829;
+st829:
 	if ( ++p == pe )
-		goto _test_eof815;
-case 815:
+		goto _test_eof829;
+case 829:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62163,29 +63714,29 @@ case 815:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st815;
-		case 32: goto st815;
-		case 40: goto tr2514;
-		case 41: goto tr2515;
-		case 1034: goto tr2517;
-		case 1083: goto st838;
+		case 9: goto st829;
+		case 32: goto st829;
+		case 40: goto tr2560;
+		case 41: goto tr2561;
+		case 1034: goto tr2563;
+		case 1083: goto st852;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2516;
+			goto tr2562;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2516;
+			goto tr2562;
 	} else
-		goto tr2516;
+		goto tr2562;
 	goto tr69;
-tr2516:
-	{ p--; {stack[top++] = 816; goto st453;} }
-	goto st816;
-st816:
+tr2562:
+	{ p--; {stack[top++] = 830; goto st467;} }
+	goto st830;
+st830:
 	if ( ++p == pe )
-		goto _test_eof816;
-case 816:
+		goto _test_eof830;
+case 830:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62199,41 +63750,41 @@ case 816:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st817;
-		case 32: goto st817;
-		case 40: goto tr2520;
-		case 41: goto tr2521;
-		case 1034: goto tr2522;
-		case 1083: goto st837;
+		case 9: goto st831;
+		case 32: goto st831;
+		case 40: goto tr2566;
+		case 41: goto tr2567;
+		case 1034: goto tr2568;
+		case 1083: goto st851;
 	}
 	goto tr69;
-tr2520:
+tr2566:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st817;
-tr2521:
+	goto st831;
+tr2567:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st817;
-tr2522:
+	goto st831;
+tr2568:
 	{
 		s->line_counter++;
 	}
-	goto st817;
-st817:
+	goto st831;
+st831:
 	if ( ++p == pe )
-		goto _test_eof817;
-case 817:
+		goto _test_eof831;
+case 831:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62247,55 +63798,55 @@ case 817:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st817;
-		case 32: goto st817;
-		case 40: goto tr2520;
-		case 41: goto tr2521;
-		case 1034: goto tr2522;
-		case 1083: goto st837;
+		case 9: goto st831;
+		case 32: goto st831;
+		case 40: goto tr2566;
+		case 41: goto tr2567;
+		case 1034: goto tr2568;
+		case 1083: goto st851;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2524;
-	goto tr1654;
-tr2524:
+		goto tr2570;
+	goto tr1700;
+tr2570:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st818;
-tr2528:
+	goto st832;
+tr2574:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st818;
-st818:
+	goto st832;
+st832:
 	if ( ++p == pe )
-		goto _test_eof818;
-case 818:
+		goto _test_eof832;
+case 832:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62309,104 +63860,104 @@ case 818:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2525;
-		case 32: goto tr2525;
-		case 40: goto tr2526;
-		case 41: goto tr2527;
-		case 1034: goto tr2529;
-		case 1083: goto tr2530;
+		case 9: goto tr2571;
+		case 32: goto tr2571;
+		case 40: goto tr2572;
+		case 41: goto tr2573;
+		case 1034: goto tr2575;
+		case 1083: goto tr2576;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2528;
-	goto tr1654;
-tr2532:
+		goto tr2574;
+	goto tr1700;
+tr2578:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st819;
-tr2533:
+	goto st833;
+tr2579:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st819;
-tr2535:
+	goto st833;
+tr2581:
 	{
 		s->line_counter++;
 	}
-	goto st819;
-tr2525:
+	goto st833;
+tr2571:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st819;
-tr2526:
+	goto st833;
+tr2572:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st819;
-tr2527:
+	goto st833;
+tr2573:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st819;
-tr2529:
+	goto st833;
+tr2575:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st819;
-st819:
+	goto st833;
+st833:
 	if ( ++p == pe )
-		goto _test_eof819;
-case 819:
+		goto _test_eof833;
+case 833:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62420,55 +63971,55 @@ case 819:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st819;
-		case 32: goto st819;
-		case 40: goto tr2532;
-		case 41: goto tr2533;
-		case 1034: goto tr2535;
-		case 1083: goto st836;
+		case 9: goto st833;
+		case 32: goto st833;
+		case 40: goto tr2578;
+		case 41: goto tr2579;
+		case 1034: goto tr2581;
+		case 1083: goto st850;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2534;
-	goto tr1654;
-tr2534:
+		goto tr2580;
+	goto tr1700;
+tr2580:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st820;
-tr2540:
+	goto st834;
+tr2586:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st820;
-st820:
+	goto st834;
+st834:
 	if ( ++p == pe )
-		goto _test_eof820;
-case 820:
+		goto _test_eof834;
+case 834:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62482,104 +64033,104 @@ case 820:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2537;
-		case 32: goto tr2537;
-		case 40: goto tr2538;
-		case 41: goto tr2539;
-		case 1034: goto tr2541;
-		case 1083: goto tr2542;
+		case 9: goto tr2583;
+		case 32: goto tr2583;
+		case 40: goto tr2584;
+		case 41: goto tr2585;
+		case 1034: goto tr2587;
+		case 1083: goto tr2588;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2540;
-	goto tr1654;
-tr2545:
+		goto tr2586;
+	goto tr1700;
+tr2591:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st821;
-tr2546:
+	goto st835;
+tr2592:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st821;
-tr2548:
+	goto st835;
+tr2594:
 	{
 		s->line_counter++;
 	}
-	goto st821;
-tr2537:
+	goto st835;
+tr2583:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st821;
-tr2538:
+	goto st835;
+tr2584:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st821;
-tr2539:
+	goto st835;
+tr2585:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st821;
-tr2541:
+	goto st835;
+tr2587:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st821;
-st821:
+	goto st835;
+st835:
 	if ( ++p == pe )
-		goto _test_eof821;
-case 821:
+		goto _test_eof835;
+case 835:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62593,17 +64144,17 @@ case 821:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st821;
-		case 32: goto st821;
-		case 40: goto tr2545;
-		case 41: goto tr2546;
-		case 1034: goto tr2548;
-		case 1083: goto st835;
+		case 9: goto st835;
+		case 32: goto st835;
+		case 40: goto tr2591;
+		case 41: goto tr2592;
+		case 1034: goto tr2594;
+		case 1083: goto st849;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2547;
-	goto tr2543;
-tr2547:
+		goto tr2593;
+	goto tr2589;
+tr2593:
 	{
 		s->buffer_length = 0;
 	}
@@ -62612,24 +64163,24 @@ tr2547:
 			s->buffer[s->buffer_length++] = (*p);
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st822;
-tr2553:
+	goto st836;
+tr2599:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st822;
-st822:
+	goto st836;
+st836:
 	if ( ++p == pe )
-		goto _test_eof822;
-case 822:
+		goto _test_eof836;
+case 836:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62643,40 +64194,40 @@ case 822:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2550;
-		case 32: goto tr2550;
-		case 40: goto tr2551;
-		case 41: goto tr2552;
-		case 1034: goto tr2554;
-		case 1083: goto tr2555;
+		case 9: goto tr2596;
+		case 32: goto tr2596;
+		case 40: goto tr2597;
+		case 41: goto tr2598;
+		case 1034: goto tr2600;
+		case 1083: goto tr2601;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2553;
-	goto tr2543;
-tr2557:
+		goto tr2599;
+	goto tr2589;
+tr2603:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st823;
-tr2558:
+	goto st837;
+tr2604:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st823;
-tr2560:
+	goto st837;
+tr2606:
 	{
 		s->line_counter++;
 	}
-	goto st823;
-tr2550:
+	goto st837;
+tr2596:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -62688,7 +64239,7 @@ tr2550:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -62697,7 +64248,7 @@ tr2550:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -62705,15 +64256,15 @@ tr2550:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st823;
-tr2551:
+	goto st837;
+tr2597:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -62725,7 +64276,7 @@ tr2551:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -62734,7 +64285,7 @@ tr2551:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -62742,22 +64293,22 @@ tr2551:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st823;
-tr2552:
+	goto st837;
+tr2598:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -62769,7 +64320,7 @@ tr2552:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -62778,7 +64329,7 @@ tr2552:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -62786,22 +64337,22 @@ tr2552:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st823;
-tr2554:
+	goto st837;
+tr2600:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -62813,7 +64364,7 @@ tr2554:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -62822,7 +64373,7 @@ tr2554:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -62830,21 +64381,21 @@ tr2554:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st823;
-st823:
+	goto st837;
+st837:
 	if ( ++p == pe )
-		goto _test_eof823;
-case 823:
+		goto _test_eof837;
+case 837:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62858,17 +64409,17 @@ case 823:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st823;
-		case 32: goto st823;
-		case 40: goto tr2557;
-		case 41: goto tr2558;
-		case 1034: goto tr2560;
-		case 1083: goto st834;
+		case 9: goto st837;
+		case 32: goto st837;
+		case 40: goto tr2603;
+		case 41: goto tr2604;
+		case 1034: goto tr2606;
+		case 1083: goto st848;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2559;
-	goto tr2543;
-tr2559:
+		goto tr2605;
+	goto tr2589;
+tr2605:
 	{
 		s->buffer_length = 0;
 	}
@@ -62877,24 +64428,24 @@ tr2559:
 			s->buffer[s->buffer_length++] = (*p);
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st824;
-tr2565:
+	goto st838;
+tr2611:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st824;
-st824:
+	goto st838;
+st838:
 	if ( ++p == pe )
-		goto _test_eof824;
-case 824:
+		goto _test_eof838;
+case 838:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -62908,40 +64459,40 @@ case 824:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2562;
-		case 32: goto tr2562;
-		case 40: goto tr2563;
-		case 41: goto tr2564;
-		case 1034: goto tr2566;
-		case 1083: goto tr2567;
+		case 9: goto tr2608;
+		case 32: goto tr2608;
+		case 40: goto tr2609;
+		case 41: goto tr2610;
+		case 1034: goto tr2612;
+		case 1083: goto tr2613;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2565;
-	goto tr2543;
-tr2569:
+		goto tr2611;
+	goto tr2589;
+tr2615:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st825;
-tr2570:
+	goto st839;
+tr2616:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st825;
-tr2572:
+	goto st839;
+tr2618:
 	{
 		s->line_counter++;
 	}
-	goto st825;
-tr2562:
+	goto st839;
+tr2608:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -62953,7 +64504,7 @@ tr2562:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -62962,7 +64513,7 @@ tr2562:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -62970,15 +64521,15 @@ tr2562:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st825;
-tr2563:
+	goto st839;
+tr2609:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -62990,7 +64541,7 @@ tr2563:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -62999,7 +64550,7 @@ tr2563:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -63007,22 +64558,22 @@ tr2563:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st825;
-tr2564:
+	goto st839;
+tr2610:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -63034,7 +64585,7 @@ tr2564:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -63043,7 +64594,7 @@ tr2564:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -63051,22 +64602,22 @@ tr2564:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st825;
-tr2566:
+	goto st839;
+tr2612:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -63078,7 +64629,7 @@ tr2566:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -63087,7 +64638,7 @@ tr2566:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -63095,21 +64646,21 @@ tr2566:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st825;
-st825:
+	goto st839;
+st839:
 	if ( ++p == pe )
-		goto _test_eof825;
-case 825:
+		goto _test_eof839;
+case 839:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63123,55 +64674,55 @@ case 825:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st825;
-		case 32: goto st825;
-		case 40: goto tr2569;
-		case 41: goto tr2570;
-		case 1034: goto tr2572;
-		case 1083: goto st833;
+		case 9: goto st839;
+		case 32: goto st839;
+		case 40: goto tr2615;
+		case 41: goto tr2616;
+		case 1034: goto tr2618;
+		case 1083: goto st847;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2571;
-	goto tr1654;
-tr2571:
+		goto tr2617;
+	goto tr1700;
+tr2617:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st826;
-tr2577:
+	goto st840;
+tr2623:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st826;
-st826:
+	goto st840;
+st840:
 	if ( ++p == pe )
-		goto _test_eof826;
-case 826:
+		goto _test_eof840;
+case 840:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63185,104 +64736,104 @@ case 826:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2574;
-		case 32: goto tr2574;
-		case 40: goto tr2575;
-		case 41: goto tr2576;
-		case 1034: goto tr2578;
-		case 1083: goto tr2579;
+		case 9: goto tr2620;
+		case 32: goto tr2620;
+		case 40: goto tr2621;
+		case 41: goto tr2622;
+		case 1034: goto tr2624;
+		case 1083: goto tr2625;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2577;
-	goto tr1654;
-tr2581:
+		goto tr2623;
+	goto tr1700;
+tr2627:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st827;
-tr2582:
+	goto st841;
+tr2628:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st827;
-tr2584:
+	goto st841;
+tr2630:
 	{
 		s->line_counter++;
 	}
-	goto st827;
-tr2574:
+	goto st841;
+tr2620:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st827;
-tr2575:
+	goto st841;
+tr2621:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st827;
-tr2576:
+	goto st841;
+tr2622:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st827;
-tr2578:
+	goto st841;
+tr2624:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st827;
-st827:
+	goto st841;
+st841:
 	if ( ++p == pe )
-		goto _test_eof827;
-case 827:
+		goto _test_eof841;
+case 841:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63296,35 +64847,35 @@ case 827:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st827;
-		case 32: goto st827;
-		case 40: goto tr2581;
-		case 41: goto tr2582;
-		case 42: goto tr2583;
-		case 92: goto tr2583;
-		case 95: goto tr2583;
-		case 1034: goto tr2584;
-		case 1083: goto st832;
+		case 9: goto st841;
+		case 32: goto st841;
+		case 40: goto tr2627;
+		case 41: goto tr2628;
+		case 42: goto tr2629;
+		case 92: goto tr2629;
+		case 95: goto tr2629;
+		case 1034: goto tr2630;
+		case 1083: goto st846;
 	}
 	if ( _widec < 64 ) {
 		if ( 45 <= _widec && _widec <= 57 )
-			goto tr2583;
+			goto tr2629;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2583;
+			goto tr2629;
 	} else
-		goto tr2583;
+		goto tr2629;
 	goto tr69;
-tr2583:
+tr2629:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 828; goto st248;} }
-	goto st828;
-st828:
+	{ p--; {stack[top++] = 842; goto st255;} }
+	goto st842;
+st842:
 	if ( ++p == pe )
-		goto _test_eof828;
-case 828:
+		goto _test_eof842;
+case 842:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63338,78 +64889,78 @@ case 828:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2586;
-		case 32: goto tr2586;
-		case 40: goto tr2587;
-		case 41: goto tr2588;
-		case 1034: goto tr2589;
-		case 1083: goto tr2590;
+		case 9: goto tr2632;
+		case 32: goto tr2632;
+		case 40: goto tr2633;
+		case 41: goto tr2634;
+		case 1034: goto tr2635;
+		case 1083: goto tr2636;
 	}
 	goto tr69;
-tr2592:
+tr2638:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st829;
-tr2593:
+	goto st843;
+tr2639:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st829;
-tr2595:
+	goto st843;
+tr2641:
 	{
 		s->line_counter++;
 	}
-	goto st829;
-tr2586:
+	goto st843;
+tr2632:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st829;
-tr2587:
+	goto st843;
+tr2633:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st829;
-tr2588:
+	goto st843;
+tr2634:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st829;
-tr2589:
+	goto st843;
+tr2635:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
 	{
 		s->line_counter++;
 	}
-	goto st829;
-st829:
+	goto st843;
+st843:
 	if ( ++p == pe )
-		goto _test_eof829;
-case 829:
+		goto _test_eof843;
+case 843:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63423,30 +64974,30 @@ case 829:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st829;
-		case 32: goto st829;
-		case 40: goto tr2592;
-		case 41: goto tr2593;
-		case 43: goto tr2594;
-		case 1034: goto tr2595;
-		case 1083: goto st831;
+		case 9: goto st843;
+		case 32: goto st843;
+		case 40: goto tr2638;
+		case 41: goto tr2639;
+		case 43: goto tr2640;
+		case 1034: goto tr2641;
+		case 1083: goto st845;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr2594;
+			goto tr2640;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2594;
+			goto tr2640;
 	} else
-		goto tr2594;
+		goto tr2640;
 	goto tr69;
-tr2594:
-	{ p--; {stack[top++] = 830; goto st307;} }
-	goto st830;
-st830:
+tr2640:
+	{ p--; {stack[top++] = 844; goto st314;} }
+	goto st844;
+st844:
 	if ( ++p == pe )
-		goto _test_eof830;
-case 830:
+		goto _test_eof844;
+case 844:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63460,29 +65011,29 @@ case 830:
  !s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 1546: goto tr2597;
-		case 1595: goto tr2597;
+		case 1546: goto tr2643;
+		case 1595: goto tr2643;
 	}
 	goto tr69;
-tr2597:
+tr2643:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1128;
-st1128:
+	goto st1149;
+st1149:
 	if ( ++p == pe )
-		goto _test_eof1128;
-case 1128:
+		goto _test_eof1149;
+case 1149:
 	goto st0;
-tr2590:
+tr2636:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	goto st831;
-st831:
+	goto st845;
+st845:
 	if ( ++p == pe )
-		goto _test_eof831;
-case 831:
+		goto _test_eof845;
+case 845:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63502,25 +65053,25 @@ case 831:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2595;
+		goto tr2641;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st831;
+		goto st845;
 	goto tr69;
-tr2579:
+tr2625:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st832;
-st832:
+	goto st846;
+st846:
 	if ( ++p == pe )
-		goto _test_eof832;
-case 832:
+		goto _test_eof846;
+case 846:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63540,11 +65091,11 @@ case 832:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2584;
+		goto tr2630;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st832;
+		goto st846;
 	goto tr69;
-tr2567:
+tr2613:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -63556,7 +65107,7 @@ tr2567:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -63565,7 +65116,7 @@ tr2567:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -63573,18 +65124,18 @@ tr2567:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st833;
-st833:
+	goto st847;
+st847:
 	if ( ++p == pe )
-		goto _test_eof833;
-case 833:
+		goto _test_eof847;
+case 847:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63604,11 +65155,11 @@ case 833:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2572;
+		goto tr2618;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st833;
+		goto st847;
 	goto tr69;
-tr2555:
+tr2601:
 	{
 		s->buffer[s->buffer_length] = 0;
 
@@ -63620,7 +65171,7 @@ tr2555:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -63629,7 +65180,7 @@ tr2555:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -63637,18 +65188,18 @@ tr2555:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {goto st246;}
+				p--; {goto st253;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st834;
-st834:
+	goto st848;
+st848:
 	if ( ++p == pe )
-		goto _test_eof834;
-case 834:
+		goto _test_eof848;
+case 848:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63668,25 +65219,25 @@ case 834:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2560;
+		goto tr2606;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st834;
+		goto st848;
 	goto tr69;
-tr2542:
+tr2588:
 	{
 		if (s->number64 <= UINT32_MAX) {
 			*((uint32_t *)rdata_tail) = htonl((uint32_t)(s->number64));
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st835;
-st835:
+	goto st849;
+st849:
 	if ( ++p == pe )
-		goto _test_eof835;
-case 835:
+		goto _test_eof849;
+case 849:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63706,25 +65257,25 @@ case 835:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2548;
+		goto tr2594;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st835;
+		goto st849;
 	goto tr69;
-tr2530:
+tr2576:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st836;
-st836:
+	goto st850;
+st850:
 	if ( ++p == pe )
-		goto _test_eof836;
-case 836:
+		goto _test_eof850;
+case 850:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63744,14 +65295,14 @@ case 836:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2535;
+		goto tr2581;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st836;
+		goto st850;
 	goto tr69;
-st837:
+st851:
 	if ( ++p == pe )
-		goto _test_eof837;
-case 837:
+		goto _test_eof851;
+case 851:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63771,139 +65322,145 @@ case 837:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2522;
+		goto tr2568;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st837;
+		goto st851;
 	goto tr69;
-tr2889:
+tr2952:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st838;
-tr2512:
+	goto st852;
+tr2558:
 	{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
-	goto st838;
-tr2604:
+	goto st852;
+tr2650:
 	{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
-	goto st838;
-tr2612:
+	goto st852;
+tr2658:
 	{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
-	goto st838;
-tr2618:
+	goto st852;
+tr2664:
 	{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
-	goto st838;
-tr2627:
+	goto st852;
+tr2678:
+	{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
+	goto st852;
+tr2683:
+	{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
+	goto st852;
+tr2690:
 	{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
-	goto st838;
-tr2635:
+	goto st852;
+tr2698:
 	{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
-	goto st838;
-tr2646:
+	goto st852;
+tr2709:
 	{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
-	goto st838;
-tr2655:
+	goto st852;
+tr2718:
 	{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
-	goto st838;
-tr2663:
+	goto st852;
+tr2726:
 	{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
-	goto st838;
-tr2668:
+	goto st852;
+tr2731:
 	{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
-	goto st838;
-tr2678:
+	goto st852;
+tr2741:
 	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
-	goto st838;
-tr2684:
+	goto st852;
+tr2747:
 	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
-	goto st838;
-tr2693:
+	goto st852;
+tr2756:
 	{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
-	goto st838;
-tr2705:
+	goto st852;
+tr2768:
 	{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
-	goto st838;
-tr2713:
+	goto st852;
+tr2776:
 	{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
-	goto st838;
-tr2718:
+	goto st852;
+tr2781:
 	{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
-	goto st838;
-tr2728:
+	goto st852;
+tr2791:
 	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
-	goto st838;
-tr2734:
+	goto st852;
+tr2797:
 	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
-	goto st838;
-tr2740:
+	goto st852;
+tr2803:
 	{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
-	goto st838;
-tr2745:
+	goto st852;
+tr2808:
 	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
-	goto st838;
-tr2755:
+	goto st852;
+tr2818:
 	{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
-	goto st838;
-tr2760:
+	goto st852;
+tr2823:
 	{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
-	goto st838;
-tr2771:
+	goto st852;
+tr2834:
 	{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
-	goto st838;
-tr2777:
+	goto st852;
+tr2840:
 	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
-	goto st838;
-tr2783:
+	goto st852;
+tr2846:
 	{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
-	goto st838;
-tr2790:
+	goto st852;
+tr2853:
 	{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
-	goto st838;
-tr2796:
+	goto st852;
+tr2859:
 	{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
-	goto st838;
-tr2805:
+	goto st852;
+tr2868:
 	{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
-	goto st838;
-tr2812:
+	goto st852;
+tr2875:
 	{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
-	goto st838;
-tr2820:
+	goto st852;
+tr2883:
 	{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
-	goto st838;
-tr2828:
+	goto st852;
+tr2891:
 	{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
-	goto st838;
-tr2833:
+	goto st852;
+tr2896:
 	{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
-	goto st838;
-tr2843:
+	goto st852;
+tr2906:
 	{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
-	goto st838;
-tr2849:
+	goto st852;
+tr2912:
 	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
-	goto st838;
-tr2855:
+	goto st852;
+tr2918:
 	{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
-	goto st838;
-tr2863:
+	goto st852;
+tr2926:
 	{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
-	goto st838;
-tr2873:
+	goto st852;
+tr2936:
 	{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
-	goto st838;
-tr2879:
+	goto st852;
+tr2942:
 	{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
-	goto st838;
-st838:
+	goto st852;
+st852:
 	if ( ++p == pe )
-		goto _test_eof838;
-case 838:
+		goto _test_eof852;
+case 852:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -63923,220 +65480,28 @@ case 838:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2517;
+		goto tr2563;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st838;
+		goto st852;
 	goto tr69;
-st839:
-	if ( ++p == pe )
-		goto _test_eof839;
-case 839:
-	switch( (*p) ) {
-		case 65: goto st840;
-		case 97: goto st840;
-	}
-	goto tr2490;
-st840:
-	if ( ++p == pe )
-		goto _test_eof840;
-case 840:
-	switch( (*p) ) {
-		case 65: goto st841;
-		case 97: goto st841;
-	}
-	goto tr2490;
-st841:
-	if ( ++p == pe )
-		goto _test_eof841;
-case 841:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-	}
-	switch( _widec ) {
-		case 9: goto tr2600;
-		case 32: goto tr2600;
-		case 40: goto tr2601;
-		case 41: goto tr2602;
-		case 1034: goto tr2603;
-		case 1083: goto tr2604;
-	}
-	goto tr2490;
-st842:
-	if ( ++p == pe )
-		goto _test_eof842;
-case 842:
-	switch( (*p) ) {
-		case 83: goto st843;
-		case 115: goto st843;
-	}
-	goto tr2490;
-st843:
-	if ( ++p == pe )
-		goto _test_eof843;
-case 843:
-	switch( (*p) ) {
-		case 68: goto st844;
-		case 100: goto st844;
-	}
-	goto tr2490;
-st844:
-	if ( ++p == pe )
-		goto _test_eof844;
-case 844:
-	switch( (*p) ) {
-		case 66: goto st845;
-		case 98: goto st845;
-	}
-	goto tr2490;
-st845:
-	if ( ++p == pe )
-		goto _test_eof845;
-case 845:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-	}
-	switch( _widec ) {
-		case 9: goto tr2608;
-		case 32: goto tr2608;
-		case 40: goto tr2609;
-		case 41: goto tr2610;
-		case 1034: goto tr2611;
-		case 1083: goto tr2612;
-	}
-	goto tr2490;
-st846:
-	if ( ++p == pe )
-		goto _test_eof846;
-case 846:
-	switch( (*p) ) {
-		case 76: goto st847;
-		case 108: goto st847;
-	}
-	goto tr2490;
-st847:
-	if ( ++p == pe )
-		goto _test_eof847;
-case 847:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-	}
-	switch( _widec ) {
-		case 9: goto tr2614;
-		case 32: goto tr2614;
-		case 40: goto tr2615;
-		case 41: goto tr2616;
-		case 1034: goto tr2617;
-		case 1083: goto tr2618;
-	}
-	goto tr2490;
-st848:
-	if ( ++p == pe )
-		goto _test_eof848;
-case 848:
-	switch( (*p) ) {
-		case 69: goto st849;
-		case 78: goto st852;
-		case 101: goto st849;
-		case 110: goto st852;
-	}
-	goto tr2490;
-st849:
-	if ( ++p == pe )
-		goto _test_eof849;
-case 849:
-	switch( (*p) ) {
-		case 82: goto st850;
-		case 114: goto st850;
-	}
-	goto tr2490;
-st850:
-	if ( ++p == pe )
-		goto _test_eof850;
-case 850:
-	switch( (*p) ) {
-		case 84: goto st851;
-		case 116: goto st851;
-	}
-	goto tr2490;
-st851:
-	if ( ++p == pe )
-		goto _test_eof851;
-case 851:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-	}
-	switch( _widec ) {
-		case 9: goto tr2623;
-		case 32: goto tr2623;
-		case 40: goto tr2624;
-		case 41: goto tr2625;
-		case 1034: goto tr2626;
-		case 1083: goto tr2627;
-	}
-	goto tr2490;
-st852:
-	if ( ++p == pe )
-		goto _test_eof852;
-case 852:
-	switch( (*p) ) {
-		case 65: goto st853;
-		case 97: goto st853;
-	}
-	goto tr2490;
 st853:
 	if ( ++p == pe )
 		goto _test_eof853;
 case 853:
 	switch( (*p) ) {
-		case 77: goto st854;
-		case 109: goto st854;
+		case 65: goto st854;
+		case 97: goto st854;
 	}
-	goto tr2490;
+	goto tr2536;
 st854:
 	if ( ++p == pe )
 		goto _test_eof854;
 case 854:
 	switch( (*p) ) {
-		case 69: goto st855;
-		case 101: goto st855;
+		case 65: goto st855;
+		case 97: goto st855;
 	}
-	goto tr2490;
+	goto tr2536;
 st855:
 	if ( ++p == pe )
 		goto _test_eof855;
@@ -64154,58 +65519,45 @@ case 855:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2631;
-		case 32: goto tr2631;
-		case 40: goto tr2632;
-		case 41: goto tr2633;
-		case 1034: goto tr2634;
-		case 1083: goto tr2635;
-	}
-	goto tr2490;
+		case 9: goto tr2646;
+		case 32: goto tr2646;
+		case 40: goto tr2647;
+		case 41: goto tr2648;
+		case 1034: goto tr2649;
+		case 1083: goto tr2650;
+	}
+	goto tr2536;
 st856:
 	if ( ++p == pe )
 		goto _test_eof856;
 case 856:
 	switch( (*p) ) {
-		case 72: goto st857;
-		case 78: goto st861;
-		case 83: goto st869;
-		case 104: goto st857;
-		case 110: goto st861;
-		case 115: goto st869;
+		case 83: goto st857;
+		case 115: goto st857;
 	}
-	goto tr2490;
+	goto tr2536;
 st857:
 	if ( ++p == pe )
 		goto _test_eof857;
 case 857:
 	switch( (*p) ) {
-		case 67: goto st858;
-		case 99: goto st858;
+		case 68: goto st858;
+		case 100: goto st858;
 	}
-	goto tr2490;
+	goto tr2536;
 st858:
 	if ( ++p == pe )
 		goto _test_eof858;
 case 858:
 	switch( (*p) ) {
-		case 73: goto st859;
-		case 105: goto st859;
+		case 66: goto st859;
+		case 98: goto st859;
 	}
-	goto tr2490;
+	goto tr2536;
 st859:
 	if ( ++p == pe )
 		goto _test_eof859;
 case 859:
-	switch( (*p) ) {
-		case 68: goto st860;
-		case 100: goto st860;
-	}
-	goto tr2490;
-st860:
-	if ( ++p == pe )
-		goto _test_eof860;
-case 860:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64219,68 +65571,81 @@ case 860:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2642;
-		case 32: goto tr2642;
-		case 40: goto tr2643;
-		case 41: goto tr2644;
-		case 1034: goto tr2645;
-		case 1083: goto tr2646;
-	}
-	goto tr2490;
+		case 9: goto tr2654;
+		case 32: goto tr2654;
+		case 40: goto tr2655;
+		case 41: goto tr2656;
+		case 1034: goto tr2657;
+		case 1083: goto tr2658;
+	}
+	goto tr2536;
+st860:
+	if ( ++p == pe )
+		goto _test_eof860;
+case 860:
+	switch( (*p) ) {
+		case 76: goto st861;
+		case 108: goto st861;
+	}
+	goto tr2536;
 st861:
 	if ( ++p == pe )
 		goto _test_eof861;
 case 861:
-	switch( (*p) ) {
-		case 65: goto st862;
-		case 83: goto st865;
-		case 97: goto st862;
-		case 115: goto st865;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
 	}
-	goto tr2490;
+	switch( _widec ) {
+		case 9: goto tr2660;
+		case 32: goto tr2660;
+		case 40: goto tr2661;
+		case 41: goto tr2662;
+		case 1034: goto tr2663;
+		case 1083: goto tr2664;
+	}
+	goto tr2536;
 st862:
 	if ( ++p == pe )
 		goto _test_eof862;
 case 862:
 	switch( (*p) ) {
-		case 77: goto st863;
-		case 109: goto st863;
+		case 68: goto st863;
+		case 69: goto st870;
+		case 78: goto st873;
+		case 100: goto st863;
+		case 101: goto st870;
+		case 110: goto st873;
 	}
-	goto tr2490;
+	goto tr2536;
 st863:
 	if ( ++p == pe )
 		goto _test_eof863;
 case 863:
 	switch( (*p) ) {
-		case 69: goto st864;
-		case 101: goto st864;
+		case 78: goto st864;
+		case 83: goto st869;
+		case 110: goto st864;
+		case 115: goto st869;
 	}
-	goto tr2490;
+	goto tr2536;
 st864:
 	if ( ++p == pe )
 		goto _test_eof864;
 case 864:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
+	switch( (*p) ) {
+		case 83: goto st865;
+		case 115: goto st865;
 	}
-	switch( _widec ) {
-		case 9: goto tr2651;
-		case 32: goto tr2651;
-		case 40: goto tr2652;
-		case 41: goto tr2653;
-		case 1034: goto tr2654;
-		case 1083: goto tr2655;
-	}
-	goto tr2490;
+	goto tr2536;
 st865:
 	if ( ++p == pe )
 		goto _test_eof865;
@@ -64289,7 +65654,7 @@ case 865:
 		case 75: goto st866;
 		case 107: goto st866;
 	}
-	goto tr2490;
+	goto tr2536;
 st866:
 	if ( ++p == pe )
 		goto _test_eof866;
@@ -64298,7 +65663,7 @@ case 866:
 		case 69: goto st867;
 		case 101: goto st867;
 	}
-	goto tr2490;
+	goto tr2536;
 st867:
 	if ( ++p == pe )
 		goto _test_eof867;
@@ -64307,7 +65672,7 @@ case 867:
 		case 89: goto st868;
 		case 121: goto st868;
 	}
-	goto tr2490;
+	goto tr2536;
 st868:
 	if ( ++p == pe )
 		goto _test_eof868;
@@ -64325,14 +65690,14 @@ case 868:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2659;
-		case 32: goto tr2659;
-		case 40: goto tr2660;
-		case 41: goto tr2661;
-		case 1034: goto tr2662;
-		case 1083: goto tr2663;
-	}
-	goto tr2490;
+		case 9: goto tr2674;
+		case 32: goto tr2674;
+		case 40: goto tr2675;
+		case 41: goto tr2676;
+		case 1034: goto tr2677;
+		case 1083: goto tr2678;
+	}
+	goto tr2536;
 st869:
 	if ( ++p == pe )
 		goto _test_eof869;
@@ -64350,52 +65715,36 @@ case 869:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2664;
-		case 32: goto tr2664;
-		case 40: goto tr2665;
-		case 41: goto tr2666;
-		case 1034: goto tr2667;
-		case 1083: goto tr2668;
-	}
-	goto tr2490;
+		case 9: goto tr2679;
+		case 32: goto tr2679;
+		case 40: goto tr2680;
+		case 41: goto tr2681;
+		case 1034: goto tr2682;
+		case 1083: goto tr2683;
+	}
+	goto tr2536;
 st870:
 	if ( ++p == pe )
 		goto _test_eof870;
 case 870:
 	switch( (*p) ) {
-		case 85: goto st871;
-		case 117: goto st871;
+		case 82: goto st871;
+		case 114: goto st871;
 	}
-	goto tr2490;
+	goto tr2536;
 st871:
 	if ( ++p == pe )
 		goto _test_eof871;
 case 871:
 	switch( (*p) ) {
-		case 73: goto st872;
-		case 105: goto st872;
+		case 84: goto st872;
+		case 116: goto st872;
 	}
-	goto tr2490;
+	goto tr2536;
 st872:
 	if ( ++p == pe )
 		goto _test_eof872;
 case 872:
-	switch( (*p) ) {
-		case 52: goto st873;
-		case 54: goto st875;
-	}
-	goto tr2490;
-st873:
-	if ( ++p == pe )
-		goto _test_eof873;
-case 873:
-	if ( (*p) == 56 )
-		goto st874;
-	goto tr2490;
-st874:
-	if ( ++p == pe )
-		goto _test_eof874;
-case 874:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64409,21 +65758,41 @@ case 874:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2674;
-		case 32: goto tr2674;
-		case 40: goto tr2675;
-		case 41: goto tr2676;
-		case 1034: goto tr2677;
-		case 1083: goto tr2678;
+		case 9: goto tr2686;
+		case 32: goto tr2686;
+		case 40: goto tr2687;
+		case 41: goto tr2688;
+		case 1034: goto tr2689;
+		case 1083: goto tr2690;
+	}
+	goto tr2536;
+st873:
+	if ( ++p == pe )
+		goto _test_eof873;
+case 873:
+	switch( (*p) ) {
+		case 65: goto st874;
+		case 97: goto st874;
+	}
+	goto tr2536;
+st874:
+	if ( ++p == pe )
+		goto _test_eof874;
+case 874:
+	switch( (*p) ) {
+		case 77: goto st875;
+		case 109: goto st875;
 	}
-	goto tr2490;
+	goto tr2536;
 st875:
 	if ( ++p == pe )
 		goto _test_eof875;
 case 875:
-	if ( (*p) == 52 )
-		goto st876;
-	goto tr2490;
+	switch( (*p) ) {
+		case 69: goto st876;
+		case 101: goto st876;
+	}
+	goto tr2536;
 st876:
 	if ( ++p == pe )
 		goto _test_eof876;
@@ -64441,50 +65810,54 @@ case 876:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2680;
-		case 32: goto tr2680;
-		case 40: goto tr2681;
-		case 41: goto tr2682;
-		case 1034: goto tr2683;
-		case 1083: goto tr2684;
-	}
-	goto tr2490;
+		case 9: goto tr2694;
+		case 32: goto tr2694;
+		case 40: goto tr2695;
+		case 41: goto tr2696;
+		case 1034: goto tr2697;
+		case 1083: goto tr2698;
+	}
+	goto tr2536;
 st877:
 	if ( ++p == pe )
 		goto _test_eof877;
 case 877:
 	switch( (*p) ) {
-		case 73: goto st878;
-		case 105: goto st878;
-	}
-	goto tr2490;
+		case 72: goto st878;
+		case 78: goto st882;
+		case 83: goto st890;
+		case 104: goto st878;
+		case 110: goto st882;
+		case 115: goto st890;
+	}
+	goto tr2536;
 st878:
 	if ( ++p == pe )
 		goto _test_eof878;
 case 878:
 	switch( (*p) ) {
-		case 78: goto st879;
-		case 110: goto st879;
+		case 67: goto st879;
+		case 99: goto st879;
 	}
-	goto tr2490;
+	goto tr2536;
 st879:
 	if ( ++p == pe )
 		goto _test_eof879;
 case 879:
 	switch( (*p) ) {
-		case 70: goto st880;
-		case 102: goto st880;
+		case 73: goto st880;
+		case 105: goto st880;
 	}
-	goto tr2490;
+	goto tr2536;
 st880:
 	if ( ++p == pe )
 		goto _test_eof880;
 case 880:
 	switch( (*p) ) {
-		case 79: goto st881;
-		case 111: goto st881;
+		case 68: goto st881;
+		case 100: goto st881;
 	}
-	goto tr2490;
+	goto tr2536;
 st881:
 	if ( ++p == pe )
 		goto _test_eof881;
@@ -64502,32 +65875,34 @@ case 881:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2689;
-		case 32: goto tr2689;
-		case 40: goto tr2690;
-		case 41: goto tr2691;
-		case 1034: goto tr2692;
-		case 1083: goto tr2693;
-	}
-	goto tr2490;
+		case 9: goto tr2705;
+		case 32: goto tr2705;
+		case 40: goto tr2706;
+		case 41: goto tr2707;
+		case 1034: goto tr2708;
+		case 1083: goto tr2709;
+	}
+	goto tr2536;
 st882:
 	if ( ++p == pe )
 		goto _test_eof882;
 case 882:
 	switch( (*p) ) {
-		case 80: goto st883;
-		case 112: goto st883;
+		case 65: goto st883;
+		case 83: goto st886;
+		case 97: goto st883;
+		case 115: goto st886;
 	}
-	goto tr2490;
+	goto tr2536;
 st883:
 	if ( ++p == pe )
 		goto _test_eof883;
 case 883:
 	switch( (*p) ) {
-		case 83: goto st884;
-		case 115: goto st884;
+		case 77: goto st884;
+		case 109: goto st884;
 	}
-	goto tr2490;
+	goto tr2536;
 st884:
 	if ( ++p == pe )
 		goto _test_eof884;
@@ -64536,16 +65911,32 @@ case 884:
 		case 69: goto st885;
 		case 101: goto st885;
 	}
-	goto tr2490;
+	goto tr2536;
 st885:
 	if ( ++p == pe )
 		goto _test_eof885;
 case 885:
-	switch( (*p) ) {
-		case 67: goto st886;
-		case 99: goto st886;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2714;
+		case 32: goto tr2714;
+		case 40: goto tr2715;
+		case 41: goto tr2716;
+		case 1034: goto tr2717;
+		case 1083: goto tr2718;
 	}
-	goto tr2490;
+	goto tr2536;
 st886:
 	if ( ++p == pe )
 		goto _test_eof886;
@@ -64554,7 +65945,7 @@ case 886:
 		case 75: goto st887;
 		case 107: goto st887;
 	}
-	goto tr2490;
+	goto tr2536;
 st887:
 	if ( ++p == pe )
 		goto _test_eof887;
@@ -64563,7 +65954,7 @@ case 887:
 		case 69: goto st888;
 		case 101: goto st888;
 	}
-	goto tr2490;
+	goto tr2536;
 st888:
 	if ( ++p == pe )
 		goto _test_eof888;
@@ -64572,7 +65963,7 @@ case 888:
 		case 89: goto st889;
 		case 121: goto st889;
 	}
-	goto tr2490;
+	goto tr2536;
 st889:
 	if ( ++p == pe )
 		goto _test_eof889;
@@ -64590,38 +65981,18 @@ case 889:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2701;
-		case 32: goto tr2701;
-		case 40: goto tr2702;
-		case 41: goto tr2703;
-		case 1034: goto tr2704;
-		case 1083: goto tr2705;
-	}
-	goto tr2490;
+		case 9: goto tr2722;
+		case 32: goto tr2722;
+		case 40: goto tr2723;
+		case 41: goto tr2724;
+		case 1034: goto tr2725;
+		case 1083: goto tr2726;
+	}
+	goto tr2536;
 st890:
 	if ( ++p == pe )
 		goto _test_eof890;
 case 890:
-	switch( (*p) ) {
-		case 69: goto st891;
-		case 88: goto st893;
-		case 101: goto st891;
-		case 120: goto st893;
-	}
-	goto tr2490;
-st891:
-	if ( ++p == pe )
-		goto _test_eof891;
-case 891:
-	switch( (*p) ) {
-		case 89: goto st892;
-		case 121: goto st892;
-	}
-	goto tr2490;
-st892:
-	if ( ++p == pe )
-		goto _test_eof892;
-case 892:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64635,63 +66006,52 @@ case 892:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2709;
-		case 32: goto tr2709;
-		case 40: goto tr2710;
-		case 41: goto tr2711;
-		case 1034: goto tr2712;
-		case 1083: goto tr2713;
-	}
-	goto tr2490;
+		case 9: goto tr2727;
+		case 32: goto tr2727;
+		case 40: goto tr2728;
+		case 41: goto tr2729;
+		case 1034: goto tr2730;
+		case 1083: goto tr2731;
+	}
+	goto tr2536;
+st891:
+	if ( ++p == pe )
+		goto _test_eof891;
+case 891:
+	switch( (*p) ) {
+		case 85: goto st892;
+		case 117: goto st892;
+	}
+	goto tr2536;
+st892:
+	if ( ++p == pe )
+		goto _test_eof892;
+case 892:
+	switch( (*p) ) {
+		case 73: goto st893;
+		case 105: goto st893;
+	}
+	goto tr2536;
 st893:
 	if ( ++p == pe )
 		goto _test_eof893;
 case 893:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-	}
-	switch( _widec ) {
-		case 9: goto tr2714;
-		case 32: goto tr2714;
-		case 40: goto tr2715;
-		case 41: goto tr2716;
-		case 1034: goto tr2717;
-		case 1083: goto tr2718;
+	switch( (*p) ) {
+		case 52: goto st894;
+		case 54: goto st896;
 	}
-	goto tr2490;
+	goto tr2536;
 st894:
 	if ( ++p == pe )
 		goto _test_eof894;
 case 894:
-	switch( (*p) ) {
-		case 51: goto st895;
-		case 54: goto st897;
-		case 79: goto st899;
-		case 80: goto st901;
-		case 111: goto st899;
-		case 112: goto st901;
-	}
-	goto tr2490;
+	if ( (*p) == 56 )
+		goto st895;
+	goto tr2536;
 st895:
 	if ( ++p == pe )
 		goto _test_eof895;
 case 895:
-	if ( (*p) == 50 )
-		goto st896;
-	goto tr2490;
-st896:
-	if ( ++p == pe )
-		goto _test_eof896;
-case 896:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64705,25 +66065,25 @@ case 896:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2724;
-		case 32: goto tr2724;
-		case 40: goto tr2725;
-		case 41: goto tr2726;
-		case 1034: goto tr2727;
-		case 1083: goto tr2728;
-	}
-	goto tr2490;
+		case 9: goto tr2737;
+		case 32: goto tr2737;
+		case 40: goto tr2738;
+		case 41: goto tr2739;
+		case 1034: goto tr2740;
+		case 1083: goto tr2741;
+	}
+	goto tr2536;
+st896:
+	if ( ++p == pe )
+		goto _test_eof896;
+case 896:
+	if ( (*p) == 52 )
+		goto st897;
+	goto tr2536;
 st897:
 	if ( ++p == pe )
 		goto _test_eof897;
 case 897:
-	if ( (*p) == 52 )
-		goto st898;
-	goto tr2490;
-st898:
-	if ( ++p == pe )
-		goto _test_eof898;
-case 898:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64737,52 +66097,54 @@ case 898:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2730;
-		case 32: goto tr2730;
-		case 40: goto tr2731;
-		case 41: goto tr2732;
-		case 1034: goto tr2733;
-		case 1083: goto tr2734;
-	}
-	goto tr2490;
+		case 9: goto tr2743;
+		case 32: goto tr2743;
+		case 40: goto tr2744;
+		case 41: goto tr2745;
+		case 1034: goto tr2746;
+		case 1083: goto tr2747;
+	}
+	goto tr2536;
+st898:
+	if ( ++p == pe )
+		goto _test_eof898;
+case 898:
+	switch( (*p) ) {
+		case 73: goto st899;
+		case 105: goto st899;
+	}
+	goto tr2536;
 st899:
 	if ( ++p == pe )
 		goto _test_eof899;
 case 899:
 	switch( (*p) ) {
-		case 67: goto st900;
-		case 99: goto st900;
+		case 78: goto st900;
+		case 110: goto st900;
 	}
-	goto tr2490;
+	goto tr2536;
 st900:
 	if ( ++p == pe )
 		goto _test_eof900;
 case 900:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
+	switch( (*p) ) {
+		case 70: goto st901;
+		case 102: goto st901;
 	}
-	switch( _widec ) {
-		case 9: goto tr2736;
-		case 32: goto tr2736;
-		case 40: goto tr2737;
-		case 41: goto tr2738;
-		case 1034: goto tr2739;
-		case 1083: goto tr2740;
-	}
-	goto tr2490;
+	goto tr2536;
 st901:
 	if ( ++p == pe )
 		goto _test_eof901;
 case 901:
+	switch( (*p) ) {
+		case 79: goto st902;
+		case 111: goto st902;
+	}
+	goto tr2536;
+st902:
+	if ( ++p == pe )
+		goto _test_eof902;
+case 902:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64796,146 +66158,126 @@ case 901:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2741;
-		case 32: goto tr2741;
-		case 40: goto tr2742;
-		case 41: goto tr2743;
-		case 1034: goto tr2744;
-		case 1083: goto tr2745;
-	}
-	goto tr2490;
-st902:
-	if ( ++p == pe )
-		goto _test_eof902;
-case 902:
-	switch( (*p) ) {
-		case 73: goto st903;
-		case 88: goto st907;
-		case 105: goto st903;
-		case 120: goto st907;
-	}
-	goto tr2490;
+		case 9: goto tr2752;
+		case 32: goto tr2752;
+		case 40: goto tr2753;
+		case 41: goto tr2754;
+		case 1034: goto tr2755;
+		case 1083: goto tr2756;
+	}
+	goto tr2536;
 st903:
 	if ( ++p == pe )
 		goto _test_eof903;
 case 903:
 	switch( (*p) ) {
-		case 78: goto st904;
-		case 110: goto st904;
+		case 80: goto st904;
+		case 112: goto st904;
 	}
-	goto tr2490;
+	goto tr2536;
 st904:
 	if ( ++p == pe )
 		goto _test_eof904;
 case 904:
 	switch( (*p) ) {
-		case 70: goto st905;
-		case 102: goto st905;
+		case 83: goto st905;
+		case 115: goto st905;
 	}
-	goto tr2490;
+	goto tr2536;
 st905:
 	if ( ++p == pe )
 		goto _test_eof905;
 case 905:
 	switch( (*p) ) {
-		case 79: goto st906;
-		case 111: goto st906;
+		case 69: goto st906;
+		case 101: goto st906;
 	}
-	goto tr2490;
+	goto tr2536;
 st906:
 	if ( ++p == pe )
 		goto _test_eof906;
 case 906:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
+	switch( (*p) ) {
+		case 67: goto st907;
+		case 99: goto st907;
 	}
-	switch( _widec ) {
-		case 9: goto tr2751;
-		case 32: goto tr2751;
-		case 40: goto tr2752;
-		case 41: goto tr2753;
-		case 1034: goto tr2754;
-		case 1083: goto tr2755;
-	}
-	goto tr2490;
+	goto tr2536;
 st907:
 	if ( ++p == pe )
 		goto _test_eof907;
 case 907:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
+	switch( (*p) ) {
+		case 75: goto st908;
+		case 107: goto st908;
 	}
-	switch( _widec ) {
-		case 9: goto tr2756;
-		case 32: goto tr2756;
-		case 40: goto tr2757;
-		case 41: goto tr2758;
-		case 1034: goto tr2759;
-		case 1083: goto tr2760;
-	}
-	goto tr2490;
+	goto tr2536;
 st908:
 	if ( ++p == pe )
 		goto _test_eof908;
 case 908:
 	switch( (*p) ) {
-		case 65: goto st909;
-		case 73: goto st913;
-		case 83: goto st915;
-		case 97: goto st909;
-		case 105: goto st913;
-		case 115: goto st915;
-	}
-	goto tr2490;
+		case 69: goto st909;
+		case 101: goto st909;
+	}
+	goto tr2536;
 st909:
 	if ( ++p == pe )
 		goto _test_eof909;
 case 909:
 	switch( (*p) ) {
-		case 80: goto st910;
-		case 112: goto st910;
+		case 89: goto st910;
+		case 121: goto st910;
 	}
-	goto tr2490;
+	goto tr2536;
 st910:
 	if ( ++p == pe )
 		goto _test_eof910;
 case 910:
-	switch( (*p) ) {
-		case 84: goto st911;
-		case 116: goto st911;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
 	}
-	goto tr2490;
+	switch( _widec ) {
+		case 9: goto tr2764;
+		case 32: goto tr2764;
+		case 40: goto tr2765;
+		case 41: goto tr2766;
+		case 1034: goto tr2767;
+		case 1083: goto tr2768;
+	}
+	goto tr2536;
 st911:
 	if ( ++p == pe )
 		goto _test_eof911;
 case 911:
 	switch( (*p) ) {
-		case 82: goto st912;
-		case 114: goto st912;
+		case 69: goto st912;
+		case 88: goto st914;
+		case 101: goto st912;
+		case 120: goto st914;
 	}
-	goto tr2490;
+	goto tr2536;
 st912:
 	if ( ++p == pe )
 		goto _test_eof912;
 case 912:
+	switch( (*p) ) {
+		case 89: goto st913;
+		case 121: goto st913;
+	}
+	goto tr2536;
+st913:
+	if ( ++p == pe )
+		goto _test_eof913;
+case 913:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64949,23 +66291,14 @@ case 912:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2767;
-		case 32: goto tr2767;
-		case 40: goto tr2768;
-		case 41: goto tr2769;
-		case 1034: goto tr2770;
-		case 1083: goto tr2771;
-	}
-	goto tr2490;
-st913:
-	if ( ++p == pe )
-		goto _test_eof913;
-case 913:
-	switch( (*p) ) {
-		case 68: goto st914;
-		case 100: goto st914;
-	}
-	goto tr2490;
+		case 9: goto tr2772;
+		case 32: goto tr2772;
+		case 40: goto tr2773;
+		case 41: goto tr2774;
+		case 1034: goto tr2775;
+		case 1083: goto tr2776;
+	}
+	goto tr2536;
 st914:
 	if ( ++p == pe )
 		goto _test_eof914;
@@ -64983,50 +66316,34 @@ case 914:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2773;
-		case 32: goto tr2773;
-		case 40: goto tr2774;
-		case 41: goto tr2775;
-		case 1034: goto tr2776;
-		case 1083: goto tr2777;
-	}
-	goto tr2490;
+		case 9: goto tr2777;
+		case 32: goto tr2777;
+		case 40: goto tr2778;
+		case 41: goto tr2779;
+		case 1034: goto tr2780;
+		case 1083: goto tr2781;
+	}
+	goto tr2536;
 st915:
 	if ( ++p == pe )
 		goto _test_eof915;
 case 915:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
-	}
-	switch( _widec ) {
-		case 9: goto tr2778;
-		case 32: goto tr2778;
-		case 40: goto tr2779;
-		case 41: goto tr2780;
-		case 69: goto st916;
-		case 101: goto st916;
-		case 1034: goto tr2782;
-		case 1083: goto tr2783;
-	}
-	goto tr2490;
+	switch( (*p) ) {
+		case 51: goto st916;
+		case 54: goto st918;
+		case 79: goto st920;
+		case 80: goto st922;
+		case 111: goto st920;
+		case 112: goto st922;
+	}
+	goto tr2536;
 st916:
 	if ( ++p == pe )
 		goto _test_eof916;
 case 916:
-	switch( (*p) ) {
-		case 67: goto st917;
-		case 99: goto st917;
-	}
-	goto tr2490;
+	if ( (*p) == 50 )
+		goto st917;
+	goto tr2536;
 st917:
 	if ( ++p == pe )
 		goto _test_eof917;
@@ -65044,19 +66361,25 @@ case 917:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2785;
-		case 32: goto tr2785;
-		case 40: goto tr2786;
-		case 41: goto tr2787;
-		case 51: goto st918;
-		case 1034: goto tr2789;
-		case 1083: goto tr2790;
-	}
-	goto tr2490;
+		case 9: goto tr2787;
+		case 32: goto tr2787;
+		case 40: goto tr2788;
+		case 41: goto tr2789;
+		case 1034: goto tr2790;
+		case 1083: goto tr2791;
+	}
+	goto tr2536;
 st918:
 	if ( ++p == pe )
 		goto _test_eof918;
 case 918:
+	if ( (*p) == 52 )
+		goto st919;
+	goto tr2536;
+st919:
+	if ( ++p == pe )
+		goto _test_eof919;
+case 919:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65070,56 +66393,52 @@ case 918:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2791;
-		case 32: goto tr2791;
-		case 40: goto tr2792;
-		case 41: goto tr2793;
-		case 80: goto st919;
-		case 112: goto st919;
-		case 1034: goto tr2795;
-		case 1083: goto tr2796;
-	}
-	goto tr2490;
-st919:
-	if ( ++p == pe )
-		goto _test_eof919;
-case 919:
-	switch( (*p) ) {
-		case 65: goto st920;
-		case 97: goto st920;
-	}
-	goto tr2490;
+		case 9: goto tr2793;
+		case 32: goto tr2793;
+		case 40: goto tr2794;
+		case 41: goto tr2795;
+		case 1034: goto tr2796;
+		case 1083: goto tr2797;
+	}
+	goto tr2536;
 st920:
 	if ( ++p == pe )
 		goto _test_eof920;
 case 920:
 	switch( (*p) ) {
-		case 82: goto st921;
-		case 114: goto st921;
+		case 67: goto st921;
+		case 99: goto st921;
 	}
-	goto tr2490;
+	goto tr2536;
 st921:
 	if ( ++p == pe )
 		goto _test_eof921;
 case 921:
-	switch( (*p) ) {
-		case 65: goto st922;
-		case 97: goto st922;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
 	}
-	goto tr2490;
+	switch( _widec ) {
+		case 9: goto tr2799;
+		case 32: goto tr2799;
+		case 40: goto tr2800;
+		case 41: goto tr2801;
+		case 1034: goto tr2802;
+		case 1083: goto tr2803;
+	}
+	goto tr2536;
 st922:
 	if ( ++p == pe )
 		goto _test_eof922;
 case 922:
-	switch( (*p) ) {
-		case 77: goto st923;
-		case 109: goto st923;
-	}
-	goto tr2490;
-st923:
-	if ( ++p == pe )
-		goto _test_eof923;
-case 923:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65133,36 +66452,56 @@ case 923:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2801;
-		case 32: goto tr2801;
-		case 40: goto tr2802;
-		case 41: goto tr2803;
-		case 1034: goto tr2804;
-		case 1083: goto tr2805;
-	}
-	goto tr2490;
+		case 9: goto tr2804;
+		case 32: goto tr2804;
+		case 40: goto tr2805;
+		case 41: goto tr2806;
+		case 1034: goto tr2807;
+		case 1083: goto tr2808;
+	}
+	goto tr2536;
+st923:
+	if ( ++p == pe )
+		goto _test_eof923;
+case 923:
+	switch( (*p) ) {
+		case 73: goto st924;
+		case 88: goto st928;
+		case 105: goto st924;
+		case 120: goto st928;
+	}
+	goto tr2536;
 st924:
 	if ( ++p == pe )
 		goto _test_eof924;
 case 924:
 	switch( (*p) ) {
-		case 84: goto st925;
-		case 116: goto st925;
+		case 78: goto st925;
+		case 110: goto st925;
 	}
-	goto tr2490;
+	goto tr2536;
 st925:
 	if ( ++p == pe )
 		goto _test_eof925;
 case 925:
 	switch( (*p) ) {
-		case 82: goto st926;
-		case 114: goto st926;
+		case 70: goto st926;
+		case 102: goto st926;
 	}
-	goto tr2490;
+	goto tr2536;
 st926:
 	if ( ++p == pe )
 		goto _test_eof926;
 case 926:
+	switch( (*p) ) {
+		case 79: goto st927;
+		case 111: goto st927;
+	}
+	goto tr2536;
+st927:
+	if ( ++p == pe )
+		goto _test_eof927;
+case 927:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65176,27 +66515,14 @@ case 926:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2808;
-		case 32: goto tr2808;
-		case 40: goto tr2809;
-		case 41: goto tr2810;
-		case 1034: goto tr2811;
-		case 1083: goto tr2812;
-	}
-	goto tr2490;
-st927:
-	if ( ++p == pe )
-		goto _test_eof927;
-case 927:
-	switch( (*p) ) {
-		case 80: goto st928;
-		case 82: goto st929;
-		case 84: goto st933;
-		case 112: goto st928;
-		case 114: goto st929;
-		case 116: goto st933;
-	}
-	goto tr2490;
+		case 9: goto tr2814;
+		case 32: goto tr2814;
+		case 40: goto tr2815;
+		case 41: goto tr2816;
+		case 1034: goto tr2817;
+		case 1083: goto tr2818;
+	}
+	goto tr2536;
 st928:
 	if ( ++p == pe )
 		goto _test_eof928;
@@ -65214,66 +66540,54 @@ case 928:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2816;
-		case 32: goto tr2816;
-		case 40: goto tr2817;
-		case 41: goto tr2818;
-		case 1034: goto tr2819;
-		case 1083: goto tr2820;
-	}
-	goto tr2490;
+		case 9: goto tr2819;
+		case 32: goto tr2819;
+		case 40: goto tr2820;
+		case 41: goto tr2821;
+		case 1034: goto tr2822;
+		case 1083: goto tr2823;
+	}
+	goto tr2536;
 st929:
 	if ( ++p == pe )
 		goto _test_eof929;
 case 929:
 	switch( (*p) ) {
-		case 83: goto st930;
-		case 115: goto st930;
-	}
-	goto tr2490;
+		case 65: goto st930;
+		case 73: goto st934;
+		case 83: goto st936;
+		case 97: goto st930;
+		case 105: goto st934;
+		case 115: goto st936;
+	}
+	goto tr2536;
 st930:
 	if ( ++p == pe )
 		goto _test_eof930;
 case 930:
 	switch( (*p) ) {
-		case 73: goto st931;
-		case 105: goto st931;
+		case 80: goto st931;
+		case 112: goto st931;
 	}
-	goto tr2490;
+	goto tr2536;
 st931:
 	if ( ++p == pe )
 		goto _test_eof931;
 case 931:
 	switch( (*p) ) {
-		case 71: goto st932;
-		case 103: goto st932;
+		case 84: goto st932;
+		case 116: goto st932;
 	}
-	goto tr2490;
+	goto tr2536;
 st932:
 	if ( ++p == pe )
 		goto _test_eof932;
 case 932:
-	_widec = (*p);
-	if ( (*p) > 10 ) {
-		if ( 59 <= (*p) && (*p) <= 59 ) {
-			_widec = (short)(640 + ((*p) - -128));
-			if ( 
- s->multiline  ) _widec += 256;
-		}
-	} else if ( (*p) >= 10 ) {
-		_widec = (short)(640 + ((*p) - -128));
-		if ( 
- s->multiline  ) _widec += 256;
+	switch( (*p) ) {
+		case 82: goto st933;
+		case 114: goto st933;
 	}
-	switch( _widec ) {
-		case 9: goto tr2824;
-		case 32: goto tr2824;
-		case 40: goto tr2825;
-		case 41: goto tr2826;
-		case 1034: goto tr2827;
-		case 1083: goto tr2828;
-	}
-	goto tr2490;
+	goto tr2536;
 st933:
 	if ( ++p == pe )
 		goto _test_eof933;
@@ -65291,38 +66605,48 @@ case 933:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2829;
-		case 32: goto tr2829;
-		case 40: goto tr2830;
-		case 41: goto tr2831;
-		case 1034: goto tr2832;
-		case 1083: goto tr2833;
-	}
-	goto tr2490;
+		case 9: goto tr2830;
+		case 32: goto tr2830;
+		case 40: goto tr2831;
+		case 41: goto tr2832;
+		case 1034: goto tr2833;
+		case 1083: goto tr2834;
+	}
+	goto tr2536;
 st934:
 	if ( ++p == pe )
 		goto _test_eof934;
 case 934:
 	switch( (*p) ) {
-		case 79: goto st935;
-		case 80: goto st937;
-		case 82: goto st939;
-		case 83: goto st941;
-		case 111: goto st935;
-		case 112: goto st937;
-		case 114: goto st939;
-		case 115: goto st941;
-	}
-	goto tr2490;
+		case 68: goto st935;
+		case 100: goto st935;
+	}
+	goto tr2536;
 st935:
 	if ( ++p == pe )
 		goto _test_eof935;
 case 935:
-	switch( (*p) ) {
-		case 65: goto st936;
-		case 97: goto st936;
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
 	}
-	goto tr2490;
+	switch( _widec ) {
+		case 9: goto tr2836;
+		case 32: goto tr2836;
+		case 40: goto tr2837;
+		case 41: goto tr2838;
+		case 1034: goto tr2839;
+		case 1083: goto tr2840;
+	}
+	goto tr2536;
 st936:
 	if ( ++p == pe )
 		goto _test_eof936;
@@ -65340,23 +66664,25 @@ case 936:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2839;
-		case 32: goto tr2839;
-		case 40: goto tr2840;
-		case 41: goto tr2841;
-		case 1034: goto tr2842;
-		case 1083: goto tr2843;
-	}
-	goto tr2490;
+		case 9: goto tr2841;
+		case 32: goto tr2841;
+		case 40: goto tr2842;
+		case 41: goto tr2843;
+		case 69: goto st937;
+		case 101: goto st937;
+		case 1034: goto tr2845;
+		case 1083: goto tr2846;
+	}
+	goto tr2536;
 st937:
 	if ( ++p == pe )
 		goto _test_eof937;
 case 937:
 	switch( (*p) ) {
-		case 70: goto st938;
-		case 102: goto st938;
+		case 67: goto st938;
+		case 99: goto st938;
 	}
-	goto tr2490;
+	goto tr2536;
 st938:
 	if ( ++p == pe )
 		goto _test_eof938;
@@ -65374,27 +66700,19 @@ case 938:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2845;
-		case 32: goto tr2845;
-		case 40: goto tr2846;
-		case 41: goto tr2847;
-		case 1034: goto tr2848;
-		case 1083: goto tr2849;
-	}
-	goto tr2490;
+		case 9: goto tr2848;
+		case 32: goto tr2848;
+		case 40: goto tr2849;
+		case 41: goto tr2850;
+		case 51: goto st939;
+		case 1034: goto tr2852;
+		case 1083: goto tr2853;
+	}
+	goto tr2536;
 st939:
 	if ( ++p == pe )
 		goto _test_eof939;
 case 939:
-	switch( (*p) ) {
-		case 86: goto st940;
-		case 118: goto st940;
-	}
-	goto tr2490;
-st940:
-	if ( ++p == pe )
-		goto _test_eof940;
-case 940:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65408,41 +66726,52 @@ case 940:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2851;
-		case 32: goto tr2851;
-		case 40: goto tr2852;
-		case 41: goto tr2853;
-		case 1034: goto tr2854;
-		case 1083: goto tr2855;
-	}
-	goto tr2490;
+		case 9: goto tr2854;
+		case 32: goto tr2854;
+		case 40: goto tr2855;
+		case 41: goto tr2856;
+		case 80: goto st940;
+		case 112: goto st940;
+		case 1034: goto tr2858;
+		case 1083: goto tr2859;
+	}
+	goto tr2536;
+st940:
+	if ( ++p == pe )
+		goto _test_eof940;
+case 940:
+	switch( (*p) ) {
+		case 65: goto st941;
+		case 97: goto st941;
+	}
+	goto tr2536;
 st941:
 	if ( ++p == pe )
 		goto _test_eof941;
 case 941:
 	switch( (*p) ) {
-		case 72: goto st942;
-		case 104: goto st942;
+		case 82: goto st942;
+		case 114: goto st942;
 	}
-	goto tr2490;
+	goto tr2536;
 st942:
 	if ( ++p == pe )
 		goto _test_eof942;
 case 942:
 	switch( (*p) ) {
-		case 70: goto st943;
-		case 102: goto st943;
+		case 65: goto st943;
+		case 97: goto st943;
 	}
-	goto tr2490;
+	goto tr2536;
 st943:
 	if ( ++p == pe )
 		goto _test_eof943;
 case 943:
 	switch( (*p) ) {
-		case 80: goto st944;
-		case 112: goto st944;
+		case 77: goto st944;
+		case 109: goto st944;
 	}
-	goto tr2490;
+	goto tr2536;
 st944:
 	if ( ++p == pe )
 		goto _test_eof944;
@@ -65460,49 +66789,36 @@ case 944:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2859;
-		case 32: goto tr2859;
-		case 40: goto tr2860;
-		case 41: goto tr2861;
-		case 1034: goto tr2862;
-		case 1083: goto tr2863;
-	}
-	goto tr2490;
+		case 9: goto tr2864;
+		case 32: goto tr2864;
+		case 40: goto tr2865;
+		case 41: goto tr2866;
+		case 1034: goto tr2867;
+		case 1083: goto tr2868;
+	}
+	goto tr2536;
 st945:
 	if ( ++p == pe )
 		goto _test_eof945;
 case 945:
 	switch( (*p) ) {
-		case 76: goto st946;
-		case 88: goto st949;
-		case 89: goto st951;
-		case 108: goto st946;
-		case 120: goto st949;
-		case 121: goto st951;
-	}
-	goto tr2490;
+		case 84: goto st946;
+		case 116: goto st946;
+	}
+	goto tr2536;
 st946:
 	if ( ++p == pe )
 		goto _test_eof946;
 case 946:
 	switch( (*p) ) {
-		case 83: goto st947;
-		case 115: goto st947;
+		case 82: goto st947;
+		case 114: goto st947;
 	}
-	goto tr2490;
+	goto tr2536;
 st947:
 	if ( ++p == pe )
 		goto _test_eof947;
 case 947:
-	switch( (*p) ) {
-		case 65: goto st948;
-		case 97: goto st948;
-	}
-	goto tr2490;
-st948:
-	if ( ++p == pe )
-		goto _test_eof948;
-case 948:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65516,27 +66832,31 @@ case 948:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2869;
-		case 32: goto tr2869;
-		case 40: goto tr2870;
-		case 41: goto tr2871;
-		case 1034: goto tr2872;
-		case 1083: goto tr2873;
-	}
-	goto tr2490;
+		case 9: goto tr2871;
+		case 32: goto tr2871;
+		case 40: goto tr2872;
+		case 41: goto tr2873;
+		case 1034: goto tr2874;
+		case 1083: goto tr2875;
+	}
+	goto tr2536;
+st948:
+	if ( ++p == pe )
+		goto _test_eof948;
+case 948:
+	switch( (*p) ) {
+		case 80: goto st949;
+		case 82: goto st950;
+		case 84: goto st954;
+		case 112: goto st949;
+		case 114: goto st950;
+		case 116: goto st954;
+	}
+	goto tr2536;
 st949:
 	if ( ++p == pe )
 		goto _test_eof949;
 case 949:
-	switch( (*p) ) {
-		case 84: goto st950;
-		case 116: goto st950;
-	}
-	goto tr2490;
-st950:
-	if ( ++p == pe )
-		goto _test_eof950;
-case 950:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65550,78 +66870,414 @@ case 950:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2875;
-		case 32: goto tr2875;
-		case 40: goto tr2876;
-		case 41: goto tr2877;
-		case 1034: goto tr2878;
-		case 1083: goto tr2879;
-	}
-	goto tr2490;
+		case 9: goto tr2879;
+		case 32: goto tr2879;
+		case 40: goto tr2880;
+		case 41: goto tr2881;
+		case 1034: goto tr2882;
+		case 1083: goto tr2883;
+	}
+	goto tr2536;
+st950:
+	if ( ++p == pe )
+		goto _test_eof950;
+case 950:
+	switch( (*p) ) {
+		case 83: goto st951;
+		case 115: goto st951;
+	}
+	goto tr2536;
 st951:
 	if ( ++p == pe )
 		goto _test_eof951;
 case 951:
 	switch( (*p) ) {
-		case 80: goto st952;
-		case 112: goto st952;
+		case 73: goto st952;
+		case 105: goto st952;
 	}
-	goto tr2490;
+	goto tr2536;
 st952:
 	if ( ++p == pe )
 		goto _test_eof952;
 case 952:
 	switch( (*p) ) {
-		case 69: goto st953;
-		case 101: goto st953;
+		case 71: goto st953;
+		case 103: goto st953;
 	}
-	goto tr2490;
+	goto tr2536;
 st953:
 	if ( ++p == pe )
 		goto _test_eof953;
 case 953:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2887;
+		case 32: goto tr2887;
+		case 40: goto tr2888;
+		case 41: goto tr2889;
+		case 1034: goto tr2890;
+		case 1083: goto tr2891;
+	}
+	goto tr2536;
+st954:
+	if ( ++p == pe )
+		goto _test_eof954;
+case 954:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2892;
+		case 32: goto tr2892;
+		case 40: goto tr2893;
+		case 41: goto tr2894;
+		case 1034: goto tr2895;
+		case 1083: goto tr2896;
+	}
+	goto tr2536;
+st955:
+	if ( ++p == pe )
+		goto _test_eof955;
+case 955:
+	switch( (*p) ) {
+		case 79: goto st956;
+		case 80: goto st958;
+		case 82: goto st960;
+		case 83: goto st962;
+		case 111: goto st956;
+		case 112: goto st958;
+		case 114: goto st960;
+		case 115: goto st962;
+	}
+	goto tr2536;
+st956:
+	if ( ++p == pe )
+		goto _test_eof956;
+case 956:
+	switch( (*p) ) {
+		case 65: goto st957;
+		case 97: goto st957;
+	}
+	goto tr2536;
+st957:
+	if ( ++p == pe )
+		goto _test_eof957;
+case 957:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2902;
+		case 32: goto tr2902;
+		case 40: goto tr2903;
+		case 41: goto tr2904;
+		case 1034: goto tr2905;
+		case 1083: goto tr2906;
+	}
+	goto tr2536;
+st958:
+	if ( ++p == pe )
+		goto _test_eof958;
+case 958:
+	switch( (*p) ) {
+		case 70: goto st959;
+		case 102: goto st959;
+	}
+	goto tr2536;
+st959:
+	if ( ++p == pe )
+		goto _test_eof959;
+case 959:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2908;
+		case 32: goto tr2908;
+		case 40: goto tr2909;
+		case 41: goto tr2910;
+		case 1034: goto tr2911;
+		case 1083: goto tr2912;
+	}
+	goto tr2536;
+st960:
+	if ( ++p == pe )
+		goto _test_eof960;
+case 960:
+	switch( (*p) ) {
+		case 86: goto st961;
+		case 118: goto st961;
+	}
+	goto tr2536;
+st961:
+	if ( ++p == pe )
+		goto _test_eof961;
+case 961:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2914;
+		case 32: goto tr2914;
+		case 40: goto tr2915;
+		case 41: goto tr2916;
+		case 1034: goto tr2917;
+		case 1083: goto tr2918;
+	}
+	goto tr2536;
+st962:
+	if ( ++p == pe )
+		goto _test_eof962;
+case 962:
+	switch( (*p) ) {
+		case 72: goto st963;
+		case 104: goto st963;
+	}
+	goto tr2536;
+st963:
+	if ( ++p == pe )
+		goto _test_eof963;
+case 963:
+	switch( (*p) ) {
+		case 70: goto st964;
+		case 102: goto st964;
+	}
+	goto tr2536;
+st964:
+	if ( ++p == pe )
+		goto _test_eof964;
+case 964:
+	switch( (*p) ) {
+		case 80: goto st965;
+		case 112: goto st965;
+	}
+	goto tr2536;
+st965:
+	if ( ++p == pe )
+		goto _test_eof965;
+case 965:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2922;
+		case 32: goto tr2922;
+		case 40: goto tr2923;
+		case 41: goto tr2924;
+		case 1034: goto tr2925;
+		case 1083: goto tr2926;
+	}
+	goto tr2536;
+st966:
+	if ( ++p == pe )
+		goto _test_eof966;
+case 966:
+	switch( (*p) ) {
+		case 76: goto st967;
+		case 88: goto st970;
+		case 89: goto st972;
+		case 108: goto st967;
+		case 120: goto st970;
+		case 121: goto st972;
+	}
+	goto tr2536;
+st967:
+	if ( ++p == pe )
+		goto _test_eof967;
+case 967:
+	switch( (*p) ) {
+		case 83: goto st968;
+		case 115: goto st968;
+	}
+	goto tr2536;
+st968:
+	if ( ++p == pe )
+		goto _test_eof968;
+case 968:
+	switch( (*p) ) {
+		case 65: goto st969;
+		case 97: goto st969;
+	}
+	goto tr2536;
+st969:
+	if ( ++p == pe )
+		goto _test_eof969;
+case 969:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2932;
+		case 32: goto tr2932;
+		case 40: goto tr2933;
+		case 41: goto tr2934;
+		case 1034: goto tr2935;
+		case 1083: goto tr2936;
+	}
+	goto tr2536;
+st970:
+	if ( ++p == pe )
+		goto _test_eof970;
+case 970:
+	switch( (*p) ) {
+		case 84: goto st971;
+		case 116: goto st971;
+	}
+	goto tr2536;
+st971:
+	if ( ++p == pe )
+		goto _test_eof971;
+case 971:
+	_widec = (*p);
+	if ( (*p) > 10 ) {
+		if ( 59 <= (*p) && (*p) <= 59 ) {
+			_widec = (short)(640 + ((*p) - -128));
+			if ( 
+ s->multiline  ) _widec += 256;
+		}
+	} else if ( (*p) >= 10 ) {
+		_widec = (short)(640 + ((*p) - -128));
+		if ( 
+ s->multiline  ) _widec += 256;
+	}
+	switch( _widec ) {
+		case 9: goto tr2938;
+		case 32: goto tr2938;
+		case 40: goto tr2939;
+		case 41: goto tr2940;
+		case 1034: goto tr2941;
+		case 1083: goto tr2942;
+	}
+	goto tr2536;
+st972:
+	if ( ++p == pe )
+		goto _test_eof972;
+case 972:
+	switch( (*p) ) {
+		case 80: goto st973;
+		case 112: goto st973;
+	}
+	goto tr2536;
+st973:
+	if ( ++p == pe )
+		goto _test_eof973;
+case 973:
+	switch( (*p) ) {
+		case 69: goto st974;
+		case 101: goto st974;
+	}
+	goto tr2536;
+st974:
+	if ( ++p == pe )
+		goto _test_eof974;
+case 974:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2883;
-	goto tr2882;
-tr2883:
+		goto tr2946;
+	goto tr2945;
+tr2946:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st954;
-tr2887:
+	goto st975;
+tr2950:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st954;
-st954:
+	goto st975;
+st975:
 	if ( ++p == pe )
-		goto _test_eof954;
-case 954:
+		goto _test_eof975;
+case 975:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65635,130 +67291,130 @@ case 954:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2884;
-		case 32: goto tr2884;
-		case 40: goto tr2885;
-		case 41: goto tr2886;
-		case 1034: goto tr2888;
-		case 1083: goto tr2889;
+		case 9: goto tr2947;
+		case 32: goto tr2947;
+		case 40: goto tr2948;
+		case 41: goto tr2949;
+		case 1034: goto tr2951;
+		case 1083: goto tr2952;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2887;
-	goto tr2882;
-st955:
+		goto tr2950;
+	goto tr2945;
+st976:
 	if ( ++p == pe )
-		goto _test_eof955;
-case 955:
+		goto _test_eof976;
+case 976:
 	switch( (*p) ) {
-		case 42: goto tr2890;
-		case 92: goto tr2890;
-		case 95: goto tr2890;
+		case 42: goto tr2953;
+		case 92: goto tr2953;
+		case 95: goto tr2953;
 	}
 	if ( (*p) < 64 ) {
 		if ( 45 <= (*p) && (*p) <= 57 )
-			goto tr2890;
+			goto tr2953;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr2890;
+			goto tr2953;
 	} else
-		goto tr2890;
+		goto tr2953;
 	goto tr69;
-tr2890:
+tr2953:
 	{
 		s->dname = rdata_tail;
 	}
-	{ p--; {stack[top++] = 956; goto st248;} }
-	goto st956;
-st956:
+	{ p--; {stack[top++] = 977; goto st255;} }
+	goto st977;
+st977:
 	if ( ++p == pe )
-		goto _test_eof956;
-case 956:
+		goto _test_eof977;
+case 977:
 	switch( (*p) ) {
-		case 32: goto tr2891;
-		case 59: goto tr2891;
+		case 32: goto tr2954;
+		case 59: goto tr2954;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr2891;
+			goto tr2954;
 	} else if ( (*p) >= 9 )
-		goto tr2891;
+		goto tr2954;
 	goto tr69;
-tr2891:
+tr2954:
 	{
 		rdata_tail += s->dname_tmp_length;
 	}
-	{ p--; {stack[top++] = 957; goto st314;} }
-	goto st957;
-st957:
+	{ p--; {stack[top++] = 978; goto st321;} }
+	goto st978;
+st978:
 	if ( ++p == pe )
-		goto _test_eof957;
-case 957:
+		goto _test_eof978;
+case 978:
 	switch( (*p) ) {
-		case 32: goto tr2892;
-		case 59: goto tr2892;
+		case 32: goto tr2955;
+		case 59: goto tr2955;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr2892;
+			goto tr2955;
 	} else if ( (*p) >= 9 )
-		goto tr2892;
+		goto tr2955;
 	goto tr69;
-tr2892:
+tr2955:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1129;
-st1129:
+	goto st1150;
+st1150:
 	if ( ++p == pe )
-		goto _test_eof1129;
-case 1129:
+		goto _test_eof1150;
+case 1150:
 	goto st0;
-st958:
+st979:
 	if ( ++p == pe )
-		goto _test_eof958;
-case 958:
+		goto _test_eof979;
+case 979:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2893;
-	goto tr1654;
-tr2893:
+		goto tr2956;
+	goto tr1700;
+tr2956:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st959;
-tr2897:
+	goto st980;
+tr2960:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st959;
-st959:
+	goto st980;
+st980:
 	if ( ++p == pe )
-		goto _test_eof959;
-case 959:
+		goto _test_eof980;
+case 980:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65772,104 +67428,104 @@ case 959:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2894;
-		case 32: goto tr2894;
-		case 40: goto tr2895;
-		case 41: goto tr2896;
-		case 1034: goto tr2898;
-		case 1083: goto tr2899;
+		case 9: goto tr2957;
+		case 32: goto tr2957;
+		case 40: goto tr2958;
+		case 41: goto tr2959;
+		case 1034: goto tr2961;
+		case 1083: goto tr2962;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2897;
-	goto tr1654;
-tr2901:
+		goto tr2960;
+	goto tr1700;
+tr2964:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st960;
-tr2902:
+	goto st981;
+tr2965:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st960;
-tr2904:
+	goto st981;
+tr2967:
 	{
 		s->line_counter++;
 	}
-	goto st960;
-tr2894:
+	goto st981;
+tr2957:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st960;
-tr2895:
+	goto st981;
+tr2958:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st960;
-tr2896:
+	goto st981;
+tr2959:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st960;
-tr2898:
+	goto st981;
+tr2961:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st960;
-st960:
+	goto st981;
+st981:
 	if ( ++p == pe )
-		goto _test_eof960;
-case 960:
+		goto _test_eof981;
+case 981:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65883,55 +67539,55 @@ case 960:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st960;
-		case 32: goto st960;
-		case 40: goto tr2901;
-		case 41: goto tr2902;
-		case 1034: goto tr2904;
-		case 1083: goto st968;
+		case 9: goto st981;
+		case 32: goto st981;
+		case 40: goto tr2964;
+		case 41: goto tr2965;
+		case 1034: goto tr2967;
+		case 1083: goto st989;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2903;
-	goto tr1654;
-tr2903:
+		goto tr2966;
+	goto tr1700;
+tr2966:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st961;
-tr2909:
+	goto st982;
+tr2972:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st961;
-st961:
+	goto st982;
+st982:
 	if ( ++p == pe )
-		goto _test_eof961;
-case 961:
+		goto _test_eof982;
+case 982:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65945,104 +67601,104 @@ case 961:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2906;
-		case 32: goto tr2906;
-		case 40: goto tr2907;
-		case 41: goto tr2908;
-		case 1034: goto tr2910;
-		case 1083: goto tr2911;
+		case 9: goto tr2969;
+		case 32: goto tr2969;
+		case 40: goto tr2970;
+		case 41: goto tr2971;
+		case 1034: goto tr2973;
+		case 1083: goto tr2974;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2909;
-	goto tr1654;
-tr2913:
+		goto tr2972;
+	goto tr1700;
+tr2976:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st962;
-tr2914:
+	goto st983;
+tr2977:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st962;
-tr2916:
+	goto st983;
+tr2979:
 	{
 		s->line_counter++;
 	}
-	goto st962;
-tr2906:
+	goto st983;
+tr2969:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st962;
-tr2907:
+	goto st983;
+tr2970:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st962;
-tr2908:
+	goto st983;
+tr2971:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st962;
-tr2910:
+	goto st983;
+tr2973:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st962;
-st962:
+	goto st983;
+st983:
 	if ( ++p == pe )
-		goto _test_eof962;
-case 962:
+		goto _test_eof983;
+case 983:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66056,29 +67712,29 @@ case 962:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st962;
-		case 32: goto st962;
-		case 40: goto tr2913;
-		case 41: goto tr2914;
-		case 1034: goto tr2916;
-		case 1083: goto st967;
+		case 9: goto st983;
+		case 32: goto st983;
+		case 40: goto tr2976;
+		case 41: goto tr2977;
+		case 1034: goto tr2979;
+		case 1083: goto st988;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2915;
+			goto tr2978;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2915;
+			goto tr2978;
 	} else
-		goto tr2915;
+		goto tr2978;
 	goto tr69;
-tr2915:
-	{ p--; {stack[top++] = 963; goto st453;} }
-	goto st963;
-st963:
+tr2978:
+	{ p--; {stack[top++] = 984; goto st467;} }
+	goto st984;
+st984:
 	if ( ++p == pe )
-		goto _test_eof963;
-case 963:
+		goto _test_eof984;
+case 984:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66092,41 +67748,41 @@ case 963:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st964;
-		case 32: goto st964;
-		case 40: goto tr2919;
-		case 41: goto tr2920;
-		case 1034: goto tr2921;
-		case 1083: goto st966;
+		case 9: goto st985;
+		case 32: goto st985;
+		case 40: goto tr2982;
+		case 41: goto tr2983;
+		case 1034: goto tr2984;
+		case 1083: goto st987;
 	}
 	goto tr69;
-tr2919:
+tr2982:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st964;
-tr2920:
+	goto st985;
+tr2983:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st964;
-tr2921:
+	goto st985;
+tr2984:
 	{
 		s->line_counter++;
 	}
-	goto st964;
-st964:
+	goto st985;
+st985:
 	if ( ++p == pe )
-		goto _test_eof964;
-case 964:
+		goto _test_eof985;
+case 985:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66140,30 +67796,30 @@ case 964:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st964;
-		case 32: goto st964;
-		case 40: goto tr2919;
-		case 41: goto tr2920;
-		case 43: goto tr2923;
-		case 1034: goto tr2921;
-		case 1083: goto st966;
+		case 9: goto st985;
+		case 32: goto st985;
+		case 40: goto tr2982;
+		case 41: goto tr2983;
+		case 43: goto tr2986;
+		case 1034: goto tr2984;
+		case 1083: goto st987;
 	}
 	if ( _widec < 65 ) {
 		if ( 47 <= _widec && _widec <= 57 )
-			goto tr2923;
+			goto tr2986;
 	} else if ( _widec > 90 ) {
 		if ( 97 <= _widec && _widec <= 122 )
-			goto tr2923;
+			goto tr2986;
 	} else
-		goto tr2923;
+		goto tr2986;
 	goto tr69;
-tr2923:
-	{ p--; {stack[top++] = 965; goto st307;} }
-	goto st965;
-st965:
+tr2986:
+	{ p--; {stack[top++] = 986; goto st314;} }
+	goto st986;
+st986:
 	if ( ++p == pe )
-		goto _test_eof965;
-case 965:
+		goto _test_eof986;
+case 986:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66177,24 +67833,24 @@ case 965:
  !s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 1546: goto tr2924;
-		case 1595: goto tr2924;
+		case 1546: goto tr2987;
+		case 1595: goto tr2987;
 	}
 	goto tr69;
-tr2924:
+tr2987:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1130;
-st1130:
+	goto st1151;
+st1151:
 	if ( ++p == pe )
-		goto _test_eof1130;
-case 1130:
+		goto _test_eof1151;
+case 1151:
 	goto st0;
-st966:
+st987:
 	if ( ++p == pe )
-		goto _test_eof966;
-case 966:
+		goto _test_eof987;
+case 987:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -66214,25 +67870,25 @@ case 966:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2921;
+		goto tr2984;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st966;
+		goto st987;
 	goto tr69;
-tr2911:
+tr2974:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st967;
-st967:
+	goto st988;
+st988:
 	if ( ++p == pe )
-		goto _test_eof967;
-case 967:
+		goto _test_eof988;
+case 988:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -66252,25 +67908,25 @@ case 967:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2916;
+		goto tr2979;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st967;
+		goto st988;
 	goto tr69;
-tr2899:
+tr2962:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st968;
-st968:
+	goto st989;
+st989:
 	if ( ++p == pe )
-		goto _test_eof968;
-case 968:
+		goto _test_eof989;
+case 989:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -66290,32 +67946,32 @@ case 968:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2904;
+		goto tr2967;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st968;
+		goto st989;
 	goto tr69;
-st969:
+st990:
 	if ( ++p == pe )
-		goto _test_eof969;
-case 969:
+		goto _test_eof990;
+case 990:
 	if ( (*p) == 43 )
-		goto tr2925;
+		goto tr2988;
 	if ( (*p) < 65 ) {
 		if ( 47 <= (*p) && (*p) <= 57 )
-			goto tr2925;
+			goto tr2988;
 	} else if ( (*p) > 90 ) {
 		if ( 97 <= (*p) && (*p) <= 122 )
-			goto tr2925;
+			goto tr2988;
 	} else
-		goto tr2925;
+		goto tr2988;
 	goto tr69;
-tr2925:
-	{ p--; {stack[top++] = 970; goto st307;} }
-	goto st970;
-st970:
+tr2988:
+	{ p--; {stack[top++] = 991; goto st314;} }
+	goto st991;
+st991:
 	if ( ++p == pe )
-		goto _test_eof970;
-case 970:
+		goto _test_eof991;
+case 991:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66329,66 +67985,66 @@ case 970:
  !s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 1546: goto tr2926;
-		case 1595: goto tr2926;
+		case 1546: goto tr2989;
+		case 1595: goto tr2989;
 	}
 	goto tr69;
-tr2926:
+tr2989:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1131;
-st1131:
+	goto st1152;
+st1152:
 	if ( ++p == pe )
-		goto _test_eof1131;
-case 1131:
+		goto _test_eof1152;
+case 1152:
 	goto st0;
-st971:
+st992:
 	if ( ++p == pe )
-		goto _test_eof971;
-case 971:
+		goto _test_eof992;
+case 992:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2927;
-	goto tr1654;
-tr2927:
+		goto tr2990;
+	goto tr1700;
+tr2990:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st972;
-tr2931:
+	goto st993;
+tr2994:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st972;
-st972:
+	goto st993;
+st993:
 	if ( ++p == pe )
-		goto _test_eof972;
-case 972:
+		goto _test_eof993;
+case 993:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66402,104 +68058,104 @@ case 972:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2928;
-		case 32: goto tr2928;
-		case 40: goto tr2929;
-		case 41: goto tr2930;
-		case 1034: goto tr2932;
-		case 1083: goto tr2933;
+		case 9: goto tr2991;
+		case 32: goto tr2991;
+		case 40: goto tr2992;
+		case 41: goto tr2993;
+		case 1034: goto tr2995;
+		case 1083: goto tr2996;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2931;
-	goto tr1654;
-tr2935:
+		goto tr2994;
+	goto tr1700;
+tr2998:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st973;
-tr2936:
+	goto st994;
+tr2999:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st973;
-tr2938:
+	goto st994;
+tr3001:
 	{
 		s->line_counter++;
 	}
-	goto st973;
-tr2928:
+	goto st994;
+tr2991:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st973;
-tr2929:
+	goto st994;
+tr2992:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st973;
-tr2930:
+	goto st994;
+tr2993:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st973;
-tr2932:
+	goto st994;
+tr2995:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st973;
-st973:
+	goto st994;
+st994:
 	if ( ++p == pe )
-		goto _test_eof973;
-case 973:
+		goto _test_eof994;
+case 994:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66513,55 +68169,55 @@ case 973:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st973;
-		case 32: goto st973;
-		case 40: goto tr2935;
-		case 41: goto tr2936;
-		case 1034: goto tr2938;
-		case 1083: goto st999;
+		case 9: goto st994;
+		case 32: goto st994;
+		case 40: goto tr2998;
+		case 41: goto tr2999;
+		case 1034: goto tr3001;
+		case 1083: goto st1020;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2937;
-	goto tr1654;
-tr2937:
+		goto tr3000;
+	goto tr1700;
+tr3000:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st974;
-tr2943:
+	goto st995;
+tr3006:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st974;
-st974:
+	goto st995;
+st995:
 	if ( ++p == pe )
-		goto _test_eof974;
-case 974:
+		goto _test_eof995;
+case 995:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66575,104 +68231,104 @@ case 974:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2940;
-		case 32: goto tr2940;
-		case 40: goto tr2941;
-		case 41: goto tr2942;
-		case 1034: goto tr2944;
-		case 1083: goto tr2945;
+		case 9: goto tr3003;
+		case 32: goto tr3003;
+		case 40: goto tr3004;
+		case 41: goto tr3005;
+		case 1034: goto tr3007;
+		case 1083: goto tr3008;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2943;
-	goto tr1654;
-tr2947:
+		goto tr3006;
+	goto tr1700;
+tr3010:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st975;
-tr2948:
+	goto st996;
+tr3011:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st975;
-tr2950:
+	goto st996;
+tr3013:
 	{
 		s->line_counter++;
 	}
-	goto st975;
-tr2940:
+	goto st996;
+tr3003:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st975;
-tr2941:
+	goto st996;
+tr3004:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st975;
-tr2942:
+	goto st996;
+tr3005:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st975;
-tr2944:
+	goto st996;
+tr3007:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st975;
-st975:
+	goto st996;
+st996:
 	if ( ++p == pe )
-		goto _test_eof975;
-case 975:
+		goto _test_eof996;
+case 996:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66686,55 +68342,55 @@ case 975:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st975;
-		case 32: goto st975;
-		case 40: goto tr2947;
-		case 41: goto tr2948;
-		case 1034: goto tr2950;
-		case 1083: goto st998;
+		case 9: goto st996;
+		case 32: goto st996;
+		case 40: goto tr3010;
+		case 41: goto tr3011;
+		case 1034: goto tr3013;
+		case 1083: goto st1019;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2949;
-	goto tr1654;
-tr2949:
+		goto tr3012;
+	goto tr1700;
+tr3012:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st976;
-tr2955:
+	goto st997;
+tr3018:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st976;
-st976:
+	goto st997;
+st997:
 	if ( ++p == pe )
-		goto _test_eof976;
-case 976:
+		goto _test_eof997;
+case 997:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66748,104 +68404,104 @@ case 976:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2952;
-		case 32: goto tr2952;
-		case 40: goto tr2953;
-		case 41: goto tr2954;
-		case 1034: goto tr2956;
-		case 1083: goto tr2957;
+		case 9: goto tr3015;
+		case 32: goto tr3015;
+		case 40: goto tr3016;
+		case 41: goto tr3017;
+		case 1034: goto tr3019;
+		case 1083: goto tr3020;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2955;
-	goto tr1654;
-tr2959:
+		goto tr3018;
+	goto tr1700;
+tr3022:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st977;
-tr2960:
+	goto st998;
+tr3023:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st977;
-tr2963:
+	goto st998;
+tr3026:
 	{
 		s->line_counter++;
 	}
-	goto st977;
-tr2952:
+	goto st998;
+tr3015:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st977;
-tr2953:
+	goto st998;
+tr3016:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st977;
-tr2954:
+	goto st998;
+tr3017:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st977;
-tr2956:
+	goto st998;
+tr3019:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st977;
-st977:
+	goto st998;
+st998:
 	if ( ++p == pe )
-		goto _test_eof977;
-case 977:
+		goto _test_eof998;
+case 998:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66859,32 +68515,32 @@ case 977:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st977;
-		case 32: goto st977;
-		case 40: goto tr2959;
-		case 41: goto tr2960;
-		case 45: goto tr2961;
-		case 1034: goto tr2963;
-		case 1083: goto st997;
+		case 9: goto st998;
+		case 32: goto st998;
+		case 40: goto tr3022;
+		case 41: goto tr3023;
+		case 45: goto tr3024;
+		case 1034: goto tr3026;
+		case 1083: goto st1018;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2962;
+			goto tr3025;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2962;
+			goto tr3025;
 	} else
-		goto tr2962;
-	goto tr2255;
-tr2961:
+		goto tr3025;
+	goto tr2301;
+tr3024:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	goto st978;
-st978:
+	goto st999;
+st999:
 	if ( ++p == pe )
-		goto _test_eof978;
-case 978:
+		goto _test_eof999;
+case 999:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66898,38 +68554,38 @@ case 978:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2965;
-		case 32: goto tr2965;
-		case 40: goto tr2966;
-		case 41: goto tr2967;
-		case 1034: goto tr2968;
-		case 1083: goto tr2969;
-	}
-	goto tr2255;
-tr2972:
+		case 9: goto tr3028;
+		case 32: goto tr3028;
+		case 40: goto tr3029;
+		case 41: goto tr3030;
+		case 1034: goto tr3031;
+		case 1083: goto tr3032;
+	}
+	goto tr2301;
+tr3035:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st979;
-tr2973:
+	goto st1000;
+tr3036:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st979;
-tr2975:
+	goto st1000;
+tr3038:
 	{
 		s->line_counter++;
 	}
-	goto st979;
-tr2965:
+	goto st1000;
+tr3028:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -66937,11 +68593,11 @@ tr2965:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st979;
-tr2966:
+	goto st1000;
+tr3029:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -66949,18 +68605,18 @@ tr2966:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st979;
-tr2967:
+	goto st1000;
+tr3030:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -66968,18 +68624,18 @@ tr2967:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st979;
-tr2968:
+	goto st1000;
+tr3031:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -66987,17 +68643,17 @@ tr2968:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st979;
-st979:
+	goto st1000;
+st1000:
 	if ( ++p == pe )
-		goto _test_eof979;
-case 979:
+		goto _test_eof1000;
+case 1000:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67011,23 +68667,23 @@ case 979:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st979;
-		case 32: goto st979;
-		case 40: goto tr2972;
-		case 41: goto tr2973;
-		case 1034: goto tr2975;
-		case 1083: goto st994;
+		case 9: goto st1000;
+		case 32: goto st1000;
+		case 40: goto tr3035;
+		case 41: goto tr3036;
+		case 1034: goto tr3038;
+		case 1083: goto st1015;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2974;
+			goto tr3037;
 	} else if ( _widec > 86 ) {
 		if ( 97 <= _widec && _widec <= 118 )
-			goto tr2974;
+			goto tr3037;
 	} else
-		goto tr2974;
-	goto tr2970;
-tr2974:
+		goto tr3037;
+	goto tr3033;
+tr3037:
 	{
 		s->item_length_location = rdata_tail++;
 	}
@@ -67036,34 +68692,34 @@ tr2974:
 			*rdata_tail = first_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st980;
-tr2989:
+	goto st1001;
+tr3052:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st980;
-st980:
+	goto st1001;
+st1001:
 	if ( ++p == pe )
-		goto _test_eof980;
-case 980:
+		goto _test_eof1001;
+case 1001:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2977;
+			goto tr3040;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2977;
+			goto tr3040;
 	} else
-		goto tr2977;
-	goto tr2970;
-tr2977:
+		goto tr3040;
+	goto tr3033;
+tr3040:
 	{
 		*(rdata_tail++) += second_left_base32hex_to_num[(uint8_t)(*p)];
 
@@ -67071,44 +68727,44 @@ tr2977:
 			*rdata_tail = second_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st981;
-st981:
+	goto st1002;
+st1002:
 	if ( ++p == pe )
-		goto _test_eof981;
-case 981:
+		goto _test_eof1002;
+case 1002:
 	if ( (*p) == 61 )
-		goto st992;
+		goto st1013;
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2978;
+			goto tr3041;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2978;
+			goto tr3041;
 	} else
-		goto tr2978;
-	goto tr2970;
-tr2978:
+		goto tr3041;
+	goto tr3033;
+tr3041:
 	{
 		*rdata_tail += third_base32hex_to_num[(uint8_t)(*p)];
 	}
-	goto st982;
-st982:
+	goto st1003;
+st1003:
 	if ( ++p == pe )
-		goto _test_eof982;
-case 982:
+		goto _test_eof1003;
+case 1003:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2980;
+			goto tr3043;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2980;
+			goto tr3043;
 	} else
-		goto tr2980;
-	goto tr2970;
-tr2980:
+		goto tr3043;
+	goto tr3033;
+tr3043:
 	{
 		*(rdata_tail++) += fourth_left_base32hex_to_num[(uint8_t)(*p)];
 
@@ -67116,26 +68772,26 @@ tr2980:
 			*rdata_tail = fourth_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st983;
-st983:
+	goto st1004;
+st1004:
 	if ( ++p == pe )
-		goto _test_eof983;
-case 983:
+		goto _test_eof1004;
+case 1004:
 	if ( (*p) == 61 )
-		goto st991;
+		goto st1012;
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2981;
+			goto tr3044;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2981;
+			goto tr3044;
 	} else
-		goto tr2981;
-	goto tr2970;
-tr2981:
+		goto tr3044;
+	goto tr3033;
+tr3044:
 	{
 		*(rdata_tail++) += fifth_left_base32hex_to_num[(uint8_t)(*p)];
 
@@ -67143,44 +68799,44 @@ tr2981:
 			*rdata_tail = fifth_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st984;
-st984:
+	goto st1005;
+st1005:
 	if ( ++p == pe )
-		goto _test_eof984;
-case 984:
+		goto _test_eof1005;
+case 1005:
 	if ( (*p) == 61 )
-		goto st989;
+		goto st1010;
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2983;
+			goto tr3046;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2983;
+			goto tr3046;
 	} else
-		goto tr2983;
-	goto tr2970;
-tr2983:
+		goto tr3046;
+	goto tr3033;
+tr3046:
 	{
 		*rdata_tail += sixth_base32hex_to_num[(uint8_t)(*p)];
 	}
-	goto st985;
-st985:
+	goto st1006;
+st1006:
 	if ( ++p == pe )
-		goto _test_eof985;
-case 985:
+		goto _test_eof1006;
+case 1006:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2985;
+			goto tr3048;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2985;
+			goto tr3048;
 	} else
-		goto tr2985;
-	goto tr2970;
-tr2985:
+		goto tr3048;
+	goto tr3033;
+tr3048:
 	{
 		*(rdata_tail++) += seventh_left_base32hex_to_num[(uint8_t)(*p)];
 
@@ -67188,54 +68844,54 @@ tr2985:
 			*rdata_tail = seventh_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st986;
-st986:
+	goto st1007;
+st1007:
 	if ( ++p == pe )
-		goto _test_eof986;
-case 986:
+		goto _test_eof1007;
+case 1007:
 	if ( (*p) == 61 )
-		goto st987;
+		goto st1008;
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2986;
+			goto tr3049;
 	} else if ( (*p) > 86 ) {
 		if ( 97 <= (*p) && (*p) <= 118 )
-			goto tr2986;
+			goto tr3049;
 	} else
-		goto tr2986;
-	goto tr2970;
-tr2986:
+		goto tr3049;
+	goto tr3033;
+tr3049:
 	{
 		*(rdata_tail++) += eighth_base32hex_to_num[(uint8_t)(*p)];
 	}
-	goto st987;
-st987:
+	goto st1008;
+st1008:
 	if ( ++p == pe )
-		goto _test_eof987;
-case 987:
+		goto _test_eof1008;
+case 1008:
 	switch( (*p) ) {
-		case 32: goto tr2988;
-		case 59: goto tr2988;
+		case 32: goto tr3051;
+		case 59: goto tr3051;
 	}
 	if ( (*p) < 48 ) {
 		if ( (*p) > 10 ) {
 			if ( 40 <= (*p) && (*p) <= 41 )
-				goto tr2988;
+				goto tr3051;
 		} else if ( (*p) >= 9 )
-			goto tr2988;
+			goto tr3051;
 	} else if ( (*p) > 57 ) {
 		if ( (*p) > 86 ) {
 			if ( 97 <= (*p) && (*p) <= 118 )
-				goto tr2989;
+				goto tr3052;
 		} else if ( (*p) >= 65 )
-			goto tr2989;
+			goto tr3052;
 	} else
-		goto tr2989;
-	goto tr2970;
-tr2988:
+		goto tr3052;
+	goto tr3033;
+tr3051:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -67243,71 +68899,71 @@ tr2988:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	{ p--; {stack[top++] = 988; goto st314;} }
-	goto st988;
-st988:
+	{ p--; {stack[top++] = 1009; goto st321;} }
+	goto st1009;
+st1009:
 	if ( ++p == pe )
-		goto _test_eof988;
-case 988:
+		goto _test_eof1009;
+case 1009:
 	switch( (*p) ) {
-		case 32: goto tr2990;
-		case 59: goto tr2990;
+		case 32: goto tr3053;
+		case 59: goto tr3053;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr2990;
+			goto tr3053;
 	} else if ( (*p) >= 9 )
-		goto tr2990;
+		goto tr3053;
 	goto tr69;
-tr2990:
+tr3053:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1132;
-st1132:
+	goto st1153;
+st1153:
 	if ( ++p == pe )
-		goto _test_eof1132;
-case 1132:
+		goto _test_eof1153;
+case 1153:
 	goto st0;
-st989:
+st1010:
 	if ( ++p == pe )
-		goto _test_eof989;
-case 989:
+		goto _test_eof1010;
+case 1010:
 	if ( (*p) == 61 )
-		goto st990;
-	goto tr2970;
-st990:
+		goto st1011;
+	goto tr3033;
+st1011:
 	if ( ++p == pe )
-		goto _test_eof990;
-case 990:
+		goto _test_eof1011;
+case 1011:
 	if ( (*p) == 61 )
-		goto st987;
-	goto tr2970;
-st991:
+		goto st1008;
+	goto tr3033;
+st1012:
 	if ( ++p == pe )
-		goto _test_eof991;
-case 991:
+		goto _test_eof1012;
+case 1012:
 	if ( (*p) == 61 )
-		goto st989;
-	goto tr2970;
-st992:
+		goto st1010;
+	goto tr3033;
+st1013:
 	if ( ++p == pe )
-		goto _test_eof992;
-case 992:
+		goto _test_eof1013;
+case 1013:
 	if ( (*p) == 61 )
-		goto st993;
-	goto tr2970;
-st993:
+		goto st1014;
+	goto tr3033;
+st1014:
 	if ( ++p == pe )
-		goto _test_eof993;
-case 993:
+		goto _test_eof1014;
+case 1014:
 	if ( (*p) == 61 )
-		goto st991;
-	goto tr2970;
-tr2969:
+		goto st1012;
+	goto tr3033;
+tr3032:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -67315,14 +68971,14 @@ tr2969:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st994;
-st994:
+	goto st1015;
+st1015:
 	if ( ++p == pe )
-		goto _test_eof994;
-case 994:
+		goto _test_eof1015;
+case 1015:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -67342,21 +68998,21 @@ case 994:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2975;
+		goto tr3038;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st994;
+		goto st1015;
 	goto tr69;
-tr2994:
+tr3057:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st995;
-tr2962:
+	goto st1016;
+tr3025:
 	{
 		s->item_length_location = rdata_tail++;
 	}
@@ -67365,33 +69021,33 @@ tr2962:
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st995;
-st995:
+	goto st1016;
+st1016:
 	if ( ++p == pe )
-		goto _test_eof995;
-case 995:
+		goto _test_eof1016;
+case 1016:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr2993;
+			goto tr3056;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr2993;
+			goto tr3056;
 	} else
-		goto tr2993;
-	goto tr2255;
-tr2993:
+		goto tr3056;
+	goto tr2301;
+tr3056:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st996;
-st996:
+	goto st1017;
+st1017:
 	if ( ++p == pe )
-		goto _test_eof996;
-case 996:
+		goto _test_eof1017;
+case 1017:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67405,37 +69061,37 @@ case 996:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2965;
-		case 32: goto tr2965;
-		case 40: goto tr2966;
-		case 41: goto tr2967;
-		case 1034: goto tr2968;
-		case 1083: goto tr2969;
+		case 9: goto tr3028;
+		case 32: goto tr3028;
+		case 40: goto tr3029;
+		case 41: goto tr3030;
+		case 1034: goto tr3031;
+		case 1083: goto tr3032;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr2994;
+			goto tr3057;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr2994;
+			goto tr3057;
 	} else
-		goto tr2994;
-	goto tr2255;
-tr2957:
+		goto tr3057;
+	goto tr2301;
+tr3020:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st997;
-st997:
+	goto st1018;
+st1018:
 	if ( ++p == pe )
-		goto _test_eof997;
-case 997:
+		goto _test_eof1018;
+case 1018:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -67455,25 +69111,25 @@ case 997:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2963;
+		goto tr3026;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st997;
+		goto st1018;
 	goto tr69;
-tr2945:
+tr3008:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st998;
-st998:
+	goto st1019;
+st1019:
 	if ( ++p == pe )
-		goto _test_eof998;
-case 998:
+		goto _test_eof1019;
+case 1019:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -67493,25 +69149,25 @@ case 998:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2950;
+		goto tr3013;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st998;
+		goto st1019;
 	goto tr69;
-tr2933:
+tr2996:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st999;
-st999:
+	goto st1020;
+st1020:
 	if ( ++p == pe )
-		goto _test_eof999;
-case 999:
+		goto _test_eof1020;
+case 1020:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -67531,56 +69187,56 @@ case 999:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr2938;
+		goto tr3001;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st999;
+		goto st1020;
 	goto tr69;
-st1000:
+st1021:
 	if ( ++p == pe )
-		goto _test_eof1000;
-case 1000:
+		goto _test_eof1021;
+case 1021:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr2995;
-	goto tr1654;
-tr2995:
+		goto tr3058;
+	goto tr1700;
+tr3058:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1001;
-tr2999:
+	goto st1022;
+tr3062:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1001;
-st1001:
+	goto st1022;
+st1022:
 	if ( ++p == pe )
-		goto _test_eof1001;
-case 1001:
+		goto _test_eof1022;
+case 1022:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67594,104 +69250,104 @@ case 1001:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr2996;
-		case 32: goto tr2996;
-		case 40: goto tr2997;
-		case 41: goto tr2998;
-		case 1034: goto tr3000;
-		case 1083: goto tr3001;
+		case 9: goto tr3059;
+		case 32: goto tr3059;
+		case 40: goto tr3060;
+		case 41: goto tr3061;
+		case 1034: goto tr3063;
+		case 1083: goto tr3064;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr2999;
-	goto tr1654;
-tr3003:
+		goto tr3062;
+	goto tr1700;
+tr3066:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1002;
-tr3004:
+	goto st1023;
+tr3067:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1002;
-tr3006:
+	goto st1023;
+tr3069:
 	{
 		s->line_counter++;
 	}
-	goto st1002;
-tr2996:
+	goto st1023;
+tr3059:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1002;
-tr2997:
+	goto st1023;
+tr3060:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1002;
-tr2998:
+	goto st1023;
+tr3061:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1002;
-tr3000:
+	goto st1023;
+tr3063:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1002;
-st1002:
+	goto st1023;
+st1023:
 	if ( ++p == pe )
-		goto _test_eof1002;
-case 1002:
+		goto _test_eof1023;
+case 1023:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67705,55 +69361,55 @@ case 1002:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1002;
-		case 32: goto st1002;
-		case 40: goto tr3003;
-		case 41: goto tr3004;
-		case 1034: goto tr3006;
-		case 1083: goto st1012;
+		case 9: goto st1023;
+		case 32: goto st1023;
+		case 40: goto tr3066;
+		case 41: goto tr3067;
+		case 1034: goto tr3069;
+		case 1083: goto st1033;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3005;
-	goto tr1654;
-tr3005:
+		goto tr3068;
+	goto tr1700;
+tr3068:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1003;
-tr3011:
+	goto st1024;
+tr3074:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1003;
-st1003:
+	goto st1024;
+st1024:
 	if ( ++p == pe )
-		goto _test_eof1003;
-case 1003:
+		goto _test_eof1024;
+case 1024:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67767,104 +69423,104 @@ case 1003:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3008;
-		case 32: goto tr3008;
-		case 40: goto tr3009;
-		case 41: goto tr3010;
-		case 1034: goto tr3012;
-		case 1083: goto tr3013;
+		case 9: goto tr3071;
+		case 32: goto tr3071;
+		case 40: goto tr3072;
+		case 41: goto tr3073;
+		case 1034: goto tr3075;
+		case 1083: goto tr3076;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3011;
-	goto tr1654;
-tr3015:
+		goto tr3074;
+	goto tr1700;
+tr3078:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1004;
-tr3016:
+	goto st1025;
+tr3079:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1004;
-tr3018:
+	goto st1025;
+tr3081:
 	{
 		s->line_counter++;
 	}
-	goto st1004;
-tr3008:
+	goto st1025;
+tr3071:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1004;
-tr3009:
+	goto st1025;
+tr3072:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1004;
-tr3010:
+	goto st1025;
+tr3073:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1004;
-tr3012:
+	goto st1025;
+tr3075:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1004;
-st1004:
+	goto st1025;
+st1025:
 	if ( ++p == pe )
-		goto _test_eof1004;
-case 1004:
+		goto _test_eof1025;
+case 1025:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67878,55 +69534,55 @@ case 1004:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1004;
-		case 32: goto st1004;
-		case 40: goto tr3015;
-		case 41: goto tr3016;
-		case 1034: goto tr3018;
-		case 1083: goto st1011;
+		case 9: goto st1025;
+		case 32: goto st1025;
+		case 40: goto tr3078;
+		case 41: goto tr3079;
+		case 1034: goto tr3081;
+		case 1083: goto st1032;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3017;
-	goto tr1654;
-tr3017:
+		goto tr3080;
+	goto tr1700;
+tr3080:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1005;
-tr3023:
+	goto st1026;
+tr3086:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1005;
-st1005:
+	goto st1026;
+st1026:
 	if ( ++p == pe )
-		goto _test_eof1005;
-case 1005:
+		goto _test_eof1026;
+case 1026:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67940,104 +69596,104 @@ case 1005:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3020;
-		case 32: goto tr3020;
-		case 40: goto tr3021;
-		case 41: goto tr3022;
-		case 1034: goto tr3024;
-		case 1083: goto tr3025;
+		case 9: goto tr3083;
+		case 32: goto tr3083;
+		case 40: goto tr3084;
+		case 41: goto tr3085;
+		case 1034: goto tr3087;
+		case 1083: goto tr3088;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3023;
-	goto tr1654;
-tr3027:
+		goto tr3086;
+	goto tr1700;
+tr3090:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1006;
-tr3028:
+	goto st1027;
+tr3091:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1006;
-tr3031:
+	goto st1027;
+tr3094:
 	{
 		s->line_counter++;
 	}
-	goto st1006;
-tr3020:
+	goto st1027;
+tr3083:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1006;
-tr3021:
+	goto st1027;
+tr3084:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1006;
-tr3022:
+	goto st1027;
+tr3085:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1006;
-tr3024:
+	goto st1027;
+tr3087:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1006;
-st1006:
+	goto st1027;
+st1027:
 	if ( ++p == pe )
-		goto _test_eof1006;
-case 1006:
+		goto _test_eof1027;
+case 1027:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68051,43 +69707,43 @@ case 1006:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1006;
-		case 32: goto st1006;
-		case 40: goto tr3027;
-		case 41: goto tr3028;
-		case 45: goto tr3029;
-		case 1034: goto tr3031;
-		case 1083: goto st1010;
+		case 9: goto st1027;
+		case 32: goto st1027;
+		case 40: goto tr3090;
+		case 41: goto tr3091;
+		case 45: goto tr3092;
+		case 1034: goto tr3094;
+		case 1083: goto st1031;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr3030;
+			goto tr3093;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr3030;
+			goto tr3093;
 	} else
-		goto tr3030;
-	goto tr2255;
-tr3029:
+		goto tr3093;
+	goto tr2301;
+tr3092:
 	{
 		s->item_length_location = rdata_tail++;
 	}
-	goto st1007;
-st1007:
+	goto st1028;
+st1028:
 	if ( ++p == pe )
-		goto _test_eof1007;
-case 1007:
+		goto _test_eof1028;
+case 1028:
 	switch( (*p) ) {
-		case 32: goto tr3033;
-		case 59: goto tr3033;
+		case 32: goto tr3096;
+		case 59: goto tr3096;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr3033;
+			goto tr3096;
 	} else if ( (*p) >= 9 )
-		goto tr3033;
-	goto tr2255;
-tr3033:
+		goto tr3096;
+	goto tr2301;
+tr3096:
 	{
 		s->item_length = rdata_tail - s->item_length_location - 1;
 
@@ -68095,29 +69751,29 @@ tr3033:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1133;
-st1133:
+	goto st1154;
+st1154:
 	if ( ++p == pe )
-		goto _test_eof1133;
-case 1133:
+		goto _test_eof1154;
+case 1154:
 	goto st0;
-tr3035:
+tr3098:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1008;
-tr3030:
+	goto st1029;
+tr3093:
 	{
 		s->item_length_location = rdata_tail++;
 	}
@@ -68126,67 +69782,67 @@ tr3030:
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1008;
-st1008:
+	goto st1029;
+st1029:
 	if ( ++p == pe )
-		goto _test_eof1008;
-case 1008:
+		goto _test_eof1029;
+case 1029:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3034;
+			goto tr3097;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3034;
+			goto tr3097;
 	} else
-		goto tr3034;
-	goto tr2255;
-tr3034:
+		goto tr3097;
+	goto tr2301;
+tr3097:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1009;
-st1009:
+	goto st1030;
+st1030:
 	if ( ++p == pe )
-		goto _test_eof1009;
-case 1009:
+		goto _test_eof1030;
+case 1030:
 	switch( (*p) ) {
-		case 32: goto tr3033;
-		case 59: goto tr3033;
+		case 32: goto tr3096;
+		case 59: goto tr3096;
 	}
 	if ( (*p) < 48 ) {
 		if ( (*p) > 10 ) {
 			if ( 40 <= (*p) && (*p) <= 41 )
-				goto tr3033;
+				goto tr3096;
 		} else if ( (*p) >= 9 )
-			goto tr3033;
+			goto tr3096;
 	} else if ( (*p) > 57 ) {
 		if ( (*p) > 70 ) {
 			if ( 97 <= (*p) && (*p) <= 102 )
-				goto tr3035;
+				goto tr3098;
 		} else if ( (*p) >= 65 )
-			goto tr3035;
+			goto tr3098;
 	} else
-		goto tr3035;
-	goto tr2255;
-tr3025:
+		goto tr3098;
+	goto tr2301;
+tr3088:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1010;
-st1010:
+	goto st1031;
+st1031:
 	if ( ++p == pe )
-		goto _test_eof1010;
-case 1010:
+		goto _test_eof1031;
+case 1031:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -68206,25 +69862,25 @@ case 1010:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3031;
+		goto tr3094;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1010;
+		goto st1031;
 	goto tr69;
-tr3013:
+tr3076:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1011;
-st1011:
+	goto st1032;
+st1032:
 	if ( ++p == pe )
-		goto _test_eof1011;
-case 1011:
+		goto _test_eof1032;
+case 1032:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -68244,25 +69900,25 @@ case 1011:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3018;
+		goto tr3081;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1011;
+		goto st1032;
 	goto tr69;
-tr3001:
+tr3064:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1012;
-st1012:
+	goto st1033;
+st1033:
 	if ( ++p == pe )
-		goto _test_eof1012;
-case 1012:
+		goto _test_eof1033;
+case 1033:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -68282,56 +69938,56 @@ case 1012:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3006;
+		goto tr3069;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1012;
+		goto st1033;
 	goto tr69;
-st1013:
+st1034:
 	if ( ++p == pe )
-		goto _test_eof1013;
-case 1013:
+		goto _test_eof1034;
+case 1034:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr3036;
-	goto tr1654;
-tr3036:
+		goto tr3099;
+	goto tr1700;
+tr3099:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1014;
-tr3040:
+	goto st1035;
+tr3103:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1014;
-st1014:
+	goto st1035;
+st1035:
 	if ( ++p == pe )
-		goto _test_eof1014;
-case 1014:
+		goto _test_eof1035;
+case 1035:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68345,104 +70001,104 @@ case 1014:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3037;
-		case 32: goto tr3037;
-		case 40: goto tr3038;
-		case 41: goto tr3039;
-		case 1034: goto tr3041;
-		case 1083: goto tr3042;
+		case 9: goto tr3100;
+		case 32: goto tr3100;
+		case 40: goto tr3101;
+		case 41: goto tr3102;
+		case 1034: goto tr3104;
+		case 1083: goto tr3105;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3040;
-	goto tr1654;
-tr3044:
+		goto tr3103;
+	goto tr1700;
+tr3107:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1015;
-tr3045:
+	goto st1036;
+tr3108:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1015;
-tr3047:
+	goto st1036;
+tr3110:
 	{
 		s->line_counter++;
 	}
-	goto st1015;
-tr3037:
+	goto st1036;
+tr3100:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1015;
-tr3038:
+	goto st1036;
+tr3101:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1015;
-tr3039:
+	goto st1036;
+tr3102:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1015;
-tr3041:
+	goto st1036;
+tr3104:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1015;
-st1015:
+	goto st1036;
+st1036:
 	if ( ++p == pe )
-		goto _test_eof1015;
-case 1015:
+		goto _test_eof1036;
+case 1036:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68456,55 +70112,55 @@ case 1015:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1015;
-		case 32: goto st1015;
-		case 40: goto tr3044;
-		case 41: goto tr3045;
-		case 1034: goto tr3047;
-		case 1083: goto st1025;
+		case 9: goto st1036;
+		case 32: goto st1036;
+		case 40: goto tr3107;
+		case 41: goto tr3108;
+		case 1034: goto tr3110;
+		case 1083: goto st1046;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3046;
-	goto tr1654;
-tr3046:
+		goto tr3109;
+	goto tr1700;
+tr3109:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1016;
-tr3052:
+	goto st1037;
+tr3115:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1016;
-st1016:
+	goto st1037;
+st1037:
 	if ( ++p == pe )
-		goto _test_eof1016;
-case 1016:
+		goto _test_eof1037;
+case 1037:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68518,104 +70174,104 @@ case 1016:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3049;
-		case 32: goto tr3049;
-		case 40: goto tr3050;
-		case 41: goto tr3051;
-		case 1034: goto tr3053;
-		case 1083: goto tr3054;
+		case 9: goto tr3112;
+		case 32: goto tr3112;
+		case 40: goto tr3113;
+		case 41: goto tr3114;
+		case 1034: goto tr3116;
+		case 1083: goto tr3117;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3052;
-	goto tr1654;
-tr3056:
+		goto tr3115;
+	goto tr1700;
+tr3119:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1017;
-tr3057:
+	goto st1038;
+tr3120:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1017;
-tr3059:
+	goto st1038;
+tr3122:
 	{
 		s->line_counter++;
 	}
-	goto st1017;
-tr3049:
+	goto st1038;
+tr3112:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1017;
-tr3050:
+	goto st1038;
+tr3113:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1017;
-tr3051:
+	goto st1038;
+tr3114:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1017;
-tr3053:
+	goto st1038;
+tr3116:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1017;
-st1017:
+	goto st1038;
+st1038:
 	if ( ++p == pe )
-		goto _test_eof1017;
-case 1017:
+		goto _test_eof1038;
+case 1038:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68629,55 +70285,55 @@ case 1017:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1017;
-		case 32: goto st1017;
-		case 40: goto tr3056;
-		case 41: goto tr3057;
-		case 1034: goto tr3059;
-		case 1083: goto st1024;
+		case 9: goto st1038;
+		case 32: goto st1038;
+		case 40: goto tr3119;
+		case 41: goto tr3120;
+		case 1034: goto tr3122;
+		case 1083: goto st1045;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3058;
-	goto tr1654;
-tr3058:
+		goto tr3121;
+	goto tr1700;
+tr3121:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1018;
-tr3064:
+	goto st1039;
+tr3127:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1018;
-st1018:
+	goto st1039;
+st1039:
 	if ( ++p == pe )
-		goto _test_eof1018;
-case 1018:
+		goto _test_eof1039;
+case 1039:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68691,104 +70347,104 @@ case 1018:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3061;
-		case 32: goto tr3061;
-		case 40: goto tr3062;
-		case 41: goto tr3063;
-		case 1034: goto tr3065;
-		case 1083: goto tr3066;
+		case 9: goto tr3124;
+		case 32: goto tr3124;
+		case 40: goto tr3125;
+		case 41: goto tr3126;
+		case 1034: goto tr3128;
+		case 1083: goto tr3129;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3064;
-	goto tr1654;
-tr3068:
+		goto tr3127;
+	goto tr1700;
+tr3131:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1019;
-tr3069:
+	goto st1040;
+tr3132:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1019;
-tr3071:
+	goto st1040;
+tr3134:
 	{
 		s->line_counter++;
 	}
-	goto st1019;
-tr3061:
+	goto st1040;
+tr3124:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1019;
-tr3062:
+	goto st1040;
+tr3125:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1019;
-tr3063:
+	goto st1040;
+tr3126:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1019;
-tr3065:
+	goto st1040;
+tr3128:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1019;
-st1019:
+	goto st1040;
+st1040:
 	if ( ++p == pe )
-		goto _test_eof1019;
-case 1019:
+		goto _test_eof1040;
+case 1040:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68802,78 +70458,78 @@ case 1019:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1019;
-		case 32: goto st1019;
-		case 40: goto tr3068;
-		case 41: goto tr3069;
-		case 1034: goto tr3071;
-		case 1083: goto st1023;
+		case 9: goto st1040;
+		case 32: goto st1040;
+		case 40: goto tr3131;
+		case 41: goto tr3132;
+		case 1034: goto tr3134;
+		case 1083: goto st1044;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr3070;
+			goto tr3133;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr3070;
+			goto tr3133;
 	} else
-		goto tr3070;
-	goto tr2255;
-tr3070:
+		goto tr3133;
+	goto tr2301;
+tr3133:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1020;
-st1020:
+	goto st1041;
+st1041:
 	if ( ++p == pe )
-		goto _test_eof1020;
-case 1020:
+		goto _test_eof1041;
+case 1041:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3073;
+			goto tr3136;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3073;
+			goto tr3136;
 	} else
-		goto tr3073;
-	goto tr2255;
-tr3075:
+		goto tr3136;
+	goto tr2301;
+tr3138:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1021;
-tr3076:
+	goto st1042;
+tr3139:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1021;
-tr3077:
+	goto st1042;
+tr3140:
 	{
 		s->line_counter++;
 	}
-	goto st1021;
-tr3073:
+	goto st1042;
+tr3136:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1021;
-st1021:
+	goto st1042;
+st1042:
 	if ( ++p == pe )
-		goto _test_eof1021;
-case 1021:
+		goto _test_eof1042;
+case 1042:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68891,30 +70547,30 @@ case 1021:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st1021;
-		case 32: goto st1021;
-		case 40: goto tr3075;
-		case 41: goto tr3076;
-		case 2058: goto tr3077;
-		case 2107: goto st1022;
-		case 2314: goto tr3079;
-		case 2363: goto tr3079;
-		case 2570: goto tr3080;
-		case 2619: goto tr3081;
+		case 9: goto st1042;
+		case 32: goto st1042;
+		case 40: goto tr3138;
+		case 41: goto tr3139;
+		case 2058: goto tr3140;
+		case 2107: goto st1043;
+		case 2314: goto tr3142;
+		case 2363: goto tr3142;
+		case 2570: goto tr3143;
+		case 2619: goto tr3144;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr3070;
+			goto tr3133;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr3070;
+			goto tr3133;
 	} else
-		goto tr3070;
-	goto tr2255;
-st1022:
+		goto tr3133;
+	goto tr2301;
+st1043:
 	if ( ++p == pe )
-		goto _test_eof1022;
-case 1022:
+		goto _test_eof1043;
+case 1043:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -68934,32 +70590,32 @@ case 1022:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3077;
+		goto tr3140;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1022;
-	goto tr2255;
-tr3079:
+		goto st1043;
+	goto tr2301;
+tr3142:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1134;
-st1134:
+	goto st1155;
+st1155:
 	if ( ++p == pe )
-		goto _test_eof1134;
-case 1134:
+		goto _test_eof1155;
+case 1155:
 	goto st0;
-tr3080:
+tr3143:
 	{
 		s->line_counter++;
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1135;
-st1135:
+	goto st1156;
+st1156:
 	if ( ++p == pe )
-		goto _test_eof1135;
-case 1135:
+		goto _test_eof1156;
+case 1156:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68977,35 +70633,35 @@ case 1135:
  !s->multiline  ) _widec += 512;
 	}
 	switch( _widec ) {
-		case 9: goto st1021;
-		case 32: goto st1021;
-		case 40: goto tr3075;
-		case 41: goto tr3076;
-		case 2058: goto tr3077;
-		case 2107: goto st1022;
-		case 2314: goto tr3079;
-		case 2363: goto tr3079;
-		case 2570: goto tr3080;
-		case 2619: goto tr3081;
+		case 9: goto st1042;
+		case 32: goto st1042;
+		case 40: goto tr3138;
+		case 41: goto tr3139;
+		case 2058: goto tr3140;
+		case 2107: goto st1043;
+		case 2314: goto tr3142;
+		case 2363: goto tr3142;
+		case 2570: goto tr3143;
+		case 2619: goto tr3144;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr3070;
+			goto tr3133;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr3070;
+			goto tr3133;
 	} else
-		goto tr3070;
-	goto tr2255;
-tr3081:
+		goto tr3133;
+	goto tr2301;
+tr3144:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1136;
-st1136:
+	goto st1157;
+st1157:
 	if ( ++p == pe )
-		goto _test_eof1136;
-case 1136:
+		goto _test_eof1157;
+case 1157:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -69025,25 +70681,25 @@ case 1136:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3077;
+		goto tr3140;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1022;
-	goto tr2255;
-tr3066:
+		goto st1043;
+	goto tr2301;
+tr3129:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1023;
-st1023:
+	goto st1044;
+st1044:
 	if ( ++p == pe )
-		goto _test_eof1023;
-case 1023:
+		goto _test_eof1044;
+case 1044:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -69063,25 +70719,25 @@ case 1023:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3071;
+		goto tr3134;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1023;
+		goto st1044;
 	goto tr69;
-tr3054:
+tr3117:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1024;
-st1024:
+	goto st1045;
+st1045:
 	if ( ++p == pe )
-		goto _test_eof1024;
-case 1024:
+		goto _test_eof1045;
+case 1045:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -69101,25 +70757,25 @@ case 1024:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3059;
+		goto tr3122;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1024;
+		goto st1045;
 	goto tr69;
-tr3042:
+tr3105:
 	{
 		if (s->number64 <= UINT8_MAX) {
 			*rdata_tail = (uint8_t)(s->number64);
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1025;
-st1025:
+	goto st1046;
+st1046:
 	if ( ++p == pe )
-		goto _test_eof1025;
-case 1025:
+		goto _test_eof1046;
+case 1046:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -69139,56 +70795,56 @@ case 1025:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3047;
+		goto tr3110;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1025;
+		goto st1046;
 	goto tr69;
-st1026:
+st1047:
 	if ( ++p == pe )
-		goto _test_eof1026;
-case 1026:
+		goto _test_eof1047;
+case 1047:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr3082;
-	goto tr1654;
-tr3082:
+		goto tr3145;
+	goto tr1700;
+tr3145:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1027;
-tr3086:
+	goto st1048;
+tr3149:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1027;
-st1027:
+	goto st1048;
+st1048:
 	if ( ++p == pe )
-		goto _test_eof1027;
-case 1027:
+		goto _test_eof1048;
+case 1048:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69202,104 +70858,104 @@ case 1027:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3083;
-		case 32: goto tr3083;
-		case 40: goto tr3084;
-		case 41: goto tr3085;
-		case 1034: goto tr3087;
-		case 1083: goto tr3088;
+		case 9: goto tr3146;
+		case 32: goto tr3146;
+		case 40: goto tr3147;
+		case 41: goto tr3148;
+		case 1034: goto tr3150;
+		case 1083: goto tr3151;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3086;
-	goto tr1654;
-tr3090:
+		goto tr3149;
+	goto tr1700;
+tr3153:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1028;
-tr3091:
+	goto st1049;
+tr3154:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1028;
-tr3093:
+	goto st1049;
+tr3156:
 	{
 		s->line_counter++;
 	}
-	goto st1028;
-tr3083:
+	goto st1049;
+tr3146:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1028;
-tr3084:
+	goto st1049;
+tr3147:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1028;
-tr3085:
+	goto st1049;
+tr3148:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1028;
-tr3087:
+	goto st1049;
+tr3150:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1028;
-st1028:
+	goto st1049;
+st1049:
 	if ( ++p == pe )
-		goto _test_eof1028;
-case 1028:
+		goto _test_eof1049;
+case 1049:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69313,18 +70969,18 @@ case 1028:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1028;
-		case 32: goto st1028;
-		case 40: goto tr3090;
-		case 41: goto tr3091;
-		case 46: goto tr3092;
-		case 1034: goto tr3093;
-		case 1083: goto st1030;
+		case 9: goto st1049;
+		case 32: goto st1049;
+		case 40: goto tr3153;
+		case 41: goto tr3154;
+		case 46: goto tr3155;
+		case 1034: goto tr3156;
+		case 1083: goto st1051;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3092;
-	goto tr1631;
-tr3092:
+		goto tr3155;
+	goto tr1677;
+tr3155:
 	{
 		s->buffer_length = 0;
 	}
@@ -69334,46 +70990,46 @@ tr3092:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1029;
-tr3096:
+	goto st1050;
+tr3159:
 	{
 		if (s->buffer_length < MAX_RDATA_LENGTH) {
 			s->buffer[s->buffer_length++] = (*p);
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1029;
-st1029:
+	goto st1050;
+st1050:
 	if ( ++p == pe )
-		goto _test_eof1029;
-case 1029:
+		goto _test_eof1050;
+case 1050:
 	switch( (*p) ) {
-		case 32: goto tr3095;
-		case 46: goto tr3096;
-		case 59: goto tr3095;
+		case 32: goto tr3158;
+		case 46: goto tr3159;
+		case 59: goto tr3158;
 	}
 	if ( (*p) < 40 ) {
 		if ( 9 <= (*p) && (*p) <= 10 )
-			goto tr3095;
+			goto tr3158;
 	} else if ( (*p) > 41 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3096;
+			goto tr3159;
 	} else
-		goto tr3095;
-	goto tr1631;
-tr3095:
+		goto tr3158;
+	goto tr1677;
+tr3158:
 	{
 		s->buffer[s->buffer_length] = 0;
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
@@ -69383,27 +71039,27 @@ tr3095:
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1137;
-st1137:
+	goto st1158;
+st1158:
 	if ( ++p == pe )
-		goto _test_eof1137;
-case 1137:
+		goto _test_eof1158;
+case 1158:
 	goto st0;
-tr3088:
+tr3151:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1030;
-st1030:
+	goto st1051;
+st1051:
 	if ( ++p == pe )
-		goto _test_eof1030;
-case 1030:
+		goto _test_eof1051;
+case 1051:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -69423,56 +71079,56 @@ case 1030:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3093;
+		goto tr3156;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1030;
+		goto st1051;
 	goto tr69;
-st1031:
+st1052:
 	if ( ++p == pe )
-		goto _test_eof1031;
-case 1031:
+		goto _test_eof1052;
+case 1052:
 	if ( 48 <= (*p) && (*p) <= 57 )
-		goto tr3097;
-	goto tr1654;
-tr3097:
+		goto tr3160;
+	goto tr1700;
+tr3160:
 	{
 		s->number64 = 0;
 	}
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1032;
-tr3101:
+	goto st1053;
+tr3164:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1032;
-st1032:
+	goto st1053;
+st1053:
 	if ( ++p == pe )
-		goto _test_eof1032;
-case 1032:
+		goto _test_eof1053;
+case 1053:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69486,104 +71142,104 @@ case 1032:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto tr3098;
-		case 32: goto tr3098;
-		case 40: goto tr3099;
-		case 41: goto tr3100;
-		case 1034: goto tr3102;
-		case 1083: goto tr3103;
+		case 9: goto tr3161;
+		case 32: goto tr3161;
+		case 40: goto tr3162;
+		case 41: goto tr3163;
+		case 1034: goto tr3165;
+		case 1083: goto tr3166;
 	}
 	if ( 48 <= _widec && _widec <= 57 )
-		goto tr3101;
-	goto tr1654;
-tr3105:
+		goto tr3164;
+	goto tr1700;
+tr3168:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1033;
-tr3106:
+	goto st1054;
+tr3169:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1033;
-tr3108:
+	goto st1054;
+tr3171:
 	{
 		s->line_counter++;
 	}
-	goto st1033;
-tr3098:
+	goto st1054;
+tr3161:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1033;
-tr3099:
+	goto st1054;
+tr3162:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = true;
 	}
-	goto st1033;
-tr3100:
+	goto st1054;
+tr3163:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 		s->multiline = false;
 	}
-	goto st1033;
-tr3102:
+	goto st1054;
+tr3165:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		s->line_counter++;
 	}
-	goto st1033;
-st1033:
+	goto st1054;
+st1054:
 	if ( ++p == pe )
-		goto _test_eof1033;
-case 1033:
+		goto _test_eof1054;
+case 1054:
 	_widec = (*p);
 	if ( (*p) > 10 ) {
 		if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69597,23 +71253,23 @@ case 1033:
  s->multiline  ) _widec += 256;
 	}
 	switch( _widec ) {
-		case 9: goto st1033;
-		case 32: goto st1033;
-		case 40: goto tr3105;
-		case 41: goto tr3106;
-		case 1034: goto tr3108;
-		case 1083: goto st1043;
+		case 9: goto st1054;
+		case 32: goto st1054;
+		case 40: goto tr3168;
+		case 41: goto tr3169;
+		case 1034: goto tr3171;
+		case 1083: goto st1064;
 	}
 	if ( _widec < 65 ) {
 		if ( 48 <= _widec && _widec <= 57 )
-			goto tr3107;
+			goto tr3170;
 	} else if ( _widec > 70 ) {
 		if ( 97 <= _widec && _widec <= 102 )
-			goto tr3107;
+			goto tr3170;
 	} else
-		goto tr3107;
-	goto tr2255;
-tr3107:
+		goto tr3170;
+	goto tr2301;
+tr3170:
 	{
 		s->item_length = 0;
 	}
@@ -69622,216 +71278,216 @@ tr3107:
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1034;
-st1034:
+	goto st1055;
+st1055:
 	if ( ++p == pe )
-		goto _test_eof1034;
-case 1034:
+		goto _test_eof1055;
+case 1055:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3110;
+			goto tr3173;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3110;
+			goto tr3173;
 	} else
-		goto tr3110;
-	goto tr2255;
-tr3110:
+		goto tr3173;
+	goto tr2301;
+tr3173:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1035;
-st1035:
+	goto st1056;
+st1056:
 	if ( ++p == pe )
-		goto _test_eof1035;
-case 1035:
+		goto _test_eof1056;
+case 1056:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3111;
+			goto tr3174;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3111;
+			goto tr3174;
 	} else
-		goto tr3111;
-	goto tr2255;
-tr3111:
+		goto tr3174;
+	goto tr2301;
+tr3174:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1036;
-st1036:
+	goto st1057;
+st1057:
 	if ( ++p == pe )
-		goto _test_eof1036;
-case 1036:
+		goto _test_eof1057;
+case 1057:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3112;
+			goto tr3175;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3112;
+			goto tr3175;
 	} else
-		goto tr3112;
-	goto tr2255;
-tr3112:
+		goto tr3175;
+	goto tr2301;
+tr3175:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1037;
-st1037:
+	goto st1058;
+st1058:
 	if ( ++p == pe )
-		goto _test_eof1037;
-case 1037:
+		goto _test_eof1058;
+case 1058:
 	if ( (*p) == 58 )
-		goto tr3114;
-	goto tr3113;
-tr3114:
+		goto tr3177;
+	goto tr3176;
+tr3177:
 	{
 		s->item_length++;
 	}
-	goto st1038;
-st1038:
+	goto st1059;
+st1059:
 	if ( ++p == pe )
-		goto _test_eof1038;
-case 1038:
+		goto _test_eof1059;
+case 1059:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3115;
+			goto tr3178;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3115;
+			goto tr3178;
 	} else
-		goto tr3115;
-	goto tr2255;
-tr3115:
+		goto tr3178;
+	goto tr2301;
+tr3178:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1039;
-st1039:
+	goto st1060;
+st1060:
 	if ( ++p == pe )
-		goto _test_eof1039;
-case 1039:
+		goto _test_eof1060;
+case 1060:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3116;
+			goto tr3179;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3116;
+			goto tr3179;
 	} else
-		goto tr3116;
-	goto tr2255;
-tr3116:
+		goto tr3179;
+	goto tr2301;
+tr3179:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1040;
-st1040:
+	goto st1061;
+st1061:
 	if ( ++p == pe )
-		goto _test_eof1040;
-case 1040:
+		goto _test_eof1061;
+case 1061:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3117;
+			goto tr3180;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3117;
+			goto tr3180;
 	} else
-		goto tr3117;
-	goto tr2255;
-tr3117:
+		goto tr3180;
+	goto tr2301;
+tr3180:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1041;
-st1041:
+	goto st1062;
+st1062:
 	if ( ++p == pe )
-		goto _test_eof1041;
-case 1041:
+		goto _test_eof1062;
+case 1062:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3118;
+			goto tr3181;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3118;
+			goto tr3181;
 	} else
-		goto tr3118;
-	goto tr2255;
-tr3118:
+		goto tr3181;
+	goto tr2301;
+tr3181:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1042;
-st1042:
+	goto st1063;
+st1063:
 	if ( ++p == pe )
-		goto _test_eof1042;
-case 1042:
+		goto _test_eof1063;
+case 1063:
 	switch( (*p) ) {
-		case 32: goto tr3120;
-		case 58: goto tr3114;
-		case 59: goto tr3120;
+		case 32: goto tr3183;
+		case 58: goto tr3177;
+		case 59: goto tr3183;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr3120;
+			goto tr3183;
 	} else if ( (*p) >= 9 )
-		goto tr3120;
-	goto tr3119;
-tr3120:
+		goto tr3183;
+	goto tr3182;
+tr3183:
 	{
 		s->item_length++;
 	}
 	{
 		if (s->item_length != 4) {
 			WARN(ZS_BAD_L64_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1138;
-st1138:
+	goto st1159;
+st1159:
 	if ( ++p == pe )
-		goto _test_eof1138;
-case 1138:
+		goto _test_eof1159;
+case 1159:
 	goto st0;
-tr3103:
+tr3166:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			*((uint16_t *)rdata_tail) = htons((uint16_t)(s->number64));
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1043;
-st1043:
+	goto st1064;
+st1064:
 	if ( ++p == pe )
-		goto _test_eof1043;
-case 1043:
+		goto _test_eof1064;
+case 1064:
 	_widec = (*p);
 	if ( (*p) < 10 ) {
 		if ( (*p) <= 9 ) {
@@ -69851,24 +71507,24 @@ case 1043:
  s->multiline  ) _widec += 256;
 	}
 	if ( _widec == 1034 )
-		goto tr3108;
+		goto tr3171;
 	if ( 896 <= _widec && _widec <= 1151 )
-		goto st1043;
+		goto st1064;
 	goto tr69;
-st1044:
+st1065:
 	if ( ++p == pe )
-		goto _test_eof1044;
-case 1044:
+		goto _test_eof1065;
+case 1065:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3121;
+			goto tr3184;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3121;
+			goto tr3184;
 	} else
-		goto tr3121;
-	goto tr2255;
-tr3121:
+		goto tr3184;
+	goto tr2301;
+tr3184:
 	{
 		s->item_length = 0;
 	}
@@ -69877,131 +71533,131 @@ tr3121:
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1045;
-st1045:
+	goto st1066;
+st1066:
 	if ( ++p == pe )
-		goto _test_eof1045;
-case 1045:
+		goto _test_eof1066;
+case 1066:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3122;
+			goto tr3185;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3122;
+			goto tr3185;
 	} else
-		goto tr3122;
-	goto tr2255;
-tr3122:
+		goto tr3185;
+	goto tr2301;
+tr3185:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1046;
-st1046:
+	goto st1067;
+st1067:
 	if ( ++p == pe )
-		goto _test_eof1046;
-case 1046:
+		goto _test_eof1067;
+case 1067:
 	if ( (*p) == 45 )
-		goto tr3124;
-	goto tr3123;
-tr3124:
+		goto tr3187;
+	goto tr3186;
+tr3187:
 	{
 		s->item_length++;
 	}
-	goto st1047;
-st1047:
+	goto st1068;
+st1068:
 	if ( ++p == pe )
-		goto _test_eof1047;
-case 1047:
+		goto _test_eof1068;
+case 1068:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3125;
+			goto tr3188;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3125;
+			goto tr3188;
 	} else
-		goto tr3125;
-	goto tr2255;
-tr3125:
+		goto tr3188;
+	goto tr2301;
+tr3188:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1048;
-st1048:
+	goto st1069;
+st1069:
 	if ( ++p == pe )
-		goto _test_eof1048;
-case 1048:
+		goto _test_eof1069;
+case 1069:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3126;
+			goto tr3189;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3126;
+			goto tr3189;
 	} else
-		goto tr3126;
-	goto tr2255;
-tr3126:
+		goto tr3189;
+	goto tr2301;
+tr3189:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1049;
-st1049:
+	goto st1070;
+st1070:
 	if ( ++p == pe )
-		goto _test_eof1049;
-case 1049:
+		goto _test_eof1070;
+case 1070:
 	switch( (*p) ) {
-		case 32: goto tr3127;
-		case 45: goto tr3124;
-		case 59: goto tr3127;
+		case 32: goto tr3190;
+		case 45: goto tr3187;
+		case 59: goto tr3190;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr3127;
+			goto tr3190;
 	} else if ( (*p) >= 9 )
-		goto tr3127;
-	goto tr3123;
-tr3127:
+		goto tr3190;
+	goto tr3186;
+tr3190:
 	{
 		s->item_length++;
 	}
 	{
 		if (s->item_length != 6) {
 			WARN(ZS_BAD_EUI_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1139;
-st1139:
+	goto st1160;
+st1160:
 	if ( ++p == pe )
-		goto _test_eof1139;
-case 1139:
+		goto _test_eof1160;
+case 1160:
 	goto st0;
-st1050:
+st1071:
 	if ( ++p == pe )
-		goto _test_eof1050;
-case 1050:
+		goto _test_eof1071;
+case 1071:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3128;
+			goto tr3191;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3128;
+			goto tr3191;
 	} else
-		goto tr3128;
-	goto tr2255;
-tr3128:
+		goto tr3191;
+	goto tr2301;
+tr3191:
 	{
 		s->item_length = 0;
 	}
@@ -70010,119 +71666,119 @@ tr3128:
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1051;
-st1051:
+	goto st1072;
+st1072:
 	if ( ++p == pe )
-		goto _test_eof1051;
-case 1051:
+		goto _test_eof1072;
+case 1072:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3129;
+			goto tr3192;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3129;
+			goto tr3192;
 	} else
-		goto tr3129;
-	goto tr2255;
-tr3129:
+		goto tr3192;
+	goto tr2301;
+tr3192:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1052;
-st1052:
+	goto st1073;
+st1073:
 	if ( ++p == pe )
-		goto _test_eof1052;
-case 1052:
+		goto _test_eof1073;
+case 1073:
 	if ( (*p) == 45 )
-		goto tr3130;
-	goto tr3123;
-tr3130:
+		goto tr3193;
+	goto tr3186;
+tr3193:
 	{
 		s->item_length++;
 	}
-	goto st1053;
-st1053:
+	goto st1074;
+st1074:
 	if ( ++p == pe )
-		goto _test_eof1053;
-case 1053:
+		goto _test_eof1074;
+case 1074:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3131;
+			goto tr3194;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3131;
+			goto tr3194;
 	} else
-		goto tr3131;
-	goto tr2255;
-tr3131:
+		goto tr3194;
+	goto tr2301;
+tr3194:
 	{
 		if (rdata_tail <= rdata_stop) {
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
-	goto st1054;
-st1054:
+	goto st1075;
+st1075:
 	if ( ++p == pe )
-		goto _test_eof1054;
-case 1054:
+		goto _test_eof1075;
+case 1075:
 	if ( (*p) < 65 ) {
 		if ( 48 <= (*p) && (*p) <= 57 )
-			goto tr3132;
+			goto tr3195;
 	} else if ( (*p) > 70 ) {
 		if ( 97 <= (*p) && (*p) <= 102 )
-			goto tr3132;
+			goto tr3195;
 	} else
-		goto tr3132;
-	goto tr2255;
-tr3132:
+		goto tr3195;
+	goto tr2301;
+tr3195:
 	{
 		*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
 		rdata_tail++;
 	}
-	goto st1055;
-st1055:
+	goto st1076;
+st1076:
 	if ( ++p == pe )
-		goto _test_eof1055;
-case 1055:
+		goto _test_eof1076;
+case 1076:
 	switch( (*p) ) {
-		case 32: goto tr3133;
-		case 45: goto tr3130;
-		case 59: goto tr3133;
+		case 32: goto tr3196;
+		case 45: goto tr3193;
+		case 59: goto tr3196;
 	}
 	if ( (*p) > 10 ) {
 		if ( 40 <= (*p) && (*p) <= 41 )
-			goto tr3133;
+			goto tr3196;
 	} else if ( (*p) >= 9 )
-		goto tr3133;
-	goto tr3123;
-tr3133:
+		goto tr3196;
+	goto tr3186;
+tr3196:
 	{
 		s->item_length++;
 	}
 	{
 		if (s->item_length != 8) {
 			WARN(ZS_BAD_EUI_LENGTH);
-			p--; {goto st246;}
+			p--; {goto st253;}
 		}
 	}
 	{
 		p--; {cs = stack[--top];goto _again;}
 	}
-	goto st1140;
-st1140:
+	goto st1161;
+st1161:
 	if ( ++p == pe )
-		goto _test_eof1140;
-case 1140:
+		goto _test_eof1161;
+case 1161:
 	goto st0;
 	}
-	_test_eof1056: cs = 1056; goto _test_eof; 
+	_test_eof1077: cs = 1077; goto _test_eof; 
 	_test_eof1: cs = 1; goto _test_eof; 
 	_test_eof2: cs = 2; goto _test_eof; 
 	_test_eof3: cs = 3; goto _test_eof; 
@@ -70135,7 +71791,7 @@ case 1140:
 	_test_eof10: cs = 10; goto _test_eof; 
 	_test_eof11: cs = 11; goto _test_eof; 
 	_test_eof12: cs = 12; goto _test_eof; 
-	_test_eof1057: cs = 1057; goto _test_eof; 
+	_test_eof1078: cs = 1078; goto _test_eof; 
 	_test_eof13: cs = 13; goto _test_eof; 
 	_test_eof14: cs = 14; goto _test_eof; 
 	_test_eof15: cs = 15; goto _test_eof; 
@@ -70251,7 +71907,6 @@ case 1140:
 	_test_eof125: cs = 125; goto _test_eof; 
 	_test_eof126: cs = 126; goto _test_eof; 
 	_test_eof127: cs = 127; goto _test_eof; 
-	_test_eof1058: cs = 1058; goto _test_eof; 
 	_test_eof128: cs = 128; goto _test_eof; 
 	_test_eof129: cs = 129; goto _test_eof; 
 	_test_eof130: cs = 130; goto _test_eof; 
@@ -70259,10 +71914,10 @@ case 1140:
 	_test_eof132: cs = 132; goto _test_eof; 
 	_test_eof133: cs = 133; goto _test_eof; 
 	_test_eof134: cs = 134; goto _test_eof; 
+	_test_eof1079: cs = 1079; goto _test_eof; 
 	_test_eof135: cs = 135; goto _test_eof; 
 	_test_eof136: cs = 136; goto _test_eof; 
 	_test_eof137: cs = 137; goto _test_eof; 
-	_test_eof1059: cs = 1059; goto _test_eof; 
 	_test_eof138: cs = 138; goto _test_eof; 
 	_test_eof139: cs = 139; goto _test_eof; 
 	_test_eof140: cs = 140; goto _test_eof; 
@@ -70270,36 +71925,37 @@ case 1140:
 	_test_eof142: cs = 142; goto _test_eof; 
 	_test_eof143: cs = 143; goto _test_eof; 
 	_test_eof144: cs = 144; goto _test_eof; 
+	_test_eof1080: cs = 1080; goto _test_eof; 
 	_test_eof145: cs = 145; goto _test_eof; 
-	_test_eof1060: cs = 1060; goto _test_eof; 
 	_test_eof146: cs = 146; goto _test_eof; 
 	_test_eof147: cs = 147; goto _test_eof; 
 	_test_eof148: cs = 148; goto _test_eof; 
-	_test_eof1061: cs = 1061; goto _test_eof; 
 	_test_eof149: cs = 149; goto _test_eof; 
 	_test_eof150: cs = 150; goto _test_eof; 
 	_test_eof151: cs = 151; goto _test_eof; 
 	_test_eof152: cs = 152; goto _test_eof; 
+	_test_eof1081: cs = 1081; goto _test_eof; 
 	_test_eof153: cs = 153; goto _test_eof; 
 	_test_eof154: cs = 154; goto _test_eof; 
 	_test_eof155: cs = 155; goto _test_eof; 
+	_test_eof1082: cs = 1082; goto _test_eof; 
 	_test_eof156: cs = 156; goto _test_eof; 
 	_test_eof157: cs = 157; goto _test_eof; 
 	_test_eof158: cs = 158; goto _test_eof; 
 	_test_eof159: cs = 159; goto _test_eof; 
-	_test_eof1062: cs = 1062; goto _test_eof; 
 	_test_eof160: cs = 160; goto _test_eof; 
 	_test_eof161: cs = 161; goto _test_eof; 
 	_test_eof162: cs = 162; goto _test_eof; 
 	_test_eof163: cs = 163; goto _test_eof; 
-	_test_eof1063: cs = 1063; goto _test_eof; 
 	_test_eof164: cs = 164; goto _test_eof; 
 	_test_eof165: cs = 165; goto _test_eof; 
 	_test_eof166: cs = 166; goto _test_eof; 
+	_test_eof1083: cs = 1083; goto _test_eof; 
 	_test_eof167: cs = 167; goto _test_eof; 
 	_test_eof168: cs = 168; goto _test_eof; 
 	_test_eof169: cs = 169; goto _test_eof; 
 	_test_eof170: cs = 170; goto _test_eof; 
+	_test_eof1084: cs = 1084; goto _test_eof; 
 	_test_eof171: cs = 171; goto _test_eof; 
 	_test_eof172: cs = 172; goto _test_eof; 
 	_test_eof173: cs = 173; goto _test_eof; 
@@ -70308,7 +71964,6 @@ case 1140:
 	_test_eof176: cs = 176; goto _test_eof; 
 	_test_eof177: cs = 177; goto _test_eof; 
 	_test_eof178: cs = 178; goto _test_eof; 
-	_test_eof1064: cs = 1064; goto _test_eof; 
 	_test_eof179: cs = 179; goto _test_eof; 
 	_test_eof180: cs = 180; goto _test_eof; 
 	_test_eof181: cs = 181; goto _test_eof; 
@@ -70316,6 +71971,7 @@ case 1140:
 	_test_eof183: cs = 183; goto _test_eof; 
 	_test_eof184: cs = 184; goto _test_eof; 
 	_test_eof185: cs = 185; goto _test_eof; 
+	_test_eof1085: cs = 1085; goto _test_eof; 
 	_test_eof186: cs = 186; goto _test_eof; 
 	_test_eof187: cs = 187; goto _test_eof; 
 	_test_eof188: cs = 188; goto _test_eof; 
@@ -70325,7 +71981,6 @@ case 1140:
 	_test_eof192: cs = 192; goto _test_eof; 
 	_test_eof193: cs = 193; goto _test_eof; 
 	_test_eof194: cs = 194; goto _test_eof; 
-	_test_eof1065: cs = 1065; goto _test_eof; 
 	_test_eof195: cs = 195; goto _test_eof; 
 	_test_eof196: cs = 196; goto _test_eof; 
 	_test_eof197: cs = 197; goto _test_eof; 
@@ -70333,6 +71988,7 @@ case 1140:
 	_test_eof199: cs = 199; goto _test_eof; 
 	_test_eof200: cs = 200; goto _test_eof; 
 	_test_eof201: cs = 201; goto _test_eof; 
+	_test_eof1086: cs = 1086; goto _test_eof; 
 	_test_eof202: cs = 202; goto _test_eof; 
 	_test_eof203: cs = 203; goto _test_eof; 
 	_test_eof204: cs = 204; goto _test_eof; 
@@ -70379,21 +72035,19 @@ case 1140:
 	_test_eof245: cs = 245; goto _test_eof; 
 	_test_eof246: cs = 246; goto _test_eof; 
 	_test_eof247: cs = 247; goto _test_eof; 
-	_test_eof1066: cs = 1066; goto _test_eof; 
 	_test_eof248: cs = 248; goto _test_eof; 
 	_test_eof249: cs = 249; goto _test_eof; 
-	_test_eof1067: cs = 1067; goto _test_eof; 
 	_test_eof250: cs = 250; goto _test_eof; 
 	_test_eof251: cs = 251; goto _test_eof; 
 	_test_eof252: cs = 252; goto _test_eof; 
 	_test_eof253: cs = 253; goto _test_eof; 
 	_test_eof254: cs = 254; goto _test_eof; 
+	_test_eof1087: cs = 1087; goto _test_eof; 
 	_test_eof255: cs = 255; goto _test_eof; 
 	_test_eof256: cs = 256; goto _test_eof; 
+	_test_eof1088: cs = 1088; goto _test_eof; 
 	_test_eof257: cs = 257; goto _test_eof; 
 	_test_eof258: cs = 258; goto _test_eof; 
-	_test_eof1068: cs = 1068; goto _test_eof; 
-	_test_eof1069: cs = 1069; goto _test_eof; 
 	_test_eof259: cs = 259; goto _test_eof; 
 	_test_eof260: cs = 260; goto _test_eof; 
 	_test_eof261: cs = 261; goto _test_eof; 
@@ -70401,6 +72055,8 @@ case 1140:
 	_test_eof263: cs = 263; goto _test_eof; 
 	_test_eof264: cs = 264; goto _test_eof; 
 	_test_eof265: cs = 265; goto _test_eof; 
+	_test_eof1089: cs = 1089; goto _test_eof; 
+	_test_eof1090: cs = 1090; goto _test_eof; 
 	_test_eof266: cs = 266; goto _test_eof; 
 	_test_eof267: cs = 267; goto _test_eof; 
 	_test_eof268: cs = 268; goto _test_eof; 
@@ -70408,7 +72064,6 @@ case 1140:
 	_test_eof270: cs = 270; goto _test_eof; 
 	_test_eof271: cs = 271; goto _test_eof; 
 	_test_eof272: cs = 272; goto _test_eof; 
-	_test_eof1070: cs = 1070; goto _test_eof; 
 	_test_eof273: cs = 273; goto _test_eof; 
 	_test_eof274: cs = 274; goto _test_eof; 
 	_test_eof275: cs = 275; goto _test_eof; 
@@ -70416,10 +72071,10 @@ case 1140:
 	_test_eof277: cs = 277; goto _test_eof; 
 	_test_eof278: cs = 278; goto _test_eof; 
 	_test_eof279: cs = 279; goto _test_eof; 
+	_test_eof1091: cs = 1091; goto _test_eof; 
 	_test_eof280: cs = 280; goto _test_eof; 
 	_test_eof281: cs = 281; goto _test_eof; 
 	_test_eof282: cs = 282; goto _test_eof; 
-	_test_eof1071: cs = 1071; goto _test_eof; 
 	_test_eof283: cs = 283; goto _test_eof; 
 	_test_eof284: cs = 284; goto _test_eof; 
 	_test_eof285: cs = 285; goto _test_eof; 
@@ -70427,6 +72082,7 @@ case 1140:
 	_test_eof287: cs = 287; goto _test_eof; 
 	_test_eof288: cs = 288; goto _test_eof; 
 	_test_eof289: cs = 289; goto _test_eof; 
+	_test_eof1092: cs = 1092; goto _test_eof; 
 	_test_eof290: cs = 290; goto _test_eof; 
 	_test_eof291: cs = 291; goto _test_eof; 
 	_test_eof292: cs = 292; goto _test_eof; 
@@ -70434,7 +72090,6 @@ case 1140:
 	_test_eof294: cs = 294; goto _test_eof; 
 	_test_eof295: cs = 295; goto _test_eof; 
 	_test_eof296: cs = 296; goto _test_eof; 
-	_test_eof1072: cs = 1072; goto _test_eof; 
 	_test_eof297: cs = 297; goto _test_eof; 
 	_test_eof298: cs = 298; goto _test_eof; 
 	_test_eof299: cs = 299; goto _test_eof; 
@@ -70442,7 +72097,7 @@ case 1140:
 	_test_eof301: cs = 301; goto _test_eof; 
 	_test_eof302: cs = 302; goto _test_eof; 
 	_test_eof303: cs = 303; goto _test_eof; 
-	_test_eof1073: cs = 1073; goto _test_eof; 
+	_test_eof1093: cs = 1093; goto _test_eof; 
 	_test_eof304: cs = 304; goto _test_eof; 
 	_test_eof305: cs = 305; goto _test_eof; 
 	_test_eof306: cs = 306; goto _test_eof; 
@@ -70450,11 +72105,9 @@ case 1140:
 	_test_eof308: cs = 308; goto _test_eof; 
 	_test_eof309: cs = 309; goto _test_eof; 
 	_test_eof310: cs = 310; goto _test_eof; 
+	_test_eof1094: cs = 1094; goto _test_eof; 
 	_test_eof311: cs = 311; goto _test_eof; 
 	_test_eof312: cs = 312; goto _test_eof; 
-	_test_eof1074: cs = 1074; goto _test_eof; 
-	_test_eof1075: cs = 1075; goto _test_eof; 
-	_test_eof1076: cs = 1076; goto _test_eof; 
 	_test_eof313: cs = 313; goto _test_eof; 
 	_test_eof314: cs = 314; goto _test_eof; 
 	_test_eof315: cs = 315; goto _test_eof; 
@@ -70462,17 +72115,19 @@ case 1140:
 	_test_eof317: cs = 317; goto _test_eof; 
 	_test_eof318: cs = 318; goto _test_eof; 
 	_test_eof319: cs = 319; goto _test_eof; 
+	_test_eof1095: cs = 1095; goto _test_eof; 
+	_test_eof1096: cs = 1096; goto _test_eof; 
+	_test_eof1097: cs = 1097; goto _test_eof; 
 	_test_eof320: cs = 320; goto _test_eof; 
-	_test_eof1077: cs = 1077; goto _test_eof; 
-	_test_eof1078: cs = 1078; goto _test_eof; 
 	_test_eof321: cs = 321; goto _test_eof; 
 	_test_eof322: cs = 322; goto _test_eof; 
 	_test_eof323: cs = 323; goto _test_eof; 
 	_test_eof324: cs = 324; goto _test_eof; 
-	_test_eof1079: cs = 1079; goto _test_eof; 
 	_test_eof325: cs = 325; goto _test_eof; 
 	_test_eof326: cs = 326; goto _test_eof; 
 	_test_eof327: cs = 327; goto _test_eof; 
+	_test_eof1098: cs = 1098; goto _test_eof; 
+	_test_eof1099: cs = 1099; goto _test_eof; 
 	_test_eof328: cs = 328; goto _test_eof; 
 	_test_eof329: cs = 329; goto _test_eof; 
 	_test_eof330: cs = 330; goto _test_eof; 
@@ -70480,6 +72135,7 @@ case 1140:
 	_test_eof332: cs = 332; goto _test_eof; 
 	_test_eof333: cs = 333; goto _test_eof; 
 	_test_eof334: cs = 334; goto _test_eof; 
+	_test_eof1100: cs = 1100; goto _test_eof; 
 	_test_eof335: cs = 335; goto _test_eof; 
 	_test_eof336: cs = 336; goto _test_eof; 
 	_test_eof337: cs = 337; goto _test_eof; 
@@ -70586,43 +72242,43 @@ case 1140:
 	_test_eof438: cs = 438; goto _test_eof; 
 	_test_eof439: cs = 439; goto _test_eof; 
 	_test_eof440: cs = 440; goto _test_eof; 
-	_test_eof1080: cs = 1080; goto _test_eof; 
-	_test_eof1081: cs = 1081; goto _test_eof; 
-	_test_eof1082: cs = 1082; goto _test_eof; 
 	_test_eof441: cs = 441; goto _test_eof; 
 	_test_eof442: cs = 442; goto _test_eof; 
 	_test_eof443: cs = 443; goto _test_eof; 
 	_test_eof444: cs = 444; goto _test_eof; 
 	_test_eof445: cs = 445; goto _test_eof; 
-	_test_eof1083: cs = 1083; goto _test_eof; 
 	_test_eof446: cs = 446; goto _test_eof; 
 	_test_eof447: cs = 447; goto _test_eof; 
 	_test_eof448: cs = 448; goto _test_eof; 
 	_test_eof449: cs = 449; goto _test_eof; 
-	_test_eof1084: cs = 1084; goto _test_eof; 
-	_test_eof1085: cs = 1085; goto _test_eof; 
-	_test_eof1086: cs = 1086; goto _test_eof; 
 	_test_eof450: cs = 450; goto _test_eof; 
 	_test_eof451: cs = 451; goto _test_eof; 
-	_test_eof1087: cs = 1087; goto _test_eof; 
 	_test_eof452: cs = 452; goto _test_eof; 
 	_test_eof453: cs = 453; goto _test_eof; 
 	_test_eof454: cs = 454; goto _test_eof; 
-	_test_eof1088: cs = 1088; goto _test_eof; 
+	_test_eof1101: cs = 1101; goto _test_eof; 
+	_test_eof1102: cs = 1102; goto _test_eof; 
+	_test_eof1103: cs = 1103; goto _test_eof; 
 	_test_eof455: cs = 455; goto _test_eof; 
 	_test_eof456: cs = 456; goto _test_eof; 
 	_test_eof457: cs = 457; goto _test_eof; 
 	_test_eof458: cs = 458; goto _test_eof; 
 	_test_eof459: cs = 459; goto _test_eof; 
+	_test_eof1104: cs = 1104; goto _test_eof; 
 	_test_eof460: cs = 460; goto _test_eof; 
 	_test_eof461: cs = 461; goto _test_eof; 
 	_test_eof462: cs = 462; goto _test_eof; 
 	_test_eof463: cs = 463; goto _test_eof; 
+	_test_eof1105: cs = 1105; goto _test_eof; 
+	_test_eof1106: cs = 1106; goto _test_eof; 
+	_test_eof1107: cs = 1107; goto _test_eof; 
 	_test_eof464: cs = 464; goto _test_eof; 
 	_test_eof465: cs = 465; goto _test_eof; 
+	_test_eof1108: cs = 1108; goto _test_eof; 
 	_test_eof466: cs = 466; goto _test_eof; 
 	_test_eof467: cs = 467; goto _test_eof; 
 	_test_eof468: cs = 468; goto _test_eof; 
+	_test_eof1109: cs = 1109; goto _test_eof; 
 	_test_eof469: cs = 469; goto _test_eof; 
 	_test_eof470: cs = 470; goto _test_eof; 
 	_test_eof471: cs = 471; goto _test_eof; 
@@ -70704,7 +72360,6 @@ case 1140:
 	_test_eof547: cs = 547; goto _test_eof; 
 	_test_eof548: cs = 548; goto _test_eof; 
 	_test_eof549: cs = 549; goto _test_eof; 
-	_test_eof1089: cs = 1089; goto _test_eof; 
 	_test_eof550: cs = 550; goto _test_eof; 
 	_test_eof551: cs = 551; goto _test_eof; 
 	_test_eof552: cs = 552; goto _test_eof; 
@@ -70719,6 +72374,7 @@ case 1140:
 	_test_eof561: cs = 561; goto _test_eof; 
 	_test_eof562: cs = 562; goto _test_eof; 
 	_test_eof563: cs = 563; goto _test_eof; 
+	_test_eof1110: cs = 1110; goto _test_eof; 
 	_test_eof564: cs = 564; goto _test_eof; 
 	_test_eof565: cs = 565; goto _test_eof; 
 	_test_eof566: cs = 566; goto _test_eof; 
@@ -70746,10 +72402,8 @@ case 1140:
 	_test_eof588: cs = 588; goto _test_eof; 
 	_test_eof589: cs = 589; goto _test_eof; 
 	_test_eof590: cs = 590; goto _test_eof; 
-	_test_eof1090: cs = 1090; goto _test_eof; 
 	_test_eof591: cs = 591; goto _test_eof; 
 	_test_eof592: cs = 592; goto _test_eof; 
-	_test_eof1091: cs = 1091; goto _test_eof; 
 	_test_eof593: cs = 593; goto _test_eof; 
 	_test_eof594: cs = 594; goto _test_eof; 
 	_test_eof595: cs = 595; goto _test_eof; 
@@ -70762,9 +72416,10 @@ case 1140:
 	_test_eof602: cs = 602; goto _test_eof; 
 	_test_eof603: cs = 603; goto _test_eof; 
 	_test_eof604: cs = 604; goto _test_eof; 
+	_test_eof1111: cs = 1111; goto _test_eof; 
 	_test_eof605: cs = 605; goto _test_eof; 
 	_test_eof606: cs = 606; goto _test_eof; 
-	_test_eof1092: cs = 1092; goto _test_eof; 
+	_test_eof1112: cs = 1112; goto _test_eof; 
 	_test_eof607: cs = 607; goto _test_eof; 
 	_test_eof608: cs = 608; goto _test_eof; 
 	_test_eof609: cs = 609; goto _test_eof; 
@@ -70779,6 +72434,7 @@ case 1140:
 	_test_eof618: cs = 618; goto _test_eof; 
 	_test_eof619: cs = 619; goto _test_eof; 
 	_test_eof620: cs = 620; goto _test_eof; 
+	_test_eof1113: cs = 1113; goto _test_eof; 
 	_test_eof621: cs = 621; goto _test_eof; 
 	_test_eof622: cs = 622; goto _test_eof; 
 	_test_eof623: cs = 623; goto _test_eof; 
@@ -70787,44 +72443,44 @@ case 1140:
 	_test_eof626: cs = 626; goto _test_eof; 
 	_test_eof627: cs = 627; goto _test_eof; 
 	_test_eof628: cs = 628; goto _test_eof; 
-	_test_eof1093: cs = 1093; goto _test_eof; 
 	_test_eof629: cs = 629; goto _test_eof; 
 	_test_eof630: cs = 630; goto _test_eof; 
 	_test_eof631: cs = 631; goto _test_eof; 
 	_test_eof632: cs = 632; goto _test_eof; 
 	_test_eof633: cs = 633; goto _test_eof; 
-	_test_eof1094: cs = 1094; goto _test_eof; 
 	_test_eof634: cs = 634; goto _test_eof; 
 	_test_eof635: cs = 635; goto _test_eof; 
 	_test_eof636: cs = 636; goto _test_eof; 
 	_test_eof637: cs = 637; goto _test_eof; 
 	_test_eof638: cs = 638; goto _test_eof; 
-	_test_eof1095: cs = 1095; goto _test_eof; 
 	_test_eof639: cs = 639; goto _test_eof; 
 	_test_eof640: cs = 640; goto _test_eof; 
 	_test_eof641: cs = 641; goto _test_eof; 
 	_test_eof642: cs = 642; goto _test_eof; 
+	_test_eof1114: cs = 1114; goto _test_eof; 
 	_test_eof643: cs = 643; goto _test_eof; 
-	_test_eof1096: cs = 1096; goto _test_eof; 
-	_test_eof1097: cs = 1097; goto _test_eof; 
-	_test_eof1098: cs = 1098; goto _test_eof; 
 	_test_eof644: cs = 644; goto _test_eof; 
 	_test_eof645: cs = 645; goto _test_eof; 
-	_test_eof1099: cs = 1099; goto _test_eof; 
 	_test_eof646: cs = 646; goto _test_eof; 
 	_test_eof647: cs = 647; goto _test_eof; 
+	_test_eof1115: cs = 1115; goto _test_eof; 
 	_test_eof648: cs = 648; goto _test_eof; 
 	_test_eof649: cs = 649; goto _test_eof; 
 	_test_eof650: cs = 650; goto _test_eof; 
 	_test_eof651: cs = 651; goto _test_eof; 
 	_test_eof652: cs = 652; goto _test_eof; 
+	_test_eof1116: cs = 1116; goto _test_eof; 
 	_test_eof653: cs = 653; goto _test_eof; 
 	_test_eof654: cs = 654; goto _test_eof; 
 	_test_eof655: cs = 655; goto _test_eof; 
 	_test_eof656: cs = 656; goto _test_eof; 
 	_test_eof657: cs = 657; goto _test_eof; 
+	_test_eof1117: cs = 1117; goto _test_eof; 
+	_test_eof1118: cs = 1118; goto _test_eof; 
+	_test_eof1119: cs = 1119; goto _test_eof; 
 	_test_eof658: cs = 658; goto _test_eof; 
 	_test_eof659: cs = 659; goto _test_eof; 
+	_test_eof1120: cs = 1120; goto _test_eof; 
 	_test_eof660: cs = 660; goto _test_eof; 
 	_test_eof661: cs = 661; goto _test_eof; 
 	_test_eof662: cs = 662; goto _test_eof; 
@@ -70838,40 +72494,40 @@ case 1140:
 	_test_eof670: cs = 670; goto _test_eof; 
 	_test_eof671: cs = 671; goto _test_eof; 
 	_test_eof672: cs = 672; goto _test_eof; 
-	_test_eof1100: cs = 1100; goto _test_eof; 
-	_test_eof1101: cs = 1101; goto _test_eof; 
-	_test_eof1102: cs = 1102; goto _test_eof; 
 	_test_eof673: cs = 673; goto _test_eof; 
 	_test_eof674: cs = 674; goto _test_eof; 
 	_test_eof675: cs = 675; goto _test_eof; 
-	_test_eof1103: cs = 1103; goto _test_eof; 
-	_test_eof1104: cs = 1104; goto _test_eof; 
 	_test_eof676: cs = 676; goto _test_eof; 
 	_test_eof677: cs = 677; goto _test_eof; 
 	_test_eof678: cs = 678; goto _test_eof; 
 	_test_eof679: cs = 679; goto _test_eof; 
-	_test_eof1105: cs = 1105; goto _test_eof; 
-	_test_eof1106: cs = 1106; goto _test_eof; 
 	_test_eof680: cs = 680; goto _test_eof; 
 	_test_eof681: cs = 681; goto _test_eof; 
 	_test_eof682: cs = 682; goto _test_eof; 
 	_test_eof683: cs = 683; goto _test_eof; 
-	_test_eof1107: cs = 1107; goto _test_eof; 
-	_test_eof1108: cs = 1108; goto _test_eof; 
 	_test_eof684: cs = 684; goto _test_eof; 
 	_test_eof685: cs = 685; goto _test_eof; 
 	_test_eof686: cs = 686; goto _test_eof; 
+	_test_eof1121: cs = 1121; goto _test_eof; 
+	_test_eof1122: cs = 1122; goto _test_eof; 
+	_test_eof1123: cs = 1123; goto _test_eof; 
 	_test_eof687: cs = 687; goto _test_eof; 
 	_test_eof688: cs = 688; goto _test_eof; 
 	_test_eof689: cs = 689; goto _test_eof; 
+	_test_eof1124: cs = 1124; goto _test_eof; 
+	_test_eof1125: cs = 1125; goto _test_eof; 
 	_test_eof690: cs = 690; goto _test_eof; 
 	_test_eof691: cs = 691; goto _test_eof; 
 	_test_eof692: cs = 692; goto _test_eof; 
 	_test_eof693: cs = 693; goto _test_eof; 
+	_test_eof1126: cs = 1126; goto _test_eof; 
+	_test_eof1127: cs = 1127; goto _test_eof; 
 	_test_eof694: cs = 694; goto _test_eof; 
 	_test_eof695: cs = 695; goto _test_eof; 
 	_test_eof696: cs = 696; goto _test_eof; 
 	_test_eof697: cs = 697; goto _test_eof; 
+	_test_eof1128: cs = 1128; goto _test_eof; 
+	_test_eof1129: cs = 1129; goto _test_eof; 
 	_test_eof698: cs = 698; goto _test_eof; 
 	_test_eof699: cs = 699; goto _test_eof; 
 	_test_eof700: cs = 700; goto _test_eof; 
@@ -70883,7 +72539,6 @@ case 1140:
 	_test_eof706: cs = 706; goto _test_eof; 
 	_test_eof707: cs = 707; goto _test_eof; 
 	_test_eof708: cs = 708; goto _test_eof; 
-	_test_eof1109: cs = 1109; goto _test_eof; 
 	_test_eof709: cs = 709; goto _test_eof; 
 	_test_eof710: cs = 710; goto _test_eof; 
 	_test_eof711: cs = 711; goto _test_eof; 
@@ -70898,8 +72553,8 @@ case 1140:
 	_test_eof720: cs = 720; goto _test_eof; 
 	_test_eof721: cs = 721; goto _test_eof; 
 	_test_eof722: cs = 722; goto _test_eof; 
+	_test_eof1130: cs = 1130; goto _test_eof; 
 	_test_eof723: cs = 723; goto _test_eof; 
-	_test_eof1110: cs = 1110; goto _test_eof; 
 	_test_eof724: cs = 724; goto _test_eof; 
 	_test_eof725: cs = 725; goto _test_eof; 
 	_test_eof726: cs = 726; goto _test_eof; 
@@ -70913,8 +72568,8 @@ case 1140:
 	_test_eof734: cs = 734; goto _test_eof; 
 	_test_eof735: cs = 735; goto _test_eof; 
 	_test_eof736: cs = 736; goto _test_eof; 
-	_test_eof1111: cs = 1111; goto _test_eof; 
 	_test_eof737: cs = 737; goto _test_eof; 
+	_test_eof1131: cs = 1131; goto _test_eof; 
 	_test_eof738: cs = 738; goto _test_eof; 
 	_test_eof739: cs = 739; goto _test_eof; 
 	_test_eof740: cs = 740; goto _test_eof; 
@@ -70925,12 +72580,10 @@ case 1140:
 	_test_eof745: cs = 745; goto _test_eof; 
 	_test_eof746: cs = 746; goto _test_eof; 
 	_test_eof747: cs = 747; goto _test_eof; 
-	_test_eof1112: cs = 1112; goto _test_eof; 
-	_test_eof1113: cs = 1113; goto _test_eof; 
 	_test_eof748: cs = 748; goto _test_eof; 
 	_test_eof749: cs = 749; goto _test_eof; 
 	_test_eof750: cs = 750; goto _test_eof; 
-	_test_eof1114: cs = 1114; goto _test_eof; 
+	_test_eof1132: cs = 1132; goto _test_eof; 
 	_test_eof751: cs = 751; goto _test_eof; 
 	_test_eof752: cs = 752; goto _test_eof; 
 	_test_eof753: cs = 753; goto _test_eof; 
@@ -70941,13 +72594,13 @@ case 1140:
 	_test_eof758: cs = 758; goto _test_eof; 
 	_test_eof759: cs = 759; goto _test_eof; 
 	_test_eof760: cs = 760; goto _test_eof; 
-	_test_eof1115: cs = 1115; goto _test_eof; 
-	_test_eof1116: cs = 1116; goto _test_eof; 
-	_test_eof1117: cs = 1117; goto _test_eof; 
 	_test_eof761: cs = 761; goto _test_eof; 
+	_test_eof1133: cs = 1133; goto _test_eof; 
+	_test_eof1134: cs = 1134; goto _test_eof; 
 	_test_eof762: cs = 762; goto _test_eof; 
 	_test_eof763: cs = 763; goto _test_eof; 
 	_test_eof764: cs = 764; goto _test_eof; 
+	_test_eof1135: cs = 1135; goto _test_eof; 
 	_test_eof765: cs = 765; goto _test_eof; 
 	_test_eof766: cs = 766; goto _test_eof; 
 	_test_eof767: cs = 767; goto _test_eof; 
@@ -70955,12 +72608,12 @@ case 1140:
 	_test_eof769: cs = 769; goto _test_eof; 
 	_test_eof770: cs = 770; goto _test_eof; 
 	_test_eof771: cs = 771; goto _test_eof; 
-	_test_eof1118: cs = 1118; goto _test_eof; 
-	_test_eof1119: cs = 1119; goto _test_eof; 
-	_test_eof1120: cs = 1120; goto _test_eof; 
 	_test_eof772: cs = 772; goto _test_eof; 
 	_test_eof773: cs = 773; goto _test_eof; 
 	_test_eof774: cs = 774; goto _test_eof; 
+	_test_eof1136: cs = 1136; goto _test_eof; 
+	_test_eof1137: cs = 1137; goto _test_eof; 
+	_test_eof1138: cs = 1138; goto _test_eof; 
 	_test_eof775: cs = 775; goto _test_eof; 
 	_test_eof776: cs = 776; goto _test_eof; 
 	_test_eof777: cs = 777; goto _test_eof; 
@@ -70970,18 +72623,14 @@ case 1140:
 	_test_eof781: cs = 781; goto _test_eof; 
 	_test_eof782: cs = 782; goto _test_eof; 
 	_test_eof783: cs = 783; goto _test_eof; 
-	_test_eof1121: cs = 1121; goto _test_eof; 
 	_test_eof784: cs = 784; goto _test_eof; 
 	_test_eof785: cs = 785; goto _test_eof; 
+	_test_eof1139: cs = 1139; goto _test_eof; 
+	_test_eof1140: cs = 1140; goto _test_eof; 
+	_test_eof1141: cs = 1141; goto _test_eof; 
 	_test_eof786: cs = 786; goto _test_eof; 
-	_test_eof1122: cs = 1122; goto _test_eof; 
-	_test_eof1123: cs = 1123; goto _test_eof; 
 	_test_eof787: cs = 787; goto _test_eof; 
-	_test_eof1124: cs = 1124; goto _test_eof; 
-	_test_eof1125: cs = 1125; goto _test_eof; 
 	_test_eof788: cs = 788; goto _test_eof; 
-	_test_eof1126: cs = 1126; goto _test_eof; 
-	_test_eof1127: cs = 1127; goto _test_eof; 
 	_test_eof789: cs = 789; goto _test_eof; 
 	_test_eof790: cs = 790; goto _test_eof; 
 	_test_eof791: cs = 791; goto _test_eof; 
@@ -70991,11 +72640,18 @@ case 1140:
 	_test_eof795: cs = 795; goto _test_eof; 
 	_test_eof796: cs = 796; goto _test_eof; 
 	_test_eof797: cs = 797; goto _test_eof; 
+	_test_eof1142: cs = 1142; goto _test_eof; 
 	_test_eof798: cs = 798; goto _test_eof; 
 	_test_eof799: cs = 799; goto _test_eof; 
 	_test_eof800: cs = 800; goto _test_eof; 
+	_test_eof1143: cs = 1143; goto _test_eof; 
+	_test_eof1144: cs = 1144; goto _test_eof; 
 	_test_eof801: cs = 801; goto _test_eof; 
+	_test_eof1145: cs = 1145; goto _test_eof; 
+	_test_eof1146: cs = 1146; goto _test_eof; 
 	_test_eof802: cs = 802; goto _test_eof; 
+	_test_eof1147: cs = 1147; goto _test_eof; 
+	_test_eof1148: cs = 1148; goto _test_eof; 
 	_test_eof803: cs = 803; goto _test_eof; 
 	_test_eof804: cs = 804; goto _test_eof; 
 	_test_eof805: cs = 805; goto _test_eof; 
@@ -71024,7 +72680,6 @@ case 1140:
 	_test_eof828: cs = 828; goto _test_eof; 
 	_test_eof829: cs = 829; goto _test_eof; 
 	_test_eof830: cs = 830; goto _test_eof; 
-	_test_eof1128: cs = 1128; goto _test_eof; 
 	_test_eof831: cs = 831; goto _test_eof; 
 	_test_eof832: cs = 832; goto _test_eof; 
 	_test_eof833: cs = 833; goto _test_eof; 
@@ -71039,6 +72694,7 @@ case 1140:
 	_test_eof842: cs = 842; goto _test_eof; 
 	_test_eof843: cs = 843; goto _test_eof; 
 	_test_eof844: cs = 844; goto _test_eof; 
+	_test_eof1149: cs = 1149; goto _test_eof; 
 	_test_eof845: cs = 845; goto _test_eof; 
 	_test_eof846: cs = 846; goto _test_eof; 
 	_test_eof847: cs = 847; goto _test_eof; 
@@ -71152,7 +72808,6 @@ case 1140:
 	_test_eof955: cs = 955; goto _test_eof; 
 	_test_eof956: cs = 956; goto _test_eof; 
 	_test_eof957: cs = 957; goto _test_eof; 
-	_test_eof1129: cs = 1129; goto _test_eof; 
 	_test_eof958: cs = 958; goto _test_eof; 
 	_test_eof959: cs = 959; goto _test_eof; 
 	_test_eof960: cs = 960; goto _test_eof; 
@@ -71161,13 +72816,11 @@ case 1140:
 	_test_eof963: cs = 963; goto _test_eof; 
 	_test_eof964: cs = 964; goto _test_eof; 
 	_test_eof965: cs = 965; goto _test_eof; 
-	_test_eof1130: cs = 1130; goto _test_eof; 
 	_test_eof966: cs = 966; goto _test_eof; 
 	_test_eof967: cs = 967; goto _test_eof; 
 	_test_eof968: cs = 968; goto _test_eof; 
 	_test_eof969: cs = 969; goto _test_eof; 
 	_test_eof970: cs = 970; goto _test_eof; 
-	_test_eof1131: cs = 1131; goto _test_eof; 
 	_test_eof971: cs = 971; goto _test_eof; 
 	_test_eof972: cs = 972; goto _test_eof; 
 	_test_eof973: cs = 973; goto _test_eof; 
@@ -71176,6 +72829,7 @@ case 1140:
 	_test_eof976: cs = 976; goto _test_eof; 
 	_test_eof977: cs = 977; goto _test_eof; 
 	_test_eof978: cs = 978; goto _test_eof; 
+	_test_eof1150: cs = 1150; goto _test_eof; 
 	_test_eof979: cs = 979; goto _test_eof; 
 	_test_eof980: cs = 980; goto _test_eof; 
 	_test_eof981: cs = 981; goto _test_eof; 
@@ -71184,12 +72838,13 @@ case 1140:
 	_test_eof984: cs = 984; goto _test_eof; 
 	_test_eof985: cs = 985; goto _test_eof; 
 	_test_eof986: cs = 986; goto _test_eof; 
+	_test_eof1151: cs = 1151; goto _test_eof; 
 	_test_eof987: cs = 987; goto _test_eof; 
 	_test_eof988: cs = 988; goto _test_eof; 
-	_test_eof1132: cs = 1132; goto _test_eof; 
 	_test_eof989: cs = 989; goto _test_eof; 
 	_test_eof990: cs = 990; goto _test_eof; 
 	_test_eof991: cs = 991; goto _test_eof; 
+	_test_eof1152: cs = 1152; goto _test_eof; 
 	_test_eof992: cs = 992; goto _test_eof; 
 	_test_eof993: cs = 993; goto _test_eof; 
 	_test_eof994: cs = 994; goto _test_eof; 
@@ -71206,9 +72861,9 @@ case 1140:
 	_test_eof1005: cs = 1005; goto _test_eof; 
 	_test_eof1006: cs = 1006; goto _test_eof; 
 	_test_eof1007: cs = 1007; goto _test_eof; 
-	_test_eof1133: cs = 1133; goto _test_eof; 
 	_test_eof1008: cs = 1008; goto _test_eof; 
 	_test_eof1009: cs = 1009; goto _test_eof; 
+	_test_eof1153: cs = 1153; goto _test_eof; 
 	_test_eof1010: cs = 1010; goto _test_eof; 
 	_test_eof1011: cs = 1011; goto _test_eof; 
 	_test_eof1012: cs = 1012; goto _test_eof; 
@@ -71222,17 +72877,14 @@ case 1140:
 	_test_eof1020: cs = 1020; goto _test_eof; 
 	_test_eof1021: cs = 1021; goto _test_eof; 
 	_test_eof1022: cs = 1022; goto _test_eof; 
-	_test_eof1134: cs = 1134; goto _test_eof; 
-	_test_eof1135: cs = 1135; goto _test_eof; 
-	_test_eof1136: cs = 1136; goto _test_eof; 
 	_test_eof1023: cs = 1023; goto _test_eof; 
 	_test_eof1024: cs = 1024; goto _test_eof; 
 	_test_eof1025: cs = 1025; goto _test_eof; 
 	_test_eof1026: cs = 1026; goto _test_eof; 
 	_test_eof1027: cs = 1027; goto _test_eof; 
 	_test_eof1028: cs = 1028; goto _test_eof; 
+	_test_eof1154: cs = 1154; goto _test_eof; 
 	_test_eof1029: cs = 1029; goto _test_eof; 
-	_test_eof1137: cs = 1137; goto _test_eof; 
 	_test_eof1030: cs = 1030; goto _test_eof; 
 	_test_eof1031: cs = 1031; goto _test_eof; 
 	_test_eof1032: cs = 1032; goto _test_eof; 
@@ -71246,22 +72898,47 @@ case 1140:
 	_test_eof1040: cs = 1040; goto _test_eof; 
 	_test_eof1041: cs = 1041; goto _test_eof; 
 	_test_eof1042: cs = 1042; goto _test_eof; 
-	_test_eof1138: cs = 1138; goto _test_eof; 
 	_test_eof1043: cs = 1043; goto _test_eof; 
+	_test_eof1155: cs = 1155; goto _test_eof; 
+	_test_eof1156: cs = 1156; goto _test_eof; 
+	_test_eof1157: cs = 1157; goto _test_eof; 
 	_test_eof1044: cs = 1044; goto _test_eof; 
 	_test_eof1045: cs = 1045; goto _test_eof; 
 	_test_eof1046: cs = 1046; goto _test_eof; 
 	_test_eof1047: cs = 1047; goto _test_eof; 
 	_test_eof1048: cs = 1048; goto _test_eof; 
 	_test_eof1049: cs = 1049; goto _test_eof; 
-	_test_eof1139: cs = 1139; goto _test_eof; 
 	_test_eof1050: cs = 1050; goto _test_eof; 
+	_test_eof1158: cs = 1158; goto _test_eof; 
 	_test_eof1051: cs = 1051; goto _test_eof; 
 	_test_eof1052: cs = 1052; goto _test_eof; 
 	_test_eof1053: cs = 1053; goto _test_eof; 
 	_test_eof1054: cs = 1054; goto _test_eof; 
 	_test_eof1055: cs = 1055; goto _test_eof; 
-	_test_eof1140: cs = 1140; goto _test_eof; 
+	_test_eof1056: cs = 1056; goto _test_eof; 
+	_test_eof1057: cs = 1057; goto _test_eof; 
+	_test_eof1058: cs = 1058; goto _test_eof; 
+	_test_eof1059: cs = 1059; goto _test_eof; 
+	_test_eof1060: cs = 1060; goto _test_eof; 
+	_test_eof1061: cs = 1061; goto _test_eof; 
+	_test_eof1062: cs = 1062; goto _test_eof; 
+	_test_eof1063: cs = 1063; goto _test_eof; 
+	_test_eof1159: cs = 1159; goto _test_eof; 
+	_test_eof1064: cs = 1064; goto _test_eof; 
+	_test_eof1065: cs = 1065; goto _test_eof; 
+	_test_eof1066: cs = 1066; goto _test_eof; 
+	_test_eof1067: cs = 1067; goto _test_eof; 
+	_test_eof1068: cs = 1068; goto _test_eof; 
+	_test_eof1069: cs = 1069; goto _test_eof; 
+	_test_eof1070: cs = 1070; goto _test_eof; 
+	_test_eof1160: cs = 1160; goto _test_eof; 
+	_test_eof1071: cs = 1071; goto _test_eof; 
+	_test_eof1072: cs = 1072; goto _test_eof; 
+	_test_eof1073: cs = 1073; goto _test_eof; 
+	_test_eof1074: cs = 1074; goto _test_eof; 
+	_test_eof1075: cs = 1075; goto _test_eof; 
+	_test_eof1076: cs = 1076; goto _test_eof; 
+	_test_eof1161: cs = 1161; goto _test_eof; 
 
 	_test_eof: {}
 	if ( p == eof )
@@ -71269,109 +72946,97 @@ case 1140:
 	switch ( cs ) {
 	case 7: 
 	case 8: 
-	case 137: 
-	case 161: 
-	case 163: 
-	case 211: 
-	case 224: 
-	case 242: 
-	case 296: 
-	case 297: 
+	case 144: 
+	case 168: 
+	case 170: 
+	case 218: 
+	case 231: 
+	case 249: 
 	case 303: 
+	case 304: 
+	case 310: 
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 248: 
-	case 249: 
-	case 250: 
 	case 255: 
 	case 256: 
+	case 257: 
+	case 262: 
+	case 263: 
 	{
 		WARN(ZS_BAD_DNAME_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 146: 
+	case 153: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 264: 
+	case 271: 
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 269: 
-	case 277: 
+	case 276: 
+	case 284: 
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 278: 
-	case 279: 
-	case 280: 
-	case 289: 
+	case 285: 
+	case 286: 
+	case 287: 
+	case 296: 
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 291: 
+	case 298: 
 	{
 		ERR(ZS_BAD_INCLUDE_FILENAME);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 294: 
-	case 304: 
+	case 301: 
+	case 311: 
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 1060: 
+	case 1081: 
 	{
 		s->stop = false;
 	}
 	break;
-	case 138: 
-	case 139: 
-	case 140: 
-	case 141: 
-	case 142: 
-	case 143: 
-	case 144: 
 	case 145: 
-	case 180: 
-	case 181: 
-	case 182: 
-	case 183: 
-	case 184: 
-	case 185: 
-	case 186: 
+	case 146: 
+	case 147: 
+	case 148: 
+	case 149: 
+	case 150: 
+	case 151: 
+	case 152: 
 	case 187: 
 	case 188: 
+	case 189: 
+	case 190: 
+	case 191: 
+	case 192: 
+	case 193: 
+	case 194: 
+	case 195: 
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {goto st246;}
-	}
-	break;
-	case 307: 
-	case 308: 
-	case 309: 
-	case 310: 
-	case 311: 
-	case 312: 
-	case 313: 
-	{
-		WARN(ZS_BAD_BASE64_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 314: 
@@ -71381,6 +73046,11 @@ case 1140:
 	case 318: 
 	case 319: 
 	case 320: 
+	{
+		WARN(ZS_BAD_BASE64_CHAR);
+		p--; {goto st253;}
+	}
+	break;
 	case 321: 
 	case 322: 
 	case 323: 
@@ -71494,36 +73164,36 @@ case 1140:
 	case 431: 
 	case 432: 
 	case 433: 
-	{
-		WARN(ZS_BAD_BITMAP);
-		p--; {goto st246;}
-	}
-	break;
 	case 434: 
+	case 435: 
+	case 436: 
+	case 437: 
+	case 438: 
+	case 439: 
+	case 440: 
 	case 441: 
 	case 442: 
 	case 443: 
-	case 450: 
-	case 452: 
+	case 444: 
+	case 445: 
+	case 446: 
+	case 447: 
 	{
-		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		WARN(ZS_BAD_BITMAP);
+		p--; {goto st253;}
 	}
 	break;
-	case 453: 
-	case 454: 
+	case 448: 
 	case 455: 
 	case 456: 
 	case 457: 
-	case 458: 
-	case 459: 
-	case 460: 
-	case 461: 
-	case 462: 
-	case 463: 
 	case 464: 
-	case 465: 
 	case 466: 
+	{
+		WARN(ZS_BAD_HEX_RDATA);
+		p--; {goto st253;}
+	}
+	break;
 	case 467: 
 	case 468: 
 	case 469: 
@@ -71605,11 +73275,6 @@ case 1140:
 	case 545: 
 	case 546: 
 	case 547: 
-	{
-		WARN(ZS_BAD_ALGORITHM);
-		p--; {goto st246;}
-	}
-	break;
 	case 548: 
 	case 549: 
 	case 550: 
@@ -71624,6 +73289,11 @@ case 1140:
 	case 559: 
 	case 560: 
 	case 561: 
+	{
+		WARN(ZS_BAD_ALGORITHM);
+		p--; {goto st253;}
+	}
+	break;
 	case 562: 
 	case 563: 
 	case 564: 
@@ -71651,37 +73321,39 @@ case 1140:
 	case 586: 
 	case 587: 
 	case 588: 
+	case 589: 
+	case 590: 
+	case 591: 
+	case 592: 
+	case 593: 
+	case 594: 
+	case 595: 
+	case 596: 
+	case 597: 
+	case 598: 
+	case 599: 
+	case 600: 
+	case 601: 
+	case 602: 
 	{
 		WARN(ZS_BAD_CERT_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 5: 
 	case 9: 
 	case 10: 
-	case 227: 
-	case 591: 
-	case 592: 
-	case 593: 
-	case 594: 
-	case 595: 
-	case 596: 
+	case 234: 
+	case 605: 
+	case 606: 
+	case 607: 
+	case 608: 
+	case 609: 
 	case 610: 
-	case 614: 
-	case 618: 
-	case 622: 
-	case 623: 
 	case 624: 
-	case 625: 
-	case 626: 
-	case 627: 
 	case 628: 
-	case 629: 
-	case 630: 
-	case 631: 
 	case 632: 
-	case 633: 
-	case 634: 
+	case 636: 
 	case 637: 
 	case 638: 
 	case 639: 
@@ -71689,26 +73361,26 @@ case 1140:
 	case 641: 
 	case 642: 
 	case 643: 
-	case 707: 
-	case 708: 
-	case 709: 
-	case 710: 
-	case 711: 
-	case 716: 
-	case 717: 
-	case 718: 
-	case 719: 
-	case 720: 
+	case 644: 
+	case 645: 
+	case 646: 
+	case 647: 
+	case 648: 
+	case 651: 
+	case 652: 
+	case 653: 
+	case 654: 
+	case 655: 
+	case 656: 
+	case 657: 
 	case 721: 
 	case 722: 
 	case 723: 
 	case 724: 
 	case 725: 
-	case 726: 
-	case 727: 
-	case 728: 
-	case 729: 
 	case 730: 
+	case 731: 
+	case 732: 
 	case 733: 
 	case 734: 
 	case 735: 
@@ -71716,558 +73388,561 @@ case 1140:
 	case 737: 
 	case 738: 
 	case 739: 
+	case 740: 
+	case 741: 
+	case 742: 
+	case 743: 
+	case 744: 
 	case 747: 
+	case 748: 
+	case 749: 
+	case 750: 
+	case 751: 
+	case 752: 
 	case 753: 
-	case 754: 
 	case 761: 
-	case 762: 
-	case 763: 
-	case 772: 
-	case 773: 
-	case 812: 
-	case 815: 
-	case 816: 
-	case 827: 
-	case 828: 
+	case 767: 
+	case 768: 
+	case 775: 
+	case 776: 
+	case 777: 
+	case 786: 
+	case 787: 
+	case 826: 
 	case 829: 
 	case 830: 
-	case 831: 
-	case 832: 
-	case 833: 
-	case 834: 
-	case 835: 
-	case 836: 
-	case 837: 
-	case 838: 
-	case 955: 
-	case 956: 
-	case 957: 
-	case 962: 
-	case 963: 
-	case 964: 
-	case 965: 
-	case 966: 
-	case 967: 
-	case 968: 
-	case 969: 
-	case 970: 
+	case 841: 
+	case 842: 
+	case 843: 
+	case 844: 
+	case 845: 
+	case 846: 
+	case 847: 
+	case 848: 
+	case 849: 
+	case 850: 
+	case 851: 
+	case 852: 
+	case 976: 
+	case 977: 
+	case 978: 
+	case 983: 
+	case 984: 
+	case 985: 
+	case 986: 
+	case 987: 
 	case 988: 
-	case 994: 
-	case 997: 
-	case 998: 
-	case 999: 
-	case 1010: 
-	case 1011: 
-	case 1012: 
-	case 1023: 
-	case 1024: 
-	case 1025: 
-	case 1030: 
-	case 1043: 
+	case 989: 
+	case 990: 
+	case 991: 
+	case 1009: 
+	case 1015: 
+	case 1018: 
+	case 1019: 
+	case 1020: 
+	case 1031: 
+	case 1032: 
+	case 1033: 
+	case 1044: 
+	case 1045: 
+	case 1046: 
+	case 1051: 
+	case 1064: 
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 3: 
 	case 16: 
 	case 17: 
 	case 18: 
+	case 19: 
+	case 20: 
 	case 21: 
-	case 22: 
-	case 23: 
 	case 25: 
 	case 26: 
-	case 27: 
 	case 28: 
+	case 29: 
 	case 30: 
-	case 31: 
 	case 32: 
+	case 33: 
 	case 34: 
 	case 35: 
-	case 36: 
+	case 37: 
+	case 38: 
 	case 39: 
-	case 40: 
 	case 41: 
 	case 42: 
-	case 44: 
+	case 43: 
 	case 46: 
 	case 47: 
 	case 48: 
 	case 49: 
 	case 51: 
-	case 52: 
 	case 53: 
 	case 54: 
 	case 55: 
 	case 56: 
-	case 57: 
 	case 58: 
 	case 59: 
 	case 60: 
+	case 61: 
 	case 62: 
 	case 63: 
+	case 64: 
+	case 65: 
 	case 66: 
 	case 67: 
 	case 69: 
-	case 71: 
+	case 70: 
+	case 73: 
 	case 74: 
-	case 75: 
 	case 76: 
-	case 77: 
-	case 80: 
+	case 78: 
 	case 81: 
 	case 82: 
 	case 83: 
-	case 85: 
+	case 84: 
+	case 87: 
 	case 88: 
-	case 91: 
+	case 89: 
+	case 90: 
 	case 92: 
-	case 93: 
-	case 94: 
-	case 96: 
-	case 97: 
+	case 95: 
+	case 98: 
 	case 99: 
+	case 100: 
 	case 101: 
-	case 102: 
 	case 103: 
+	case 104: 
 	case 106: 
-	case 107: 
+	case 108: 
 	case 109: 
-	case 111: 
+	case 110: 
 	case 113: 
 	case 114: 
-	case 115: 
-	case 117: 
+	case 116: 
 	case 118: 
-	case 119: 
+	case 120: 
 	case 121: 
-	case 123: 
+	case 122: 
 	case 124: 
-	case 127: 
-	case 129: 
+	case 125: 
+	case 126: 
+	case 128: 
 	case 130: 
+	case 131: 
+	case 134: 
 	case 136: 
-	case 151: 
-	case 155: 
-	case 213: 
-	case 214: 
-	case 216: 
-	case 217: 
-	case 218: 
+	case 137: 
+	case 143: 
+	case 158: 
+	case 162: 
 	case 220: 
+	case 221: 
+	case 223: 
+	case 224: 
+	case 225: 
+	case 227: 
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 272: 
-	case 273: 
+	case 279: 
+	case 280: 
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 281: 
-	case 282: 
-	case 283: 
 	case 288: 
+	case 289: 
+	case 290: 
+	case 295: 
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 251: 
-	case 252: 
-	case 253: 
-	case 254: 
+	case 258: 
+	case 259: 
+	case 260: 
+	case 261: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_DNAME_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 284: 
-	case 285: 
-	case 286: 
-	case 287: 
+	case 291: 
+	case 292: 
+	case 293: 
+	case 294: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 298: 
-	case 299: 
-	case 300: 
-	case 301: 
+	case 305: 
+	case 306: 
+	case 307: 
+	case 308: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 208: 
+	case 215: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 229: 
-	case 230: 
-	case 231: 
-	case 232: 
-	case 233: 
-	case 234: 
-	case 235: 
 	case 236: 
 	case 237: 
 	case 238: 
 	case 239: 
 	case 240: 
 	case 241: 
+	case 242: 
+	case 243: 
 	case 244: 
+	case 245: 
+	case 246: 
+	case 247: 
+	case 248: 
+	case 251: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 270: 
+	case 277: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 435: 
-	case 436: 
-	case 444: 
-	case 445: 
-	case 451: 
+	case 449: 
+	case 450: 
+	case 458: 
+	case 459: 
+	case 465: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 597: 
-	case 598: 
-	case 599: 
-	case 601: 
-	case 603: 
-	case 605: 
-	case 635: 
-	case 636: 
-	case 701: 
-	case 702: 
-	case 703: 
-	case 704: 
-	case 705: 
-	case 706: 
-	case 712: 
-	case 713: 
-	case 714: 
+	case 611: 
+	case 612: 
+	case 613: 
+	case 615: 
+	case 617: 
+	case 619: 
+	case 649: 
+	case 650: 
 	case 715: 
-	case 731: 
-	case 732: 
-	case 751: 
-	case 752: 
-	case 755: 
-	case 756: 
-	case 764: 
+	case 716: 
+	case 717: 
+	case 718: 
+	case 719: 
+	case 720: 
+	case 726: 
+	case 727: 
+	case 728: 
+	case 729: 
+	case 745: 
+	case 746: 
 	case 765: 
 	case 766: 
-	case 767: 
-	case 774: 
-	case 775: 
-	case 817: 
-	case 818: 
-	case 819: 
-	case 820: 
-	case 825: 
-	case 826: 
-	case 958: 
-	case 959: 
-	case 960: 
-	case 961: 
-	case 971: 
-	case 972: 
-	case 973: 
-	case 974: 
-	case 975: 
-	case 976: 
-	case 1000: 
-	case 1001: 
-	case 1002: 
-	case 1003: 
-	case 1004: 
-	case 1005: 
-	case 1013: 
-	case 1014: 
-	case 1015: 
-	case 1016: 
-	case 1017: 
-	case 1018: 
+	case 769: 
+	case 770: 
+	case 778: 
+	case 779: 
+	case 780: 
+	case 781: 
+	case 788: 
+	case 789: 
+	case 831: 
+	case 832: 
+	case 833: 
+	case 834: 
+	case 839: 
+	case 840: 
+	case 979: 
+	case 980: 
+	case 981: 
+	case 982: 
+	case 992: 
+	case 993: 
+	case 994: 
+	case 995: 
+	case 996: 
+	case 997: 
+	case 1021: 
+	case 1022: 
+	case 1023: 
+	case 1024: 
+	case 1025: 
 	case 1026: 
-	case 1027: 
-	case 1031: 
-	case 1032: 
+	case 1034: 
+	case 1035: 
+	case 1036: 
+	case 1037: 
+	case 1038: 
+	case 1039: 
+	case 1047: 
+	case 1048: 
+	case 1052: 
+	case 1053: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 125: 
-	case 131: 
-	case 147: 
-	case 150: 
+	case 132: 
+	case 138: 
+	case 154: 
+	case 157: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 821: 
-	case 822: 
-	case 823: 
-	case 824: 
+	case 835: 
+	case 836: 
+	case 837: 
+	case 838: 
 	{
 		WARN(ZS_BAD_TIMESTAMP_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 257: 
-	case 258: 
-	case 263: 
+	case 264: 
+	case 265: 
+	case 270: 
 	{
 		WARN(ZS_BAD_TEXT_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 292: 
+	case 299: 
 	{
 		ERR(ZS_BAD_INCLUDE_FILENAME);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 293: 
-	case 295: 
+	case 300: 
 	case 302: 
+	case 309: 
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 589: 
-	case 590: 
-	case 644: 
-	case 645: 
-	case 1028: 
-	case 1029: 
+	case 603: 
+	case 604: 
+	case 658: 
+	case 659: 
+	case 1049: 
+	case 1050: 
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 740: 
-	case 741: 
-	case 742: 
-	case 745: 
-	case 746: 
-	case 748: 
+	case 754: 
+	case 755: 
+	case 756: 
+	case 759: 
+	case 760: 
+	case 762: 
 	{
 		WARN(ZS_BAD_APL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 757: 
-	case 758: 
-	case 759: 
-	case 760: 
-	case 768: 
-	case 769: 
-	case 770: 
 	case 771: 
-	case 977: 
-	case 978: 
-	case 995: 
-	case 996: 
-	case 1006: 
-	case 1007: 
-	case 1008: 
-	case 1009: 
-	case 1019: 
-	case 1020: 
-	case 1021: 
-	case 1022: 
-	case 1033: 
-	case 1034: 
-	case 1035: 
-	case 1036: 
-	case 1038: 
-	case 1039: 
+	case 772: 
+	case 773: 
+	case 774: 
+	case 782: 
+	case 783: 
+	case 784: 
+	case 785: 
+	case 998: 
+	case 999: 
+	case 1016: 
+	case 1017: 
+	case 1027: 
+	case 1028: 
+	case 1029: 
+	case 1030: 
 	case 1040: 
 	case 1041: 
-	case 1044: 
-	case 1045: 
-	case 1047: 
-	case 1048: 
-	case 1050: 
-	case 1051: 
-	case 1053: 
+	case 1042: 
+	case 1043: 
 	case 1054: 
+	case 1055: 
+	case 1056: 
+	case 1057: 
+	case 1059: 
+	case 1060: 
+	case 1061: 
+	case 1062: 
+	case 1065: 
+	case 1066: 
+	case 1068: 
+	case 1069: 
+	case 1071: 
+	case 1072: 
+	case 1074: 
+	case 1075: 
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 979: 
-	case 980: 
-	case 981: 
-	case 982: 
-	case 983: 
-	case 984: 
-	case 985: 
-	case 986: 
-	case 987: 
-	case 989: 
-	case 990: 
-	case 991: 
-	case 992: 
-	case 993: 
+	case 1000: 
+	case 1001: 
+	case 1002: 
+	case 1003: 
+	case 1004: 
+	case 1005: 
+	case 1006: 
+	case 1007: 
+	case 1008: 
+	case 1010: 
+	case 1011: 
+	case 1012: 
+	case 1013: 
+	case 1014: 
 	{
 		WARN(ZS_BAD_BASE32HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 776: 
-	case 777: 
-	case 780: 
-	case 789: 
 	case 790: 
 	case 791: 
-	case 796: 
-	case 797: 
-	case 798: 
+	case 794: 
 	case 803: 
 	case 804: 
 	case 805: 
-	case 808: 
 	case 810: 
 	case 811: 
+	case 812: 
+	case 817: 
+	case 818: 
+	case 819: 
+	case 822: 
+	case 824: 
+	case 825: 
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 782: 
-	case 783: 
-	case 784: 
-	case 785: 
-	case 786: 
-	case 787: 
-	case 788: 
+	case 796: 
+	case 797: 
+	case 798: 
+	case 799: 
+	case 800: 
+	case 801: 
+	case 802: 
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 813: 
-	case 814: 
-	case 839: 
-	case 840: 
-	case 841: 
-	case 842: 
-	case 843: 
-	case 844: 
-	case 845: 
-	case 846: 
-	case 847: 
-	case 848: 
-	case 849: 
-	case 850: 
-	case 851: 
-	case 852: 
+	case 827: 
+	case 828: 
 	case 853: 
 	case 854: 
 	case 855: 
@@ -72368,29 +74043,36 @@ case 1140:
 	case 950: 
 	case 951: 
 	case 952: 
+	case 953: 
+	case 954: 
+	case 955: 
+	case 956: 
+	case 957: 
+	case 958: 
+	case 959: 
+	case 960: 
+	case 961: 
+	case 962: 
+	case 963: 
+	case 964: 
+	case 965: 
+	case 966: 
+	case 967: 
+	case 968: 
+	case 969: 
+	case 970: 
+	case 971: 
+	case 972: 
+	case 973: 
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 646: 
-	case 647: 
-	case 648: 
-	case 649: 
-	case 650: 
-	case 651: 
-	case 652: 
-	case 653: 
-	case 654: 
-	case 655: 
-	case 656: 
-	case 657: 
-	case 658: 
-	case 659: 
 	case 660: 
 	case 661: 
 	case 662: 
@@ -72432,593 +74114,609 @@ case 1140:
 	case 698: 
 	case 699: 
 	case 700: 
+	case 701: 
+	case 702: 
+	case 703: 
+	case 704: 
+	case 705: 
+	case 706: 
+	case 707: 
+	case 708: 
+	case 709: 
+	case 710: 
+	case 711: 
+	case 712: 
+	case 713: 
+	case 714: 
 	{
 		WARN(ZS_BAD_LOC_DATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 6: 
 	case 11: 
 	case 12: 
-	case 20: 
-	case 159: 
-	case 162: 
-	case 178: 
-	case 210: 
-	case 212: 
-	case 222: 
-	case 223: 
-	case 225: 
-	case 226: 
-	case 228: 
+	case 23: 
+	case 166: 
+	case 169: 
+	case 185: 
+	case 217: 
+	case 219: 
+	case 229: 
+	case 230: 
+	case 232: 
+	case 233: 
+	case 235: 
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 15: 
-	case 192: 
-	case 243: 
-	case 245: 
+	case 199: 
+	case 250: 
+	case 252: 
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 4: 
-	case 19: 
+	case 22: 
 	case 24: 
-	case 29: 
-	case 33: 
-	case 37: 
-	case 38: 
-	case 43: 
+	case 27: 
+	case 31: 
+	case 36: 
+	case 40: 
+	case 44: 
 	case 45: 
 	case 50: 
-	case 61: 
-	case 64: 
-	case 65: 
+	case 52: 
+	case 57: 
 	case 68: 
-	case 70: 
+	case 71: 
 	case 72: 
-	case 73: 
-	case 78: 
+	case 75: 
+	case 77: 
 	case 79: 
-	case 84: 
+	case 80: 
+	case 85: 
 	case 86: 
-	case 87: 
-	case 89: 
-	case 90: 
-	case 95: 
-	case 98: 
-	case 100: 
-	case 104: 
+	case 91: 
+	case 93: 
+	case 94: 
+	case 96: 
+	case 97: 
+	case 102: 
 	case 105: 
-	case 108: 
-	case 110: 
+	case 107: 
+	case 111: 
 	case 112: 
-	case 116: 
-	case 120: 
-	case 122: 
-	case 215: 
-	case 219: 
-	case 221: 
+	case 115: 
+	case 117: 
+	case 119: 
+	case 123: 
+	case 127: 
+	case 129: 
+	case 222: 
+	case 226: 
+	case 228: 
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 189: 
+	case 196: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 156: 
+	case 163: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 778: 
-	case 779: 
 	case 792: 
 	case 793: 
-	case 799: 
-	case 800: 
 	case 806: 
 	case 807: 
+	case 813: 
+	case 814: 
+	case 820: 
+	case 821: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 953: 
-	case 954: 
+	case 974: 
+	case 975: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 1: 
-	case 128: 
-	case 160: 
-	case 191: 
+	case 135: 
+	case 167: 
+	case 198: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 126: 
-	case 157: 
+	case 133: 
+	case 164: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 275: 
+	case 282: 
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 600: 
-	case 602: 
-	case 604: 
-	case 606: 
-	case 607: 
-	case 608: 
-	case 609: 
-	case 611: 
-	case 612: 
-	case 613: 
-	case 615: 
+	case 614: 
 	case 616: 
-	case 617: 
-	case 619: 
+	case 618: 
 	case 620: 
 	case 621: 
+	case 622: 
+	case 623: 
+	case 625: 
+	case 626: 
+	case 627: 
+	case 629: 
+	case 630: 
+	case 631: 
+	case 633: 
+	case 634: 
+	case 635: 
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 2: 
-	case 132: 
-	case 133: 
-	case 134: 
-	case 135: 
-	case 152: 
-	case 153: 
-	case 154: 
+	case 139: 
+	case 140: 
+	case 141: 
+	case 142: 
+	case 159: 
+	case 160: 
+	case 161: 
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 259: 
-	case 260: 
-	case 261: 
-	case 262: 
-	case 265: 
 	case 266: 
 	case 267: 
 	case 268: 
+	case 269: 
+	case 272: 
+	case 273: 
+	case 274: 
+	case 275: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TEXT_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 743: 
-	case 744: 
-	case 749: 
-	case 750: 
+	case 757: 
+	case 758: 
+	case 763: 
+	case 764: 
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_APL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 794: 
-	case 801: 
+	case 808: 
+	case 815: 
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 437: 
-	case 438: 
-	case 439: 
-	case 440: 
-	case 446: 
-	case 447: 
-	case 448: 
-	case 449: 
+	case 451: 
+	case 452: 
+	case 453: 
+	case 454: 
+	case 460: 
+	case 461: 
+	case 462: 
+	case 463: 
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 1037: 
+	case 1058: 
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_CHAR_COLON);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 781: 
-	case 809: 
+	case 795: 
+	case 823: 
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 1046: 
-	case 1049: 
-	case 1052: 
-	case 1055: 
+	case 1067: 
+	case 1070: 
+	case 1073: 
+	case 1076: 
 	{
 		WARN(ZS_BAD_CHAR_DASH);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 1042: 
+	case 1063: 
 	{
 		WARN(ZS_BAD_CHAR_COLON);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 179: 
+	case 186: 
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 158: 
 	case 165: 
-	case 166: 
-	case 167: 
-	case 168: 
-	case 169: 
-	case 170: 
-	case 171: 
 	case 172: 
 	case 173: 
 	case 174: 
 	case 175: 
 	case 176: 
 	case 177: 
+	case 178: 
+	case 179: 
+	case 180: 
+	case 181: 
+	case 182: 
+	case 183: 
+	case 184: 
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 149: 
+	case 156: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 193: 
-	case 195: 
-	case 196: 
-	case 197: 
-	case 198: 
-	case 199: 
 	case 200: 
-	case 201: 
 	case 202: 
 	case 203: 
 	case 204: 
 	case 205: 
 	case 206: 
 	case 207: 
+	case 208: 
+	case 209: 
+	case 210: 
+	case 211: 
+	case 212: 
+	case 213: 
+	case 214: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 13: 
-	case 164: 
-	case 194: 
-	case 209: 
+	case 171: 
+	case 201: 
+	case 216: 
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 271: 
-	case 274: 
-	case 276: 
+	case 278: 
+	case 281: 
+	case 283: 
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 795: 
-	case 802: 
+	case 809: 
+	case 816: 
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	case 14: 
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
-	case 190: 
+	case 197: 
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	{
 		WARN(ZS_BAD_REST);
-		p--; {goto st246;}
+		p--; {goto st253;}
 	}
 	break;
 	}
diff --git a/src/zscanner/scanner.c.t0 b/src/zscanner/scanner.c.t0
index 684d05d524068acb402da7050b49d95e3d92c2cc..ceafd6f96288d77a31d7ab853ab6277209be2ec0 100644
--- a/src/zscanner/scanner.c.t0
+++ b/src/zscanner/scanner.c.t0
@@ -15,22 +15,22 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <arpa/inet.h>
 #include <config.h>
-#include <stdint.h>			// uint32_t
-#include <stdlib.h>			// calloc
-#include <stdio.h>			// sprintf
-#include <fcntl.h>			// open
-#include <libgen.h>			// dirname
-#include <stdbool.h>			// bool
-#include <string.h>			// strdup
-#include <math.h>			// pow
-#include <sys/mman.h>			// mmap
-#include <sys/types.h>			// (OpenBSD)
-#include <sys/socket.h>			// AF_INET (BSD)
-#include <sys/stat.h>			// fstat
-#include <netinet/in.h>			// in_addr (BSD)
-#include <arpa/inet.h>			// inet_pton
-#include <unistd.h>			// sysconf
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <libgen.h>
+#include <math.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
 #include "zscanner/scanner.h"
 #include "zscanner/functions.h"
@@ -132,13 +132,14 @@ static const short _zone_scanner_actions[] = {
 	210, 1, 211, 1, 212, 1, 213, 1, 
 	214, 1, 215, 1, 216, 1, 217, 1, 
 	218, 1, 219, 1, 220, 1, 221, 1, 
-	222, 1, 223, 1, 224, 1, 226, 1, 
-	228, 1, 229, 1, 230, 1, 231, 1, 
-	238, 1, 239, 1, 244, 1, 246, 1, 
-	251, 1, 254, 1, 255, 1, 256, 1, 
-	257, 1, 259, 1, 260, 1, 261, 1, 
-	263, 2, 0, 43, 2, 1, 0, 2, 
-	1, 26, 2, 1, 260, 2, 1, 302, 
+	222, 1, 223, 1, 224, 1, 225, 1, 
+	226, 1, 227, 1, 228, 1, 230, 1, 
+	232, 1, 233, 1, 234, 1, 235, 1, 
+	242, 1, 243, 1, 248, 1, 250, 1, 
+	255, 1, 258, 1, 259, 1, 260, 1, 
+	261, 1, 263, 1, 264, 1, 265, 1, 
+	267, 2, 0, 43, 2, 1, 0, 2, 
+	1, 26, 2, 1, 264, 2, 1, 308, 
 	2, 2, 26, 2, 3, 26, 2, 4, 
 	64, 2, 4, 68, 2, 5, 6, 2, 
 	9, 10, 2, 12, 13, 2, 14, 10, 
@@ -148,27 +149,27 @@ static const short _zone_scanner_actions[] = {
 	2, 18, 0, 2, 19, 9, 2, 22, 
 	62, 2, 22, 99, 2, 22, 110, 2, 
 	23, 0, 2, 23, 1, 2, 23, 2, 
-	2, 23, 3, 2, 23, 227, 2, 24, 
+	2, 23, 3, 2, 23, 231, 2, 24, 
 	21, 2, 25, 1, 2, 25, 2, 2, 
 	25, 3, 2, 25, 84, 2, 26, 1, 
 	2, 26, 2, 2, 26, 3, 2, 27, 
-	4, 2, 27, 259, 2, 27, 263, 2, 
+	4, 2, 27, 263, 2, 27, 267, 2, 
 	28, 21, 2, 29, 0, 2, 29, 1, 
 	2, 29, 2, 2, 29, 3, 2, 29, 
-	227, 2, 30, 35, 2, 31, 30, 2, 
-	32, 64, 2, 32, 244, 2, 32, 259, 
-	2, 32, 263, 2, 36, 232, 2, 36, 
-	233, 2, 36, 234, 2, 36, 235, 2, 
-	36, 236, 2, 36, 237, 2, 39, 0, 
+	231, 2, 30, 35, 2, 31, 30, 2, 
+	32, 64, 2, 32, 248, 2, 32, 263, 
+	2, 32, 267, 2, 36, 236, 2, 36, 
+	237, 2, 36, 238, 2, 36, 239, 2, 
+	36, 240, 2, 36, 241, 2, 39, 0, 
 	2, 39, 1, 2, 39, 2, 2, 39, 
 	3, 2, 40, 0, 2, 40, 1, 2, 
 	40, 2, 2, 40, 3, 2, 41, 0, 
 	2, 41, 1, 2, 41, 2, 2, 41, 
-	3, 2, 42, 258, 2, 43, 1, 2, 
+	3, 2, 42, 262, 2, 43, 1, 2, 
 	43, 2, 2, 43, 3, 2, 50, 2, 
 	2, 50, 3, 2, 50, 41, 2, 50, 
 	84, 2, 51, 52, 2, 53, 1, 2, 
-	53, 2, 2, 53, 3, 2, 54, 259, 
+	53, 2, 2, 53, 3, 2, 54, 263, 
 	2, 55, 0, 2, 56, 57, 2, 58, 
 	59, 2, 60, 0, 2, 60, 55, 2, 
 	66, 19, 2, 70, 62, 2, 71, 2, 
@@ -177,11 +178,11 @@ static const short _zone_scanner_actions[] = {
 	79, 26, 2, 81, 82, 2, 83, 1, 
 	2, 83, 2, 2, 83, 3, 2, 84, 
 	1, 2, 84, 2, 2, 84, 3, 2, 
-	85, 86, 2, 87, 259, 2, 88, 89, 
+	85, 86, 2, 87, 263, 2, 88, 89, 
 	2, 90, 91, 2, 92, 93, 2, 92, 
 	94, 2, 92, 95, 2, 96, 97, 2, 
-	98, 259, 2, 101, 259, 2, 102, 0, 
-	2, 118, 259, 2, 120, 0, 2, 121, 
+	98, 263, 2, 101, 263, 2, 102, 0, 
+	2, 118, 263, 2, 120, 0, 2, 121, 
 	0, 2, 122, 0, 2, 123, 0, 2, 
 	124, 0, 2, 125, 0, 2, 126, 0, 
 	2, 127, 0, 2, 128, 0, 2, 129, 
@@ -190,8 +191,8 @@ static const short _zone_scanner_actions[] = {
 	2, 135, 0, 2, 136, 0, 2, 137, 
 	0, 2, 138, 0, 2, 139, 0, 2, 
 	140, 0, 2, 141, 0, 2, 142, 0, 
-	2, 143, 0, 2, 144, 259, 2, 145, 
-	259, 2, 146, 259, 2, 147, 1, 2, 
+	2, 143, 0, 2, 144, 263, 2, 145, 
+	263, 2, 146, 263, 2, 147, 1, 2, 
 	147, 2, 2, 147, 3, 2, 148, 1, 
 	2, 148, 2, 2, 148, 3, 2, 149, 
 	1, 2, 149, 2, 2, 149, 3, 2, 
@@ -279,492 +280,510 @@ static const short _zone_scanner_actions[] = {
 	222, 1, 2, 222, 2, 2, 222, 3, 
 	2, 223, 1, 2, 223, 2, 2, 223, 
 	3, 2, 224, 1, 2, 224, 2, 2, 
-	224, 3, 2, 225, 0, 2, 228, 1, 
+	224, 3, 2, 225, 1, 2, 225, 2, 
+	2, 225, 3, 2, 226, 1, 2, 226, 
+	2, 2, 226, 3, 2, 227, 1, 2, 
+	227, 2, 2, 227, 3, 2, 228, 1, 
 	2, 228, 2, 2, 228, 3, 2, 229, 
-	1, 2, 229, 2, 2, 229, 3, 2, 
-	230, 1, 2, 230, 2, 2, 230, 3, 
-	2, 231, 1, 2, 231, 2, 2, 231, 
-	3, 2, 238, 1, 2, 238, 2, 2, 
-	238, 3, 2, 239, 1, 2, 239, 2, 
-	2, 239, 3, 2, 242, 0, 2, 243, 
-	259, 2, 245, 99, 2, 250, 99, 2, 
-	259, 4, 2, 260, 1, 2, 260, 26, 
-	2, 262, 260, 2, 263, 4, 2, 263, 
-	259, 2, 264, 258, 2, 265, 258, 2, 
-	266, 258, 2, 267, 258, 2, 268, 258, 
-	2, 269, 258, 2, 270, 258, 2, 271, 
-	258, 2, 272, 258, 2, 273, 258, 2, 
-	274, 258, 2, 275, 258, 2, 276, 258, 
-	2, 277, 258, 2, 278, 258, 2, 279, 
-	258, 2, 280, 258, 2, 281, 258, 2, 
-	282, 258, 2, 283, 258, 2, 284, 258, 
-	2, 285, 258, 2, 286, 258, 2, 287, 
-	258, 2, 288, 258, 2, 289, 258, 2, 
-	290, 258, 2, 291, 258, 2, 292, 258, 
-	2, 293, 258, 2, 294, 258, 2, 295, 
-	258, 2, 296, 258, 2, 297, 258, 2, 
-	298, 258, 2, 299, 258, 2, 300, 258, 
-	2, 301, 258, 2, 302, 1, 3, 0, 
-	43, 1, 3, 0, 43, 2, 3, 0, 
-	43, 3, 3, 1, 76, 0, 3, 1, 
-	102, 0, 3, 1, 225, 0, 3, 1, 
-	242, 0, 3, 1, 260, 26, 3, 1, 
-	260, 302, 3, 1, 302, 26, 3, 7, 
-	1, 8, 3, 11, 17, 0, 3, 16, 
-	74, 2, 3, 16, 74, 3, 3, 19, 
-	9, 10, 3, 23, 1, 0, 3, 25, 
-	1, 84, 3, 25, 1, 302, 3, 25, 
-	2, 84, 3, 25, 3, 84, 3, 25, 
-	262, 260, 3, 25, 264, 258, 3, 27, 
-	80, 4, 3, 27, 259, 4, 3, 27, 
-	263, 4, 3, 27, 263, 259, 3, 29, 
-	1, 0, 3, 31, 30, 260, 3, 32, 
-	144, 259, 3, 32, 146, 259, 3, 32, 
-	263, 4, 3, 32, 263, 259, 3, 34, 
-	36, 232, 3, 34, 36, 233, 3, 34, 
-	36, 234, 3, 34, 36, 235, 3, 34, 
-	36, 236, 3, 34, 36, 237, 3, 36, 
-	232, 1, 3, 36, 232, 2, 3, 36, 
-	232, 3, 3, 36, 233, 1, 3, 36, 
-	233, 2, 3, 36, 233, 3, 3, 36, 
-	234, 1, 3, 36, 234, 2, 3, 36, 
-	234, 3, 3, 36, 235, 1, 3, 36, 
-	235, 2, 3, 36, 235, 3, 3, 36, 
-	236, 1, 3, 36, 236, 2, 3, 36, 
-	236, 3, 3, 36, 237, 1, 3, 36, 
-	237, 2, 3, 36, 237, 3, 3, 42, 
-	258, 1, 3, 42, 258, 2, 3, 42, 
-	258, 3, 3, 42, 258, 260, 3, 44, 
-	32, 64, 3, 44, 32, 259, 3, 44, 
-	32, 263, 3, 49, 31, 30, 3, 50, 
-	41, 0, 3, 50, 41, 1, 3, 50, 
-	41, 2, 3, 50, 41, 3, 3, 50, 
-	84, 1, 3, 50, 84, 2, 3, 50, 
-	84, 3, 3, 60, 55, 0, 3, 61, 
-	56, 57, 3, 63, 0, 1, 3, 66, 
-	19, 9, 3, 67, 0, 1, 3, 73, 
-	19, 9, 3, 76, 0, 1, 3, 79, 
-	24, 21, 3, 79, 26, 1, 3, 79, 
-	26, 2, 3, 79, 26, 3, 3, 81, 
-	24, 21, 3, 81, 82, 260, 3, 84, 
-	1, 302, 3, 87, 98, 259, 3, 87, 
-	144, 259, 3, 88, 89, 0, 3, 88, 
-	89, 1, 3, 88, 89, 2, 3, 88, 
-	89, 3, 3, 90, 91, 0, 3, 90, 
-	91, 1, 3, 90, 91, 2, 3, 90, 
-	91, 3, 3, 96, 97, 0, 3, 96, 
-	97, 1, 3, 96, 97, 2, 3, 96, 
-	97, 3, 3, 101, 103, 244, 3, 101, 
-	253, 259, 3, 144, 145, 259, 3, 185, 
-	225, 0, 3, 186, 225, 0, 3, 187, 
-	225, 0, 3, 188, 225, 0, 3, 189, 
-	225, 0, 3, 190, 225, 0, 3, 191, 
-	225, 0, 3, 192, 225, 0, 3, 193, 
-	225, 0, 3, 194, 225, 0, 3, 195, 
-	225, 0, 3, 196, 225, 0, 3, 197, 
-	225, 0, 3, 198, 225, 0, 3, 199, 
-	225, 0, 3, 200, 225, 0, 3, 201, 
-	225, 0, 3, 202, 225, 0, 3, 203, 
-	225, 0, 3, 204, 225, 0, 3, 205, 
-	225, 0, 3, 206, 225, 0, 3, 207, 
-	225, 0, 3, 208, 225, 0, 3, 209, 
-	225, 0, 3, 210, 225, 0, 3, 211, 
-	225, 0, 3, 212, 225, 0, 3, 213, 
-	225, 0, 3, 214, 225, 0, 3, 215, 
-	225, 0, 3, 216, 225, 0, 3, 217, 
-	225, 0, 3, 218, 225, 0, 3, 219, 
-	225, 0, 3, 220, 225, 0, 3, 221, 
-	225, 0, 3, 222, 225, 0, 3, 223, 
-	225, 0, 3, 224, 225, 0, 3, 241, 
-	31, 30, 3, 246, 247, 0, 3, 246, 
-	248, 0, 3, 249, 101, 259, 3, 251, 
-	252, 0, 3, 253, 101, 259, 3, 259, 
-	4, 80, 3, 260, 24, 21, 3, 260, 
-	302, 1, 3, 263, 259, 4, 3, 264, 
-	258, 1, 3, 264, 258, 2, 3, 264, 
-	258, 3, 3, 264, 258, 260, 3, 265, 
-	258, 1, 3, 265, 258, 2, 3, 265, 
-	258, 3, 3, 265, 258, 260, 3, 266, 
-	258, 1, 3, 266, 258, 2, 3, 266, 
-	258, 3, 3, 266, 258, 260, 3, 267, 
-	258, 1, 3, 267, 258, 2, 3, 267, 
-	258, 3, 3, 267, 258, 260, 3, 268, 
-	258, 1, 3, 268, 258, 2, 3, 268, 
-	258, 3, 3, 268, 258, 260, 3, 269, 
-	258, 1, 3, 269, 258, 2, 3, 269, 
-	258, 3, 3, 269, 258, 260, 3, 270, 
-	258, 1, 3, 270, 258, 2, 3, 270, 
-	258, 3, 3, 270, 258, 260, 3, 271, 
-	258, 1, 3, 271, 258, 2, 3, 271, 
-	258, 3, 3, 271, 258, 260, 3, 272, 
-	258, 1, 3, 272, 258, 2, 3, 272, 
-	258, 3, 3, 272, 258, 260, 3, 273, 
-	258, 1, 3, 273, 258, 2, 3, 273, 
-	258, 3, 3, 273, 258, 260, 3, 274, 
-	258, 1, 3, 274, 258, 2, 3, 274, 
-	258, 3, 3, 274, 258, 260, 3, 275, 
-	258, 1, 3, 275, 258, 2, 3, 275, 
-	258, 3, 3, 275, 258, 260, 3, 276, 
-	258, 1, 3, 276, 258, 2, 3, 276, 
-	258, 3, 3, 276, 258, 260, 3, 277, 
-	258, 1, 3, 277, 258, 2, 3, 277, 
-	258, 3, 3, 277, 258, 260, 3, 278, 
-	258, 1, 3, 278, 258, 2, 3, 278, 
-	258, 3, 3, 278, 258, 260, 3, 279, 
-	258, 1, 3, 279, 258, 2, 3, 279, 
-	258, 3, 3, 279, 258, 260, 3, 280, 
-	258, 1, 3, 280, 258, 2, 3, 280, 
-	258, 3, 3, 280, 258, 260, 3, 281, 
-	258, 1, 3, 281, 258, 2, 3, 281, 
-	258, 3, 3, 281, 258, 260, 3, 282, 
-	258, 1, 3, 282, 258, 2, 3, 282, 
-	258, 3, 3, 282, 258, 260, 3, 283, 
-	258, 1, 3, 283, 258, 2, 3, 283, 
-	258, 3, 3, 283, 258, 260, 3, 284, 
-	258, 1, 3, 284, 258, 2, 3, 284, 
-	258, 3, 3, 284, 258, 260, 3, 285, 
-	258, 1, 3, 285, 258, 2, 3, 285, 
-	258, 3, 3, 285, 258, 260, 3, 286, 
-	258, 1, 3, 286, 258, 2, 3, 286, 
-	258, 3, 3, 286, 258, 260, 3, 287, 
-	258, 1, 3, 287, 258, 2, 3, 287, 
-	258, 3, 3, 287, 258, 260, 3, 288, 
-	258, 1, 3, 288, 258, 2, 3, 288, 
-	258, 3, 3, 288, 258, 260, 3, 289, 
-	258, 1, 3, 289, 258, 2, 3, 289, 
-	258, 3, 3, 289, 258, 260, 3, 290, 
-	258, 1, 3, 290, 258, 2, 3, 290, 
-	258, 3, 3, 290, 258, 260, 3, 291, 
-	258, 1, 3, 291, 258, 2, 3, 291, 
-	258, 3, 3, 291, 258, 260, 3, 292, 
-	258, 1, 3, 292, 258, 2, 3, 292, 
-	258, 3, 3, 292, 258, 260, 3, 293, 
-	258, 1, 3, 293, 258, 2, 3, 293, 
-	258, 3, 3, 293, 258, 260, 3, 294, 
-	258, 1, 3, 294, 258, 2, 3, 294, 
-	258, 3, 3, 294, 258, 260, 3, 295, 
-	258, 1, 3, 295, 258, 2, 3, 295, 
-	258, 3, 3, 295, 258, 260, 3, 296, 
-	258, 1, 3, 296, 258, 2, 3, 296, 
-	258, 3, 3, 296, 258, 260, 3, 297, 
-	258, 1, 3, 297, 258, 2, 3, 297, 
-	258, 3, 3, 297, 258, 260, 3, 298, 
-	258, 1, 3, 298, 258, 2, 3, 298, 
-	258, 3, 3, 298, 258, 260, 3, 299, 
-	258, 1, 3, 299, 258, 2, 3, 299, 
-	258, 3, 3, 299, 258, 260, 3, 300, 
-	258, 1, 3, 300, 258, 2, 3, 300, 
-	258, 3, 3, 300, 258, 260, 3, 301, 
-	258, 1, 3, 301, 258, 2, 3, 301, 
-	258, 3, 3, 301, 258, 260, 3, 302, 
-	1, 26, 4, 5, 7, 1, 8, 4, 
-	14, 11, 17, 0, 4, 16, 67, 0, 
-	1, 4, 25, 1, 84, 302, 4, 25, 
-	1, 262, 260, 4, 25, 1, 264, 258, 
-	4, 25, 2, 262, 260, 4, 25, 2, 
-	264, 258, 4, 25, 3, 262, 260, 4, 
-	25, 3, 264, 258, 4, 25, 264, 258, 
-	260, 4, 27, 32, 263, 4, 4, 27, 
-	44, 32, 263, 4, 27, 263, 259, 4, 
-	4, 31, 30, 24, 21, 4, 32, 263, 
-	259, 4, 4, 34, 31, 30, 35, 4, 
-	34, 36, 232, 1, 4, 34, 36, 232, 
-	2, 4, 34, 36, 232, 3, 4, 34, 
-	36, 233, 1, 4, 34, 36, 233, 2, 
-	4, 34, 36, 233, 3, 4, 34, 36, 
-	234, 1, 4, 34, 36, 234, 2, 4, 
-	34, 36, 234, 3, 4, 34, 36, 235, 
-	1, 4, 34, 36, 235, 2, 4, 34, 
-	36, 235, 3, 4, 34, 36, 236, 1, 
-	4, 34, 36, 236, 2, 4, 34, 36, 
-	236, 3, 4, 34, 36, 237, 1, 4, 
-	34, 36, 237, 2, 4, 34, 36, 237, 
-	3, 4, 36, 234, 242, 0, 4, 36, 
-	235, 242, 0, 4, 36, 236, 242, 0, 
-	4, 36, 237, 242, 0, 4, 37, 33, 
-	31, 30, 4, 38, 33, 31, 30, 4, 
-	42, 258, 1, 260, 4, 44, 32, 4, 
-	64, 4, 50, 49, 31, 30, 4, 50, 
-	63, 0, 1, 4, 66, 19, 9, 10, 
-	4, 71, 76, 0, 1, 4, 73, 19, 
-	9, 10, 4, 81, 82, 24, 21, 4, 
-	87, 144, 145, 259, 4, 88, 89, 1, 
-	0, 4, 90, 91, 1, 0, 4, 96, 
-	97, 1, 0, 4, 185, 1, 225, 0, 
-	4, 186, 1, 225, 0, 4, 187, 1, 
-	225, 0, 4, 188, 1, 225, 0, 4, 
-	189, 1, 225, 0, 4, 190, 1, 225, 
-	0, 4, 191, 1, 225, 0, 4, 192, 
-	1, 225, 0, 4, 193, 1, 225, 0, 
-	4, 194, 1, 225, 0, 4, 195, 1, 
-	225, 0, 4, 196, 1, 225, 0, 4, 
-	197, 1, 225, 0, 4, 198, 1, 225, 
-	0, 4, 199, 1, 225, 0, 4, 200, 
-	1, 225, 0, 4, 201, 1, 225, 0, 
-	4, 202, 1, 225, 0, 4, 203, 1, 
-	225, 0, 4, 204, 1, 225, 0, 4, 
-	205, 1, 225, 0, 4, 206, 1, 225, 
-	0, 4, 207, 1, 225, 0, 4, 208, 
-	1, 225, 0, 4, 209, 1, 225, 0, 
-	4, 210, 1, 225, 0, 4, 211, 1, 
-	225, 0, 4, 212, 1, 225, 0, 4, 
-	213, 1, 225, 0, 4, 214, 1, 225, 
-	0, 4, 215, 1, 225, 0, 4, 216, 
-	1, 225, 0, 4, 217, 1, 225, 0, 
-	4, 218, 1, 225, 0, 4, 219, 1, 
-	225, 0, 4, 220, 1, 225, 0, 4, 
-	221, 1, 225, 0, 4, 222, 1, 225, 
-	0, 4, 223, 1, 225, 0, 4, 224, 
-	1, 225, 0, 4, 264, 258, 1, 260, 
-	4, 264, 258, 1, 302, 4, 265, 258, 
-	1, 260, 4, 266, 258, 1, 260, 4, 
-	267, 258, 1, 260, 4, 268, 258, 1, 
-	260, 4, 269, 258, 1, 260, 4, 270, 
-	258, 1, 260, 4, 271, 258, 1, 260, 
-	4, 272, 258, 1, 260, 4, 273, 258, 
-	1, 260, 4, 274, 258, 1, 260, 4, 
-	275, 258, 1, 260, 4, 276, 258, 1, 
-	260, 4, 277, 258, 1, 260, 4, 278, 
-	258, 1, 260, 4, 279, 258, 1, 260, 
-	4, 280, 258, 1, 260, 4, 281, 258, 
-	1, 260, 4, 282, 258, 1, 260, 4, 
-	283, 258, 1, 260, 4, 284, 258, 1, 
-	260, 4, 285, 258, 1, 260, 4, 286, 
-	258, 1, 260, 4, 287, 258, 1, 260, 
-	4, 288, 258, 1, 260, 4, 289, 258, 
-	1, 260, 4, 290, 258, 1, 260, 4, 
-	291, 258, 1, 260, 4, 292, 258, 1, 
-	260, 4, 293, 258, 1, 260, 4, 294, 
-	258, 1, 260, 4, 295, 258, 1, 260, 
-	4, 296, 258, 1, 260, 4, 297, 258, 
-	1, 260, 4, 298, 258, 1, 260, 4, 
-	299, 258, 1, 260, 4, 300, 258, 1, 
-	260, 4, 301, 258, 1, 260, 5, 16, 
-	74, 76, 0, 1, 5, 25, 1, 264, 
-	258, 260, 5, 25, 1, 264, 258, 302, 
-	5, 27, 32, 263, 259, 4, 5, 31, 
-	30, 260, 24, 21, 5, 34, 36, 234, 
-	242, 0, 5, 34, 36, 235, 242, 0, 
-	5, 34, 36, 236, 242, 0, 5, 34, 
-	36, 237, 242, 0, 5, 36, 234, 1, 
-	242, 0, 5, 36, 235, 1, 242, 0, 
-	5, 36, 236, 1, 242, 0, 5, 36, 
-	237, 1, 242, 0, 5, 44, 32, 263, 
-	259, 4, 5, 81, 82, 260, 24, 21, 
-	5, 240, 37, 33, 31, 30, 5, 264, 
-	258, 1, 260, 302, 5, 264, 258, 260, 
-	302, 1, 6, 25, 1, 264, 258, 260, 
-	302, 6, 27, 44, 32, 263, 259, 4, 
-	6, 34, 36, 234, 1, 242, 0, 6, 
-	34, 36, 235, 1, 242, 0, 6, 34, 
-	36, 236, 1, 242, 0, 6, 34, 36, 
-	237, 1, 242, 0
+	0, 2, 232, 1, 2, 232, 2, 2, 
+	232, 3, 2, 233, 1, 2, 233, 2, 
+	2, 233, 3, 2, 234, 1, 2, 234, 
+	2, 2, 234, 3, 2, 235, 1, 2, 
+	235, 2, 2, 235, 3, 2, 242, 1, 
+	2, 242, 2, 2, 242, 3, 2, 243, 
+	1, 2, 243, 2, 2, 243, 3, 2, 
+	246, 0, 2, 247, 263, 2, 249, 99, 
+	2, 254, 99, 2, 263, 4, 2, 264, 
+	1, 2, 264, 26, 2, 266, 264, 2, 
+	267, 4, 2, 267, 263, 2, 268, 262, 
+	2, 269, 262, 2, 270, 262, 2, 271, 
+	262, 2, 272, 262, 2, 273, 262, 2, 
+	274, 262, 2, 275, 262, 2, 276, 262, 
+	2, 277, 262, 2, 278, 262, 2, 279, 
+	262, 2, 280, 262, 2, 281, 262, 2, 
+	282, 262, 2, 283, 262, 2, 284, 262, 
+	2, 285, 262, 2, 286, 262, 2, 287, 
+	262, 2, 288, 262, 2, 289, 262, 2, 
+	290, 262, 2, 291, 262, 2, 292, 262, 
+	2, 293, 262, 2, 294, 262, 2, 295, 
+	262, 2, 296, 262, 2, 297, 262, 2, 
+	298, 262, 2, 299, 262, 2, 300, 262, 
+	2, 301, 262, 2, 302, 262, 2, 303, 
+	262, 2, 304, 262, 2, 305, 262, 2, 
+	306, 262, 2, 307, 262, 2, 308, 1, 
+	3, 0, 43, 1, 3, 0, 43, 2, 
+	3, 0, 43, 3, 3, 1, 76, 0, 
+	3, 1, 102, 0, 3, 1, 229, 0, 
+	3, 1, 246, 0, 3, 1, 264, 26, 
+	3, 1, 264, 308, 3, 1, 308, 26, 
+	3, 7, 1, 8, 3, 11, 17, 0, 
+	3, 16, 74, 2, 3, 16, 74, 3, 
+	3, 19, 9, 10, 3, 23, 1, 0, 
+	3, 25, 1, 84, 3, 25, 1, 308, 
+	3, 25, 2, 84, 3, 25, 3, 84, 
+	3, 25, 266, 264, 3, 25, 268, 262, 
+	3, 27, 80, 4, 3, 27, 263, 4, 
+	3, 27, 267, 4, 3, 27, 267, 263, 
+	3, 29, 1, 0, 3, 31, 30, 264, 
+	3, 32, 144, 263, 3, 32, 146, 263, 
+	3, 32, 267, 4, 3, 32, 267, 263, 
+	3, 34, 36, 236, 3, 34, 36, 237, 
+	3, 34, 36, 238, 3, 34, 36, 239, 
+	3, 34, 36, 240, 3, 34, 36, 241, 
+	3, 36, 236, 1, 3, 36, 236, 2, 
+	3, 36, 236, 3, 3, 36, 237, 1, 
+	3, 36, 237, 2, 3, 36, 237, 3, 
+	3, 36, 238, 1, 3, 36, 238, 2, 
+	3, 36, 238, 3, 3, 36, 239, 1, 
+	3, 36, 239, 2, 3, 36, 239, 3, 
+	3, 36, 240, 1, 3, 36, 240, 2, 
+	3, 36, 240, 3, 3, 36, 241, 1, 
+	3, 36, 241, 2, 3, 36, 241, 3, 
+	3, 42, 262, 1, 3, 42, 262, 2, 
+	3, 42, 262, 3, 3, 42, 262, 264, 
+	3, 44, 32, 64, 3, 44, 32, 263, 
+	3, 44, 32, 267, 3, 49, 31, 30, 
+	3, 50, 41, 0, 3, 50, 41, 1, 
+	3, 50, 41, 2, 3, 50, 41, 3, 
+	3, 50, 84, 1, 3, 50, 84, 2, 
+	3, 50, 84, 3, 3, 60, 55, 0, 
+	3, 61, 56, 57, 3, 63, 0, 1, 
+	3, 66, 19, 9, 3, 67, 0, 1, 
+	3, 73, 19, 9, 3, 76, 0, 1, 
+	3, 79, 24, 21, 3, 79, 26, 1, 
+	3, 79, 26, 2, 3, 79, 26, 3, 
+	3, 81, 24, 21, 3, 81, 82, 264, 
+	3, 84, 1, 308, 3, 87, 98, 263, 
+	3, 87, 144, 263, 3, 88, 89, 0, 
+	3, 88, 89, 1, 3, 88, 89, 2, 
+	3, 88, 89, 3, 3, 90, 91, 0, 
+	3, 90, 91, 1, 3, 90, 91, 2, 
+	3, 90, 91, 3, 3, 96, 97, 0, 
+	3, 96, 97, 1, 3, 96, 97, 2, 
+	3, 96, 97, 3, 3, 101, 103, 248, 
+	3, 101, 257, 263, 3, 144, 145, 263, 
+	3, 187, 229, 0, 3, 188, 229, 0, 
+	3, 189, 229, 0, 3, 190, 229, 0, 
+	3, 191, 229, 0, 3, 192, 229, 0, 
+	3, 193, 229, 0, 3, 194, 229, 0, 
+	3, 195, 229, 0, 3, 196, 229, 0, 
+	3, 197, 229, 0, 3, 198, 229, 0, 
+	3, 199, 229, 0, 3, 200, 229, 0, 
+	3, 201, 229, 0, 3, 202, 229, 0, 
+	3, 203, 229, 0, 3, 204, 229, 0, 
+	3, 205, 229, 0, 3, 206, 229, 0, 
+	3, 207, 229, 0, 3, 208, 229, 0, 
+	3, 209, 229, 0, 3, 210, 229, 0, 
+	3, 211, 229, 0, 3, 212, 229, 0, 
+	3, 213, 229, 0, 3, 214, 229, 0, 
+	3, 215, 229, 0, 3, 216, 229, 0, 
+	3, 217, 229, 0, 3, 218, 229, 0, 
+	3, 219, 229, 0, 3, 220, 229, 0, 
+	3, 221, 229, 0, 3, 222, 229, 0, 
+	3, 223, 229, 0, 3, 224, 229, 0, 
+	3, 225, 229, 0, 3, 226, 229, 0, 
+	3, 227, 229, 0, 3, 228, 229, 0, 
+	3, 245, 31, 30, 3, 250, 251, 0, 
+	3, 250, 252, 0, 3, 253, 101, 263, 
+	3, 255, 256, 0, 3, 257, 101, 263, 
+	3, 263, 4, 80, 3, 264, 24, 21, 
+	3, 264, 308, 1, 3, 267, 263, 4, 
+	3, 268, 262, 1, 3, 268, 262, 2, 
+	3, 268, 262, 3, 3, 268, 262, 264, 
+	3, 269, 262, 1, 3, 269, 262, 2, 
+	3, 269, 262, 3, 3, 269, 262, 264, 
+	3, 270, 262, 1, 3, 270, 262, 2, 
+	3, 270, 262, 3, 3, 270, 262, 264, 
+	3, 271, 262, 1, 3, 271, 262, 2, 
+	3, 271, 262, 3, 3, 271, 262, 264, 
+	3, 272, 262, 1, 3, 272, 262, 2, 
+	3, 272, 262, 3, 3, 272, 262, 264, 
+	3, 273, 262, 1, 3, 273, 262, 2, 
+	3, 273, 262, 3, 3, 273, 262, 264, 
+	3, 274, 262, 1, 3, 274, 262, 2, 
+	3, 274, 262, 3, 3, 274, 262, 264, 
+	3, 275, 262, 1, 3, 275, 262, 2, 
+	3, 275, 262, 3, 3, 275, 262, 264, 
+	3, 276, 262, 1, 3, 276, 262, 2, 
+	3, 276, 262, 3, 3, 276, 262, 264, 
+	3, 277, 262, 1, 3, 277, 262, 2, 
+	3, 277, 262, 3, 3, 277, 262, 264, 
+	3, 278, 262, 1, 3, 278, 262, 2, 
+	3, 278, 262, 3, 3, 278, 262, 264, 
+	3, 279, 262, 1, 3, 279, 262, 2, 
+	3, 279, 262, 3, 3, 279, 262, 264, 
+	3, 280, 262, 1, 3, 280, 262, 2, 
+	3, 280, 262, 3, 3, 280, 262, 264, 
+	3, 281, 262, 1, 3, 281, 262, 2, 
+	3, 281, 262, 3, 3, 281, 262, 264, 
+	3, 282, 262, 1, 3, 282, 262, 2, 
+	3, 282, 262, 3, 3, 282, 262, 264, 
+	3, 283, 262, 1, 3, 283, 262, 2, 
+	3, 283, 262, 3, 3, 283, 262, 264, 
+	3, 284, 262, 1, 3, 284, 262, 2, 
+	3, 284, 262, 3, 3, 284, 262, 264, 
+	3, 285, 262, 1, 3, 285, 262, 2, 
+	3, 285, 262, 3, 3, 285, 262, 264, 
+	3, 286, 262, 1, 3, 286, 262, 2, 
+	3, 286, 262, 3, 3, 286, 262, 264, 
+	3, 287, 262, 1, 3, 287, 262, 2, 
+	3, 287, 262, 3, 3, 287, 262, 264, 
+	3, 288, 262, 1, 3, 288, 262, 2, 
+	3, 288, 262, 3, 3, 288, 262, 264, 
+	3, 289, 262, 1, 3, 289, 262, 2, 
+	3, 289, 262, 3, 3, 289, 262, 264, 
+	3, 290, 262, 1, 3, 290, 262, 2, 
+	3, 290, 262, 3, 3, 290, 262, 264, 
+	3, 291, 262, 1, 3, 291, 262, 2, 
+	3, 291, 262, 3, 3, 291, 262, 264, 
+	3, 292, 262, 1, 3, 292, 262, 2, 
+	3, 292, 262, 3, 3, 292, 262, 264, 
+	3, 293, 262, 1, 3, 293, 262, 2, 
+	3, 293, 262, 3, 3, 293, 262, 264, 
+	3, 294, 262, 1, 3, 294, 262, 2, 
+	3, 294, 262, 3, 3, 294, 262, 264, 
+	3, 295, 262, 1, 3, 295, 262, 2, 
+	3, 295, 262, 3, 3, 295, 262, 264, 
+	3, 296, 262, 1, 3, 296, 262, 2, 
+	3, 296, 262, 3, 3, 296, 262, 264, 
+	3, 297, 262, 1, 3, 297, 262, 2, 
+	3, 297, 262, 3, 3, 297, 262, 264, 
+	3, 298, 262, 1, 3, 298, 262, 2, 
+	3, 298, 262, 3, 3, 298, 262, 264, 
+	3, 299, 262, 1, 3, 299, 262, 2, 
+	3, 299, 262, 3, 3, 299, 262, 264, 
+	3, 300, 262, 1, 3, 300, 262, 2, 
+	3, 300, 262, 3, 3, 300, 262, 264, 
+	3, 301, 262, 1, 3, 301, 262, 2, 
+	3, 301, 262, 3, 3, 301, 262, 264, 
+	3, 302, 262, 1, 3, 302, 262, 2, 
+	3, 302, 262, 3, 3, 302, 262, 264, 
+	3, 303, 262, 1, 3, 303, 262, 2, 
+	3, 303, 262, 3, 3, 303, 262, 264, 
+	3, 304, 262, 1, 3, 304, 262, 2, 
+	3, 304, 262, 3, 3, 304, 262, 264, 
+	3, 305, 262, 1, 3, 305, 262, 2, 
+	3, 305, 262, 3, 3, 305, 262, 264, 
+	3, 306, 262, 1, 3, 306, 262, 2, 
+	3, 306, 262, 3, 3, 306, 262, 264, 
+	3, 307, 262, 1, 3, 307, 262, 2, 
+	3, 307, 262, 3, 3, 307, 262, 264, 
+	3, 308, 1, 26, 4, 5, 7, 1, 
+	8, 4, 14, 11, 17, 0, 4, 16, 
+	67, 0, 1, 4, 25, 1, 84, 308, 
+	4, 25, 1, 266, 264, 4, 25, 1, 
+	268, 262, 4, 25, 2, 266, 264, 4, 
+	25, 2, 268, 262, 4, 25, 3, 266, 
+	264, 4, 25, 3, 268, 262, 4, 25, 
+	268, 262, 264, 4, 27, 32, 267, 4, 
+	4, 27, 44, 32, 267, 4, 27, 267, 
+	263, 4, 4, 31, 30, 24, 21, 4, 
+	32, 267, 263, 4, 4, 34, 31, 30, 
+	35, 4, 34, 36, 236, 1, 4, 34, 
+	36, 236, 2, 4, 34, 36, 236, 3, 
+	4, 34, 36, 237, 1, 4, 34, 36, 
+	237, 2, 4, 34, 36, 237, 3, 4, 
+	34, 36, 238, 1, 4, 34, 36, 238, 
+	2, 4, 34, 36, 238, 3, 4, 34, 
+	36, 239, 1, 4, 34, 36, 239, 2, 
+	4, 34, 36, 239, 3, 4, 34, 36, 
+	240, 1, 4, 34, 36, 240, 2, 4, 
+	34, 36, 240, 3, 4, 34, 36, 241, 
+	1, 4, 34, 36, 241, 2, 4, 34, 
+	36, 241, 3, 4, 36, 238, 246, 0, 
+	4, 36, 239, 246, 0, 4, 36, 240, 
+	246, 0, 4, 36, 241, 246, 0, 4, 
+	37, 33, 31, 30, 4, 38, 33, 31, 
+	30, 4, 42, 262, 1, 264, 4, 44, 
+	32, 4, 64, 4, 50, 49, 31, 30, 
+	4, 50, 63, 0, 1, 4, 66, 19, 
+	9, 10, 4, 71, 76, 0, 1, 4, 
+	73, 19, 9, 10, 4, 81, 82, 24, 
+	21, 4, 87, 144, 145, 263, 4, 88, 
+	89, 1, 0, 4, 90, 91, 1, 0, 
+	4, 96, 97, 1, 0, 4, 187, 1, 
+	229, 0, 4, 188, 1, 229, 0, 4, 
+	189, 1, 229, 0, 4, 190, 1, 229, 
+	0, 4, 191, 1, 229, 0, 4, 192, 
+	1, 229, 0, 4, 193, 1, 229, 0, 
+	4, 194, 1, 229, 0, 4, 195, 1, 
+	229, 0, 4, 196, 1, 229, 0, 4, 
+	197, 1, 229, 0, 4, 198, 1, 229, 
+	0, 4, 199, 1, 229, 0, 4, 200, 
+	1, 229, 0, 4, 201, 1, 229, 0, 
+	4, 202, 1, 229, 0, 4, 203, 1, 
+	229, 0, 4, 204, 1, 229, 0, 4, 
+	205, 1, 229, 0, 4, 206, 1, 229, 
+	0, 4, 207, 1, 229, 0, 4, 208, 
+	1, 229, 0, 4, 209, 1, 229, 0, 
+	4, 210, 1, 229, 0, 4, 211, 1, 
+	229, 0, 4, 212, 1, 229, 0, 4, 
+	213, 1, 229, 0, 4, 214, 1, 229, 
+	0, 4, 215, 1, 229, 0, 4, 216, 
+	1, 229, 0, 4, 217, 1, 229, 0, 
+	4, 218, 1, 229, 0, 4, 219, 1, 
+	229, 0, 4, 220, 1, 229, 0, 4, 
+	221, 1, 229, 0, 4, 222, 1, 229, 
+	0, 4, 223, 1, 229, 0, 4, 224, 
+	1, 229, 0, 4, 225, 1, 229, 0, 
+	4, 226, 1, 229, 0, 4, 227, 1, 
+	229, 0, 4, 228, 1, 229, 0, 4, 
+	268, 262, 1, 264, 4, 268, 262, 1, 
+	308, 4, 269, 262, 1, 264, 4, 270, 
+	262, 1, 264, 4, 271, 262, 1, 264, 
+	4, 272, 262, 1, 264, 4, 273, 262, 
+	1, 264, 4, 274, 262, 1, 264, 4, 
+	275, 262, 1, 264, 4, 276, 262, 1, 
+	264, 4, 277, 262, 1, 264, 4, 278, 
+	262, 1, 264, 4, 279, 262, 1, 264, 
+	4, 280, 262, 1, 264, 4, 281, 262, 
+	1, 264, 4, 282, 262, 1, 264, 4, 
+	283, 262, 1, 264, 4, 284, 262, 1, 
+	264, 4, 285, 262, 1, 264, 4, 286, 
+	262, 1, 264, 4, 287, 262, 1, 264, 
+	4, 288, 262, 1, 264, 4, 289, 262, 
+	1, 264, 4, 290, 262, 1, 264, 4, 
+	291, 262, 1, 264, 4, 292, 262, 1, 
+	264, 4, 293, 262, 1, 264, 4, 294, 
+	262, 1, 264, 4, 295, 262, 1, 264, 
+	4, 296, 262, 1, 264, 4, 297, 262, 
+	1, 264, 4, 298, 262, 1, 264, 4, 
+	299, 262, 1, 264, 4, 300, 262, 1, 
+	264, 4, 301, 262, 1, 264, 4, 302, 
+	262, 1, 264, 4, 303, 262, 1, 264, 
+	4, 304, 262, 1, 264, 4, 305, 262, 
+	1, 264, 4, 306, 262, 1, 264, 4, 
+	307, 262, 1, 264, 5, 16, 74, 76, 
+	0, 1, 5, 25, 1, 268, 262, 264, 
+	5, 25, 1, 268, 262, 308, 5, 27, 
+	32, 267, 263, 4, 5, 31, 30, 264, 
+	24, 21, 5, 34, 36, 238, 246, 0, 
+	5, 34, 36, 239, 246, 0, 5, 34, 
+	36, 240, 246, 0, 5, 34, 36, 241, 
+	246, 0, 5, 36, 238, 1, 246, 0, 
+	5, 36, 239, 1, 246, 0, 5, 36, 
+	240, 1, 246, 0, 5, 36, 241, 1, 
+	246, 0, 5, 44, 32, 267, 263, 4, 
+	5, 81, 82, 264, 24, 21, 5, 244, 
+	37, 33, 31, 30, 5, 268, 262, 1, 
+	264, 308, 5, 268, 262, 264, 308, 1, 
+	6, 25, 1, 268, 262, 264, 308, 6, 
+	27, 44, 32, 267, 263, 4, 6, 34, 
+	36, 238, 1, 246, 0, 6, 34, 36, 
+	239, 1, 246, 0, 6, 34, 36, 240, 
+	1, 246, 0, 6, 34, 36, 241, 1, 
+	246, 0
 };
 
 static const short _zone_scanner_cond_offsets[] = {
 	0, 0, 2, 4, 6, 8, 10, 12, 
 	14, 14, 14, 17, 19, 22, 24, 26, 
-	28, 28, 28, 28, 30, 35, 35, 35, 
-	35, 37, 37, 37, 37, 37, 39, 39, 
-	39, 39, 41, 41, 41, 41, 43, 45, 
-	45, 45, 45, 45, 47, 47, 49, 49, 
-	49, 49, 49, 51, 51, 53, 55, 55, 
-	55, 55, 55, 55, 55, 55, 57, 57, 
-	57, 59, 61, 61, 61, 63, 63, 65, 
-	65, 67, 69, 69, 69, 69, 69, 71, 
-	73, 73, 73, 73, 73, 75, 75, 77, 
-	79, 79, 81, 83, 83, 83, 83, 83, 
-	85, 85, 85, 87, 87, 89, 89, 89, 
-	89, 91, 93, 93, 93, 95, 95, 97, 
-	97, 99, 99, 99, 99, 101, 101, 101, 
-	101, 103, 103, 105, 105, 105, 105, 107, 
-	110, 112, 112, 114, 116, 118, 120, 120, 
-	122, 125, 125, 125, 125, 125, 125, 125, 
-	125, 125, 125, 127, 129, 132, 134, 136, 
-	139, 141, 141, 143, 146, 148, 150, 152, 
-	154, 156, 159, 161, 163, 165, 167, 169, 
-	171, 173, 175, 177, 179, 181, 183, 185, 
-	187, 189, 191, 194, 196, 196, 196, 196, 
-	196, 196, 196, 196, 196, 196, 198, 200, 
-	202, 205, 207, 209, 211, 213, 215, 217, 
-	219, 221, 223, 225, 227, 229, 231, 233, 
-	235, 237, 239, 244, 249, 254, 254, 254, 
-	256, 256, 256, 256, 258, 258, 260, 263, 
-	265, 267, 272, 277, 280, 285, 287, 289, 
-	291, 293, 295, 297, 299, 301, 303, 305, 
-	307, 309, 311, 314, 317, 319, 322, 322, 
-	322, 322, 322, 322, 322, 322, 322, 322, 
-	322, 322, 322, 322, 322, 322, 322, 322, 
-	323, 323, 323, 323, 323, 324, 326, 328, 
-	330, 332, 332, 334, 334, 336, 339, 341, 
-	343, 343, 345, 347, 347, 347, 347, 347, 
-	347, 349, 352, 354, 356, 358, 360, 360, 
-	362, 364, 364, 364, 364, 364, 364, 366, 
-	369, 371, 374, 377, 377, 377, 377, 377, 
-	379, 382, 382, 384, 386, 388, 388, 388, 
-	390, 393, 393, 393, 393, 395, 395, 395, 
-	395, 397, 397, 397, 397, 397, 399, 399, 
-	399, 399, 401, 401, 401, 401, 403, 405, 
-	405, 405, 405, 405, 407, 407, 409, 409, 
-	409, 409, 409, 411, 411, 411, 411, 411, 
-	411, 411, 411, 413, 413, 413, 415, 417, 
-	417, 417, 419, 419, 421, 421, 423, 425, 
-	425, 425, 425, 425, 427, 429, 429, 429, 
-	429, 429, 431, 431, 433, 435, 435, 437, 
-	439, 439, 439, 439, 439, 441, 441, 441, 
-	443, 443, 445, 445, 445, 445, 447, 449, 
-	449, 449, 451, 451, 453, 453, 455, 455, 
-	455, 455, 457, 457, 457, 457, 459, 459, 
-	461, 461, 461, 461, 463, 463, 463, 463, 
-	465, 465, 467, 469, 471, 473, 475, 475, 
-	477, 480, 483, 486, 488, 490, 492, 494, 
-	494, 496, 499, 502, 504, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 507, 507, 507, 507, 507, 
-	507, 507, 507, 509, 511, 513, 515, 517, 
-	519, 521, 523, 525, 527, 529, 531, 531, 
-	531, 531, 531, 534, 536, 536, 538, 541, 
-	543, 543, 545, 548, 550, 550, 552, 555, 
-	558, 561, 561, 563, 565, 565, 568, 568, 
-	570, 572, 572, 575, 575, 577, 579, 579, 
-	582, 582, 584, 586, 589, 589, 589, 589, 
-	591, 593, 595, 597, 599, 601, 603, 605, 
-	607, 609, 611, 613, 615, 617, 619, 621, 
-	621, 623, 625, 627, 629, 631, 633, 635, 
-	637, 640, 642, 644, 647, 649, 651, 653, 
-	656, 658, 660, 662, 665, 667, 669, 671, 
-	674, 676, 679, 681, 683, 686, 689, 692, 
-	694, 697, 699, 701, 704, 707, 707, 709, 
-	711, 713, 715, 717, 719, 719, 722, 725, 
-	728, 728, 730, 732, 734, 736, 738, 740, 
-	742, 744, 746, 748, 748, 751, 754, 757, 
-	760, 763, 763, 765, 767, 769, 771, 773, 
-	775, 777, 780, 783, 786, 788, 788, 788, 
-	788, 788, 788, 790, 793, 793, 793, 793, 
-	793, 795, 797, 799, 801, 803, 805, 805, 
-	807, 810, 813, 816, 819, 819, 821, 823, 
-	825, 827, 827, 829, 832, 835, 838, 838, 
-	840, 842, 844, 846, 848, 850, 856, 867, 
-	869, 872, 878, 881, 892, 895, 898, 901, 
-	903, 905, 907, 909, 915, 918, 921, 923, 
-	925, 927, 929, 935, 938, 941, 943, 945, 
-	947, 949, 955, 958, 961, 964, 964, 966, 
-	968, 970, 972, 974, 976, 978, 980, 982, 
-	984, 986, 988, 990, 992, 994, 996, 998, 
-	1001, 1004, 1007, 1010, 1013, 1016, 1019, 1022, 
-	1022, 1022, 1024, 1024, 1024, 1024, 1026, 1026, 
-	1028, 1028, 1028, 1028, 1030, 1030, 1030, 1030, 
-	1032, 1032, 1032, 1032, 1032, 1034, 1034, 1034, 
-	1034, 1036, 1036, 1036, 1036, 1038, 1040, 1040, 
-	1040, 1040, 1040, 1042, 1042, 1044, 1044, 1044, 
-	1044, 1044, 1046, 1046, 1046, 1046, 1046, 1046, 
-	1046, 1046, 1048, 1048, 1048, 1050, 1052, 1052, 
-	1052, 1054, 1054, 1056, 1056, 1058, 1060, 1060, 
-	1060, 1060, 1060, 1062, 1064, 1064, 1064, 1064, 
-	1064, 1066, 1066, 1068, 1070, 1070, 1072, 1074, 
-	1074, 1074, 1074, 1074, 1076, 1076, 1076, 1078, 
-	1078, 1080, 1080, 1080, 1080, 1082, 1084, 1084, 
-	1084, 1086, 1086, 1088, 1088, 1090, 1090, 1090, 
-	1090, 1092, 1092, 1092, 1092, 1094, 1094, 1096, 
-	1096, 1096, 1096, 1098, 1098, 1098, 1098, 1098, 
-	1100, 1102, 1104, 1106, 1108, 1110, 1112, 1115, 
-	1118, 1121, 1121, 1123, 1123, 1125, 1127, 1129, 
-	1131, 1133, 1135, 1137, 1139, 1139, 1139, 1139, 
-	1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 
-	1139, 1139, 1139, 1142, 1142, 1144, 1147, 1150, 
-	1153, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 
-	1165, 1165, 1165, 1168, 1171, 1174, 1174, 1176, 
-	1178, 1180, 1182, 1184, 1186, 1186, 1188, 1191, 
-	1194, 1197, 1200, 1200, 1202, 1204, 1204, 1207, 
-	1207, 1209, 1211, 1211, 1211, 1211, 1211, 1211, 
-	1211, 1211, 1211, 1211, 1214, 1214, 1214, 1214, 
-	1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 
-	1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 
-	1230, 1232, 1234, 1234, 1234, 1234, 1234, 1234, 
-	1234, 1234, 1236, 1236, 1238, 1241, 1241, 1243, 
-	1246, 1246, 1248, 1251, 1253, 1253, 1255, 1258, 
-	1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 
-	1261, 1261, 1263, 1266, 1266, 1266, 1268, 1271, 
-	1273, 1276, 1278, 1281, 1283, 1286, 1286, 1286, 
-	1286, 1286, 1288, 1291, 1291, 1293, 1296, 1296, 
-	1298, 1301, 1301, 1307, 1310, 1321, 1324, 1335, 
-	1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 
-	1340, 1343, 1343, 1343, 1343
+	28, 28, 28, 28, 28, 28, 28, 30, 
+	35, 37, 37, 37, 39, 39, 39, 39, 
+	41, 41, 41, 41, 41, 43, 43, 43, 
+	43, 45, 45, 45, 45, 47, 49, 49, 
+	49, 49, 49, 51, 51, 53, 53, 53, 
+	53, 53, 55, 55, 57, 59, 59, 59, 
+	59, 59, 59, 59, 59, 61, 61, 61, 
+	63, 65, 65, 65, 67, 67, 69, 69, 
+	71, 73, 73, 73, 73, 73, 75, 77, 
+	77, 77, 77, 77, 79, 79, 81, 83, 
+	83, 85, 87, 87, 87, 87, 87, 89, 
+	89, 89, 91, 91, 93, 93, 93, 93, 
+	95, 97, 97, 97, 99, 99, 101, 101, 
+	103, 103, 103, 103, 105, 105, 105, 105, 
+	107, 107, 109, 109, 109, 109, 111, 114, 
+	116, 116, 118, 120, 122, 124, 124, 126, 
+	129, 129, 129, 129, 129, 129, 129, 129, 
+	129, 129, 131, 133, 136, 138, 140, 143, 
+	145, 145, 147, 150, 152, 154, 156, 158, 
+	160, 163, 165, 167, 169, 171, 173, 175, 
+	177, 179, 181, 183, 185, 187, 189, 191, 
+	193, 195, 198, 200, 200, 200, 200, 200, 
+	200, 200, 200, 200, 200, 202, 204, 206, 
+	209, 211, 213, 215, 217, 219, 221, 223, 
+	225, 227, 229, 231, 233, 235, 237, 239, 
+	241, 243, 248, 253, 258, 258, 258, 260, 
+	260, 260, 260, 262, 262, 264, 267, 269, 
+	271, 276, 281, 284, 289, 291, 293, 295, 
+	297, 299, 301, 303, 305, 307, 309, 311, 
+	313, 315, 318, 321, 323, 326, 326, 326, 
+	326, 326, 326, 326, 326, 326, 326, 326, 
+	326, 326, 326, 326, 326, 326, 326, 327, 
+	327, 327, 327, 327, 328, 330, 332, 334, 
+	336, 336, 338, 338, 340, 343, 345, 347, 
+	347, 349, 351, 351, 351, 351, 351, 351, 
+	353, 356, 358, 360, 362, 364, 364, 366, 
+	368, 368, 368, 368, 368, 368, 370, 373, 
+	375, 378, 381, 381, 381, 381, 381, 383, 
+	386, 386, 388, 390, 392, 392, 392, 394, 
+	397, 397, 397, 397, 397, 397, 397, 399, 
+	401, 401, 401, 403, 403, 403, 403, 405, 
+	405, 405, 405, 405, 407, 407, 407, 407, 
+	409, 409, 409, 409, 411, 413, 413, 413, 
+	413, 413, 415, 415, 417, 417, 417, 417, 
+	417, 419, 419, 419, 419, 419, 419, 419, 
+	419, 421, 421, 421, 423, 425, 425, 425, 
+	427, 427, 429, 429, 431, 433, 433, 433, 
+	433, 433, 435, 437, 437, 437, 437, 437, 
+	439, 439, 441, 443, 443, 445, 447, 447, 
+	447, 447, 447, 449, 449, 449, 451, 451, 
+	453, 453, 453, 453, 455, 457, 457, 457, 
+	459, 459, 461, 461, 463, 463, 463, 463, 
+	465, 465, 465, 465, 467, 467, 469, 469, 
+	469, 469, 471, 471, 471, 471, 473, 473, 
+	475, 477, 479, 481, 483, 483, 485, 488, 
+	491, 494, 496, 498, 500, 502, 502, 504, 
+	507, 510, 512, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 515, 515, 515, 515, 515, 515, 515, 
+	515, 517, 519, 521, 523, 525, 527, 529, 
+	531, 533, 535, 537, 539, 539, 539, 539, 
+	539, 542, 544, 544, 546, 549, 551, 551, 
+	553, 556, 558, 558, 560, 563, 566, 569, 
+	569, 571, 573, 573, 576, 576, 578, 580, 
+	580, 583, 583, 585, 587, 587, 590, 590, 
+	592, 594, 597, 597, 597, 597, 599, 601, 
+	603, 605, 607, 609, 611, 613, 615, 617, 
+	619, 621, 623, 625, 627, 629, 629, 631, 
+	633, 635, 637, 639, 641, 643, 645, 648, 
+	650, 652, 655, 657, 659, 661, 664, 666, 
+	668, 670, 673, 675, 677, 679, 682, 684, 
+	687, 689, 691, 694, 697, 700, 702, 705, 
+	707, 709, 712, 715, 715, 717, 719, 721, 
+	723, 725, 727, 727, 730, 733, 736, 736, 
+	738, 740, 742, 744, 746, 748, 750, 752, 
+	754, 756, 756, 759, 762, 765, 768, 771, 
+	771, 773, 775, 777, 779, 781, 783, 785, 
+	788, 791, 794, 796, 796, 796, 796, 796, 
+	796, 798, 801, 801, 801, 801, 801, 803, 
+	805, 807, 809, 811, 813, 813, 815, 818, 
+	821, 824, 827, 827, 829, 831, 833, 835, 
+	835, 837, 840, 843, 846, 846, 848, 850, 
+	852, 854, 856, 858, 864, 875, 877, 880, 
+	886, 889, 900, 903, 906, 909, 911, 913, 
+	915, 917, 923, 926, 929, 931, 933, 935, 
+	937, 943, 946, 949, 951, 953, 955, 957, 
+	963, 966, 969, 972, 972, 974, 976, 978, 
+	980, 982, 984, 986, 988, 990, 992, 994, 
+	996, 998, 1000, 1002, 1004, 1006, 1009, 1012, 
+	1015, 1018, 1021, 1024, 1027, 1030, 1030, 1030, 
+	1032, 1032, 1032, 1032, 1034, 1034, 1036, 1036, 
+	1036, 1036, 1036, 1036, 1036, 1038, 1040, 1040, 
+	1040, 1042, 1042, 1042, 1042, 1044, 1044, 1044, 
+	1044, 1044, 1046, 1046, 1046, 1046, 1048, 1048, 
+	1048, 1048, 1050, 1052, 1052, 1052, 1052, 1052, 
+	1054, 1054, 1056, 1056, 1056, 1056, 1056, 1058, 
+	1058, 1058, 1058, 1058, 1058, 1058, 1058, 1060, 
+	1060, 1060, 1062, 1064, 1064, 1064, 1066, 1066, 
+	1068, 1068, 1070, 1072, 1072, 1072, 1072, 1072, 
+	1074, 1076, 1076, 1076, 1076, 1076, 1078, 1078, 
+	1080, 1082, 1082, 1084, 1086, 1086, 1086, 1086, 
+	1086, 1088, 1088, 1088, 1090, 1090, 1092, 1092, 
+	1092, 1092, 1094, 1096, 1096, 1096, 1098, 1098, 
+	1100, 1100, 1102, 1102, 1102, 1102, 1104, 1104, 
+	1104, 1104, 1106, 1106, 1108, 1108, 1108, 1108, 
+	1110, 1110, 1110, 1110, 1110, 1112, 1114, 1116, 
+	1118, 1120, 1122, 1124, 1127, 1130, 1133, 1133, 
+	1135, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 
+	1149, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 
+	1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 
+	1154, 1154, 1156, 1159, 1162, 1165, 1165, 1167, 
+	1169, 1171, 1173, 1175, 1177, 1177, 1177, 1177, 
+	1180, 1183, 1186, 1186, 1188, 1190, 1192, 1194, 
+	1196, 1198, 1198, 1200, 1203, 1206, 1209, 1212, 
+	1212, 1214, 1216, 1216, 1219, 1219, 1221, 1223, 
+	1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 
+	1223, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 
+	1226, 1226, 1226, 1226, 1226, 1226, 1228, 1230, 
+	1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 
+	1246, 1246, 1246, 1246, 1246, 1246, 1246, 1248, 
+	1248, 1250, 1253, 1253, 1255, 1258, 1258, 1260, 
+	1263, 1265, 1265, 1267, 1270, 1273, 1273, 1273, 
+	1273, 1273, 1273, 1273, 1273, 1273, 1273, 1275, 
+	1278, 1278, 1278, 1280, 1283, 1285, 1288, 1290, 
+	1293, 1295, 1298, 1298, 1298, 1298, 1298, 1300, 
+	1303, 1303, 1305, 1308, 1308, 1310, 1313, 1313, 
+	1319, 1322, 1333, 1336, 1347, 1350, 1350, 1350, 
+	1350, 1350, 1350, 1350, 1350, 1352, 1355, 1355, 
+	1355, 1355
 };
 
 static const char _zone_scanner_cond_lengths[] = {
 	0, 2, 2, 2, 2, 2, 2, 2, 
 	0, 0, 3, 2, 3, 2, 2, 2, 
-	0, 0, 0, 2, 5, 0, 0, 0, 
-	2, 0, 0, 0, 0, 2, 0, 0, 
-	0, 2, 0, 0, 0, 2, 2, 0, 
-	0, 0, 0, 2, 0, 2, 0, 0, 
-	0, 0, 2, 0, 2, 2, 0, 0, 
-	0, 0, 0, 0, 0, 2, 0, 0, 
-	2, 2, 0, 0, 2, 0, 2, 0, 
-	2, 2, 0, 0, 0, 0, 2, 2, 
-	0, 0, 0, 0, 2, 0, 2, 2, 
-	0, 2, 2, 0, 0, 0, 0, 2, 
+	0, 0, 0, 0, 0, 0, 2, 5, 
+	2, 0, 0, 2, 0, 0, 0, 2, 
+	0, 0, 0, 0, 2, 0, 0, 0, 
+	2, 0, 0, 0, 2, 2, 0, 0, 
 	0, 0, 2, 0, 2, 0, 0, 0, 
-	2, 2, 0, 0, 2, 0, 2, 0, 
-	2, 0, 0, 0, 2, 0, 0, 0, 
-	2, 0, 2, 0, 0, 0, 2, 3, 
-	2, 0, 2, 2, 2, 2, 0, 2, 
-	3, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 2, 2, 3, 2, 2, 3, 
-	2, 0, 2, 3, 2, 2, 2, 2, 
-	2, 3, 2, 2, 2, 2, 2, 2, 
-	2, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 3, 2, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 2, 2, 2, 
+	0, 2, 0, 2, 2, 0, 0, 0, 
+	0, 0, 0, 0, 2, 0, 0, 2, 
+	2, 0, 0, 2, 0, 2, 0, 2, 
+	2, 0, 0, 0, 0, 2, 2, 0, 
+	0, 0, 0, 2, 0, 2, 2, 0, 
+	2, 2, 0, 0, 0, 0, 2, 0, 
+	0, 2, 0, 2, 0, 0, 0, 2, 
+	2, 0, 0, 2, 0, 2, 0, 2, 
+	0, 0, 0, 2, 0, 0, 0, 2, 
+	0, 2, 0, 0, 0, 2, 3, 2, 
+	0, 2, 2, 2, 2, 0, 2, 3, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 2, 2, 3, 2, 2, 3, 2, 
+	0, 2, 3, 2, 2, 2, 2, 2, 
 	3, 2, 2, 2, 2, 2, 2, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 5, 5, 5, 0, 0, 2, 
-	0, 0, 0, 2, 0, 2, 3, 2, 
-	2, 5, 5, 3, 5, 2, 2, 2, 
+	2, 3, 2, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 2, 2, 2, 3, 
+	2, 2, 2, 2, 2, 2, 2, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 3, 3, 2, 3, 0, 0, 
+	2, 5, 5, 5, 0, 0, 2, 0, 
+	0, 0, 2, 0, 2, 3, 2, 2, 
+	5, 5, 3, 5, 2, 2, 2, 2, 
+	2, 2, 2, 2, 2, 2, 2, 2, 
+	2, 3, 3, 2, 3, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 1, 
-	0, 0, 0, 0, 1, 2, 2, 2, 
-	2, 0, 2, 0, 2, 3, 2, 2, 
-	0, 2, 2, 0, 0, 0, 0, 0, 
-	2, 3, 2, 2, 2, 2, 0, 2, 
-	2, 0, 0, 0, 0, 0, 2, 3, 
-	2, 3, 3, 0, 0, 0, 0, 2, 
-	3, 0, 2, 2, 2, 0, 0, 2, 
-	3, 0, 0, 0, 2, 0, 0, 0, 
-	2, 0, 0, 0, 0, 2, 0, 0, 
-	0, 2, 0, 0, 0, 2, 2, 0, 
-	0, 0, 0, 2, 0, 2, 0, 0, 
-	0, 0, 2, 0, 0, 0, 0, 0, 
-	0, 0, 2, 0, 0, 2, 2, 0, 
-	0, 2, 0, 2, 0, 2, 2, 0, 
+	0, 0, 0, 0, 0, 0, 1, 0, 
+	0, 0, 0, 1, 2, 2, 2, 2, 
+	0, 2, 0, 2, 3, 2, 2, 0, 
+	2, 2, 0, 0, 0, 0, 0, 2, 
+	3, 2, 2, 2, 2, 0, 2, 2, 
+	0, 0, 0, 0, 0, 2, 3, 2, 
+	3, 3, 0, 0, 0, 0, 2, 3, 
+	0, 2, 2, 2, 0, 0, 2, 3, 
+	0, 0, 0, 0, 0, 0, 2, 2, 
+	0, 0, 2, 0, 0, 0, 2, 0, 
+	0, 0, 0, 2, 0, 0, 0, 2, 
 	0, 0, 0, 2, 2, 0, 0, 0, 
-	0, 2, 0, 2, 2, 0, 2, 2, 
-	0, 0, 0, 0, 2, 0, 0, 2, 
-	0, 2, 0, 0, 0, 2, 2, 0, 
-	0, 2, 0, 2, 0, 2, 0, 0, 
+	0, 2, 0, 2, 0, 0, 0, 0, 
+	2, 0, 0, 0, 0, 0, 0, 0, 
+	2, 0, 0, 2, 2, 0, 0, 2, 
+	0, 2, 0, 2, 2, 0, 0, 0, 
+	0, 2, 2, 0, 0, 0, 0, 2, 
+	0, 2, 2, 0, 2, 2, 0, 0, 
+	0, 0, 2, 0, 0, 2, 0, 2, 
+	0, 0, 0, 2, 2, 0, 0, 2, 
+	0, 2, 0, 2, 0, 0, 0, 2, 
+	0, 0, 0, 2, 0, 2, 0, 0, 
 	0, 2, 0, 0, 0, 2, 0, 2, 
-	0, 0, 0, 2, 0, 0, 0, 2, 
-	0, 2, 2, 2, 2, 2, 0, 2, 
-	3, 3, 3, 2, 2, 2, 2, 0, 
-	2, 3, 3, 2, 3, 0, 0, 0, 
+	2, 2, 2, 2, 0, 2, 3, 3, 
+	3, 2, 2, 2, 2, 0, 2, 3, 
+	3, 2, 3, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
@@ -782,75 +801,76 @@ static const char _zone_scanner_cond_lengths[] = {
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 2, 2, 2, 2, 2, 2, 
-	2, 2, 2, 2, 2, 2, 0, 0, 
-	0, 0, 3, 2, 0, 2, 3, 2, 
-	0, 2, 3, 2, 0, 2, 3, 3, 
-	3, 0, 2, 2, 0, 3, 0, 2, 
-	2, 0, 3, 0, 2, 2, 0, 3, 
-	0, 2, 2, 3, 0, 0, 0, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 2, 2, 2, 2, 2, 0, 
+	2, 2, 2, 2, 0, 0, 0, 0, 
+	3, 2, 0, 2, 3, 2, 0, 2, 
+	3, 2, 0, 2, 3, 3, 3, 0, 
+	2, 2, 0, 3, 0, 2, 2, 0, 
+	3, 0, 2, 2, 0, 3, 0, 2, 
+	2, 3, 0, 0, 0, 2, 2, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
-	3, 2, 2, 3, 2, 2, 2, 3, 
-	2, 2, 2, 3, 2, 2, 2, 3, 
-	2, 3, 2, 2, 3, 3, 3, 2, 
-	3, 2, 2, 3, 3, 0, 2, 2, 
-	2, 2, 2, 2, 0, 3, 3, 3, 
-	0, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 2, 0, 3, 3, 3, 3, 
-	3, 0, 2, 2, 2, 2, 2, 2, 
-	2, 3, 3, 3, 2, 0, 0, 0, 
-	0, 0, 2, 3, 0, 0, 0, 0, 
-	2, 2, 2, 2, 2, 2, 0, 2, 
-	3, 3, 3, 3, 0, 2, 2, 2, 
-	2, 0, 2, 3, 3, 3, 0, 2, 
-	2, 2, 2, 2, 2, 6, 11, 2, 
-	3, 6, 3, 11, 3, 3, 3, 2, 
-	2, 2, 2, 6, 3, 3, 2, 2, 
-	2, 2, 6, 3, 3, 2, 2, 2, 
-	2, 6, 3, 3, 3, 0, 2, 2, 
+	2, 2, 2, 2, 2, 0, 2, 2, 
+	2, 2, 2, 2, 2, 2, 3, 2, 
+	2, 3, 2, 2, 2, 3, 2, 2, 
+	2, 3, 2, 2, 2, 3, 2, 3, 
+	2, 2, 3, 3, 3, 2, 3, 2, 
+	2, 3, 3, 0, 2, 2, 2, 2, 
+	2, 2, 0, 3, 3, 3, 0, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
+	2, 0, 3, 3, 3, 3, 3, 0, 
 	2, 2, 2, 2, 2, 2, 2, 3, 
-	3, 3, 3, 3, 3, 3, 3, 0, 
-	0, 2, 0, 0, 0, 2, 0, 2, 
-	0, 0, 0, 2, 0, 0, 0, 2, 
-	0, 0, 0, 0, 2, 0, 0, 0, 
-	2, 0, 0, 0, 2, 2, 0, 0, 
-	0, 0, 2, 0, 2, 0, 0, 0, 
-	0, 2, 0, 0, 0, 0, 0, 0, 
-	0, 2, 0, 0, 2, 2, 0, 0, 
-	2, 0, 2, 0, 2, 2, 0, 0, 
-	0, 0, 2, 2, 0, 0, 0, 0, 
-	2, 0, 2, 2, 0, 2, 2, 0, 
-	0, 0, 0, 2, 0, 0, 2, 0, 
-	2, 0, 0, 0, 2, 2, 0, 0, 
-	2, 0, 2, 0, 2, 0, 0, 0, 
-	2, 0, 0, 0, 2, 0, 2, 0, 
-	0, 0, 2, 0, 0, 0, 0, 2, 
-	2, 2, 2, 2, 2, 2, 3, 3, 
-	3, 0, 2, 0, 2, 2, 2, 2, 
-	2, 2, 2, 2, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 3, 0, 2, 3, 3, 3, 
-	0, 2, 2, 2, 2, 2, 2, 0, 
-	0, 0, 3, 3, 3, 0, 2, 2, 
+	3, 3, 2, 0, 0, 0, 0, 0, 
+	2, 3, 0, 0, 0, 0, 2, 2, 
 	2, 2, 2, 2, 0, 2, 3, 3, 
-	3, 3, 0, 2, 2, 0, 3, 0, 
-	2, 2, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 3, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
+	3, 3, 0, 2, 2, 2, 2, 0, 
+	2, 3, 3, 3, 0, 2, 2, 2, 
+	2, 2, 2, 6, 11, 2, 3, 6, 
+	3, 11, 3, 3, 3, 2, 2, 2, 
+	2, 6, 3, 3, 2, 2, 2, 2, 
+	6, 3, 3, 2, 2, 2, 2, 6, 
+	3, 3, 3, 0, 2, 2, 2, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 0, 0, 0, 0, 0, 0, 
-	0, 2, 0, 2, 3, 0, 2, 3, 
-	0, 2, 3, 2, 0, 2, 3, 3, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 2, 3, 0, 0, 2, 3, 2, 
-	3, 2, 3, 2, 3, 0, 0, 0, 
-	0, 2, 3, 0, 2, 3, 0, 2, 
-	3, 0, 6, 3, 11, 3, 11, 3, 
-	0, 0, 0, 0, 0, 0, 0, 2, 
-	3, 0, 0, 0, 0
+	2, 2, 2, 2, 2, 3, 3, 3, 
+	3, 3, 3, 3, 3, 0, 0, 2, 
+	0, 0, 0, 2, 0, 2, 0, 0, 
+	0, 0, 0, 0, 2, 2, 0, 0, 
+	2, 0, 0, 0, 2, 0, 0, 0, 
+	0, 2, 0, 0, 0, 2, 0, 0, 
+	0, 2, 2, 0, 0, 0, 0, 2, 
+	0, 2, 0, 0, 0, 0, 2, 0, 
+	0, 0, 0, 0, 0, 0, 2, 0, 
+	0, 2, 2, 0, 0, 2, 0, 2, 
+	0, 2, 2, 0, 0, 0, 0, 2, 
+	2, 0, 0, 0, 0, 2, 0, 2, 
+	2, 0, 2, 2, 0, 0, 0, 0, 
+	2, 0, 0, 2, 0, 2, 0, 0, 
+	0, 2, 2, 0, 0, 2, 0, 2, 
+	0, 2, 0, 0, 0, 2, 0, 0, 
+	0, 2, 0, 2, 0, 0, 0, 2, 
+	0, 0, 0, 0, 2, 2, 2, 2, 
+	2, 2, 2, 3, 3, 3, 0, 2, 
+	0, 2, 2, 2, 2, 2, 2, 2, 
+	2, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 3, 
+	0, 2, 3, 3, 3, 0, 2, 2, 
+	2, 2, 2, 2, 0, 0, 0, 3, 
+	3, 3, 0, 2, 2, 2, 2, 2, 
+	2, 0, 2, 3, 3, 3, 3, 0, 
+	2, 2, 0, 3, 0, 2, 2, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	3, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 2, 2, 2, 
+	2, 2, 2, 2, 2, 2, 2, 0, 
+	0, 0, 0, 0, 0, 0, 2, 0, 
+	2, 3, 0, 2, 3, 0, 2, 3, 
+	2, 0, 2, 3, 3, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 2, 3, 
+	0, 0, 2, 3, 2, 3, 2, 3, 
+	2, 3, 0, 0, 0, 0, 2, 3, 
+	0, 2, 3, 0, 2, 3, 0, 6, 
+	3, 11, 3, 11, 3, 0, 0, 0, 
+	0, 0, 0, 0, 2, 3, 0, 0, 
+	0, 0
 };
 
 static const short _zone_scanner_cond_keys[] = {
@@ -880,6 +900,7 @@ static const short _zone_scanner_cond_keys[] = {
 	59, 59, 10, 10, 59, 59, 10, 10, 
 	59, 59, 10, 10, 59, 59, 10, 10, 
 	59, 59, 10, 10, 59, 59, 10, 10, 
+	59, 59, 10, 10, 59, 59, 10, 10, 
 	59, 59, 10, 10, 59, 59, -128, 9, 
 	10, 10, 11, 127, 10, 10, 59, 59, 
 	10, 10, 59, 59, 10, 10, 59, 59, 
@@ -973,6 +994,7 @@ static const short _zone_scanner_cond_keys[] = {
 	59, 59, 10, 10, 59, 59, 10, 10, 
 	59, 59, 10, 10, 59, 59, 10, 10, 
 	59, 59, 10, 10, 59, 59, 10, 10, 
+	59, 59, 10, 10, 59, 59, 10, 10, 
 	59, 59, -128, 9, 10, 10, 11, 127, 
 	-128, 9, 10, 10, 11, 127, -128, 9, 
 	10, 10, 11, 127, 10, 10, 59, 59, 
@@ -1132,6 +1154,7 @@ static const short _zone_scanner_cond_keys[] = {
 	10, 10, 59, 59, 10, 10, 59, 59, 
 	10, 10, 59, 59, 10, 10, 59, 59, 
 	10, 10, 59, 59, 10, 10, 59, 59, 
+	10, 10, 59, 59, 10, 10, 59, 59, 
 	-128, 9, 10, 10, 11, 127, -128, 9, 
 	10, 10, 11, 127, -128, 9, 10, 10, 
 	11, 127, 10, 10, 59, 59, 10, 10, 
@@ -1199,50 +1222,51 @@ static const char _zone_scanner_cond_spaces[] = {
 	0, 0, 0, 0, 5, 5, 0, 0, 
 	0, 0, 0, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
-	5, 5, 5, 0, 0, 0, 0, 5, 
-	5, 5, 5, 5, 5, 5, 5, 5, 
+	5, 5, 5, 5, 5, 5, 5, 0, 
+	0, 0, 0, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
-	5, 5, 5, 0, 0, 0, 0, 0, 
+	5, 5, 5, 5, 5, 5, 5, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 5, 5, 5, 5, 5, 5, 
-	5, 5, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 5, 5, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 5, 5, 
+	5, 5, 5, 5, 5, 5, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 5, 
+	5, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 5, 5, 5, 
-	5, 0, 0, 0, 0, 0, 0, 0, 
+	0, 5, 5, 5, 5, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 5, 5, 
-	5, 5, 5, 5, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 5, 5, 5, 5, 5, 5, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 2, 2, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 2, 2, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 5, 5, 0, 0, 0, 5, 5, 
-	5, 5, 5, 5, 5, 5, 0, 0, 
-	0, 5, 5, 5, 5, 5, 5, 5, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 5, 5, 0, 
+	0, 0, 5, 5, 5, 5, 5, 5, 
+	5, 5, 0, 0, 0, 5, 5, 5, 
+	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
 	5, 5, 5, 5, 5, 5, 5, 5, 
@@ -1331,9 +1355,9 @@ static const char _zone_scanner_cond_spaces[] = {
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 1, 1, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 1, 1, 0, 0, 0, 0, 0, 
+	0, 0, 1, 1, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 1, 1, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
@@ -1341,172 +1365,176 @@ static const char _zone_scanner_cond_spaces[] = {
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 5, 5, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 5, 5, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	5, 5, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 5, 5, 5, 5, 
-	5, 5, 0, 0, 5, 5, 0, 0, 
+	0, 0, 0, 0, 5, 5, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	5, 5, 5, 5, 5, 5, 0, 0, 
+	5, 5, 0, 0, 0, 5, 5, 0, 
+	0, 0, 5, 5, 0, 0, 0, 0, 
+	0, 5, 5, 0, 0, 0, 0, 0, 
 	0, 5, 5, 0, 0, 0, 5, 5, 
-	0, 0, 0, 0, 0, 5, 5, 0, 
-	0, 0, 0, 0, 0, 5, 5, 0, 
+	0, 0, 0, 5, 5, 0, 0, 0, 
+	5, 5, 0, 0, 0, 5, 5, 0, 
 	0, 0, 5, 5, 0, 0, 0, 5, 
 	5, 0, 0, 0, 5, 5, 0, 0, 
-	0, 5, 5, 0, 0, 0, 5, 5, 
-	0, 0, 0, 5, 5, 0, 0, 0, 
-	5, 5, 0, 0, 0, 4, 9, 4, 
-	4, 4, 9, 7, 7, 7, 3, 6, 
-	3, 3, 3, 3, 3, 3, 6, 3, 
-	3, 6, 6, 6, 8, 11, 8, 8, 
-	8, 3, 3, 3, 11, 3, 3, 10, 
-	10, 10, 5, 5, 0, 0, 0, 0
+	0, 4, 9, 4, 4, 4, 9, 7, 
+	7, 7, 3, 6, 3, 3, 3, 3, 
+	3, 3, 6, 3, 3, 6, 6, 6, 
+	8, 11, 8, 8, 8, 3, 3, 3, 
+	11, 3, 3, 10, 10, 10, 5, 5, 
+	0, 0, 0, 0
 };
 
 static const short _zone_scanner_key_offsets[] = {
 	0, 0, 38, 56, 90, 106, 123, 131, 
 	139, 140, 141, 144, 163, 169, 219, 239, 
-	275, 279, 281, 283, 293, 307, 309, 311, 
-	313, 323, 329, 331, 333, 335, 345, 349, 
-	351, 353, 363, 365, 367, 369, 379, 389, 
-	391, 393, 395, 396, 406, 407, 417, 419, 
-	421, 423, 425, 435, 439, 445, 479, 481, 
-	483, 485, 487, 489, 491, 493, 503, 507, 
-	509, 519, 529, 535, 536, 546, 547, 557, 
-	559, 569, 579, 583, 585, 587, 589, 599, 
-	609, 615, 617, 619, 621, 631, 633, 643, 
-	655, 657, 668, 680, 682, 684, 686, 688, 
-	698, 700, 702, 712, 718, 728, 730, 732, 
-	734, 744, 754, 762, 764, 774, 776, 786, 
-	788, 798, 800, 802, 804, 814, 820, 822, 
-	824, 834, 836, 846, 848, 850, 852, 864, 
-	867, 905, 909, 915, 951, 969, 977, 989, 
-	997, 1000, 1001, 1007, 1009, 1011, 1013, 1015, 
-	1017, 1019, 1025, 1031, 1067, 1070, 1088, 1124, 
-	1127, 1135, 1147, 1155, 1158, 1174, 1222, 1240, 
-	1259, 1297, 1303, 1317, 1331, 1381, 1393, 1407, 
-	1417, 1427, 1439, 1451, 1465, 1477, 1491, 1501, 
-	1515, 1531, 1545, 1551, 1565, 1567, 1569, 1571, 
-	1573, 1575, 1581, 1583, 1585, 1591, 1599, 1619, 
-	1657, 1663, 1681, 1731, 1743, 1757, 1767, 1777, 
-	1789, 1801, 1815, 1827, 1841, 1851, 1865, 1881, 
-	1895, 1910, 1948, 1962, 1976, 1990, 1992, 1994, 
-	2004, 2006, 2008, 2010, 2020, 2022, 2032, 2038, 
-	2052, 2066, 2082, 2096, 2099, 2113, 2123, 2135, 
-	2143, 2151, 2161, 2171, 2183, 2193, 2205, 2213, 
-	2225, 2239, 2251, 2257, 2263, 2273, 2279, 2280, 
-	2281, 2292, 2308, 2324, 2326, 2328, 2330, 2346, 
-	2352, 2358, 2364, 2376, 2378, 2380, 2382, 2394, 
-	2400, 2406, 2408, 2410, 2412, 2418, 2424, 2432, 
-	2452, 2460, 2461, 2471, 2483, 2493, 2496, 2502, 
-	2518, 2528, 2546, 2554, 2555, 2557, 2559, 2561, 
-	2571, 2579, 2582, 2588, 2600, 2608, 2626, 2636, 
-	2654, 2662, 2663, 2665, 2667, 2669, 2679, 2687, 
-	2693, 2709, 2712, 2715, 2722, 2729, 2737, 2745, 
-	2762, 2765, 2766, 2776, 2814, 2830, 2832, 2834, 
-	2844, 2847, 2851, 2853, 2855, 2865, 2867, 2869, 
-	2871, 2881, 2887, 2889, 2891, 2893, 2903, 2907, 
-	2909, 2911, 2921, 2923, 2925, 2927, 2937, 2947, 
-	2949, 2951, 2953, 2954, 2964, 2965, 2975, 2977, 
-	2979, 2981, 2983, 2993, 2995, 2997, 2999, 3001, 
-	3003, 3005, 3007, 3017, 3021, 3023, 3033, 3043, 
-	3049, 3050, 3060, 3061, 3071, 3073, 3083, 3093, 
-	3097, 3099, 3101, 3103, 3113, 3123, 3129, 3131, 
-	3133, 3135, 3145, 3147, 3157, 3169, 3171, 3182, 
-	3194, 3196, 3198, 3200, 3202, 3212, 3214, 3216, 
-	3226, 3232, 3242, 3244, 3246, 3248, 3258, 3268, 
-	3276, 3278, 3288, 3290, 3300, 3302, 3312, 3314, 
-	3316, 3318, 3328, 3334, 3336, 3338, 3348, 3350, 
-	3360, 3362, 3364, 3366, 3378, 3380, 3382, 3384, 
-	3394, 3396, 3406, 3412, 3420, 3428, 3440, 3446, 
-	3462, 3465, 3468, 3471, 3477, 3486, 3496, 3508, 
-	3514, 3530, 3533, 3536, 3544, 3547, 3559, 3567, 
-	3571, 3577, 3579, 3586, 3588, 3590, 3592, 3594, 
-	3595, 3596, 3598, 3600, 3602, 3603, 3609, 3611, 
-	3615, 3616, 3618, 3620, 3622, 3624, 3630, 3632, 
-	3634, 3636, 3638, 3639, 3640, 3642, 3644, 3646, 
-	3647, 3648, 3649, 3655, 3656, 3657, 3659, 3661, 
-	3663, 3664, 3665, 3666, 3672, 3674, 3676, 3678, 
-	3680, 3682, 3684, 3686, 3692, 3694, 3696, 3698, 
-	3700, 3702, 3704, 3708, 3710, 3712, 3718, 3720, 
-	3722, 3728, 3730, 3732, 3736, 3738, 3739, 3745, 
-	3747, 3749, 3752, 3759, 3761, 3763, 3765, 3767, 
-	3768, 3769, 3771, 3773, 3775, 3776, 3782, 3783, 
-	3784, 3790, 3791, 3792, 3798, 3812, 3820, 3822, 
-	3824, 3826, 3828, 3830, 3836, 3842, 3844, 3846, 
-	3848, 3850, 3852, 3858, 3862, 3864, 3870, 3872, 
-	3874, 3880, 3882, 3884, 3886, 3892, 3894, 3896, 
-	3902, 3906, 3908, 3914, 3916, 3918, 3924, 3926, 
-	3928, 3930, 3936, 3938, 3940, 3946, 3949, 3958, 
-	3967, 3973, 3982, 3988, 4003, 4009, 4017, 4025, 
-	4033, 4051, 4059, 4077, 4085, 4103, 4111, 4129, 
-	4137, 4149, 4157, 4160, 4168, 4180, 4188, 4191, 
-	4199, 4211, 4219, 4222, 4230, 4242, 4250, 4253, 
-	4256, 4259, 4265, 4271, 4283, 4289, 4292, 4301, 
-	4307, 4322, 4328, 4331, 4333, 4341, 4356, 4362, 
-	4365, 4371, 4381, 4397, 4400, 4407, 4420, 4422, 
-	4430, 4440, 4448, 4458, 4467, 4475, 4481, 4489, 
-	4497, 4507, 4515, 4525, 4534, 4542, 4548, 4557, 
-	4559, 4573, 4585, 4599, 4611, 4625, 4637, 4651, 
-	4661, 4664, 4677, 4690, 4693, 4706, 4719, 4729, 
-	4732, 4745, 4758, 4768, 4771, 4784, 4797, 4807, 
-	4810, 4816, 4819, 4827, 4835, 4838, 4841, 4844, 
-	4850, 4853, 4861, 4869, 4872, 4875, 4877, 4885, 
-	4893, 4901, 4909, 4917, 4932, 4938, 4941, 4944, 
-	4947, 4949, 4957, 4965, 4973, 4985, 4991, 5003, 
-	5009, 5021, 5027, 5042, 5048, 5051, 5054, 5057, 
-	5060, 5063, 5069, 5075, 5083, 5091, 5103, 5109, 
-	5122, 5124, 5127, 5130, 5133, 5146, 5148, 5149, 
-	5152, 5155, 5157, 5169, 5172, 5173, 5180, 5187, 
-	5189, 5197, 5209, 5215, 5223, 5231, 5243, 5249, 
-	5265, 5268, 5271, 5274, 5277, 5279, 5287, 5295, 
-	5303, 5315, 5321, 5337, 5340, 5343, 5346, 5348, 
-	5356, 5366, 5372, 5380, 5388, 5395, 5429, 5442, 
-	5444, 5447, 5461, 5464, 5505, 5514, 5517, 5520, 
-	5526, 5534, 5542, 5551, 5588, 5591, 5594, 5600, 
-	5608, 5616, 5629, 5670, 5673, 5676, 5682, 5690, 
-	5698, 5713, 5747, 5750, 5753, 5756, 5784, 5796, 
-	5808, 5814, 5822, 5830, 5838, 5846, 5854, 5862, 
-	5870, 5878, 5886, 5894, 5909, 5915, 5928, 5930, 
-	5933, 5936, 5939, 5942, 5945, 5948, 5951, 5954, 
-	5956, 5958, 5964, 5966, 5968, 5970, 5976, 5978, 
-	5984, 5988, 5990, 5992, 5998, 6000, 6002, 6004, 
-	6010, 6016, 6018, 6020, 6022, 6028, 6032, 6034, 
-	6036, 6042, 6044, 6046, 6048, 6054, 6060, 6062, 
-	6064, 6066, 6067, 6073, 6074, 6080, 6082, 6084, 
-	6086, 6088, 6094, 6096, 6098, 6100, 6102, 6104, 
-	6106, 6108, 6114, 6118, 6120, 6126, 6132, 6138, 
-	6139, 6145, 6146, 6152, 6154, 6160, 6166, 6170, 
-	6172, 6174, 6176, 6182, 6188, 6194, 6196, 6198, 
-	6200, 6206, 6208, 6214, 6222, 6224, 6231, 6239, 
-	6241, 6243, 6245, 6247, 6253, 6255, 6257, 6263, 
-	6269, 6275, 6277, 6279, 6281, 6287, 6293, 6301, 
-	6303, 6309, 6311, 6317, 6319, 6325, 6327, 6329, 
-	6331, 6337, 6343, 6345, 6347, 6353, 6355, 6361, 
-	6363, 6365, 6367, 6375, 6384, 6390, 6396, 6398, 
-	6406, 6414, 6422, 6434, 6440, 6453, 6455, 6458, 
-	6461, 6464, 6471, 6473, 6475, 6483, 6491, 6499, 
-	6507, 6515, 6528, 6534, 6546, 6552, 6559, 6565, 
-	6572, 6579, 6585, 6592, 6604, 6610, 6611, 6612, 
-	6613, 6614, 6615, 6618, 6624, 6636, 6639, 6642, 
-	6645, 6647, 6655, 6663, 6671, 6679, 6687, 6700, 
-	6706, 6712, 6724, 6727, 6730, 6733, 6735, 6743, 
-	6751, 6759, 6767, 6775, 6787, 6793, 6809, 6812, 
-	6815, 6818, 6821, 6823, 6831, 6840, 6849, 6852, 
-	6854, 6862, 6874, 6880, 6886, 6892, 6893, 6899, 
-	6905, 6911, 6917, 6924, 6927, 6933, 6939, 6940, 
-	6946, 6952, 6959, 6965, 6971, 6972, 6978, 6984, 
-	6991, 7009, 7042, 7088, 7136, 7154, 7202, 7220, 
-	7253, 7316, 7379, 7379, 7379, 7379, 7391, 7391, 
-	7391, 7391, 7407, 7407, 7424, 7427, 7427, 7465, 
-	7468, 7468, 7484, 7487, 7499, 7499, 7515, 7518, 
-	7521, 7521, 7521, 7521, 7521, 7521, 7521, 7521, 
-	7521, 7521, 7537, 7540, 7540, 7540, 7550, 7553, 
-	7565, 7568, 7580, 7583, 7595, 7598, 7598, 7598, 
-	7598, 7598, 7611, 7614, 7614, 7630, 7633, 7633, 
-	7649, 7652, 7652, 7666, 7669, 7682, 7685, 7726, 
-	7735, 7735, 7735, 7735, 7735, 7735, 7735, 7735, 
-	7751, 7754, 7754, 7754, 7754
+	275, 281, 285, 287, 289, 291, 293, 303, 
+	317, 327, 329, 331, 341, 343, 345, 347, 
+	357, 363, 365, 367, 369, 379, 383, 385, 
+	387, 397, 399, 401, 403, 413, 423, 425, 
+	427, 429, 430, 440, 441, 451, 453, 455, 
+	457, 459, 469, 473, 479, 513, 515, 517, 
+	519, 521, 523, 525, 527, 537, 541, 543, 
+	553, 563, 569, 570, 580, 581, 591, 593, 
+	603, 613, 617, 619, 621, 623, 633, 643, 
+	649, 651, 653, 655, 665, 667, 677, 689, 
+	691, 702, 714, 716, 718, 720, 722, 732, 
+	734, 736, 746, 752, 762, 764, 766, 768, 
+	778, 788, 796, 798, 808, 810, 820, 822, 
+	832, 834, 836, 838, 848, 854, 856, 858, 
+	868, 870, 880, 882, 884, 886, 898, 901, 
+	939, 943, 949, 985, 1003, 1011, 1023, 1031, 
+	1034, 1035, 1041, 1043, 1045, 1047, 1049, 1051, 
+	1053, 1059, 1065, 1101, 1104, 1122, 1158, 1161, 
+	1169, 1181, 1189, 1192, 1208, 1256, 1274, 1293, 
+	1331, 1337, 1351, 1365, 1415, 1429, 1443, 1453, 
+	1463, 1475, 1487, 1501, 1513, 1527, 1537, 1551, 
+	1567, 1581, 1587, 1601, 1603, 1605, 1607, 1609, 
+	1611, 1617, 1619, 1621, 1627, 1635, 1655, 1693, 
+	1699, 1717, 1767, 1781, 1795, 1805, 1815, 1827, 
+	1839, 1853, 1865, 1879, 1889, 1903, 1919, 1933, 
+	1948, 1986, 2000, 2014, 2028, 2030, 2032, 2042, 
+	2044, 2046, 2048, 2058, 2060, 2070, 2076, 2090, 
+	2104, 2120, 2134, 2137, 2151, 2163, 2175, 2183, 
+	2191, 2201, 2211, 2223, 2233, 2245, 2253, 2265, 
+	2279, 2291, 2297, 2303, 2313, 2319, 2320, 2321, 
+	2332, 2348, 2364, 2366, 2368, 2370, 2386, 2392, 
+	2398, 2404, 2416, 2418, 2420, 2422, 2434, 2440, 
+	2446, 2448, 2450, 2452, 2458, 2464, 2472, 2492, 
+	2500, 2501, 2511, 2523, 2533, 2536, 2542, 2558, 
+	2568, 2586, 2594, 2595, 2597, 2599, 2601, 2611, 
+	2619, 2622, 2628, 2640, 2648, 2666, 2676, 2694, 
+	2702, 2703, 2705, 2707, 2709, 2719, 2727, 2733, 
+	2749, 2752, 2755, 2762, 2769, 2777, 2785, 2802, 
+	2805, 2806, 2816, 2854, 2870, 2872, 2874, 2884, 
+	2887, 2893, 2897, 2899, 2901, 2903, 2905, 2915, 
+	2925, 2927, 2929, 2939, 2941, 2943, 2945, 2955, 
+	2961, 2963, 2965, 2967, 2977, 2981, 2983, 2985, 
+	2995, 2997, 2999, 3001, 3011, 3021, 3023, 3025, 
+	3027, 3028, 3038, 3039, 3049, 3051, 3053, 3055, 
+	3057, 3067, 3069, 3071, 3073, 3075, 3077, 3079, 
+	3081, 3091, 3095, 3097, 3107, 3117, 3123, 3124, 
+	3134, 3135, 3145, 3147, 3157, 3167, 3171, 3173, 
+	3175, 3177, 3187, 3197, 3203, 3205, 3207, 3209, 
+	3219, 3221, 3231, 3243, 3245, 3256, 3268, 3270, 
+	3272, 3274, 3276, 3286, 3288, 3290, 3300, 3306, 
+	3316, 3318, 3320, 3322, 3332, 3342, 3350, 3352, 
+	3362, 3364, 3374, 3376, 3386, 3388, 3390, 3392, 
+	3402, 3408, 3410, 3412, 3422, 3424, 3434, 3436, 
+	3438, 3440, 3452, 3454, 3456, 3458, 3468, 3470, 
+	3480, 3486, 3494, 3502, 3514, 3520, 3536, 3539, 
+	3542, 3545, 3551, 3560, 3570, 3582, 3588, 3604, 
+	3607, 3610, 3618, 3621, 3633, 3641, 3645, 3651, 
+	3653, 3660, 3662, 3664, 3666, 3668, 3669, 3670, 
+	3672, 3674, 3676, 3677, 3683, 3685, 3689, 3690, 
+	3692, 3694, 3696, 3698, 3704, 3706, 3708, 3710, 
+	3712, 3713, 3714, 3716, 3718, 3720, 3721, 3722, 
+	3723, 3729, 3730, 3731, 3733, 3735, 3737, 3738, 
+	3739, 3740, 3746, 3748, 3750, 3752, 3754, 3756, 
+	3758, 3760, 3766, 3768, 3770, 3772, 3774, 3776, 
+	3778, 3782, 3784, 3786, 3792, 3794, 3796, 3802, 
+	3804, 3806, 3810, 3812, 3813, 3819, 3821, 3823, 
+	3826, 3833, 3835, 3837, 3839, 3841, 3842, 3843, 
+	3845, 3847, 3849, 3850, 3856, 3857, 3858, 3864, 
+	3865, 3866, 3872, 3886, 3894, 3896, 3898, 3900, 
+	3902, 3904, 3910, 3916, 3918, 3920, 3922, 3924, 
+	3926, 3932, 3936, 3938, 3944, 3946, 3948, 3954, 
+	3956, 3958, 3960, 3966, 3968, 3970, 3976, 3980, 
+	3982, 3988, 3990, 3992, 3998, 4000, 4002, 4004, 
+	4010, 4012, 4014, 4020, 4023, 4032, 4041, 4047, 
+	4056, 4062, 4077, 4083, 4091, 4099, 4107, 4125, 
+	4133, 4151, 4159, 4177, 4185, 4203, 4211, 4223, 
+	4231, 4234, 4242, 4254, 4262, 4265, 4273, 4285, 
+	4293, 4296, 4304, 4316, 4324, 4327, 4330, 4333, 
+	4339, 4345, 4357, 4363, 4366, 4375, 4381, 4396, 
+	4402, 4405, 4407, 4415, 4430, 4436, 4439, 4445, 
+	4455, 4471, 4474, 4481, 4494, 4496, 4504, 4514, 
+	4522, 4532, 4541, 4549, 4555, 4563, 4571, 4581, 
+	4589, 4599, 4608, 4616, 4622, 4631, 4633, 4647, 
+	4659, 4673, 4685, 4699, 4711, 4725, 4735, 4738, 
+	4751, 4764, 4767, 4780, 4793, 4803, 4806, 4819, 
+	4832, 4842, 4845, 4858, 4871, 4881, 4884, 4890, 
+	4893, 4901, 4909, 4912, 4915, 4918, 4924, 4927, 
+	4935, 4943, 4946, 4949, 4951, 4959, 4967, 4975, 
+	4983, 4991, 5006, 5012, 5015, 5018, 5021, 5023, 
+	5031, 5039, 5047, 5059, 5065, 5077, 5083, 5095, 
+	5101, 5116, 5122, 5125, 5128, 5131, 5134, 5137, 
+	5143, 5149, 5157, 5165, 5177, 5183, 5196, 5198, 
+	5201, 5204, 5207, 5220, 5222, 5223, 5226, 5229, 
+	5231, 5243, 5246, 5247, 5254, 5261, 5263, 5271, 
+	5283, 5289, 5297, 5305, 5317, 5323, 5339, 5342, 
+	5345, 5348, 5351, 5353, 5361, 5369, 5377, 5389, 
+	5395, 5411, 5414, 5417, 5420, 5422, 5430, 5440, 
+	5446, 5454, 5462, 5469, 5503, 5516, 5518, 5521, 
+	5535, 5538, 5579, 5588, 5591, 5594, 5600, 5608, 
+	5616, 5625, 5662, 5665, 5668, 5674, 5682, 5690, 
+	5703, 5744, 5747, 5750, 5756, 5764, 5772, 5787, 
+	5821, 5824, 5827, 5830, 5858, 5870, 5882, 5888, 
+	5896, 5904, 5912, 5920, 5928, 5936, 5944, 5952, 
+	5960, 5968, 5983, 5989, 6002, 6004, 6007, 6010, 
+	6013, 6016, 6019, 6022, 6025, 6028, 6030, 6032, 
+	6038, 6040, 6042, 6044, 6050, 6052, 6058, 6064, 
+	6068, 6070, 6072, 6074, 6076, 6082, 6088, 6090, 
+	6092, 6098, 6100, 6102, 6104, 6110, 6116, 6118, 
+	6120, 6122, 6128, 6132, 6134, 6136, 6142, 6144, 
+	6146, 6148, 6154, 6160, 6162, 6164, 6166, 6167, 
+	6173, 6174, 6180, 6182, 6184, 6186, 6188, 6194, 
+	6196, 6198, 6200, 6202, 6204, 6206, 6208, 6214, 
+	6218, 6220, 6226, 6232, 6238, 6239, 6245, 6246, 
+	6252, 6254, 6260, 6266, 6270, 6272, 6274, 6276, 
+	6282, 6288, 6294, 6296, 6298, 6300, 6306, 6308, 
+	6314, 6322, 6324, 6331, 6339, 6341, 6343, 6345, 
+	6347, 6353, 6355, 6357, 6363, 6369, 6375, 6377, 
+	6379, 6381, 6387, 6393, 6401, 6403, 6409, 6411, 
+	6417, 6419, 6425, 6427, 6429, 6431, 6437, 6443, 
+	6445, 6447, 6453, 6455, 6461, 6463, 6465, 6467, 
+	6475, 6484, 6490, 6496, 6498, 6506, 6514, 6522, 
+	6534, 6540, 6553, 6555, 6558, 6561, 6564, 6571, 
+	6573, 6575, 6583, 6591, 6599, 6607, 6615, 6628, 
+	6634, 6646, 6652, 6659, 6665, 6672, 6679, 6685, 
+	6692, 6704, 6710, 6711, 6712, 6713, 6714, 6715, 
+	6718, 6724, 6736, 6739, 6742, 6745, 6747, 6755, 
+	6763, 6771, 6779, 6787, 6800, 6806, 6812, 6824, 
+	6827, 6830, 6833, 6835, 6843, 6851, 6859, 6867, 
+	6875, 6887, 6893, 6909, 6912, 6915, 6918, 6921, 
+	6923, 6931, 6940, 6949, 6952, 6954, 6962, 6974, 
+	6980, 6986, 6992, 6993, 6999, 7005, 7011, 7017, 
+	7024, 7027, 7033, 7039, 7040, 7046, 7052, 7059, 
+	7065, 7071, 7072, 7078, 7084, 7091, 7109, 7142, 
+	7188, 7236, 7254, 7302, 7320, 7353, 7416, 7479, 
+	7479, 7479, 7479, 7491, 7491, 7491, 7491, 7507, 
+	7507, 7524, 7527, 7527, 7565, 7568, 7568, 7584, 
+	7587, 7599, 7599, 7615, 7618, 7621, 7621, 7621, 
+	7621, 7621, 7621, 7621, 7621, 7621, 7621, 7637, 
+	7640, 7640, 7640, 7650, 7653, 7665, 7668, 7680, 
+	7683, 7695, 7698, 7698, 7698, 7698, 7698, 7711, 
+	7714, 7714, 7730, 7733, 7733, 7749, 7752, 7752, 
+	7766, 7769, 7782, 7785, 7826, 7835, 7835, 7835, 
+	7835, 7835, 7835, 7835, 7835, 7851, 7854, 7854, 
+	7854, 7854
 };
 
 static const short _zone_scanner_trans_keys[] = {
@@ -1544,237 +1572,242 @@ static const short _zone_scanner_trans_keys[] = {
 	73, 75, 76, 77, 78, 80, 82, 83, 
 	84, 97, 99, 100, 101, 104, 105, 107, 
 	108, 109, 110, 112, 114, 115, 116, 778, 
-	827, 1034, 1083, 69, 78, 101, 110, 82, 
+	827, 1034, 1083, 68, 69, 78, 100, 101, 
+	110, 78, 83, 110, 115, 83, 115, 75, 
+	107, 69, 101, 89, 121, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 777, 
+	778, 800, 808, 809, 827, 1033, 1034, 1056, 
+	1064, 1065, 1083, 896, 1151, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 82, 
 	114, 84, 116, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 777, 778, 800, 
-	808, 809, 827, 1033, 1034, 1056, 1064, 1065, 
-	1083, 896, 1151, 65, 97, 77, 109, 69, 
-	101, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 72, 78, 83, 104, 110, 
-	115, 67, 99, 73, 105, 68, 100, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 65, 83, 97, 115, 77, 109, 69, 
-	101, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 75, 107, 69, 101, 89, 
-	121, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 85, 117, 73, 
-	105, 52, 54, 56, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 52, 9, 
+	2107, 2314, 2363, 2570, 2619, 65, 97, 77, 
+	109, 69, 101, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 72, 78, 83, 
+	104, 110, 115, 67, 99, 73, 105, 68, 
+	100, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 65, 83, 97, 115, 77, 
+	109, 69, 101, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 75, 107, 69, 
+	101, 89, 121, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 85, 
+	117, 73, 105, 52, 54, 56, 9, 32, 
+	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
+	52, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 73, 105, 78, 110, 70, 
+	102, 79, 111, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 78, 80, 110, 
+	112, 9, 32, 40, 41, 1034, 1083, 9, 
+	32, 40, 41, 65, 67, 68, 69, 72, 
+	73, 75, 76, 77, 78, 80, 82, 83, 
+	84, 97, 99, 100, 101, 104, 105, 107, 
+	108, 109, 110, 112, 114, 115, 116, 1034, 
+	1083, 80, 112, 83, 115, 69, 101, 67, 
+	99, 75, 107, 69, 101, 89, 121, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 73, 105, 78, 110, 70, 102, 79, 
-	111, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 78, 80, 110, 112, 9, 
-	32, 40, 41, 1034, 1083, 9, 32, 40, 
-	41, 65, 67, 68, 69, 72, 73, 75, 
-	76, 77, 78, 80, 82, 83, 84, 97, 
-	99, 100, 101, 104, 105, 107, 108, 109, 
-	110, 112, 114, 115, 116, 1034, 1083, 80, 
-	112, 83, 115, 69, 101, 67, 99, 75, 
-	107, 69, 101, 89, 121, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 69, 
-	88, 101, 120, 89, 121, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 9, 
+	2619, 69, 88, 101, 120, 89, 121, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 51, 54, 79, 80, 111, 112, 50, 
-	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 52, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 67, 99, 9, 
+	2619, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 51, 54, 79, 80, 111, 
+	112, 50, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 52, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 67, 
+	99, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 73, 88, 105, 
+	120, 78, 110, 70, 102, 79, 111, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
 	2619, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 73, 88, 105, 120, 78, 
-	110, 70, 102, 79, 111, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 9, 
+	2363, 2570, 2619, 65, 73, 83, 97, 105, 
+	115, 80, 112, 84, 116, 82, 114, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 65, 73, 83, 97, 105, 115, 80, 
-	112, 84, 116, 82, 114, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 68, 
-	100, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 9, 32, 40, 41, 69, 
-	101, 2058, 2107, 2314, 2363, 2570, 2619, 67, 
-	99, 9, 32, 40, 41, 51, 2058, 2107, 
-	2314, 2363, 2570, 2619, 9, 32, 40, 41, 
-	80, 112, 2058, 2107, 2314, 2363, 2570, 2619, 
-	65, 97, 82, 114, 65, 97, 77, 109, 
+	2619, 68, 100, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 9, 32, 40, 
+	41, 69, 101, 2058, 2107, 2314, 2363, 2570, 
+	2619, 67, 99, 9, 32, 40, 41, 51, 
+	2058, 2107, 2314, 2363, 2570, 2619, 9, 32, 
+	40, 41, 80, 112, 2058, 2107, 2314, 2363, 
+	2570, 2619, 65, 97, 82, 114, 65, 97, 
+	77, 109, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 84, 116, 82, 114, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 80, 82, 84, 112, 114, 116, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 83, 115, 73, 105, 71, 103, 
 	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 84, 116, 82, 114, 9, 32, 
+	2570, 2619, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 79, 80, 82, 83, 
+	111, 112, 114, 115, 65, 97, 9, 32, 
 	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	80, 82, 84, 112, 114, 116, 9, 32, 
+	70, 102, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 86, 118, 9, 32, 
 	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	83, 115, 73, 105, 71, 103, 9, 32, 
+	72, 104, 70, 102, 80, 112, 9, 32, 
 	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 79, 80, 82, 83, 111, 112, 
-	114, 115, 65, 97, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 70, 102, 
-	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 86, 118, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 72, 104, 
-	70, 102, 80, 112, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 76, 88, 
-	89, 108, 120, 121, 83, 115, 65, 97, 
-	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 84, 116, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 80, 112, 
-	69, 101, 48, 57, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 48, 57, 
-	1034, 896, 1151, 9, 32, 40, 41, 65, 
-	67, 68, 69, 72, 73, 75, 76, 77, 
-	78, 80, 82, 83, 84, 97, 99, 100, 
-	101, 104, 105, 107, 108, 109, 110, 112, 
-	114, 115, 116, 778, 827, 1034, 1083, 48, 
-	57, 78, 80, 110, 112, 9, 32, 40, 
-	41, 1034, 1083, 9, 32, 40, 41, 65, 
-	67, 68, 69, 72, 73, 75, 76, 77, 
-	78, 80, 82, 83, 84, 97, 99, 100, 
-	101, 104, 105, 107, 108, 109, 110, 112, 
-	114, 115, 116, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 68, 72, 77, 83, 87, 
-	100, 104, 109, 115, 119, 1034, 1083, 48, 
-	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	76, 88, 89, 108, 120, 121, 83, 115, 
+	65, 97, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 84, 116, 9, 32, 
+	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
+	80, 112, 69, 101, 48, 57, 9, 32, 
+	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
+	48, 57, 1034, 896, 1151, 9, 32, 40, 
+	41, 65, 67, 68, 69, 72, 73, 75, 
+	76, 77, 78, 80, 82, 83, 84, 97, 
+	99, 100, 101, 104, 105, 107, 108, 109, 
+	110, 112, 114, 115, 116, 778, 827, 1034, 
+	1083, 48, 57, 78, 80, 110, 112, 9, 
+	32, 40, 41, 1034, 1083, 9, 32, 40, 
+	41, 65, 67, 68, 69, 72, 73, 75, 
+	76, 77, 78, 80, 82, 83, 84, 97, 
+	99, 100, 101, 104, 105, 107, 108, 109, 
+	110, 112, 114, 115, 116, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 68, 72, 77, 
+	83, 87, 100, 104, 109, 115, 119, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 68, 72, 77, 83, 87, 
+	100, 104, 109, 115, 119, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 1034, 
+	896, 1151, 10, 73, 79, 84, 105, 111, 
+	116, 78, 110, 67, 99, 76, 108, 85, 
+	117, 68, 100, 69, 101, 32, 59, 9, 
+	10, 40, 41, 9, 32, 40, 41, 1034, 
+	1083, 9, 32, 40, 41, 65, 67, 68, 
+	69, 72, 73, 75, 76, 77, 78, 80, 
+	82, 83, 84, 97, 99, 100, 101, 104, 
+	105, 107, 108, 109, 110, 112, 114, 115, 
+	116, 1034, 1083, 48, 57, 1034, 896, 1151, 
+	9, 32, 40, 41, 68, 72, 77, 83, 
+	87, 100, 104, 109, 115, 119, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 65, 67, 
+	68, 69, 72, 73, 75, 76, 77, 78, 
+	80, 82, 83, 84, 97, 99, 100, 101, 
+	104, 105, 107, 108, 109, 110, 112, 114, 
+	115, 116, 1034, 1083, 48, 57, 1034, 896, 
+	1151, 9, 32, 40, 41, 1034, 1083, 48, 
 	57, 68, 72, 77, 83, 87, 100, 104, 
 	109, 115, 119, 48, 57, 9, 32, 40, 
 	41, 1034, 1083, 48, 57, 1034, 896, 1151, 
-	10, 73, 79, 84, 105, 111, 116, 78, 
-	110, 67, 99, 76, 108, 85, 117, 68, 
-	100, 69, 101, 32, 59, 9, 10, 40, 
-	41, 9, 32, 40, 41, 1034, 1083, 9, 
-	32, 40, 41, 65, 67, 68, 69, 72, 
-	73, 75, 76, 77, 78, 80, 82, 83, 
-	84, 97, 99, 100, 101, 104, 105, 107, 
-	108, 109, 110, 112, 114, 115, 116, 1034, 
-	1083, 48, 57, 1034, 896, 1151, 9, 32, 
-	40, 41, 68, 72, 77, 83, 87, 100, 
-	104, 109, 115, 119, 1034, 1083, 48, 57, 
-	9, 32, 40, 41, 65, 67, 68, 69, 
-	72, 73, 75, 76, 77, 78, 80, 82, 
-	83, 84, 97, 99, 100, 101, 104, 105, 
-	107, 108, 109, 110, 112, 114, 115, 116, 
-	1034, 1083, 48, 57, 1034, 896, 1151, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 68, 
-	72, 77, 83, 87, 100, 104, 109, 115, 
-	119, 48, 57, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 1034, 896, 1151, 9, 32, 
-	40, 41, 65, 70, 80, 97, 102, 112, 
-	2058, 2107, 2314, 2363, 2570, 2619, 9, 32, 
-	40, 41, 58, 65, 67, 68, 69, 72, 
-	73, 75, 76, 77, 78, 80, 82, 83, 
-	84, 92, 97, 99, 100, 101, 104, 105, 
-	107, 108, 109, 110, 112, 114, 115, 116, 
-	2058, 2107, 2314, 2363, 2570, 2619, -128, 8, 
-	11, 47, 48, 57, 60, 127, 9, 32, 
-	40, 41, 65, 70, 80, 97, 102, 112, 
-	1802, 1851, 2058, 2107, 2314, 2363, 2570, 2619, 
-	9, 32, 40, 41, 92, 1802, 1851, 2058, 
-	2107, 2314, 2363, 2570, 2619, -128, 8, 11, 
-	58, 60, 127, 9, 32, 40, 41, 65, 
-	67, 68, 69, 72, 73, 75, 76, 77, 
-	78, 80, 82, 83, 84, 97, 99, 100, 
-	101, 104, 105, 107, 108, 109, 110, 112, 
-	114, 115, 116, 778, 827, 1034, 1083, 48, 
-	57, 778, 1034, 640, 895, 896, 1151, 9, 
-	32, 40, 41, 778, 827, 1034, 1083, -128, 
+	9, 32, 40, 41, 65, 70, 80, 97, 
+	102, 112, 2058, 2107, 2314, 2363, 2570, 2619, 
+	9, 32, 40, 41, 58, 65, 67, 68, 
+	69, 72, 73, 75, 76, 77, 78, 80, 
+	82, 83, 84, 92, 97, 99, 100, 101, 
+	104, 105, 107, 108, 109, 110, 112, 114, 
+	115, 116, 2058, 2107, 2314, 2363, 2570, 2619, 
+	-128, 8, 11, 47, 48, 57, 60, 127, 
+	9, 32, 40, 41, 65, 70, 80, 97, 
+	102, 112, 1802, 1851, 2058, 2107, 2314, 2363, 
+	2570, 2619, 9, 32, 40, 41, 92, 1802, 
+	1851, 2058, 2107, 2314, 2363, 2570, 2619, -128, 
 	8, 11, 58, 60, 127, 9, 32, 40, 
-	41, 778, 827, 1034, 1083, -128, 8, 11, 
-	58, 60, 127, 9, 32, 40, 41, 58, 
-	65, 67, 68, 69, 72, 73, 75, 76, 
-	77, 78, 80, 82, 83, 84, 92, 97, 
+	41, 65, 67, 68, 69, 72, 73, 75, 
+	76, 77, 78, 80, 82, 83, 84, 97, 
 	99, 100, 101, 104, 105, 107, 108, 109, 
-	110, 112, 114, 115, 116, 1802, 1851, 2058, 
-	2107, 2314, 2363, 2570, 2619, -128, 8, 11, 
-	47, 48, 57, 60, 127, 9, 32, 40, 
-	41, 69, 78, 101, 110, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 72, 78, 83, 
-	104, 110, 115, 778, 827, 1034, 1083, 9, 
-	32, 40, 41, 85, 117, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 73, 105, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 78, 
-	80, 110, 112, 778, 827, 1034, 1083, 9, 
-	32, 40, 41, 69, 88, 101, 120, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 51, 
-	54, 79, 80, 111, 112, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 73, 88, 105, 
-	120, 778, 827, 1034, 1083, 9, 32, 40, 
-	41, 65, 73, 83, 97, 105, 115, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 84, 
-	116, 778, 827, 1034, 1083, 9, 32, 40, 
-	41, 80, 82, 84, 112, 114, 116, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 79, 
-	80, 82, 83, 111, 112, 114, 115, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 76, 
-	88, 89, 108, 120, 121, 778, 827, 1034, 
-	1083, 778, 1034, 640, 895, 896, 1151, 9, 
-	32, 40, 41, 73, 79, 84, 105, 111, 
-	116, 778, 827, 1034, 1083, 82, 114, 73, 
-	105, 71, 103, 73, 105, 78, 110, 32, 
-	59, 9, 10, 40, 41, 84, 116, 76, 
-	108, 32, 59, 9, 10, 40, 41, 9, 
-	32, 40, 41, 778, 827, 1034, 1083, 9, 
-	32, 40, 41, 68, 72, 77, 83, 87, 
-	100, 104, 109, 115, 119, 778, 827, 1034, 
-	1083, 48, 57, 9, 32, 40, 41, 65, 
-	67, 68, 69, 72, 73, 75, 76, 77, 
-	78, 80, 82, 83, 84, 97, 99, 100, 
-	101, 104, 105, 107, 108, 109, 110, 112, 
-	114, 115, 116, 778, 827, 1034, 1083, 48, 
-	57, 778, 1034, 640, 895, 896, 1151, 9, 
-	32, 40, 41, 65, 70, 80, 97, 102, 
-	112, 1802, 1851, 2058, 2107, 2314, 2363, 2570, 
-	2619, 9, 32, 40, 41, 58, 65, 67, 
-	68, 69, 72, 73, 75, 76, 77, 78, 
-	80, 82, 83, 84, 92, 97, 99, 100, 
-	101, 104, 105, 107, 108, 109, 110, 112, 
-	114, 115, 116, 1802, 1851, 2058, 2107, 2314, 
-	2363, 2570, 2619, -128, 8, 11, 47, 48, 
-	57, 60, 127, 9, 32, 40, 41, 69, 
-	78, 101, 110, 778, 827, 1034, 1083, 9, 
-	32, 40, 41, 72, 78, 83, 104, 110, 
-	115, 778, 827, 1034, 1083, 9, 32, 40, 
-	41, 85, 117, 778, 827, 1034, 1083, 9, 
-	32, 40, 41, 73, 105, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 78, 80, 110, 
+	110, 112, 114, 115, 116, 778, 827, 1034, 
+	1083, 48, 57, 778, 1034, 640, 895, 896, 
+	1151, 9, 32, 40, 41, 778, 827, 1034, 
+	1083, -128, 8, 11, 58, 60, 127, 9, 
+	32, 40, 41, 778, 827, 1034, 1083, -128, 
+	8, 11, 58, 60, 127, 9, 32, 40, 
+	41, 58, 65, 67, 68, 69, 72, 73, 
+	75, 76, 77, 78, 80, 82, 83, 84, 
+	92, 97, 99, 100, 101, 104, 105, 107, 
+	108, 109, 110, 112, 114, 115, 116, 1802, 
+	1851, 2058, 2107, 2314, 2363, 2570, 2619, -128, 
+	8, 11, 47, 48, 57, 60, 127, 9, 
+	32, 40, 41, 68, 69, 78, 100, 101, 
+	110, 778, 827, 1034, 1083, 9, 32, 40, 
+	41, 72, 78, 83, 104, 110, 115, 778, 
+	827, 1034, 1083, 9, 32, 40, 41, 85, 
+	117, 778, 827, 1034, 1083, 9, 32, 40, 
+	41, 73, 105, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 78, 80, 110, 112, 778, 
+	827, 1034, 1083, 9, 32, 40, 41, 69, 
+	88, 101, 120, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 51, 54, 79, 80, 111, 
 	112, 778, 827, 1034, 1083, 9, 32, 40, 
-	41, 69, 88, 101, 120, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 51, 54, 79, 
-	80, 111, 112, 778, 827, 1034, 1083, 9, 
-	32, 40, 41, 73, 88, 105, 120, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 65, 
-	73, 83, 97, 105, 115, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 84, 116, 778, 
-	827, 1034, 1083, 9, 32, 40, 41, 80, 
-	82, 84, 112, 114, 116, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 79, 80, 82, 
-	83, 111, 112, 114, 115, 778, 827, 1034, 
-	1083, 9, 32, 40, 41, 76, 88, 89, 
-	108, 120, 121, 778, 827, 1034, 1083, 9, 
-	32, 35, 40, 41, 778, 827, 1034, 1083, 
-	-128, 8, 11, 58, 60, 127, 9, 32, 
-	40, 41, 65, 67, 68, 69, 72, 73, 
+	41, 73, 88, 105, 120, 778, 827, 1034, 
+	1083, 9, 32, 40, 41, 65, 73, 83, 
+	97, 105, 115, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 84, 116, 778, 827, 1034, 
+	1083, 9, 32, 40, 41, 80, 82, 84, 
+	112, 114, 116, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 79, 80, 82, 83, 111, 
+	112, 114, 115, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 76, 88, 89, 108, 120, 
+	121, 778, 827, 1034, 1083, 778, 1034, 640, 
+	895, 896, 1151, 9, 32, 40, 41, 73, 
+	79, 84, 105, 111, 116, 778, 827, 1034, 
+	1083, 82, 114, 73, 105, 71, 103, 73, 
+	105, 78, 110, 32, 59, 9, 10, 40, 
+	41, 84, 116, 76, 108, 32, 59, 9, 
+	10, 40, 41, 9, 32, 40, 41, 778, 
+	827, 1034, 1083, 9, 32, 40, 41, 68, 
+	72, 77, 83, 87, 100, 104, 109, 115, 
+	119, 778, 827, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 65, 67, 68, 69, 72, 
+	73, 75, 76, 77, 78, 80, 82, 83, 
+	84, 97, 99, 100, 101, 104, 105, 107, 
+	108, 109, 110, 112, 114, 115, 116, 778, 
+	827, 1034, 1083, 48, 57, 778, 1034, 640, 
+	895, 896, 1151, 9, 32, 40, 41, 65, 
+	70, 80, 97, 102, 112, 1802, 1851, 2058, 
+	2107, 2314, 2363, 2570, 2619, 9, 32, 40, 
+	41, 58, 65, 67, 68, 69, 72, 73, 
 	75, 76, 77, 78, 80, 82, 83, 84, 
-	97, 99, 100, 101, 104, 105, 107, 108, 
-	109, 110, 112, 114, 115, 116, 778, 827, 
-	1034, 1083, 48, 57, 777, 778, 800, 808, 
-	809, 827, 1033, 1034, 1056, 1064, 1065, 1083, 
-	896, 1151, 777, 778, 800, 808, 809, 827, 
-	1033, 1034, 1056, 1064, 1065, 1083, 896, 1151, 
-	777, 778, 800, 808, 809, 1033, 1034, 1056, 
-	1064, 1065, 640, 895, 896, 1151, 65, 97, 
-	65, 97, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 83, 115, 68, 100, 
-	66, 98, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 76, 108, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	778, 1034, 640, 895, 896, 1151, 9, 32, 
+	92, 97, 99, 100, 101, 104, 105, 107, 
+	108, 109, 110, 112, 114, 115, 116, 1802, 
+	1851, 2058, 2107, 2314, 2363, 2570, 2619, -128, 
+	8, 11, 47, 48, 57, 60, 127, 9, 
+	32, 40, 41, 68, 69, 78, 100, 101, 
+	110, 778, 827, 1034, 1083, 9, 32, 40, 
+	41, 72, 78, 83, 104, 110, 115, 778, 
+	827, 1034, 1083, 9, 32, 40, 41, 85, 
+	117, 778, 827, 1034, 1083, 9, 32, 40, 
+	41, 73, 105, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 78, 80, 110, 112, 778, 
+	827, 1034, 1083, 9, 32, 40, 41, 69, 
+	88, 101, 120, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 51, 54, 79, 80, 111, 
+	112, 778, 827, 1034, 1083, 9, 32, 40, 
+	41, 73, 88, 105, 120, 778, 827, 1034, 
+	1083, 9, 32, 40, 41, 65, 73, 83, 
+	97, 105, 115, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 84, 116, 778, 827, 1034, 
+	1083, 9, 32, 40, 41, 80, 82, 84, 
+	112, 114, 116, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 79, 80, 82, 83, 111, 
+	112, 114, 115, 778, 827, 1034, 1083, 9, 
+	32, 40, 41, 76, 88, 89, 108, 120, 
+	121, 778, 827, 1034, 1083, 9, 32, 35, 
 	40, 41, 778, 827, 1034, 1083, -128, 8, 
 	11, 58, 60, 127, 9, 32, 40, 41, 
+	65, 67, 68, 69, 72, 73, 75, 76, 
+	77, 78, 80, 82, 83, 84, 97, 99, 
+	100, 101, 104, 105, 107, 108, 109, 110, 
+	112, 114, 115, 116, 778, 827, 1034, 1083, 
+	48, 57, 777, 778, 800, 808, 809, 827, 
+	1033, 1034, 1056, 1064, 1065, 1083, 896, 1151, 
+	777, 778, 800, 808, 809, 827, 1033, 1034, 
+	1056, 1064, 1065, 1083, 896, 1151, 777, 778, 
+	800, 808, 809, 1033, 1034, 1056, 1064, 1065, 
+	640, 895, 896, 1151, 65, 97, 65, 97, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 83, 115, 68, 100, 66, 98, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 76, 108, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 778, 1034, 
+	640, 895, 896, 1151, 9, 32, 40, 41, 
 	778, 827, 1034, 1083, -128, 8, 11, 58, 
-	60, 127, 777, 778, 800, 808, 809, 827, 
-	1033, 1034, 1056, 1064, 1065, 1083, 640, 895, 
-	896, 1151, 777, 778, 800, 808, 809, 1033, 
-	1034, 1056, 1064, 1065, 640, 895, 896, 1151, 
-	1034, 896, 1151, 777, 778, 800, 808, 809, 
-	827, 1033, 1034, 1056, 1064, 1065, 1083, 896, 
-	1151, 9, 32, 40, 41, 69, 78, 101, 
+	60, 127, 9, 32, 40, 41, 778, 827, 
+	1034, 1083, -128, 8, 11, 58, 60, 127, 
+	777, 778, 800, 808, 809, 827, 1033, 1034, 
+	1056, 1064, 1065, 1083, 640, 895, 896, 1151, 
+	777, 778, 800, 808, 809, 1033, 1034, 1056, 
+	1064, 1065, 640, 895, 896, 1151, 1034, 896, 
+	1151, 777, 778, 800, 808, 809, 827, 1033, 
+	1034, 1056, 1064, 1065, 1083, 896, 1151, 9, 
+	32, 40, 41, 68, 69, 78, 100, 101, 
 	110, 1034, 1083, 9, 32, 40, 41, 72, 
 	78, 83, 104, 110, 115, 1034, 1083, 9, 
 	32, 40, 41, 85, 117, 1034, 1083, 9, 
@@ -1865,157 +1898,158 @@ static const short _zone_scanner_trans_keys[] = {
 	40, 41, 65, 70, 80, 97, 102, 112, 
 	2058, 2107, 2314, 2363, 2570, 2619, 65, 97, 
 	65, 97, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 1034, 896, 1151, 69, 
-	78, 101, 110, 82, 114, 84, 116, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 65, 97, 77, 109, 69, 101, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 72, 78, 83, 104, 110, 115, 67, 
-	99, 73, 105, 68, 100, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 65, 
-	83, 97, 115, 77, 109, 69, 101, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 75, 107, 69, 101, 89, 121, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 85, 117, 73, 105, 52, 
-	54, 56, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 52, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 73, 
-	105, 78, 110, 70, 102, 79, 111, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 80, 112, 83, 115, 69, 101, 67, 
-	99, 75, 107, 69, 101, 89, 121, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 69, 88, 101, 120, 89, 121, 9, 
+	2314, 2363, 2570, 2619, 1034, 896, 1151, 68, 
+	69, 78, 100, 101, 110, 78, 83, 110, 
+	115, 83, 115, 75, 107, 69, 101, 89, 
+	121, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 82, 114, 84, 
+	116, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 65, 97, 77, 109, 69, 
+	101, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 72, 78, 83, 104, 110, 
+	115, 67, 99, 73, 105, 68, 100, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 51, 54, 79, 80, 111, 
-	112, 50, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 52, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 67, 
-	99, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2619, 65, 83, 97, 115, 77, 109, 69, 
+	101, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 75, 107, 69, 101, 89, 
+	121, 9, 32, 40, 41, 2058, 2107, 2314, 
 	2363, 2570, 2619, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 73, 88, 105, 
-	120, 78, 110, 70, 102, 79, 111, 9, 
+	2107, 2314, 2363, 2570, 2619, 85, 117, 73, 
+	105, 52, 54, 56, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 52, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 65, 73, 83, 97, 105, 
-	115, 80, 112, 84, 116, 82, 114, 9, 
+	2619, 73, 105, 78, 110, 70, 102, 79, 
+	111, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 80, 112, 83, 115, 69, 
+	101, 67, 99, 75, 107, 69, 101, 89, 
+	121, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 69, 88, 101, 120, 89, 
+	121, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 51, 54, 79, 
+	80, 111, 112, 50, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 52, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 68, 100, 9, 32, 40, 41, 2058, 
+	2619, 67, 99, 9, 32, 40, 41, 2058, 
 	2107, 2314, 2363, 2570, 2619, 9, 32, 40, 
-	41, 69, 101, 2058, 2107, 2314, 2363, 2570, 
-	2619, 67, 99, 9, 32, 40, 41, 51, 
-	2058, 2107, 2314, 2363, 2570, 2619, 9, 32, 
-	40, 41, 80, 112, 2058, 2107, 2314, 2363, 
-	2570, 2619, 65, 97, 82, 114, 65, 97, 
-	77, 109, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 84, 116, 82, 114, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 73, 
+	88, 105, 120, 78, 110, 70, 102, 79, 
+	111, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 65, 73, 83, 
+	97, 105, 115, 80, 112, 84, 116, 82, 
+	114, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 68, 100, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 9, 
+	32, 40, 41, 69, 101, 2058, 2107, 2314, 
+	2363, 2570, 2619, 67, 99, 9, 32, 40, 
+	41, 51, 2058, 2107, 2314, 2363, 2570, 2619, 
+	9, 32, 40, 41, 80, 112, 2058, 2107, 
+	2314, 2363, 2570, 2619, 65, 97, 82, 114, 
+	65, 97, 77, 109, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 84, 116, 
+	82, 114, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 80, 82, 84, 112, 
+	114, 116, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 83, 115, 73, 105, 
+	71, 103, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 79, 80, 
+	82, 83, 111, 112, 114, 115, 65, 97, 
 	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 80, 82, 84, 112, 114, 116, 
+	2570, 2619, 70, 102, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 86, 118, 
 	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 83, 115, 73, 105, 71, 103, 
+	2570, 2619, 72, 104, 70, 102, 80, 112, 
 	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 79, 80, 82, 83, 
-	111, 112, 114, 115, 65, 97, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	70, 102, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 86, 118, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	72, 104, 70, 102, 80, 112, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	76, 88, 89, 108, 120, 121, 83, 115, 
-	65, 97, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 84, 116, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	80, 112, 69, 101, 48, 57, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	48, 57, 83, 115, 68, 100, 66, 98, 
+	2570, 2619, 76, 88, 89, 108, 120, 121, 
+	83, 115, 65, 97, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 84, 116, 
 	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 76, 108, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 9, 32, 
-	40, 41, 1034, 1083, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 65, 70, 97, 102, 
-	48, 57, 65, 70, 97, 102, 9, 32, 
+	2570, 2619, 80, 112, 69, 101, 48, 57, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 48, 57, 83, 115, 68, 100, 
+	66, 98, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 76, 108, 9, 32, 
 	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	48, 57, 65, 70, 97, 102, 1034, 896, 
-	1151, 1034, 896, 1151, 1034, 896, 1151, 9, 
-	32, 40, 41, 1034, 1083, 9, 32, 40, 
-	41, 48, 1034, 1083, 49, 57, 9, 32, 
-	40, 41, 778, 827, 1034, 1083, 48, 57, 
-	9, 32, 40, 41, 1034, 1083, 48, 57, 
-	65, 70, 97, 102, 48, 57, 65, 70, 
-	97, 102, 9, 32, 40, 41, 2058, 2107, 
-	2314, 2363, 2570, 2619, 48, 57, 65, 70, 
-	97, 102, 1034, 896, 1151, 1034, 896, 1151, 
-	9, 32, 40, 41, 1034, 1083, 48, 57, 
-	1034, 896, 1151, 68, 69, 73, 80, 82, 
-	100, 101, 105, 112, 114, 48, 57, 32, 
-	59, 9, 10, 40, 41, 48, 57, 72, 
-	83, 104, 115, 32, 59, 9, 10, 40, 
-	41, 65, 97, 32, 45, 59, 9, 10, 
-	40, 41, 78, 110, 83, 115, 69, 101, 
-	67, 99, 51, 45, 83, 115, 72, 104, 
-	65, 97, 49, 32, 59, 9, 10, 40, 
-	41, 67, 99, 67, 68, 99, 100, 45, 
-	71, 103, 79, 111, 83, 115, 84, 116, 
-	32, 59, 9, 10, 40, 41, 83, 115, 
-	65, 97, 80, 112, 50, 51, 53, 54, 
-	83, 115, 72, 104, 65, 97, 50, 53, 
-	54, 32, 59, 9, 10, 40, 41, 56, 
-	52, 83, 115, 72, 104, 65, 97, 51, 
-	56, 52, 32, 59, 9, 10, 40, 41, 
-	78, 110, 68, 100, 73, 105, 82, 114, 
-	69, 101, 67, 99, 84, 116, 32, 59, 
-	9, 10, 40, 41, 82, 114, 73, 105, 
-	86, 118, 65, 97, 84, 116, 69, 101, 
-	68, 79, 100, 111, 78, 110, 83, 115, 
-	32, 59, 9, 10, 40, 41, 73, 105, 
-	68, 100, 32, 59, 9, 10, 40, 41, 
-	83, 115, 65, 97, 77, 83, 109, 115, 
-	68, 100, 53, 32, 59, 9, 10, 40, 
-	41, 72, 104, 65, 97, 49, 50, 53, 
-	32, 45, 59, 9, 10, 40, 41, 78, 
-	110, 83, 115, 69, 101, 67, 99, 51, 
-	45, 83, 115, 72, 104, 65, 97, 49, 
-	32, 59, 9, 10, 40, 41, 53, 54, 
-	32, 59, 9, 10, 40, 41, 49, 50, 
-	32, 59, 9, 10, 40, 41, 65, 73, 
-	79, 80, 83, 85, 97, 105, 111, 112, 
-	115, 117, 48, 57, 32, 59, 9, 10, 
-	40, 41, 48, 57, 67, 99, 80, 112, 
+	9, 32, 40, 41, 1034, 1083, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 65, 70, 
+	97, 102, 48, 57, 65, 70, 97, 102, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 48, 57, 65, 70, 97, 102, 
+	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
+	1151, 9, 32, 40, 41, 1034, 1083, 9, 
+	32, 40, 41, 48, 1034, 1083, 49, 57, 
+	9, 32, 40, 41, 778, 827, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 65, 70, 97, 102, 48, 57, 
+	65, 70, 97, 102, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 48, 57, 
+	65, 70, 97, 102, 1034, 896, 1151, 1034, 
+	896, 1151, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 1034, 896, 1151, 68, 69, 73, 
+	80, 82, 100, 101, 105, 112, 114, 48, 
+	57, 32, 59, 9, 10, 40, 41, 48, 
+	57, 72, 83, 104, 115, 32, 59, 9, 
+	10, 40, 41, 65, 97, 32, 45, 59, 
+	9, 10, 40, 41, 78, 110, 83, 115, 
+	69, 101, 67, 99, 51, 45, 83, 115, 
+	72, 104, 65, 97, 49, 32, 59, 9, 
+	10, 40, 41, 67, 99, 67, 68, 99, 
+	100, 45, 71, 103, 79, 111, 83, 115, 
+	84, 116, 32, 59, 9, 10, 40, 41, 
+	83, 115, 65, 97, 80, 112, 50, 51, 
+	53, 54, 83, 115, 72, 104, 65, 97, 
+	50, 53, 54, 32, 59, 9, 10, 40, 
+	41, 56, 52, 83, 115, 72, 104, 65, 
+	97, 51, 56, 52, 32, 59, 9, 10, 
+	40, 41, 78, 110, 68, 100, 73, 105, 
+	82, 114, 69, 101, 67, 99, 84, 116, 
+	32, 59, 9, 10, 40, 41, 82, 114, 
+	73, 105, 86, 118, 65, 97, 84, 116, 
+	69, 101, 68, 79, 100, 111, 78, 110, 
+	83, 115, 32, 59, 9, 10, 40, 41, 
+	73, 105, 68, 100, 32, 59, 9, 10, 
+	40, 41, 83, 115, 65, 97, 77, 83, 
+	109, 115, 68, 100, 53, 32, 59, 9, 
+	10, 40, 41, 72, 104, 65, 97, 49, 
+	50, 53, 32, 45, 59, 9, 10, 40, 
+	41, 78, 110, 83, 115, 69, 101, 67, 
+	99, 51, 45, 83, 115, 72, 104, 65, 
+	97, 49, 32, 59, 9, 10, 40, 41, 
+	53, 54, 32, 59, 9, 10, 40, 41, 
+	49, 50, 32, 59, 9, 10, 40, 41, 
+	65, 73, 79, 80, 83, 85, 97, 105, 
+	111, 112, 115, 117, 48, 57, 32, 59, 
+	9, 10, 40, 41, 48, 57, 67, 99, 
+	80, 112, 75, 107, 73, 105, 88, 120, 
+	32, 59, 9, 10, 40, 41, 65, 80, 
+	83, 97, 112, 115, 67, 99, 80, 112, 
 	75, 107, 73, 105, 88, 120, 32, 59, 
-	9, 10, 40, 41, 65, 80, 83, 97, 
-	112, 115, 67, 99, 80, 112, 75, 107, 
+	9, 10, 40, 41, 71, 75, 103, 107, 
+	80, 112, 32, 59, 9, 10, 40, 41, 
 	73, 105, 88, 120, 32, 59, 9, 10, 
-	40, 41, 71, 75, 103, 107, 80, 112, 
+	40, 41, 80, 112, 75, 107, 73, 105, 
 	32, 59, 9, 10, 40, 41, 73, 105, 
-	88, 120, 32, 59, 9, 10, 40, 41, 
-	80, 112, 75, 107, 73, 105, 32, 59, 
-	9, 10, 40, 41, 73, 105, 68, 100, 
-	32, 59, 9, 10, 40, 41, 71, 75, 
-	103, 107, 80, 112, 32, 59, 9, 10, 
-	40, 41, 73, 105, 88, 120, 32, 59, 
-	9, 10, 40, 41, 80, 112, 75, 107, 
-	73, 105, 32, 59, 9, 10, 40, 41, 
-	82, 114, 73, 105, 32, 59, 9, 10, 
-	40, 41, 46, 48, 57, 32, 46, 59, 
-	9, 10, 40, 41, 48, 57, 42, 92, 
-	95, 45, 57, 64, 90, 97, 122, 32, 
-	59, 9, 10, 40, 41, 42, 92, 95, 
-	45, 57, 64, 90, 97, 122, 9, 32, 
-	40, 41, 1034, 1083, 9, 32, 40, 41, 
-	42, 92, 95, 1034, 1083, 45, 57, 64, 
-	90, 97, 122, 9, 32, 40, 41, 1034, 
-	1083, 9, 32, 40, 41, 1034, 1083, 48, 
-	57, 9, 32, 40, 41, 1034, 1083, 48, 
-	57, 9, 32, 40, 41, 1034, 1083, 48, 
-	57, 9, 32, 40, 41, 68, 72, 77, 
-	83, 87, 100, 104, 109, 115, 119, 1034, 
+	68, 100, 32, 59, 9, 10, 40, 41, 
+	71, 75, 103, 107, 80, 112, 32, 59, 
+	9, 10, 40, 41, 73, 105, 88, 120, 
+	32, 59, 9, 10, 40, 41, 80, 112, 
+	75, 107, 73, 105, 32, 59, 9, 10, 
+	40, 41, 82, 114, 73, 105, 32, 59, 
+	9, 10, 40, 41, 46, 48, 57, 32, 
+	46, 59, 9, 10, 40, 41, 48, 57, 
+	42, 92, 95, 45, 57, 64, 90, 97, 
+	122, 32, 59, 9, 10, 40, 41, 42, 
+	92, 95, 45, 57, 64, 90, 97, 122, 
+	9, 32, 40, 41, 1034, 1083, 9, 32, 
+	40, 41, 42, 92, 95, 1034, 1083, 45, 
+	57, 64, 90, 97, 122, 9, 32, 40, 
+	41, 1034, 1083, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 68, 
 	72, 77, 83, 87, 100, 104, 109, 115, 
@@ -2023,66 +2057,66 @@ static const short _zone_scanner_trans_keys[] = {
 	41, 1034, 1083, 48, 57, 9, 32, 40, 
 	41, 68, 72, 77, 83, 87, 100, 104, 
 	109, 115, 119, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 32, 
-	59, 68, 72, 77, 83, 87, 100, 104, 
-	109, 115, 119, 9, 10, 40, 41, 48, 
-	57, 32, 59, 9, 10, 40, 41, 48, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 68, 72, 77, 83, 87, 
+	100, 104, 109, 115, 119, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 32, 59, 68, 72, 77, 83, 87, 
+	100, 104, 109, 115, 119, 9, 10, 40, 
+	41, 48, 57, 32, 59, 9, 10, 40, 
+	41, 48, 57, 68, 72, 77, 83, 87, 
+	100, 104, 109, 115, 119, 48, 57, 32, 
+	59, 9, 10, 40, 41, 48, 57, 1034, 
+	896, 1151, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 68, 72, 77, 83, 87, 100, 
+	104, 109, 115, 119, 48, 57, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 1034, 896, 
+	1151, 9, 32, 40, 41, 1034, 1083, 48, 
 	57, 68, 72, 77, 83, 87, 100, 104, 
-	109, 115, 119, 48, 57, 32, 59, 9, 
-	10, 40, 41, 48, 57, 1034, 896, 1151, 
+	109, 115, 119, 48, 57, 9, 32, 40, 
+	41, 1034, 1083, 48, 57, 1034, 896, 1151, 
 	9, 32, 40, 41, 1034, 1083, 48, 57, 
 	68, 72, 77, 83, 87, 100, 104, 109, 
 	115, 119, 48, 57, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 1034, 896, 1151, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 68, 
-	72, 77, 83, 87, 100, 104, 109, 115, 
-	119, 48, 57, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 1034, 896, 1151, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 68, 72, 
-	77, 83, 87, 100, 104, 109, 115, 119, 
-	48, 57, 9, 32, 40, 41, 1034, 1083, 
-	48, 57, 1034, 896, 1151, 1034, 896, 1151, 
-	1034, 896, 1151, 32, 59, 9, 10, 40, 
-	41, 9, 32, 40, 41, 1034, 1083, 9, 
-	32, 40, 41, 1034, 1083, -128, 8, 11, 
-	58, 60, 127, 32, 59, 9, 10, 40, 
-	41, 1034, 896, 1151, 42, 92, 95, 45, 
-	57, 64, 90, 97, 122, 9, 32, 40, 
-	41, 1034, 1083, 9, 32, 40, 41, 42, 
-	92, 95, 1034, 1083, 45, 57, 64, 90, 
-	97, 122, 32, 59, 9, 10, 40, 41, 
-	1034, 896, 1151, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
+	1034, 1083, 48, 57, 1034, 896, 1151, 1034, 
+	896, 1151, 1034, 896, 1151, 32, 59, 9, 
+	10, 40, 41, 9, 32, 40, 41, 1034, 
+	1083, 9, 32, 40, 41, 1034, 1083, -128, 
+	8, 11, 58, 60, 127, 32, 59, 9, 
+	10, 40, 41, 1034, 896, 1151, 42, 92, 
+	95, 45, 57, 64, 90, 97, 122, 9, 
+	32, 40, 41, 1034, 1083, 9, 32, 40, 
 	41, 42, 92, 95, 1034, 1083, 45, 57, 
 	64, 90, 97, 122, 32, 59, 9, 10, 
-	40, 41, 1034, 896, 1151, 32, 59, 9, 
-	10, 40, 41, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, -128, 
-	8, 11, 58, 60, 127, 1034, 896, 1151, 
-	46, 48, 58, 65, 70, 97, 102, 32, 
-	46, 59, 9, 10, 40, 41, 48, 58, 
-	65, 70, 97, 102, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 78, 83, 1034, 1083, 48, 57, 
+	40, 41, 1034, 896, 1151, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 42, 92, 95, 1034, 1083, 
+	45, 57, 64, 90, 97, 122, 32, 59, 
+	9, 10, 40, 41, 1034, 896, 1151, 32, 
+	59, 9, 10, 40, 41, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 9, 
+	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
+	2619, -128, 8, 11, 58, 60, 127, 1034, 
+	896, 1151, 46, 48, 58, 65, 70, 97, 
+	102, 32, 46, 59, 9, 10, 40, 41, 
+	48, 58, 65, 70, 97, 102, 48, 57, 
 	9, 32, 40, 41, 1034, 1083, 48, 57, 
 	9, 32, 40, 41, 78, 83, 1034, 1083, 
-	48, 57, 9, 32, 40, 41, 46, 1034, 
-	1083, 48, 57, 9, 32, 40, 41, 78, 
-	83, 1034, 1083, 9, 32, 40, 41, 1034, 
-	1083, 9, 32, 40, 41, 1034, 1083, 48, 
-	57, 9, 32, 40, 41, 1034, 1083, 48, 
-	57, 9, 32, 40, 41, 69, 87, 1034, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 78, 83, 
+	1034, 1083, 48, 57, 9, 32, 40, 41, 
+	46, 1034, 1083, 48, 57, 9, 32, 40, 
+	41, 78, 83, 1034, 1083, 9, 32, 40, 
+	41, 1034, 1083, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 69, 
 	87, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 46, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 69, 87, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 9, 32, 40, 41, 
-	45, 1034, 1083, 48, 57, 48, 57, 9, 
-	32, 40, 41, 46, 109, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
+	41, 1034, 1083, 48, 57, 9, 32, 40, 
+	41, 69, 87, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 46, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 69, 87, 1034, 1083, 
+	9, 32, 40, 41, 1034, 1083, 9, 32, 
+	40, 41, 45, 1034, 1083, 48, 57, 48, 
 	57, 9, 32, 40, 41, 46, 109, 2058, 
 	2107, 2314, 2363, 2570, 2619, 48, 57, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
@@ -2092,546 +2126,555 @@ static const short _zone_scanner_trans_keys[] = {
 	2363, 2570, 2619, 48, 57, 9, 32, 40, 
 	41, 46, 109, 2058, 2107, 2314, 2363, 2570, 
 	2619, 48, 57, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 1034, 896, 1151, 
-	9, 32, 40, 41, 109, 2058, 2107, 2314, 
+	2107, 2314, 2363, 2570, 2619, 48, 57, 9, 
+	32, 40, 41, 46, 109, 2058, 2107, 2314, 
 	2363, 2570, 2619, 48, 57, 9, 32, 40, 
-	41, 109, 2058, 2107, 2314, 2363, 2570, 2619, 
-	48, 57, 1034, 896, 1151, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 1034, 
+	896, 1151, 9, 32, 40, 41, 109, 2058, 
+	2107, 2314, 2363, 2570, 2619, 48, 57, 9, 
+	32, 40, 41, 109, 2058, 2107, 2314, 2363, 
+	2570, 2619, 48, 57, 1034, 896, 1151, 9, 
+	32, 40, 41, 109, 2058, 2107, 2314, 2363, 
+	2570, 2619, 48, 57, 9, 32, 40, 41, 
+	109, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
+	57, 9, 32, 40, 41, 2058, 2107, 2314, 
+	2363, 2570, 2619, 1034, 896, 1151, 9, 32, 
+	40, 41, 109, 2058, 2107, 2314, 2363, 2570, 
+	2619, 48, 57, 9, 32, 40, 41, 109, 
+	2058, 2107, 2314, 2363, 2570, 2619, 48, 57, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 1034, 896, 1151, 9, 32, 40, 
 	41, 109, 2058, 2107, 2314, 2363, 2570, 2619, 
 	48, 57, 9, 32, 40, 41, 109, 2058, 
 	2107, 2314, 2363, 2570, 2619, 48, 57, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
 	2619, 1034, 896, 1151, 9, 32, 40, 41, 
-	109, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
-	57, 9, 32, 40, 41, 109, 2058, 2107, 
-	2314, 2363, 2570, 2619, 48, 57, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	1034, 896, 1151, 9, 32, 40, 41, 109, 
-	2058, 2107, 2314, 2363, 2570, 2619, 48, 57, 
-	9, 32, 40, 41, 109, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 1034, 
-	896, 1151, 9, 32, 40, 41, 1034, 1083, 
-	1034, 896, 1151, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 1034, 896, 1151, 1034, 896, 
-	1151, 1034, 896, 1151, 9, 32, 40, 41, 
 	1034, 1083, 1034, 896, 1151, 9, 32, 40, 
 	41, 1034, 1083, 48, 57, 9, 32, 40, 
 	41, 1034, 1083, 48, 57, 1034, 896, 1151, 
-	1034, 896, 1151, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 42, 92, 95, 1034, 1083, 45, 57, 
-	64, 90, 97, 122, 32, 59, 9, 10, 
-	40, 41, 1034, 896, 1151, 1034, 896, 1151, 
-	1034, 896, 1151, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, 48, 57, 9, 32, 40, 
-	41, 1034, 1083, -128, 8, 11, 58, 60, 
-	127, 9, 32, 40, 41, 1034, 1083, 9, 
+	1034, 896, 1151, 1034, 896, 1151, 9, 32, 
+	40, 41, 1034, 1083, 1034, 896, 1151, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 1034, 
+	896, 1151, 1034, 896, 1151, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 42, 92, 95, 1034, 1083, 
+	45, 57, 64, 90, 97, 122, 32, 59, 
+	9, 10, 40, 41, 1034, 896, 1151, 1034, 
+	896, 1151, 1034, 896, 1151, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
 	32, 40, 41, 1034, 1083, -128, 8, 11, 
 	58, 60, 127, 9, 32, 40, 41, 1034, 
 	1083, 9, 32, 40, 41, 1034, 1083, -128, 
 	8, 11, 58, 60, 127, 9, 32, 40, 
-	41, 1034, 1083, 9, 32, 40, 41, 42, 
-	92, 95, 1034, 1083, 45, 57, 64, 90, 
-	97, 122, 32, 59, 9, 10, 40, 41, 
-	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
-	1151, 1034, 896, 1151, 1034, 896, 1151, 48, 
-	57, 65, 90, 97, 122, 9, 32, 40, 
 	41, 1034, 1083, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 9, 32, 40, 41, 1034, 
-	1083, 48, 57, 65, 90, 97, 122, 9, 
+	1083, -128, 8, 11, 58, 60, 127, 9, 
+	32, 40, 41, 1034, 1083, 9, 32, 40, 
+	41, 42, 92, 95, 1034, 1083, 45, 57, 
+	64, 90, 97, 122, 32, 59, 9, 10, 
+	40, 41, 1034, 896, 1151, 1034, 896, 1151, 
+	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
+	1151, 48, 57, 65, 90, 97, 122, 9, 
 	32, 40, 41, 1034, 1083, 9, 32, 40, 
-	41, 43, 1034, 1083, 47, 57, 65, 90, 
-	97, 122, 1546, 1595, 1034, 896, 1151, 1034, 
-	896, 1151, 1034, 896, 1151, 9, 32, 33, 
-	40, 41, 49, 50, 2058, 2107, 2314, 2363, 
-	2570, 2619, 49, 50, 58, 46, 48, 57, 
-	47, 46, 57, 48, 57, 9, 32, 40, 
-	41, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
-	57, 1034, 896, 1151, 58, 46, 48, 58, 
-	65, 70, 97, 102, 47, 46, 58, 65, 
-	70, 97, 102, 48, 57, 9, 32, 40, 
+	41, 1034, 1083, 48, 57, 9, 32, 40, 
 	41, 1034, 1083, 48, 57, 9, 32, 40, 
 	41, 1034, 1083, 48, 57, 65, 90, 97, 
 	122, 9, 32, 40, 41, 1034, 1083, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 43, 1034, 1083, 47, 57, 
+	65, 90, 97, 122, 1546, 1595, 1034, 896, 
+	1151, 1034, 896, 1151, 1034, 896, 1151, 9, 
+	32, 33, 40, 41, 49, 50, 2058, 2107, 
+	2314, 2363, 2570, 2619, 49, 50, 58, 46, 
+	48, 57, 47, 46, 57, 48, 57, 9, 
+	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
+	2619, 48, 57, 1034, 896, 1151, 58, 46, 
+	48, 58, 65, 70, 97, 102, 47, 46, 
+	58, 65, 70, 97, 102, 48, 57, 9, 
 	32, 40, 41, 1034, 1083, 48, 57, 9, 
 	32, 40, 41, 1034, 1083, 48, 57, 65, 
-	70, 97, 102, 48, 57, 65, 70, 97, 
-	102, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 65, 70, 97, 
-	102, 1034, 896, 1151, 1034, 896, 1151, 1034, 
-	896, 1151, 1034, 896, 1151, 48, 57, 9, 
+	90, 97, 122, 9, 32, 40, 41, 1034, 
+	1083, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 65, 70, 97, 102, 48, 57, 65, 
+	70, 97, 102, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 48, 57, 65, 
+	70, 97, 102, 1034, 896, 1151, 1034, 896, 
+	1151, 1034, 896, 1151, 1034, 896, 1151, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 9, 32, 40, 41, 1034, 1083, 48, 
+	57, 65, 70, 97, 102, 48, 57, 65, 
+	70, 97, 102, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 48, 57, 65, 
+	70, 97, 102, 1034, 896, 1151, 1034, 896, 
+	1151, 1034, 896, 1151, 48, 57, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 9, 32, 
+	40, 41, 48, 49, 50, 51, 1034, 1083, 
+	9, 32, 40, 41, 1034, 1083, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 9, 32, 
+	40, 41, 46, 1034, 1083, 6153, 6176, 6184, 
+	6185, 6409, 6432, 6440, 6441, 6665, 6688, 6696, 
+	6697, 9482, 9531, 9738, 9787, 10250, 10299, 10506, 
+	10555, 10762, 10811, 11274, 11323, 11530, 11579, 11786, 
+	11835, 12298, 12347, 12554, 12603, 12810, 12859, 3081, 
+	3104, 3112, 3113, 3115, 4106, 4155, 3119, 3129, 
+	3137, 3162, 3169, 3194, 1546, 1595, 4106, 3968, 
+	4223, 4617, 4640, 4648, 4649, 13578, 13627, 13834, 
+	13883, 14346, 14395, 14602, 14651, 14858, 14907, 5642, 
+	5504, 5759, 3115, 6153, 6176, 6184, 6185, 6409, 
+	6432, 6440, 6441, 6665, 6688, 6696, 6697, 9482, 
+	9531, 9738, 9787, 10250, 10299, 10506, 10555, 10762, 
+	10811, 11274, 11323, 11530, 11579, 11786, 11835, 12298, 
+	12347, 12554, 12603, 12810, 12859, 3119, 3129, 3137, 
+	3162, 3169, 3194, 7690, 8202, 8714, 7552, 7807, 
+	8064, 8319, 8576, 8831, 1034, 896, 1151, 1034, 
+	896, 1151, 9, 32, 40, 41, 1034, 1083, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 46, 1034, 1083, 48, 
+	57, 46, 6153, 6176, 6184, 6185, 6409, 6432, 
+	6440, 6441, 6665, 6688, 6696, 6697, 9482, 9531, 
+	9738, 9787, 10250, 10299, 10506, 10555, 10762, 10811, 
+	11274, 11323, 11530, 11579, 11786, 11835, 12298, 12347, 
+	12554, 12603, 12810, 12859, 48, 57, 1034, 896, 
+	1151, 1034, 896, 1151, 9, 32, 40, 41, 
+	1034, 1083, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 46, 1034, 
+	1083, 48, 58, 65, 70, 97, 102, 46, 
+	6153, 6176, 6184, 6185, 6409, 6432, 6440, 6441, 
+	6665, 6688, 6696, 6697, 9482, 9531, 9738, 9787, 
+	10250, 10299, 10506, 10555, 10762, 10811, 11274, 11323, 
+	11530, 11579, 11786, 11835, 12298, 12347, 12554, 12603, 
+	12810, 12859, 48, 58, 65, 70, 97, 102, 
+	1034, 896, 1151, 1034, 896, 1151, 9, 32, 
+	40, 41, 1034, 1083, 9, 32, 40, 41, 
+	1034, 1083, 48, 57, 9, 32, 40, 41, 
+	1034, 1083, 48, 57, 9, 32, 40, 41, 
+	42, 92, 95, 1034, 1083, 45, 57, 64, 
+	90, 97, 122, 6153, 6176, 6184, 6185, 6409, 
+	6432, 6440, 6441, 6665, 6688, 6696, 6697, 9482, 
+	9531, 9738, 9787, 10250, 10299, 10506, 10555, 10762, 
+	10811, 11274, 11323, 11530, 11579, 11786, 11835, 12298, 
+	12347, 12554, 12603, 12810, 12859, 1034, 896, 1151, 
+	1034, 896, 1151, 1034, 896, 1151, 65, 67, 
+	68, 69, 72, 73, 75, 76, 77, 78, 
+	80, 82, 83, 84, 97, 99, 100, 101, 
+	104, 105, 107, 108, 109, 110, 112, 114, 
+	115, 116, 9, 32, 40, 41, 65, 70, 
+	80, 97, 102, 112, 1034, 1083, 9, 32, 
+	40, 41, 1034, 1083, 48, 57, 65, 90, 
+	97, 122, 9, 32, 40, 41, 1034, 1083, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 1034, 1083, 48, 57, 
+	9, 32, 40, 41, 42, 92, 95, 1034, 
+	1083, 45, 57, 64, 90, 97, 122, 9, 
+	32, 40, 41, 1034, 1083, 9, 32, 40, 
+	41, 43, 1034, 1083, 47, 57, 65, 90, 
+	97, 122, 1546, 1595, 1034, 896, 1151, 1034, 
+	896, 1151, 1034, 896, 1151, 1034, 896, 1151, 
+	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
+	1151, 1034, 896, 1151, 65, 97, 65, 97, 
+	9, 32, 40, 41, 1034, 1083, 83, 115, 
+	68, 100, 66, 98, 9, 32, 40, 41, 
+	1034, 1083, 76, 108, 9, 32, 40, 41, 
+	1034, 1083, 68, 69, 78, 100, 101, 110, 
+	78, 83, 110, 115, 83, 115, 75, 107, 
+	69, 101, 89, 121, 9, 32, 40, 41, 
+	1034, 1083, 9, 32, 40, 41, 1034, 1083, 
+	82, 114, 84, 116, 9, 32, 40, 41, 
+	1034, 1083, 65, 97, 77, 109, 69, 101, 
+	9, 32, 40, 41, 1034, 1083, 72, 78, 
+	83, 104, 110, 115, 67, 99, 73, 105, 
+	68, 100, 9, 32, 40, 41, 1034, 1083, 
+	65, 83, 97, 115, 77, 109, 69, 101, 
+	9, 32, 40, 41, 1034, 1083, 75, 107, 
+	69, 101, 89, 121, 9, 32, 40, 41, 
+	1034, 1083, 9, 32, 40, 41, 1034, 1083, 
+	85, 117, 73, 105, 52, 54, 56, 9, 
+	32, 40, 41, 1034, 1083, 52, 9, 32, 
+	40, 41, 1034, 1083, 73, 105, 78, 110, 
+	70, 102, 79, 111, 9, 32, 40, 41, 
+	1034, 1083, 80, 112, 83, 115, 69, 101, 
+	67, 99, 75, 107, 69, 101, 89, 121, 
+	9, 32, 40, 41, 1034, 1083, 69, 88, 
+	101, 120, 89, 121, 9, 32, 40, 41, 
+	1034, 1083, 9, 32, 40, 41, 1034, 1083, 
+	51, 54, 79, 80, 111, 112, 50, 9, 
+	32, 40, 41, 1034, 1083, 52, 9, 32, 
+	40, 41, 1034, 1083, 67, 99, 9, 32, 
+	40, 41, 1034, 1083, 9, 32, 40, 41, 
+	1034, 1083, 73, 88, 105, 120, 78, 110, 
+	70, 102, 79, 111, 9, 32, 40, 41, 
+	1034, 1083, 9, 32, 40, 41, 1034, 1083, 
+	65, 73, 83, 97, 105, 115, 80, 112, 
+	84, 116, 82, 114, 9, 32, 40, 41, 
+	1034, 1083, 68, 100, 9, 32, 40, 41, 
+	1034, 1083, 9, 32, 40, 41, 69, 101, 
+	1034, 1083, 67, 99, 9, 32, 40, 41, 
+	51, 1034, 1083, 9, 32, 40, 41, 80, 
+	112, 1034, 1083, 65, 97, 82, 114, 65, 
+	97, 77, 109, 9, 32, 40, 41, 1034, 
+	1083, 84, 116, 82, 114, 9, 32, 40, 
+	41, 1034, 1083, 80, 82, 84, 112, 114, 
+	116, 9, 32, 40, 41, 1034, 1083, 83, 
+	115, 73, 105, 71, 103, 9, 32, 40, 
+	41, 1034, 1083, 9, 32, 40, 41, 1034, 
+	1083, 79, 80, 82, 83, 111, 112, 114, 
+	115, 65, 97, 9, 32, 40, 41, 1034, 
+	1083, 70, 102, 9, 32, 40, 41, 1034, 
+	1083, 86, 118, 9, 32, 40, 41, 1034, 
+	1083, 72, 104, 70, 102, 80, 112, 9, 
+	32, 40, 41, 1034, 1083, 76, 88, 89, 
+	108, 120, 121, 83, 115, 65, 97, 9, 
+	32, 40, 41, 1034, 1083, 84, 116, 9, 
+	32, 40, 41, 1034, 1083, 80, 112, 69, 
+	101, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 42, 92, 95, 45, 57, 
+	64, 90, 97, 122, 32, 59, 9, 10, 
+	40, 41, 32, 59, 9, 10, 40, 41, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 65, 90, 97, 122, 9, 32, 
+	40, 41, 1034, 1083, 9, 32, 40, 41, 
+	43, 1034, 1083, 47, 57, 65, 90, 97, 
+	122, 1546, 1595, 1034, 896, 1151, 1034, 896, 
+	1151, 1034, 896, 1151, 43, 47, 57, 65, 
+	90, 97, 122, 1546, 1595, 48, 57, 9, 
 	32, 40, 41, 1034, 1083, 48, 57, 9, 
 	32, 40, 41, 1034, 1083, 48, 57, 9, 
 	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 65, 
-	70, 97, 102, 48, 57, 65, 70, 97, 
-	102, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 65, 70, 97, 
-	102, 1034, 896, 1151, 1034, 896, 1151, 1034, 
-	896, 1151, 48, 57, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 9, 32, 40, 41, 
-	48, 49, 50, 51, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 9, 32, 40, 41, 
-	46, 1034, 1083, 6153, 6176, 6184, 6185, 6409, 
-	6432, 6440, 6441, 6665, 6688, 6696, 6697, 9482, 
-	9531, 9738, 9787, 10250, 10299, 10506, 10555, 10762, 
-	10811, 11274, 11323, 11530, 11579, 11786, 11835, 12298, 
-	12347, 12554, 12603, 12810, 12859, 3081, 3104, 3112, 
-	3113, 3115, 4106, 4155, 3119, 3129, 3137, 3162, 
-	3169, 3194, 1546, 1595, 4106, 3968, 4223, 4617, 
-	4640, 4648, 4649, 13578, 13627, 13834, 13883, 14346, 
-	14395, 14602, 14651, 14858, 14907, 5642, 5504, 5759, 
-	3115, 6153, 6176, 6184, 6185, 6409, 6432, 6440, 
-	6441, 6665, 6688, 6696, 6697, 9482, 9531, 9738, 
-	9787, 10250, 10299, 10506, 10555, 10762, 10811, 11274, 
-	11323, 11530, 11579, 11786, 11835, 12298, 12347, 12554, 
-	12603, 12810, 12859, 3119, 3129, 3137, 3162, 3169, 
-	3194, 7690, 8202, 8714, 7552, 7807, 8064, 8319, 
-	8576, 8831, 1034, 896, 1151, 1034, 896, 1151, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 46, 1034, 1083, 48, 57, 46, 
-	6153, 6176, 6184, 6185, 6409, 6432, 6440, 6441, 
-	6665, 6688, 6696, 6697, 9482, 9531, 9738, 9787, 
-	10250, 10299, 10506, 10555, 10762, 10811, 11274, 11323, 
-	11530, 11579, 11786, 11835, 12298, 12347, 12554, 12603, 
-	12810, 12859, 48, 57, 1034, 896, 1151, 1034, 
-	896, 1151, 9, 32, 40, 41, 1034, 1083, 
-	9, 32, 40, 41, 1034, 1083, 48, 57, 
-	9, 32, 40, 41, 1034, 1083, 48, 57, 
-	9, 32, 40, 41, 46, 1034, 1083, 48, 
-	58, 65, 70, 97, 102, 46, 6153, 6176, 
-	6184, 6185, 6409, 6432, 6440, 6441, 6665, 6688, 
-	6696, 6697, 9482, 9531, 9738, 9787, 10250, 10299, 
-	10506, 10555, 10762, 10811, 11274, 11323, 11530, 11579, 
-	11786, 11835, 12298, 12347, 12554, 12603, 12810, 12859, 
-	48, 58, 65, 70, 97, 102, 1034, 896, 
-	1151, 1034, 896, 1151, 9, 32, 40, 41, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 1034, 1083, 48, 57, 9, 
+	32, 40, 41, 45, 1034, 1083, 48, 57, 
+	65, 70, 97, 102, 9, 32, 40, 41, 
 	1034, 1083, 9, 32, 40, 41, 1034, 1083, 
-	48, 57, 9, 32, 40, 41, 1034, 1083, 
-	48, 57, 9, 32, 40, 41, 42, 92, 
-	95, 1034, 1083, 45, 57, 64, 90, 97, 
-	122, 6153, 6176, 6184, 6185, 6409, 6432, 6440, 
-	6441, 6665, 6688, 6696, 6697, 9482, 9531, 9738, 
-	9787, 10250, 10299, 10506, 10555, 10762, 10811, 11274, 
-	11323, 11530, 11579, 11786, 11835, 12298, 12347, 12554, 
-	12603, 12810, 12859, 1034, 896, 1151, 1034, 896, 
-	1151, 1034, 896, 1151, 65, 67, 68, 69, 
-	72, 73, 75, 76, 77, 78, 80, 82, 
-	83, 84, 97, 99, 100, 101, 104, 105, 
-	107, 108, 109, 110, 112, 114, 115, 116, 
-	9, 32, 40, 41, 65, 70, 80, 97, 
-	102, 112, 1034, 1083, 9, 32, 40, 41, 
-	1034, 1083, 48, 57, 65, 90, 97, 122, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 42, 92, 95, 1034, 1083, 45, 
-	57, 64, 90, 97, 122, 9, 32, 40, 
-	41, 1034, 1083, 9, 32, 40, 41, 43, 
-	1034, 1083, 47, 57, 65, 90, 97, 122, 
-	1546, 1595, 1034, 896, 1151, 1034, 896, 1151, 
+	48, 57, 65, 86, 97, 118, 48, 57, 
+	65, 86, 97, 118, 61, 48, 57, 65, 
+	86, 97, 118, 48, 57, 65, 86, 97, 
+	118, 61, 48, 57, 65, 86, 97, 118, 
+	61, 48, 57, 65, 86, 97, 118, 48, 
+	57, 65, 86, 97, 118, 61, 48, 57, 
+	65, 86, 97, 118, 32, 59, 9, 10, 
+	40, 41, 48, 57, 65, 86, 97, 118, 
+	32, 59, 9, 10, 40, 41, 61, 61, 
+	61, 61, 61, 1034, 896, 1151, 48, 57, 
+	65, 70, 97, 102, 9, 32, 40, 41, 
+	1034, 1083, 48, 57, 65, 70, 97, 102, 
 	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
-	1151, 1034, 896, 1151, 1034, 896, 1151, 1034, 
-	896, 1151, 65, 97, 65, 97, 9, 32, 
-	40, 41, 1034, 1083, 83, 115, 68, 100, 
-	66, 98, 9, 32, 40, 41, 1034, 1083, 
-	76, 108, 9, 32, 40, 41, 1034, 1083, 
-	69, 78, 101, 110, 82, 114, 84, 116, 
-	9, 32, 40, 41, 1034, 1083, 65, 97, 
-	77, 109, 69, 101, 9, 32, 40, 41, 
-	1034, 1083, 72, 78, 83, 104, 110, 115, 
-	67, 99, 73, 105, 68, 100, 9, 32, 
-	40, 41, 1034, 1083, 65, 83, 97, 115, 
-	77, 109, 69, 101, 9, 32, 40, 41, 
-	1034, 1083, 75, 107, 69, 101, 89, 121, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 85, 117, 73, 105, 
-	52, 54, 56, 9, 32, 40, 41, 1034, 
-	1083, 52, 9, 32, 40, 41, 1034, 1083, 
-	73, 105, 78, 110, 70, 102, 79, 111, 
-	9, 32, 40, 41, 1034, 1083, 80, 112, 
-	83, 115, 69, 101, 67, 99, 75, 107, 
-	69, 101, 89, 121, 9, 32, 40, 41, 
-	1034, 1083, 69, 88, 101, 120, 89, 121, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 51, 54, 79, 80, 
-	111, 112, 50, 9, 32, 40, 41, 1034, 
-	1083, 52, 9, 32, 40, 41, 1034, 1083, 
-	67, 99, 9, 32, 40, 41, 1034, 1083, 
-	9, 32, 40, 41, 1034, 1083, 73, 88, 
-	105, 120, 78, 110, 70, 102, 79, 111, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 65, 73, 83, 97, 
-	105, 115, 80, 112, 84, 116, 82, 114, 
-	9, 32, 40, 41, 1034, 1083, 68, 100, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 69, 101, 1034, 1083, 67, 99, 
-	9, 32, 40, 41, 51, 1034, 1083, 9, 
-	32, 40, 41, 80, 112, 1034, 1083, 65, 
-	97, 82, 114, 65, 97, 77, 109, 9, 
-	32, 40, 41, 1034, 1083, 84, 116, 82, 
-	114, 9, 32, 40, 41, 1034, 1083, 80, 
-	82, 84, 112, 114, 116, 9, 32, 40, 
-	41, 1034, 1083, 83, 115, 73, 105, 71, 
-	103, 9, 32, 40, 41, 1034, 1083, 9, 
-	32, 40, 41, 1034, 1083, 79, 80, 82, 
-	83, 111, 112, 114, 115, 65, 97, 9, 
-	32, 40, 41, 1034, 1083, 70, 102, 9, 
-	32, 40, 41, 1034, 1083, 86, 118, 9, 
-	32, 40, 41, 1034, 1083, 72, 104, 70, 
-	102, 80, 112, 9, 32, 40, 41, 1034, 
-	1083, 76, 88, 89, 108, 120, 121, 83, 
-	115, 65, 97, 9, 32, 40, 41, 1034, 
-	1083, 84, 116, 9, 32, 40, 41, 1034, 
-	1083, 80, 112, 69, 101, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 42, 
-	92, 95, 45, 57, 64, 90, 97, 122, 
-	32, 59, 9, 10, 40, 41, 32, 59, 
-	9, 10, 40, 41, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 65, 90, 
-	97, 122, 9, 32, 40, 41, 1034, 1083, 
-	9, 32, 40, 41, 43, 1034, 1083, 47, 
-	57, 65, 90, 97, 122, 1546, 1595, 1034, 
-	896, 1151, 1034, 896, 1151, 1034, 896, 1151, 
-	43, 47, 57, 65, 90, 97, 122, 1546, 
-	1595, 48, 57, 9, 32, 40, 41, 1034, 
+	1151, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 1034, 
 	1083, 48, 57, 9, 32, 40, 41, 45, 
 	1034, 1083, 48, 57, 65, 70, 97, 102, 
-	9, 32, 40, 41, 1034, 1083, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 65, 86, 
-	97, 118, 48, 57, 65, 86, 97, 118, 
-	61, 48, 57, 65, 86, 97, 118, 48, 
-	57, 65, 86, 97, 118, 61, 48, 57, 
-	65, 86, 97, 118, 61, 48, 57, 65, 
-	86, 97, 118, 48, 57, 65, 86, 97, 
-	118, 61, 48, 57, 65, 86, 97, 118, 
 	32, 59, 9, 10, 40, 41, 48, 57, 
-	65, 86, 97, 118, 32, 59, 9, 10, 
-	40, 41, 61, 61, 61, 61, 61, 1034, 
-	896, 1151, 48, 57, 65, 70, 97, 102, 
-	9, 32, 40, 41, 1034, 1083, 48, 57, 
-	65, 70, 97, 102, 1034, 896, 1151, 1034, 
-	896, 1151, 1034, 896, 1151, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 45, 1034, 1083, 48, 57, 
 	65, 70, 97, 102, 32, 59, 9, 10, 
 	40, 41, 48, 57, 65, 70, 97, 102, 
-	32, 59, 9, 10, 40, 41, 48, 57, 
-	65, 70, 97, 102, 1034, 896, 1151, 1034, 
-	896, 1151, 1034, 896, 1151, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 65, 
-	70, 97, 102, 48, 57, 65, 70, 97, 
-	102, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 65, 70, 97, 
-	102, 1034, 896, 1151, 1034, 896, 1151, 1034, 
-	896, 1151, 1034, 896, 1151, 48, 57, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 9, 
-	32, 40, 41, 46, 1034, 1083, 48, 57, 
-	32, 46, 59, 9, 10, 40, 41, 48, 
-	57, 1034, 896, 1151, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 9, 32, 
-	40, 41, 1034, 1083, 48, 57, 65, 70, 
-	97, 102, 48, 57, 65, 70, 97, 102, 
+	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
+	1151, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 65, 70, 97, 102, 48, 
+	57, 65, 70, 97, 102, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
+	57, 65, 70, 97, 102, 1034, 896, 1151, 
+	1034, 896, 1151, 1034, 896, 1151, 1034, 896, 
+	1151, 48, 57, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 9, 32, 40, 41, 46, 
+	1034, 1083, 48, 57, 32, 46, 59, 9, 
+	10, 40, 41, 48, 57, 1034, 896, 1151, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
+	48, 57, 9, 32, 40, 41, 1034, 1083, 
 	48, 57, 65, 70, 97, 102, 48, 57, 
-	65, 70, 97, 102, 58, 48, 57, 65, 
-	70, 97, 102, 48, 57, 65, 70, 97, 
-	102, 48, 57, 65, 70, 97, 102, 48, 
-	57, 65, 70, 97, 102, 32, 58, 59, 
-	9, 10, 40, 41, 1034, 896, 1151, 48, 
-	57, 65, 70, 97, 102, 48, 57, 65, 
-	70, 97, 102, 45, 48, 57, 65, 70, 
+	65, 70, 97, 102, 48, 57, 65, 70, 
 	97, 102, 48, 57, 65, 70, 97, 102, 
-	32, 45, 59, 9, 10, 40, 41, 48, 
+	58, 48, 57, 65, 70, 97, 102, 48, 
 	57, 65, 70, 97, 102, 48, 57, 65, 
-	70, 97, 102, 45, 48, 57, 65, 70, 
-	97, 102, 48, 57, 65, 70, 97, 102, 
-	32, 45, 59, 9, 10, 40, 41, 9, 
-	32, 36, 40, 41, 42, 92, 95, 778, 
-	827, 1034, 1083, 45, 57, 64, 90, 97, 
-	122, 9, 32, 36, 40, 41, 42, 58, 
-	92, 95, 1802, 1851, 2058, 2107, 2314, 2363, 
-	2570, 2619, -128, 8, 11, 44, 45, 57, 
-	60, 63, 64, 90, 91, 96, 97, 122, 
-	123, 127, 9, 32, 36, 40, 41, 42, 
-	65, 67, 68, 69, 72, 73, 75, 76, 
-	77, 78, 80, 82, 83, 84, 92, 95, 
-	97, 99, 100, 101, 104, 105, 107, 108, 
-	109, 110, 112, 114, 115, 116, 778, 827, 
-	1034, 1083, 45, 57, 64, 90, 98, 122, 
-	9, 32, 36, 40, 41, 42, 65, 67, 
-	68, 69, 72, 73, 75, 76, 77, 78, 
-	80, 82, 83, 84, 92, 95, 97, 99, 
-	100, 101, 104, 105, 107, 108, 109, 110, 
-	112, 114, 115, 116, 778, 827, 1034, 1083, 
-	45, 47, 48, 57, 64, 90, 98, 122, 
-	9, 32, 36, 40, 41, 42, 92, 95, 
-	778, 827, 1034, 1083, 45, 57, 64, 90, 
-	97, 122, 9, 32, 36, 40, 41, 42, 
+	70, 97, 102, 48, 57, 65, 70, 97, 
+	102, 32, 58, 59, 9, 10, 40, 41, 
+	1034, 896, 1151, 48, 57, 65, 70, 97, 
+	102, 48, 57, 65, 70, 97, 102, 45, 
+	48, 57, 65, 70, 97, 102, 48, 57, 
+	65, 70, 97, 102, 32, 45, 59, 9, 
+	10, 40, 41, 48, 57, 65, 70, 97, 
+	102, 48, 57, 65, 70, 97, 102, 45, 
+	48, 57, 65, 70, 97, 102, 48, 57, 
+	65, 70, 97, 102, 32, 45, 59, 9, 
+	10, 40, 41, 9, 32, 36, 40, 41, 
+	42, 92, 95, 778, 827, 1034, 1083, 45, 
+	57, 64, 90, 97, 122, 9, 32, 36, 
+	40, 41, 42, 58, 92, 95, 1802, 1851, 
+	2058, 2107, 2314, 2363, 2570, 2619, -128, 8, 
+	11, 44, 45, 57, 60, 63, 64, 90, 
+	91, 96, 97, 122, 123, 127, 9, 32, 
+	36, 40, 41, 42, 65, 67, 68, 69, 
+	72, 73, 75, 76, 77, 78, 80, 82, 
+	83, 84, 92, 95, 97, 99, 100, 101, 
+	104, 105, 107, 108, 109, 110, 112, 114, 
+	115, 116, 778, 827, 1034, 1083, 45, 57, 
+	64, 90, 98, 122, 9, 32, 36, 40, 
+	41, 42, 65, 67, 68, 69, 72, 73, 
+	75, 76, 77, 78, 80, 82, 83, 84, 
+	92, 95, 97, 99, 100, 101, 104, 105, 
+	107, 108, 109, 110, 112, 114, 115, 116, 
+	778, 827, 1034, 1083, 45, 47, 48, 57, 
+	64, 90, 98, 122, 9, 32, 36, 40, 
+	41, 42, 92, 95, 778, 827, 1034, 1083, 
+	45, 57, 64, 90, 97, 122, 9, 32, 
+	36, 40, 41, 42, 65, 67, 68, 69, 
+	72, 73, 75, 76, 77, 78, 80, 82, 
+	83, 84, 92, 95, 97, 99, 100, 101, 
+	104, 105, 107, 108, 109, 110, 112, 114, 
+	115, 116, 778, 827, 1034, 1083, 45, 47, 
+	48, 57, 64, 90, 98, 122, 9, 32, 
+	36, 40, 41, 42, 92, 95, 778, 827, 
+	1034, 1083, 45, 57, 64, 90, 97, 122, 
+	9, 32, 36, 40, 41, 42, 58, 92, 
+	95, 1802, 1851, 2058, 2107, 2314, 2363, 2570, 
+	2619, -128, 8, 11, 44, 45, 57, 60, 
+	63, 64, 90, 91, 96, 97, 122, 123, 
+	127, 9, 32, 36, 40, 41, 42, 58, 
 	65, 67, 68, 69, 72, 73, 75, 76, 
 	77, 78, 80, 82, 83, 84, 92, 95, 
 	97, 99, 100, 101, 104, 105, 107, 108, 
-	109, 110, 112, 114, 115, 116, 778, 827, 
-	1034, 1083, 45, 47, 48, 57, 64, 90, 
-	98, 122, 9, 32, 36, 40, 41, 42, 
-	92, 95, 778, 827, 1034, 1083, 45, 57, 
-	64, 90, 97, 122, 9, 32, 36, 40, 
-	41, 42, 58, 92, 95, 1802, 1851, 2058, 
+	109, 110, 112, 114, 115, 116, 1802, 1851, 
+	2058, 2107, 2314, 2363, 2570, 2619, -128, 8, 
+	11, 44, 45, 47, 48, 57, 60, 63, 
+	64, 90, 91, 96, 98, 122, 123, 127, 
+	9, 32, 36, 40, 41, 42, 58, 65, 
+	67, 68, 69, 72, 73, 75, 76, 77, 
+	78, 80, 82, 83, 84, 92, 95, 97, 
+	99, 100, 101, 104, 105, 107, 108, 109, 
+	110, 112, 114, 115, 116, 1802, 1851, 2058, 
 	2107, 2314, 2363, 2570, 2619, -128, 8, 11, 
-	44, 45, 57, 60, 63, 64, 90, 91, 
-	96, 97, 122, 123, 127, 9, 32, 36, 
-	40, 41, 42, 58, 65, 67, 68, 69, 
-	72, 73, 75, 76, 77, 78, 80, 82, 
-	83, 84, 92, 95, 97, 99, 100, 101, 
-	104, 105, 107, 108, 109, 110, 112, 114, 
-	115, 116, 1802, 1851, 2058, 2107, 2314, 2363, 
-	2570, 2619, -128, 8, 11, 44, 45, 47, 
-	48, 57, 60, 63, 64, 90, 91, 96, 
-	98, 122, 123, 127, 9, 32, 36, 40, 
-	41, 42, 58, 65, 67, 68, 69, 72, 
+	44, 45, 47, 48, 57, 60, 63, 64, 
+	90, 91, 96, 98, 122, 123, 127, 32, 
+	33, 59, 92, 9, 10, 35, 39, 40, 
+	41, 42, 126, 9, 32, 40, 41, 42, 
+	46, 92, 95, 1034, 1083, 45, 57, 65, 
+	90, 97, 122, 9, 32, 40, 41, 43, 
+	2058, 2107, 2314, 2363, 2570, 2619, 47, 57, 
+	65, 90, 97, 122, 1034, 896, 1151, 9, 
+	32, 40, 41, 65, 67, 68, 69, 72, 
 	73, 75, 76, 77, 78, 80, 82, 83, 
-	84, 92, 95, 97, 99, 100, 101, 104, 
-	105, 107, 108, 109, 110, 112, 114, 115, 
-	116, 1802, 1851, 2058, 2107, 2314, 2363, 2570, 
-	2619, -128, 8, 11, 44, 45, 47, 48, 
-	57, 60, 63, 64, 90, 91, 96, 98, 
-	122, 123, 127, 32, 33, 59, 92, 9, 
-	10, 35, 39, 40, 41, 42, 126, 9, 
-	32, 40, 41, 42, 46, 92, 95, 1034, 
-	1083, 45, 57, 65, 90, 97, 122, 9, 
-	32, 40, 41, 43, 2058, 2107, 2314, 2363, 
-	2570, 2619, 47, 57, 65, 90, 97, 122, 
-	1034, 896, 1151, 9, 32, 40, 41, 65, 
-	67, 68, 69, 72, 73, 75, 76, 77, 
-	78, 80, 82, 83, 84, 97, 99, 100, 
-	101, 104, 105, 107, 108, 109, 110, 112, 
-	114, 115, 116, 2058, 2107, 2314, 2363, 2570, 
-	2619, 1034, 896, 1151, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 48, 57, 
-	65, 70, 97, 102, 1034, 896, 1151, 9, 
-	32, 40, 41, 1034, 1083, 48, 57, 65, 
-	70, 97, 102, 9, 32, 40, 41, 2058, 
-	2107, 2314, 2363, 2570, 2619, 48, 57, 65, 
-	70, 97, 102, 1034, 896, 1151, 1034, 896, 
-	1151, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, -128, 8, 11, 58, 60, 
-	127, 1034, 896, 1151, 9, 32, 40, 41, 
-	2058, 2107, 2314, 2363, 2570, 2619, 1034, 896, 
-	1151, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 1034, 896, 1151, 
+	84, 97, 99, 100, 101, 104, 105, 107, 
+	108, 109, 110, 112, 114, 115, 116, 2058, 
+	2107, 2314, 2363, 2570, 2619, 1034, 896, 1151, 
 	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
-	2570, 2619, 48, 57, 1034, 896, 1151, 9, 
-	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
-	2619, 48, 57, 1034, 896, 1151, 9, 32, 
-	33, 40, 41, 49, 50, 2058, 2107, 2314, 
-	2363, 2570, 2619, 1034, 896, 1151, 9, 32, 
-	40, 41, 2058, 2107, 2314, 2363, 2570, 2619, 
-	48, 57, 65, 70, 97, 102, 1034, 896, 
-	1151, 9, 32, 40, 41, 2058, 2107, 2314, 
-	2363, 2570, 2619, 48, 57, 65, 70, 97, 
-	102, 1034, 896, 1151, 4617, 4640, 4648, 4649, 
-	13578, 13627, 13834, 13883, 14346, 14395, 14602, 14651, 
-	14858, 14907, 5642, 5504, 5759, 3081, 3104, 3112, 
-	3113, 3115, 4106, 4155, 3119, 3129, 3137, 3162, 
-	3169, 3194, 4106, 3968, 4223, 3115, 6153, 6176, 
-	6184, 6185, 6409, 6432, 6440, 6441, 6665, 6688, 
-	6696, 6697, 9482, 9531, 9738, 9787, 10250, 10299, 
-	10506, 10555, 10762, 10811, 11274, 11323, 11530, 11579, 
-	11786, 11835, 12298, 12347, 12554, 12603, 12810, 12859, 
-	3119, 3129, 3137, 3162, 3169, 3194, 7690, 8202, 
-	8714, 7552, 7807, 8064, 8319, 8576, 8831, 9, 
+	2570, 2619, 48, 57, 65, 70, 97, 102, 
+	1034, 896, 1151, 9, 32, 40, 41, 1034, 
+	1083, 48, 57, 65, 70, 97, 102, 9, 
 	32, 40, 41, 2058, 2107, 2314, 2363, 2570, 
 	2619, 48, 57, 65, 70, 97, 102, 1034, 
-	896, 1151, 0
+	896, 1151, 1034, 896, 1151, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, -128, 
+	8, 11, 58, 60, 127, 1034, 896, 1151, 
+	9, 32, 40, 41, 2058, 2107, 2314, 2363, 
+	2570, 2619, 1034, 896, 1151, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
+	57, 1034, 896, 1151, 9, 32, 40, 41, 
+	2058, 2107, 2314, 2363, 2570, 2619, 48, 57, 
+	1034, 896, 1151, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 48, 57, 1034, 
+	896, 1151, 9, 32, 33, 40, 41, 49, 
+	50, 2058, 2107, 2314, 2363, 2570, 2619, 1034, 
+	896, 1151, 9, 32, 40, 41, 2058, 2107, 
+	2314, 2363, 2570, 2619, 48, 57, 65, 70, 
+	97, 102, 1034, 896, 1151, 9, 32, 40, 
+	41, 2058, 2107, 2314, 2363, 2570, 2619, 48, 
+	57, 65, 70, 97, 102, 1034, 896, 1151, 
+	4617, 4640, 4648, 4649, 13578, 13627, 13834, 13883, 
+	14346, 14395, 14602, 14651, 14858, 14907, 5642, 5504, 
+	5759, 3081, 3104, 3112, 3113, 3115, 4106, 4155, 
+	3119, 3129, 3137, 3162, 3169, 3194, 4106, 3968, 
+	4223, 3115, 6153, 6176, 6184, 6185, 6409, 6432, 
+	6440, 6441, 6665, 6688, 6696, 6697, 9482, 9531, 
+	9738, 9787, 10250, 10299, 10506, 10555, 10762, 10811, 
+	11274, 11323, 11530, 11579, 11786, 11835, 12298, 12347, 
+	12554, 12603, 12810, 12859, 3119, 3129, 3137, 3162, 
+	3169, 3194, 7690, 8202, 8714, 7552, 7807, 8064, 
+	8319, 8576, 8831, 9, 32, 40, 41, 2058, 
+	2107, 2314, 2363, 2570, 2619, 48, 57, 65, 
+	70, 97, 102, 1034, 896, 1151, 0
 };
 
 static const char _zone_scanner_single_lengths[] = {
 	0, 36, 16, 34, 16, 11, 8, 8, 
 	1, 1, 1, 13, 2, 42, 18, 36, 
-	4, 2, 2, 10, 12, 2, 2, 2, 
-	10, 6, 2, 2, 2, 10, 4, 2, 
-	2, 10, 2, 2, 2, 10, 10, 2, 
-	2, 2, 1, 10, 1, 10, 2, 2, 
-	2, 2, 10, 4, 6, 34, 2, 2, 
-	2, 2, 2, 2, 2, 10, 4, 2, 
-	10, 10, 6, 1, 10, 1, 10, 2, 
-	10, 10, 4, 2, 2, 2, 10, 10, 
-	6, 2, 2, 2, 10, 2, 10, 12, 
-	2, 11, 12, 2, 2, 2, 2, 10, 
-	2, 2, 10, 6, 10, 2, 2, 2, 
-	10, 10, 8, 2, 10, 2, 10, 2, 
-	10, 2, 2, 2, 10, 6, 2, 2, 
-	10, 2, 10, 2, 2, 0, 10, 1, 
-	36, 4, 6, 34, 16, 6, 10, 6, 
-	1, 1, 6, 2, 2, 2, 2, 2, 
-	2, 2, 6, 34, 1, 16, 34, 1, 
-	6, 10, 6, 1, 16, 40, 18, 13, 
-	36, 2, 8, 8, 42, 12, 14, 10, 
-	10, 12, 12, 14, 12, 14, 10, 14, 
-	16, 14, 2, 14, 2, 2, 2, 2, 
-	2, 2, 2, 2, 2, 8, 18, 36, 
-	2, 18, 42, 12, 14, 10, 10, 12, 
-	12, 14, 12, 14, 10, 14, 16, 14, 
-	9, 36, 12, 12, 10, 2, 2, 10, 
-	2, 2, 2, 10, 2, 10, 2, 8, 
-	8, 12, 10, 1, 12, 10, 12, 8, 
-	8, 10, 10, 12, 10, 12, 8, 12, 
-	14, 12, 2, 2, 10, 2, 1, 1, 
-	5, 6, 6, 0, 0, 0, 6, 2, 
-	2, 2, 4, 0, 0, 0, 4, 4, 
-	2, 0, 0, 0, 4, 6, 6, 18, 
-	8, 1, 8, 10, 8, 1, 6, 10, 
-	4, 12, 8, 1, 0, 0, 0, 4, 
-	8, 1, 6, 6, 8, 12, 4, 12, 
-	8, 1, 0, 0, 0, 4, 8, 2, 
-	10, 1, 1, 1, 1, 2, 2, 11, 
-	1, 1, 10, 38, 16, 2, 2, 10, 
-	1, 4, 2, 2, 10, 2, 2, 2, 
-	10, 6, 2, 2, 2, 10, 4, 2, 
-	2, 10, 2, 2, 2, 10, 10, 2, 
-	2, 2, 1, 10, 1, 10, 2, 2, 
-	2, 2, 10, 2, 2, 2, 2, 2, 
-	2, 2, 10, 4, 2, 10, 10, 6, 
-	1, 10, 1, 10, 2, 10, 10, 4, 
-	2, 2, 2, 10, 10, 6, 2, 2, 
-	2, 10, 2, 10, 12, 2, 11, 12, 
-	2, 2, 2, 2, 10, 2, 2, 10, 
-	6, 10, 2, 2, 2, 10, 10, 8, 
-	2, 10, 2, 10, 2, 10, 2, 2, 
-	2, 10, 6, 2, 2, 10, 2, 10, 
-	2, 2, 0, 10, 2, 2, 2, 10, 
-	2, 10, 6, 6, 6, 6, 0, 10, 
-	1, 1, 1, 6, 7, 8, 6, 0, 
-	10, 1, 1, 6, 1, 10, 2, 4, 
-	2, 2, 3, 2, 2, 2, 2, 1, 
-	1, 2, 2, 2, 1, 2, 2, 4, 
-	1, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 1, 1, 2, 2, 2, 1, 
-	1, 1, 2, 1, 1, 2, 2, 2, 
-	1, 1, 1, 2, 2, 2, 2, 2, 
+	6, 4, 2, 2, 2, 2, 10, 12, 
+	10, 2, 2, 10, 2, 2, 2, 10, 
+	6, 2, 2, 2, 10, 4, 2, 2, 
+	10, 2, 2, 2, 10, 10, 2, 2, 
+	2, 1, 10, 1, 10, 2, 2, 2, 
+	2, 10, 4, 6, 34, 2, 2, 2, 
+	2, 2, 2, 2, 10, 4, 2, 10, 
+	10, 6, 1, 10, 1, 10, 2, 10, 
+	10, 4, 2, 2, 2, 10, 10, 6, 
+	2, 2, 2, 10, 2, 10, 12, 2, 
+	11, 12, 2, 2, 2, 2, 10, 2, 
+	2, 10, 6, 10, 2, 2, 2, 10, 
+	10, 8, 2, 10, 2, 10, 2, 10, 
+	2, 2, 2, 10, 6, 2, 2, 10, 
+	2, 10, 2, 2, 0, 10, 1, 36, 
+	4, 6, 34, 16, 6, 10, 6, 1, 
+	1, 6, 2, 2, 2, 2, 2, 2, 
+	2, 6, 34, 1, 16, 34, 1, 6, 
+	10, 6, 1, 16, 40, 18, 13, 36, 
+	2, 8, 8, 42, 14, 14, 10, 10, 
+	12, 12, 14, 12, 14, 10, 14, 16, 
+	14, 2, 14, 2, 2, 2, 2, 2, 
+	2, 2, 2, 2, 8, 18, 36, 2, 
+	18, 42, 14, 14, 10, 10, 12, 12, 
+	14, 12, 14, 10, 14, 16, 14, 9, 
+	36, 12, 12, 10, 2, 2, 10, 2, 
+	2, 2, 10, 2, 10, 2, 8, 8, 
+	12, 10, 1, 12, 12, 12, 8, 8, 
+	10, 10, 12, 10, 12, 8, 12, 14, 
+	12, 2, 2, 10, 2, 1, 1, 5, 
+	6, 6, 0, 0, 0, 6, 2, 2, 
+	2, 4, 0, 0, 0, 4, 4, 2, 
+	0, 0, 0, 4, 6, 6, 18, 8, 
+	1, 8, 10, 8, 1, 6, 10, 4, 
+	12, 8, 1, 0, 0, 0, 4, 8, 
+	1, 6, 6, 8, 12, 4, 12, 8, 
+	1, 0, 0, 0, 4, 8, 2, 10, 
+	1, 1, 1, 1, 2, 2, 11, 1, 
+	1, 10, 38, 16, 2, 2, 10, 1, 
+	6, 4, 2, 2, 2, 2, 10, 10, 
+	2, 2, 10, 2, 2, 2, 10, 6, 
+	2, 2, 2, 10, 4, 2, 2, 10, 
+	2, 2, 2, 10, 10, 2, 2, 2, 
+	1, 10, 1, 10, 2, 2, 2, 2, 
+	10, 2, 2, 2, 2, 2, 2, 2, 
+	10, 4, 2, 10, 10, 6, 1, 10, 
+	1, 10, 2, 10, 10, 4, 2, 2, 
+	2, 10, 10, 6, 2, 2, 2, 10, 
+	2, 10, 12, 2, 11, 12, 2, 2, 
+	2, 2, 10, 2, 2, 10, 6, 10, 
+	2, 2, 2, 10, 10, 8, 2, 10, 
+	2, 10, 2, 10, 2, 2, 2, 10, 
+	6, 2, 2, 10, 2, 10, 2, 2, 
+	0, 10, 2, 2, 2, 10, 2, 10, 
+	6, 6, 6, 6, 0, 10, 1, 1, 
+	1, 6, 7, 8, 6, 0, 10, 1, 
+	1, 6, 1, 10, 2, 4, 2, 2, 
+	3, 2, 2, 2, 2, 1, 1, 2, 
+	2, 2, 1, 2, 2, 4, 1, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 4, 2, 2, 2, 2, 2, 
-	2, 2, 2, 4, 2, 1, 2, 2, 
-	2, 3, 3, 2, 2, 2, 2, 1, 
-	1, 2, 2, 2, 1, 2, 1, 1, 
-	2, 1, 1, 2, 12, 2, 2, 2, 
-	2, 2, 2, 2, 6, 2, 2, 2, 
-	2, 2, 2, 4, 2, 2, 2, 2, 
+	1, 1, 2, 2, 2, 1, 1, 1, 
+	2, 1, 1, 2, 2, 2, 1, 1, 
+	1, 2, 2, 2, 2, 2, 2, 2, 
 	2, 2, 2, 2, 2, 2, 2, 2, 
 	4, 2, 2, 2, 2, 2, 2, 2, 
-	2, 2, 2, 2, 2, 1, 3, 3, 
-	2, 3, 6, 9, 6, 6, 6, 6, 
-	16, 6, 16, 6, 16, 6, 12, 2, 
-	10, 2, 1, 6, 10, 6, 1, 6, 
-	10, 6, 1, 6, 10, 6, 1, 1, 
-	1, 2, 6, 6, 2, 1, 3, 6, 
-	9, 2, 1, 0, 6, 9, 2, 1, 
-	2, 10, 10, 1, 1, 3, 0, 6, 
-	8, 6, 8, 7, 8, 6, 6, 6, 
-	8, 6, 8, 7, 8, 6, 7, 0, 
-	12, 10, 12, 10, 12, 10, 12, 10, 
-	1, 11, 11, 1, 11, 11, 10, 1, 
-	11, 11, 10, 1, 11, 11, 10, 1, 
-	6, 1, 6, 6, 1, 1, 1, 6, 
-	1, 6, 6, 1, 1, 0, 6, 6, 
-	6, 6, 6, 9, 2, 1, 1, 1, 
-	0, 6, 6, 6, 6, 6, 6, 6, 
-	6, 6, 9, 2, 1, 1, 1, 1, 
-	1, 0, 6, 6, 6, 6, 6, 7, 
-	2, 1, 1, 1, 13, 2, 1, 1, 
-	1, 0, 10, 1, 1, 1, 1, 0, 
-	6, 6, 6, 6, 6, 6, 0, 10, 
-	1, 1, 1, 1, 0, 6, 6, 6, 
-	6, 0, 10, 1, 1, 1, 0, 6, 
-	10, 6, 6, 6, 7, 34, 7, 2, 
-	1, 14, 1, 35, 3, 1, 1, 6, 
-	6, 6, 7, 35, 1, 1, 6, 6, 
-	6, 7, 35, 1, 1, 6, 6, 6, 
-	9, 34, 1, 1, 1, 28, 12, 6, 
+	2, 4, 2, 1, 2, 2, 2, 3, 
+	3, 2, 2, 2, 2, 1, 1, 2, 
+	2, 2, 1, 2, 1, 1, 2, 1, 
+	1, 2, 12, 2, 2, 2, 2, 2, 
+	2, 2, 6, 2, 2, 2, 2, 2, 
+	2, 4, 2, 2, 2, 2, 2, 2, 
+	2, 2, 2, 2, 2, 2, 4, 2, 
+	2, 2, 2, 2, 2, 2, 2, 2, 
+	2, 2, 2, 1, 3, 3, 2, 3, 
+	6, 9, 6, 6, 6, 6, 16, 6, 
+	16, 6, 16, 6, 12, 2, 10, 2, 
+	1, 6, 10, 6, 1, 6, 10, 6, 
+	1, 6, 10, 6, 1, 1, 1, 2, 
+	6, 6, 2, 1, 3, 6, 9, 2, 
+	1, 0, 6, 9, 2, 1, 2, 10, 
+	10, 1, 1, 3, 0, 6, 8, 6, 
+	8, 7, 8, 6, 6, 6, 8, 6, 
+	8, 7, 8, 6, 7, 0, 12, 10, 
+	12, 10, 12, 10, 12, 10, 1, 11, 
+	11, 1, 11, 11, 10, 1, 11, 11, 
+	10, 1, 11, 11, 10, 1, 6, 1, 
+	6, 6, 1, 1, 1, 6, 1, 6, 
+	6, 1, 1, 0, 6, 6, 6, 6, 
+	6, 9, 2, 1, 1, 1, 0, 6, 
 	6, 6, 6, 6, 6, 6, 6, 6, 
-	6, 6, 6, 9, 6, 7, 2, 1, 
-	1, 1, 1, 1, 1, 1, 1, 2, 
-	2, 6, 2, 2, 2, 6, 2, 6, 
-	4, 2, 2, 6, 2, 2, 2, 6, 
-	6, 2, 2, 2, 6, 4, 2, 2, 
-	6, 2, 2, 2, 6, 6, 2, 2, 
-	2, 1, 6, 1, 6, 2, 2, 2, 
-	2, 6, 2, 2, 2, 2, 2, 2, 
-	2, 6, 4, 2, 6, 6, 6, 1, 
-	6, 1, 6, 2, 6, 6, 4, 2, 
-	2, 2, 6, 6, 6, 2, 2, 2, 
-	6, 2, 6, 8, 2, 7, 8, 2, 
-	2, 2, 2, 6, 2, 2, 6, 6, 
-	6, 2, 2, 2, 6, 6, 8, 2, 
-	6, 2, 6, 2, 6, 2, 2, 2, 
-	6, 6, 2, 2, 6, 2, 6, 2, 
-	2, 0, 6, 3, 2, 2, 0, 6, 
-	6, 6, 6, 6, 7, 2, 1, 1, 
-	1, 1, 2, 0, 6, 6, 6, 6, 
-	6, 7, 6, 6, 0, 1, 0, 1, 
-	1, 0, 1, 2, 2, 1, 1, 1, 
-	1, 1, 1, 0, 6, 1, 1, 1, 
-	0, 6, 6, 6, 6, 6, 7, 2, 
-	0, 2, 1, 1, 1, 0, 6, 6, 
+	9, 2, 1, 1, 1, 1, 1, 0, 
+	6, 6, 6, 6, 6, 7, 2, 1, 
+	1, 1, 13, 2, 1, 1, 1, 0, 
+	10, 1, 1, 1, 1, 0, 6, 6, 
 	6, 6, 6, 6, 0, 10, 1, 1, 
-	1, 1, 0, 6, 7, 3, 1, 0, 
-	6, 6, 0, 0, 0, 1, 0, 0, 
-	0, 0, 3, 1, 0, 0, 1, 0, 
-	0, 3, 0, 0, 1, 0, 0, 3, 
-	12, 17, 40, 40, 12, 40, 12, 17, 
-	45, 45, 0, 0, 0, 4, 0, 0, 
-	0, 10, 0, 11, 1, 0, 38, 1, 
-	0, 10, 1, 6, 0, 10, 1, 1, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 10, 1, 0, 0, 10, 1, 10, 
-	1, 10, 1, 10, 1, 0, 0, 0, 
-	0, 13, 1, 0, 10, 1, 0, 10, 
-	1, 0, 14, 1, 7, 1, 35, 3, 
-	0, 0, 0, 0, 0, 0, 0, 10, 
-	1, 0, 0, 0, 0
+	1, 1, 0, 6, 6, 6, 6, 0, 
+	10, 1, 1, 1, 0, 6, 10, 6, 
+	6, 6, 7, 34, 7, 2, 1, 14, 
+	1, 35, 3, 1, 1, 6, 6, 6, 
+	7, 35, 1, 1, 6, 6, 6, 7, 
+	35, 1, 1, 6, 6, 6, 9, 34, 
+	1, 1, 1, 28, 12, 6, 6, 6, 
+	6, 6, 6, 6, 6, 6, 6, 6, 
+	6, 9, 6, 7, 2, 1, 1, 1, 
+	1, 1, 1, 1, 1, 2, 2, 6, 
+	2, 2, 2, 6, 2, 6, 6, 4, 
+	2, 2, 2, 2, 6, 6, 2, 2, 
+	6, 2, 2, 2, 6, 6, 2, 2, 
+	2, 6, 4, 2, 2, 6, 2, 2, 
+	2, 6, 6, 2, 2, 2, 1, 6, 
+	1, 6, 2, 2, 2, 2, 6, 2, 
+	2, 2, 2, 2, 2, 2, 6, 4, 
+	2, 6, 6, 6, 1, 6, 1, 6, 
+	2, 6, 6, 4, 2, 2, 2, 6, 
+	6, 6, 2, 2, 2, 6, 2, 6, 
+	8, 2, 7, 8, 2, 2, 2, 2, 
+	6, 2, 2, 6, 6, 6, 2, 2, 
+	2, 6, 6, 8, 2, 6, 2, 6, 
+	2, 6, 2, 2, 2, 6, 6, 2, 
+	2, 6, 2, 6, 2, 2, 0, 6, 
+	3, 2, 2, 0, 6, 6, 6, 6, 
+	6, 7, 2, 1, 1, 1, 1, 2, 
+	0, 6, 6, 6, 6, 6, 7, 6, 
+	6, 0, 1, 0, 1, 1, 0, 1, 
+	2, 2, 1, 1, 1, 1, 1, 1, 
+	0, 6, 1, 1, 1, 0, 6, 6, 
+	6, 6, 6, 7, 2, 0, 2, 1, 
+	1, 1, 0, 6, 6, 6, 6, 6, 
+	6, 0, 10, 1, 1, 1, 1, 0, 
+	6, 7, 3, 1, 0, 6, 6, 0, 
+	0, 0, 1, 0, 0, 0, 0, 3, 
+	1, 0, 0, 1, 0, 0, 3, 0, 
+	0, 1, 0, 0, 3, 12, 17, 40, 
+	40, 12, 40, 12, 17, 45, 45, 0, 
+	0, 0, 4, 0, 0, 0, 10, 0, 
+	11, 1, 0, 38, 1, 0, 10, 1, 
+	6, 0, 10, 1, 1, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 10, 1, 
+	0, 0, 10, 1, 10, 1, 10, 1, 
+	10, 1, 0, 0, 0, 0, 13, 1, 
+	0, 10, 1, 0, 10, 1, 0, 14, 
+	1, 7, 1, 35, 3, 0, 0, 0, 
+	0, 0, 0, 0, 10, 1, 0, 0, 
+	0, 0
 };
 
 static const char _zone_scanner_range_lengths[] = {
 	0, 1, 1, 0, 0, 3, 0, 0, 
 	0, 0, 1, 3, 2, 4, 1, 0, 
-	0, 0, 0, 0, 1, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 1, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
@@ -2644,32 +2687,32 @@ static const char _zone_scanner_range_lengths[] = {
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 1, 1, 
-	1, 0, 0, 1, 1, 1, 1, 1, 
-	1, 0, 0, 0, 0, 0, 0, 0, 
-	0, 2, 0, 1, 1, 1, 1, 1, 
-	1, 1, 1, 1, 0, 4, 0, 3, 
-	1, 2, 3, 3, 4, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 2, 0, 0, 0, 0, 0, 
-	0, 2, 0, 0, 2, 0, 1, 1, 
-	2, 0, 4, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 1, 1, 1, 1, 
+	0, 0, 1, 1, 1, 1, 1, 1, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	3, 1, 1, 1, 2, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 2, 3, 
-	3, 2, 2, 1, 1, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 2, 2, 0, 2, 0, 0, 
-	3, 5, 5, 1, 1, 1, 5, 2, 
-	2, 2, 4, 1, 1, 1, 4, 1, 
-	2, 1, 1, 1, 1, 0, 1, 1, 
-	0, 0, 1, 1, 1, 1, 0, 3, 
-	3, 3, 0, 0, 1, 1, 1, 3, 
-	0, 1, 0, 3, 0, 3, 3, 3, 
-	0, 0, 1, 1, 1, 3, 0, 2, 
-	3, 1, 1, 3, 3, 3, 3, 3, 
-	1, 0, 0, 0, 0, 0, 0, 0, 
-	1, 0, 0, 0, 0, 0, 0, 0, 
+	2, 0, 1, 1, 1, 1, 1, 1, 
+	1, 1, 1, 0, 4, 0, 3, 1, 
+	2, 3, 3, 4, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 2, 0, 0, 0, 0, 0, 0, 
+	2, 0, 0, 2, 0, 1, 1, 2, 
+	0, 4, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 3, 
+	1, 1, 1, 2, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 2, 3, 3, 
+	2, 2, 1, 1, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 2, 2, 0, 2, 0, 0, 3, 
+	5, 5, 1, 1, 1, 5, 2, 2, 
+	2, 4, 1, 1, 1, 4, 1, 2, 
+	1, 1, 1, 1, 0, 1, 1, 0, 
+	0, 1, 1, 1, 1, 0, 3, 3, 
+	3, 0, 0, 1, 1, 1, 3, 0, 
+	1, 0, 3, 0, 3, 3, 3, 0, 
+	0, 1, 1, 1, 3, 0, 2, 3, 
+	1, 1, 3, 3, 3, 3, 3, 1, 
+	0, 0, 0, 0, 0, 0, 0, 1, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
@@ -2682,59 +2725,60 @@ static const char _zone_scanner_range_lengths[] = {
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 1, 1, 0, 0, 0, 0, 
-	0, 0, 0, 1, 1, 3, 3, 3, 
-	1, 1, 1, 0, 1, 1, 3, 3, 
-	3, 1, 1, 1, 1, 1, 3, 0, 
-	2, 0, 2, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 2, 0, 0, 
-	0, 0, 0, 0, 0, 2, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 2, 0, 0, 0, 0, 0, 
-	0, 0, 0, 2, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	1, 1, 0, 0, 0, 0, 0, 0, 
+	0, 1, 1, 3, 3, 3, 1, 1, 
+	1, 0, 1, 1, 3, 3, 3, 1, 
+	1, 1, 1, 1, 3, 0, 2, 0, 
+	2, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 2, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 2, 0, 0, 
-	2, 0, 0, 0, 0, 0, 2, 0, 
-	0, 0, 2, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 2, 0, 0, 
-	2, 0, 0, 2, 1, 3, 0, 0, 
 	0, 0, 0, 2, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	2, 0, 0, 0, 0, 0, 0, 0, 
+	0, 2, 0, 0, 0, 0, 0, 0, 
+	0, 2, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 2, 0, 0, 2, 0, 
+	0, 0, 0, 0, 2, 0, 0, 0, 
+	2, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 2, 0, 0, 2, 0, 
+	0, 2, 1, 3, 0, 0, 0, 0, 
+	0, 2, 0, 0, 0, 0, 0, 0, 
+	2, 0, 0, 2, 0, 0, 2, 0, 
 	0, 0, 2, 0, 0, 2, 0, 0, 
-	2, 0, 0, 0, 2, 0, 0, 2, 
-	0, 0, 2, 0, 0, 2, 0, 0, 
-	0, 2, 0, 0, 2, 1, 3, 3, 
-	2, 3, 0, 3, 0, 1, 1, 1, 
-	1, 1, 1, 1, 1, 1, 3, 3, 
-	1, 3, 1, 1, 1, 1, 1, 1, 
+	2, 0, 0, 2, 0, 0, 0, 2, 
+	0, 0, 2, 1, 3, 3, 2, 3, 
+	0, 3, 0, 1, 1, 1, 1, 1, 
+	1, 1, 1, 1, 3, 3, 1, 3, 
 	1, 1, 1, 1, 1, 1, 1, 1, 
-	1, 2, 0, 3, 2, 1, 3, 0, 
-	3, 2, 1, 1, 1, 3, 2, 1, 
-	2, 0, 3, 1, 3, 5, 1, 1, 
-	1, 1, 1, 1, 0, 0, 1, 1, 
-	1, 1, 1, 1, 0, 0, 1, 1, 
-	1, 1, 1, 1, 1, 1, 1, 0, 
-	1, 1, 1, 1, 1, 1, 0, 1, 
-	1, 1, 0, 1, 1, 1, 0, 1, 
-	0, 1, 1, 1, 1, 1, 1, 0, 
-	1, 1, 1, 1, 1, 1, 1, 1, 
-	1, 1, 1, 3, 2, 1, 1, 1, 
-	1, 1, 1, 1, 3, 0, 3, 0, 
-	3, 0, 3, 2, 1, 1, 1, 1, 
-	1, 3, 0, 1, 1, 3, 0, 3, 
-	0, 1, 1, 1, 0, 0, 0, 1, 
-	1, 1, 1, 1, 0, 3, 3, 1, 
-	1, 3, 0, 1, 1, 3, 3, 3, 
+	1, 1, 1, 1, 1, 1, 1, 2, 
+	0, 3, 2, 1, 3, 0, 3, 2, 
+	1, 1, 1, 3, 2, 1, 2, 0, 
+	3, 1, 3, 5, 1, 1, 1, 1, 
+	1, 1, 0, 0, 1, 1, 1, 1, 
+	1, 1, 0, 0, 1, 1, 1, 1, 
+	1, 1, 1, 1, 1, 0, 1, 1, 
+	1, 1, 1, 1, 0, 1, 1, 1, 
+	0, 1, 1, 1, 0, 1, 0, 1, 
+	1, 1, 1, 1, 1, 0, 1, 1, 
 	1, 1, 1, 1, 1, 1, 1, 1, 
-	3, 3, 3, 1, 1, 1, 1, 1, 
-	0, 0, 1, 1, 0, 0, 3, 0, 
-	1, 0, 1, 3, 3, 1, 1, 0, 
-	1, 1, 1, 1, 1, 1, 0, 1, 
+	1, 3, 2, 1, 1, 1, 1, 1, 
+	1, 1, 3, 0, 3, 0, 3, 0, 
+	3, 2, 1, 1, 1, 1, 1, 3, 
+	0, 1, 1, 3, 0, 3, 0, 1, 
+	1, 1, 0, 0, 0, 1, 1, 1, 
+	1, 1, 0, 3, 3, 1, 1, 3, 
+	0, 1, 1, 3, 3, 3, 1, 1, 
+	1, 1, 1, 1, 1, 1, 3, 3, 
+	3, 1, 1, 1, 1, 1, 0, 0, 
+	1, 1, 0, 0, 3, 0, 1, 0, 
 	1, 3, 3, 1, 1, 0, 1, 1, 
-	3, 0, 1, 1, 1, 0, 0, 3, 
-	0, 1, 1, 1, 1, 1, 1, 1, 
-	1, 1, 1, 3, 0, 3, 0, 1, 
-	1, 1, 1, 1, 1, 1, 1, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
+	1, 1, 1, 1, 0, 1, 1, 3, 
+	3, 1, 1, 0, 1, 1, 3, 0, 
+	1, 1, 1, 0, 0, 3, 0, 1, 
+	1, 1, 1, 1, 1, 1, 1, 1, 
+	1, 3, 0, 3, 0, 1, 1, 1, 
+	1, 1, 1, 1, 1, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
@@ -2748,176 +2792,181 @@ static const char _zone_scanner_range_lengths[] = {
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 1, 1, 3, 2, 2, 1, 1, 
-	1, 1, 3, 0, 3, 0, 1, 1, 
-	1, 3, 0, 1, 1, 1, 1, 1, 
-	1, 3, 0, 3, 3, 3, 3, 3, 
-	3, 3, 3, 5, 2, 0, 0, 0, 
-	0, 0, 1, 3, 3, 1, 1, 1, 
-	1, 1, 1, 1, 1, 1, 3, 2, 
-	3, 5, 1, 1, 1, 1, 1, 1, 
-	1, 1, 1, 3, 3, 3, 1, 1, 
-	1, 1, 1, 1, 1, 3, 1, 1, 
-	1, 3, 3, 3, 3, 0, 3, 3, 
-	3, 3, 2, 1, 3, 3, 0, 3, 
-	3, 2, 3, 3, 0, 3, 3, 2, 
-	3, 8, 3, 4, 3, 4, 3, 8, 
-	9, 9, 0, 0, 0, 4, 0, 0, 
-	0, 3, 0, 3, 1, 0, 0, 1, 
-	0, 3, 1, 3, 0, 3, 1, 1, 
 	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 3, 1, 0, 0, 0, 1, 1, 
-	1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 0, 3, 1, 0, 3, 
-	1, 0, 0, 1, 3, 1, 3, 3, 
-	0, 0, 0, 0, 0, 0, 0, 3, 
-	1, 0, 0, 0, 0
+	0, 0, 0, 0, 0, 0, 1, 1, 
+	3, 2, 2, 1, 1, 1, 1, 3, 
+	0, 3, 0, 1, 1, 1, 3, 0, 
+	1, 1, 1, 1, 1, 1, 3, 0, 
+	3, 3, 3, 3, 3, 3, 3, 3, 
+	5, 2, 0, 0, 0, 0, 0, 1, 
+	3, 3, 1, 1, 1, 1, 1, 1, 
+	1, 1, 1, 3, 2, 3, 5, 1, 
+	1, 1, 1, 1, 1, 1, 1, 1, 
+	3, 3, 3, 1, 1, 1, 1, 1, 
+	1, 1, 3, 1, 1, 1, 3, 3, 
+	3, 3, 0, 3, 3, 3, 3, 2, 
+	1, 3, 3, 0, 3, 3, 2, 3, 
+	3, 0, 3, 3, 2, 3, 8, 3, 
+	4, 3, 4, 3, 8, 9, 9, 0, 
+	0, 0, 4, 0, 0, 0, 3, 0, 
+	3, 1, 0, 0, 1, 0, 3, 1, 
+	3, 0, 3, 1, 1, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 3, 1, 
+	0, 0, 0, 1, 1, 1, 1, 1, 
+	1, 1, 0, 0, 0, 0, 0, 1, 
+	0, 3, 1, 0, 3, 1, 0, 0, 
+	1, 3, 1, 3, 3, 0, 0, 0, 
+	0, 0, 0, 0, 3, 1, 0, 0, 
+	0, 0
 };
 
 static const short _zone_scanner_index_offsets[] = {
 	0, 0, 38, 56, 91, 108, 123, 132, 
 	141, 143, 145, 148, 165, 170, 217, 237, 
-	274, 279, 282, 285, 296, 310, 313, 316, 
-	319, 330, 337, 340, 343, 346, 357, 362, 
-	365, 368, 379, 382, 385, 388, 399, 410, 
-	413, 416, 419, 421, 432, 434, 445, 448, 
-	451, 454, 457, 468, 473, 480, 515, 518, 
-	521, 524, 527, 530, 533, 536, 547, 552, 
-	555, 566, 577, 584, 586, 597, 599, 610, 
-	613, 624, 635, 640, 643, 646, 649, 660, 
-	671, 678, 681, 684, 687, 698, 701, 712, 
-	725, 728, 740, 753, 756, 759, 762, 765, 
-	776, 779, 782, 793, 800, 811, 814, 817, 
-	820, 831, 842, 851, 854, 865, 868, 879, 
-	882, 893, 896, 899, 902, 913, 920, 923, 
-	926, 937, 940, 951, 954, 957, 959, 971, 
-	974, 1012, 1017, 1024, 1060, 1078, 1086, 1098, 
-	1106, 1109, 1111, 1118, 1121, 1124, 1127, 1130, 
-	1133, 1136, 1141, 1148, 1184, 1187, 1205, 1241, 
-	1244, 1252, 1264, 1272, 1275, 1292, 1337, 1356, 
-	1373, 1411, 1416, 1428, 1440, 1487, 1500, 1515, 
-	1526, 1537, 1550, 1563, 1578, 1591, 1606, 1617, 
-	1632, 1649, 1664, 1669, 1684, 1687, 1690, 1693, 
-	1696, 1699, 1704, 1707, 1710, 1715, 1724, 1744, 
-	1782, 1787, 1806, 1853, 1866, 1881, 1892, 1903, 
-	1916, 1929, 1944, 1957, 1972, 1983, 1998, 2015, 
-	2030, 2043, 2081, 2095, 2109, 2122, 2125, 2128, 
-	2139, 2142, 2145, 2148, 2159, 2162, 2173, 2178, 
-	2190, 2202, 2217, 2230, 2233, 2247, 2258, 2271, 
-	2280, 2289, 2300, 2311, 2324, 2335, 2348, 2357, 
-	2370, 2385, 2398, 2403, 2408, 2419, 2424, 2426, 
-	2428, 2437, 2449, 2461, 2463, 2465, 2467, 2479, 
-	2484, 2489, 2494, 2503, 2505, 2507, 2509, 2518, 
-	2524, 2529, 2531, 2533, 2535, 2541, 2548, 2556, 
-	2576, 2585, 2587, 2597, 2609, 2619, 2622, 2629, 
-	2643, 2651, 2667, 2676, 2678, 2680, 2682, 2684, 
-	2692, 2701, 2704, 2711, 2721, 2730, 2746, 2754, 
-	2770, 2779, 2781, 2783, 2785, 2787, 2795, 2804, 
-	2809, 2823, 2826, 2829, 2834, 2839, 2845, 2851, 
-	2866, 2869, 2871, 2882, 2921, 2938, 2941, 2944, 
-	2955, 2958, 2963, 2966, 2969, 2980, 2983, 2986, 
-	2989, 3000, 3007, 3010, 3013, 3016, 3027, 3032, 
-	3035, 3038, 3049, 3052, 3055, 3058, 3069, 3080, 
-	3083, 3086, 3089, 3091, 3102, 3104, 3115, 3118, 
-	3121, 3124, 3127, 3138, 3141, 3144, 3147, 3150, 
-	3153, 3156, 3159, 3170, 3175, 3178, 3189, 3200, 
-	3207, 3209, 3220, 3222, 3233, 3236, 3247, 3258, 
-	3263, 3266, 3269, 3272, 3283, 3294, 3301, 3304, 
-	3307, 3310, 3321, 3324, 3335, 3348, 3351, 3363, 
-	3376, 3379, 3382, 3385, 3388, 3399, 3402, 3405, 
-	3416, 3423, 3434, 3437, 3440, 3443, 3454, 3465, 
-	3474, 3477, 3488, 3491, 3502, 3505, 3516, 3519, 
-	3522, 3525, 3536, 3543, 3546, 3549, 3560, 3563, 
-	3574, 3577, 3580, 3582, 3594, 3597, 3600, 3603, 
-	3614, 3617, 3628, 3635, 3643, 3651, 3661, 3665, 
-	3679, 3682, 3685, 3688, 3695, 3704, 3714, 3724, 
-	3728, 3742, 3745, 3748, 3756, 3759, 3771, 3777, 
-	3782, 3787, 3790, 3796, 3799, 3802, 3805, 3808, 
-	3810, 3812, 3815, 3818, 3821, 3823, 3828, 3831, 
-	3836, 3838, 3841, 3844, 3847, 3850, 3855, 3858, 
-	3861, 3864, 3867, 3869, 3871, 3874, 3877, 3880, 
-	3882, 3884, 3886, 3891, 3893, 3895, 3898, 3901, 
-	3904, 3906, 3908, 3910, 3915, 3918, 3921, 3924, 
-	3927, 3930, 3933, 3936, 3941, 3944, 3947, 3950, 
-	3953, 3956, 3959, 3964, 3967, 3970, 3975, 3978, 
-	3981, 3986, 3989, 3992, 3997, 4000, 4002, 4007, 
-	4010, 4013, 4017, 4023, 4026, 4029, 4032, 4035, 
-	4037, 4039, 4042, 4045, 4048, 4050, 4055, 4057, 
-	4059, 4064, 4066, 4068, 4073, 4087, 4093, 4096, 
-	4099, 4102, 4105, 4108, 4113, 4120, 4123, 4126, 
-	4129, 4132, 4135, 4140, 4145, 4148, 4153, 4156, 
-	4159, 4164, 4167, 4170, 4173, 4178, 4181, 4184, 
-	4189, 4194, 4197, 4202, 4205, 4208, 4213, 4216, 
-	4219, 4222, 4227, 4230, 4233, 4238, 4241, 4248, 
-	4255, 4260, 4267, 4274, 4287, 4294, 4302, 4310, 
-	4318, 4336, 4344, 4362, 4370, 4388, 4396, 4412, 
-	4418, 4430, 4436, 4439, 4447, 4459, 4467, 4470, 
-	4478, 4490, 4498, 4501, 4509, 4521, 4529, 4532, 
-	4535, 4538, 4543, 4550, 4560, 4565, 4568, 4575, 
-	4582, 4595, 4600, 4603, 4605, 4613, 4626, 4631, 
-	4634, 4639, 4650, 4664, 4667, 4672, 4681, 4683, 
-	4691, 4701, 4709, 4719, 4728, 4737, 4744, 4752, 
-	4760, 4770, 4778, 4788, 4797, 4806, 4813, 4822, 
-	4824, 4838, 4850, 4864, 4876, 4890, 4902, 4916, 
-	4927, 4930, 4943, 4956, 4959, 4972, 4985, 4996, 
-	4999, 5012, 5025, 5036, 5039, 5052, 5065, 5076, 
-	5079, 5086, 5089, 5097, 5105, 5108, 5111, 5114, 
-	5121, 5124, 5132, 5140, 5143, 5146, 5148, 5156, 
-	5164, 5172, 5180, 5188, 5201, 5206, 5209, 5212, 
-	5215, 5217, 5225, 5233, 5241, 5251, 5258, 5268, 
-	5275, 5285, 5292, 5305, 5310, 5313, 5316, 5319, 
-	5322, 5325, 5329, 5336, 5344, 5352, 5362, 5369, 
-	5380, 5383, 5386, 5389, 5392, 5406, 5409, 5411, 
-	5414, 5417, 5419, 5431, 5434, 5436, 5441, 5446, 
-	5448, 5456, 5466, 5473, 5481, 5489, 5499, 5503, 
-	5517, 5520, 5523, 5526, 5529, 5531, 5539, 5547, 
-	5555, 5565, 5569, 5583, 5586, 5589, 5592, 5594, 
-	5602, 5613, 5620, 5628, 5636, 5644, 5679, 5690, 
-	5693, 5696, 5711, 5714, 5753, 5760, 5763, 5766, 
-	5773, 5781, 5789, 5798, 5835, 5838, 5841, 5848, 
-	5856, 5864, 5875, 5914, 5917, 5920, 5927, 5935, 
-	5943, 5956, 5991, 5994, 5997, 6000, 6029, 6042, 
-	6052, 6059, 6067, 6075, 6083, 6091, 6099, 6107, 
-	6115, 6123, 6131, 6139, 6152, 6159, 6170, 6173, 
-	6176, 6179, 6182, 6185, 6188, 6191, 6194, 6197, 
-	6200, 6203, 6210, 6213, 6216, 6219, 6226, 6229, 
-	6236, 6241, 6244, 6247, 6254, 6257, 6260, 6263, 
-	6270, 6277, 6280, 6283, 6286, 6293, 6298, 6301, 
-	6304, 6311, 6314, 6317, 6320, 6327, 6334, 6337, 
-	6340, 6343, 6345, 6352, 6354, 6361, 6364, 6367, 
-	6370, 6373, 6380, 6383, 6386, 6389, 6392, 6395, 
-	6398, 6401, 6408, 6413, 6416, 6423, 6430, 6437, 
-	6439, 6446, 6448, 6455, 6458, 6465, 6472, 6477, 
-	6480, 6483, 6486, 6493, 6500, 6507, 6510, 6513, 
-	6516, 6523, 6526, 6533, 6542, 6545, 6553, 6562, 
-	6565, 6568, 6571, 6574, 6581, 6584, 6587, 6594, 
-	6601, 6608, 6611, 6614, 6617, 6624, 6631, 6640, 
-	6643, 6650, 6653, 6660, 6663, 6670, 6673, 6676, 
-	6679, 6686, 6693, 6696, 6699, 6706, 6709, 6716, 
-	6719, 6722, 6724, 6732, 6739, 6744, 6749, 6751, 
-	6759, 6767, 6775, 6785, 6792, 6803, 6806, 6809, 
-	6812, 6815, 6820, 6823, 6825, 6833, 6841, 6849, 
-	6857, 6865, 6876, 6883, 6893, 6897, 6902, 6906, 
-	6911, 6916, 6920, 6925, 6933, 6938, 6940, 6942, 
-	6944, 6946, 6948, 6951, 6955, 6965, 6968, 6971, 
-	6974, 6976, 6984, 6992, 7000, 7008, 7016, 7027, 
-	7032, 7036, 7044, 7047, 7050, 7053, 7055, 7063, 
-	7071, 7079, 7087, 7095, 7105, 7109, 7123, 7126, 
-	7129, 7132, 7135, 7137, 7145, 7154, 7161, 7164, 
-	7166, 7174, 7184, 7188, 7192, 7196, 7198, 7202, 
-	7206, 7210, 7214, 7220, 7223, 7227, 7231, 7233, 
-	7237, 7241, 7247, 7251, 7255, 7257, 7261, 7265, 
-	7271, 7287, 7313, 7357, 7402, 7418, 7463, 7479, 
-	7505, 7560, 7615, 7616, 7617, 7618, 7627, 7628, 
-	7629, 7630, 7644, 7645, 7660, 7663, 7664, 7703, 
-	7706, 7707, 7721, 7724, 7734, 7735, 7749, 7752, 
-	7755, 7756, 7757, 7758, 7759, 7760, 7761, 7762, 
-	7763, 7764, 7778, 7781, 7782, 7783, 7794, 7797, 
-	7809, 7812, 7824, 7827, 7839, 7842, 7843, 7844, 
-	7845, 7846, 7860, 7863, 7864, 7878, 7881, 7882, 
-	7896, 7899, 7900, 7915, 7918, 7929, 7932, 7971, 
-	7978, 7979, 7980, 7981, 7982, 7983, 7984, 7985, 
-	7999, 8002, 8003, 8004, 8005
+	274, 281, 286, 289, 292, 295, 298, 309, 
+	323, 334, 337, 340, 351, 354, 357, 360, 
+	371, 378, 381, 384, 387, 398, 403, 406, 
+	409, 420, 423, 426, 429, 440, 451, 454, 
+	457, 460, 462, 473, 475, 486, 489, 492, 
+	495, 498, 509, 514, 521, 556, 559, 562, 
+	565, 568, 571, 574, 577, 588, 593, 596, 
+	607, 618, 625, 627, 638, 640, 651, 654, 
+	665, 676, 681, 684, 687, 690, 701, 712, 
+	719, 722, 725, 728, 739, 742, 753, 766, 
+	769, 781, 794, 797, 800, 803, 806, 817, 
+	820, 823, 834, 841, 852, 855, 858, 861, 
+	872, 883, 892, 895, 906, 909, 920, 923, 
+	934, 937, 940, 943, 954, 961, 964, 967, 
+	978, 981, 992, 995, 998, 1000, 1012, 1015, 
+	1053, 1058, 1065, 1101, 1119, 1127, 1139, 1147, 
+	1150, 1152, 1159, 1162, 1165, 1168, 1171, 1174, 
+	1177, 1182, 1189, 1225, 1228, 1246, 1282, 1285, 
+	1293, 1305, 1313, 1316, 1333, 1378, 1397, 1414, 
+	1452, 1457, 1469, 1481, 1528, 1543, 1558, 1569, 
+	1580, 1593, 1606, 1621, 1634, 1649, 1660, 1675, 
+	1692, 1707, 1712, 1727, 1730, 1733, 1736, 1739, 
+	1742, 1747, 1750, 1753, 1758, 1767, 1787, 1825, 
+	1830, 1849, 1896, 1911, 1926, 1937, 1948, 1961, 
+	1974, 1989, 2002, 2017, 2028, 2043, 2060, 2075, 
+	2088, 2126, 2140, 2154, 2167, 2170, 2173, 2184, 
+	2187, 2190, 2193, 2204, 2207, 2218, 2223, 2235, 
+	2247, 2262, 2275, 2278, 2292, 2305, 2318, 2327, 
+	2336, 2347, 2358, 2371, 2382, 2395, 2404, 2417, 
+	2432, 2445, 2450, 2455, 2466, 2471, 2473, 2475, 
+	2484, 2496, 2508, 2510, 2512, 2514, 2526, 2531, 
+	2536, 2541, 2550, 2552, 2554, 2556, 2565, 2571, 
+	2576, 2578, 2580, 2582, 2588, 2595, 2603, 2623, 
+	2632, 2634, 2644, 2656, 2666, 2669, 2676, 2690, 
+	2698, 2714, 2723, 2725, 2727, 2729, 2731, 2739, 
+	2748, 2751, 2758, 2768, 2777, 2793, 2801, 2817, 
+	2826, 2828, 2830, 2832, 2834, 2842, 2851, 2856, 
+	2870, 2873, 2876, 2881, 2886, 2892, 2898, 2913, 
+	2916, 2918, 2929, 2968, 2985, 2988, 2991, 3002, 
+	3005, 3012, 3017, 3020, 3023, 3026, 3029, 3040, 
+	3051, 3054, 3057, 3068, 3071, 3074, 3077, 3088, 
+	3095, 3098, 3101, 3104, 3115, 3120, 3123, 3126, 
+	3137, 3140, 3143, 3146, 3157, 3168, 3171, 3174, 
+	3177, 3179, 3190, 3192, 3203, 3206, 3209, 3212, 
+	3215, 3226, 3229, 3232, 3235, 3238, 3241, 3244, 
+	3247, 3258, 3263, 3266, 3277, 3288, 3295, 3297, 
+	3308, 3310, 3321, 3324, 3335, 3346, 3351, 3354, 
+	3357, 3360, 3371, 3382, 3389, 3392, 3395, 3398, 
+	3409, 3412, 3423, 3436, 3439, 3451, 3464, 3467, 
+	3470, 3473, 3476, 3487, 3490, 3493, 3504, 3511, 
+	3522, 3525, 3528, 3531, 3542, 3553, 3562, 3565, 
+	3576, 3579, 3590, 3593, 3604, 3607, 3610, 3613, 
+	3624, 3631, 3634, 3637, 3648, 3651, 3662, 3665, 
+	3668, 3670, 3682, 3685, 3688, 3691, 3702, 3705, 
+	3716, 3723, 3731, 3739, 3749, 3753, 3767, 3770, 
+	3773, 3776, 3783, 3792, 3802, 3812, 3816, 3830, 
+	3833, 3836, 3844, 3847, 3859, 3865, 3870, 3875, 
+	3878, 3884, 3887, 3890, 3893, 3896, 3898, 3900, 
+	3903, 3906, 3909, 3911, 3916, 3919, 3924, 3926, 
+	3929, 3932, 3935, 3938, 3943, 3946, 3949, 3952, 
+	3955, 3957, 3959, 3962, 3965, 3968, 3970, 3972, 
+	3974, 3979, 3981, 3983, 3986, 3989, 3992, 3994, 
+	3996, 3998, 4003, 4006, 4009, 4012, 4015, 4018, 
+	4021, 4024, 4029, 4032, 4035, 4038, 4041, 4044, 
+	4047, 4052, 4055, 4058, 4063, 4066, 4069, 4074, 
+	4077, 4080, 4085, 4088, 4090, 4095, 4098, 4101, 
+	4105, 4111, 4114, 4117, 4120, 4123, 4125, 4127, 
+	4130, 4133, 4136, 4138, 4143, 4145, 4147, 4152, 
+	4154, 4156, 4161, 4175, 4181, 4184, 4187, 4190, 
+	4193, 4196, 4201, 4208, 4211, 4214, 4217, 4220, 
+	4223, 4228, 4233, 4236, 4241, 4244, 4247, 4252, 
+	4255, 4258, 4261, 4266, 4269, 4272, 4277, 4282, 
+	4285, 4290, 4293, 4296, 4301, 4304, 4307, 4310, 
+	4315, 4318, 4321, 4326, 4329, 4336, 4343, 4348, 
+	4355, 4362, 4375, 4382, 4390, 4398, 4406, 4424, 
+	4432, 4450, 4458, 4476, 4484, 4500, 4506, 4518, 
+	4524, 4527, 4535, 4547, 4555, 4558, 4566, 4578, 
+	4586, 4589, 4597, 4609, 4617, 4620, 4623, 4626, 
+	4631, 4638, 4648, 4653, 4656, 4663, 4670, 4683, 
+	4688, 4691, 4693, 4701, 4714, 4719, 4722, 4727, 
+	4738, 4752, 4755, 4760, 4769, 4771, 4779, 4789, 
+	4797, 4807, 4816, 4825, 4832, 4840, 4848, 4858, 
+	4866, 4876, 4885, 4894, 4901, 4910, 4912, 4926, 
+	4938, 4952, 4964, 4978, 4990, 5004, 5015, 5018, 
+	5031, 5044, 5047, 5060, 5073, 5084, 5087, 5100, 
+	5113, 5124, 5127, 5140, 5153, 5164, 5167, 5174, 
+	5177, 5185, 5193, 5196, 5199, 5202, 5209, 5212, 
+	5220, 5228, 5231, 5234, 5236, 5244, 5252, 5260, 
+	5268, 5276, 5289, 5294, 5297, 5300, 5303, 5305, 
+	5313, 5321, 5329, 5339, 5346, 5356, 5363, 5373, 
+	5380, 5393, 5398, 5401, 5404, 5407, 5410, 5413, 
+	5417, 5424, 5432, 5440, 5450, 5457, 5468, 5471, 
+	5474, 5477, 5480, 5494, 5497, 5499, 5502, 5505, 
+	5507, 5519, 5522, 5524, 5529, 5534, 5536, 5544, 
+	5554, 5561, 5569, 5577, 5587, 5591, 5605, 5608, 
+	5611, 5614, 5617, 5619, 5627, 5635, 5643, 5653, 
+	5657, 5671, 5674, 5677, 5680, 5682, 5690, 5701, 
+	5708, 5716, 5724, 5732, 5767, 5778, 5781, 5784, 
+	5799, 5802, 5841, 5848, 5851, 5854, 5861, 5869, 
+	5877, 5886, 5923, 5926, 5929, 5936, 5944, 5952, 
+	5963, 6002, 6005, 6008, 6015, 6023, 6031, 6044, 
+	6079, 6082, 6085, 6088, 6117, 6130, 6140, 6147, 
+	6155, 6163, 6171, 6179, 6187, 6195, 6203, 6211, 
+	6219, 6227, 6240, 6247, 6258, 6261, 6264, 6267, 
+	6270, 6273, 6276, 6279, 6282, 6285, 6288, 6291, 
+	6298, 6301, 6304, 6307, 6314, 6317, 6324, 6331, 
+	6336, 6339, 6342, 6345, 6348, 6355, 6362, 6365, 
+	6368, 6375, 6378, 6381, 6384, 6391, 6398, 6401, 
+	6404, 6407, 6414, 6419, 6422, 6425, 6432, 6435, 
+	6438, 6441, 6448, 6455, 6458, 6461, 6464, 6466, 
+	6473, 6475, 6482, 6485, 6488, 6491, 6494, 6501, 
+	6504, 6507, 6510, 6513, 6516, 6519, 6522, 6529, 
+	6534, 6537, 6544, 6551, 6558, 6560, 6567, 6569, 
+	6576, 6579, 6586, 6593, 6598, 6601, 6604, 6607, 
+	6614, 6621, 6628, 6631, 6634, 6637, 6644, 6647, 
+	6654, 6663, 6666, 6674, 6683, 6686, 6689, 6692, 
+	6695, 6702, 6705, 6708, 6715, 6722, 6729, 6732, 
+	6735, 6738, 6745, 6752, 6761, 6764, 6771, 6774, 
+	6781, 6784, 6791, 6794, 6797, 6800, 6807, 6814, 
+	6817, 6820, 6827, 6830, 6837, 6840, 6843, 6845, 
+	6853, 6860, 6865, 6870, 6872, 6880, 6888, 6896, 
+	6906, 6913, 6924, 6927, 6930, 6933, 6936, 6941, 
+	6944, 6946, 6954, 6962, 6970, 6978, 6986, 6997, 
+	7004, 7014, 7018, 7023, 7027, 7032, 7037, 7041, 
+	7046, 7054, 7059, 7061, 7063, 7065, 7067, 7069, 
+	7072, 7076, 7086, 7089, 7092, 7095, 7097, 7105, 
+	7113, 7121, 7129, 7137, 7148, 7153, 7157, 7165, 
+	7168, 7171, 7174, 7176, 7184, 7192, 7200, 7208, 
+	7216, 7226, 7230, 7244, 7247, 7250, 7253, 7256, 
+	7258, 7266, 7275, 7282, 7285, 7287, 7295, 7305, 
+	7309, 7313, 7317, 7319, 7323, 7327, 7331, 7335, 
+	7341, 7344, 7348, 7352, 7354, 7358, 7362, 7368, 
+	7372, 7376, 7378, 7382, 7386, 7392, 7408, 7434, 
+	7478, 7523, 7539, 7584, 7600, 7626, 7681, 7736, 
+	7737, 7738, 7739, 7748, 7749, 7750, 7751, 7765, 
+	7766, 7781, 7784, 7785, 7824, 7827, 7828, 7842, 
+	7845, 7855, 7856, 7870, 7873, 7876, 7877, 7878, 
+	7879, 7880, 7881, 7882, 7883, 7884, 7885, 7899, 
+	7902, 7903, 7904, 7915, 7918, 7930, 7933, 7945, 
+	7948, 7960, 7963, 7964, 7965, 7966, 7967, 7981, 
+	7984, 7985, 7999, 8002, 8003, 8017, 8020, 8021, 
+	8036, 8039, 8050, 8053, 8092, 8099, 8100, 8101, 
+	8102, 8103, 8104, 8105, 8106, 8120, 8123, 8124, 
+	8125, 8126
 };
 
 static const short _zone_scanner_indicies[] = {
@@ -2955,1936 +3004,1970 @@ static const short _zone_scanner_indicies[] = {
 	46, 47, 48, 49, 50, 51, 52, 39, 
 	40, 41, 42, 43, 44, 45, 46, 47, 
 	48, 49, 50, 51, 52, 81, 82, 129, 
-	130, 125, 131, 132, 131, 132, 35, 133, 
-	133, 35, 134, 134, 35, 135, 135, 136, 
-	137, 138, 139, 140, 140, 141, 142, 55, 
-	78, 81, 78, 79, 80, 82, 143, 81, 
-	143, 144, 145, 89, 74, 77, 146, 146, 
-	35, 147, 147, 35, 148, 148, 35, 149, 
-	149, 150, 151, 152, 153, 154, 154, 155, 
-	156, 55, 157, 158, 159, 157, 158, 159, 
-	35, 160, 160, 35, 161, 161, 35, 162, 
-	162, 35, 163, 163, 164, 165, 166, 167, 
-	168, 168, 169, 170, 55, 171, 172, 171, 
-	172, 35, 173, 173, 35, 174, 174, 35, 
-	175, 175, 176, 177, 178, 179, 180, 180, 
-	181, 182, 55, 183, 183, 35, 184, 184, 
-	35, 185, 185, 35, 186, 186, 187, 188, 
-	189, 190, 191, 191, 192, 193, 55, 194, 
-	194, 195, 196, 197, 198, 199, 199, 200, 
-	201, 55, 202, 202, 35, 203, 203, 35, 
-	204, 205, 35, 206, 35, 207, 207, 208, 
-	209, 210, 211, 212, 212, 213, 214, 55, 
-	215, 35, 216, 216, 217, 218, 219, 220, 
-	221, 221, 222, 223, 55, 224, 224, 35, 
-	225, 225, 35, 226, 226, 35, 227, 227, 
-	35, 228, 228, 229, 230, 231, 232, 233, 
-	233, 234, 235, 55, 236, 237, 236, 237, 
-	35, 238, 238, 239, 240, 241, 242, 35, 
-	243, 243, 244, 245, 246, 247, 248, 249, 
-	250, 251, 252, 253, 254, 255, 256, 257, 
-	258, 259, 246, 247, 248, 249, 250, 251, 
-	252, 253, 254, 255, 256, 257, 258, 259, 
-	260, 261, 35, 237, 237, 35, 262, 262, 
-	35, 263, 263, 35, 264, 264, 35, 265, 
-	265, 35, 266, 266, 35, 267, 267, 35, 
-	268, 268, 269, 270, 271, 272, 273, 273, 
-	274, 275, 55, 276, 277, 276, 277, 35, 
-	278, 278, 35, 279, 279, 280, 281, 282, 
-	283, 284, 284, 285, 286, 55, 287, 287, 
-	288, 289, 290, 291, 292, 292, 293, 294, 
-	55, 295, 296, 297, 298, 297, 298, 35, 
-	299, 35, 300, 300, 301, 302, 303, 304, 
-	305, 305, 306, 307, 55, 308, 35, 309, 
-	309, 310, 311, 312, 313, 314, 314, 315, 
-	316, 55, 317, 317, 35, 318, 318, 319, 
-	320, 321, 322, 323, 323, 324, 325, 55, 
-	326, 326, 327, 328, 329, 330, 331, 331, 
-	332, 333, 55, 334, 335, 334, 335, 35, 
-	336, 336, 35, 337, 337, 35, 338, 338, 
-	35, 339, 339, 340, 341, 342, 343, 344, 
-	344, 345, 346, 55, 347, 347, 348, 349, 
-	350, 351, 352, 352, 353, 354, 55, 355, 
-	356, 357, 355, 356, 357, 35, 358, 358, 
+	130, 125, 131, 132, 133, 131, 132, 133, 
+	35, 134, 135, 134, 135, 35, 136, 136, 
+	35, 137, 137, 35, 138, 138, 35, 139, 
+	139, 35, 140, 140, 141, 142, 143, 144, 
+	145, 145, 146, 147, 55, 78, 81, 78, 
+	79, 80, 82, 148, 81, 148, 149, 150, 
+	89, 74, 77, 151, 151, 152, 153, 154, 
+	155, 156, 156, 157, 158, 55, 159, 159, 
+	35, 160, 160, 35, 161, 161, 162, 163, 
+	164, 165, 166, 166, 167, 168, 55, 169, 
+	169, 35, 170, 170, 35, 171, 171, 35, 
+	172, 172, 173, 174, 175, 176, 177, 177, 
+	178, 179, 55, 180, 181, 182, 180, 181, 
+	182, 35, 183, 183, 35, 184, 184, 35, 
+	185, 185, 35, 186, 186, 187, 188, 189, 
+	190, 191, 191, 192, 193, 55, 194, 195, 
+	194, 195, 35, 196, 196, 35, 197, 197, 
+	35, 198, 198, 199, 200, 201, 202, 203, 
+	203, 204, 205, 55, 206, 206, 35, 207, 
+	207, 35, 208, 208, 35, 209, 209, 210, 
+	211, 212, 213, 214, 214, 215, 216, 55, 
+	217, 217, 218, 219, 220, 221, 222, 222, 
+	223, 224, 55, 225, 225, 35, 226, 226, 
+	35, 227, 228, 35, 229, 35, 230, 230, 
+	231, 232, 233, 234, 235, 235, 236, 237, 
+	55, 238, 35, 239, 239, 240, 241, 242, 
+	243, 244, 244, 245, 246, 55, 247, 247, 
+	35, 248, 248, 35, 249, 249, 35, 250, 
+	250, 35, 251, 251, 252, 253, 254, 255, 
+	256, 256, 257, 258, 55, 259, 260, 259, 
+	260, 35, 261, 261, 262, 263, 264, 265, 
+	35, 266, 266, 267, 268, 269, 270, 271, 
+	272, 273, 274, 275, 276, 277, 278, 279, 
+	280, 281, 282, 269, 270, 271, 272, 273, 
+	274, 275, 276, 277, 278, 279, 280, 281, 
+	282, 283, 284, 35, 260, 260, 35, 285, 
+	285, 35, 286, 286, 35, 287, 287, 35, 
+	288, 288, 35, 289, 289, 35, 290, 290, 
+	35, 291, 291, 292, 293, 294, 295, 296, 
+	296, 297, 298, 55, 299, 300, 299, 300, 
+	35, 301, 301, 35, 302, 302, 303, 304, 
+	305, 306, 307, 307, 308, 309, 55, 310, 
+	310, 311, 312, 313, 314, 315, 315, 316, 
+	317, 55, 318, 319, 320, 321, 320, 321, 
+	35, 322, 35, 323, 323, 324, 325, 326, 
+	327, 328, 328, 329, 330, 55, 331, 35, 
+	332, 332, 333, 334, 335, 336, 337, 337, 
+	338, 339, 55, 340, 340, 35, 341, 341, 
+	342, 343, 344, 345, 346, 346, 347, 348, 
+	55, 349, 349, 350, 351, 352, 353, 354, 
+	354, 355, 356, 55, 357, 358, 357, 358, 
 	35, 359, 359, 35, 360, 360, 35, 361, 
-	361, 362, 363, 364, 365, 366, 366, 367, 
-	368, 55, 369, 369, 35, 370, 370, 371, 
+	361, 35, 362, 362, 363, 364, 365, 366, 
+	367, 367, 368, 369, 55, 370, 370, 371, 
 	372, 373, 374, 375, 375, 376, 377, 55, 
-	378, 378, 379, 380, 381, 381, 382, 383, 
-	384, 384, 385, 386, 55, 387, 387, 35, 
-	388, 388, 389, 390, 391, 392, 393, 394, 
-	394, 395, 396, 55, 397, 397, 398, 399, 
-	400, 400, 401, 402, 403, 403, 404, 405, 
-	55, 406, 406, 35, 407, 407, 35, 408, 
-	408, 35, 409, 409, 35, 410, 410, 411, 
-	412, 413, 414, 415, 415, 416, 417, 55, 
-	418, 418, 35, 419, 419, 35, 420, 420, 
-	421, 422, 423, 424, 425, 425, 426, 427, 
-	55, 428, 429, 430, 428, 429, 430, 35, 
-	431, 431, 432, 433, 434, 435, 436, 436, 
-	437, 438, 55, 439, 439, 35, 440, 440, 
-	35, 441, 441, 35, 442, 442, 443, 444, 
-	445, 446, 447, 447, 448, 449, 55, 450, 
-	450, 451, 452, 453, 454, 455, 455, 456, 
-	457, 55, 458, 459, 460, 461, 458, 459, 
-	460, 461, 35, 462, 462, 35, 463, 463, 
-	464, 465, 466, 467, 468, 468, 469, 470, 
-	55, 471, 471, 35, 472, 472, 473, 474, 
-	475, 476, 477, 477, 478, 479, 55, 480, 
-	480, 35, 481, 481, 482, 483, 484, 485, 
-	486, 486, 487, 488, 55, 489, 489, 35, 
-	490, 490, 35, 491, 491, 35, 492, 492, 
-	493, 494, 495, 496, 497, 497, 498, 499, 
-	55, 500, 501, 502, 500, 501, 502, 35, 
-	503, 503, 35, 504, 504, 35, 505, 505, 
-	506, 507, 508, 509, 510, 510, 511, 512, 
-	55, 513, 513, 35, 514, 514, 515, 516, 
-	517, 518, 519, 519, 520, 521, 55, 522, 
-	522, 35, 523, 523, 35, 525, 524, 527, 
-	527, 528, 529, 531, 532, 533, 533, 534, 
-	535, 530, 526, 260, 261, 35, 536, 536, 
-	537, 538, 5, 6, 7, 8, 9, 10, 
-	11, 12, 13, 14, 15, 16, 17, 18, 
-	5, 6, 7, 8, 9, 10, 11, 12, 
-	13, 14, 15, 16, 17, 18, 19, 20, 
-	539, 540, 4, 0, 541, 237, 541, 237, 
-	35, 542, 542, 543, 544, 545, 546, 35, 
-	547, 547, 548, 549, 551, 552, 553, 554, 
-	555, 556, 557, 558, 559, 560, 561, 562, 
-	563, 564, 551, 552, 553, 554, 555, 556, 
-	557, 558, 559, 560, 561, 562, 563, 564, 
-	565, 566, 550, 524, 567, 567, 568, 569, 
-	571, 572, 573, 574, 575, 571, 572, 573, 
-	574, 575, 576, 577, 570, 23, 567, 567, 
-	568, 569, 576, 577, 578, 23, 580, 581, 
-	582, 583, 584, 580, 581, 582, 583, 584, 
-	579, 23, 585, 585, 586, 587, 589, 590, 
-	588, 23, 565, 566, 35, 19, 20, 592, 
-	593, 594, 592, 593, 594, 591, 595, 595, 
-	591, 596, 596, 591, 597, 597, 591, 598, 
-	598, 591, 599, 599, 591, 600, 600, 591, 
-	601, 601, 601, 601, 591, 603, 603, 604, 
-	605, 606, 607, 602, 608, 608, 609, 610, 
-	5, 6, 7, 8, 9, 10, 11, 12, 
-	13, 14, 15, 16, 17, 18, 5, 6, 
-	7, 8, 9, 10, 11, 12, 13, 14, 
-	15, 16, 17, 18, 611, 612, 4, 524, 
-	611, 612, 613, 615, 615, 616, 617, 28, 
-	29, 30, 31, 32, 28, 29, 30, 31, 
-	32, 618, 619, 27, 614, 620, 620, 621, 
-	622, 5, 6, 7, 8, 9, 10, 11, 
-	12, 13, 14, 15, 16, 17, 18, 5, 
-	6, 7, 8, 9, 10, 11, 12, 13, 
-	14, 15, 16, 17, 18, 623, 624, 4, 
-	524, 623, 624, 35, 24, 24, 25, 26, 
-	33, 34, 625, 23, 627, 628, 629, 630, 
-	631, 627, 628, 629, 630, 631, 626, 23, 
-	632, 632, 633, 634, 636, 637, 635, 23, 
-	53, 54, 35, 639, 639, 640, 641, 59, 
-	60, 61, 59, 60, 61, 642, 643, 64, 
-	64, 644, 645, 638, 646, 646, 647, 648, 
-	67, 99, 100, 101, 102, 103, 104, 105, 
-	106, 107, 108, 109, 110, 111, 112, 72, 
-	99, 100, 101, 102, 103, 104, 105, 106, 
-	107, 108, 109, 110, 111, 112, 649, 650, 
-	67, 67, 651, 652, 67, 67, 98, 67, 
-	526, 654, 654, 655, 656, 59, 60, 61, 
-	59, 60, 61, 81, 82, 657, 658, 659, 
-	660, 661, 662, 653, 663, 663, 664, 665, 
-	72, 81, 82, 93, 89, 90, 91, 666, 
-	92, 67, 67, 67, 77, 667, 667, 668, 
-	669, 5, 6, 7, 8, 9, 10, 11, 
+	378, 379, 380, 378, 379, 380, 35, 381, 
+	381, 35, 382, 382, 35, 383, 383, 35, 
+	384, 384, 385, 386, 387, 388, 389, 389, 
+	390, 391, 55, 392, 392, 35, 393, 393, 
+	394, 395, 396, 397, 398, 398, 399, 400, 
+	55, 401, 401, 402, 403, 404, 404, 405, 
+	406, 407, 407, 408, 409, 55, 410, 410, 
+	35, 411, 411, 412, 413, 414, 415, 416, 
+	417, 417, 418, 419, 55, 420, 420, 421, 
+	422, 423, 423, 424, 425, 426, 426, 427, 
+	428, 55, 429, 429, 35, 430, 430, 35, 
+	431, 431, 35, 432, 432, 35, 433, 433, 
+	434, 435, 436, 437, 438, 438, 439, 440, 
+	55, 441, 441, 35, 442, 442, 35, 443, 
+	443, 444, 445, 446, 447, 448, 448, 449, 
+	450, 55, 451, 452, 453, 451, 452, 453, 
+	35, 454, 454, 455, 456, 457, 458, 459, 
+	459, 460, 461, 55, 462, 462, 35, 463, 
+	463, 35, 464, 464, 35, 465, 465, 466, 
+	467, 468, 469, 470, 470, 471, 472, 55, 
+	473, 473, 474, 475, 476, 477, 478, 478, 
+	479, 480, 55, 481, 482, 483, 484, 481, 
+	482, 483, 484, 35, 485, 485, 35, 486, 
+	486, 487, 488, 489, 490, 491, 491, 492, 
+	493, 55, 494, 494, 35, 495, 495, 496, 
+	497, 498, 499, 500, 500, 501, 502, 55, 
+	503, 503, 35, 504, 504, 505, 506, 507, 
+	508, 509, 509, 510, 511, 55, 512, 512, 
+	35, 513, 513, 35, 514, 514, 35, 515, 
+	515, 516, 517, 518, 519, 520, 520, 521, 
+	522, 55, 523, 524, 525, 523, 524, 525, 
+	35, 526, 526, 35, 527, 527, 35, 528, 
+	528, 529, 530, 531, 532, 533, 533, 534, 
+	535, 55, 536, 536, 35, 537, 537, 538, 
+	539, 540, 541, 542, 542, 543, 544, 55, 
+	545, 545, 35, 546, 546, 35, 548, 547, 
+	550, 550, 551, 552, 554, 555, 556, 556, 
+	557, 558, 553, 549, 283, 284, 35, 559, 
+	559, 560, 561, 5, 6, 7, 8, 9, 
+	10, 11, 12, 13, 14, 15, 16, 17, 
+	18, 5, 6, 7, 8, 9, 10, 11, 
+	12, 13, 14, 15, 16, 17, 18, 19, 
+	20, 562, 563, 4, 0, 564, 260, 564, 
+	260, 35, 565, 565, 566, 567, 568, 569, 
+	35, 570, 570, 571, 572, 574, 575, 576, 
+	577, 578, 579, 580, 581, 582, 583, 584, 
+	585, 586, 587, 574, 575, 576, 577, 578, 
+	579, 580, 581, 582, 583, 584, 585, 586, 
+	587, 588, 589, 573, 547, 590, 590, 591, 
+	592, 594, 595, 596, 597, 598, 594, 595, 
+	596, 597, 598, 599, 600, 593, 23, 590, 
+	590, 591, 592, 599, 600, 601, 23, 603, 
+	604, 605, 606, 607, 603, 604, 605, 606, 
+	607, 602, 23, 608, 608, 609, 610, 612, 
+	613, 611, 23, 588, 589, 35, 19, 20, 
+	615, 616, 617, 615, 616, 617, 614, 618, 
+	618, 614, 619, 619, 614, 620, 620, 614, 
+	621, 621, 614, 622, 622, 614, 623, 623, 
+	614, 624, 624, 624, 624, 614, 626, 626, 
+	627, 628, 629, 630, 625, 631, 631, 632, 
+	633, 5, 6, 7, 8, 9, 10, 11, 
 	12, 13, 14, 15, 16, 17, 18, 5, 
 	6, 7, 8, 9, 10, 11, 12, 13, 
-	14, 15, 16, 17, 18, 81, 82, 670, 
-	671, 4, 0, 81, 670, 82, 671, 83, 
-	672, 672, 673, 674, 81, 82, 81, 82, 
-	82, 82, 82, 77, 672, 672, 673, 674, 
-	81, 82, 81, 82, 82, 82, 82, 83, 
-	675, 675, 676, 677, 67, 99, 100, 101, 
-	102, 103, 104, 105, 106, 107, 108, 109, 
-	110, 111, 112, 72, 99, 100, 101, 102, 
-	103, 104, 105, 106, 107, 108, 109, 110, 
-	111, 112, 81, 82, 670, 678, 90, 91, 
-	670, 679, 67, 67, 98, 67, 95, 78, 
-	78, 79, 80, 131, 132, 131, 132, 81, 
-	82, 81, 82, 653, 78, 78, 79, 80, 
-	157, 158, 159, 157, 158, 159, 81, 82, 
-	81, 82, 653, 78, 78, 79, 80, 202, 
-	202, 81, 82, 81, 82, 653, 78, 78, 
-	79, 80, 224, 224, 81, 82, 81, 82, 
-	653, 78, 78, 79, 80, 541, 237, 541, 
-	237, 81, 82, 81, 82, 653, 78, 78, 
-	79, 80, 276, 277, 276, 277, 81, 82, 
-	81, 82, 653, 78, 78, 79, 80, 295, 
-	296, 297, 298, 297, 298, 81, 82, 81, 
-	82, 653, 78, 78, 79, 80, 334, 335, 
-	334, 335, 81, 82, 81, 82, 653, 78, 
-	78, 79, 80, 355, 356, 357, 355, 356, 
-	357, 81, 82, 81, 82, 653, 78, 78, 
-	79, 80, 418, 418, 81, 82, 81, 82, 
-	653, 78, 78, 79, 80, 428, 429, 430, 
-	428, 429, 430, 81, 82, 81, 82, 653, 
-	78, 78, 79, 80, 458, 459, 460, 461, 
-	458, 459, 460, 461, 81, 82, 81, 82, 
-	653, 78, 78, 79, 80, 500, 501, 502, 
-	500, 501, 502, 81, 82, 81, 82, 653, 
-	81, 680, 82, 678, 77, 78, 78, 79, 
-	80, 592, 593, 594, 592, 593, 594, 81, 
-	82, 81, 82, 681, 682, 682, 591, 683, 
-	683, 591, 684, 684, 591, 685, 685, 591, 
-	686, 686, 591, 687, 687, 687, 687, 591, 
-	688, 688, 591, 689, 689, 591, 690, 690, 
-	690, 690, 591, 692, 692, 693, 694, 81, 
-	82, 695, 696, 691, 698, 698, 699, 700, 
+	14, 15, 16, 17, 18, 634, 635, 4, 
+	547, 634, 635, 636, 638, 638, 639, 640, 
 	28, 29, 30, 31, 32, 28, 29, 30, 
-	31, 32, 81, 82, 701, 702, 27, 697, 
-	703, 703, 704, 705, 5, 6, 7, 8, 
-	9, 10, 11, 12, 13, 14, 15, 16, 
-	17, 18, 5, 6, 7, 8, 9, 10, 
+	31, 32, 641, 642, 27, 637, 643, 643, 
+	644, 645, 5, 6, 7, 8, 9, 10, 
 	11, 12, 13, 14, 15, 16, 17, 18, 
-	81, 82, 706, 707, 4, 0, 81, 706, 
-	82, 707, 125, 709, 709, 710, 711, 59, 
-	60, 61, 59, 60, 61, 81, 82, 712, 
-	713, 659, 660, 714, 715, 708, 716, 716, 
-	717, 718, 67, 99, 100, 101, 102, 103, 
-	104, 105, 106, 107, 108, 109, 110, 111, 
-	112, 72, 99, 100, 101, 102, 103, 104, 
+	5, 6, 7, 8, 9, 10, 11, 12, 
+	13, 14, 15, 16, 17, 18, 646, 647, 
+	4, 547, 646, 647, 35, 24, 24, 25, 
+	26, 33, 34, 648, 23, 650, 651, 652, 
+	653, 654, 650, 651, 652, 653, 654, 649, 
+	23, 655, 655, 656, 657, 659, 660, 658, 
+	23, 53, 54, 35, 662, 662, 663, 664, 
+	59, 60, 61, 59, 60, 61, 665, 666, 
+	64, 64, 667, 668, 661, 669, 669, 670, 
+	671, 67, 99, 100, 101, 102, 103, 104, 
 	105, 106, 107, 108, 109, 110, 111, 112, 
-	81, 82, 680, 678, 90, 91, 719, 679, 
-	67, 67, 98, 67, 95, 692, 692, 693, 
-	694, 131, 132, 131, 132, 81, 82, 695, 
-	696, 708, 692, 692, 693, 694, 157, 158, 
-	159, 157, 158, 159, 81, 82, 695, 696, 
-	708, 692, 692, 693, 694, 202, 202, 81, 
-	82, 695, 696, 708, 692, 692, 693, 694, 
-	224, 224, 81, 82, 695, 696, 708, 692, 
-	692, 693, 694, 541, 237, 541, 237, 81, 
-	82, 695, 696, 708, 692, 692, 693, 694, 
-	276, 277, 276, 277, 81, 82, 695, 696, 
-	708, 692, 692, 693, 694, 295, 296, 297, 
-	298, 297, 298, 81, 82, 695, 696, 708, 
-	692, 692, 693, 694, 334, 335, 334, 335, 
-	81, 82, 695, 696, 708, 692, 692, 693, 
-	694, 355, 356, 357, 355, 356, 357, 81, 
-	82, 695, 696, 708, 692, 692, 693, 694, 
-	418, 418, 81, 82, 695, 696, 708, 692, 
-	692, 693, 694, 428, 429, 430, 428, 429, 
-	430, 81, 82, 695, 696, 708, 692, 692, 
-	693, 694, 458, 459, 460, 461, 458, 459, 
-	460, 461, 81, 82, 695, 696, 708, 692, 
-	692, 693, 694, 500, 501, 502, 500, 501, 
-	502, 81, 82, 695, 696, 708, 720, 720, 
-	85, 722, 723, 84, 84, 724, 725, 84, 
-	84, 84, 721, 667, 667, 668, 669, 5, 
+	72, 99, 100, 101, 102, 103, 104, 105, 
+	106, 107, 108, 109, 110, 111, 112, 672, 
+	673, 67, 67, 674, 675, 67, 67, 98, 
+	67, 549, 677, 677, 678, 679, 59, 60, 
+	61, 59, 60, 61, 81, 82, 680, 681, 
+	682, 683, 684, 685, 676, 686, 686, 687, 
+	688, 72, 81, 82, 93, 89, 90, 91, 
+	689, 92, 67, 67, 67, 77, 690, 690, 
+	691, 692, 5, 6, 7, 8, 9, 10, 
+	11, 12, 13, 14, 15, 16, 17, 18, 
+	5, 6, 7, 8, 9, 10, 11, 12, 
+	13, 14, 15, 16, 17, 18, 81, 82, 
+	693, 694, 4, 0, 81, 693, 82, 694, 
+	83, 695, 695, 696, 697, 81, 82, 81, 
+	82, 82, 82, 82, 77, 695, 695, 696, 
+	697, 81, 82, 81, 82, 82, 82, 82, 
+	83, 698, 698, 699, 700, 67, 99, 100, 
+	101, 102, 103, 104, 105, 106, 107, 108, 
+	109, 110, 111, 112, 72, 99, 100, 101, 
+	102, 103, 104, 105, 106, 107, 108, 109, 
+	110, 111, 112, 81, 82, 693, 701, 90, 
+	91, 693, 702, 67, 67, 98, 67, 95, 
+	78, 78, 79, 80, 131, 132, 133, 131, 
+	132, 133, 81, 82, 81, 82, 676, 78, 
+	78, 79, 80, 180, 181, 182, 180, 181, 
+	182, 81, 82, 81, 82, 676, 78, 78, 
+	79, 80, 225, 225, 81, 82, 81, 82, 
+	676, 78, 78, 79, 80, 247, 247, 81, 
+	82, 81, 82, 676, 78, 78, 79, 80, 
+	564, 260, 564, 260, 81, 82, 81, 82, 
+	676, 78, 78, 79, 80, 299, 300, 299, 
+	300, 81, 82, 81, 82, 676, 78, 78, 
+	79, 80, 318, 319, 320, 321, 320, 321, 
+	81, 82, 81, 82, 676, 78, 78, 79, 
+	80, 357, 358, 357, 358, 81, 82, 81, 
+	82, 676, 78, 78, 79, 80, 378, 379, 
+	380, 378, 379, 380, 81, 82, 81, 82, 
+	676, 78, 78, 79, 80, 441, 441, 81, 
+	82, 81, 82, 676, 78, 78, 79, 80, 
+	451, 452, 453, 451, 452, 453, 81, 82, 
+	81, 82, 676, 78, 78, 79, 80, 481, 
+	482, 483, 484, 481, 482, 483, 484, 81, 
+	82, 81, 82, 676, 78, 78, 79, 80, 
+	523, 524, 525, 523, 524, 525, 81, 82, 
+	81, 82, 676, 81, 703, 82, 701, 77, 
+	78, 78, 79, 80, 615, 616, 617, 615, 
+	616, 617, 81, 82, 81, 82, 704, 705, 
+	705, 614, 706, 706, 614, 707, 707, 614, 
+	708, 708, 614, 709, 709, 614, 710, 710, 
+	710, 710, 614, 711, 711, 614, 712, 712, 
+	614, 713, 713, 713, 713, 614, 715, 715, 
+	716, 717, 81, 82, 718, 719, 714, 721, 
+	721, 722, 723, 28, 29, 30, 31, 32, 
+	28, 29, 30, 31, 32, 81, 82, 724, 
+	725, 27, 720, 726, 726, 727, 728, 5, 
 	6, 7, 8, 9, 10, 11, 12, 13, 
 	14, 15, 16, 17, 18, 5, 6, 7, 
 	8, 9, 10, 11, 12, 13, 14, 15, 
-	16, 17, 18, 81, 82, 670, 671, 4, 
-	95, 78, 81, 78, 79, 80, 82, 726, 
-	670, 726, 727, 728, 671, 612, 77, 78, 
-	81, 78, 79, 80, 82, 726, 670, 726, 
-	727, 728, 671, 612, 83, 672, 81, 672, 
-	673, 674, 729, 670, 729, 730, 731, 82, 
-	678, 77, 732, 732, 35, 733, 733, 35, 
-	734, 734, 735, 736, 737, 738, 739, 739, 
-	740, 741, 55, 742, 742, 35, 743, 743, 
-	35, 744, 744, 35, 745, 745, 746, 747, 
-	748, 749, 750, 750, 751, 752, 55, 753, 
-	753, 35, 754, 754, 755, 756, 757, 758, 
-	759, 759, 760, 761, 55, 19, 113, 20, 
-	114, 77, 762, 762, 763, 764, 81, 82, 
-	81, 82, 20, 20, 20, 77, 762, 762, 
-	763, 764, 81, 82, 81, 82, 20, 20, 
-	20, 83, 762, 81, 762, 763, 764, 82, 
-	765, 670, 765, 766, 767, 678, 20, 114, 
-	77, 672, 81, 672, 673, 674, 768, 81, 
-	768, 769, 770, 82, 89, 77, 649, 650, 
-	69, 78, 81, 78, 79, 80, 82, 771, 
-	670, 771, 772, 773, 678, 650, 77, 603, 
-	603, 604, 605, 131, 132, 131, 132, 606, 
-	607, 774, 603, 603, 604, 605, 157, 158, 
-	159, 157, 158, 159, 606, 607, 774, 603, 
-	603, 604, 605, 202, 202, 606, 607, 774, 
-	603, 603, 604, 605, 224, 224, 606, 607, 
-	774, 603, 603, 604, 605, 541, 237, 541, 
-	237, 606, 607, 774, 603, 603, 604, 605, 
-	276, 277, 276, 277, 606, 607, 774, 603, 
-	603, 604, 605, 295, 296, 297, 298, 297, 
-	298, 606, 607, 774, 603, 603, 604, 605, 
-	334, 335, 334, 335, 606, 607, 774, 603, 
-	603, 604, 605, 355, 356, 357, 355, 356, 
-	357, 606, 607, 774, 603, 603, 604, 605, 
-	418, 418, 606, 607, 774, 603, 603, 604, 
-	605, 428, 429, 430, 428, 429, 430, 606, 
-	607, 774, 603, 603, 604, 605, 458, 459, 
-	460, 461, 458, 459, 460, 461, 606, 607, 
-	774, 603, 603, 604, 605, 500, 501, 502, 
-	500, 501, 502, 606, 607, 774, 19, 21, 
-	20, 22, 83, 19, 539, 20, 540, 125, 
-	603, 603, 604, 605, 236, 237, 236, 237, 
-	606, 607, 774, 81, 129, 82, 130, 125, 
-	776, 775, 778, 777, 780, 781, 782, 783, 
-	780, 780, 780, 780, 779, 784, 785, 786, 
-	784, 787, 785, 784, 784, 785, 785, 785, 
-	779, 788, 789, 789, 788, 790, 789, 788, 
-	788, 789, 789, 789, 779, 791, 785, 793, 
-	792, 794, 792, 795, 796, 797, 795, 798, 
-	796, 795, 795, 796, 796, 796, 792, 788, 
-	788, 788, 788, 779, 799, 799, 799, 799, 
-	779, 802, 803, 801, 801, 800, 804, 801, 
-	804, 803, 804, 801, 805, 801, 800, 806, 
-	801, 808, 807, 809, 807, 810, 811, 810, 
-	813, 810, 811, 812, 811, 807, 814, 815, 
-	816, 814, 814, 800, 804, 804, 804, 804, 
-	817, 818, 814, 819, 807, 820, 807, 821, 
-	822, 823, 821, 821, 807, 825, 825, 826, 
-	827, 828, 829, 824, 825, 825, 826, 827, 
-	828, 829, 831, 830, 833, 833, 834, 835, 
-	837, 838, 839, 840, 841, 837, 838, 839, 
-	840, 841, 842, 843, 842, 843, 836, 832, 
-	833, 833, 834, 835, 842, 843, 842, 843, 
-	844, 842, 843, 833, 833, 834, 835, 842, 
-	843, 842, 843, 845, 832, 848, 849, 850, 
-	851, 852, 848, 849, 850, 851, 852, 847, 
-	846, 853, 853, 854, 855, 857, 858, 857, 
-	858, 856, 832, 828, 829, 824, 860, 860, 
-	861, 862, 863, 864, 859, 860, 860, 861, 
-	862, 865, 866, 867, 865, 863, 864, 865, 
-	865, 865, 859, 868, 869, 870, 868, 868, 
-	868, 868, 859, 872, 872, 873, 874, 875, 
-	875, 876, 875, 877, 878, 877, 878, 875, 
-	875, 875, 871, 879, 879, 880, 881, 882, 
-	883, 882, 883, 871, 882, 883, 884, 868, 
-	886, 885, 887, 885, 888, 889, 890, 888, 
-	888, 888, 888, 885, 872, 872, 873, 874, 
-	877, 878, 877, 878, 871, 863, 864, 859, 
-	891, 891, 892, 893, 894, 895, 613, 891, 
-	891, 892, 893, 894, 895, 896, 896, 896, 
-	897, 899, 899, 900, 901, 902, 903, 902, 
-	904, 898, 906, 906, 907, 908, 909, 910, 
-	911, 909, 912, 913, 912, 914, 909, 909, 
-	909, 905, 916, 917, 918, 916, 916, 916, 
-	916, 915, 919, 919, 920, 921, 922, 922, 
-	923, 922, 924, 925, 924, 925, 922, 922, 
-	922, 905, 926, 926, 927, 928, 912, 913, 
-	912, 913, 83, 912, 913, 929, 916, 931, 
-	930, 932, 930, 933, 934, 935, 933, 933, 
-	933, 933, 930, 919, 919, 920, 921, 924, 
-	925, 924, 925, 905, 912, 936, 913, 914, 
-	83, 937, 937, 938, 939, 909, 910, 911, 
-	909, 940, 941, 909, 909, 909, 915, 940, 
-	941, 613, 894, 895, 613, 943, 943, 943, 
-	943, 942, 944, 944, 944, 944, 942, 945, 
-	946, 945, 945, 945, 942, 947, 948, 947, 
-	947, 947, 942, 948, 948, 949, 950, 943, 
-	951, 952, 953, 953, 954, 955, 943, 943, 
-	943, 942, 951, 952, 942, 948, 942, 957, 
-	957, 958, 959, 960, 961, 962, 962, 963, 
-	964, 956, 965, 965, 966, 967, 968, 969, 
-	970, 971, 972, 973, 974, 975, 976, 977, 
-	978, 979, 980, 981, 968, 969, 970, 971, 
-	972, 973, 974, 975, 976, 977, 978, 979, 
-	980, 981, 982, 983, 984, 984, 985, 986, 
-	956, 987, 987, 988, 989, 990, 991, 992, 
-	990, 991, 992, 993, 994, 995, 995, 996, 
-	997, 956, 998, 998, 956, 999, 999, 956, 
-	1000, 1000, 1001, 1002, 1003, 1004, 1005, 1005, 
-	1006, 1007, 956, 982, 983, 956, 1008, 1009, 
-	1008, 1009, 956, 1010, 1010, 956, 1011, 1011, 
-	956, 1012, 1012, 1013, 1014, 1015, 1016, 1017, 
-	1017, 1018, 1019, 956, 1020, 1020, 956, 1021, 
-	1021, 956, 1022, 1022, 956, 1023, 1023, 1024, 
-	1025, 1026, 1027, 1028, 1028, 1029, 1030, 956, 
-	1031, 1032, 1033, 1031, 1032, 1033, 956, 1034, 
-	1034, 956, 1035, 1035, 956, 1036, 1036, 956, 
-	1037, 1037, 1038, 1039, 1040, 1041, 1042, 1042, 
-	1043, 1044, 956, 1045, 1046, 1045, 1046, 956, 
-	1047, 1047, 956, 1048, 1048, 956, 1049, 1049, 
-	1050, 1051, 1052, 1053, 1054, 1054, 1055, 1056, 
-	956, 1057, 1057, 956, 1058, 1058, 956, 1059, 
-	1059, 956, 1060, 1060, 1061, 1062, 1063, 1064, 
-	1065, 1065, 1066, 1067, 956, 1068, 1068, 1069, 
-	1070, 1071, 1072, 1073, 1073, 1074, 1075, 956, 
-	1076, 1076, 956, 1077, 1077, 956, 1078, 1079, 
-	956, 1080, 956, 1081, 1081, 1082, 1083, 1084, 
-	1085, 1086, 1086, 1087, 1088, 956, 1089, 956, 
-	1090, 1090, 1091, 1092, 1093, 1094, 1095, 1095, 
-	1096, 1097, 956, 1098, 1098, 956, 1099, 1099, 
-	956, 1100, 1100, 956, 1101, 1101, 956, 1102, 
-	1102, 1103, 1104, 1105, 1106, 1107, 1107, 1108, 
-	1109, 956, 1110, 1110, 956, 1111, 1111, 956, 
-	1112, 1112, 956, 1113, 1113, 956, 1114, 1114, 
-	956, 1115, 1115, 956, 1116, 1116, 956, 1117, 
-	1117, 1118, 1119, 1120, 1121, 1122, 1122, 1123, 
-	1124, 956, 1125, 1126, 1125, 1126, 956, 1127, 
-	1127, 956, 1128, 1128, 1129, 1130, 1131, 1132, 
-	1133, 1133, 1134, 1135, 956, 1136, 1136, 1137, 
-	1138, 1139, 1140, 1141, 1141, 1142, 1143, 956, 
-	1144, 1145, 1146, 1147, 1146, 1147, 956, 1148, 
-	956, 1149, 1149, 1150, 1151, 1152, 1153, 1154, 
-	1154, 1155, 1156, 956, 1157, 956, 1158, 1158, 
-	1159, 1160, 1161, 1162, 1163, 1163, 1164, 1165, 
-	956, 1166, 1166, 956, 1167, 1167, 1168, 1169, 
-	1170, 1171, 1172, 1172, 1173, 1174, 956, 1175, 
-	1175, 1176, 1177, 1178, 1179, 1180, 1180, 1181, 
-	1182, 956, 1183, 1184, 1183, 1184, 956, 1185, 
-	1185, 956, 1186, 1186, 956, 1187, 1187, 956, 
-	1188, 1188, 1189, 1190, 1191, 1192, 1193, 1193, 
-	1194, 1195, 956, 1196, 1196, 1197, 1198, 1199, 
-	1200, 1201, 1201, 1202, 1203, 956, 1204, 1205, 
-	1206, 1204, 1205, 1206, 956, 1207, 1207, 956, 
-	1208, 1208, 956, 1209, 1209, 956, 1210, 1210, 
-	1211, 1212, 1213, 1214, 1215, 1215, 1216, 1217, 
-	956, 1218, 1218, 956, 1219, 1219, 1220, 1221, 
-	1222, 1223, 1224, 1224, 1225, 1226, 956, 1227, 
-	1227, 1228, 1229, 1230, 1230, 1231, 1232, 1233, 
-	1233, 1234, 1235, 956, 1236, 1236, 956, 1237, 
-	1237, 1238, 1239, 1240, 1241, 1242, 1243, 1243, 
-	1244, 1245, 956, 1246, 1246, 1247, 1248, 1249, 
-	1249, 1250, 1251, 1252, 1252, 1253, 1254, 956, 
-	1255, 1255, 956, 1256, 1256, 956, 1257, 1257, 
-	956, 1258, 1258, 956, 1259, 1259, 1260, 1261, 
-	1262, 1263, 1264, 1264, 1265, 1266, 956, 1267, 
-	1267, 956, 1268, 1268, 956, 1269, 1269, 1270, 
-	1271, 1272, 1273, 1274, 1274, 1275, 1276, 956, 
-	1277, 1278, 1279, 1277, 1278, 1279, 956, 1280, 
-	1280, 1281, 1282, 1283, 1284, 1285, 1285, 1286, 
-	1287, 956, 1288, 1288, 956, 1289, 1289, 956, 
-	1290, 1290, 956, 1291, 1291, 1292, 1293, 1294, 
-	1295, 1296, 1296, 1297, 1298, 956, 1299, 1299, 
-	1300, 1301, 1302, 1303, 1304, 1304, 1305, 1306, 
-	956, 1307, 1308, 1309, 1310, 1307, 1308, 1309, 
-	1310, 956, 1311, 1311, 956, 1312, 1312, 1313, 
-	1314, 1315, 1316, 1317, 1317, 1318, 1319, 956, 
-	1320, 1320, 956, 1321, 1321, 1322, 1323, 1324, 
-	1325, 1326, 1326, 1327, 1328, 956, 1329, 1329, 
-	956, 1330, 1330, 1331, 1332, 1333, 1334, 1335, 
-	1335, 1336, 1337, 956, 1338, 1338, 956, 1339, 
-	1339, 956, 1340, 1340, 956, 1341, 1341, 1342, 
-	1343, 1344, 1345, 1346, 1346, 1347, 1348, 956, 
-	1349, 1350, 1351, 1349, 1350, 1351, 956, 1352, 
-	1352, 956, 1353, 1353, 956, 1354, 1354, 1355, 
-	1356, 1357, 1358, 1359, 1359, 1360, 1361, 956, 
-	1362, 1362, 956, 1363, 1363, 1364, 1365, 1366, 
-	1367, 1368, 1368, 1369, 1370, 956, 1371, 1371, 
-	956, 1372, 1372, 956, 1373, 956, 1374, 1374, 
-	1375, 1376, 1378, 1379, 1380, 1380, 1381, 1382, 
-	1377, 956, 1383, 1383, 956, 1384, 1384, 956, 
-	1385, 1385, 956, 1386, 1386, 1387, 1388, 1389, 
-	1390, 1391, 1391, 1392, 1393, 956, 1394, 1394, 
-	956, 1395, 1395, 1396, 1397, 1398, 1399, 1400, 
-	1400, 1401, 1402, 956, 1404, 1404, 1405, 1406, 
-	1407, 1408, 1403, 1404, 1404, 1405, 1406, 1407, 
-	1408, 1410, 1409, 1411, 1411, 1412, 1413, 1415, 
-	1416, 1414, 1409, 1418, 1418, 1419, 1420, 1422, 
-	1423, 1421, 1421, 1421, 1417, 1424, 1424, 1424, 
-	1417, 1425, 1425, 1426, 1427, 1428, 1429, 1430, 
-	1430, 1431, 1432, 1421, 1421, 1421, 1417, 1428, 
-	1429, 1417, 1422, 1423, 1403, 1407, 1408, 1403, 
-	1433, 1433, 1434, 1435, 1436, 1437, 1403, 1433, 
-	1433, 1434, 1435, 1438, 1436, 1437, 1439, 1409, 
-	1440, 1440, 1441, 1442, 1444, 1444, 1445, 1446, 
-	1443, 1409, 1447, 1447, 1448, 1449, 1451, 1452, 
-	1450, 1450, 1450, 1417, 1453, 1453, 1453, 1417, 
-	1454, 1454, 1455, 1456, 1457, 1458, 1459, 1459, 
-	1460, 1461, 1450, 1450, 1450, 1417, 1457, 1458, 
-	1417, 1451, 1452, 1403, 1462, 1462, 1463, 1464, 
-	1465, 1466, 1443, 1409, 1436, 1437, 1403, 1469, 
-	1470, 1471, 1472, 1473, 1469, 1470, 1471, 1472, 
-	1473, 1468, 1467, 1474, 1474, 1474, 1474, 1475, 
-	1467, 1476, 1477, 1476, 1477, 1467, 1478, 1478, 
-	1478, 1478, 1467, 1479, 1479, 1467, 1480, 1481, 
-	1480, 1480, 1480, 1467, 1482, 1482, 1467, 1483, 
-	1483, 1467, 1484, 1484, 1467, 1485, 1485, 1467, 
-	1486, 1467, 1487, 1467, 1488, 1488, 1467, 1489, 
-	1489, 1467, 1490, 1490, 1467, 1491, 1467, 1492, 
-	1492, 1492, 1492, 1467, 1493, 1493, 1467, 1494, 
-	1495, 1494, 1495, 1467, 1496, 1467, 1497, 1497, 
-	1467, 1498, 1498, 1467, 1499, 1499, 1467, 1500, 
-	1500, 1467, 1501, 1501, 1501, 1501, 1467, 1502, 
-	1502, 1467, 1503, 1503, 1467, 1504, 1504, 1467, 
-	1505, 1506, 1467, 1507, 1467, 1508, 1467, 1509, 
-	1509, 1467, 1510, 1510, 1467, 1511, 1511, 1467, 
-	1512, 1467, 1513, 1467, 1514, 1467, 1515, 1515, 
-	1515, 1515, 1467, 1516, 1467, 1517, 1467, 1518, 
-	1518, 1467, 1519, 1519, 1467, 1520, 1520, 1467, 
-	1521, 1467, 1522, 1467, 1523, 1467, 1524, 1524, 
-	1524, 1524, 1467, 1525, 1525, 1467, 1526, 1526, 
-	1467, 1527, 1527, 1467, 1528, 1528, 1467, 1529, 
-	1529, 1467, 1530, 1530, 1467, 1531, 1531, 1467, 
-	1532, 1532, 1532, 1532, 1467, 1533, 1533, 1467, 
-	1534, 1534, 1467, 1535, 1535, 1467, 1536, 1536, 
-	1467, 1537, 1537, 1467, 1538, 1538, 1467, 1539, 
-	1540, 1539, 1540, 1467, 1541, 1541, 1467, 1542, 
-	1542, 1467, 1543, 1543, 1543, 1543, 1467, 1544, 
-	1544, 1467, 1545, 1545, 1467, 1546, 1546, 1546, 
-	1546, 1467, 1547, 1547, 1467, 1548, 1548, 1467, 
-	1549, 1550, 1549, 1550, 1467, 1551, 1551, 1467, 
-	1552, 1467, 1553, 1553, 1553, 1553, 1467, 1554, 
-	1554, 1467, 1555, 1555, 1467, 1556, 1557, 1558, 
-	1467, 1559, 1560, 1559, 1559, 1559, 1467, 1561, 
-	1561, 1467, 1562, 1562, 1467, 1563, 1563, 1467, 
-	1564, 1564, 1467, 1565, 1467, 1566, 1467, 1567, 
-	1567, 1467, 1568, 1568, 1467, 1569, 1569, 1467, 
-	1570, 1467, 1571, 1571, 1571, 1571, 1467, 1572, 
-	1467, 1573, 1467, 1574, 1574, 1574, 1574, 1467, 
-	1575, 1467, 1576, 1467, 1577, 1577, 1577, 1577, 
-	1467, 1580, 1581, 1582, 1583, 1584, 1585, 1580, 
-	1581, 1582, 1583, 1584, 1585, 1579, 1578, 1586, 
-	1586, 1586, 1586, 1587, 1578, 1588, 1588, 1578, 
-	1589, 1589, 1578, 1590, 1590, 1578, 1591, 1591, 
-	1578, 1592, 1592, 1578, 1593, 1593, 1593, 1593, 
-	1578, 1594, 1595, 1596, 1594, 1595, 1596, 1578, 
-	1597, 1597, 1578, 1598, 1598, 1578, 1599, 1599, 
-	1578, 1600, 1600, 1578, 1601, 1601, 1578, 1602, 
-	1602, 1602, 1602, 1578, 1603, 1604, 1603, 1604, 
-	1578, 1605, 1605, 1578, 1606, 1606, 1606, 1606, 
-	1578, 1607, 1607, 1578, 1608, 1608, 1578, 1609, 
-	1609, 1609, 1609, 1578, 1610, 1610, 1578, 1611, 
-	1611, 1578, 1612, 1612, 1578, 1613, 1613, 1613, 
-	1613, 1578, 1614, 1614, 1578, 1615, 1615, 1578, 
-	1616, 1616, 1616, 1616, 1578, 1617, 1618, 1617, 
-	1618, 1578, 1619, 1619, 1578, 1620, 1620, 1620, 
-	1620, 1578, 1621, 1621, 1578, 1622, 1622, 1578, 
-	1623, 1623, 1623, 1623, 1578, 1624, 1624, 1578, 
-	1625, 1625, 1578, 1626, 1626, 1578, 1627, 1627, 
-	1627, 1627, 1578, 1628, 1628, 1578, 1629, 1629, 
-	1578, 1630, 1630, 1630, 1630, 1578, 1632, 1632, 
-	1631, 1633, 1634, 1633, 1633, 1633, 1634, 1631, 
-	1635, 1635, 1635, 1635, 1635, 1635, 69, 1636, 
-	1636, 1636, 1636, 69, 1637, 1637, 1637, 1637, 
-	1637, 1637, 69, 1638, 1638, 1639, 1640, 1641, 
-	1642, 69, 1643, 1643, 1644, 1645, 1646, 1646, 
-	1646, 1647, 1648, 1646, 1646, 1646, 69, 1649, 
-	1649, 1650, 1651, 1652, 1653, 69, 1655, 1655, 
-	1656, 1657, 1659, 1660, 1658, 1654, 1661, 1661, 
-	1662, 1663, 1665, 1666, 1664, 1654, 1667, 1667, 
-	1668, 1669, 1671, 1672, 1670, 1654, 1674, 1674, 
-	1675, 1676, 1678, 1679, 1680, 1681, 1682, 1678, 
-	1679, 1680, 1681, 1682, 1683, 1684, 1677, 1673, 
-	1685, 1685, 1686, 1687, 1689, 1690, 1688, 1654, 
-	1691, 1691, 1692, 1693, 1695, 1696, 1697, 1698, 
-	1699, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 
-	1694, 1673, 1702, 1702, 1703, 1704, 1706, 1707, 
-	1705, 1654, 1708, 1708, 1709, 1710, 1712, 1713, 
-	1714, 1715, 1716, 1712, 1713, 1714, 1715, 1716, 
-	1717, 1718, 1711, 1673, 1719, 1719, 1720, 1721, 
-	1723, 1724, 1722, 1654, 1725, 1725, 1727, 1728, 
-	1729, 1730, 1731, 1727, 1728, 1729, 1730, 1731, 
-	1725, 1725, 1726, 1673, 1725, 1725, 1725, 1725, 
-	1732, 1673, 1734, 1735, 1736, 1737, 1738, 1734, 
-	1735, 1736, 1737, 1738, 1733, 1673, 1739, 1739, 
-	1739, 1739, 1740, 1673, 1723, 1724, 69, 1708, 
-	1708, 1709, 1710, 1717, 1718, 1741, 1673, 1743, 
-	1744, 1745, 1746, 1747, 1743, 1744, 1745, 1746, 
-	1747, 1742, 1673, 1748, 1748, 1749, 1750, 1752, 
-	1753, 1751, 1673, 1706, 1707, 69, 1691, 1691, 
-	1692, 1693, 1700, 1701, 1754, 1673, 1756, 1757, 
-	1758, 1759, 1760, 1756, 1757, 1758, 1759, 1760, 
-	1755, 1673, 1761, 1761, 1762, 1763, 1765, 1766, 
-	1764, 1673, 1689, 1690, 69, 1674, 1674, 1675, 
-	1676, 1683, 1684, 1767, 1673, 1769, 1770, 1771, 
-	1772, 1773, 1769, 1770, 1771, 1772, 1773, 1768, 
-	1673, 1774, 1774, 1775, 1776, 1778, 1779, 1777, 
-	1673, 1671, 1672, 69, 1659, 1660, 69, 1647, 
-	1648, 69, 69, 69, 69, 69, 1780, 1781, 
-	1781, 1782, 1783, 1784, 1785, 69, 1787, 1787, 
-	1788, 1789, 1790, 1791, 1786, 1786, 1786, 69, 
-	1792, 1792, 1792, 1792, 69, 1790, 1791, 69, 
-	1793, 1793, 1793, 1793, 1793, 1793, 69, 1794, 
-	1794, 1795, 1796, 1797, 1798, 69, 1799, 1799, 
-	1800, 1801, 1802, 1802, 1802, 1803, 1804, 1802, 
-	1802, 1802, 69, 1805, 1805, 1805, 1805, 69, 
-	1803, 1804, 69, 1806, 1654, 1807, 1807, 1808, 
-	1809, 1811, 1812, 1810, 1654, 1813, 1813, 1814, 
-	1815, 1816, 1816, 1816, 1817, 1818, 1816, 1816, 
-	1816, 69, 1819, 1819, 1819, 1819, 69, 1817, 
-	1818, 69, 69, 69, 69, 69, 1820, 1821, 
-	1821, 1822, 1823, 1824, 1825, 1826, 1826, 1827, 
-	1828, 69, 1829, 1829, 1830, 1831, 1832, 1833, 
-	1834, 1834, 1835, 1836, 1820, 1820, 1820, 69, 
-	1832, 1833, 69, 1837, 1837, 1837, 1837, 1631, 
-	1838, 1839, 1838, 1838, 1838, 1839, 1839, 1839, 
-	1631, 1841, 1840, 1842, 1842, 1843, 1844, 1846, 
-	1847, 1845, 1840, 1848, 1848, 1849, 1850, 1852, 
-	1853, 1854, 1855, 1851, 1840, 1856, 1856, 1857, 
-	1858, 1860, 1861, 1859, 1840, 1862, 1862, 1863, 
-	1864, 1852, 1853, 1866, 1867, 1865, 1840, 1868, 
-	1868, 1869, 1870, 1871, 1873, 1874, 1872, 1840, 
-	1875, 1875, 1876, 1877, 1852, 1853, 1878, 1879, 
-	1840, 1880, 1880, 1881, 1882, 1883, 1884, 1840, 
-	1880, 1880, 1881, 1882, 1883, 1884, 1885, 1840, 
-	1886, 1886, 1887, 1888, 1890, 1891, 1889, 1840, 
-	1892, 1892, 1893, 1894, 1896, 1897, 1898, 1899, 
-	1895, 1840, 1900, 1900, 1901, 1902, 1904, 1905, 
-	1903, 1840, 1906, 1906, 1907, 1908, 1896, 1897, 
-	1910, 1911, 1909, 1840, 1912, 1912, 1913, 1914, 
-	1915, 1917, 1918, 1916, 1840, 1919, 1919, 1920, 
-	1921, 1896, 1897, 1922, 1923, 1840, 1924, 1924, 
-	1925, 1926, 1927, 1928, 1840, 1924, 1924, 1925, 
-	1926, 1929, 1927, 1928, 1930, 1840, 1931, 1840, 
-	1932, 1932, 1933, 1934, 1935, 1937, 1938, 1939, 
-	1940, 1940, 1941, 1942, 1936, 1840, 1943, 1943, 
-	1944, 1945, 1947, 1948, 1949, 1949, 1950, 1951, 
-	1946, 1840, 1952, 1952, 1953, 1954, 1955, 1957, 
-	1958, 1959, 1960, 1960, 1961, 1962, 1956, 1840, 
-	1963, 1963, 1964, 1965, 1967, 1968, 1949, 1949, 
-	1969, 1970, 1966, 1840, 1971, 1971, 1972, 1973, 
-	1974, 1976, 1977, 1978, 1979, 1979, 1980, 1981, 
-	1975, 1840, 1982, 1982, 1983, 1984, 1986, 1987, 
-	1949, 1949, 1988, 1989, 1985, 1840, 1990, 1990, 
-	1991, 1992, 1993, 1990, 1995, 1996, 1997, 1997, 
-	1998, 1999, 1994, 1840, 2000, 2000, 2001, 2002, 
-	2003, 2004, 1949, 1949, 2005, 2006, 1840, 2003, 
-	2004, 1840, 2007, 2007, 2008, 2009, 2007, 2011, 
-	2012, 2013, 2013, 2014, 2015, 2010, 1840, 1990, 
-	1990, 1991, 1992, 1990, 1995, 1996, 1997, 1997, 
-	1998, 1999, 2016, 1840, 1986, 1987, 1840, 2017, 
-	2017, 2018, 2019, 2021, 2022, 2023, 2024, 2024, 
-	2025, 2026, 2020, 1840, 1971, 1971, 1972, 1973, 
-	1976, 1977, 1978, 1979, 1979, 1980, 1981, 2027, 
-	1840, 1982, 1982, 1983, 1984, 1986, 1987, 1949, 
-	1949, 1988, 1989, 1840, 1967, 1968, 1840, 2028, 
-	2028, 2029, 2030, 2032, 2033, 2034, 2035, 2035, 
-	2036, 2037, 2031, 1840, 1952, 1952, 1953, 1954, 
-	1957, 1958, 1959, 1960, 1960, 1961, 1962, 2038, 
-	1840, 1963, 1963, 1964, 1965, 1967, 1968, 1949, 
-	1949, 1969, 1970, 1840, 1947, 1948, 1840, 2039, 
-	2039, 2040, 2041, 2043, 2044, 2045, 2046, 2046, 
-	2047, 2048, 2042, 1840, 1932, 1932, 1933, 1934, 
-	1937, 1938, 1939, 1940, 1940, 1941, 1942, 2049, 
-	1840, 1943, 1943, 1944, 1945, 1947, 1948, 1949, 
-	1949, 1950, 1951, 1840, 1927, 1928, 1840, 2050, 
-	2050, 2051, 2052, 2053, 2054, 1840, 1922, 1923, 
-	1840, 2055, 2055, 2056, 2057, 2059, 2060, 2058, 
-	1840, 1912, 1912, 1913, 1914, 1917, 1918, 2061, 
-	1840, 1910, 1911, 1840, 1898, 1899, 1840, 1883, 
-	1884, 1840, 2062, 2062, 2063, 2064, 2065, 2066, 
-	1840, 1878, 1879, 1840, 2067, 2067, 2068, 2069, 
-	2071, 2072, 2070, 1840, 1868, 1868, 1869, 1870, 
-	1873, 1874, 2073, 1840, 1866, 1867, 1840, 1854, 
-	1855, 1840, 2074, 1654, 2075, 2075, 2076, 2077, 
-	2079, 2080, 2078, 1654, 2081, 2081, 2082, 2083, 
-	2085, 2086, 2084, 1654, 2087, 2087, 2088, 2089, 
-	2091, 2092, 2090, 1654, 2093, 2093, 2094, 2095, 
-	2097, 2098, 2096, 1654, 2099, 2099, 2100, 2101, 
-	2103, 2104, 2102, 1654, 2105, 2105, 2106, 2107, 
-	2108, 2108, 2108, 2109, 2110, 2108, 2108, 2108, 
-	69, 2111, 2111, 2111, 2111, 69, 2109, 2110, 
-	69, 2097, 2098, 69, 2085, 2086, 69, 2112, 
-	1654, 2113, 2113, 2114, 2115, 2117, 2118, 2116, 
-	1654, 2119, 2119, 2120, 2121, 2123, 2124, 2122, 
-	1654, 2125, 2125, 2126, 2127, 2129, 2130, 2128, 
-	1654, 2132, 2132, 2133, 2134, 2135, 2136, 2131, 
-	2131, 2131, 69, 2137, 2137, 2138, 2139, 2140, 
-	2141, 69, 2143, 2143, 2144, 2145, 2146, 2147, 
-	2142, 2142, 2142, 69, 2148, 2148, 2149, 2150, 
-	2151, 2152, 69, 2154, 2154, 2155, 2156, 2157, 
-	2158, 2153, 2153, 2153, 69, 2159, 2159, 2160, 
-	2161, 2162, 2163, 69, 2164, 2164, 2165, 2166, 
-	2167, 2167, 2167, 2168, 2169, 2167, 2167, 2167, 
-	69, 2170, 2170, 2170, 2170, 69, 2168, 2169, 
-	69, 2157, 2158, 69, 2146, 2147, 69, 2135, 
-	2136, 69, 2123, 2124, 69, 2171, 2171, 2171, 
-	69, 2172, 2172, 2173, 2174, 2175, 2176, 69, 
-	2172, 2172, 2173, 2174, 2175, 2176, 2177, 1654, 
-	2178, 2178, 2179, 2180, 2182, 2183, 2181, 1654, 
-	2184, 2184, 2185, 2186, 2188, 2189, 2187, 2187, 
-	2187, 69, 2190, 2190, 2191, 2192, 2193, 2194, 
-	69, 2190, 2190, 2191, 2192, 2195, 2193, 2194, 
-	2195, 2195, 2195, 69, 2196, 2196, 69, 2193, 
-	2194, 69, 2188, 2189, 69, 2175, 2176, 69, 
-	2198, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 
-	2205, 2206, 2206, 2207, 2208, 2197, 2209, 2210, 
-	2197, 2211, 2197, 2213, 2213, 2212, 2215, 2214, 
-	2212, 2216, 2197, 2217, 2217, 2218, 2219, 2221, 
-	2222, 2223, 2223, 2224, 2225, 2220, 2197, 2204, 
-	2205, 69, 2226, 2197, 2227, 2227, 2227, 2227, 
-	2212, 2229, 2228, 2228, 2228, 2212, 2230, 1654, 
-	2231, 2231, 2232, 2233, 2235, 2236, 2234, 1654, 
-	2237, 2237, 2238, 2239, 2241, 2242, 2240, 2240, 
-	2240, 69, 2243, 2243, 2244, 2245, 2246, 2247, 
-	69, 2243, 2243, 2244, 2245, 2246, 2247, 2248, 
-	1654, 2249, 2249, 2250, 2251, 2253, 2254, 2252, 
-	1654, 2256, 2256, 2257, 2258, 2260, 2261, 2259, 
-	2259, 2259, 2255, 2262, 2262, 2262, 2255, 2263, 
-	2263, 2264, 2265, 2266, 2267, 2268, 2268, 2269, 
-	2270, 2259, 2259, 2259, 2255, 2266, 2267, 2255, 
-	2260, 2261, 69, 2246, 2247, 69, 2241, 2242, 
-	69, 2271, 1654, 2272, 2272, 2273, 2274, 2276, 
-	2277, 2275, 1654, 2278, 2278, 2279, 2280, 2282, 
-	2283, 2281, 1654, 2284, 2284, 2285, 2286, 2288, 
-	2289, 2287, 1654, 2290, 2290, 2291, 2292, 2294, 
-	2295, 2293, 2293, 2293, 2255, 2296, 2296, 2296, 
-	2255, 2297, 2297, 2298, 2299, 2300, 2301, 2302, 
-	2302, 2303, 2304, 2293, 2293, 2293, 2255, 2300, 
-	2301, 2255, 2294, 2295, 69, 2282, 2283, 69, 
-	2305, 1654, 2306, 2306, 2307, 2308, 2310, 2311, 
-	2309, 1654, 2313, 2313, 2314, 2315, 2316, 2317, 
-	2318, 2319, 2320, 2321, 2312, 2322, 2322, 2323, 
-	2324, 2325, 2326, 2312, 2322, 2322, 2323, 2324, 
-	2325, 2326, 2328, 2327, 2329, 2329, 2330, 2331, 
-	2333, 2334, 2332, 2327, 2335, 2335, 2336, 2337, 
-	2338, 2339, 2340, 2312, 2342, 2342, 2343, 2344, 
-	2345, 2345, 2346, 2347, 2348, 2348, 2349, 2350, 
-	2351, 2351, 2351, 2351, 2352, 2353, 2351, 2351, 
-	2354, 2355, 2356, 2357, 2351, 2351, 2358, 2359, 
-	2360, 2361, 2351, 2351, 2362, 2363, 2341, 2342, 
-	2342, 2343, 2344, 2365, 2352, 2353, 2365, 2365, 
-	2365, 2364, 2351, 2351, 2364, 2352, 2353, 2364, 
-	2345, 2345, 2346, 2347, 2351, 2351, 2351, 2351, 
-	2356, 2357, 2351, 2351, 2358, 2359, 2364, 2356, 
-	2357, 2364, 2365, 2342, 2342, 2343, 2344, 2345, 
-	2345, 2346, 2347, 2348, 2348, 2349, 2350, 2351, 
-	2351, 2351, 2351, 2352, 2353, 2351, 2351, 2354, 
-	2355, 2356, 2357, 2351, 2351, 2358, 2359, 2360, 
-	2361, 2351, 2351, 2362, 2363, 2365, 2365, 2365, 
-	2364, 2352, 2356, 2360, 2353, 2357, 2361, 2364, 
-	2339, 2340, 2312, 2325, 2326, 2312, 2366, 2366, 
-	2367, 2368, 2369, 2370, 2312, 2366, 2366, 2367, 
-	2368, 2369, 2370, 2371, 2327, 2372, 2372, 2373, 
-	2374, 2376, 2377, 2375, 2327, 2379, 2379, 2380, 
-	2381, 2382, 2383, 2384, 2382, 2378, 2386, 2387, 
-	2387, 2388, 2389, 2390, 2390, 2391, 2392, 2393, 
-	2393, 2394, 2395, 2396, 2396, 2396, 2396, 2397, 
-	2398, 2396, 2396, 2399, 2400, 2401, 2402, 2396, 
-	2396, 2403, 2404, 2405, 2406, 2396, 2396, 2407, 
-	2408, 2386, 2385, 2383, 2384, 2312, 2369, 2370, 
-	2312, 2409, 2409, 2410, 2411, 2412, 2413, 2312, 
-	2409, 2409, 2410, 2411, 2412, 2413, 2414, 2327, 
-	2415, 2415, 2416, 2417, 2419, 2420, 2418, 2327, 
-	2421, 2421, 2422, 2423, 2424, 2425, 2426, 2424, 
-	2424, 2424, 2378, 2427, 2428, 2428, 2429, 2430, 
-	2431, 2431, 2432, 2433, 2434, 2434, 2435, 2436, 
-	2437, 2437, 2437, 2437, 2438, 2439, 2437, 2437, 
-	2440, 2441, 2442, 2443, 2437, 2437, 2444, 2445, 
-	2446, 2447, 2437, 2437, 2448, 2449, 2427, 2427, 
-	2427, 2385, 2425, 2426, 2312, 2412, 2413, 2312, 
-	2450, 2450, 2451, 2452, 2453, 2454, 2312, 2450, 
-	2450, 2451, 2452, 2453, 2454, 2455, 2327, 2456, 
-	2456, 2457, 2458, 2460, 2461, 2459, 2327, 2462, 
-	2462, 2463, 2464, 2465, 2465, 2465, 2466, 2467, 
-	2465, 2465, 2465, 2312, 2468, 2468, 2469, 2470, 
-	2471, 2471, 2472, 2473, 2474, 2474, 2475, 2476, 
-	2477, 2477, 2477, 2477, 2478, 2479, 2477, 2477, 
-	2480, 2481, 2482, 2483, 2477, 2477, 2484, 2485, 
-	2486, 2487, 2477, 2477, 2488, 2489, 2341, 2466, 
-	2467, 2312, 2453, 2454, 2312, 2320, 2321, 69, 
-	2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 
-	2499, 2500, 2501, 2502, 2503, 2504, 2491, 2492, 
-	2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 
-	2501, 2502, 2503, 2504, 2490, 2505, 2505, 2506, 
-	2507, 2508, 2509, 2510, 2508, 2509, 2510, 2511, 
-	2512, 2490, 2513, 2513, 2514, 2515, 2517, 2518, 
-	2516, 2516, 2516, 69, 2519, 2519, 2520, 2521, 
-	2522, 2523, 69, 2519, 2519, 2520, 2521, 2522, 
-	2523, 2524, 1654, 2525, 2525, 2526, 2527, 2529, 
-	2530, 2528, 1654, 2531, 2531, 2532, 2533, 2535, 
-	2536, 2534, 1654, 2537, 2537, 2538, 2539, 2541, 
-	2542, 2540, 1654, 2544, 2544, 2545, 2546, 2548, 
-	2549, 2547, 2543, 2550, 2550, 2551, 2552, 2554, 
-	2555, 2553, 2543, 2556, 2556, 2557, 2558, 2560, 
-	2561, 2559, 2543, 2562, 2562, 2563, 2564, 2566, 
-	2567, 2565, 2543, 2568, 2568, 2569, 2570, 2572, 
-	2573, 2571, 1654, 2574, 2574, 2575, 2576, 2578, 
-	2579, 2577, 1654, 2580, 2580, 2581, 2582, 2583, 
-	2583, 2583, 2584, 2585, 2583, 2583, 2583, 69, 
-	2586, 2586, 2587, 2588, 2589, 2590, 69, 2591, 
-	2591, 2592, 2593, 2594, 2595, 2596, 2594, 2594, 
-	2594, 69, 2597, 2597, 69, 2595, 2596, 69, 
-	2584, 2585, 69, 2572, 2573, 69, 2560, 2561, 
-	69, 2548, 2549, 69, 2535, 2536, 69, 2522, 
-	2523, 69, 2517, 2518, 69, 2598, 2598, 2490, 
-	2599, 2599, 2490, 2600, 2600, 2601, 2602, 2603, 
-	2604, 2490, 2605, 2605, 2490, 2606, 2606, 2490, 
-	2607, 2607, 2490, 2608, 2608, 2609, 2610, 2611, 
-	2612, 2490, 2613, 2613, 2490, 2614, 2614, 2615, 
-	2616, 2617, 2618, 2490, 2619, 2620, 2619, 2620, 
-	2490, 2621, 2621, 2490, 2622, 2622, 2490, 2623, 
-	2623, 2624, 2625, 2626, 2627, 2490, 2628, 2628, 
-	2490, 2629, 2629, 2490, 2630, 2630, 2490, 2631, 
-	2631, 2632, 2633, 2634, 2635, 2490, 2636, 2637, 
-	2638, 2636, 2637, 2638, 2490, 2639, 2639, 2490, 
-	2640, 2640, 2490, 2641, 2641, 2490, 2642, 2642, 
-	2643, 2644, 2645, 2646, 2490, 2647, 2648, 2647, 
-	2648, 2490, 2649, 2649, 2490, 2650, 2650, 2490, 
-	2651, 2651, 2652, 2653, 2654, 2655, 2490, 2656, 
-	2656, 2490, 2657, 2657, 2490, 2658, 2658, 2490, 
-	2659, 2659, 2660, 2661, 2662, 2663, 2490, 2664, 
-	2664, 2665, 2666, 2667, 2668, 2490, 2669, 2669, 
-	2490, 2670, 2670, 2490, 2671, 2672, 2490, 2673, 
-	2490, 2674, 2674, 2675, 2676, 2677, 2678, 2490, 
-	2679, 2490, 2680, 2680, 2681, 2682, 2683, 2684, 
-	2490, 2685, 2685, 2490, 2686, 2686, 2490, 2687, 
-	2687, 2490, 2688, 2688, 2490, 2689, 2689, 2690, 
-	2691, 2692, 2693, 2490, 2694, 2694, 2490, 2695, 
-	2695, 2490, 2696, 2696, 2490, 2697, 2697, 2490, 
-	2698, 2698, 2490, 2699, 2699, 2490, 2700, 2700, 
-	2490, 2701, 2701, 2702, 2703, 2704, 2705, 2490, 
-	2706, 2707, 2706, 2707, 2490, 2708, 2708, 2490, 
-	2709, 2709, 2710, 2711, 2712, 2713, 2490, 2714, 
-	2714, 2715, 2716, 2717, 2718, 2490, 2719, 2720, 
-	2721, 2722, 2721, 2722, 2490, 2723, 2490, 2724, 
-	2724, 2725, 2726, 2727, 2728, 2490, 2729, 2490, 
-	2730, 2730, 2731, 2732, 2733, 2734, 2490, 2735, 
-	2735, 2490, 2736, 2736, 2737, 2738, 2739, 2740, 
-	2490, 2741, 2741, 2742, 2743, 2744, 2745, 2490, 
-	2746, 2747, 2746, 2747, 2490, 2748, 2748, 2490, 
-	2749, 2749, 2490, 2750, 2750, 2490, 2751, 2751, 
-	2752, 2753, 2754, 2755, 2490, 2756, 2756, 2757, 
-	2758, 2759, 2760, 2490, 2761, 2762, 2763, 2761, 
-	2762, 2763, 2490, 2764, 2764, 2490, 2765, 2765, 
-	2490, 2766, 2766, 2490, 2767, 2767, 2768, 2769, 
-	2770, 2771, 2490, 2772, 2772, 2490, 2773, 2773, 
-	2774, 2775, 2776, 2777, 2490, 2778, 2778, 2779, 
-	2780, 2781, 2781, 2782, 2783, 2490, 2784, 2784, 
-	2490, 2785, 2785, 2786, 2787, 2788, 2789, 2790, 
-	2490, 2791, 2791, 2792, 2793, 2794, 2794, 2795, 
-	2796, 2490, 2797, 2797, 2490, 2798, 2798, 2490, 
-	2799, 2799, 2490, 2800, 2800, 2490, 2801, 2801, 
-	2802, 2803, 2804, 2805, 2490, 2806, 2806, 2490, 
-	2807, 2807, 2490, 2808, 2808, 2809, 2810, 2811, 
-	2812, 2490, 2813, 2814, 2815, 2813, 2814, 2815, 
-	2490, 2816, 2816, 2817, 2818, 2819, 2820, 2490, 
-	2821, 2821, 2490, 2822, 2822, 2490, 2823, 2823, 
-	2490, 2824, 2824, 2825, 2826, 2827, 2828, 2490, 
-	2829, 2829, 2830, 2831, 2832, 2833, 2490, 2834, 
-	2835, 2836, 2837, 2834, 2835, 2836, 2837, 2490, 
-	2838, 2838, 2490, 2839, 2839, 2840, 2841, 2842, 
-	2843, 2490, 2844, 2844, 2490, 2845, 2845, 2846, 
-	2847, 2848, 2849, 2490, 2850, 2850, 2490, 2851, 
-	2851, 2852, 2853, 2854, 2855, 2490, 2856, 2856, 
-	2490, 2857, 2857, 2490, 2858, 2858, 2490, 2859, 
-	2859, 2860, 2861, 2862, 2863, 2490, 2864, 2865, 
-	2866, 2864, 2865, 2866, 2490, 2867, 2867, 2490, 
-	2868, 2868, 2490, 2869, 2869, 2870, 2871, 2872, 
-	2873, 2490, 2874, 2874, 2490, 2875, 2875, 2876, 
-	2877, 2878, 2879, 2490, 2880, 2880, 2490, 2881, 
-	2881, 2490, 2883, 2882, 2884, 2884, 2885, 2886, 
-	2888, 2889, 2887, 2882, 2890, 2890, 2890, 2890, 
-	2890, 2890, 69, 2891, 2891, 2891, 2891, 69, 
-	2892, 2892, 2892, 2892, 69, 2893, 1654, 2894, 
-	2894, 2895, 2896, 2898, 2899, 2897, 1654, 2900, 
-	2900, 2901, 2902, 2904, 2905, 2903, 1654, 2906, 
-	2906, 2907, 2908, 2910, 2911, 2909, 1654, 2912, 
-	2912, 2913, 2914, 2916, 2917, 2915, 2915, 2915, 
-	69, 2918, 2918, 2919, 2920, 2921, 2922, 69, 
-	2918, 2918, 2919, 2920, 2923, 2921, 2922, 2923, 
-	2923, 2923, 69, 2924, 2924, 69, 2921, 2922, 
-	69, 2916, 2917, 69, 2904, 2905, 69, 2925, 
-	2925, 2925, 2925, 69, 2926, 2926, 69, 2927, 
-	1654, 2928, 2928, 2929, 2930, 2932, 2933, 2931, 
-	1654, 2934, 2934, 2935, 2936, 2938, 2939, 2937, 
-	1654, 2940, 2940, 2941, 2942, 2944, 2945, 2943, 
-	1654, 2946, 2946, 2947, 2948, 2950, 2951, 2949, 
-	1654, 2952, 2952, 2953, 2954, 2956, 2957, 2955, 
-	1654, 2958, 2958, 2959, 2960, 2961, 2963, 2964, 
-	2962, 2962, 2962, 2255, 2965, 2965, 2966, 2967, 
-	2968, 2969, 2255, 2971, 2971, 2972, 2973, 2975, 
-	2976, 2974, 2974, 2974, 2970, 2977, 2977, 2977, 
-	2970, 2979, 2978, 2978, 2978, 2970, 2980, 2980, 
-	2980, 2970, 2982, 2981, 2981, 2981, 2970, 2984, 
-	2983, 2983, 2983, 2970, 2985, 2985, 2985, 2970, 
-	2987, 2986, 2986, 2986, 2970, 2988, 2988, 2988, 
-	2988, 2989, 2989, 2989, 2970, 2990, 2990, 2990, 
-	2990, 69, 2991, 2970, 2987, 2970, 2984, 2970, 
-	2992, 2970, 2982, 2970, 2975, 2976, 69, 2993, 
-	2993, 2993, 2255, 2965, 2965, 2966, 2967, 2968, 
-	2969, 2994, 2994, 2994, 2255, 2963, 2964, 69, 
-	2950, 2951, 69, 2938, 2939, 69, 2995, 1654, 
-	2996, 2996, 2997, 2998, 3000, 3001, 2999, 1654, 
-	3002, 3002, 3003, 3004, 3006, 3007, 3005, 1654, 
-	3008, 3008, 3009, 3010, 3012, 3013, 3011, 1654, 
-	3014, 3014, 3015, 3016, 3018, 3019, 3017, 1654, 
-	3020, 3020, 3021, 3022, 3024, 3025, 3023, 1654, 
-	3026, 3026, 3027, 3028, 3029, 3031, 3032, 3030, 
-	3030, 3030, 2255, 3033, 3033, 3033, 3033, 2255, 
-	3034, 3034, 3034, 2255, 3033, 3033, 3033, 3033, 
-	3035, 3035, 3035, 2255, 3031, 3032, 69, 3018, 
-	3019, 69, 3006, 3007, 69, 3036, 1654, 3037, 
-	3037, 3038, 3039, 3041, 3042, 3040, 1654, 3043, 
-	3043, 3044, 3045, 3047, 3048, 3046, 1654, 3049, 
-	3049, 3050, 3051, 3053, 3054, 3052, 1654, 3055, 
-	3055, 3056, 3057, 3059, 3060, 3058, 1654, 3061, 
-	3061, 3062, 3063, 3065, 3066, 3064, 1654, 3067, 
-	3067, 3068, 3069, 3071, 3072, 3070, 3070, 3070, 
-	2255, 3073, 3073, 3073, 2255, 3074, 3074, 3075, 
-	3076, 3077, 3078, 3079, 3079, 3080, 3081, 3070, 
-	3070, 3070, 2255, 3077, 3078, 2255, 3071, 3072, 
-	69, 3059, 3060, 69, 3047, 3048, 69, 3082, 
-	1654, 3083, 3083, 3084, 3085, 3087, 3088, 3086, 
-	1654, 3089, 3089, 3090, 3091, 3092, 3093, 3094, 
-	3092, 1631, 3095, 3096, 3095, 3095, 3095, 3096, 
-	1631, 3093, 3094, 69, 3097, 1654, 3098, 3098, 
-	3099, 3100, 3102, 3103, 3101, 1654, 3104, 3104, 
-	3105, 3106, 3108, 3109, 3107, 3107, 3107, 2255, 
-	3110, 3110, 3110, 2255, 3111, 3111, 3111, 2255, 
-	3112, 3112, 3112, 2255, 3114, 3113, 3115, 3115, 
-	3115, 2255, 3116, 3116, 3116, 2255, 3117, 3117, 
-	3117, 2255, 3118, 3118, 3118, 2255, 3120, 3114, 
-	3120, 3120, 3120, 3119, 3108, 3109, 69, 3121, 
-	3121, 3121, 2255, 3122, 3122, 3122, 2255, 3124, 
-	3123, 3125, 3125, 3125, 2255, 3126, 3126, 3126, 
-	2255, 3127, 3124, 3127, 3127, 3127, 3123, 3128, 
-	3128, 3128, 2255, 3129, 3129, 3129, 2255, 3130, 
-	3123, 3131, 3131, 3131, 2255, 3132, 3132, 3132, 
-	2255, 3133, 3130, 3133, 3133, 3133, 3123, 3135, 
-	3135, 3136, 3137, 3138, 3139, 3139, 3139, 19, 
-	20, 3140, 3141, 3139, 3139, 3139, 3134, 3142, 
-	3142, 3143, 3144, 3145, 3146, 67, 3147, 3146, 
-	19, 20, 3148, 3149, 115, 116, 3150, 3151, 
-	67, 67, 3146, 67, 3146, 67, 3146, 67, 
-	691, 3153, 3153, 3136, 3154, 3155, 3139, 3156, 
-	3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 
-	3165, 3166, 3167, 3168, 3169, 3139, 3139, 3156, 
-	3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 
-	3165, 3166, 3167, 3168, 3169, 19, 20, 3170, 
-	3171, 3139, 3139, 3139, 3152, 3153, 3153, 3136, 
-	3154, 3155, 3139, 3174, 3175, 3176, 3177, 3178, 
-	3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 
-	3187, 3139, 3139, 3174, 3175, 3176, 3177, 3178, 
-	3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 
-	3187, 19, 20, 3170, 3171, 3139, 3173, 3139, 
-	3139, 3172, 3189, 3189, 3190, 3191, 3192, 3193, 
-	3193, 3193, 3194, 3195, 3196, 3197, 3193, 3193, 
-	3193, 3188, 3135, 3135, 3136, 3198, 3199, 3139, 
-	3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 
-	3182, 3183, 3184, 3185, 3186, 3187, 3139, 3139, 
-	3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 
-	3182, 3183, 3184, 3185, 3186, 3187, 19, 20, 
-	3200, 3141, 3139, 3173, 3139, 3139, 3172, 3201, 
-	3201, 3136, 3202, 3203, 3139, 3139, 3139, 81, 
-	82, 3204, 3205, 3139, 3139, 3139, 691, 3206, 
-	3206, 3143, 3207, 3208, 3146, 67, 3147, 3146, 
-	81, 82, 3204, 3209, 90, 91, 3204, 3210, 
-	67, 67, 3146, 67, 3146, 67, 3146, 67, 
-	691, 3142, 3142, 3143, 3144, 3145, 3146, 67, 
-	3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 
-	3221, 3222, 3223, 3224, 3225, 3226, 3147, 3146, 
-	3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 
-	3221, 3222, 3223, 3224, 3225, 3226, 19, 20, 
-	3148, 3149, 115, 116, 3150, 3151, 67, 67, 
-	3146, 3212, 67, 3146, 67, 3146, 67, 3211, 
-	3206, 3206, 3143, 3207, 3208, 3146, 67, 3213, 
-	3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 
-	3222, 3223, 3224, 3225, 3226, 3147, 3146, 3213, 
-	3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 
-	3222, 3223, 3224, 3225, 3226, 81, 82, 3227, 
-	3209, 90, 91, 3227, 3210, 67, 67, 3146, 
-	3212, 67, 3146, 67, 3146, 67, 3211, 613, 
-	613, 613, 804, 801, 804, 803, 804, 801, 
-	805, 801, 800, 613, 613, 613, 937, 937, 
-	938, 939, 909, 910, 911, 909, 940, 941, 
-	909, 909, 909, 915, 613, 948, 948, 949, 
-	950, 943, 951, 952, 953, 953, 954, 955, 
-	943, 943, 943, 942, 951, 952, 942, 613, 
-	965, 965, 966, 967, 968, 969, 970, 971, 
-	972, 973, 974, 975, 976, 977, 978, 979, 
-	980, 981, 968, 969, 970, 971, 972, 973, 
-	974, 975, 976, 977, 978, 979, 980, 981, 
-	982, 983, 984, 984, 985, 986, 956, 982, 
-	983, 956, 613, 1425, 1425, 1426, 1427, 1428, 
-	1429, 1430, 1430, 1431, 1432, 1421, 1421, 1421, 
-	1417, 1428, 1429, 1417, 1447, 1447, 1448, 1449, 
-	1451, 1452, 1450, 1450, 1450, 1417, 1403, 1454, 
-	1454, 1455, 1456, 1457, 1458, 1459, 1459, 1460, 
-	1461, 1450, 1450, 1450, 1417, 1457, 1458, 1417, 
-	1451, 1452, 1403, 613, 613, 613, 613, 613, 
-	613, 613, 613, 613, 1829, 1829, 1830, 1831, 
-	1832, 1833, 1834, 1834, 1835, 1836, 1820, 1820, 
-	1820, 69, 1832, 1833, 69, 613, 613, 2000, 
-	2000, 2001, 2002, 2003, 2004, 1949, 1949, 2005, 
-	2006, 1840, 2003, 2004, 1840, 1982, 1982, 1983, 
-	1984, 1986, 1987, 1949, 1949, 1988, 1989, 1985, 
-	1840, 1986, 1987, 1840, 1963, 1963, 1964, 1965, 
-	1967, 1968, 1949, 1949, 1969, 1970, 1966, 1840, 
-	1967, 1968, 1840, 1943, 1943, 1944, 1945, 1947, 
-	1948, 1949, 1949, 1950, 1951, 1946, 1840, 1947, 
-	1948, 1840, 613, 613, 613, 613, 2198, 2198, 
-	2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 
-	2206, 2207, 2208, 2197, 2204, 2205, 69, 613, 
-	2263, 2263, 2264, 2265, 2266, 2267, 2268, 2268, 
-	2269, 2270, 2259, 2259, 2259, 2255, 2266, 2267, 
-	2255, 613, 2297, 2297, 2298, 2299, 2300, 2301, 
-	2302, 2302, 2303, 2304, 2293, 2293, 2293, 2255, 
-	2300, 2301, 2255, 613, 2345, 2345, 2346, 2347, 
-	2351, 2351, 2351, 2351, 2356, 2357, 2351, 2351, 
-	2358, 2359, 2364, 2356, 2357, 2364, 2342, 2342, 
-	2343, 2344, 2365, 2352, 2353, 2365, 2365, 2365, 
-	2364, 2352, 2353, 2364, 2365, 2342, 2342, 2343, 
-	2344, 2345, 2345, 2346, 2347, 2348, 2348, 2349, 
-	2350, 2351, 2351, 2351, 2351, 2352, 2353, 2351, 
-	2351, 2354, 2355, 2356, 2357, 2351, 2351, 2358, 
-	2359, 2360, 2361, 2351, 2351, 2362, 2363, 2365, 
-	2365, 2365, 2364, 2352, 2356, 2360, 2353, 2357, 
-	2361, 2364, 613, 613, 613, 613, 613, 613, 
-	613, 3074, 3074, 3075, 3076, 3077, 3078, 3079, 
-	3079, 3080, 3081, 3070, 3070, 3070, 2255, 3077, 
-	3078, 2255, 613, 613, 613, 613, 0
+	16, 17, 18, 81, 82, 729, 730, 4, 
+	0, 81, 729, 82, 730, 125, 732, 732, 
+	733, 734, 59, 60, 61, 59, 60, 61, 
+	81, 82, 735, 736, 682, 683, 737, 738, 
+	731, 739, 739, 740, 741, 67, 99, 100, 
+	101, 102, 103, 104, 105, 106, 107, 108, 
+	109, 110, 111, 112, 72, 99, 100, 101, 
+	102, 103, 104, 105, 106, 107, 108, 109, 
+	110, 111, 112, 81, 82, 703, 701, 90, 
+	91, 742, 702, 67, 67, 98, 67, 95, 
+	715, 715, 716, 717, 131, 132, 133, 131, 
+	132, 133, 81, 82, 718, 719, 731, 715, 
+	715, 716, 717, 180, 181, 182, 180, 181, 
+	182, 81, 82, 718, 719, 731, 715, 715, 
+	716, 717, 225, 225, 81, 82, 718, 719, 
+	731, 715, 715, 716, 717, 247, 247, 81, 
+	82, 718, 719, 731, 715, 715, 716, 717, 
+	564, 260, 564, 260, 81, 82, 718, 719, 
+	731, 715, 715, 716, 717, 299, 300, 299, 
+	300, 81, 82, 718, 719, 731, 715, 715, 
+	716, 717, 318, 319, 320, 321, 320, 321, 
+	81, 82, 718, 719, 731, 715, 715, 716, 
+	717, 357, 358, 357, 358, 81, 82, 718, 
+	719, 731, 715, 715, 716, 717, 378, 379, 
+	380, 378, 379, 380, 81, 82, 718, 719, 
+	731, 715, 715, 716, 717, 441, 441, 81, 
+	82, 718, 719, 731, 715, 715, 716, 717, 
+	451, 452, 453, 451, 452, 453, 81, 82, 
+	718, 719, 731, 715, 715, 716, 717, 481, 
+	482, 483, 484, 481, 482, 483, 484, 81, 
+	82, 718, 719, 731, 715, 715, 716, 717, 
+	523, 524, 525, 523, 524, 525, 81, 82, 
+	718, 719, 731, 743, 743, 85, 745, 746, 
+	84, 84, 747, 748, 84, 84, 84, 744, 
+	690, 690, 691, 692, 5, 6, 7, 8, 
+	9, 10, 11, 12, 13, 14, 15, 16, 
+	17, 18, 5, 6, 7, 8, 9, 10, 
+	11, 12, 13, 14, 15, 16, 17, 18, 
+	81, 82, 693, 694, 4, 95, 78, 81, 
+	78, 79, 80, 82, 749, 693, 749, 750, 
+	751, 694, 635, 77, 78, 81, 78, 79, 
+	80, 82, 749, 693, 749, 750, 751, 694, 
+	635, 83, 695, 81, 695, 696, 697, 752, 
+	693, 752, 753, 754, 82, 701, 77, 755, 
+	755, 35, 756, 756, 35, 757, 757, 758, 
+	759, 760, 761, 762, 762, 763, 764, 55, 
+	765, 765, 35, 766, 766, 35, 767, 767, 
+	35, 768, 768, 769, 770, 771, 772, 773, 
+	773, 774, 775, 55, 776, 776, 35, 777, 
+	777, 778, 779, 780, 781, 782, 782, 783, 
+	784, 55, 19, 113, 20, 114, 77, 785, 
+	785, 786, 787, 81, 82, 81, 82, 20, 
+	20, 20, 77, 785, 785, 786, 787, 81, 
+	82, 81, 82, 20, 20, 20, 83, 785, 
+	81, 785, 786, 787, 82, 788, 693, 788, 
+	789, 790, 701, 20, 114, 77, 695, 81, 
+	695, 696, 697, 791, 81, 791, 792, 793, 
+	82, 89, 77, 672, 673, 69, 78, 81, 
+	78, 79, 80, 82, 794, 693, 794, 795, 
+	796, 701, 673, 77, 626, 626, 627, 628, 
+	131, 132, 133, 131, 132, 133, 629, 630, 
+	797, 626, 626, 627, 628, 180, 181, 182, 
+	180, 181, 182, 629, 630, 797, 626, 626, 
+	627, 628, 225, 225, 629, 630, 797, 626, 
+	626, 627, 628, 247, 247, 629, 630, 797, 
+	626, 626, 627, 628, 564, 260, 564, 260, 
+	629, 630, 797, 626, 626, 627, 628, 299, 
+	300, 299, 300, 629, 630, 797, 626, 626, 
+	627, 628, 318, 319, 320, 321, 320, 321, 
+	629, 630, 797, 626, 626, 627, 628, 357, 
+	358, 357, 358, 629, 630, 797, 626, 626, 
+	627, 628, 378, 379, 380, 378, 379, 380, 
+	629, 630, 797, 626, 626, 627, 628, 441, 
+	441, 629, 630, 797, 626, 626, 627, 628, 
+	451, 452, 453, 451, 452, 453, 629, 630, 
+	797, 626, 626, 627, 628, 481, 482, 483, 
+	484, 481, 482, 483, 484, 629, 630, 797, 
+	626, 626, 627, 628, 523, 524, 525, 523, 
+	524, 525, 629, 630, 797, 19, 21, 20, 
+	22, 83, 19, 562, 20, 563, 125, 626, 
+	626, 627, 628, 259, 260, 259, 260, 629, 
+	630, 797, 81, 129, 82, 130, 125, 799, 
+	798, 801, 800, 803, 804, 805, 806, 803, 
+	803, 803, 803, 802, 807, 808, 809, 807, 
+	810, 808, 807, 807, 808, 808, 808, 802, 
+	811, 812, 812, 811, 813, 812, 811, 811, 
+	812, 812, 812, 802, 814, 808, 816, 815, 
+	817, 815, 818, 819, 820, 818, 821, 819, 
+	818, 818, 819, 819, 819, 815, 811, 811, 
+	811, 811, 802, 822, 822, 822, 822, 802, 
+	825, 826, 824, 824, 823, 827, 824, 827, 
+	826, 827, 824, 828, 824, 823, 829, 824, 
+	831, 830, 832, 830, 833, 834, 833, 836, 
+	833, 834, 835, 834, 830, 837, 838, 839, 
+	837, 837, 823, 827, 827, 827, 827, 840, 
+	841, 837, 842, 830, 843, 830, 844, 845, 
+	846, 844, 844, 830, 848, 848, 849, 850, 
+	851, 852, 847, 848, 848, 849, 850, 851, 
+	852, 854, 853, 856, 856, 857, 858, 860, 
+	861, 862, 863, 864, 860, 861, 862, 863, 
+	864, 865, 866, 865, 866, 859, 855, 856, 
+	856, 857, 858, 865, 866, 865, 866, 867, 
+	865, 866, 856, 856, 857, 858, 865, 866, 
+	865, 866, 868, 855, 871, 872, 873, 874, 
+	875, 871, 872, 873, 874, 875, 870, 869, 
+	876, 876, 877, 878, 880, 881, 880, 881, 
+	879, 855, 851, 852, 847, 883, 883, 884, 
+	885, 886, 887, 882, 883, 883, 884, 885, 
+	888, 889, 890, 888, 886, 887, 888, 888, 
+	888, 882, 891, 892, 893, 891, 891, 891, 
+	891, 882, 895, 895, 896, 897, 898, 898, 
+	899, 898, 900, 901, 900, 901, 898, 898, 
+	898, 894, 902, 902, 903, 904, 905, 906, 
+	905, 906, 894, 905, 906, 907, 891, 909, 
+	908, 910, 908, 911, 912, 913, 911, 911, 
+	911, 911, 908, 895, 895, 896, 897, 900, 
+	901, 900, 901, 894, 886, 887, 882, 914, 
+	914, 915, 916, 917, 918, 636, 914, 914, 
+	915, 916, 917, 918, 919, 919, 919, 920, 
+	922, 922, 923, 924, 925, 926, 925, 927, 
+	921, 929, 929, 930, 931, 932, 933, 934, 
+	932, 935, 936, 935, 937, 932, 932, 932, 
+	928, 939, 940, 941, 939, 939, 939, 939, 
+	938, 942, 942, 943, 944, 945, 945, 946, 
+	945, 947, 948, 947, 948, 945, 945, 945, 
+	928, 949, 949, 950, 951, 935, 936, 935, 
+	936, 83, 935, 936, 952, 939, 954, 953, 
+	955, 953, 956, 957, 958, 956, 956, 956, 
+	956, 953, 942, 942, 943, 944, 947, 948, 
+	947, 948, 928, 935, 959, 936, 937, 83, 
+	960, 960, 961, 962, 932, 933, 934, 932, 
+	963, 964, 932, 932, 932, 938, 963, 964, 
+	636, 917, 918, 636, 966, 966, 966, 966, 
+	965, 967, 967, 967, 967, 965, 968, 969, 
+	968, 968, 968, 965, 970, 971, 970, 970, 
+	970, 965, 971, 971, 972, 973, 966, 974, 
+	975, 976, 976, 977, 978, 966, 966, 966, 
+	965, 974, 975, 965, 971, 965, 980, 980, 
+	981, 982, 983, 984, 985, 985, 986, 987, 
+	979, 988, 988, 989, 990, 991, 992, 993, 
+	994, 995, 996, 997, 998, 999, 1000, 1001, 
+	1002, 1003, 1004, 991, 992, 993, 994, 995, 
+	996, 997, 998, 999, 1000, 1001, 1002, 1003, 
+	1004, 1005, 1006, 1007, 1007, 1008, 1009, 979, 
+	1010, 1010, 1011, 1012, 1013, 1014, 1015, 1013, 
+	1014, 1015, 1016, 1017, 1018, 1018, 1019, 1020, 
+	979, 1021, 1021, 979, 1022, 1022, 979, 1023, 
+	1023, 1024, 1025, 1026, 1027, 1028, 1028, 1029, 
+	1030, 979, 1005, 1006, 979, 1031, 1032, 1033, 
+	1031, 1032, 1033, 979, 1034, 1035, 1034, 1035, 
+	979, 1036, 1036, 979, 1037, 1037, 979, 1038, 
+	1038, 979, 1039, 1039, 979, 1040, 1040, 1041, 
+	1042, 1043, 1044, 1045, 1045, 1046, 1047, 979, 
+	1048, 1048, 1049, 1050, 1051, 1052, 1053, 1053, 
+	1054, 1055, 979, 1056, 1056, 979, 1057, 1057, 
+	979, 1058, 1058, 1059, 1060, 1061, 1062, 1063, 
+	1063, 1064, 1065, 979, 1066, 1066, 979, 1067, 
+	1067, 979, 1068, 1068, 979, 1069, 1069, 1070, 
+	1071, 1072, 1073, 1074, 1074, 1075, 1076, 979, 
+	1077, 1078, 1079, 1077, 1078, 1079, 979, 1080, 
+	1080, 979, 1081, 1081, 979, 1082, 1082, 979, 
+	1083, 1083, 1084, 1085, 1086, 1087, 1088, 1088, 
+	1089, 1090, 979, 1091, 1092, 1091, 1092, 979, 
+	1093, 1093, 979, 1094, 1094, 979, 1095, 1095, 
+	1096, 1097, 1098, 1099, 1100, 1100, 1101, 1102, 
+	979, 1103, 1103, 979, 1104, 1104, 979, 1105, 
+	1105, 979, 1106, 1106, 1107, 1108, 1109, 1110, 
+	1111, 1111, 1112, 1113, 979, 1114, 1114, 1115, 
+	1116, 1117, 1118, 1119, 1119, 1120, 1121, 979, 
+	1122, 1122, 979, 1123, 1123, 979, 1124, 1125, 
+	979, 1126, 979, 1127, 1127, 1128, 1129, 1130, 
+	1131, 1132, 1132, 1133, 1134, 979, 1135, 979, 
+	1136, 1136, 1137, 1138, 1139, 1140, 1141, 1141, 
+	1142, 1143, 979, 1144, 1144, 979, 1145, 1145, 
+	979, 1146, 1146, 979, 1147, 1147, 979, 1148, 
+	1148, 1149, 1150, 1151, 1152, 1153, 1153, 1154, 
+	1155, 979, 1156, 1156, 979, 1157, 1157, 979, 
+	1158, 1158, 979, 1159, 1159, 979, 1160, 1160, 
+	979, 1161, 1161, 979, 1162, 1162, 979, 1163, 
+	1163, 1164, 1165, 1166, 1167, 1168, 1168, 1169, 
+	1170, 979, 1171, 1172, 1171, 1172, 979, 1173, 
+	1173, 979, 1174, 1174, 1175, 1176, 1177, 1178, 
+	1179, 1179, 1180, 1181, 979, 1182, 1182, 1183, 
+	1184, 1185, 1186, 1187, 1187, 1188, 1189, 979, 
+	1190, 1191, 1192, 1193, 1192, 1193, 979, 1194, 
+	979, 1195, 1195, 1196, 1197, 1198, 1199, 1200, 
+	1200, 1201, 1202, 979, 1203, 979, 1204, 1204, 
+	1205, 1206, 1207, 1208, 1209, 1209, 1210, 1211, 
+	979, 1212, 1212, 979, 1213, 1213, 1214, 1215, 
+	1216, 1217, 1218, 1218, 1219, 1220, 979, 1221, 
+	1221, 1222, 1223, 1224, 1225, 1226, 1226, 1227, 
+	1228, 979, 1229, 1230, 1229, 1230, 979, 1231, 
+	1231, 979, 1232, 1232, 979, 1233, 1233, 979, 
+	1234, 1234, 1235, 1236, 1237, 1238, 1239, 1239, 
+	1240, 1241, 979, 1242, 1242, 1243, 1244, 1245, 
+	1246, 1247, 1247, 1248, 1249, 979, 1250, 1251, 
+	1252, 1250, 1251, 1252, 979, 1253, 1253, 979, 
+	1254, 1254, 979, 1255, 1255, 979, 1256, 1256, 
+	1257, 1258, 1259, 1260, 1261, 1261, 1262, 1263, 
+	979, 1264, 1264, 979, 1265, 1265, 1266, 1267, 
+	1268, 1269, 1270, 1270, 1271, 1272, 979, 1273, 
+	1273, 1274, 1275, 1276, 1276, 1277, 1278, 1279, 
+	1279, 1280, 1281, 979, 1282, 1282, 979, 1283, 
+	1283, 1284, 1285, 1286, 1287, 1288, 1289, 1289, 
+	1290, 1291, 979, 1292, 1292, 1293, 1294, 1295, 
+	1295, 1296, 1297, 1298, 1298, 1299, 1300, 979, 
+	1301, 1301, 979, 1302, 1302, 979, 1303, 1303, 
+	979, 1304, 1304, 979, 1305, 1305, 1306, 1307, 
+	1308, 1309, 1310, 1310, 1311, 1312, 979, 1313, 
+	1313, 979, 1314, 1314, 979, 1315, 1315, 1316, 
+	1317, 1318, 1319, 1320, 1320, 1321, 1322, 979, 
+	1323, 1324, 1325, 1323, 1324, 1325, 979, 1326, 
+	1326, 1327, 1328, 1329, 1330, 1331, 1331, 1332, 
+	1333, 979, 1334, 1334, 979, 1335, 1335, 979, 
+	1336, 1336, 979, 1337, 1337, 1338, 1339, 1340, 
+	1341, 1342, 1342, 1343, 1344, 979, 1345, 1345, 
+	1346, 1347, 1348, 1349, 1350, 1350, 1351, 1352, 
+	979, 1353, 1354, 1355, 1356, 1353, 1354, 1355, 
+	1356, 979, 1357, 1357, 979, 1358, 1358, 1359, 
+	1360, 1361, 1362, 1363, 1363, 1364, 1365, 979, 
+	1366, 1366, 979, 1367, 1367, 1368, 1369, 1370, 
+	1371, 1372, 1372, 1373, 1374, 979, 1375, 1375, 
+	979, 1376, 1376, 1377, 1378, 1379, 1380, 1381, 
+	1381, 1382, 1383, 979, 1384, 1384, 979, 1385, 
+	1385, 979, 1386, 1386, 979, 1387, 1387, 1388, 
+	1389, 1390, 1391, 1392, 1392, 1393, 1394, 979, 
+	1395, 1396, 1397, 1395, 1396, 1397, 979, 1398, 
+	1398, 979, 1399, 1399, 979, 1400, 1400, 1401, 
+	1402, 1403, 1404, 1405, 1405, 1406, 1407, 979, 
+	1408, 1408, 979, 1409, 1409, 1410, 1411, 1412, 
+	1413, 1414, 1414, 1415, 1416, 979, 1417, 1417, 
+	979, 1418, 1418, 979, 1419, 979, 1420, 1420, 
+	1421, 1422, 1424, 1425, 1426, 1426, 1427, 1428, 
+	1423, 979, 1429, 1429, 979, 1430, 1430, 979, 
+	1431, 1431, 979, 1432, 1432, 1433, 1434, 1435, 
+	1436, 1437, 1437, 1438, 1439, 979, 1440, 1440, 
+	979, 1441, 1441, 1442, 1443, 1444, 1445, 1446, 
+	1446, 1447, 1448, 979, 1450, 1450, 1451, 1452, 
+	1453, 1454, 1449, 1450, 1450, 1451, 1452, 1453, 
+	1454, 1456, 1455, 1457, 1457, 1458, 1459, 1461, 
+	1462, 1460, 1455, 1464, 1464, 1465, 1466, 1468, 
+	1469, 1467, 1467, 1467, 1463, 1470, 1470, 1470, 
+	1463, 1471, 1471, 1472, 1473, 1474, 1475, 1476, 
+	1476, 1477, 1478, 1467, 1467, 1467, 1463, 1474, 
+	1475, 1463, 1468, 1469, 1449, 1453, 1454, 1449, 
+	1479, 1479, 1480, 1481, 1482, 1483, 1449, 1479, 
+	1479, 1480, 1481, 1484, 1482, 1483, 1485, 1455, 
+	1486, 1486, 1487, 1488, 1490, 1490, 1491, 1492, 
+	1489, 1455, 1493, 1493, 1494, 1495, 1497, 1498, 
+	1496, 1496, 1496, 1463, 1499, 1499, 1499, 1463, 
+	1500, 1500, 1501, 1502, 1503, 1504, 1505, 1505, 
+	1506, 1507, 1496, 1496, 1496, 1463, 1503, 1504, 
+	1463, 1497, 1498, 1449, 1508, 1508, 1509, 1510, 
+	1511, 1512, 1489, 1455, 1482, 1483, 1449, 1515, 
+	1516, 1517, 1518, 1519, 1515, 1516, 1517, 1518, 
+	1519, 1514, 1513, 1520, 1520, 1520, 1520, 1521, 
+	1513, 1522, 1523, 1522, 1523, 1513, 1524, 1524, 
+	1524, 1524, 1513, 1525, 1525, 1513, 1526, 1527, 
+	1526, 1526, 1526, 1513, 1528, 1528, 1513, 1529, 
+	1529, 1513, 1530, 1530, 1513, 1531, 1531, 1513, 
+	1532, 1513, 1533, 1513, 1534, 1534, 1513, 1535, 
+	1535, 1513, 1536, 1536, 1513, 1537, 1513, 1538, 
+	1538, 1538, 1538, 1513, 1539, 1539, 1513, 1540, 
+	1541, 1540, 1541, 1513, 1542, 1513, 1543, 1543, 
+	1513, 1544, 1544, 1513, 1545, 1545, 1513, 1546, 
+	1546, 1513, 1547, 1547, 1547, 1547, 1513, 1548, 
+	1548, 1513, 1549, 1549, 1513, 1550, 1550, 1513, 
+	1551, 1552, 1513, 1553, 1513, 1554, 1513, 1555, 
+	1555, 1513, 1556, 1556, 1513, 1557, 1557, 1513, 
+	1558, 1513, 1559, 1513, 1560, 1513, 1561, 1561, 
+	1561, 1561, 1513, 1562, 1513, 1563, 1513, 1564, 
+	1564, 1513, 1565, 1565, 1513, 1566, 1566, 1513, 
+	1567, 1513, 1568, 1513, 1569, 1513, 1570, 1570, 
+	1570, 1570, 1513, 1571, 1571, 1513, 1572, 1572, 
+	1513, 1573, 1573, 1513, 1574, 1574, 1513, 1575, 
+	1575, 1513, 1576, 1576, 1513, 1577, 1577, 1513, 
+	1578, 1578, 1578, 1578, 1513, 1579, 1579, 1513, 
+	1580, 1580, 1513, 1581, 1581, 1513, 1582, 1582, 
+	1513, 1583, 1583, 1513, 1584, 1584, 1513, 1585, 
+	1586, 1585, 1586, 1513, 1587, 1587, 1513, 1588, 
+	1588, 1513, 1589, 1589, 1589, 1589, 1513, 1590, 
+	1590, 1513, 1591, 1591, 1513, 1592, 1592, 1592, 
+	1592, 1513, 1593, 1593, 1513, 1594, 1594, 1513, 
+	1595, 1596, 1595, 1596, 1513, 1597, 1597, 1513, 
+	1598, 1513, 1599, 1599, 1599, 1599, 1513, 1600, 
+	1600, 1513, 1601, 1601, 1513, 1602, 1603, 1604, 
+	1513, 1605, 1606, 1605, 1605, 1605, 1513, 1607, 
+	1607, 1513, 1608, 1608, 1513, 1609, 1609, 1513, 
+	1610, 1610, 1513, 1611, 1513, 1612, 1513, 1613, 
+	1613, 1513, 1614, 1614, 1513, 1615, 1615, 1513, 
+	1616, 1513, 1617, 1617, 1617, 1617, 1513, 1618, 
+	1513, 1619, 1513, 1620, 1620, 1620, 1620, 1513, 
+	1621, 1513, 1622, 1513, 1623, 1623, 1623, 1623, 
+	1513, 1626, 1627, 1628, 1629, 1630, 1631, 1626, 
+	1627, 1628, 1629, 1630, 1631, 1625, 1624, 1632, 
+	1632, 1632, 1632, 1633, 1624, 1634, 1634, 1624, 
+	1635, 1635, 1624, 1636, 1636, 1624, 1637, 1637, 
+	1624, 1638, 1638, 1624, 1639, 1639, 1639, 1639, 
+	1624, 1640, 1641, 1642, 1640, 1641, 1642, 1624, 
+	1643, 1643, 1624, 1644, 1644, 1624, 1645, 1645, 
+	1624, 1646, 1646, 1624, 1647, 1647, 1624, 1648, 
+	1648, 1648, 1648, 1624, 1649, 1650, 1649, 1650, 
+	1624, 1651, 1651, 1624, 1652, 1652, 1652, 1652, 
+	1624, 1653, 1653, 1624, 1654, 1654, 1624, 1655, 
+	1655, 1655, 1655, 1624, 1656, 1656, 1624, 1657, 
+	1657, 1624, 1658, 1658, 1624, 1659, 1659, 1659, 
+	1659, 1624, 1660, 1660, 1624, 1661, 1661, 1624, 
+	1662, 1662, 1662, 1662, 1624, 1663, 1664, 1663, 
+	1664, 1624, 1665, 1665, 1624, 1666, 1666, 1666, 
+	1666, 1624, 1667, 1667, 1624, 1668, 1668, 1624, 
+	1669, 1669, 1669, 1669, 1624, 1670, 1670, 1624, 
+	1671, 1671, 1624, 1672, 1672, 1624, 1673, 1673, 
+	1673, 1673, 1624, 1674, 1674, 1624, 1675, 1675, 
+	1624, 1676, 1676, 1676, 1676, 1624, 1678, 1678, 
+	1677, 1679, 1680, 1679, 1679, 1679, 1680, 1677, 
+	1681, 1681, 1681, 1681, 1681, 1681, 69, 1682, 
+	1682, 1682, 1682, 69, 1683, 1683, 1683, 1683, 
+	1683, 1683, 69, 1684, 1684, 1685, 1686, 1687, 
+	1688, 69, 1689, 1689, 1690, 1691, 1692, 1692, 
+	1692, 1693, 1694, 1692, 1692, 1692, 69, 1695, 
+	1695, 1696, 1697, 1698, 1699, 69, 1701, 1701, 
+	1702, 1703, 1705, 1706, 1704, 1700, 1707, 1707, 
+	1708, 1709, 1711, 1712, 1710, 1700, 1713, 1713, 
+	1714, 1715, 1717, 1718, 1716, 1700, 1720, 1720, 
+	1721, 1722, 1724, 1725, 1726, 1727, 1728, 1724, 
+	1725, 1726, 1727, 1728, 1729, 1730, 1723, 1719, 
+	1731, 1731, 1732, 1733, 1735, 1736, 1734, 1700, 
+	1737, 1737, 1738, 1739, 1741, 1742, 1743, 1744, 
+	1745, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 
+	1740, 1719, 1748, 1748, 1749, 1750, 1752, 1753, 
+	1751, 1700, 1754, 1754, 1755, 1756, 1758, 1759, 
+	1760, 1761, 1762, 1758, 1759, 1760, 1761, 1762, 
+	1763, 1764, 1757, 1719, 1765, 1765, 1766, 1767, 
+	1769, 1770, 1768, 1700, 1771, 1771, 1773, 1774, 
+	1775, 1776, 1777, 1773, 1774, 1775, 1776, 1777, 
+	1771, 1771, 1772, 1719, 1771, 1771, 1771, 1771, 
+	1778, 1719, 1780, 1781, 1782, 1783, 1784, 1780, 
+	1781, 1782, 1783, 1784, 1779, 1719, 1785, 1785, 
+	1785, 1785, 1786, 1719, 1769, 1770, 69, 1754, 
+	1754, 1755, 1756, 1763, 1764, 1787, 1719, 1789, 
+	1790, 1791, 1792, 1793, 1789, 1790, 1791, 1792, 
+	1793, 1788, 1719, 1794, 1794, 1795, 1796, 1798, 
+	1799, 1797, 1719, 1752, 1753, 69, 1737, 1737, 
+	1738, 1739, 1746, 1747, 1800, 1719, 1802, 1803, 
+	1804, 1805, 1806, 1802, 1803, 1804, 1805, 1806, 
+	1801, 1719, 1807, 1807, 1808, 1809, 1811, 1812, 
+	1810, 1719, 1735, 1736, 69, 1720, 1720, 1721, 
+	1722, 1729, 1730, 1813, 1719, 1815, 1816, 1817, 
+	1818, 1819, 1815, 1816, 1817, 1818, 1819, 1814, 
+	1719, 1820, 1820, 1821, 1822, 1824, 1825, 1823, 
+	1719, 1717, 1718, 69, 1705, 1706, 69, 1693, 
+	1694, 69, 69, 69, 69, 69, 1826, 1827, 
+	1827, 1828, 1829, 1830, 1831, 69, 1833, 1833, 
+	1834, 1835, 1836, 1837, 1832, 1832, 1832, 69, 
+	1838, 1838, 1838, 1838, 69, 1836, 1837, 69, 
+	1839, 1839, 1839, 1839, 1839, 1839, 69, 1840, 
+	1840, 1841, 1842, 1843, 1844, 69, 1845, 1845, 
+	1846, 1847, 1848, 1848, 1848, 1849, 1850, 1848, 
+	1848, 1848, 69, 1851, 1851, 1851, 1851, 69, 
+	1849, 1850, 69, 1852, 1700, 1853, 1853, 1854, 
+	1855, 1857, 1858, 1856, 1700, 1859, 1859, 1860, 
+	1861, 1862, 1862, 1862, 1863, 1864, 1862, 1862, 
+	1862, 69, 1865, 1865, 1865, 1865, 69, 1863, 
+	1864, 69, 69, 69, 69, 69, 1866, 1867, 
+	1867, 1868, 1869, 1870, 1871, 1872, 1872, 1873, 
+	1874, 69, 1875, 1875, 1876, 1877, 1878, 1879, 
+	1880, 1880, 1881, 1882, 1866, 1866, 1866, 69, 
+	1878, 1879, 69, 1883, 1883, 1883, 1883, 1677, 
+	1884, 1885, 1884, 1884, 1884, 1885, 1885, 1885, 
+	1677, 1887, 1886, 1888, 1888, 1889, 1890, 1892, 
+	1893, 1891, 1886, 1894, 1894, 1895, 1896, 1898, 
+	1899, 1900, 1901, 1897, 1886, 1902, 1902, 1903, 
+	1904, 1906, 1907, 1905, 1886, 1908, 1908, 1909, 
+	1910, 1898, 1899, 1912, 1913, 1911, 1886, 1914, 
+	1914, 1915, 1916, 1917, 1919, 1920, 1918, 1886, 
+	1921, 1921, 1922, 1923, 1898, 1899, 1924, 1925, 
+	1886, 1926, 1926, 1927, 1928, 1929, 1930, 1886, 
+	1926, 1926, 1927, 1928, 1929, 1930, 1931, 1886, 
+	1932, 1932, 1933, 1934, 1936, 1937, 1935, 1886, 
+	1938, 1938, 1939, 1940, 1942, 1943, 1944, 1945, 
+	1941, 1886, 1946, 1946, 1947, 1948, 1950, 1951, 
+	1949, 1886, 1952, 1952, 1953, 1954, 1942, 1943, 
+	1956, 1957, 1955, 1886, 1958, 1958, 1959, 1960, 
+	1961, 1963, 1964, 1962, 1886, 1965, 1965, 1966, 
+	1967, 1942, 1943, 1968, 1969, 1886, 1970, 1970, 
+	1971, 1972, 1973, 1974, 1886, 1970, 1970, 1971, 
+	1972, 1975, 1973, 1974, 1976, 1886, 1977, 1886, 
+	1978, 1978, 1979, 1980, 1981, 1983, 1984, 1985, 
+	1986, 1986, 1987, 1988, 1982, 1886, 1989, 1989, 
+	1990, 1991, 1993, 1994, 1995, 1995, 1996, 1997, 
+	1992, 1886, 1998, 1998, 1999, 2000, 2001, 2003, 
+	2004, 2005, 2006, 2006, 2007, 2008, 2002, 1886, 
+	2009, 2009, 2010, 2011, 2013, 2014, 1995, 1995, 
+	2015, 2016, 2012, 1886, 2017, 2017, 2018, 2019, 
+	2020, 2022, 2023, 2024, 2025, 2025, 2026, 2027, 
+	2021, 1886, 2028, 2028, 2029, 2030, 2032, 2033, 
+	1995, 1995, 2034, 2035, 2031, 1886, 2036, 2036, 
+	2037, 2038, 2039, 2036, 2041, 2042, 2043, 2043, 
+	2044, 2045, 2040, 1886, 2046, 2046, 2047, 2048, 
+	2049, 2050, 1995, 1995, 2051, 2052, 1886, 2049, 
+	2050, 1886, 2053, 2053, 2054, 2055, 2053, 2057, 
+	2058, 2059, 2059, 2060, 2061, 2056, 1886, 2036, 
+	2036, 2037, 2038, 2036, 2041, 2042, 2043, 2043, 
+	2044, 2045, 2062, 1886, 2032, 2033, 1886, 2063, 
+	2063, 2064, 2065, 2067, 2068, 2069, 2070, 2070, 
+	2071, 2072, 2066, 1886, 2017, 2017, 2018, 2019, 
+	2022, 2023, 2024, 2025, 2025, 2026, 2027, 2073, 
+	1886, 2028, 2028, 2029, 2030, 2032, 2033, 1995, 
+	1995, 2034, 2035, 1886, 2013, 2014, 1886, 2074, 
+	2074, 2075, 2076, 2078, 2079, 2080, 2081, 2081, 
+	2082, 2083, 2077, 1886, 1998, 1998, 1999, 2000, 
+	2003, 2004, 2005, 2006, 2006, 2007, 2008, 2084, 
+	1886, 2009, 2009, 2010, 2011, 2013, 2014, 1995, 
+	1995, 2015, 2016, 1886, 1993, 1994, 1886, 2085, 
+	2085, 2086, 2087, 2089, 2090, 2091, 2092, 2092, 
+	2093, 2094, 2088, 1886, 1978, 1978, 1979, 1980, 
+	1983, 1984, 1985, 1986, 1986, 1987, 1988, 2095, 
+	1886, 1989, 1989, 1990, 1991, 1993, 1994, 1995, 
+	1995, 1996, 1997, 1886, 1973, 1974, 1886, 2096, 
+	2096, 2097, 2098, 2099, 2100, 1886, 1968, 1969, 
+	1886, 2101, 2101, 2102, 2103, 2105, 2106, 2104, 
+	1886, 1958, 1958, 1959, 1960, 1963, 1964, 2107, 
+	1886, 1956, 1957, 1886, 1944, 1945, 1886, 1929, 
+	1930, 1886, 2108, 2108, 2109, 2110, 2111, 2112, 
+	1886, 1924, 1925, 1886, 2113, 2113, 2114, 2115, 
+	2117, 2118, 2116, 1886, 1914, 1914, 1915, 1916, 
+	1919, 1920, 2119, 1886, 1912, 1913, 1886, 1900, 
+	1901, 1886, 2120, 1700, 2121, 2121, 2122, 2123, 
+	2125, 2126, 2124, 1700, 2127, 2127, 2128, 2129, 
+	2131, 2132, 2130, 1700, 2133, 2133, 2134, 2135, 
+	2137, 2138, 2136, 1700, 2139, 2139, 2140, 2141, 
+	2143, 2144, 2142, 1700, 2145, 2145, 2146, 2147, 
+	2149, 2150, 2148, 1700, 2151, 2151, 2152, 2153, 
+	2154, 2154, 2154, 2155, 2156, 2154, 2154, 2154, 
+	69, 2157, 2157, 2157, 2157, 69, 2155, 2156, 
+	69, 2143, 2144, 69, 2131, 2132, 69, 2158, 
+	1700, 2159, 2159, 2160, 2161, 2163, 2164, 2162, 
+	1700, 2165, 2165, 2166, 2167, 2169, 2170, 2168, 
+	1700, 2171, 2171, 2172, 2173, 2175, 2176, 2174, 
+	1700, 2178, 2178, 2179, 2180, 2181, 2182, 2177, 
+	2177, 2177, 69, 2183, 2183, 2184, 2185, 2186, 
+	2187, 69, 2189, 2189, 2190, 2191, 2192, 2193, 
+	2188, 2188, 2188, 69, 2194, 2194, 2195, 2196, 
+	2197, 2198, 69, 2200, 2200, 2201, 2202, 2203, 
+	2204, 2199, 2199, 2199, 69, 2205, 2205, 2206, 
+	2207, 2208, 2209, 69, 2210, 2210, 2211, 2212, 
+	2213, 2213, 2213, 2214, 2215, 2213, 2213, 2213, 
+	69, 2216, 2216, 2216, 2216, 69, 2214, 2215, 
+	69, 2203, 2204, 69, 2192, 2193, 69, 2181, 
+	2182, 69, 2169, 2170, 69, 2217, 2217, 2217, 
+	69, 2218, 2218, 2219, 2220, 2221, 2222, 69, 
+	2218, 2218, 2219, 2220, 2221, 2222, 2223, 1700, 
+	2224, 2224, 2225, 2226, 2228, 2229, 2227, 1700, 
+	2230, 2230, 2231, 2232, 2234, 2235, 2233, 2233, 
+	2233, 69, 2236, 2236, 2237, 2238, 2239, 2240, 
+	69, 2236, 2236, 2237, 2238, 2241, 2239, 2240, 
+	2241, 2241, 2241, 69, 2242, 2242, 69, 2239, 
+	2240, 69, 2234, 2235, 69, 2221, 2222, 69, 
+	2244, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 
+	2251, 2252, 2252, 2253, 2254, 2243, 2255, 2256, 
+	2243, 2257, 2243, 2259, 2259, 2258, 2261, 2260, 
+	2258, 2262, 2243, 2263, 2263, 2264, 2265, 2267, 
+	2268, 2269, 2269, 2270, 2271, 2266, 2243, 2250, 
+	2251, 69, 2272, 2243, 2273, 2273, 2273, 2273, 
+	2258, 2275, 2274, 2274, 2274, 2258, 2276, 1700, 
+	2277, 2277, 2278, 2279, 2281, 2282, 2280, 1700, 
+	2283, 2283, 2284, 2285, 2287, 2288, 2286, 2286, 
+	2286, 69, 2289, 2289, 2290, 2291, 2292, 2293, 
+	69, 2289, 2289, 2290, 2291, 2292, 2293, 2294, 
+	1700, 2295, 2295, 2296, 2297, 2299, 2300, 2298, 
+	1700, 2302, 2302, 2303, 2304, 2306, 2307, 2305, 
+	2305, 2305, 2301, 2308, 2308, 2308, 2301, 2309, 
+	2309, 2310, 2311, 2312, 2313, 2314, 2314, 2315, 
+	2316, 2305, 2305, 2305, 2301, 2312, 2313, 2301, 
+	2306, 2307, 69, 2292, 2293, 69, 2287, 2288, 
+	69, 2317, 1700, 2318, 2318, 2319, 2320, 2322, 
+	2323, 2321, 1700, 2324, 2324, 2325, 2326, 2328, 
+	2329, 2327, 1700, 2330, 2330, 2331, 2332, 2334, 
+	2335, 2333, 1700, 2336, 2336, 2337, 2338, 2340, 
+	2341, 2339, 2339, 2339, 2301, 2342, 2342, 2342, 
+	2301, 2343, 2343, 2344, 2345, 2346, 2347, 2348, 
+	2348, 2349, 2350, 2339, 2339, 2339, 2301, 2346, 
+	2347, 2301, 2340, 2341, 69, 2328, 2329, 69, 
+	2351, 1700, 2352, 2352, 2353, 2354, 2356, 2357, 
+	2355, 1700, 2359, 2359, 2360, 2361, 2362, 2363, 
+	2364, 2365, 2366, 2367, 2358, 2368, 2368, 2369, 
+	2370, 2371, 2372, 2358, 2368, 2368, 2369, 2370, 
+	2371, 2372, 2374, 2373, 2375, 2375, 2376, 2377, 
+	2379, 2380, 2378, 2373, 2381, 2381, 2382, 2383, 
+	2384, 2385, 2386, 2358, 2388, 2388, 2389, 2390, 
+	2391, 2391, 2392, 2393, 2394, 2394, 2395, 2396, 
+	2397, 2397, 2397, 2397, 2398, 2399, 2397, 2397, 
+	2400, 2401, 2402, 2403, 2397, 2397, 2404, 2405, 
+	2406, 2407, 2397, 2397, 2408, 2409, 2387, 2388, 
+	2388, 2389, 2390, 2411, 2398, 2399, 2411, 2411, 
+	2411, 2410, 2397, 2397, 2410, 2398, 2399, 2410, 
+	2391, 2391, 2392, 2393, 2397, 2397, 2397, 2397, 
+	2402, 2403, 2397, 2397, 2404, 2405, 2410, 2402, 
+	2403, 2410, 2411, 2388, 2388, 2389, 2390, 2391, 
+	2391, 2392, 2393, 2394, 2394, 2395, 2396, 2397, 
+	2397, 2397, 2397, 2398, 2399, 2397, 2397, 2400, 
+	2401, 2402, 2403, 2397, 2397, 2404, 2405, 2406, 
+	2407, 2397, 2397, 2408, 2409, 2411, 2411, 2411, 
+	2410, 2398, 2402, 2406, 2399, 2403, 2407, 2410, 
+	2385, 2386, 2358, 2371, 2372, 2358, 2412, 2412, 
+	2413, 2414, 2415, 2416, 2358, 2412, 2412, 2413, 
+	2414, 2415, 2416, 2417, 2373, 2418, 2418, 2419, 
+	2420, 2422, 2423, 2421, 2373, 2425, 2425, 2426, 
+	2427, 2428, 2429, 2430, 2428, 2424, 2432, 2433, 
+	2433, 2434, 2435, 2436, 2436, 2437, 2438, 2439, 
+	2439, 2440, 2441, 2442, 2442, 2442, 2442, 2443, 
+	2444, 2442, 2442, 2445, 2446, 2447, 2448, 2442, 
+	2442, 2449, 2450, 2451, 2452, 2442, 2442, 2453, 
+	2454, 2432, 2431, 2429, 2430, 2358, 2415, 2416, 
+	2358, 2455, 2455, 2456, 2457, 2458, 2459, 2358, 
+	2455, 2455, 2456, 2457, 2458, 2459, 2460, 2373, 
+	2461, 2461, 2462, 2463, 2465, 2466, 2464, 2373, 
+	2467, 2467, 2468, 2469, 2470, 2471, 2472, 2470, 
+	2470, 2470, 2424, 2473, 2474, 2474, 2475, 2476, 
+	2477, 2477, 2478, 2479, 2480, 2480, 2481, 2482, 
+	2483, 2483, 2483, 2483, 2484, 2485, 2483, 2483, 
+	2486, 2487, 2488, 2489, 2483, 2483, 2490, 2491, 
+	2492, 2493, 2483, 2483, 2494, 2495, 2473, 2473, 
+	2473, 2431, 2471, 2472, 2358, 2458, 2459, 2358, 
+	2496, 2496, 2497, 2498, 2499, 2500, 2358, 2496, 
+	2496, 2497, 2498, 2499, 2500, 2501, 2373, 2502, 
+	2502, 2503, 2504, 2506, 2507, 2505, 2373, 2508, 
+	2508, 2509, 2510, 2511, 2511, 2511, 2512, 2513, 
+	2511, 2511, 2511, 2358, 2514, 2514, 2515, 2516, 
+	2517, 2517, 2518, 2519, 2520, 2520, 2521, 2522, 
+	2523, 2523, 2523, 2523, 2524, 2525, 2523, 2523, 
+	2526, 2527, 2528, 2529, 2523, 2523, 2530, 2531, 
+	2532, 2533, 2523, 2523, 2534, 2535, 2387, 2512, 
+	2513, 2358, 2499, 2500, 2358, 2366, 2367, 69, 
+	2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 
+	2545, 2546, 2547, 2548, 2549, 2550, 2537, 2538, 
+	2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 
+	2547, 2548, 2549, 2550, 2536, 2551, 2551, 2552, 
+	2553, 2554, 2555, 2556, 2554, 2555, 2556, 2557, 
+	2558, 2536, 2559, 2559, 2560, 2561, 2563, 2564, 
+	2562, 2562, 2562, 69, 2565, 2565, 2566, 2567, 
+	2568, 2569, 69, 2565, 2565, 2566, 2567, 2568, 
+	2569, 2570, 1700, 2571, 2571, 2572, 2573, 2575, 
+	2576, 2574, 1700, 2577, 2577, 2578, 2579, 2581, 
+	2582, 2580, 1700, 2583, 2583, 2584, 2585, 2587, 
+	2588, 2586, 1700, 2590, 2590, 2591, 2592, 2594, 
+	2595, 2593, 2589, 2596, 2596, 2597, 2598, 2600, 
+	2601, 2599, 2589, 2602, 2602, 2603, 2604, 2606, 
+	2607, 2605, 2589, 2608, 2608, 2609, 2610, 2612, 
+	2613, 2611, 2589, 2614, 2614, 2615, 2616, 2618, 
+	2619, 2617, 1700, 2620, 2620, 2621, 2622, 2624, 
+	2625, 2623, 1700, 2626, 2626, 2627, 2628, 2629, 
+	2629, 2629, 2630, 2631, 2629, 2629, 2629, 69, 
+	2632, 2632, 2633, 2634, 2635, 2636, 69, 2637, 
+	2637, 2638, 2639, 2640, 2641, 2642, 2640, 2640, 
+	2640, 69, 2643, 2643, 69, 2641, 2642, 69, 
+	2630, 2631, 69, 2618, 2619, 69, 2606, 2607, 
+	69, 2594, 2595, 69, 2581, 2582, 69, 2568, 
+	2569, 69, 2563, 2564, 69, 2644, 2644, 2536, 
+	2645, 2645, 2536, 2646, 2646, 2647, 2648, 2649, 
+	2650, 2536, 2651, 2651, 2536, 2652, 2652, 2536, 
+	2653, 2653, 2536, 2654, 2654, 2655, 2656, 2657, 
+	2658, 2536, 2659, 2659, 2536, 2660, 2660, 2661, 
+	2662, 2663, 2664, 2536, 2665, 2666, 2667, 2665, 
+	2666, 2667, 2536, 2668, 2669, 2668, 2669, 2536, 
+	2670, 2670, 2536, 2671, 2671, 2536, 2672, 2672, 
+	2536, 2673, 2673, 2536, 2674, 2674, 2675, 2676, 
+	2677, 2678, 2536, 2679, 2679, 2680, 2681, 2682, 
+	2683, 2536, 2684, 2684, 2536, 2685, 2685, 2536, 
+	2686, 2686, 2687, 2688, 2689, 2690, 2536, 2691, 
+	2691, 2536, 2692, 2692, 2536, 2693, 2693, 2536, 
+	2694, 2694, 2695, 2696, 2697, 2698, 2536, 2699, 
+	2700, 2701, 2699, 2700, 2701, 2536, 2702, 2702, 
+	2536, 2703, 2703, 2536, 2704, 2704, 2536, 2705, 
+	2705, 2706, 2707, 2708, 2709, 2536, 2710, 2711, 
+	2710, 2711, 2536, 2712, 2712, 2536, 2713, 2713, 
+	2536, 2714, 2714, 2715, 2716, 2717, 2718, 2536, 
+	2719, 2719, 2536, 2720, 2720, 2536, 2721, 2721, 
+	2536, 2722, 2722, 2723, 2724, 2725, 2726, 2536, 
+	2727, 2727, 2728, 2729, 2730, 2731, 2536, 2732, 
+	2732, 2536, 2733, 2733, 2536, 2734, 2735, 2536, 
+	2736, 2536, 2737, 2737, 2738, 2739, 2740, 2741, 
+	2536, 2742, 2536, 2743, 2743, 2744, 2745, 2746, 
+	2747, 2536, 2748, 2748, 2536, 2749, 2749, 2536, 
+	2750, 2750, 2536, 2751, 2751, 2536, 2752, 2752, 
+	2753, 2754, 2755, 2756, 2536, 2757, 2757, 2536, 
+	2758, 2758, 2536, 2759, 2759, 2536, 2760, 2760, 
+	2536, 2761, 2761, 2536, 2762, 2762, 2536, 2763, 
+	2763, 2536, 2764, 2764, 2765, 2766, 2767, 2768, 
+	2536, 2769, 2770, 2769, 2770, 2536, 2771, 2771, 
+	2536, 2772, 2772, 2773, 2774, 2775, 2776, 2536, 
+	2777, 2777, 2778, 2779, 2780, 2781, 2536, 2782, 
+	2783, 2784, 2785, 2784, 2785, 2536, 2786, 2536, 
+	2787, 2787, 2788, 2789, 2790, 2791, 2536, 2792, 
+	2536, 2793, 2793, 2794, 2795, 2796, 2797, 2536, 
+	2798, 2798, 2536, 2799, 2799, 2800, 2801, 2802, 
+	2803, 2536, 2804, 2804, 2805, 2806, 2807, 2808, 
+	2536, 2809, 2810, 2809, 2810, 2536, 2811, 2811, 
+	2536, 2812, 2812, 2536, 2813, 2813, 2536, 2814, 
+	2814, 2815, 2816, 2817, 2818, 2536, 2819, 2819, 
+	2820, 2821, 2822, 2823, 2536, 2824, 2825, 2826, 
+	2824, 2825, 2826, 2536, 2827, 2827, 2536, 2828, 
+	2828, 2536, 2829, 2829, 2536, 2830, 2830, 2831, 
+	2832, 2833, 2834, 2536, 2835, 2835, 2536, 2836, 
+	2836, 2837, 2838, 2839, 2840, 2536, 2841, 2841, 
+	2842, 2843, 2844, 2844, 2845, 2846, 2536, 2847, 
+	2847, 2536, 2848, 2848, 2849, 2850, 2851, 2852, 
+	2853, 2536, 2854, 2854, 2855, 2856, 2857, 2857, 
+	2858, 2859, 2536, 2860, 2860, 2536, 2861, 2861, 
+	2536, 2862, 2862, 2536, 2863, 2863, 2536, 2864, 
+	2864, 2865, 2866, 2867, 2868, 2536, 2869, 2869, 
+	2536, 2870, 2870, 2536, 2871, 2871, 2872, 2873, 
+	2874, 2875, 2536, 2876, 2877, 2878, 2876, 2877, 
+	2878, 2536, 2879, 2879, 2880, 2881, 2882, 2883, 
+	2536, 2884, 2884, 2536, 2885, 2885, 2536, 2886, 
+	2886, 2536, 2887, 2887, 2888, 2889, 2890, 2891, 
+	2536, 2892, 2892, 2893, 2894, 2895, 2896, 2536, 
+	2897, 2898, 2899, 2900, 2897, 2898, 2899, 2900, 
+	2536, 2901, 2901, 2536, 2902, 2902, 2903, 2904, 
+	2905, 2906, 2536, 2907, 2907, 2536, 2908, 2908, 
+	2909, 2910, 2911, 2912, 2536, 2913, 2913, 2536, 
+	2914, 2914, 2915, 2916, 2917, 2918, 2536, 2919, 
+	2919, 2536, 2920, 2920, 2536, 2921, 2921, 2536, 
+	2922, 2922, 2923, 2924, 2925, 2926, 2536, 2927, 
+	2928, 2929, 2927, 2928, 2929, 2536, 2930, 2930, 
+	2536, 2931, 2931, 2536, 2932, 2932, 2933, 2934, 
+	2935, 2936, 2536, 2937, 2937, 2536, 2938, 2938, 
+	2939, 2940, 2941, 2942, 2536, 2943, 2943, 2536, 
+	2944, 2944, 2536, 2946, 2945, 2947, 2947, 2948, 
+	2949, 2951, 2952, 2950, 2945, 2953, 2953, 2953, 
+	2953, 2953, 2953, 69, 2954, 2954, 2954, 2954, 
+	69, 2955, 2955, 2955, 2955, 69, 2956, 1700, 
+	2957, 2957, 2958, 2959, 2961, 2962, 2960, 1700, 
+	2963, 2963, 2964, 2965, 2967, 2968, 2966, 1700, 
+	2969, 2969, 2970, 2971, 2973, 2974, 2972, 1700, 
+	2975, 2975, 2976, 2977, 2979, 2980, 2978, 2978, 
+	2978, 69, 2981, 2981, 2982, 2983, 2984, 2985, 
+	69, 2981, 2981, 2982, 2983, 2986, 2984, 2985, 
+	2986, 2986, 2986, 69, 2987, 2987, 69, 2984, 
+	2985, 69, 2979, 2980, 69, 2967, 2968, 69, 
+	2988, 2988, 2988, 2988, 69, 2989, 2989, 69, 
+	2990, 1700, 2991, 2991, 2992, 2993, 2995, 2996, 
+	2994, 1700, 2997, 2997, 2998, 2999, 3001, 3002, 
+	3000, 1700, 3003, 3003, 3004, 3005, 3007, 3008, 
+	3006, 1700, 3009, 3009, 3010, 3011, 3013, 3014, 
+	3012, 1700, 3015, 3015, 3016, 3017, 3019, 3020, 
+	3018, 1700, 3021, 3021, 3022, 3023, 3024, 3026, 
+	3027, 3025, 3025, 3025, 2301, 3028, 3028, 3029, 
+	3030, 3031, 3032, 2301, 3034, 3034, 3035, 3036, 
+	3038, 3039, 3037, 3037, 3037, 3033, 3040, 3040, 
+	3040, 3033, 3042, 3041, 3041, 3041, 3033, 3043, 
+	3043, 3043, 3033, 3045, 3044, 3044, 3044, 3033, 
+	3047, 3046, 3046, 3046, 3033, 3048, 3048, 3048, 
+	3033, 3050, 3049, 3049, 3049, 3033, 3051, 3051, 
+	3051, 3051, 3052, 3052, 3052, 3033, 3053, 3053, 
+	3053, 3053, 69, 3054, 3033, 3050, 3033, 3047, 
+	3033, 3055, 3033, 3045, 3033, 3038, 3039, 69, 
+	3056, 3056, 3056, 2301, 3028, 3028, 3029, 3030, 
+	3031, 3032, 3057, 3057, 3057, 2301, 3026, 3027, 
+	69, 3013, 3014, 69, 3001, 3002, 69, 3058, 
+	1700, 3059, 3059, 3060, 3061, 3063, 3064, 3062, 
+	1700, 3065, 3065, 3066, 3067, 3069, 3070, 3068, 
+	1700, 3071, 3071, 3072, 3073, 3075, 3076, 3074, 
+	1700, 3077, 3077, 3078, 3079, 3081, 3082, 3080, 
+	1700, 3083, 3083, 3084, 3085, 3087, 3088, 3086, 
+	1700, 3089, 3089, 3090, 3091, 3092, 3094, 3095, 
+	3093, 3093, 3093, 2301, 3096, 3096, 3096, 3096, 
+	2301, 3097, 3097, 3097, 2301, 3096, 3096, 3096, 
+	3096, 3098, 3098, 3098, 2301, 3094, 3095, 69, 
+	3081, 3082, 69, 3069, 3070, 69, 3099, 1700, 
+	3100, 3100, 3101, 3102, 3104, 3105, 3103, 1700, 
+	3106, 3106, 3107, 3108, 3110, 3111, 3109, 1700, 
+	3112, 3112, 3113, 3114, 3116, 3117, 3115, 1700, 
+	3118, 3118, 3119, 3120, 3122, 3123, 3121, 1700, 
+	3124, 3124, 3125, 3126, 3128, 3129, 3127, 1700, 
+	3130, 3130, 3131, 3132, 3134, 3135, 3133, 3133, 
+	3133, 2301, 3136, 3136, 3136, 2301, 3137, 3137, 
+	3138, 3139, 3140, 3141, 3142, 3142, 3143, 3144, 
+	3133, 3133, 3133, 2301, 3140, 3141, 2301, 3134, 
+	3135, 69, 3122, 3123, 69, 3110, 3111, 69, 
+	3145, 1700, 3146, 3146, 3147, 3148, 3150, 3151, 
+	3149, 1700, 3152, 3152, 3153, 3154, 3155, 3156, 
+	3157, 3155, 1677, 3158, 3159, 3158, 3158, 3158, 
+	3159, 1677, 3156, 3157, 69, 3160, 1700, 3161, 
+	3161, 3162, 3163, 3165, 3166, 3164, 1700, 3167, 
+	3167, 3168, 3169, 3171, 3172, 3170, 3170, 3170, 
+	2301, 3173, 3173, 3173, 2301, 3174, 3174, 3174, 
+	2301, 3175, 3175, 3175, 2301, 3177, 3176, 3178, 
+	3178, 3178, 2301, 3179, 3179, 3179, 2301, 3180, 
+	3180, 3180, 2301, 3181, 3181, 3181, 2301, 3183, 
+	3177, 3183, 3183, 3183, 3182, 3171, 3172, 69, 
+	3184, 3184, 3184, 2301, 3185, 3185, 3185, 2301, 
+	3187, 3186, 3188, 3188, 3188, 2301, 3189, 3189, 
+	3189, 2301, 3190, 3187, 3190, 3190, 3190, 3186, 
+	3191, 3191, 3191, 2301, 3192, 3192, 3192, 2301, 
+	3193, 3186, 3194, 3194, 3194, 2301, 3195, 3195, 
+	3195, 2301, 3196, 3193, 3196, 3196, 3196, 3186, 
+	3198, 3198, 3199, 3200, 3201, 3202, 3202, 3202, 
+	19, 20, 3203, 3204, 3202, 3202, 3202, 3197, 
+	3205, 3205, 3206, 3207, 3208, 3209, 67, 3210, 
+	3209, 19, 20, 3211, 3212, 115, 116, 3213, 
+	3214, 67, 67, 3209, 67, 3209, 67, 3209, 
+	67, 714, 3216, 3216, 3199, 3217, 3218, 3202, 
+	3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 
+	3227, 3228, 3229, 3230, 3231, 3232, 3202, 3202, 
+	3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 
+	3227, 3228, 3229, 3230, 3231, 3232, 19, 20, 
+	3233, 3234, 3202, 3202, 3202, 3215, 3216, 3216, 
+	3199, 3217, 3218, 3202, 3237, 3238, 3239, 3240, 
+	3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 
+	3249, 3250, 3202, 3202, 3237, 3238, 3239, 3240, 
+	3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 
+	3249, 3250, 19, 20, 3233, 3234, 3202, 3236, 
+	3202, 3202, 3235, 3252, 3252, 3253, 3254, 3255, 
+	3256, 3256, 3256, 3257, 3258, 3259, 3260, 3256, 
+	3256, 3256, 3251, 3198, 3198, 3199, 3261, 3262, 
+	3202, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 
+	3244, 3245, 3246, 3247, 3248, 3249, 3250, 3202, 
+	3202, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 
+	3244, 3245, 3246, 3247, 3248, 3249, 3250, 19, 
+	20, 3263, 3204, 3202, 3236, 3202, 3202, 3235, 
+	3264, 3264, 3199, 3265, 3266, 3202, 3202, 3202, 
+	81, 82, 3267, 3268, 3202, 3202, 3202, 714, 
+	3269, 3269, 3206, 3270, 3271, 3209, 67, 3210, 
+	3209, 81, 82, 3267, 3272, 90, 91, 3267, 
+	3273, 67, 67, 3209, 67, 3209, 67, 3209, 
+	67, 714, 3205, 3205, 3206, 3207, 3208, 3209, 
+	67, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 
+	3283, 3284, 3285, 3286, 3287, 3288, 3289, 3210, 
+	3209, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 
+	3283, 3284, 3285, 3286, 3287, 3288, 3289, 19, 
+	20, 3211, 3212, 115, 116, 3213, 3214, 67, 
+	67, 3209, 3275, 67, 3209, 67, 3209, 67, 
+	3274, 3269, 3269, 3206, 3270, 3271, 3209, 67, 
+	3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 
+	3284, 3285, 3286, 3287, 3288, 3289, 3210, 3209, 
+	3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 
+	3284, 3285, 3286, 3287, 3288, 3289, 81, 82, 
+	3290, 3272, 90, 91, 3290, 3273, 67, 67, 
+	3209, 3275, 67, 3209, 67, 3209, 67, 3274, 
+	636, 636, 636, 827, 824, 827, 826, 827, 
+	824, 828, 824, 823, 636, 636, 636, 960, 
+	960, 961, 962, 932, 933, 934, 932, 963, 
+	964, 932, 932, 932, 938, 636, 971, 971, 
+	972, 973, 966, 974, 975, 976, 976, 977, 
+	978, 966, 966, 966, 965, 974, 975, 965, 
+	636, 988, 988, 989, 990, 991, 992, 993, 
+	994, 995, 996, 997, 998, 999, 1000, 1001, 
+	1002, 1003, 1004, 991, 992, 993, 994, 995, 
+	996, 997, 998, 999, 1000, 1001, 1002, 1003, 
+	1004, 1005, 1006, 1007, 1007, 1008, 1009, 979, 
+	1005, 1006, 979, 636, 1471, 1471, 1472, 1473, 
+	1474, 1475, 1476, 1476, 1477, 1478, 1467, 1467, 
+	1467, 1463, 1474, 1475, 1463, 1493, 1493, 1494, 
+	1495, 1497, 1498, 1496, 1496, 1496, 1463, 1449, 
+	1500, 1500, 1501, 1502, 1503, 1504, 1505, 1505, 
+	1506, 1507, 1496, 1496, 1496, 1463, 1503, 1504, 
+	1463, 1497, 1498, 1449, 636, 636, 636, 636, 
+	636, 636, 636, 636, 636, 1875, 1875, 1876, 
+	1877, 1878, 1879, 1880, 1880, 1881, 1882, 1866, 
+	1866, 1866, 69, 1878, 1879, 69, 636, 636, 
+	2046, 2046, 2047, 2048, 2049, 2050, 1995, 1995, 
+	2051, 2052, 1886, 2049, 2050, 1886, 2028, 2028, 
+	2029, 2030, 2032, 2033, 1995, 1995, 2034, 2035, 
+	2031, 1886, 2032, 2033, 1886, 2009, 2009, 2010, 
+	2011, 2013, 2014, 1995, 1995, 2015, 2016, 2012, 
+	1886, 2013, 2014, 1886, 1989, 1989, 1990, 1991, 
+	1993, 1994, 1995, 1995, 1996, 1997, 1992, 1886, 
+	1993, 1994, 1886, 636, 636, 636, 636, 2244, 
+	2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 
+	2252, 2252, 2253, 2254, 2243, 2250, 2251, 69, 
+	636, 2309, 2309, 2310, 2311, 2312, 2313, 2314, 
+	2314, 2315, 2316, 2305, 2305, 2305, 2301, 2312, 
+	2313, 2301, 636, 2343, 2343, 2344, 2345, 2346, 
+	2347, 2348, 2348, 2349, 2350, 2339, 2339, 2339, 
+	2301, 2346, 2347, 2301, 636, 2391, 2391, 2392, 
+	2393, 2397, 2397, 2397, 2397, 2402, 2403, 2397, 
+	2397, 2404, 2405, 2410, 2402, 2403, 2410, 2388, 
+	2388, 2389, 2390, 2411, 2398, 2399, 2411, 2411, 
+	2411, 2410, 2398, 2399, 2410, 2411, 2388, 2388, 
+	2389, 2390, 2391, 2391, 2392, 2393, 2394, 2394, 
+	2395, 2396, 2397, 2397, 2397, 2397, 2398, 2399, 
+	2397, 2397, 2400, 2401, 2402, 2403, 2397, 2397, 
+	2404, 2405, 2406, 2407, 2397, 2397, 2408, 2409, 
+	2411, 2411, 2411, 2410, 2398, 2402, 2406, 2399, 
+	2403, 2407, 2410, 636, 636, 636, 636, 636, 
+	636, 636, 3137, 3137, 3138, 3139, 3140, 3141, 
+	3142, 3142, 3143, 3144, 3133, 3133, 3133, 2301, 
+	3140, 3141, 2301, 636, 636, 636, 636, 0
 };
 
 static const short _zone_scanner_trans_targs[] = {
-	0, 1, 1, 1, 2, 4, 16, 25, 
-	39, 46, 129, 62, 66, 74, 80, 96, 
-	99, 106, 117, 1056, 137, 1061, 242, 0, 
-	3, 3, 3, 2, 152, 152, 152, 152, 
-	152, 3, 155, 0, 3, 3, 3, 4, 
-	16, 25, 39, 46, 51, 62, 66, 74, 
-	80, 96, 99, 106, 117, 3, 155, 0, 
-	5, 5, 5, 213, 216, 220, 5, 10, 
-	6, 11, 20, 6, 5, 0, 5, 5, 
-	9, 5, 10, 11, 20, 0, 7, 7, 
-	7, 1056, 8, 0, 6, 6, 11, 11, 
-	11, 12, 1062, 162, 226, 1057, 13, 0, 
-	13, 13, 14, 158, 165, 166, 167, 168, 
-	169, 170, 171, 172, 173, 174, 175, 176, 
-	177, 1064, 222, 1062, 223, 1065, 225, 0, 
-	15, 15, 15, 1058, 245, 0, 15, 15, 
-	15, 1058, 245, 17, 21, 18, 19, 5, 
-	5, 5, 5, 10, 6, 11, 20, 20, 
-	20, 20, 22, 23, 24, 5, 5, 5, 
-	5, 10, 6, 11, 20, 26, 30, 38, 
-	27, 28, 29, 5, 5, 5, 5, 10, 
-	6, 11, 20, 31, 34, 32, 33, 5, 
-	5, 5, 5, 10, 6, 11, 20, 35, 
-	36, 37, 5, 5, 5, 5, 10, 6, 
-	11, 20, 5, 5, 5, 5, 10, 6, 
-	11, 20, 40, 41, 42, 44, 43, 5, 
-	5, 5, 5, 10, 6, 11, 20, 45, 
-	5, 5, 5, 5, 10, 6, 11, 20, 
-	47, 48, 49, 50, 5, 5, 5, 5, 
-	10, 6, 11, 20, 52, 55, 53, 53, 
-	53, 53, 127, 53, 53, 53, 4, 16, 
-	25, 39, 46, 54, 62, 66, 74, 80, 
-	96, 99, 106, 117, 53, 127, 56, 57, 
-	58, 59, 60, 61, 5, 5, 5, 5, 
-	10, 6, 11, 20, 63, 65, 64, 5, 
-	5, 5, 5, 10, 6, 11, 20, 5, 
-	5, 5, 5, 10, 6, 11, 20, 67, 
-	69, 71, 73, 68, 5, 5, 5, 5, 
-	10, 6, 11, 20, 70, 5, 5, 5, 
-	5, 10, 6, 11, 20, 72, 5, 5, 
-	5, 5, 10, 6, 11, 20, 5, 5, 
-	5, 5, 10, 6, 11, 20, 75, 79, 
-	76, 77, 78, 5, 5, 5, 5, 10, 
-	6, 11, 20, 5, 5, 5, 5, 10, 
-	6, 11, 20, 81, 85, 87, 82, 83, 
-	84, 5, 5, 5, 5, 10, 6, 11, 
-	20, 86, 5, 5, 5, 5, 10, 6, 
-	11, 20, 5, 5, 5, 88, 5, 10, 
-	6, 11, 20, 89, 5, 5, 5, 90, 
-	5, 10, 6, 11, 20, 5, 5, 5, 
-	91, 5, 10, 6, 11, 20, 92, 93, 
-	94, 95, 5, 5, 5, 5, 10, 6, 
-	11, 20, 97, 98, 5, 5, 5, 5, 
-	10, 6, 11, 20, 100, 101, 105, 5, 
-	5, 5, 5, 10, 6, 11, 20, 102, 
-	103, 104, 5, 5, 5, 5, 10, 6, 
-	11, 20, 5, 5, 5, 5, 10, 6, 
-	11, 20, 107, 109, 111, 113, 108, 5, 
-	5, 5, 5, 10, 6, 11, 20, 110, 
-	5, 5, 5, 5, 10, 6, 11, 20, 
-	112, 5, 5, 5, 5, 10, 6, 11, 
-	20, 114, 115, 116, 5, 5, 5, 5, 
-	10, 6, 11, 20, 118, 121, 123, 119, 
-	120, 5, 5, 5, 5, 10, 6, 11, 
-	20, 122, 5, 5, 5, 5, 10, 6, 
-	11, 20, 124, 125, 0, 126, 0, 5, 
-	5, 5, 126, 5, 10, 6, 11, 20, 
-	128, 128, 128, 1059, 243, 130, 131, 131, 
-	131, 131, 136, 131, 131, 131, 132, 4, 
-	16, 25, 39, 46, 54, 62, 66, 74, 
-	80, 96, 99, 106, 117, 131, 136, 53, 
-	53, 53, 132, 133, 133, 133, 133, 133, 
-	53, 127, 134, 134, 135, 135, 135, 135, 
-	135, 53, 53, 53, 134, 53, 127, 0, 
-	139, 180, 186, 140, 141, 142, 143, 144, 
-	145, 1060, 0, 147, 147, 147, 147, 148, 
-	147, 147, 147, 147, 148, 0, 0, 150, 
-	150, 150, 150, 151, 150, 150, 150, 150, 
-	151, 153, 153, 154, 154, 154, 154, 154, 
-	3, 3, 3, 153, 3, 155, 0, 157, 
-	157, 157, 157, 227, 164, 228, 157, 157, 
-	157, 157, 227, 164, 228, 0, 159, 159, 
-	159, 1057, 12, 1062, 162, 1063, 226, 159, 
-	159, 159, 1063, 160, 160, 160, 1061, 161, 
-	163, 163, 163, 164, 164, 164, 178, 212, 
-	1064, 0, 181, 182, 183, 184, 185, 1060, 
-	187, 188, 1060, 0, 160, 160, 160, 1061, 
-	161, 0, 191, 191, 191, 1059, 192, 191, 
-	191, 191, 1059, 192, 0, 194, 194, 194, 
-	1064, 178, 1065, 212, 194, 194, 194, 1065, 
-	209, 0, 209, 209, 209, 210, 211, 211, 
-	211, 212, 212, 212, 214, 215, 5, 5, 
-	5, 5, 10, 6, 11, 20, 217, 218, 
-	219, 5, 5, 5, 5, 10, 6, 11, 
-	20, 221, 5, 5, 5, 5, 10, 6, 
-	11, 20, 224, 224, 224, 225, 225, 225, 
-	226, 226, 226, 228, 228, 228, 0, 247, 
-	1066, 247, 1066, 0, 249, 255, 256, 251, 
-	1067, 249, 250, 251, 1067, 249, 251, 252, 
-	0, 253, 254, 1067, 249, 250, 251, 1067, 
-	0, 258, 263, 259, 1068, 1069, 260, 0, 
-	261, 262, 1068, 258, 1069, 259, 263, 264, 
-	265, 0, 266, 267, 268, 263, 264, 265, 
-	0, 270, 270, 270, 270, 277, 0, 271, 
-	0, 272, 272, 272, 271, 274, 274, 274, 
-	274, 274, 1070, 273, 0, 275, 0, 275, 
-	276, 276, 276, 276, 276, 272, 272, 272, 
-	275, 1070, 273, 0, 279, 279, 279, 279, 
-	289, 280, 288, 284, 280, 281, 284, 0, 
-	282, 282, 282, 280, 284, 1071, 283, 282, 
-	282, 282, 1071, 283, 285, 0, 286, 287, 
-	280, 281, 284, 291, 291, 291, 291, 306, 
-	292, 0, 0, 293, 293, 293, 1072, 297, 
-	303, 0, 293, 293, 293, 294, 302, 298, 
-	1072, 297, 303, 0, 294, 295, 298, 296, 
-	296, 296, 294, 298, 1072, 297, 296, 296, 
-	296, 299, 0, 300, 301, 294, 295, 298, 
-	1073, 304, 304, 304, 304, 305, 0, 308, 
-	309, 310, 313, 311, 311, 311, 311, 311, 
-	312, 1074, 1075, 1076, 0, 315, 315, 315, 
-	315, 320, 1077, 1078, 1079, 315, 315, 315, 
-	316, 321, 329, 343, 350, 355, 363, 367, 
-	375, 381, 397, 400, 407, 418, 315, 320, 
-	1077, 1078, 1079, 315, 315, 315, 317, 428, 
-	432, 315, 320, 1077, 1078, 1079, 318, 319, 
-	315, 315, 315, 315, 320, 1077, 1078, 1079, 
-	322, 325, 323, 324, 315, 315, 315, 315, 
-	320, 1077, 1078, 1079, 326, 327, 328, 315, 
-	315, 315, 315, 320, 1077, 1078, 1079, 330, 
-	334, 342, 331, 332, 333, 315, 315, 315, 
-	315, 320, 1077, 1078, 1079, 335, 338, 336, 
-	337, 315, 315, 315, 315, 320, 1077, 1078, 
-	1079, 339, 340, 341, 315, 315, 315, 315, 
-	320, 1077, 1078, 1079, 315, 315, 315, 315, 
-	320, 1077, 1078, 1079, 344, 345, 346, 348, 
-	347, 315, 315, 315, 315, 320, 1077, 1078, 
-	1079, 349, 315, 315, 315, 315, 320, 1077, 
-	1078, 1079, 351, 352, 353, 354, 315, 315, 
-	315, 315, 320, 1077, 1078, 1079, 356, 357, 
-	358, 359, 360, 361, 362, 315, 315, 315, 
-	315, 320, 1077, 1078, 1079, 364, 366, 365, 
-	315, 315, 315, 315, 320, 1077, 1078, 1079, 
-	315, 315, 315, 315, 320, 1077, 1078, 1079, 
-	368, 370, 372, 374, 369, 315, 315, 315, 
-	315, 320, 1077, 1078, 1079, 371, 315, 315, 
-	315, 315, 320, 1077, 1078, 1079, 373, 315, 
-	315, 315, 315, 320, 1077, 1078, 1079, 315, 
-	315, 315, 315, 320, 1077, 1078, 1079, 376, 
-	380, 377, 378, 379, 315, 315, 315, 315, 
-	320, 1077, 1078, 1079, 315, 315, 315, 315, 
-	320, 1077, 1078, 1079, 382, 386, 388, 383, 
-	384, 385, 315, 315, 315, 315, 320, 1077, 
-	1078, 1079, 387, 315, 315, 315, 315, 320, 
-	1077, 1078, 1079, 315, 315, 315, 389, 315, 
-	320, 1077, 1078, 1079, 390, 315, 315, 315, 
-	391, 315, 320, 1077, 1078, 1079, 315, 315, 
-	315, 392, 315, 320, 1077, 1078, 1079, 393, 
-	394, 395, 396, 315, 315, 315, 315, 320, 
-	1077, 1078, 1079, 398, 399, 315, 315, 315, 
-	315, 320, 1077, 1078, 1079, 401, 402, 406, 
-	315, 315, 315, 315, 320, 1077, 1078, 1079, 
-	403, 404, 405, 315, 315, 315, 315, 320, 
-	1077, 1078, 1079, 315, 315, 315, 315, 320, 
-	1077, 1078, 1079, 408, 410, 412, 414, 409, 
-	315, 315, 315, 315, 320, 1077, 1078, 1079, 
-	411, 315, 315, 315, 315, 320, 1077, 1078, 
-	1079, 413, 315, 315, 315, 315, 320, 1077, 
-	1078, 1079, 415, 416, 417, 315, 315, 315, 
-	315, 320, 1077, 1078, 1079, 419, 422, 424, 
-	420, 421, 315, 315, 315, 315, 320, 1077, 
-	1078, 1079, 423, 315, 315, 315, 315, 320, 
-	1077, 1078, 1079, 425, 426, 427, 315, 315, 
-	315, 427, 315, 320, 1077, 1078, 1079, 429, 
-	430, 431, 315, 315, 315, 315, 320, 1077, 
-	1078, 1079, 433, 315, 315, 315, 315, 320, 
-	1077, 1078, 1079, 0, 435, 435, 435, 435, 
-	442, 0, 436, 437, 437, 437, 436, 437, 
-	441, 0, 437, 437, 437, 438, 437, 441, 
-	439, 439, 439, 439, 439, 440, 1080, 1081, 
-	1082, 444, 444, 444, 444, 452, 445, 451, 
-	1083, 1083, 1083, 451, 1084, 1083, 1087, 446, 
-	446, 446, 447, 446, 450, 448, 448, 448, 
-	448, 448, 449, 1084, 1085, 1086, 446, 446, 
-	446, 446, 450, 0, 454, 455, 470, 500, 
-	508, 521, 1088, 454, 456, 457, 1088, 458, 
-	1088, 459, 460, 461, 462, 463, 464, 465, 
-	466, 467, 468, 469, 1088, 471, 472, 478, 
-	473, 474, 475, 476, 477, 1088, 479, 480, 
-	481, 482, 491, 483, 484, 485, 486, 487, 
-	488, 489, 490, 1088, 492, 493, 494, 495, 
-	496, 497, 498, 499, 1088, 501, 502, 503, 
-	504, 505, 506, 507, 1088, 509, 510, 511, 
-	512, 513, 514, 515, 518, 516, 517, 1088, 
-	519, 520, 1088, 522, 523, 524, 527, 525, 
-	526, 1088, 528, 529, 530, 542, 545, 1088, 
-	531, 532, 533, 534, 535, 536, 537, 538, 
-	539, 540, 541, 1088, 543, 544, 1088, 546, 
-	547, 1088, 0, 549, 550, 556, 573, 576, 
-	582, 586, 1089, 549, 551, 552, 553, 554, 
-	555, 1089, 557, 563, 569, 558, 559, 560, 
-	561, 562, 1089, 564, 566, 565, 1089, 567, 
-	568, 1089, 570, 571, 572, 1089, 574, 575, 
-	1089, 577, 579, 578, 1089, 580, 581, 1089, 
-	583, 584, 585, 1089, 587, 588, 1089, 0, 
-	590, 1090, 590, 592, 1091, 594, 595, 595, 
-	595, 595, 624, 595, 595, 595, 596, 595, 
-	624, 597, 597, 597, 597, 623, 0, 597, 
-	597, 597, 598, 597, 623, 599, 599, 599, 
-	598, 599, 622, 599, 599, 599, 600, 599, 
-	622, 0, 601, 601, 601, 600, 619, 619, 
-	619, 619, 619, 601, 618, 601, 601, 601, 
-	602, 601, 618, 603, 603, 603, 602, 615, 
-	615, 615, 615, 615, 603, 614, 603, 603, 
-	603, 604, 603, 614, 605, 605, 605, 604, 
-	611, 611, 611, 611, 611, 605, 610, 605, 
-	605, 605, 606, 605, 610, 1092, 606, 607, 
-	607, 607, 607, 607, 608, 608, 609, 609, 
-	609, 609, 609, 1092, 608, 612, 612, 613, 
-	613, 613, 613, 613, 605, 605, 605, 612, 
-	605, 610, 616, 616, 617, 617, 617, 617, 
-	617, 603, 603, 603, 616, 603, 614, 620, 
-	620, 621, 621, 621, 621, 621, 601, 601, 
-	601, 620, 601, 618, 626, 627, 627, 627, 
-	627, 629, 628, 627, 627, 627, 627, 629, 
-	1093, 631, 632, 632, 632, 632, 634, 632, 
-	632, 632, 633, 632, 634, 1094, 636, 637, 
-	637, 637, 636, 637, 639, 637, 637, 637, 
-	638, 637, 639, 1095, 641, 642, 642, 642, 
-	642, 643, 1096, 1097, 1098, 642, 642, 642, 
-	642, 643, 1096, 1097, 1098, 645, 1099, 645, 
-	0, 647, 648, 648, 648, 647, 648, 700, 
-	648, 648, 648, 649, 653, 695, 648, 700, 
-	650, 650, 650, 649, 650, 699, 650, 650, 
-	650, 651, 650, 699, 652, 652, 652, 697, 
-	651, 652, 696, 652, 652, 652, 652, 696, 
-	654, 654, 654, 654, 694, 655, 656, 656, 
-	656, 655, 656, 693, 656, 656, 656, 657, 
-	661, 688, 656, 693, 658, 658, 658, 657, 
-	658, 692, 658, 658, 658, 659, 658, 692, 
-	660, 660, 660, 690, 659, 660, 689, 660, 
-	660, 660, 660, 689, 662, 662, 662, 662, 
-	687, 663, 664, 664, 665, 665, 665, 684, 
-	664, 686, 665, 683, 1100, 1107, 1108, 665, 
-	665, 665, 666, 665, 683, 1100, 1107, 1108, 
-	667, 667, 667, 680, 666, 682, 667, 679, 
-	1100, 1105, 1106, 667, 667, 667, 668, 667, 
-	679, 1105, 1106, 669, 669, 669, 676, 668, 
-	678, 669, 675, 1100, 1103, 1104, 669, 669, 
-	669, 670, 669, 675, 1103, 1104, 671, 671, 
-	671, 673, 670, 671, 672, 1100, 1101, 1102, 
-	671, 671, 671, 671, 672, 1101, 1102, 671, 
-	671, 671, 674, 671, 672, 1100, 1101, 1102, 
-	674, 669, 669, 669, 677, 678, 669, 675, 
-	1100, 1103, 1104, 677, 667, 667, 667, 681, 
-	682, 667, 679, 1100, 1105, 1106, 681, 665, 
-	665, 665, 685, 686, 665, 683, 1100, 1107, 
-	1108, 685, 662, 662, 662, 662, 687, 660, 
-	660, 660, 691, 660, 689, 691, 654, 654, 
-	654, 654, 694, 652, 652, 652, 698, 652, 
-	696, 698, 702, 703, 703, 703, 702, 703, 
-	711, 703, 703, 703, 704, 703, 711, 705, 
-	705, 705, 704, 705, 710, 705, 705, 705, 
-	706, 705, 710, 707, 707, 707, 706, 707, 
-	709, 707, 707, 707, 708, 707, 709, 1109, 
-	713, 714, 714, 714, 713, 714, 728, 714, 
-	714, 714, 715, 714, 728, 716, 716, 716, 
-	715, 716, 727, 717, 716, 716, 716, 716, 
-	727, 718, 718, 718, 718, 726, 719, 718, 
-	718, 718, 718, 726, 720, 720, 720, 720, 
-	725, 721, 720, 720, 720, 720, 725, 722, 
-	722, 722, 722, 724, 722, 722, 722, 723, 
-	722, 724, 1110, 730, 731, 731, 731, 731, 
-	739, 732, 733, 733, 733, 732, 733, 738, 
-	733, 733, 733, 734, 733, 738, 735, 735, 
-	735, 735, 737, 736, 1111, 0, 740, 741, 
-	740, 740, 742, 748, 740, 747, 1112, 1113, 
-	1114, 742, 748, 743, 0, 744, 744, 745, 
-	746, 740, 740, 740, 746, 740, 747, 1112, 
-	1113, 1114, 749, 750, 750, 745, 752, 753, 
-	753, 753, 752, 753, 763, 753, 753, 753, 
-	754, 753, 763, 755, 755, 755, 755, 762, 
-	756, 757, 757, 757, 756, 757, 761, 0, 
-	757, 757, 757, 758, 757, 761, 759, 759, 
-	759, 759, 759, 760, 1115, 1116, 1117, 765, 
-	766, 766, 766, 765, 766, 773, 766, 766, 
-	766, 767, 766, 773, 768, 768, 768, 767, 
-	768, 772, 768, 768, 768, 769, 768, 772, 
-	770, 770, 770, 770, 770, 771, 1118, 1119, 
-	1120, 775, 776, 776, 776, 775, 776, 812, 
-	0, 776, 776, 776, 777, 791, 798, 805, 
-	776, 812, 778, 778, 778, 778, 790, 0, 
-	779, 780, 780, 780, 779, 780, 789, 780, 
-	780, 780, 781, 780, 789, 0, 782, 782, 
-	782, 785, 785, 785, 787, 787, 787, 1121, 
-	782, 784, 1124, 1125, 785, 786, 1122, 1123, 
-	787, 788, 1126, 1127, 0, 783, 792, 792, 
-	792, 792, 797, 793, 794, 794, 794, 793, 
-	794, 796, 0, 794, 794, 794, 795, 794, 
-	796, 0, 795, 782, 782, 782, 785, 785, 
-	785, 787, 787, 787, 1121, 782, 784, 1124, 
-	1125, 785, 786, 1122, 1123, 787, 788, 1126, 
-	1127, 799, 799, 799, 799, 804, 800, 801, 
-	801, 801, 800, 801, 803, 801, 801, 801, 
-	802, 801, 803, 802, 782, 782, 782, 785, 
-	785, 785, 787, 787, 787, 1121, 782, 784, 
-	1124, 1125, 785, 786, 1122, 1123, 787, 788, 
-	1126, 1127, 806, 806, 806, 806, 811, 807, 
-	808, 808, 808, 807, 808, 810, 808, 808, 
-	808, 809, 808, 810, 782, 782, 782, 785, 
-	785, 785, 787, 787, 787, 1121, 782, 784, 
-	1124, 1125, 785, 786, 1122, 1123, 787, 788, 
-	1126, 1127, 0, 814, 848, 856, 870, 877, 
-	882, 890, 894, 902, 908, 924, 927, 934, 
-	945, 815, 815, 815, 839, 842, 846, 815, 
-	838, 815, 815, 815, 816, 815, 838, 817, 
-	817, 817, 817, 837, 818, 819, 819, 819, 
-	818, 819, 836, 819, 819, 819, 820, 819, 
-	836, 821, 821, 821, 820, 821, 835, 0, 
-	821, 821, 821, 822, 821, 835, 823, 823, 
-	823, 822, 823, 834, 823, 823, 823, 824, 
-	823, 834, 825, 825, 825, 824, 825, 833, 
-	825, 825, 825, 826, 825, 833, 827, 827, 
-	827, 826, 827, 832, 827, 827, 827, 828, 
-	827, 832, 829, 829, 829, 829, 831, 829, 
-	829, 829, 830, 829, 831, 1128, 840, 841, 
-	815, 815, 815, 815, 838, 843, 844, 845, 
-	815, 815, 815, 815, 838, 847, 815, 815, 
-	815, 815, 838, 849, 852, 850, 851, 815, 
-	815, 815, 815, 838, 853, 854, 855, 815, 
-	815, 815, 815, 838, 857, 861, 869, 858, 
-	859, 860, 815, 815, 815, 815, 838, 862, 
-	865, 863, 864, 815, 815, 815, 815, 838, 
-	866, 867, 868, 815, 815, 815, 815, 838, 
-	815, 815, 815, 815, 838, 871, 872, 873, 
-	875, 874, 815, 815, 815, 815, 838, 876, 
-	815, 815, 815, 815, 838, 878, 879, 880, 
-	881, 815, 815, 815, 815, 838, 883, 884, 
-	885, 886, 887, 888, 889, 815, 815, 815, 
-	815, 838, 891, 893, 892, 815, 815, 815, 
-	815, 838, 815, 815, 815, 815, 838, 895, 
-	897, 899, 901, 896, 815, 815, 815, 815, 
-	838, 898, 815, 815, 815, 815, 838, 900, 
-	815, 815, 815, 815, 838, 815, 815, 815, 
-	815, 838, 903, 907, 904, 905, 906, 815, 
-	815, 815, 815, 838, 815, 815, 815, 815, 
-	838, 909, 913, 915, 910, 911, 912, 815, 
-	815, 815, 815, 838, 914, 815, 815, 815, 
-	815, 838, 815, 815, 815, 916, 815, 838, 
-	917, 815, 815, 815, 918, 815, 838, 815, 
-	815, 815, 919, 815, 838, 920, 921, 922, 
-	923, 815, 815, 815, 815, 838, 925, 926, 
-	815, 815, 815, 815, 838, 928, 929, 933, 
-	815, 815, 815, 815, 838, 930, 931, 932, 
-	815, 815, 815, 815, 838, 815, 815, 815, 
-	815, 838, 935, 937, 939, 941, 936, 815, 
-	815, 815, 815, 838, 938, 815, 815, 815, 
-	815, 838, 940, 815, 815, 815, 815, 838, 
-	942, 943, 944, 815, 815, 815, 815, 838, 
-	946, 949, 951, 947, 948, 815, 815, 815, 
-	815, 838, 950, 815, 815, 815, 815, 838, 
-	952, 953, 0, 954, 815, 815, 815, 954, 
-	815, 838, 956, 957, 1129, 959, 960, 960, 
-	960, 959, 960, 968, 960, 960, 960, 961, 
-	960, 968, 962, 962, 962, 961, 962, 967, 
-	962, 962, 962, 963, 962, 967, 964, 964, 
-	964, 964, 966, 965, 1130, 970, 1131, 972, 
-	973, 973, 973, 972, 973, 999, 973, 973, 
-	973, 974, 973, 999, 975, 975, 975, 974, 
-	975, 998, 975, 975, 975, 976, 975, 998, 
-	977, 977, 977, 976, 977, 997, 977, 977, 
-	977, 978, 995, 977, 997, 979, 979, 979, 
-	979, 994, 0, 979, 979, 979, 980, 979, 
-	994, 981, 982, 992, 983, 984, 991, 985, 
-	989, 986, 987, 987, 988, 980, 1132, 990, 
-	993, 996, 995, 1001, 1002, 1002, 1002, 1001, 
-	1002, 1012, 1002, 1002, 1002, 1003, 1002, 1012, 
-	1004, 1004, 1004, 1003, 1004, 1011, 1004, 1004, 
-	1004, 1005, 1004, 1011, 1006, 1006, 1006, 1005, 
-	1006, 1010, 1006, 1006, 1006, 1007, 1008, 1006, 
-	1010, 1133, 1009, 1008, 1014, 1015, 1015, 1015, 
-	1014, 1015, 1025, 1015, 1015, 1015, 1016, 1015, 
-	1025, 1017, 1017, 1017, 1016, 1017, 1024, 1017, 
-	1017, 1017, 1018, 1017, 1024, 1019, 1019, 1019, 
-	1018, 1019, 1023, 1019, 1019, 1019, 1020, 1019, 
-	1023, 1021, 1021, 1021, 1021, 1021, 1022, 1134, 
-	1135, 1136, 1027, 1028, 1028, 1028, 1027, 1028, 
-	1030, 1028, 1028, 1028, 1029, 1028, 1030, 1137, 
-	1029, 1032, 1033, 1033, 1033, 1032, 1033, 1043, 
-	1033, 1033, 1033, 1034, 1033, 1043, 1035, 1036, 
-	1037, 0, 1038, 1039, 1040, 1041, 1042, 0, 
-	1138, 1045, 1046, 0, 1047, 1048, 1049, 1139, 
-	1051, 1052, 1053, 1054, 1055, 1140, 0, 1, 
-	138, 1, 1, 146, 1061, 242, 13, 179, 
-	13, 13, 189, 208, 1064, 222, 1065, 225, 
-	0, 128, 128, 128, 156, 229, 230, 231, 
-	232, 244, 234, 235, 236, 237, 238, 239, 
-	240, 241, 1059, 243, 0, 149, 156, 229, 
-	230, 231, 232, 233, 234, 235, 236, 237, 
-	238, 239, 240, 241, 0, 1, 138, 1, 
-	1, 146, 1056, 137, 1061, 242, 1, 1, 
-	1061, 160, 160, 160, 1061, 161, 164, 164, 
-	164, 178, 212, 0, 190, 193, 195, 196, 
-	197, 198, 199, 200, 201, 202, 203, 204, 
-	205, 206, 207, 1061
+	0, 1, 1, 1, 2, 4, 16, 32, 
+	46, 53, 136, 69, 73, 81, 87, 103, 
+	106, 113, 124, 1077, 144, 1082, 249, 0, 
+	3, 3, 3, 2, 159, 159, 159, 159, 
+	159, 3, 162, 0, 3, 3, 3, 4, 
+	16, 32, 46, 53, 58, 69, 73, 81, 
+	87, 103, 106, 113, 124, 3, 162, 0, 
+	5, 5, 5, 220, 223, 227, 5, 10, 
+	6, 11, 23, 6, 5, 0, 5, 5, 
+	9, 5, 10, 11, 23, 0, 7, 7, 
+	7, 1077, 8, 0, 6, 6, 11, 11, 
+	11, 12, 1083, 169, 233, 1078, 13, 0, 
+	13, 13, 14, 165, 172, 173, 174, 175, 
+	176, 177, 178, 179, 180, 181, 182, 183, 
+	184, 1085, 229, 1083, 230, 1086, 232, 0, 
+	15, 15, 15, 1079, 252, 0, 15, 15, 
+	15, 1079, 252, 17, 25, 28, 18, 24, 
+	19, 20, 21, 22, 5, 5, 5, 5, 
+	10, 6, 11, 23, 23, 23, 23, 5, 
+	5, 5, 5, 10, 6, 11, 23, 26, 
+	27, 5, 5, 5, 5, 10, 6, 11, 
+	23, 29, 30, 31, 5, 5, 5, 5, 
+	10, 6, 11, 23, 33, 37, 45, 34, 
+	35, 36, 5, 5, 5, 5, 10, 6, 
+	11, 23, 38, 41, 39, 40, 5, 5, 
+	5, 5, 10, 6, 11, 23, 42, 43, 
+	44, 5, 5, 5, 5, 10, 6, 11, 
+	23, 5, 5, 5, 5, 10, 6, 11, 
+	23, 47, 48, 49, 51, 50, 5, 5, 
+	5, 5, 10, 6, 11, 23, 52, 5, 
+	5, 5, 5, 10, 6, 11, 23, 54, 
+	55, 56, 57, 5, 5, 5, 5, 10, 
+	6, 11, 23, 59, 62, 60, 60, 60, 
+	60, 134, 60, 60, 60, 4, 16, 32, 
+	46, 53, 61, 69, 73, 81, 87, 103, 
+	106, 113, 124, 60, 134, 63, 64, 65, 
+	66, 67, 68, 5, 5, 5, 5, 10, 
+	6, 11, 23, 70, 72, 71, 5, 5, 
+	5, 5, 10, 6, 11, 23, 5, 5, 
+	5, 5, 10, 6, 11, 23, 74, 76, 
+	78, 80, 75, 5, 5, 5, 5, 10, 
+	6, 11, 23, 77, 5, 5, 5, 5, 
+	10, 6, 11, 23, 79, 5, 5, 5, 
+	5, 10, 6, 11, 23, 5, 5, 5, 
+	5, 10, 6, 11, 23, 82, 86, 83, 
+	84, 85, 5, 5, 5, 5, 10, 6, 
+	11, 23, 5, 5, 5, 5, 10, 6, 
+	11, 23, 88, 92, 94, 89, 90, 91, 
+	5, 5, 5, 5, 10, 6, 11, 23, 
+	93, 5, 5, 5, 5, 10, 6, 11, 
+	23, 5, 5, 5, 95, 5, 10, 6, 
+	11, 23, 96, 5, 5, 5, 97, 5, 
+	10, 6, 11, 23, 5, 5, 5, 98, 
+	5, 10, 6, 11, 23, 99, 100, 101, 
+	102, 5, 5, 5, 5, 10, 6, 11, 
+	23, 104, 105, 5, 5, 5, 5, 10, 
+	6, 11, 23, 107, 108, 112, 5, 5, 
+	5, 5, 10, 6, 11, 23, 109, 110, 
+	111, 5, 5, 5, 5, 10, 6, 11, 
+	23, 5, 5, 5, 5, 10, 6, 11, 
+	23, 114, 116, 118, 120, 115, 5, 5, 
+	5, 5, 10, 6, 11, 23, 117, 5, 
+	5, 5, 5, 10, 6, 11, 23, 119, 
+	5, 5, 5, 5, 10, 6, 11, 23, 
+	121, 122, 123, 5, 5, 5, 5, 10, 
+	6, 11, 23, 125, 128, 130, 126, 127, 
+	5, 5, 5, 5, 10, 6, 11, 23, 
+	129, 5, 5, 5, 5, 10, 6, 11, 
+	23, 131, 132, 0, 133, 0, 5, 5, 
+	5, 133, 5, 10, 6, 11, 23, 135, 
+	135, 135, 1080, 250, 137, 138, 138, 138, 
+	138, 143, 138, 138, 138, 139, 4, 16, 
+	32, 46, 53, 61, 69, 73, 81, 87, 
+	103, 106, 113, 124, 138, 143, 60, 60, 
+	60, 139, 140, 140, 140, 140, 140, 60, 
+	134, 141, 141, 142, 142, 142, 142, 142, 
+	60, 60, 60, 141, 60, 134, 0, 146, 
+	187, 193, 147, 148, 149, 150, 151, 152, 
+	1081, 0, 154, 154, 154, 154, 155, 154, 
+	154, 154, 154, 155, 0, 0, 157, 157, 
+	157, 157, 158, 157, 157, 157, 157, 158, 
+	160, 160, 161, 161, 161, 161, 161, 3, 
+	3, 3, 160, 3, 162, 0, 164, 164, 
+	164, 164, 234, 171, 235, 164, 164, 164, 
+	164, 234, 171, 235, 0, 166, 166, 166, 
+	1078, 12, 1083, 169, 1084, 233, 166, 166, 
+	166, 1084, 167, 167, 167, 1082, 168, 170, 
+	170, 170, 171, 171, 171, 185, 219, 1085, 
+	0, 188, 189, 190, 191, 192, 1081, 194, 
+	195, 1081, 0, 167, 167, 167, 1082, 168, 
+	0, 198, 198, 198, 1080, 199, 198, 198, 
+	198, 1080, 199, 0, 201, 201, 201, 1085, 
+	185, 1086, 219, 201, 201, 201, 1086, 216, 
+	0, 216, 216, 216, 217, 218, 218, 218, 
+	219, 219, 219, 221, 222, 5, 5, 5, 
+	5, 10, 6, 11, 23, 224, 225, 226, 
+	5, 5, 5, 5, 10, 6, 11, 23, 
+	228, 5, 5, 5, 5, 10, 6, 11, 
+	23, 231, 231, 231, 232, 232, 232, 233, 
+	233, 233, 235, 235, 235, 0, 254, 1087, 
+	254, 1087, 0, 256, 262, 263, 258, 1088, 
+	256, 257, 258, 1088, 256, 258, 259, 0, 
+	260, 261, 1088, 256, 257, 258, 1088, 0, 
+	265, 270, 266, 1089, 1090, 267, 0, 268, 
+	269, 1089, 265, 1090, 266, 270, 271, 272, 
+	0, 273, 274, 275, 270, 271, 272, 0, 
+	277, 277, 277, 277, 284, 0, 278, 0, 
+	279, 279, 279, 278, 281, 281, 281, 281, 
+	281, 1091, 280, 0, 282, 0, 282, 283, 
+	283, 283, 283, 283, 279, 279, 279, 282, 
+	1091, 280, 0, 286, 286, 286, 286, 296, 
+	287, 295, 291, 287, 288, 291, 0, 289, 
+	289, 289, 287, 291, 1092, 290, 289, 289, 
+	289, 1092, 290, 292, 0, 293, 294, 287, 
+	288, 291, 298, 298, 298, 298, 313, 299, 
+	0, 0, 300, 300, 300, 1093, 304, 310, 
+	0, 300, 300, 300, 301, 309, 305, 1093, 
+	304, 310, 0, 301, 302, 305, 303, 303, 
+	303, 301, 305, 1093, 304, 303, 303, 303, 
+	306, 0, 307, 308, 301, 302, 305, 1094, 
+	311, 311, 311, 311, 312, 0, 315, 316, 
+	317, 320, 318, 318, 318, 318, 318, 319, 
+	1095, 1096, 1097, 0, 322, 322, 322, 322, 
+	327, 1098, 1099, 1100, 322, 322, 322, 323, 
+	328, 343, 357, 364, 369, 377, 381, 389, 
+	395, 411, 414, 421, 432, 322, 327, 1098, 
+	1099, 1100, 322, 322, 322, 324, 442, 446, 
+	322, 327, 1098, 1099, 1100, 325, 326, 322, 
+	322, 322, 322, 327, 1098, 1099, 1100, 329, 
+	336, 339, 330, 335, 331, 332, 333, 334, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	337, 338, 322, 322, 322, 322, 327, 1098, 
+	1099, 1100, 340, 341, 342, 322, 322, 322, 
+	322, 327, 1098, 1099, 1100, 344, 348, 356, 
+	345, 346, 347, 322, 322, 322, 322, 327, 
+	1098, 1099, 1100, 349, 352, 350, 351, 322, 
+	322, 322, 322, 327, 1098, 1099, 1100, 353, 
+	354, 355, 322, 322, 322, 322, 327, 1098, 
+	1099, 1100, 322, 322, 322, 322, 327, 1098, 
+	1099, 1100, 358, 359, 360, 362, 361, 322, 
+	322, 322, 322, 327, 1098, 1099, 1100, 363, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	365, 366, 367, 368, 322, 322, 322, 322, 
+	327, 1098, 1099, 1100, 370, 371, 372, 373, 
+	374, 375, 376, 322, 322, 322, 322, 327, 
+	1098, 1099, 1100, 378, 380, 379, 322, 322, 
+	322, 322, 327, 1098, 1099, 1100, 322, 322, 
+	322, 322, 327, 1098, 1099, 1100, 382, 384, 
+	386, 388, 383, 322, 322, 322, 322, 327, 
+	1098, 1099, 1100, 385, 322, 322, 322, 322, 
+	327, 1098, 1099, 1100, 387, 322, 322, 322, 
+	322, 327, 1098, 1099, 1100, 322, 322, 322, 
+	322, 327, 1098, 1099, 1100, 390, 394, 391, 
+	392, 393, 322, 322, 322, 322, 327, 1098, 
+	1099, 1100, 322, 322, 322, 322, 327, 1098, 
+	1099, 1100, 396, 400, 402, 397, 398, 399, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	401, 322, 322, 322, 322, 327, 1098, 1099, 
+	1100, 322, 322, 322, 403, 322, 327, 1098, 
+	1099, 1100, 404, 322, 322, 322, 405, 322, 
+	327, 1098, 1099, 1100, 322, 322, 322, 406, 
+	322, 327, 1098, 1099, 1100, 407, 408, 409, 
+	410, 322, 322, 322, 322, 327, 1098, 1099, 
+	1100, 412, 413, 322, 322, 322, 322, 327, 
+	1098, 1099, 1100, 415, 416, 420, 322, 322, 
+	322, 322, 327, 1098, 1099, 1100, 417, 418, 
+	419, 322, 322, 322, 322, 327, 1098, 1099, 
+	1100, 322, 322, 322, 322, 327, 1098, 1099, 
+	1100, 422, 424, 426, 428, 423, 322, 322, 
+	322, 322, 327, 1098, 1099, 1100, 425, 322, 
+	322, 322, 322, 327, 1098, 1099, 1100, 427, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	429, 430, 431, 322, 322, 322, 322, 327, 
+	1098, 1099, 1100, 433, 436, 438, 434, 435, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	437, 322, 322, 322, 322, 327, 1098, 1099, 
+	1100, 439, 440, 441, 322, 322, 322, 441, 
+	322, 327, 1098, 1099, 1100, 443, 444, 445, 
+	322, 322, 322, 322, 327, 1098, 1099, 1100, 
+	447, 322, 322, 322, 322, 327, 1098, 1099, 
+	1100, 0, 449, 449, 449, 449, 456, 0, 
+	450, 451, 451, 451, 450, 451, 455, 0, 
+	451, 451, 451, 452, 451, 455, 453, 453, 
+	453, 453, 453, 454, 1101, 1102, 1103, 458, 
+	458, 458, 458, 466, 459, 465, 1104, 1104, 
+	1104, 465, 1105, 1104, 1108, 460, 460, 460, 
+	461, 460, 464, 462, 462, 462, 462, 462, 
+	463, 1105, 1106, 1107, 460, 460, 460, 460, 
+	464, 0, 468, 469, 484, 514, 522, 535, 
+	1109, 468, 470, 471, 1109, 472, 1109, 473, 
+	474, 475, 476, 477, 478, 479, 480, 481, 
+	482, 483, 1109, 485, 486, 492, 487, 488, 
+	489, 490, 491, 1109, 493, 494, 495, 496, 
+	505, 497, 498, 499, 500, 501, 502, 503, 
+	504, 1109, 506, 507, 508, 509, 510, 511, 
+	512, 513, 1109, 515, 516, 517, 518, 519, 
+	520, 521, 1109, 523, 524, 525, 526, 527, 
+	528, 529, 532, 530, 531, 1109, 533, 534, 
+	1109, 536, 537, 538, 541, 539, 540, 1109, 
+	542, 543, 544, 556, 559, 1109, 545, 546, 
+	547, 548, 549, 550, 551, 552, 553, 554, 
+	555, 1109, 557, 558, 1109, 560, 561, 1109, 
+	0, 563, 564, 570, 587, 590, 596, 600, 
+	1110, 563, 565, 566, 567, 568, 569, 1110, 
+	571, 577, 583, 572, 573, 574, 575, 576, 
+	1110, 578, 580, 579, 1110, 581, 582, 1110, 
+	584, 585, 586, 1110, 588, 589, 1110, 591, 
+	593, 592, 1110, 594, 595, 1110, 597, 598, 
+	599, 1110, 601, 602, 1110, 0, 604, 1111, 
+	604, 606, 1112, 608, 609, 609, 609, 609, 
+	638, 609, 609, 609, 610, 609, 638, 611, 
+	611, 611, 611, 637, 0, 611, 611, 611, 
+	612, 611, 637, 613, 613, 613, 612, 613, 
+	636, 613, 613, 613, 614, 613, 636, 0, 
+	615, 615, 615, 614, 633, 633, 633, 633, 
+	633, 615, 632, 615, 615, 615, 616, 615, 
+	632, 617, 617, 617, 616, 629, 629, 629, 
+	629, 629, 617, 628, 617, 617, 617, 618, 
+	617, 628, 619, 619, 619, 618, 625, 625, 
+	625, 625, 625, 619, 624, 619, 619, 619, 
+	620, 619, 624, 1113, 620, 621, 621, 621, 
+	621, 621, 622, 622, 623, 623, 623, 623, 
+	623, 1113, 622, 626, 626, 627, 627, 627, 
+	627, 627, 619, 619, 619, 626, 619, 624, 
+	630, 630, 631, 631, 631, 631, 631, 617, 
+	617, 617, 630, 617, 628, 634, 634, 635, 
+	635, 635, 635, 635, 615, 615, 615, 634, 
+	615, 632, 640, 641, 641, 641, 641, 643, 
+	642, 641, 641, 641, 641, 643, 1114, 645, 
+	646, 646, 646, 646, 648, 646, 646, 646, 
+	647, 646, 648, 1115, 650, 651, 651, 651, 
+	650, 651, 653, 651, 651, 651, 652, 651, 
+	653, 1116, 655, 656, 656, 656, 656, 657, 
+	1117, 1118, 1119, 656, 656, 656, 656, 657, 
+	1117, 1118, 1119, 659, 1120, 659, 0, 661, 
+	662, 662, 662, 661, 662, 714, 662, 662, 
+	662, 663, 667, 709, 662, 714, 664, 664, 
+	664, 663, 664, 713, 664, 664, 664, 665, 
+	664, 713, 666, 666, 666, 711, 665, 666, 
+	710, 666, 666, 666, 666, 710, 668, 668, 
+	668, 668, 708, 669, 670, 670, 670, 669, 
+	670, 707, 670, 670, 670, 671, 675, 702, 
+	670, 707, 672, 672, 672, 671, 672, 706, 
+	672, 672, 672, 673, 672, 706, 674, 674, 
+	674, 704, 673, 674, 703, 674, 674, 674, 
+	674, 703, 676, 676, 676, 676, 701, 677, 
+	678, 678, 679, 679, 679, 698, 678, 700, 
+	679, 697, 1121, 1128, 1129, 679, 679, 679, 
+	680, 679, 697, 1121, 1128, 1129, 681, 681, 
+	681, 694, 680, 696, 681, 693, 1121, 1126, 
+	1127, 681, 681, 681, 682, 681, 693, 1126, 
+	1127, 683, 683, 683, 690, 682, 692, 683, 
+	689, 1121, 1124, 1125, 683, 683, 683, 684, 
+	683, 689, 1124, 1125, 685, 685, 685, 687, 
+	684, 685, 686, 1121, 1122, 1123, 685, 685, 
+	685, 685, 686, 1122, 1123, 685, 685, 685, 
+	688, 685, 686, 1121, 1122, 1123, 688, 683, 
+	683, 683, 691, 692, 683, 689, 1121, 1124, 
+	1125, 691, 681, 681, 681, 695, 696, 681, 
+	693, 1121, 1126, 1127, 695, 679, 679, 679, 
+	699, 700, 679, 697, 1121, 1128, 1129, 699, 
+	676, 676, 676, 676, 701, 674, 674, 674, 
+	705, 674, 703, 705, 668, 668, 668, 668, 
+	708, 666, 666, 666, 712, 666, 710, 712, 
+	716, 717, 717, 717, 716, 717, 725, 717, 
+	717, 717, 718, 717, 725, 719, 719, 719, 
+	718, 719, 724, 719, 719, 719, 720, 719, 
+	724, 721, 721, 721, 720, 721, 723, 721, 
+	721, 721, 722, 721, 723, 1130, 727, 728, 
+	728, 728, 727, 728, 742, 728, 728, 728, 
+	729, 728, 742, 730, 730, 730, 729, 730, 
+	741, 731, 730, 730, 730, 730, 741, 732, 
+	732, 732, 732, 740, 733, 732, 732, 732, 
+	732, 740, 734, 734, 734, 734, 739, 735, 
+	734, 734, 734, 734, 739, 736, 736, 736, 
+	736, 738, 736, 736, 736, 737, 736, 738, 
+	1131, 744, 745, 745, 745, 745, 753, 746, 
+	747, 747, 747, 746, 747, 752, 747, 747, 
+	747, 748, 747, 752, 749, 749, 749, 749, 
+	751, 750, 1132, 0, 754, 755, 754, 754, 
+	756, 762, 754, 761, 1133, 1134, 1135, 756, 
+	762, 757, 0, 758, 758, 759, 760, 754, 
+	754, 754, 760, 754, 761, 1133, 1134, 1135, 
+	763, 764, 764, 759, 766, 767, 767, 767, 
+	766, 767, 777, 767, 767, 767, 768, 767, 
+	777, 769, 769, 769, 769, 776, 770, 771, 
+	771, 771, 770, 771, 775, 0, 771, 771, 
+	771, 772, 771, 775, 773, 773, 773, 773, 
+	773, 774, 1136, 1137, 1138, 779, 780, 780, 
+	780, 779, 780, 787, 780, 780, 780, 781, 
+	780, 787, 782, 782, 782, 781, 782, 786, 
+	782, 782, 782, 783, 782, 786, 784, 784, 
+	784, 784, 784, 785, 1139, 1140, 1141, 789, 
+	790, 790, 790, 789, 790, 826, 0, 790, 
+	790, 790, 791, 805, 812, 819, 790, 826, 
+	792, 792, 792, 792, 804, 0, 793, 794, 
+	794, 794, 793, 794, 803, 794, 794, 794, 
+	795, 794, 803, 0, 796, 796, 796, 799, 
+	799, 799, 801, 801, 801, 1142, 796, 798, 
+	1145, 1146, 799, 800, 1143, 1144, 801, 802, 
+	1147, 1148, 0, 797, 806, 806, 806, 806, 
+	811, 807, 808, 808, 808, 807, 808, 810, 
+	0, 808, 808, 808, 809, 808, 810, 0, 
+	809, 796, 796, 796, 799, 799, 799, 801, 
+	801, 801, 1142, 796, 798, 1145, 1146, 799, 
+	800, 1143, 1144, 801, 802, 1147, 1148, 813, 
+	813, 813, 813, 818, 814, 815, 815, 815, 
+	814, 815, 817, 815, 815, 815, 816, 815, 
+	817, 816, 796, 796, 796, 799, 799, 799, 
+	801, 801, 801, 1142, 796, 798, 1145, 1146, 
+	799, 800, 1143, 1144, 801, 802, 1147, 1148, 
+	820, 820, 820, 820, 825, 821, 822, 822, 
+	822, 821, 822, 824, 822, 822, 822, 823, 
+	822, 824, 796, 796, 796, 799, 799, 799, 
+	801, 801, 801, 1142, 796, 798, 1145, 1146, 
+	799, 800, 1143, 1144, 801, 802, 1147, 1148, 
+	0, 828, 862, 877, 891, 898, 903, 911, 
+	915, 923, 929, 945, 948, 955, 966, 829, 
+	829, 829, 853, 856, 860, 829, 852, 829, 
+	829, 829, 830, 829, 852, 831, 831, 831, 
+	831, 851, 832, 833, 833, 833, 832, 833, 
+	850, 833, 833, 833, 834, 833, 850, 835, 
+	835, 835, 834, 835, 849, 0, 835, 835, 
+	835, 836, 835, 849, 837, 837, 837, 836, 
+	837, 848, 837, 837, 837, 838, 837, 848, 
+	839, 839, 839, 838, 839, 847, 839, 839, 
+	839, 840, 839, 847, 841, 841, 841, 840, 
+	841, 846, 841, 841, 841, 842, 841, 846, 
+	843, 843, 843, 843, 845, 843, 843, 843, 
+	844, 843, 845, 1149, 854, 855, 829, 829, 
+	829, 829, 852, 857, 858, 859, 829, 829, 
+	829, 829, 852, 861, 829, 829, 829, 829, 
+	852, 863, 870, 873, 864, 869, 865, 866, 
+	867, 868, 829, 829, 829, 829, 852, 829, 
+	829, 829, 829, 852, 871, 872, 829, 829, 
+	829, 829, 852, 874, 875, 876, 829, 829, 
+	829, 829, 852, 878, 882, 890, 879, 880, 
+	881, 829, 829, 829, 829, 852, 883, 886, 
+	884, 885, 829, 829, 829, 829, 852, 887, 
+	888, 889, 829, 829, 829, 829, 852, 829, 
+	829, 829, 829, 852, 892, 893, 894, 896, 
+	895, 829, 829, 829, 829, 852, 897, 829, 
+	829, 829, 829, 852, 899, 900, 901, 902, 
+	829, 829, 829, 829, 852, 904, 905, 906, 
+	907, 908, 909, 910, 829, 829, 829, 829, 
+	852, 912, 914, 913, 829, 829, 829, 829, 
+	852, 829, 829, 829, 829, 852, 916, 918, 
+	920, 922, 917, 829, 829, 829, 829, 852, 
+	919, 829, 829, 829, 829, 852, 921, 829, 
+	829, 829, 829, 852, 829, 829, 829, 829, 
+	852, 924, 928, 925, 926, 927, 829, 829, 
+	829, 829, 852, 829, 829, 829, 829, 852, 
+	930, 934, 936, 931, 932, 933, 829, 829, 
+	829, 829, 852, 935, 829, 829, 829, 829, 
+	852, 829, 829, 829, 937, 829, 852, 938, 
+	829, 829, 829, 939, 829, 852, 829, 829, 
+	829, 940, 829, 852, 941, 942, 943, 944, 
+	829, 829, 829, 829, 852, 946, 947, 829, 
+	829, 829, 829, 852, 949, 950, 954, 829, 
+	829, 829, 829, 852, 951, 952, 953, 829, 
+	829, 829, 829, 852, 829, 829, 829, 829, 
+	852, 956, 958, 960, 962, 957, 829, 829, 
+	829, 829, 852, 959, 829, 829, 829, 829, 
+	852, 961, 829, 829, 829, 829, 852, 963, 
+	964, 965, 829, 829, 829, 829, 852, 967, 
+	970, 972, 968, 969, 829, 829, 829, 829, 
+	852, 971, 829, 829, 829, 829, 852, 973, 
+	974, 0, 975, 829, 829, 829, 975, 829, 
+	852, 977, 978, 1150, 980, 981, 981, 981, 
+	980, 981, 989, 981, 981, 981, 982, 981, 
+	989, 983, 983, 983, 982, 983, 988, 983, 
+	983, 983, 984, 983, 988, 985, 985, 985, 
+	985, 987, 986, 1151, 991, 1152, 993, 994, 
+	994, 994, 993, 994, 1020, 994, 994, 994, 
+	995, 994, 1020, 996, 996, 996, 995, 996, 
+	1019, 996, 996, 996, 997, 996, 1019, 998, 
+	998, 998, 997, 998, 1018, 998, 998, 998, 
+	999, 1016, 998, 1018, 1000, 1000, 1000, 1000, 
+	1015, 0, 1000, 1000, 1000, 1001, 1000, 1015, 
+	1002, 1003, 1013, 1004, 1005, 1012, 1006, 1010, 
+	1007, 1008, 1008, 1009, 1001, 1153, 1011, 1014, 
+	1017, 1016, 1022, 1023, 1023, 1023, 1022, 1023, 
+	1033, 1023, 1023, 1023, 1024, 1023, 1033, 1025, 
+	1025, 1025, 1024, 1025, 1032, 1025, 1025, 1025, 
+	1026, 1025, 1032, 1027, 1027, 1027, 1026, 1027, 
+	1031, 1027, 1027, 1027, 1028, 1029, 1027, 1031, 
+	1154, 1030, 1029, 1035, 1036, 1036, 1036, 1035, 
+	1036, 1046, 1036, 1036, 1036, 1037, 1036, 1046, 
+	1038, 1038, 1038, 1037, 1038, 1045, 1038, 1038, 
+	1038, 1039, 1038, 1045, 1040, 1040, 1040, 1039, 
+	1040, 1044, 1040, 1040, 1040, 1041, 1040, 1044, 
+	1042, 1042, 1042, 1042, 1042, 1043, 1155, 1156, 
+	1157, 1048, 1049, 1049, 1049, 1048, 1049, 1051, 
+	1049, 1049, 1049, 1050, 1049, 1051, 1158, 1050, 
+	1053, 1054, 1054, 1054, 1053, 1054, 1064, 1054, 
+	1054, 1054, 1055, 1054, 1064, 1056, 1057, 1058, 
+	0, 1059, 1060, 1061, 1062, 1063, 0, 1159, 
+	1066, 1067, 0, 1068, 1069, 1070, 1160, 1072, 
+	1073, 1074, 1075, 1076, 1161, 0, 1, 145, 
+	1, 1, 153, 1082, 249, 13, 186, 13, 
+	13, 196, 215, 1085, 229, 1086, 232, 0, 
+	135, 135, 135, 163, 236, 237, 238, 239, 
+	251, 241, 242, 243, 244, 245, 246, 247, 
+	248, 1080, 250, 0, 156, 163, 236, 237, 
+	238, 239, 240, 241, 242, 243, 244, 245, 
+	246, 247, 248, 0, 1, 145, 1, 1, 
+	153, 1077, 144, 1082, 249, 1, 1, 1082, 
+	167, 167, 167, 1082, 168, 171, 171, 171, 
+	185, 219, 0, 197, 200, 202, 203, 204, 
+	205, 206, 207, 208, 209, 210, 211, 212, 
+	213, 214, 1082
 };
 
 static const short _zone_scanner_trans_actions[] = {
-	1806, 0, 5, 7, 492, 642, 642, 642, 
-	642, 642, 642, 642, 642, 642, 642, 642, 
-	642, 642, 642, 3, 0, 3, 0, 1934, 
-	101, 657, 660, 41, 55, 53, 51, 0, 
-	57, 654, 101, 343, 0, 5, 7, 95, 
+	1856, 0, 5, 7, 500, 650, 650, 650, 
+	650, 650, 650, 650, 650, 650, 650, 650, 
+	650, 650, 650, 3, 0, 3, 0, 1984, 
+	101, 665, 668, 41, 55, 53, 51, 0, 
+	57, 662, 101, 351, 0, 5, 7, 95, 
 	95, 95, 95, 95, 95, 95, 95, 95, 
-	95, 95, 95, 95, 95, 3, 0, 1566, 
-	1569, 2298, 2302, 0, 0, 0, 2294, 1569, 
-	2306, 3371, 2306, 339, 0, 337, 5, 7, 
-	0, 3, 0, 354, 339, 1551, 0, 5, 
-	7, 1683, 0, 9, 1560, 341, 0, 5, 
-	7, 0, 2286, 339, 339, 357, 0, 2981, 
-	5, 7, 1794, 2018, 2018, 2018, 2018, 2018, 
-	2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
-	2018, 3, 0, 1554, 339, 354, 339, 3644, 
-	101, 657, 660, 2022, 101, 1563, 0, 5, 
-	7, 357, 0, 0, 0, 0, 0, 1623, 
-	2586, 2590, 2582, 1623, 2594, 3466, 2594, 0, 
-	5, 7, 0, 0, 0, 1575, 2330, 2334, 
-	2326, 1575, 2338, 3386, 2338, 0, 0, 0, 
-	0, 0, 0, 1650, 2730, 2734, 2726, 1650, 
-	2738, 3511, 2738, 0, 0, 0, 0, 1626, 
-	2602, 2606, 2598, 1626, 2610, 3471, 2610, 0, 
-	0, 0, 1647, 2714, 2718, 2710, 1647, 2722, 
-	3506, 2722, 1632, 2634, 2638, 2630, 1632, 2642, 
-	3481, 2642, 0, 0, 0, 0, 0, 1677, 
-	2874, 2878, 2870, 1677, 2882, 3556, 2882, 0, 
-	1680, 2890, 2894, 2886, 1680, 2898, 3561, 2898, 
-	0, 0, 0, 0, 1584, 2378, 2382, 2374, 
-	1584, 2386, 3401, 2386, 0, 0, 99, 648, 
-	651, 645, 99, 0, 5, 7, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 3, 0, 0, 0, 
-	0, 0, 0, 0, 1638, 2666, 2670, 2662, 
-	1638, 2674, 3491, 2674, 0, 0, 0, 1605, 
-	2490, 2494, 2486, 1605, 2498, 3436, 2498, 1620, 
-	2570, 2574, 2566, 1620, 2578, 3461, 2578, 0, 
-	0, 0, 0, 0, 1668, 2826, 2830, 2822, 
-	1668, 2834, 3541, 2834, 0, 1671, 2842, 2846, 
-	2838, 1671, 2850, 3546, 2850, 0, 1611, 2522, 
-	2526, 2518, 1611, 2530, 3446, 2530, 1674, 2858, 
-	2862, 2854, 1674, 2866, 3551, 2866, 0, 0, 
-	0, 0, 0, 1587, 2394, 2398, 2390, 1587, 
-	2402, 3406, 2402, 1590, 2410, 2414, 2406, 1590, 
-	2418, 3411, 2418, 0, 0, 0, 0, 0, 
-	0, 1617, 2554, 2558, 2550, 1617, 2562, 3456, 
-	2562, 0, 1665, 2810, 2814, 2806, 1665, 2818, 
-	3536, 2818, 1572, 2314, 2318, 0, 2310, 1572, 
-	2322, 3381, 2322, 0, 1644, 2698, 2702, 0, 
-	2694, 1644, 2706, 3501, 2706, 1653, 2746, 2750, 
-	0, 2742, 1653, 2754, 3516, 2754, 0, 0, 
-	0, 0, 1656, 2762, 2766, 2758, 1656, 2770, 
-	3521, 2770, 0, 0, 1581, 2362, 2366, 2358, 
-	1581, 2370, 3396, 2370, 0, 0, 0, 1596, 
-	2442, 2446, 2438, 1596, 2450, 3421, 2450, 0, 
-	0, 0, 1641, 2682, 2686, 2678, 1641, 2690, 
-	3496, 2690, 1602, 2474, 2478, 2470, 1602, 2482, 
-	3431, 2482, 0, 0, 0, 0, 0, 1578, 
-	2346, 2350, 2342, 1578, 2354, 3391, 2354, 0, 
-	1662, 2794, 2798, 2790, 1662, 2802, 3531, 2802, 
-	0, 1614, 2538, 2542, 2534, 1614, 2546, 3451, 
-	2546, 0, 0, 0, 1635, 2650, 2654, 2646, 
-	1635, 2658, 3486, 2658, 0, 0, 0, 0, 
-	0, 1659, 2778, 2782, 2774, 1659, 2786, 3526, 
-	2786, 0, 1593, 2426, 2430, 2422, 1593, 2434, 
-	3416, 2434, 0, 0, 504, 492, 1810, 561, 
-	1914, 1918, 41, 1910, 561, 1922, 3111, 1922, 
-	0, 5, 7, 3, 0, 0, 99, 648, 
-	651, 645, 99, 0, 5, 7, 492, 97, 
+	95, 95, 95, 95, 95, 3, 0, 1610, 
+	1613, 2356, 2360, 0, 0, 0, 2352, 1613, 
+	2364, 3471, 2364, 347, 0, 345, 5, 7, 
+	0, 3, 0, 362, 347, 1595, 0, 5, 
+	7, 1733, 0, 9, 1604, 349, 0, 5, 
+	7, 0, 2344, 347, 347, 365, 0, 3071, 
+	5, 7, 1844, 2068, 2068, 2068, 2068, 2068, 
+	2068, 2068, 2068, 2068, 2068, 2068, 2068, 2068, 
+	2068, 3, 0, 1598, 347, 362, 347, 3754, 
+	101, 665, 668, 2072, 101, 1607, 0, 5, 
+	7, 365, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 1709, 2868, 2872, 2864, 
+	1709, 2876, 3636, 2876, 0, 5, 7, 1706, 
+	2852, 2856, 2848, 1706, 2860, 3631, 2860, 0, 
+	0, 1667, 2644, 2648, 2640, 1667, 2652, 3566, 
+	2652, 0, 0, 0, 1619, 2388, 2392, 2384, 
+	1619, 2396, 3486, 2396, 0, 0, 0, 0, 
+	0, 0, 1694, 2788, 2792, 2784, 1694, 2796, 
+	3611, 2796, 0, 0, 0, 0, 1670, 2660, 
+	2664, 2656, 1670, 2668, 3571, 2668, 0, 0, 
+	0, 1691, 2772, 2776, 2768, 1691, 2780, 3606, 
+	2780, 1676, 2692, 2696, 2688, 1676, 2700, 3581, 
+	2700, 0, 0, 0, 0, 0, 1727, 2964, 
+	2968, 2960, 1727, 2972, 3666, 2972, 0, 1730, 
+	2980, 2984, 2976, 1730, 2988, 3671, 2988, 0, 
+	0, 0, 0, 1628, 2436, 2440, 2432, 1628, 
+	2444, 3501, 2444, 0, 0, 99, 656, 659, 
+	653, 99, 0, 5, 7, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 3, 0, 0, 0, 0, 
+	0, 0, 0, 1682, 2724, 2728, 2720, 1682, 
+	2732, 3591, 2732, 0, 0, 0, 1649, 2548, 
+	2552, 2544, 1649, 2556, 3536, 2556, 1664, 2628, 
+	2632, 2624, 1664, 2636, 3561, 2636, 0, 0, 
+	0, 0, 0, 1718, 2916, 2920, 2912, 1718, 
+	2924, 3651, 2924, 0, 1721, 2932, 2936, 2928, 
+	1721, 2940, 3656, 2940, 0, 1655, 2580, 2584, 
+	2576, 1655, 2588, 3546, 2588, 1724, 2948, 2952, 
+	2944, 1724, 2956, 3661, 2956, 0, 0, 0, 
+	0, 0, 1631, 2452, 2456, 2448, 1631, 2460, 
+	3506, 2460, 1634, 2468, 2472, 2464, 1634, 2476, 
+	3511, 2476, 0, 0, 0, 0, 0, 0, 
+	1661, 2612, 2616, 2608, 1661, 2620, 3556, 2620, 
+	0, 1715, 2900, 2904, 2896, 1715, 2908, 3646, 
+	2908, 1616, 2372, 2376, 0, 2368, 1616, 2380, 
+	3481, 2380, 0, 1688, 2756, 2760, 0, 2752, 
+	1688, 2764, 3601, 2764, 1697, 2804, 2808, 0, 
+	2800, 1697, 2812, 3616, 2812, 0, 0, 0, 
+	0, 1700, 2820, 2824, 2816, 1700, 2828, 3621, 
+	2828, 0, 0, 1625, 2420, 2424, 2416, 1625, 
+	2428, 3496, 2428, 0, 0, 0, 1640, 2500, 
+	2504, 2496, 1640, 2508, 3521, 2508, 0, 0, 
+	0, 1685, 2740, 2744, 2736, 1685, 2748, 3596, 
+	2748, 1646, 2532, 2536, 2528, 1646, 2540, 3531, 
+	2540, 0, 0, 0, 0, 0, 1622, 2404, 
+	2408, 2400, 1622, 2412, 3491, 2412, 0, 1712, 
+	2884, 2888, 2880, 1712, 2892, 3641, 2892, 0, 
+	1658, 2596, 2600, 2592, 1658, 2604, 3551, 2604, 
+	0, 0, 0, 1679, 2708, 2712, 2704, 1679, 
+	2716, 3586, 2716, 0, 0, 0, 0, 0, 
+	1703, 2836, 2840, 2832, 1703, 2844, 3626, 2844, 
+	0, 1637, 2484, 2488, 2480, 1637, 2492, 3516, 
+	2492, 0, 0, 512, 500, 1860, 569, 1964, 
+	1968, 41, 1960, 569, 1972, 3201, 1972, 0, 
+	5, 7, 3, 0, 0, 99, 656, 659, 
+	653, 99, 0, 5, 7, 500, 97, 97, 
 	97, 97, 97, 97, 97, 97, 97, 97, 
-	97, 97, 97, 97, 97, 3, 0, 101, 
-	657, 660, 41, 55, 53, 51, 0, 57, 
-	654, 101, 1938, 41, 55, 53, 51, 0, 
-	57, 582, 1962, 1966, 3121, 1958, 582, 93, 
-	89, 89, 89, 0, 0, 0, 0, 0, 
-	0, 87, 37, 33, 444, 447, 441, 33, 
-	0, 5, 7, 3, 0, 0, 2966, 450, 
-	1758, 1762, 1750, 450, 0, 5, 7, 3, 
-	0, 1938, 41, 55, 53, 51, 0, 57, 
-	582, 1962, 1966, 3121, 1958, 582, 1786, 1770, 
-	2941, 2951, 2931, 1770, 3572, 2956, 0, 5, 
-	7, 3, 0, 354, 339, 2290, 1569, 2298, 
-	2302, 3376, 1569, 3668, 2306, 3662, 2306, 0, 
-	5, 7, 1718, 0, 5, 7, 357, 0, 
-	0, 5, 7, 0, 5, 7, 0, 339, 
-	357, 2278, 0, 0, 0, 0, 0, 79, 
-	0, 0, 75, 1778, 33, 444, 447, 1754, 
-	33, 3681, 450, 1758, 1762, 2921, 450, 0, 
-	5, 7, 357, 0, 2971, 1770, 2941, 2951, 
-	3578, 1770, 3674, 2956, 0, 5, 7, 1718, 
-	1766, 465, 2936, 2946, 2926, 1766, 0, 5, 
-	7, 0, 5, 7, 0, 0, 1608, 2506, 
-	2510, 2502, 1608, 2514, 3441, 2514, 0, 0, 
-	0, 1599, 2458, 2462, 2454, 1599, 2466, 3426, 
-	2466, 0, 1629, 2618, 2622, 2614, 1629, 2626, 
-	3476, 2626, 0, 5, 7, 0, 5, 7, 
-	0, 5, 7, 0, 5, 7, 468, 372, 
-	2906, 11, 1726, 27, 1742, 25, 0, 411, 
-	1730, 15, 17, 0, 396, 375, 13, 378, 
-	387, 19, 19, 2911, 381, 384, 21, 408, 
-	603, 65, 0, 0, 1, 600, 606, 1974, 
-	69, 69, 609, 612, 1970, 71, 65, 0, 
-	0, 67, 606, 69, 69, 612, 71, 71, 
-	73, 0, 5, 7, 3, 0, 495, 492, 
-	3116, 0, 5, 7, 41, 55, 53, 51, 
-	0, 57, 1978, 0, 366, 1938, 1926, 41, 
-	55, 53, 51, 0, 57, 59, 573, 576, 
-	3121, 3126, 59, 77, 0, 5, 7, 3, 
-	0, 3131, 615, 1982, 15, 17, 0, 369, 
-	23, 399, 402, 375, 13, 2916, 23, 0, 
-	5, 7, 1986, 0, 378, 390, 19, 19, 
-	381, 384, 21, 0, 5, 7, 3, 0, 
-	618, 83, 627, 81, 621, 624, 3136, 81, 
-	81, 633, 0, 5, 7, 3141, 630, 1990, 
-	1994, 0, 0, 85, 15, 17, 0, 405, 
-	1734, 1738, 375, 13, 3566, 405, 0, 5, 
-	7, 378, 393, 19, 19, 381, 384, 21, 
-	1698, 0, 5, 7, 3, 0, 125, 117, 
-	119, 121, 0, 123, 0, 5, 7, 3, 
-	0, 1, 348, 1, 309, 307, 1476, 1479, 
-	1473, 307, 2250, 3366, 2250, 0, 5, 7, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 3, 0, 
-	1482, 1706, 1482, 231, 1134, 1137, 0, 0, 
-	0, 1131, 231, 2098, 3176, 2098, 0, 0, 
-	257, 1251, 1254, 1248, 257, 2150, 3241, 2150, 
-	0, 0, 0, 0, 267, 1296, 1299, 1293, 
-	267, 2170, 3266, 2170, 0, 0, 0, 235, 
-	1152, 1155, 1149, 235, 2106, 3186, 2106, 0, 
-	0, 0, 0, 0, 0, 285, 1377, 1380, 
-	1374, 285, 2206, 3311, 2206, 0, 0, 0, 
-	0, 269, 1305, 1308, 1302, 269, 2174, 3271, 
-	2174, 0, 0, 0, 283, 1368, 1371, 1365, 
-	283, 2202, 3306, 2202, 273, 1323, 1326, 1320, 
-	273, 2182, 3281, 2182, 0, 0, 0, 0, 
-	0, 303, 1458, 1461, 1455, 303, 2242, 3356, 
-	2242, 0, 305, 1467, 1470, 1464, 305, 2246, 
-	3361, 2246, 0, 0, 0, 0, 241, 1179, 
-	1182, 1176, 241, 2118, 3201, 2118, 0, 0, 
-	0, 0, 0, 0, 0, 277, 1341, 1344, 
-	1338, 277, 2190, 3291, 2190, 0, 0, 0, 
-	255, 1242, 1245, 1239, 255, 2146, 3236, 2146, 
-	265, 1287, 1290, 1284, 265, 2166, 3261, 2166, 
-	0, 0, 0, 0, 0, 297, 1431, 1434, 
-	1428, 297, 2230, 3341, 2230, 0, 299, 1440, 
-	1443, 1437, 299, 2234, 3346, 2234, 0, 259, 
-	1260, 1263, 1257, 259, 2154, 3246, 2154, 301, 
-	1449, 1452, 1446, 301, 2238, 3351, 2238, 0, 
-	0, 0, 0, 0, 243, 1188, 1191, 1185, 
-	243, 2122, 3206, 2122, 245, 1197, 1200, 1194, 
-	245, 2126, 3211, 2126, 0, 0, 0, 0, 
-	0, 0, 263, 1278, 1281, 1275, 263, 2162, 
-	3256, 2162, 0, 295, 1422, 1425, 1419, 295, 
-	2226, 3336, 2226, 233, 1143, 1146, 0, 1140, 
-	233, 2102, 3181, 2102, 0, 281, 1359, 1362, 
-	0, 1356, 281, 2198, 3301, 2198, 287, 1386, 
-	1389, 0, 1383, 287, 2210, 3316, 2210, 0, 
-	0, 0, 0, 289, 1395, 1398, 1392, 289, 
-	2214, 3321, 2214, 0, 0, 239, 1170, 1173, 
-	1167, 239, 2114, 3196, 2114, 0, 0, 0, 
-	249, 1215, 1218, 1212, 249, 2134, 3221, 2134, 
-	0, 0, 0, 279, 1350, 1353, 1347, 279, 
-	2194, 3296, 2194, 253, 1233, 1236, 1230, 253, 
-	2142, 3231, 2142, 0, 0, 0, 0, 0, 
-	237, 1161, 1164, 1158, 237, 2110, 3191, 2110, 
-	0, 293, 1413, 1416, 1410, 293, 2222, 3331, 
-	2222, 0, 261, 1269, 1272, 1266, 261, 2158, 
-	3251, 2158, 0, 0, 0, 275, 1332, 1335, 
-	1329, 275, 2186, 3286, 2186, 0, 0, 0, 
-	0, 0, 291, 1404, 1407, 1401, 291, 2218, 
-	3326, 2218, 0, 247, 1206, 1209, 1203, 247, 
-	2130, 3216, 2130, 0, 0, 492, 229, 1125, 
-	1128, 41, 1122, 229, 2094, 3171, 2094, 0, 
-	0, 0, 251, 1224, 1227, 1221, 251, 2138, 
-	3226, 2138, 0, 271, 1314, 1317, 1311, 271, 
-	2178, 3276, 2178, 323, 0, 5, 7, 3, 
-	0, 498, 492, 49, 567, 570, 41, 564, 
-	49, 2082, 0, 5, 7, 113, 3, 0, 
-	115, 0, 5, 7, 3, 0, 693, 1702, 
-	693, 0, 5, 7, 3, 0, 492, 492, 
-	345, 1690, 1694, 41, 1, 1686, 345, 0, 
-	5, 7, 113, 3, 0, 115, 0, 5, 
-	7, 3, 0, 693, 1702, 693, 49, 567, 
-	570, 564, 49, 329, 492, 0, 0, 0, 
-	0, 0, 525, 41, 0, 0, 702, 0, 
-	705, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 711, 0, 0, 0, 
-	0, 0, 0, 0, 0, 723, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 726, 0, 0, 0, 0, 
-	0, 0, 0, 0, 729, 0, 0, 0, 
-	0, 0, 0, 0, 732, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 735, 
-	0, 0, 738, 0, 0, 0, 0, 0, 
-	0, 699, 0, 0, 0, 0, 0, 708, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 714, 0, 0, 717, 0, 
-	0, 720, 331, 492, 0, 0, 0, 0, 
-	0, 0, 537, 41, 0, 0, 0, 0, 
-	0, 759, 0, 0, 0, 0, 0, 0, 
-	0, 0, 762, 0, 0, 0, 756, 0, 
-	0, 750, 0, 0, 0, 753, 0, 0, 
-	768, 0, 0, 0, 747, 0, 0, 741, 
-	0, 0, 0, 744, 0, 0, 765, 666, 
-	663, 2034, 103, 471, 474, 471, 39, 480, 
-	483, 477, 39, 0, 5, 7, 471, 3, 
-	0, 39, 480, 483, 477, 39, 501, 0, 
-	5, 7, 492, 3, 0, 47, 555, 558, 
-	41, 552, 47, 0, 5, 7, 492, 3, 
-	0, 1930, 47, 555, 558, 41, 55, 53, 
-	51, 0, 57, 552, 47, 0, 5, 7, 
-	492, 3, 0, 47, 555, 558, 41, 55, 
-	53, 51, 0, 57, 552, 47, 0, 5, 
-	7, 492, 3, 0, 47, 555, 558, 41, 
-	55, 53, 51, 0, 57, 552, 47, 0, 
-	5, 7, 492, 3, 0, 549, 41, 55, 
-	53, 51, 0, 57, 1938, 41, 55, 53, 
-	51, 0, 57, 1942, 3121, 1938, 41, 55, 
-	53, 51, 0, 57, 579, 1950, 1954, 3121, 
-	1946, 579, 1938, 41, 55, 53, 51, 0, 
-	57, 579, 1950, 1954, 3121, 1946, 579, 1938, 
-	41, 55, 53, 51, 0, 57, 579, 1950, 
-	1954, 3121, 1946, 579, 414, 31, 429, 432, 
-	426, 31, 414, 0, 5, 7, 3, 0, 
-	423, 471, 39, 480, 483, 477, 39, 0, 
-	5, 7, 471, 3, 0, 474, 492, 45, 
-	543, 546, 41, 540, 45, 0, 5, 7, 
-	471, 3, 0, 474, 414, 31, 429, 432, 
-	426, 31, 423, 1746, 423, 0, 5, 7, 
-	3, 0, 1, 348, 1, 663, 2050, 103, 
-	1542, 2254, 311, 1488, 1491, 41, 1485, 311, 
-	0, 5, 7, 492, 0, 0, 3, 0, 
-	315, 1506, 1509, 41, 1503, 315, 0, 5, 
-	7, 3106, 3, 0, 507, 1842, 1846, 0, 
-	41, 1838, 507, 0, 5, 7, 3, 0, 
-	0, 5, 7, 3, 0, 492, 313, 1497, 
-	1500, 41, 1494, 313, 0, 5, 7, 492, 
-	0, 0, 3, 0, 317, 1515, 1518, 41, 
-	1512, 317, 0, 5, 7, 3106, 3, 0, 
-	510, 1854, 1858, 0, 41, 1850, 510, 0, 
-	5, 7, 3, 0, 0, 5, 7, 3, 
-	0, 0, 3101, 3656, 513, 1866, 1870, 0, 
-	41, 513, 1862, 513, 3081, 3620, 3081, 0, 
-	5, 7, 3101, 3, 0, 1539, 1710, 1539, 
-	516, 1878, 1882, 0, 41, 516, 1874, 516, 
-	3086, 3626, 3086, 0, 5, 7, 3101, 3, 
-	0, 1710, 1539, 519, 1890, 1894, 0, 41, 
-	519, 1886, 519, 3091, 3632, 3091, 0, 5, 
-	7, 3101, 3, 0, 1710, 1539, 522, 1902, 
-	1906, 0, 41, 1898, 522, 3096, 3638, 3096, 
-	0, 5, 7, 3, 0, 1710, 1539, 1834, 
-	3071, 3076, 2986, 3066, 1834, 3614, 3709, 3614, 
-	489, 1830, 3056, 3061, 2986, 1830, 3051, 1830, 
-	3608, 3702, 3608, 489, 1826, 3041, 3046, 2986, 
-	1826, 3036, 1826, 3602, 3695, 3602, 489, 1822, 
-	3026, 3031, 2986, 1822, 3021, 1822, 3596, 3688, 
-	3596, 489, 321, 1533, 1536, 1530, 321, 1818, 
-	3011, 3016, 2986, 3006, 1818, 489, 319, 1524, 
-	1527, 1521, 319, 1814, 2996, 3001, 2986, 2991, 
-	1814, 489, 492, 45, 543, 546, 41, 540, 
-	45, 0, 5, 7, 492, 3, 0, 45, 
-	543, 546, 41, 540, 45, 0, 5, 7, 
-	492, 3, 0, 45, 543, 546, 41, 540, 
-	45, 0, 5, 7, 471, 3, 0, 474, 
-	492, 45, 543, 546, 41, 540, 45, 0, 
-	5, 7, 492, 3, 0, 45, 543, 546, 
-	41, 540, 45, 414, 0, 5, 7, 3, 
-	0, 31, 429, 432, 426, 31, 414, 0, 
-	5, 7, 3, 0, 31, 429, 432, 426, 
-	31, 414, 0, 5, 7, 3, 0, 31, 
-	429, 432, 426, 31, 0, 5, 7, 471, 
-	3, 0, 474, 335, 0, 5, 7, 3, 
-	0, 492, 45, 543, 546, 41, 540, 45, 
-	0, 5, 7, 333, 3, 0, 0, 5, 
-	7, 3, 0, 127, 1, 687, 0, 675, 
-	5, 7, 678, 681, 3, 0, 1, 348, 
-	1, 109, 111, 0, 2026, 663, 103, 105, 
-	492, 684, 2074, 2078, 41, 2070, 684, 2066, 
-	3166, 2066, 0, 663, 103, 107, 492, 45, 
-	543, 546, 41, 540, 45, 0, 5, 7, 
-	333, 3, 0, 0, 5, 7, 3, 0, 
-	492, 43, 531, 534, 41, 528, 43, 690, 
+	97, 97, 97, 97, 3, 0, 101, 665, 
+	668, 41, 55, 53, 51, 0, 57, 662, 
+	101, 1988, 41, 55, 53, 51, 0, 57, 
+	590, 2012, 2016, 3211, 2008, 590, 93, 89, 
+	89, 89, 0, 0, 0, 0, 0, 0, 
+	87, 37, 33, 452, 455, 449, 33, 0, 
+	5, 7, 3, 0, 0, 3056, 458, 1808, 
+	1812, 1800, 458, 0, 5, 7, 3, 0, 
+	1988, 41, 55, 53, 51, 0, 57, 590, 
+	2012, 2016, 3211, 2008, 590, 1836, 1820, 3031, 
+	3041, 3021, 1820, 3682, 3046, 0, 5, 7, 
+	3, 0, 362, 347, 2348, 1613, 2356, 2360, 
+	3476, 1613, 3778, 2364, 3772, 2364, 0, 5, 
+	7, 1768, 0, 5, 7, 365, 0, 0, 
+	5, 7, 0, 5, 7, 0, 347, 365, 
+	2336, 0, 0, 0, 0, 0, 79, 0, 
+	0, 75, 1828, 33, 452, 455, 1804, 33, 
+	3791, 458, 1808, 1812, 3011, 458, 0, 5, 
+	7, 365, 0, 3061, 1820, 3031, 3041, 3688, 
+	1820, 3784, 3046, 0, 5, 7, 1768, 1816, 
+	473, 3026, 3036, 3016, 1816, 0, 5, 7, 
+	0, 5, 7, 0, 0, 1652, 2564, 2568, 
+	2560, 1652, 2572, 3541, 2572, 0, 0, 0, 
+	1643, 2516, 2520, 2512, 1643, 2524, 3526, 2524, 
+	0, 1673, 2676, 2680, 2672, 1673, 2684, 3576, 
+	2684, 0, 5, 7, 0, 5, 7, 0, 
+	5, 7, 0, 5, 7, 476, 380, 2996, 
+	11, 1776, 27, 1792, 25, 0, 419, 1780, 
+	15, 17, 0, 404, 383, 13, 386, 395, 
+	19, 19, 3001, 389, 392, 21, 416, 611, 
+	65, 0, 0, 1, 608, 614, 2024, 69, 
+	69, 617, 620, 2020, 71, 65, 0, 0, 
+	67, 614, 69, 69, 620, 71, 71, 73, 
+	0, 5, 7, 3, 0, 503, 500, 3206, 
+	0, 5, 7, 41, 55, 53, 51, 0, 
+	57, 2028, 0, 374, 1988, 1976, 41, 55, 
+	53, 51, 0, 57, 59, 581, 584, 3211, 
+	3216, 59, 77, 0, 5, 7, 3, 0, 
+	3221, 623, 2032, 15, 17, 0, 377, 23, 
+	407, 410, 383, 13, 3006, 23, 0, 5, 
+	7, 2036, 0, 386, 398, 19, 19, 389, 
+	392, 21, 0, 5, 7, 3, 0, 626, 
+	83, 635, 81, 629, 632, 3226, 81, 81, 
+	641, 0, 5, 7, 3231, 638, 2040, 2044, 
+	0, 0, 85, 15, 17, 0, 413, 1784, 
+	1788, 383, 13, 3676, 413, 0, 5, 7, 
+	386, 401, 19, 19, 389, 392, 21, 1748, 
+	0, 5, 7, 3, 0, 125, 117, 119, 
+	121, 0, 123, 0, 5, 7, 3, 0, 
+	1, 356, 1, 317, 315, 1520, 1523, 1517, 
+	315, 2308, 3466, 2308, 0, 5, 7, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 3, 0, 1526, 
+	1756, 1526, 235, 1160, 1163, 0, 0, 0, 
+	1157, 235, 2148, 3266, 2148, 0, 0, 261, 
+	1277, 1280, 1274, 261, 2200, 3331, 2200, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	299, 1448, 1451, 1445, 299, 2276, 3426, 2276, 
+	297, 1439, 1442, 1436, 297, 2272, 3421, 2272, 
+	0, 0, 271, 1322, 1325, 1319, 271, 2220, 
+	3356, 2220, 0, 0, 0, 239, 1178, 1181, 
+	1175, 239, 2156, 3276, 2156, 0, 0, 0, 
+	0, 0, 0, 289, 1403, 1406, 1400, 289, 
+	2256, 3401, 2256, 0, 0, 0, 0, 273, 
+	1331, 1334, 1328, 273, 2224, 3361, 2224, 0, 
+	0, 0, 287, 1394, 1397, 1391, 287, 2252, 
+	3396, 2252, 277, 1349, 1352, 1346, 277, 2232, 
+	3371, 2232, 0, 0, 0, 0, 0, 311, 
+	1502, 1505, 1499, 311, 2300, 3456, 2300, 0, 
+	313, 1511, 1514, 1508, 313, 2304, 3461, 2304, 
+	0, 0, 0, 0, 245, 1205, 1208, 1202, 
+	245, 2168, 3291, 2168, 0, 0, 0, 0, 
+	0, 0, 0, 281, 1367, 1370, 1364, 281, 
+	2240, 3381, 2240, 0, 0, 0, 259, 1268, 
+	1271, 1265, 259, 2196, 3326, 2196, 269, 1313, 
+	1316, 1310, 269, 2216, 3351, 2216, 0, 0, 
+	0, 0, 0, 305, 1475, 1478, 1472, 305, 
+	2288, 3441, 2288, 0, 307, 1484, 1487, 1481, 
+	307, 2292, 3446, 2292, 0, 263, 1286, 1289, 
+	1283, 263, 2204, 3336, 2204, 309, 1493, 1496, 
+	1490, 309, 2296, 3451, 2296, 0, 0, 0, 
+	0, 0, 247, 1214, 1217, 1211, 247, 2172, 
+	3296, 2172, 249, 1223, 1226, 1220, 249, 2176, 
+	3301, 2176, 0, 0, 0, 0, 0, 0, 
+	267, 1304, 1307, 1301, 267, 2212, 3346, 2212, 
+	0, 303, 1466, 1469, 1463, 303, 2284, 3436, 
+	2284, 237, 1169, 1172, 0, 1166, 237, 2152, 
+	3271, 2152, 0, 285, 1385, 1388, 0, 1382, 
+	285, 2248, 3391, 2248, 291, 1412, 1415, 0, 
+	1409, 291, 2260, 3406, 2260, 0, 0, 0, 
+	0, 293, 1421, 1424, 1418, 293, 2264, 3411, 
+	2264, 0, 0, 243, 1196, 1199, 1193, 243, 
+	2164, 3286, 2164, 0, 0, 0, 253, 1241, 
+	1244, 1238, 253, 2184, 3311, 2184, 0, 0, 
+	0, 283, 1376, 1379, 1373, 283, 2244, 3386, 
+	2244, 257, 1259, 1262, 1256, 257, 2192, 3321, 
+	2192, 0, 0, 0, 0, 0, 241, 1187, 
+	1190, 1184, 241, 2160, 3281, 2160, 0, 301, 
+	1457, 1460, 1454, 301, 2280, 3431, 2280, 0, 
+	265, 1295, 1298, 1292, 265, 2208, 3341, 2208, 
+	0, 0, 0, 279, 1358, 1361, 1355, 279, 
+	2236, 3376, 2236, 0, 0, 0, 0, 0, 
+	295, 1430, 1433, 1427, 295, 2268, 3416, 2268, 
+	0, 251, 1232, 1235, 1229, 251, 2180, 3306, 
+	2180, 0, 0, 500, 233, 1151, 1154, 41, 
+	1148, 233, 2144, 3261, 2144, 0, 0, 0, 
+	255, 1250, 1253, 1247, 255, 2188, 3316, 2188, 
+	0, 275, 1340, 1343, 1337, 275, 2228, 3366, 
+	2228, 331, 0, 5, 7, 3, 0, 506, 
+	500, 49, 575, 578, 41, 572, 49, 2132, 
 	0, 5, 7, 113, 3, 0, 115, 0, 
-	5, 7, 3, 0, 1, 348, 1, 492, 
-	43, 531, 534, 41, 528, 43, 0, 5, 
-	7, 492, 3, 0, 43, 531, 534, 41, 
-	528, 43, 0, 5, 7, 113, 3, 0, 
-	115, 0, 5, 7, 3, 0, 1, 348, 
-	1, 492, 43, 531, 534, 41, 528, 43, 
-	771, 0, 5, 7, 145, 147, 149, 151, 
-	3, 0, 0, 5, 7, 3, 0, 1798, 
-	492, 43, 531, 534, 41, 528, 43, 0, 
-	5, 7, 0, 3, 0, 2090, 0, 5, 
-	7, 0, 5, 7, 0, 5, 7, 1, 
-	3, 0, 348, 1, 3, 0, 348, 1, 
-	3, 0, 348, 1, 774, 127, 0, 5, 
-	7, 3, 0, 492, 43, 531, 534, 41, 
-	528, 43, 2030, 0, 5, 7, 663, 3, 
-	0, 3151, 103, 669, 2042, 2046, 669, 2042, 
-	2046, 669, 2042, 2046, 2034, 2038, 669, 3156, 
-	2034, 2038, 669, 3156, 2034, 2038, 669, 3156, 
-	2034, 0, 5, 7, 3, 0, 492, 43, 
-	531, 534, 41, 528, 43, 0, 5, 7, 
-	663, 3, 0, 103, 672, 2058, 2062, 672, 
-	2058, 2062, 672, 2058, 2062, 2050, 2054, 672, 
-	3161, 2050, 2054, 672, 3161, 2050, 2054, 672, 
-	3161, 2050, 0, 5, 7, 3, 0, 492, 
-	43, 531, 534, 41, 528, 43, 0, 5, 
-	7, 471, 3, 0, 39, 480, 483, 39, 
-	480, 483, 39, 480, 483, 474, 477, 39, 
-	1790, 474, 477, 39, 1790, 474, 477, 39, 
-	1790, 474, 777, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 153, 783, 786, 0, 0, 0, 780, 
-	153, 0, 5, 7, 333, 3, 0, 0, 
-	5, 7, 3, 0, 492, 43, 531, 534, 
-	41, 528, 43, 0, 5, 7, 492, 3, 
-	0, 47, 555, 558, 41, 552, 47, 597, 
-	0, 5, 7, 585, 3, 0, 63, 591, 
-	594, 61, 588, 63, 0, 5, 7, 585, 
-	3, 0, 63, 591, 594, 61, 588, 63, 
-	0, 5, 7, 492, 3, 0, 45, 543, 
-	546, 41, 540, 45, 0, 5, 7, 471, 
-	3, 0, 39, 480, 483, 477, 39, 0, 
-	5, 7, 127, 3, 0, 1, 0, 0, 
-	179, 900, 903, 897, 179, 0, 0, 0, 
-	173, 873, 876, 870, 173, 0, 193, 963, 
-	966, 960, 193, 0, 0, 0, 0, 189, 
-	945, 948, 942, 189, 0, 0, 0, 157, 
-	801, 804, 798, 157, 0, 0, 0, 0, 
-	0, 0, 207, 1026, 1029, 1023, 207, 0, 
-	0, 0, 0, 191, 954, 957, 951, 191, 
-	0, 0, 0, 205, 1017, 1020, 1014, 205, 
-	195, 972, 975, 969, 195, 0, 0, 0, 
-	0, 0, 225, 1107, 1110, 1104, 225, 0, 
-	227, 1116, 1119, 1113, 227, 0, 0, 0, 
-	0, 163, 828, 831, 825, 163, 0, 0, 
-	0, 0, 0, 0, 0, 199, 990, 993, 
-	987, 199, 0, 0, 0, 177, 891, 894, 
-	888, 177, 187, 936, 939, 933, 187, 0, 
-	0, 0, 0, 0, 219, 1080, 1083, 1077, 
-	219, 0, 221, 1089, 1092, 1086, 221, 0, 
-	181, 909, 912, 906, 181, 223, 1098, 1101, 
-	1095, 223, 0, 0, 0, 0, 0, 165, 
-	837, 840, 834, 165, 167, 846, 849, 843, 
-	167, 0, 0, 0, 0, 0, 0, 185, 
-	927, 930, 924, 185, 0, 217, 1071, 1074, 
-	1068, 217, 155, 792, 795, 0, 789, 155, 
-	0, 203, 1008, 1011, 0, 1005, 203, 209, 
-	1035, 1038, 0, 1032, 209, 0, 0, 0, 
-	0, 211, 1044, 1047, 1041, 211, 0, 0, 
-	161, 819, 822, 816, 161, 0, 0, 0, 
-	171, 864, 867, 861, 171, 0, 0, 0, 
-	201, 999, 1002, 996, 201, 175, 882, 885, 
-	879, 175, 0, 0, 0, 0, 0, 159, 
-	810, 813, 807, 159, 0, 215, 1062, 1065, 
-	1059, 215, 0, 183, 918, 921, 915, 183, 
-	0, 0, 0, 197, 981, 984, 978, 197, 
-	0, 0, 0, 0, 0, 213, 1053, 1056, 
-	1050, 213, 0, 169, 855, 858, 852, 169, 
-	0, 0, 1802, 492, 45, 543, 546, 41, 
-	540, 45, 471, 486, 1, 492, 45, 543, 
-	546, 41, 540, 45, 0, 5, 7, 492, 
-	3, 0, 43, 531, 534, 41, 528, 43, 
-	0, 5, 7, 333, 3, 0, 0, 5, 
-	7, 3, 0, 127, 1, 127, 1, 492, 
-	43, 531, 534, 41, 528, 43, 0, 5, 
-	7, 492, 3, 0, 43, 531, 534, 41, 
-	528, 43, 0, 5, 7, 492, 3, 0, 
-	45, 543, 546, 41, 540, 45, 0, 5, 
-	7, 29, 417, 3, 0, 31, 429, 432, 
-	426, 31, 696, 0, 5, 7, 420, 3, 
-	0, 131, 133, 0, 135, 137, 0, 139, 
-	0, 141, 143, 0, 435, 129, 1, 0, 
-	0, 115, 113, 492, 43, 531, 534, 41, 
-	528, 43, 0, 5, 7, 492, 3, 0, 
-	43, 531, 534, 41, 528, 43, 0, 5, 
-	7, 492, 3, 0, 45, 543, 546, 41, 
-	540, 45, 0, 5, 7, 29, 417, 3, 
-	0, 423, 115, 113, 492, 43, 531, 534, 
-	41, 528, 43, 0, 5, 7, 492, 3, 
-	0, 43, 531, 534, 41, 528, 43, 0, 
-	5, 7, 492, 3, 0, 43, 531, 534, 
-	41, 528, 43, 0, 5, 7, 113, 3, 
-	0, 115, 0, 5, 7, 3, 0, 1, 
-	348, 1, 492, 45, 543, 546, 41, 540, 
-	45, 0, 5, 7, 663, 3, 0, 2034, 
-	103, 492, 45, 543, 546, 41, 540, 45, 
-	0, 5, 7, 1548, 3, 0, 115, 113, 
-	115, 2086, 327, 113, 115, 113, 115, 2274, 
-	2270, 1545, 115, 2266, 325, 113, 115, 2258, 
-	1545, 115, 325, 113, 115, 2262, 462, 35, 
-	0, 456, 459, 438, 453, 35, 35, 339, 
-	360, 363, 2282, 438, 351, 35, 1714, 1557, 
-	1782, 35, 360, 363, 2014, 2014, 2014, 2014, 
-	2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 
-	2014, 2014, 351, 35, 2961, 2976, 3146, 3146, 
-	3146, 3146, 3146, 3146, 3146, 3146, 3146, 3146, 
-	3146, 3146, 3146, 3146, 1774, 639, 91, 2006, 
-	2010, 1998, 636, 91, 2002, 639, 360, 363, 
-	351, 35, 360, 363, 2902, 35, 35, 360, 
-	363, 35, 1557, 3584, 3590, 3650, 3650, 3650, 
-	3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 
-	3650, 3650, 3650, 1722
+	5, 7, 3, 0, 701, 1752, 701, 0, 
+	5, 7, 3, 0, 500, 500, 353, 1740, 
+	1744, 41, 1, 1736, 353, 0, 5, 7, 
+	113, 3, 0, 115, 0, 5, 7, 3, 
+	0, 701, 1752, 701, 49, 575, 578, 572, 
+	49, 337, 500, 0, 0, 0, 0, 0, 
+	533, 41, 0, 0, 710, 0, 713, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 719, 0, 0, 0, 0, 0, 
+	0, 0, 0, 731, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 734, 0, 0, 0, 0, 0, 0, 
+	0, 0, 737, 0, 0, 0, 0, 0, 
+	0, 0, 740, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 743, 0, 0, 
+	746, 0, 0, 0, 0, 0, 0, 707, 
+	0, 0, 0, 0, 0, 716, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 722, 0, 0, 725, 0, 0, 728, 
+	339, 500, 0, 0, 0, 0, 0, 0, 
+	545, 41, 0, 0, 0, 0, 0, 767, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	770, 0, 0, 0, 764, 0, 0, 758, 
+	0, 0, 0, 761, 0, 0, 776, 0, 
+	0, 0, 755, 0, 0, 749, 0, 0, 
+	0, 752, 0, 0, 773, 674, 671, 2084, 
+	103, 479, 482, 479, 39, 488, 491, 485, 
+	39, 0, 5, 7, 479, 3, 0, 39, 
+	488, 491, 485, 39, 509, 0, 5, 7, 
+	500, 3, 0, 47, 563, 566, 41, 560, 
+	47, 0, 5, 7, 500, 3, 0, 1980, 
+	47, 563, 566, 41, 55, 53, 51, 0, 
+	57, 560, 47, 0, 5, 7, 500, 3, 
+	0, 47, 563, 566, 41, 55, 53, 51, 
+	0, 57, 560, 47, 0, 5, 7, 500, 
+	3, 0, 47, 563, 566, 41, 55, 53, 
+	51, 0, 57, 560, 47, 0, 5, 7, 
+	500, 3, 0, 557, 41, 55, 53, 51, 
+	0, 57, 1988, 41, 55, 53, 51, 0, 
+	57, 1992, 3211, 1988, 41, 55, 53, 51, 
+	0, 57, 587, 2000, 2004, 3211, 1996, 587, 
+	1988, 41, 55, 53, 51, 0, 57, 587, 
+	2000, 2004, 3211, 1996, 587, 1988, 41, 55, 
+	53, 51, 0, 57, 587, 2000, 2004, 3211, 
+	1996, 587, 422, 31, 437, 440, 434, 31, 
+	422, 0, 5, 7, 3, 0, 431, 479, 
+	39, 488, 491, 485, 39, 0, 5, 7, 
+	479, 3, 0, 482, 500, 45, 551, 554, 
+	41, 548, 45, 0, 5, 7, 479, 3, 
+	0, 482, 422, 31, 437, 440, 434, 31, 
+	431, 1796, 431, 0, 5, 7, 3, 0, 
+	1, 356, 1, 671, 2100, 103, 1586, 2312, 
+	319, 1532, 1535, 41, 1529, 319, 0, 5, 
+	7, 500, 0, 0, 3, 0, 323, 1550, 
+	1553, 41, 1547, 323, 0, 5, 7, 3196, 
+	3, 0, 515, 1892, 1896, 0, 41, 1888, 
+	515, 0, 5, 7, 3, 0, 0, 5, 
+	7, 3, 0, 500, 321, 1541, 1544, 41, 
+	1538, 321, 0, 5, 7, 500, 0, 0, 
+	3, 0, 325, 1559, 1562, 41, 1556, 325, 
+	0, 5, 7, 3196, 3, 0, 518, 1904, 
+	1908, 0, 41, 1900, 518, 0, 5, 7, 
+	3, 0, 0, 5, 7, 3, 0, 0, 
+	3191, 3766, 521, 1916, 1920, 0, 41, 521, 
+	1912, 521, 3171, 3730, 3171, 0, 5, 7, 
+	3191, 3, 0, 1583, 1760, 1583, 524, 1928, 
+	1932, 0, 41, 524, 1924, 524, 3176, 3736, 
+	3176, 0, 5, 7, 3191, 3, 0, 1760, 
+	1583, 527, 1940, 1944, 0, 41, 527, 1936, 
+	527, 3181, 3742, 3181, 0, 5, 7, 3191, 
+	3, 0, 1760, 1583, 530, 1952, 1956, 0, 
+	41, 1948, 530, 3186, 3748, 3186, 0, 5, 
+	7, 3, 0, 1760, 1583, 1884, 3161, 3166, 
+	3076, 3156, 1884, 3724, 3819, 3724, 497, 1880, 
+	3146, 3151, 3076, 1880, 3141, 1880, 3718, 3812, 
+	3718, 497, 1876, 3131, 3136, 3076, 1876, 3126, 
+	1876, 3712, 3805, 3712, 497, 1872, 3116, 3121, 
+	3076, 1872, 3111, 1872, 3706, 3798, 3706, 497, 
+	329, 1577, 1580, 1574, 329, 1868, 3101, 3106, 
+	3076, 3096, 1868, 497, 327, 1568, 1571, 1565, 
+	327, 1864, 3086, 3091, 3076, 3081, 1864, 497, 
+	500, 45, 551, 554, 41, 548, 45, 0, 
+	5, 7, 500, 3, 0, 45, 551, 554, 
+	41, 548, 45, 0, 5, 7, 500, 3, 
+	0, 45, 551, 554, 41, 548, 45, 0, 
+	5, 7, 479, 3, 0, 482, 500, 45, 
+	551, 554, 41, 548, 45, 0, 5, 7, 
+	500, 3, 0, 45, 551, 554, 41, 548, 
+	45, 422, 0, 5, 7, 3, 0, 31, 
+	437, 440, 434, 31, 422, 0, 5, 7, 
+	3, 0, 31, 437, 440, 434, 31, 422, 
+	0, 5, 7, 3, 0, 31, 437, 440, 
+	434, 31, 0, 5, 7, 479, 3, 0, 
+	482, 343, 0, 5, 7, 3, 0, 500, 
+	45, 551, 554, 41, 548, 45, 0, 5, 
+	7, 341, 3, 0, 0, 5, 7, 3, 
+	0, 127, 1, 695, 0, 683, 5, 7, 
+	686, 689, 3, 0, 1, 356, 1, 109, 
+	111, 0, 2076, 671, 103, 105, 500, 692, 
+	2124, 2128, 41, 2120, 692, 2116, 3256, 2116, 
+	0, 671, 103, 107, 500, 45, 551, 554, 
+	41, 548, 45, 0, 5, 7, 341, 3, 
+	0, 0, 5, 7, 3, 0, 500, 43, 
+	539, 542, 41, 536, 43, 698, 0, 5, 
+	7, 113, 3, 0, 115, 0, 5, 7, 
+	3, 0, 1, 356, 1, 500, 43, 539, 
+	542, 41, 536, 43, 0, 5, 7, 500, 
+	3, 0, 43, 539, 542, 41, 536, 43, 
+	0, 5, 7, 113, 3, 0, 115, 0, 
+	5, 7, 3, 0, 1, 356, 1, 500, 
+	43, 539, 542, 41, 536, 43, 779, 0, 
+	5, 7, 145, 147, 149, 151, 3, 0, 
+	0, 5, 7, 3, 0, 1848, 500, 43, 
+	539, 542, 41, 536, 43, 0, 5, 7, 
+	0, 3, 0, 2140, 0, 5, 7, 0, 
+	5, 7, 0, 5, 7, 1, 3, 0, 
+	356, 1, 3, 0, 356, 1, 3, 0, 
+	356, 1, 782, 127, 0, 5, 7, 3, 
+	0, 500, 43, 539, 542, 41, 536, 43, 
+	2080, 0, 5, 7, 671, 3, 0, 3241, 
+	103, 677, 2092, 2096, 677, 2092, 2096, 677, 
+	2092, 2096, 2084, 2088, 677, 3246, 2084, 2088, 
+	677, 3246, 2084, 2088, 677, 3246, 2084, 0, 
+	5, 7, 3, 0, 500, 43, 539, 542, 
+	41, 536, 43, 0, 5, 7, 671, 3, 
+	0, 103, 680, 2108, 2112, 680, 2108, 2112, 
+	680, 2108, 2112, 2100, 2104, 680, 3251, 2100, 
+	2104, 680, 3251, 2100, 2104, 680, 3251, 2100, 
+	0, 5, 7, 3, 0, 500, 43, 539, 
+	542, 41, 536, 43, 0, 5, 7, 479, 
+	3, 0, 39, 488, 491, 39, 488, 491, 
+	39, 488, 491, 482, 485, 39, 1840, 482, 
+	485, 39, 1840, 482, 485, 39, 1840, 482, 
+	785, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 153, 
+	791, 794, 0, 0, 0, 788, 153, 0, 
+	5, 7, 341, 3, 0, 0, 5, 7, 
+	3, 0, 500, 43, 539, 542, 41, 536, 
+	43, 0, 5, 7, 500, 3, 0, 47, 
+	563, 566, 41, 560, 47, 605, 0, 5, 
+	7, 593, 3, 0, 63, 599, 602, 61, 
+	596, 63, 0, 5, 7, 593, 3, 0, 
+	63, 599, 602, 61, 596, 63, 0, 5, 
+	7, 500, 3, 0, 45, 551, 554, 41, 
+	548, 45, 0, 5, 7, 479, 3, 0, 
+	39, 488, 491, 485, 39, 0, 5, 7, 
+	127, 3, 0, 1, 0, 0, 179, 908, 
+	911, 905, 179, 0, 0, 0, 173, 881, 
+	884, 878, 173, 0, 193, 971, 974, 968, 
+	193, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 217, 1079, 1082, 1076, 217, 215, 
+	1070, 1073, 1067, 215, 0, 0, 189, 953, 
+	956, 950, 189, 0, 0, 0, 157, 809, 
+	812, 806, 157, 0, 0, 0, 0, 0, 
+	0, 207, 1034, 1037, 1031, 207, 0, 0, 
+	0, 0, 191, 962, 965, 959, 191, 0, 
+	0, 0, 205, 1025, 1028, 1022, 205, 195, 
+	980, 983, 977, 195, 0, 0, 0, 0, 
+	0, 229, 1133, 1136, 1130, 229, 0, 231, 
+	1142, 1145, 1139, 231, 0, 0, 0, 0, 
+	163, 836, 839, 833, 163, 0, 0, 0, 
+	0, 0, 0, 0, 199, 998, 1001, 995, 
+	199, 0, 0, 0, 177, 899, 902, 896, 
+	177, 187, 944, 947, 941, 187, 0, 0, 
+	0, 0, 0, 223, 1106, 1109, 1103, 223, 
+	0, 225, 1115, 1118, 1112, 225, 0, 181, 
+	917, 920, 914, 181, 227, 1124, 1127, 1121, 
+	227, 0, 0, 0, 0, 0, 165, 845, 
+	848, 842, 165, 167, 854, 857, 851, 167, 
+	0, 0, 0, 0, 0, 0, 185, 935, 
+	938, 932, 185, 0, 221, 1097, 1100, 1094, 
+	221, 155, 800, 803, 0, 797, 155, 0, 
+	203, 1016, 1019, 0, 1013, 203, 209, 1043, 
+	1046, 0, 1040, 209, 0, 0, 0, 0, 
+	211, 1052, 1055, 1049, 211, 0, 0, 161, 
+	827, 830, 824, 161, 0, 0, 0, 171, 
+	872, 875, 869, 171, 0, 0, 0, 201, 
+	1007, 1010, 1004, 201, 175, 890, 893, 887, 
+	175, 0, 0, 0, 0, 0, 159, 818, 
+	821, 815, 159, 0, 219, 1088, 1091, 1085, 
+	219, 0, 183, 926, 929, 923, 183, 0, 
+	0, 0, 197, 989, 992, 986, 197, 0, 
+	0, 0, 0, 0, 213, 1061, 1064, 1058, 
+	213, 0, 169, 863, 866, 860, 169, 0, 
+	0, 1852, 500, 45, 551, 554, 41, 548, 
+	45, 479, 494, 1, 500, 45, 551, 554, 
+	41, 548, 45, 0, 5, 7, 500, 3, 
+	0, 43, 539, 542, 41, 536, 43, 0, 
+	5, 7, 341, 3, 0, 0, 5, 7, 
+	3, 0, 127, 1, 127, 1, 500, 43, 
+	539, 542, 41, 536, 43, 0, 5, 7, 
+	500, 3, 0, 43, 539, 542, 41, 536, 
+	43, 0, 5, 7, 500, 3, 0, 45, 
+	551, 554, 41, 548, 45, 0, 5, 7, 
+	29, 425, 3, 0, 31, 437, 440, 434, 
+	31, 704, 0, 5, 7, 428, 3, 0, 
+	131, 133, 0, 135, 137, 0, 139, 0, 
+	141, 143, 0, 443, 129, 1, 0, 0, 
+	115, 113, 500, 43, 539, 542, 41, 536, 
+	43, 0, 5, 7, 500, 3, 0, 43, 
+	539, 542, 41, 536, 43, 0, 5, 7, 
+	500, 3, 0, 45, 551, 554, 41, 548, 
+	45, 0, 5, 7, 29, 425, 3, 0, 
+	431, 115, 113, 500, 43, 539, 542, 41, 
+	536, 43, 0, 5, 7, 500, 3, 0, 
+	43, 539, 542, 41, 536, 43, 0, 5, 
+	7, 500, 3, 0, 43, 539, 542, 41, 
+	536, 43, 0, 5, 7, 113, 3, 0, 
+	115, 0, 5, 7, 3, 0, 1, 356, 
+	1, 500, 45, 551, 554, 41, 548, 45, 
+	0, 5, 7, 671, 3, 0, 2084, 103, 
+	500, 45, 551, 554, 41, 548, 45, 0, 
+	5, 7, 1592, 3, 0, 115, 113, 115, 
+	2136, 335, 113, 115, 113, 115, 2332, 2328, 
+	1589, 115, 2324, 333, 113, 115, 2316, 1589, 
+	115, 333, 113, 115, 2320, 470, 35, 0, 
+	464, 467, 446, 461, 35, 35, 347, 368, 
+	371, 2340, 446, 359, 35, 1764, 1601, 1832, 
+	35, 368, 371, 2064, 2064, 2064, 2064, 2064, 
+	2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 
+	2064, 359, 35, 3051, 3066, 3236, 3236, 3236, 
+	3236, 3236, 3236, 3236, 3236, 3236, 3236, 3236, 
+	3236, 3236, 3236, 1824, 647, 91, 2056, 2060, 
+	2048, 644, 91, 2052, 647, 368, 371, 359, 
+	35, 368, 371, 2992, 35, 35, 368, 371, 
+	35, 1601, 3694, 3700, 3760, 3760, 3760, 3760, 
+	3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760, 
+	3760, 3760, 1772
 };
 
 static const short _zone_scanner_eof_actions[] = {
-	0, 1806, 1934, 343, 1566, 337, 1551, 9, 
-	9, 337, 337, 1551, 1551, 2981, 3644, 1563, 
-	343, 343, 343, 1566, 1551, 343, 343, 343, 
-	1566, 343, 343, 343, 343, 1566, 343, 343, 
-	343, 1566, 343, 343, 343, 1566, 1566, 343, 
-	343, 343, 343, 1566, 343, 1566, 343, 343, 
-	343, 343, 1566, 343, 343, 343, 343, 343, 
-	343, 343, 343, 343, 343, 1566, 343, 343, 
-	1566, 1566, 343, 343, 1566, 343, 1566, 343, 
-	1566, 1566, 343, 343, 343, 343, 1566, 1566, 
-	343, 343, 343, 343, 1566, 343, 1566, 1566, 
-	343, 1566, 1566, 343, 343, 343, 343, 1566, 
-	343, 343, 1566, 343, 1566, 343, 343, 343, 
-	1566, 1566, 343, 343, 1566, 343, 1566, 343, 
-	1566, 343, 343, 343, 1566, 343, 343, 343, 
-	1566, 343, 1566, 343, 343, 504, 1810, 343, 
-	1806, 343, 343, 504, 1934, 1934, 1934, 1934, 
-	343, 9, 93, 93, 93, 93, 93, 93, 
-	93, 93, 37, 504, 0, 2966, 504, 343, 
-	1934, 1934, 1934, 343, 1786, 1810, 2290, 1551, 
-	1806, 9, 1551, 9, 2981, 2290, 2290, 2290, 
-	2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 
-	2290, 2290, 1551, 2278, 93, 93, 93, 93, 
-	93, 93, 93, 93, 93, 1778, 3681, 1806, 
-	1563, 2971, 2981, 2971, 2971, 2971, 2971, 2971, 
-	2971, 2971, 2971, 2971, 2971, 2971, 2971, 2971, 
-	465, 2981, 1551, 9, 1551, 343, 343, 1566, 
-	343, 343, 343, 1566, 343, 1566, 1551, 1551, 
-	9, 1551, 1551, 337, 1551, 468, 468, 468, 
-	468, 468, 468, 468, 468, 468, 468, 468, 
-	468, 468, 9, 1563, 468, 1563, 0, 0, 
-	27, 27, 27, 387, 387, 387, 387, 27, 
-	27, 603, 603, 1974, 1974, 1974, 1974, 603, 
-	67, 1974, 1974, 1974, 1974, 73, 495, 3116, 
-	366, 366, 3116, 1926, 3116, 73, 77, 77, 
-	77, 369, 369, 369, 390, 390, 390, 390, 
-	369, 77, 0, 83, 627, 633, 85, 633, 
-	9, 9, 393, 393, 393, 393, 633, 9, 
-	85, 0, 0, 125, 125, 125, 125, 125, 
-	125, 125, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 309, 309, 309, 309, 309, 309, 
-	309, 309, 323, 498, 498, 2082, 2082, 2082, 
-	2082, 323, 323, 323, 498, 498, 2082, 2082, 
-	2082, 2082, 323, 498, 323, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 329, 329, 329, 329, 
-	329, 329, 329, 329, 331, 331, 331, 331, 
-	331, 331, 331, 331, 331, 331, 331, 331, 
-	331, 331, 331, 331, 331, 331, 331, 331, 
-	331, 331, 331, 331, 331, 331, 331, 331, 
-	331, 331, 331, 331, 331, 331, 331, 331, 
-	331, 331, 331, 331, 331, 666, 666, 337, 
-	337, 337, 337, 337, 337, 501, 501, 501, 
-	1930, 501, 1930, 501, 1930, 501, 1930, 1930, 
-	1930, 1930, 337, 1930, 1930, 1930, 337, 1930, 
-	1930, 1930, 337, 1930, 1930, 1930, 337, 337, 
+	0, 1856, 1984, 351, 1610, 345, 1595, 9, 
+	9, 345, 345, 1595, 1595, 3071, 3754, 1607, 
+	351, 351, 351, 351, 351, 351, 1610, 1595, 
+	1610, 351, 351, 1610, 351, 351, 351, 1610, 
+	351, 351, 351, 351, 1610, 351, 351, 351, 
+	1610, 351, 351, 351, 1610, 1610, 351, 351, 
+	351, 351, 1610, 351, 1610, 351, 351, 351, 
+	351, 1610, 351, 351, 351, 351, 351, 351, 
+	351, 351, 351, 351, 1610, 351, 351, 1610, 
+	1610, 351, 351, 1610, 351, 1610, 351, 1610, 
+	1610, 351, 351, 351, 351, 1610, 1610, 351, 
+	351, 351, 351, 1610, 351, 1610, 1610, 351, 
+	1610, 1610, 351, 351, 351, 351, 1610, 351, 
+	351, 1610, 351, 1610, 351, 351, 351, 1610, 
+	1610, 351, 351, 1610, 351, 1610, 351, 1610, 
+	351, 351, 351, 1610, 351, 351, 351, 1610, 
+	351, 1610, 351, 351, 512, 1860, 351, 1856, 
+	351, 351, 512, 1984, 1984, 1984, 1984, 351, 
+	9, 93, 93, 93, 93, 93, 93, 93, 
+	93, 37, 512, 0, 3056, 512, 351, 1984, 
+	1984, 1984, 351, 1836, 1860, 2348, 1595, 1856, 
+	9, 1595, 9, 3071, 2348, 2348, 2348, 2348, 
+	2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 
+	2348, 1595, 2336, 93, 93, 93, 93, 93, 
+	93, 93, 93, 93, 1828, 3791, 1856, 1607, 
+	3061, 3071, 3061, 3061, 3061, 3061, 3061, 3061, 
+	3061, 3061, 3061, 3061, 3061, 3061, 3061, 473, 
+	3071, 1595, 9, 1595, 351, 351, 1610, 351, 
+	351, 351, 1610, 351, 1610, 1595, 1595, 9, 
+	1595, 1595, 345, 1595, 476, 476, 476, 476, 
+	476, 476, 476, 476, 476, 476, 476, 476, 
+	476, 9, 1607, 476, 1607, 0, 0, 27, 
+	27, 27, 395, 395, 395, 395, 27, 27, 
+	611, 611, 2024, 2024, 2024, 2024, 611, 67, 
+	2024, 2024, 2024, 2024, 73, 503, 3206, 374, 
+	374, 3206, 1976, 3206, 73, 77, 77, 77, 
+	377, 377, 377, 398, 398, 398, 398, 377, 
+	77, 0, 83, 635, 641, 85, 641, 9, 
+	9, 401, 401, 401, 401, 641, 9, 85, 
+	0, 0, 125, 125, 125, 125, 125, 125, 
+	125, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	317, 317, 317, 317, 317, 317, 317, 317, 
+	331, 506, 506, 2132, 2132, 2132, 2132, 331, 
+	331, 331, 506, 506, 2132, 2132, 2132, 2132, 
+	331, 506, 331, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
 	337, 337, 337, 337, 337, 337, 337, 337, 
-	337, 337, 337, 501, 501, 337, 337, 337, 
-	337, 337, 337, 337, 666, 666, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 
-	1542, 1542, 1542, 1542, 1542, 501, 501, 501, 
-	501, 501, 501, 337, 337, 337, 337, 337, 
-	501, 501, 501, 501, 337, 337, 337, 337, 
 	337, 337, 337, 337, 337, 337, 337, 337, 
-	337, 337, 337, 501, 501, 337, 337, 337, 
-	337, 337, 337, 337, 687, 687, 687, 2026, 
-	2026, 687, 687, 337, 687, 2026, 2026, 501, 
-	501, 337, 337, 501, 501, 690, 690, 690, 
-	690, 337, 337, 337, 501, 501, 501, 501, 
-	690, 690, 690, 690, 337, 337, 501, 501, 
-	771, 771, 1798, 1798, 771, 2090, 774, 774, 
-	774, 774, 774, 774, 774, 771, 771, 771, 
-	1798, 1798, 2030, 3151, 771, 771, 771, 1798, 
-	1798, 2030, 3151, 771, 771, 771, 1798, 1798, 
-	771, 2090, 771, 771, 337, 777, 777, 337, 
-	337, 501, 501, 501, 501, 597, 597, 597, 
-	597, 501, 501, 337, 337, 337, 337, 337, 
-	337, 337, 337, 337, 337, 337, 337, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 777, 777, 777, 777, 777, 777, 777, 
-	777, 1802, 1802, 337, 337, 337, 501, 501, 
-	501, 501, 337, 337, 337, 337, 337, 337, 
-	337, 337, 337, 501, 501, 501, 501, 501, 
-	501, 690, 690, 696, 696, 696, 696, 696, 
-	696, 696, 696, 696, 337, 696, 696, 696, 
-	696, 696, 337, 690, 690, 337, 337, 337, 
-	501, 501, 501, 501, 501, 501, 690, 690, 
-	690, 690, 337, 337, 337, 501, 501, 501, 
-	501, 501, 501, 690, 690, 690, 690, 337, 
-	337, 337, 501, 501, 666, 666, 337, 501, 
-	501, 690, 690, 690, 690, 2086, 690, 690, 
-	690, 690, 2274, 337, 690, 690, 2266, 690, 
-	690, 2266, 690, 690, 2266, 690, 690, 2266, 
-	0, 0, 0, 0, 91, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 337, 337, 337, 337, 337, 337, 
+	337, 337, 339, 339, 339, 339, 339, 339, 
+	339, 339, 339, 339, 339, 339, 339, 339, 
+	339, 339, 339, 339, 339, 339, 339, 339, 
+	339, 339, 339, 339, 339, 339, 339, 339, 
+	339, 339, 339, 339, 339, 339, 339, 339, 
+	339, 339, 339, 674, 674, 345, 345, 345, 
+	345, 345, 345, 509, 509, 509, 1980, 509, 
+	1980, 509, 1980, 509, 1980, 1980, 1980, 1980, 
+	345, 1980, 1980, 1980, 345, 1980, 1980, 1980, 
+	345, 1980, 1980, 1980, 345, 345, 345, 345, 
+	345, 345, 345, 345, 345, 345, 345, 345, 
+	345, 509, 509, 345, 345, 345, 345, 345, 
+	345, 345, 674, 674, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 
+	1586, 1586, 1586, 509, 509, 509, 509, 509, 
+	509, 345, 345, 345, 345, 345, 509, 509, 
+	509, 509, 345, 345, 345, 345, 345, 345, 
+	345, 345, 345, 345, 345, 345, 345, 345, 
+	345, 509, 509, 345, 345, 345, 345, 345, 
+	345, 345, 695, 695, 695, 2076, 2076, 695, 
+	695, 345, 695, 2076, 2076, 509, 509, 345, 
+	345, 509, 509, 698, 698, 698, 698, 345, 
+	345, 345, 509, 509, 509, 509, 698, 698, 
+	698, 698, 345, 345, 509, 509, 779, 779, 
+	1848, 1848, 779, 2140, 782, 782, 782, 782, 
+	782, 782, 782, 779, 779, 779, 1848, 1848, 
+	2080, 3241, 779, 779, 779, 1848, 1848, 2080, 
+	3241, 779, 779, 779, 1848, 1848, 779, 2140, 
+	779, 779, 345, 785, 785, 345, 345, 509, 
+	509, 509, 509, 605, 605, 605, 605, 509, 
+	509, 345, 345, 345, 345, 345, 345, 345, 
+	345, 345, 345, 345, 345, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 785, 785, 
+	785, 785, 785, 785, 785, 785, 1852, 1852, 
+	345, 345, 345, 509, 509, 509, 509, 345, 
+	345, 345, 345, 345, 345, 345, 345, 345, 
+	509, 509, 509, 509, 509, 509, 698, 698, 
+	704, 704, 704, 704, 704, 704, 704, 704, 
+	704, 345, 704, 704, 704, 704, 704, 345, 
+	698, 698, 345, 345, 345, 509, 509, 509, 
+	509, 509, 509, 698, 698, 698, 698, 345, 
+	345, 345, 509, 509, 509, 509, 509, 509, 
+	698, 698, 698, 698, 345, 345, 345, 509, 
+	509, 674, 674, 345, 509, 509, 698, 698, 
+	698, 698, 2136, 698, 698, 698, 698, 2332, 
+	345, 698, 698, 2324, 698, 698, 2324, 698, 
+	698, 2324, 698, 698, 2324, 0, 0, 0, 
+	0, 91, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0
 };
 
-static const int zone_scanner_start = 1056;
+static const int zone_scanner_start = 1077;
 static const int zone_scanner_error = 0;
 
 
@@ -5193,7 +5276,7 @@ _match:
 	{
 		if (s->multiline == true) {
 			ERR(ZS_LEFT_PARENTHESIS);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 		s->multiline = true;
 	}
@@ -5202,7 +5285,7 @@ _match:
 	{
 		if (s->multiline == false) {
 			ERR(ZS_RIGHT_PARENTHESIS);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 		s->multiline = false;
 	}
@@ -5210,7 +5293,7 @@ _match:
 	case 4:
 	{
 		WARN(ZS_BAD_REST);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 5:
@@ -5254,7 +5337,7 @@ _match:
 	}
 	break;
 	case 8:
-	{ {cs = 1056; goto _again;} }
+	{ {cs = 1077; goto _again;} }
 	break;
 	case 9:
 	{
@@ -5264,23 +5347,26 @@ _match:
 	break;
 	case 10:
 	{
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = (*p);
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 11:
 	{
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5291,7 +5377,7 @@ _match:
 			s->item_length++;
 		} else {
 			WARN(ZS_LABEL_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5309,30 +5395,33 @@ _match:
 	case 15:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 16:
 	{
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	break;
 	case 17:
 	{
-		memcpy(s->dname + s->dname_tmp_length,
-		       s->zone_origin,
-		       s->zone_origin_length);
+		// Check for (relative + origin) dname length overflow.
+		if (s->dname_tmp_length + s->zone_origin_length <= MAX_DNAME_LENGTH) {
+			memcpy(s->dname + s->dname_tmp_length,
+			       s->zone_origin,
+			       s->zone_origin_length);
 
-		s->dname_tmp_length += s->zone_origin_length;
-
-		if (s->dname_tmp_length > MAX_DNAME_LENGTH) {
+			s->dname_tmp_length += s->zone_origin_length;
+		} else {
 			WARN(ZS_DNAME_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 18:
 	{
+		// Copy already verified zone origin.
 		memcpy(s->dname,
 		       s->zone_origin,
 		       s->zone_origin_length);
@@ -5349,11 +5438,11 @@ _match:
 	case 20:
 	{
 		WARN(ZS_BAD_DNAME_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 21:
-	{ p--; {stack[top++] = cs; cs = 248; goto _again;} }
+	{ p--; {stack[top++] = cs; cs = 255; goto _again;} }
 	break;
 	case 22:
 	{
@@ -5368,7 +5457,7 @@ _match:
 			*(s->item_length_location) = (uint8_t)(s->item_length);
 		} else {
 			WARN(ZS_ITEM_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5387,7 +5476,7 @@ _match:
 	{
 		if (s->r_owner_length == 0) {
 			WARN(ZS_BAD_PREVIOUS_OWNER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5395,7 +5484,7 @@ _match:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 28:
@@ -5410,17 +5499,17 @@ _match:
 	break;
 	case 30:
 	{
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
 			s->number64 += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER64_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5432,7 +5521,7 @@ _match:
 	case 32:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 33:
@@ -5460,7 +5549,7 @@ _match:
 			s->number64 += s->number64_tmp * pow(10, s->decimals);
 		} else {
 			WARN(ZS_FLOAT_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5481,7 +5570,7 @@ _match:
 			rdata_tail += 1;
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5492,7 +5581,7 @@ _match:
 			rdata_tail += 2;
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5503,7 +5592,7 @@ _match:
 			rdata_tail += 4;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5513,7 +5602,7 @@ _match:
 			s->r_type = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5523,14 +5612,14 @@ _match:
 			s->r_data_length = (uint16_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 44:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 45:
@@ -5538,7 +5627,7 @@ _match:
 	                  s->number64 *= 60;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {cs = 246; goto _again;}
+	                  p--; {cs = 253; goto _again;}
 	              }
 	            }
 	break;
@@ -5547,7 +5636,7 @@ _match:
 	                  s->number64 *= 3600;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {cs = 246; goto _again;}
+	                  p--; {cs = 253; goto _again;}
 	              }
 	            }
 	break;
@@ -5556,7 +5645,7 @@ _match:
 	                  s->number64 *= 86400;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {cs = 246; goto _again;}
+	                  p--; {cs = 253; goto _again;}
 	              }
 	            }
 	break;
@@ -5565,7 +5654,7 @@ _match:
 	                  s->number64 *= 604800;
 	              } else {
 	                  WARN(ZS_NUMBER32_OVERFLOW);
-	                  p--; {cs = 246; goto _again;}
+	                  p--; {cs = 253; goto _again;}
 	              }
 	            }
 	break;
@@ -5580,7 +5669,7 @@ _match:
 			s->number64 += s->number64_tmp;
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5595,7 +5684,7 @@ _match:
 			s->buffer[s->buffer_length++] = (*p);
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5611,7 +5700,7 @@ _match:
 				rdata_tail += 4;
 			} else {
 				WARN(ret);
-				p--; {cs = 246; goto _again;}
+				p--; {cs = 253; goto _again;}
 			}
 		} else if (s->buffer_length <= 10) { // Timestamp format.
 			char *end;
@@ -5620,7 +5709,7 @@ _match:
 
 			if (end == (char *)(s->buffer) || *end != '\0') {
 				WARN(ZS_BAD_TIMESTAMP);
-				p--; {cs = 246; goto _again;}
+				p--; {cs = 253; goto _again;}
 			}
 
 			if (s->number64 <= UINT32_MAX) {
@@ -5628,18 +5717,18 @@ _match:
 				rdata_tail += 4;
 			} else {
 				WARN(ZS_NUMBER32_OVERFLOW);
-				p--; {cs = 246; goto _again;}
+				p--; {cs = 253; goto _again;}
 			}
 		} else {
 			WARN(ZS_BAD_TIMESTAMP_LENGTH);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 54:
 	{
 		WARN(ZS_BAD_TIMESTAMP_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 55:
@@ -5648,20 +5737,20 @@ _match:
 			*(rdata_tail++) = (*p);
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 56:
 	{
 		WARN(ZS_BAD_TEXT_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 57:
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 58:
@@ -5671,7 +5760,7 @@ _match:
 			s->item_length++;
 		} else {
 			WARN(ZS_TEXT_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5679,14 +5768,14 @@ _match:
 	{
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 ((*p) <= (UINT8_MAX % 10) + ASCII_0)
+			 ((*p) <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
 			*rdata_tail += digit_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_NUMBER8_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5698,11 +5787,11 @@ _match:
 	case 61:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 62:
-	{ p--; {stack[top++] = cs; cs = 257; goto _again;} }
+	{ p--; {stack[top++] = cs; cs = 264; goto _again;} }
 	break;
 	case 63:
 	{
@@ -5710,18 +5799,18 @@ _match:
 			s->default_ttl = (uint32_t)(s->number64);
 		} else {
 			ERR(ZS_NUMBER32_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 64:
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 65:
-	{ p--; {stack[top++] = cs; cs = 269; goto _again;} }
+	{ p--; {stack[top++] = cs; cs = 276; goto _again;} }
 	break;
 	case 66:
 	{
@@ -5736,11 +5825,11 @@ _match:
 	case 68:
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 69:
-	{ p--; {stack[top++] = cs; cs = 278; goto _again;} }
+	{ p--; {stack[top++] = cs; cs = 285; goto _again;} }
 	break;
 	case 70:
 	{
@@ -5757,7 +5846,7 @@ _match:
 		if (strlen(s->include_filename) !=
 		    (size_t)(rdata_tail - s->r_data)) {
 			ERR(ZS_BAD_INCLUDE_FILENAME);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 
 		// For detection whether origin is not present.
@@ -5767,7 +5856,7 @@ _match:
 	case 72:
 	{
 		ERR(ZS_BAD_INCLUDE_FILENAME);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 73:
@@ -5783,7 +5872,7 @@ _match:
 	case 75:
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 76:
@@ -5829,17 +5918,17 @@ _match:
 					ERR(ss->error_code);
 				}
 				zs_scanner_free(ss);
-				p--; {cs = 246; goto _again;}
+				p--; {cs = 253; goto _again;}
 			}
 			zs_scanner_free(ss);
 		} else {
 			ERR(ZS_UNPROCESSED_INCLUDE);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 77:
-	{ p--; {stack[top++] = cs; cs = 290; goto _again;} }
+	{ p--; {stack[top++] = cs; cs = 297; goto _again;} }
 	break;
 	case 78:
 	{
@@ -5854,7 +5943,7 @@ _match:
 	case 80:
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 81:
@@ -5878,7 +5967,7 @@ _match:
 			s->r_ttl = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_NUMBER32_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5894,14 +5983,14 @@ _match:
 		}
 		else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 87:
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 88:
@@ -5910,7 +5999,7 @@ _match:
 
 		if (inet_pton(AF_INET, (char *)s->buffer, &addr4) <= 0) {
 			WARN(ZS_BAD_IPV4);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5926,7 +6015,7 @@ _match:
 
 		if (inet_pton(AF_INET6, (char *)s->buffer, &addr6) <= 0) {
 			WARN(ZS_BAD_IPV6);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5963,7 +6052,7 @@ _match:
 			s->apl.prefix_length = (uint8_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_APL);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -5988,7 +6077,7 @@ _match:
 			break;
 		default:
 			WARN(ZS_BAD_APL);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 		// Find prefix without trailing zeroes.
 		while (len > 0) {
@@ -6008,7 +6097,7 @@ _match:
 	case 98:
 	{
 		WARN(ZS_BAD_APL);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 99:
@@ -6017,7 +6106,7 @@ _match:
 			*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6030,21 +6119,21 @@ _match:
 	case 101:
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 102:
 	{
 		if ((rdata_tail - s->r_data) != s->r_data_length) {
 			WARN(ZS_BAD_RDATA_LENGTH);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
 	case 103:
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 104:
@@ -6053,7 +6142,7 @@ _match:
 			*rdata_tail = first_base64_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6065,7 +6154,7 @@ _match:
 			*rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6077,7 +6166,7 @@ _match:
 			*rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6089,11 +6178,11 @@ _match:
 	case 108:
 	{
 		WARN(ZS_BAD_BASE64_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 109:
-	{ p--; {stack[top++] = cs; cs = 307; goto _again;} }
+	{ p--; {stack[top++] = cs; cs = 314; goto _again;} }
 	break;
 	case 110:
 	{
@@ -6101,7 +6190,7 @@ _match:
 			*rdata_tail = first_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6113,7 +6202,7 @@ _match:
 			*rdata_tail = second_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6130,7 +6219,7 @@ _match:
 			*rdata_tail = fourth_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6142,7 +6231,7 @@ _match:
 			*rdata_tail = fifth_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6159,7 +6248,7 @@ _match:
 			*rdata_tail = seventh_right_base32hex_to_num[(uint8_t)(*p)];
 		} else {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
@@ -6171,7 +6260,7 @@ _match:
 	case 118:
 	{
 		WARN(ZS_BAD_BASE32HEX_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 119:
@@ -6312,19 +6401,19 @@ _match:
 	case 144:
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 145:
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 146:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 147:
@@ -6421,157 +6510,169 @@ _match:
 	{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
 	break;
 	case 178:
-	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
 	break;
 	case 179:
-	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
 	break;
 	case 180:
-	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
 	break;
 	case 181:
-	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
 	break;
 	case 182:
-	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
 	break;
 	case 183:
-	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
 	break;
 	case 184:
-	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
+	{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
 	break;
 	case 185:
+	{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
+	break;
+	case 186:
+	{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
+	break;
+	case 187:
 	{
 		if (s->number64 <= UINT16_MAX) {
 			window_add_bit(s->number64, s);
 		} else {
 			WARN(ZS_NUMBER16_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 186:
+	case 188:
 	{ window_add_bit(KNOT_RRTYPE_A, s); }
 	break;
-	case 187:
+	case 189:
 	{ window_add_bit(KNOT_RRTYPE_NS, s); }
 	break;
-	case 188:
+	case 190:
 	{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
 	break;
-	case 189:
+	case 191:
 	{ window_add_bit(KNOT_RRTYPE_SOA, s); }
 	break;
-	case 190:
+	case 192:
 	{ window_add_bit(KNOT_RRTYPE_PTR, s); }
 	break;
-	case 191:
+	case 193:
 	{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
 	break;
-	case 192:
+	case 194:
 	{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
 	break;
-	case 193:
+	case 195:
 	{ window_add_bit(KNOT_RRTYPE_MX, s); }
 	break;
-	case 194:
+	case 196:
 	{ window_add_bit(KNOT_RRTYPE_TXT, s); }
 	break;
-	case 195:
+	case 197:
 	{ window_add_bit(KNOT_RRTYPE_RP, s); }
 	break;
-	case 196:
+	case 198:
 	{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
 	break;
-	case 197:
+	case 199:
 	{ window_add_bit(KNOT_RRTYPE_RT, s); }
 	break;
-	case 198:
+	case 200:
 	{ window_add_bit(KNOT_RRTYPE_KEY, s); }
 	break;
-	case 199:
+	case 201:
 	{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
 	break;
-	case 200:
+	case 202:
 	{ window_add_bit(KNOT_RRTYPE_LOC, s); }
 	break;
-	case 201:
+	case 203:
 	{ window_add_bit(KNOT_RRTYPE_SRV, s); }
 	break;
-	case 202:
+	case 204:
 	{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
 	break;
-	case 203:
+	case 205:
 	{ window_add_bit(KNOT_RRTYPE_KX, s); }
 	break;
-	case 204:
+	case 206:
 	{ window_add_bit(KNOT_RRTYPE_CERT, s); }
 	break;
-	case 205:
+	case 207:
 	{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
 	break;
-	case 206:
+	case 208:
 	{ window_add_bit(KNOT_RRTYPE_APL, s); }
 	break;
-	case 207:
+	case 209:
 	{ window_add_bit(KNOT_RRTYPE_DS, s); }
 	break;
-	case 208:
+	case 210:
 	{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
 	break;
-	case 209:
+	case 211:
 	{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
 	break;
-	case 210:
+	case 212:
 	{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
 	break;
-	case 211:
+	case 213:
 	{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
 	break;
-	case 212:
+	case 214:
 	{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
 	break;
-	case 213:
+	case 215:
 	{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
 	break;
-	case 214:
+	case 216:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	break;
-	case 215:
+	case 217:
 	{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	break;
-	case 216:
+	case 218:
 	{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
 	break;
-	case 217:
+	case 219:
+	{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	break;
+	case 220:
+	{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
+	break;
+	case 221:
 	{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	break;
-	case 218:
+	case 222:
 	{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	break;
-	case 219:
+	case 223:
 	{ window_add_bit(KNOT_RRTYPE_L32, s); }
 	break;
-	case 220:
+	case 224:
 	{ window_add_bit(KNOT_RRTYPE_L64, s); }
 	break;
-	case 221:
+	case 225:
 	{ window_add_bit(KNOT_RRTYPE_LP, s); }
 	break;
-	case 222:
+	case 226:
 	{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
 	break;
-	case 223:
+	case 227:
 	{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
 	break;
-	case 224:
+	case 228:
 	{
 		memset(s->windows, 0, sizeof(s->windows));
 		s->last_window = -1;
 	}
 	break;
-	case 225:
+	case 229:
 	{
 		for (window = 0; window <= s->last_window; window++) {
 			if ((s->windows[window]).length > 0) {
@@ -6590,82 +6691,82 @@ _match:
 					rdata_tail += (s->windows[window]).length;
 				} else {
 					WARN(ZS_RDATA_OVERFLOW);
-					p--; {cs = 246; goto _again;}
+					p--; {cs = 253; goto _again;}
 				}
 			}
 		}
 	}
 	break;
-	case 226:
+	case 230:
 	{
 		WARN(ZS_BAD_BITMAP);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 227:
-	{ p--; {stack[top++] = cs; cs = 314; goto _again;} }
+	case 231:
+	{ p--; {stack[top++] = cs; cs = 321; goto _again;} }
 	break;
-	case 228:
+	case 232:
 	{
 		if (s->number64 <= 90) {
 			s->loc.d1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 229:
+	case 233:
 	{
 		if (s->number64 <= 180) {
 			s->loc.d2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 230:
+	case 234:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 231:
+	case 235:
 	{
 		if (s->number64 <= 59) {
 			s->loc.m2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 232:
+	case 236:
 	{
 		if (s->number64 <= 59999) {
 			s->loc.s1 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 233:
+	case 237:
 	{
 		if (s->number64 <= 59999) {
 			s->loc.s2 = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 234:
+	case 238:
 	{
 		if ((s->loc.alt_sign ==  1 && s->number64 <= 4284967295) ||
 		    (s->loc.alt_sign == -1 && s->number64 <=   10000000))
@@ -6673,56 +6774,56 @@ _match:
 			s->loc.alt = (uint32_t)(s->number64);
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 235:
+	case 239:
 	{
 		if (s->number64 <= 9000000000ULL) {
 			s->loc.siz = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 236:
+	case 240:
 	{
 		if (s->number64 <= 9000000000ULL) {
 			s->loc.hp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 237:
+	case 241:
 	{
 		if (s->number64 <= 9000000000ULL) {
 			s->loc.vp = s->number64;
 		} else {
 			WARN(ZS_BAD_NUMBER);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 238:
+	case 242:
 	{
 		s->loc.lat_sign = -1;
 	}
 	break;
-	case 239:
+	case 243:
 	{
 		s->loc.long_sign = -1;
 	}
 	break;
-	case 240:
+	case 244:
 	{
 		s->loc.alt_sign = -1;
 	}
 	break;
-	case 241:
+	case 245:
 	{
 		memset(&(s->loc), 0, sizeof(s->loc));
 		// Defaults.
@@ -6734,7 +6835,7 @@ _match:
 		s->loc.alt_sign  = 1;
 	}
 	break;
-	case 242:
+	case 246:
 	{
 		// Write version.
 		*(rdata_tail) = 0;
@@ -6762,179 +6863,181 @@ _match:
 		rdata_tail += 4;
 	}
 	break;
-	case 243:
+	case 247:
 	{
 		WARN(ZS_BAD_LOC_DATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 244:
+	case 248:
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 245:
+	case 249:
 	{
 		s->item_length = 0;
 	}
 	break;
-	case 246:
+	case 250:
 	{
 		s->item_length++;
 	}
 	break;
-	case 247:
+	case 251:
 	{
 		if (s->item_length != 6) {
 			WARN(ZS_BAD_EUI_LENGTH);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 248:
+	case 252:
 	{
 		if (s->item_length != 8) {
 			WARN(ZS_BAD_EUI_LENGTH);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 249:
+	case 253:
 	{
 		WARN(ZS_BAD_CHAR_DASH);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 250:
+	case 254:
 	{
 		s->item_length = 0;
 	}
 	break;
-	case 251:
+	case 255:
 	{
 		s->item_length++;
 	}
 	break;
-	case 252:
+	case 256:
 	{
 		if (s->item_length != 4) {
 			WARN(ZS_BAD_L64_LENGTH);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 253:
+	case 257:
 	{
 		WARN(ZS_BAD_CHAR_COLON);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 254:
+	case 258:
 	{
 		WARN(ZS_BAD_ALGORITHM);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 255:
+	case 259:
 	{
 		WARN(ZS_BAD_CERT_TYPE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 256:
-	{ p--; {stack[top++] = cs; cs = 453; goto _again;} }
+	case 260:
+	{ p--; {stack[top++] = cs; cs = 467; goto _again;} }
 	break;
-	case 257:
-	{ p--; {stack[top++] = cs; cs = 548; goto _again;} }
+	case 261:
+	{ p--; {stack[top++] = cs; cs = 562; goto _again;} }
 	break;
-	case 258:
+	case 262:
 	{
 		rdata_tail = s->r_data;
 	}
 	break;
-	case 259:
+	case 263:
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 260:
+	case 264:
 	{
 		p--;
 		switch (s->r_type) {
 		case KNOT_RRTYPE_A:
-			{stack[top++] = cs; cs = 589; goto _again;}
+			{stack[top++] = cs; cs = 603; goto _again;}
 		case KNOT_RRTYPE_NS:
 		case KNOT_RRTYPE_CNAME:
 		case KNOT_RRTYPE_PTR:
 		case KNOT_RRTYPE_DNAME:
-			{stack[top++] = cs; cs = 591; goto _again;}
+			{stack[top++] = cs; cs = 605; goto _again;}
 		case KNOT_RRTYPE_SOA:
-			{stack[top++] = cs; cs = 593; goto _again;}
+			{stack[top++] = cs; cs = 607; goto _again;}
 		case KNOT_RRTYPE_HINFO:
-			{stack[top++] = cs; cs = 625; goto _again;}
+			{stack[top++] = cs; cs = 639; goto _again;}
 		case KNOT_RRTYPE_MINFO:
 		case KNOT_RRTYPE_RP:
-			{stack[top++] = cs; cs = 630; goto _again;}
+			{stack[top++] = cs; cs = 644; goto _again;}
 		case KNOT_RRTYPE_MX:
 		case KNOT_RRTYPE_AFSDB:
 		case KNOT_RRTYPE_RT:
 		case KNOT_RRTYPE_KX:
 		case KNOT_RRTYPE_LP:
-			{stack[top++] = cs; cs = 635; goto _again;}
+			{stack[top++] = cs; cs = 649; goto _again;}
 		case KNOT_RRTYPE_TXT:
 		case KNOT_RRTYPE_SPF:
-			{stack[top++] = cs; cs = 640; goto _again;}
+			{stack[top++] = cs; cs = 654; goto _again;}
 		case KNOT_RRTYPE_AAAA:
-			{stack[top++] = cs; cs = 644; goto _again;}
+			{stack[top++] = cs; cs = 658; goto _again;}
 		case KNOT_RRTYPE_LOC:
-			{stack[top++] = cs; cs = 646; goto _again;}
+			{stack[top++] = cs; cs = 660; goto _again;}
 		case KNOT_RRTYPE_SRV:
-			{stack[top++] = cs; cs = 701; goto _again;}
+			{stack[top++] = cs; cs = 715; goto _again;}
 		case KNOT_RRTYPE_NAPTR:
-			{stack[top++] = cs; cs = 712; goto _again;}
+			{stack[top++] = cs; cs = 726; goto _again;}
 		case KNOT_RRTYPE_CERT:
-			{stack[top++] = cs; cs = 729; goto _again;}
+			{stack[top++] = cs; cs = 743; goto _again;}
 		case KNOT_RRTYPE_APL:
-			{stack[top++] = cs; cs = 740; goto _again;}
+			{stack[top++] = cs; cs = 754; goto _again;}
 		case KNOT_RRTYPE_DS:
-			{stack[top++] = cs; cs = 751; goto _again;}
+		case KNOT_RRTYPE_CDS:
+			{stack[top++] = cs; cs = 765; goto _again;}
 		case KNOT_RRTYPE_SSHFP:
-			{stack[top++] = cs; cs = 764; goto _again;}
+			{stack[top++] = cs; cs = 778; goto _again;}
 		case KNOT_RRTYPE_IPSECKEY:
-			{stack[top++] = cs; cs = 774; goto _again;}
+			{stack[top++] = cs; cs = 788; goto _again;}
 		case KNOT_RRTYPE_RRSIG:
-			{stack[top++] = cs; cs = 813; goto _again;}
+			{stack[top++] = cs; cs = 827; goto _again;}
 		case KNOT_RRTYPE_NSEC:
-			{stack[top++] = cs; cs = 955; goto _again;}
+			{stack[top++] = cs; cs = 976; goto _again;}
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
-			{stack[top++] = cs; cs = 958; goto _again;}
+		case KNOT_RRTYPE_CDNSKEY:
+			{stack[top++] = cs; cs = 979; goto _again;}
 		case KNOT_RRTYPE_DHCID:
-			{stack[top++] = cs; cs = 969; goto _again;}
+			{stack[top++] = cs; cs = 990; goto _again;}
 		case KNOT_RRTYPE_NSEC3:
-			{stack[top++] = cs; cs = 971; goto _again;}
+			{stack[top++] = cs; cs = 992; goto _again;}
 		case KNOT_RRTYPE_NSEC3PARAM:
-			{stack[top++] = cs; cs = 1000; goto _again;}
+			{stack[top++] = cs; cs = 1021; goto _again;}
 		case KNOT_RRTYPE_TLSA:
-			{stack[top++] = cs; cs = 1013; goto _again;}
+			{stack[top++] = cs; cs = 1034; goto _again;}
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L64:
-			{stack[top++] = cs; cs = 1031; goto _again;}
+			{stack[top++] = cs; cs = 1052; goto _again;}
 		case KNOT_RRTYPE_L32:
-			{stack[top++] = cs; cs = 1026; goto _again;}
+			{stack[top++] = cs; cs = 1047; goto _again;}
 		case KNOT_RRTYPE_EUI48:
-			{stack[top++] = cs; cs = 1044; goto _again;}
+			{stack[top++] = cs; cs = 1065; goto _again;}
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = cs; cs = 1050; goto _again;}
+			{stack[top++] = cs; cs = 1071; goto _again;}
 		default:
 			WARN(ZS_CANNOT_TEXT_DATA);
-			{cs = 246; goto _again;}
+			{cs = 253; goto _again;}
 		}
 	}
 	break;
-	case 261:
+	case 265:
 	{
 		switch (s->r_type) {
 		// Next types must not have empty rdata.
@@ -6969,148 +7072,156 @@ _match:
 		case KNOT_RRTYPE_NSEC3:
 		case KNOT_RRTYPE_NSEC3PARAM:
 		case KNOT_RRTYPE_TLSA:
+		case KNOT_RRTYPE_CDS:
+		case KNOT_RRTYPE_CDNSKEY:
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L32:
 		case KNOT_RRTYPE_L64:
 		case KNOT_RRTYPE_LP:
 		case KNOT_RRTYPE_EUI48:
 		case KNOT_RRTYPE_EUI64:
-			{stack[top++] = cs; cs = 434; goto _again;}
+			{stack[top++] = cs; cs = 448; goto _again;}
 		// Next types can have empty rdata.
 		case KNOT_RRTYPE_APL:
 		default:
-			{stack[top++] = cs; cs = 443; goto _again;}
+			{stack[top++] = cs; cs = 457; goto _again;}
 		}
 	}
 	break;
-	case 262:
+	case 266:
 	{ p--; }
 	break;
-	case 263:
+	case 267:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 264:
+	case 268:
 	{ s->r_type = KNOT_RRTYPE_A; }
 	break;
-	case 265:
+	case 269:
 	{ s->r_type = KNOT_RRTYPE_NS; }
 	break;
-	case 266:
+	case 270:
 	{ s->r_type = KNOT_RRTYPE_CNAME; }
 	break;
-	case 267:
+	case 271:
 	{ s->r_type = KNOT_RRTYPE_SOA; }
 	break;
-	case 268:
+	case 272:
 	{ s->r_type = KNOT_RRTYPE_PTR; }
 	break;
-	case 269:
+	case 273:
 	{ s->r_type = KNOT_RRTYPE_HINFO; }
 	break;
-	case 270:
+	case 274:
 	{ s->r_type = KNOT_RRTYPE_MINFO; }
 	break;
-	case 271:
+	case 275:
 	{ s->r_type = KNOT_RRTYPE_MX; }
 	break;
-	case 272:
+	case 276:
 	{ s->r_type = KNOT_RRTYPE_TXT; }
 	break;
-	case 273:
+	case 277:
 	{ s->r_type = KNOT_RRTYPE_RP; }
 	break;
-	case 274:
+	case 278:
 	{ s->r_type = KNOT_RRTYPE_AFSDB; }
 	break;
-	case 275:
+	case 279:
 	{ s->r_type = KNOT_RRTYPE_RT; }
 	break;
-	case 276:
+	case 280:
 	{ s->r_type = KNOT_RRTYPE_KEY; }
 	break;
-	case 277:
+	case 281:
 	{ s->r_type = KNOT_RRTYPE_AAAA; }
 	break;
-	case 278:
+	case 282:
 	{ s->r_type = KNOT_RRTYPE_LOC; }
 	break;
-	case 279:
+	case 283:
 	{ s->r_type = KNOT_RRTYPE_SRV; }
 	break;
-	case 280:
+	case 284:
 	{ s->r_type = KNOT_RRTYPE_NAPTR; }
 	break;
-	case 281:
+	case 285:
 	{ s->r_type = KNOT_RRTYPE_KX; }
 	break;
-	case 282:
+	case 286:
 	{ s->r_type = KNOT_RRTYPE_CERT; }
 	break;
-	case 283:
+	case 287:
 	{ s->r_type = KNOT_RRTYPE_DNAME; }
 	break;
-	case 284:
+	case 288:
 	{ s->r_type = KNOT_RRTYPE_APL; }
 	break;
-	case 285:
+	case 289:
 	{ s->r_type = KNOT_RRTYPE_DS; }
 	break;
-	case 286:
+	case 290:
 	{ s->r_type = KNOT_RRTYPE_SSHFP; }
 	break;
-	case 287:
+	case 291:
 	{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
 	break;
-	case 288:
+	case 292:
 	{ s->r_type = KNOT_RRTYPE_RRSIG; }
 	break;
-	case 289:
+	case 293:
 	{ s->r_type = KNOT_RRTYPE_NSEC; }
 	break;
-	case 290:
+	case 294:
 	{ s->r_type = KNOT_RRTYPE_DNSKEY; }
 	break;
-	case 291:
+	case 295:
 	{ s->r_type = KNOT_RRTYPE_DHCID; }
 	break;
-	case 292:
+	case 296:
 	{ s->r_type = KNOT_RRTYPE_NSEC3; }
 	break;
-	case 293:
+	case 297:
 	{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 	break;
-	case 294:
+	case 298:
 	{ s->r_type = KNOT_RRTYPE_TLSA; }
 	break;
-	case 295:
+	case 299:
+	{ s->r_type = KNOT_RRTYPE_CDS; }
+	break;
+	case 300:
+	{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
+	break;
+	case 301:
 	{ s->r_type = KNOT_RRTYPE_SPF; }
 	break;
-	case 296:
+	case 302:
 	{ s->r_type = KNOT_RRTYPE_NID; }
 	break;
-	case 297:
+	case 303:
 	{ s->r_type = KNOT_RRTYPE_L32; }
 	break;
-	case 298:
+	case 304:
 	{ s->r_type = KNOT_RRTYPE_L64; }
 	break;
-	case 299:
+	case 305:
 	{ s->r_type = KNOT_RRTYPE_LP; }
 	break;
-	case 300:
+	case 306:
 	{ s->r_type = KNOT_RRTYPE_EUI48; }
 	break;
-	case 301:
+	case 307:
 	{ s->r_type = KNOT_RRTYPE_EUI64; }
 	break;
-	case 302:
+	case 308:
 	{
 		if (rdata_tail - s->r_data > UINT16_MAX) {
 			WARN(ZS_RDATA_OVERFLOW);
-			p--; {cs = 246; goto _again;}
+			p--; {cs = 253; goto _again;}
 		}
 		s->r_data_length = rdata_tail - s->r_data;
 
@@ -7140,86 +7251,86 @@ _again:
 	case 4:
 	{
 		WARN(ZS_BAD_REST);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 15:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 20:
 	{
 		WARN(ZS_BAD_DNAME_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 27:
 	{
 		s->r_owner_length = 0;
 		WARN(ZS_BAD_OWNER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 32:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 44:
 	{
 		WARN(ZS_BAD_TIME_UNIT);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 54:
 	{
 		WARN(ZS_BAD_TIMESTAMP_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 56:
 	{
 		WARN(ZS_BAD_TEXT_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 57:
 	{
 		WARN(ZS_BAD_TEXT);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 61:
 	{
 		WARN(ZS_BAD_NUMBER);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 64:
 	{
 		ERR(ZS_BAD_TTL);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 68:
 	{
 		ERR(ZS_BAD_ORIGIN);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 72:
 	{
 		ERR(ZS_BAD_INCLUDE_FILENAME);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 75:
 	{
 		ERR(ZS_BAD_INCLUDE_ORIGIN);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 79:
@@ -7230,115 +7341,115 @@ _again:
 	case 80:
 	{
 		ERR(ZS_BAD_DIRECTIVE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 87:
 	{
 		WARN(ZS_BAD_ADDRESS_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 98:
 	{
 		WARN(ZS_BAD_APL);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 101:
 	{
 		WARN(ZS_BAD_HEX_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 103:
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 108:
 	{
 		WARN(ZS_BAD_BASE64_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 118:
 	{
 		WARN(ZS_BAD_BASE32HEX_CHAR);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 144:
 	{
 		WARN(ZS_BAD_GATEWAY);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 145:
 	{
 		WARN(ZS_BAD_GATEWAY_KEY);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 	case 146:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 226:
+	case 230:
 	{
 		WARN(ZS_BAD_BITMAP);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 243:
+	case 247:
 	{
 		WARN(ZS_BAD_LOC_DATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 244:
+	case 248:
 	{
 		WARN(ZS_BAD_HEX_RDATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 249:
+	case 253:
 	{
 		WARN(ZS_BAD_CHAR_DASH);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 253:
+	case 257:
 	{
 		WARN(ZS_BAD_CHAR_COLON);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 254:
+	case 258:
 	{
 		WARN(ZS_BAD_ALGORITHM);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 255:
+	case 259:
 	{
 		WARN(ZS_BAD_CERT_TYPE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 259:
+	case 263:
 	{
 		WARN(ZS_BAD_RDATA);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
-	case 263:
+	case 267:
 	{
 		WARN(ZS_UNSUPPORTED_TYPE);
-		p--; {cs = 246; goto _again;}
+		p--; {cs = 253; goto _again;}
 	}
 	break;
 		}
diff --git a/src/zscanner/scanner.h b/src/zscanner/scanner.h
index 32cd31fd3fe2911fdc7bb314d4955861d198310a..1adfe8f522fa62524c162779484582114871d1d4 100644
--- a/src/zscanner/scanner.h
+++ b/src/zscanner/scanner.h
@@ -26,8 +26,8 @@
 
 #pragma once
 
-#include <stdint.h>
 #include <stdbool.h>
+#include <stdint.h>
 
 #include "zscanner/error.h"
 
@@ -53,9 +53,6 @@
 /*! \brief Ragel call stack size (see Ragel internals). */
 #define RAGEL_STACK_SIZE		16
 
-/*! \brief ASCII value of '0' character. */
-#define ASCII_0				48
-
 /*! \brief Latitude value for equator (2^31). */
 #define LOC_LAT_ZERO	(uint32_t)2147483648
 /*! \brief Longitude value for meridian (2^31). */
@@ -126,10 +123,10 @@ struct scanner {
 	uint32_t item_length_position;
 	/*! Auxiliary pointer to item length. */
 	uint8_t *item_length_location;
-	/*! Auxiliary buffer for data storing. */
-	uint8_t  buffer[MAX_RDATA_LENGTH];
 	/*! Auxiliary buffer length. */
 	uint32_t buffer_length;
+	/*! Auxiliary buffer for data storing. */
+	uint8_t  buffer[MAX_RDATA_LENGTH];
 	/*! Auxiliary buffer for current included file name. */
 	char     include_filename[MAX_RDATA_LENGTH + 1];
 
@@ -154,10 +151,14 @@ struct scanner {
 	/*! Position of the last free r_data byte. */
 	uint32_t r_data_tail;
 
-	/*! Wire format of the current origin (ORIGIN directive sets this). */
-	uint8_t  zone_origin[MAX_DNAME_LENGTH];
 	/*! Length of the current origin. */
 	uint32_t zone_origin_length;
+	/*!
+	 *  Wire format of the current origin (ORIGIN directive sets this).
+	 *
+	 * \note Maximal dname length check is after each valid label.
+	 */
+	uint8_t  zone_origin[MAX_DNAME_LENGTH + MAX_LABEL_LENGTH];
 	/*! Value of the default class. */
 	uint16_t default_class;
 	/*! Value of the current default ttl (TTL directive sets this). */
@@ -191,36 +192,35 @@ struct scanner {
 		int  descriptor;
 	} file;
 
+	/*! Length of the current record owner. */
+	uint32_t r_owner_length;
 	/*!
 	 * Owner of the current record.
 	 *
-	 * \note The double length of the r_owner is due to dname length
-	 *       check is after concatenation of relative and origin dnames.
+	 * \note Maximal dname length check is after each valid label.
 	 */
-	uint8_t  r_owner[2 * MAX_DNAME_LENGTH];
-	/*! Length of the current record owner. */
-	uint32_t r_owner_length;
+	uint8_t  r_owner[MAX_DNAME_LENGTH + MAX_LABEL_LENGTH];
 	/*! Class of the current record. */
 	uint16_t r_class;
 	/*! TTL of the current record. */
 	uint32_t r_ttl;
 	/*! Type of the current record data. */
 	uint16_t r_type;
-	/*! Current rdata. */
-	uint8_t  r_data[MAX_RDATA_LENGTH];
 	/*! Length of the current rdata. */
 	uint32_t r_data_length;
+	/*! Current rdata. */
+	uint8_t  r_data[MAX_RDATA_LENGTH];
 
 	/*
 	 * Example: a. IN 60 MX 1 b.
 	 *
-	 *          r_owner = 016100
 	 *          r_owner_length = 3
+	 *          r_owner = 016100
 	 *          r_class = 1
 	 *          r_ttl = 60
 	 *          r_type = 15
-	 *          r_data = 0001016200
 	 *          r_data_length = 5
+	 *          r_data = 0001016200
 	 */
 };
 
diff --git a/src/zscanner/scanner.rl b/src/zscanner/scanner.rl
index 506854f52e18715afc735cb990e3477f974ca5ff..db7dc9ebbc94aa19b5a5673113bc3e820909ce99 100644
--- a/src/zscanner/scanner.rl
+++ b/src/zscanner/scanner.rl
@@ -14,22 +14,22 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <arpa/inet.h>
 #include <config.h>
-#include <stdint.h>			// uint32_t
-#include <stdlib.h>			// calloc
-#include <stdio.h>			// sprintf
-#include <fcntl.h>			// open
-#include <libgen.h>			// dirname
-#include <stdbool.h>			// bool
-#include <string.h>			// strdup
-#include <math.h>			// pow
-#include <sys/mman.h>			// mmap
-#include <sys/types.h>			// (OpenBSD)
-#include <sys/socket.h>			// AF_INET (BSD)
-#include <sys/stat.h>			// fstat
-#include <netinet/in.h>			// in_addr (BSD)
-#include <arpa/inet.h>			// inet_pton
-#include <unistd.h>			// sysconf
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <libgen.h>
+#include <math.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
 #include "zscanner/scanner.h"
 #include "zscanner/functions.h"
diff --git a/src/zscanner/scanner_body.rl b/src/zscanner/scanner_body.rl
index 71bbe0ee6fff5a1a8f7e24bb51ae9216d82451dc..ffffd44ed857317c29ade8259f182eadaf2def11 100644
--- a/src/zscanner/scanner_body.rl
+++ b/src/zscanner/scanner_body.rl
@@ -110,6 +110,7 @@
 		s->item_length_position = s->dname_tmp_length++;
 	}
 	action _label_char {
+		// Check for maximum dname label length.
 		if (s->item_length < MAX_LABEL_LENGTH) {
 			(s->dname)[s->dname_tmp_length++] = fc;
 			s->item_length++;
@@ -119,6 +120,8 @@
 		}
 	}
 	action _label_exit {
+		// Check for maximum dname length overflow after each label.
+		// (at least the next label length must follow).
 		if (s->dname_tmp_length < MAX_DNAME_LENGTH) {
 			(s->dname)[s->item_length_position] =
 				(uint8_t)(s->item_length);
@@ -164,21 +167,24 @@
 
 	# BEGIN - Domain name processing.
 	action _absolute_dname_exit {
+		// Enough room for the terminal label is garanteed (_label_exit).
 		(s->dname)[s->dname_tmp_length++] = 0;
 	}
 	action _relative_dname_exit {
-		memcpy(s->dname + s->dname_tmp_length,
-		       s->zone_origin,
-		       s->zone_origin_length);
+		// Check for (relative + origin) dname length overflow.
+		if (s->dname_tmp_length + s->zone_origin_length <= MAX_DNAME_LENGTH) {
+			memcpy(s->dname + s->dname_tmp_length,
+			       s->zone_origin,
+			       s->zone_origin_length);
 
-		s->dname_tmp_length += s->zone_origin_length;
-
-		if (s->dname_tmp_length > MAX_DNAME_LENGTH) {
+			s->dname_tmp_length += s->zone_origin_length;
+		} else {
 			WARN(ZS_DNAME_OVERFLOW);
 			fhold; fgoto err_line;
 		}
 	}
 	action _origin_dname_exit {
+		// Copy already verified zone origin.
 		memcpy(s->dname,
 		       s->zone_origin,
 		       s->zone_origin_length);
@@ -259,10 +265,10 @@
 
 	# BEGIN - Number processing
 	action _number_digit {
-		// Overflow check: 10*(s->number64) + fc - ASCII_0 <= UINT64_MAX
+		// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
 		if ((s->number64 < (UINT64_MAX / 10)) ||   // Dominant fast check.
 			((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
-			 ((uint8_t)fc <= (UINT64_MAX % 10) + ASCII_0)
+			 ((uint8_t)fc <= (UINT64_MAX % 10) + '0')
 			)
 		   ) {
 			s->number64 *= 10;
@@ -523,7 +529,7 @@
 	action _text_dec {
 		if ((*rdata_tail < (UINT8_MAX / 10)) ||   // Dominant fast check.
 			((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
-			 (fc <= (UINT8_MAX % 10) + ASCII_0)
+			 (fc <= (UINT8_MAX % 10) + '0')
 			)
 		   ) {
 			*rdata_tail *= 10;
@@ -1220,6 +1226,8 @@
 	    | "NSEC3"i      %{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
 	    | "NSEC3PARAM"i %{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
 	    | "TLSA"i       %{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
+	    | "CDS"i        %{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
+	    | "CDNSKEY"i    %{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
 	    | "SPF"i        %{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
 	    | "NID"i        %{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
 	    | "L32"i        %{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
@@ -1276,6 +1284,8 @@
 	    | "NSEC3"i      %{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
 	    | "NSEC3PARAM"i %{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
 	    | "TLSA"i       %{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
+	    | "CDS"i        %{ window_add_bit(KNOT_RRTYPE_CDS, s); }
+	    | "CDNSKEY"i    %{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
 	    | "SPF"i        %{ window_add_bit(KNOT_RRTYPE_SPF, s); }
 	    | "NID"i        %{ window_add_bit(KNOT_RRTYPE_NID, s); }
 	    | "L32"i        %{ window_add_bit(KNOT_RRTYPE_L32, s); }
@@ -1760,6 +1770,7 @@
 		case KNOT_RRTYPE_APL:
 			fcall r_data_apl;
 		case KNOT_RRTYPE_DS:
+		case KNOT_RRTYPE_CDS:
 			fcall r_data_ds;
 		case KNOT_RRTYPE_SSHFP:
 			fcall r_data_sshfp;
@@ -1771,6 +1782,7 @@
 			fcall r_data_nsec;
 		case KNOT_RRTYPE_KEY:
 		case KNOT_RRTYPE_DNSKEY:
+		case KNOT_RRTYPE_CDNSKEY:
 			fcall r_data_dnskey;
 		case KNOT_RRTYPE_DHCID:
 			fcall r_data_dhcid;
@@ -1828,6 +1840,8 @@
 		case KNOT_RRTYPE_NSEC3:
 		case KNOT_RRTYPE_NSEC3PARAM:
 		case KNOT_RRTYPE_TLSA:
+		case KNOT_RRTYPE_CDS:
+		case KNOT_RRTYPE_CDNSKEY:
 		case KNOT_RRTYPE_NID:
 		case KNOT_RRTYPE_L32:
 		case KNOT_RRTYPE_L64:
@@ -1889,6 +1903,8 @@
 		| "NSEC3"i      %{ s->r_type = KNOT_RRTYPE_NSEC3; }
 		| "NSEC3PARAM"i %{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
 		| "TLSA"i       %{ s->r_type = KNOT_RRTYPE_TLSA; }
+		| "CDS"i        %{ s->r_type = KNOT_RRTYPE_CDS; }
+		| "CDNSKEY"i    %{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
 		| "SPF"i        %{ s->r_type = KNOT_RRTYPE_SPF; }
 		| "NID"i        %{ s->r_type = KNOT_RRTYPE_NID; }
 		| "L32"i        %{ s->r_type = KNOT_RRTYPE_L32; }
diff --git a/src/zscanner/tests/TESTS b/src/zscanner/tests/TESTS
index 6c6ba63acfc868b556b4b4519771b25bc077f3fa..93a0d002481bb7b6a5eb88793d841acc5b87f2bf 100644
--- a/src/zscanner/tests/TESTS
+++ b/src/zscanner/tests/TESTS
@@ -67,3 +67,5 @@
 46_L32
 47_L64
 48_LP
+49_CDS
+50_CDNSKEY
diff --git a/src/zscanner/tests/data/01_owner.in b/src/zscanner/tests/data/01_owner.in
index dec9c3e0e222e83e562de3555afc664f3d8b9618..0108be3e802f6fc12b87d0dc01a101639b8b1f4a 100644
--- a/src/zscanner/tests/data/01_owner.in
+++ b/src/zscanner/tests/data/01_owner.in
@@ -33,3 +33,5 @@ b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.	NS	@	;
 12345678901234567890123456789012345678901234567890123456789012\0514.tld.	NS	@	; Label exceeded maximal length
 123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789012.	NS	@	; Domain name exceeded maximal length
 123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789012	NS	@	; Domain name exceeded maximal length (after appending origin)
+123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901.1	NS	@	; Domain name exceeded maximal length (maximal dname length check is after each valid label)
+123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901.123456789012345678901234567890123456789012345678901234567890123	NS	@	; Domain name exceeded maximal length (maximal dname length check is after each valid label)
diff --git a/src/zscanner/tests/data/01_owner.out b/src/zscanner/tests/data/01_owner.out
index dbd7f4d67180486335784561263cf52eb240de47..26a8454c82b45f1359e6c2df31cf3a645d7c6f6a 100644
--- a/src/zscanner/tests/data/01_owner.out
+++ b/src/zscanner/tests/data/01_owner.out
@@ -132,3 +132,7 @@ WARNG=ZS_DNAME_OVERFLOW
 ------
 WARNG=ZS_DNAME_OVERFLOW
 ------
+WARNG=ZS_DNAME_OVERFLOW
+------
+WARNG=ZS_DNAME_OVERFLOW
+------
diff --git a/src/zscanner/tests/data/49_CDS.in b/src/zscanner/tests/data/49_CDS.in
new file mode 100644
index 0000000000000000000000000000000000000000..7b6c3477e88a3d9f816ed0f2bb25d52996b3690d
--- /dev/null
+++ b/src/zscanner/tests/data/49_CDS.in
@@ -0,0 +1,23 @@
+$ORIGIN	.
+$TTL	1
+
+; OK
+@	CDS	0	0	0	00		; The simplest variant
+@	CDS	65535	255	255	00		; Maximal numbers
+@	CDS	0	RSAMD5	0	00		; Algorithm mnemonic
+@	CDS	0	0	0	01 02 0304	; Hex block with blank spaces between them
+@	TYPE59	\# 5 0000000000				; TYPE + Hexadecimal rdata
+@	TYPE59	0	0	0	00		; TYPE
+@	cds	0	0	0	00		; Type in lower-case
+
+; KO
+@	CDS
+@	CDS						; Empty rdata
+@	CDS	\# 0					; Hex empty rdata
+@	CDS	65536	0	0	00		; Key tag overflow
+@	CDS	0	256	0	00		; Algorithm overflow
+@	CDS	0	0	256	00		; Digest type overflow
+@	CDS	0	0	0	0		; Continuous block length must be multiple of 2
+@	CDS	0	0	0	00 0		; Continuous block length must be multiple of 2
+@	CDS	0	0	0	XX		; Bad hex character
+@	CDS	0	0	0			; Missing item
diff --git a/src/zscanner/tests/data/49_CDS.out b/src/zscanner/tests/data/49_CDS.out
new file mode 100644
index 0000000000000000000000000000000000000000..de4072253895da37b5f3faba6e7ae73be8b1e962
--- /dev/null
+++ b/src/zscanner/tests/data/49_CDS.out
@@ -0,0 +1,62 @@
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=0000000000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=FFFFFFFF00
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=0000010000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=0000000001020304
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=0000000000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=0000000000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003B
+RDATA=0000000000
+------
+WARNG=ZS_BAD_NUMBER
+------
+WARNG=ZS_BAD_NUMBER
+------
+WARNG=ZS_BAD_HEX_CHAR
+------
+WARNG=ZS_NUMBER16_OVERFLOW
+------
+WARNG=ZS_NUMBER8_OVERFLOW
+------
+WARNG=ZS_NUMBER8_OVERFLOW
+------
+WARNG=ZS_BAD_HEX_CHAR
+------
+WARNG=ZS_BAD_HEX_CHAR
+------
+WARNG=ZS_BAD_HEX_CHAR
+------
+WARNG=ZS_BAD_HEX_CHAR
+------
diff --git a/src/zscanner/tests/data/50_CDNSKEY.in b/src/zscanner/tests/data/50_CDNSKEY.in
new file mode 100644
index 0000000000000000000000000000000000000000..dc91462d8a8e641e02b10632cf21ea116459525d
--- /dev/null
+++ b/src/zscanner/tests/data/50_CDNSKEY.in
@@ -0,0 +1,32 @@
+$ORIGIN	.
+$TTL	1
+
+; OK
+@	CDNSKEY	0	0	0	AA==		; The simplest variant
+@	CDNSKEY	65535	255	255	AA==		; Maximal numbers
+@	CDNSKEY	0	0	RSAMD5	AA==		; Algorithm mnemonic
+@	CDNSKEY	0	0	0	Zm8=		; One char padding
+@	CDNSKEY	0	0	0	Zm9v		; Without padding
+@	CDNSKEY	0	0	0	Zm9vYg==	; Two base64 blocks
+@	CDNSKEY	0	0	0	Zm9v YmE=	; Two base64 blocks with blank space between them
+@	TYPE60	\# 5 0000000000				; TYPE + Hexadecimal rdata
+@	TYPE60	0	0	0	AA==		; TYPE
+@	cdnskey	0	0	0	AA==		; Type in lower-case
+
+; KO
+@	CDNSKEY
+@	CDNSKEY						; Empty rdata
+@	CDNSKEY	\# 0					; Hex empty rdata
+@	CDNSKEY	65536	0	0	AA==		; Type overflow
+@	CDNSKEY	0	256	0	AA==		; Key tag overflow
+@	CDNSKEY	0	0	256	AA==		; Algorithm overflow
+@	CDNSKEY	0	0	0	A		; Continuous block length must be multiple of 4
+@	CDNSKEY	0	0	0	AB		; Continuous block length must be multiple of 4
+@	CDNSKEY	0	0	0	ABC		; Continuous block length must be multiple of 4
+@	CDNSKEY	0	0	0	AA ==		; Continuous block length must be multiple of 4
+@	CDNSKEY	0	0	0	A===		; Bad padding
+@	CDNSKEY	0	0	0	=		; Bad padding
+@	CDNSKEY	0	0	0	==		; Bad padding
+@	CDNSKEY	0	0	0	===		; Bad padding
+@	CDNSKEY	0	0	0	====		; Bad padding
+@	CDNSKEY	0	0	0			; Missing item
diff --git a/src/zscanner/tests/data/50_CDNSKEY.out b/src/zscanner/tests/data/50_CDNSKEY.out
new file mode 100644
index 0000000000000000000000000000000000000000..31003139bbef4394e9c1c4022ac21d606fa414bf
--- /dev/null
+++ b/src/zscanner/tests/data/50_CDNSKEY.out
@@ -0,0 +1,92 @@
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=0000000000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=FFFFFFFF00
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=0000000100
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=00000000666F
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=00000000666F6F
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=00000000666F6F62
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=00000000666F6F6261
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=0000000000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=0000000000
+------
+OWNER=00
+CLASS=0001
+RRTTL=00000001
+RTYPE=003C
+RDATA=0000000000
+------
+WARNG=ZS_BAD_NUMBER
+------
+WARNG=ZS_BAD_NUMBER
+------
+WARNG=ZS_BAD_HEX_CHAR
+------
+WARNG=ZS_NUMBER16_OVERFLOW
+------
+WARNG=ZS_NUMBER8_OVERFLOW
+------
+WARNG=ZS_NUMBER8_OVERFLOW
+------
+WARNG=ZS_BAD_BASE64_CHAR
+------
+WARNG=ZS_BAD_BASE64_CHAR
+------
+WARNG=ZS_BAD_BASE64_CHAR
+------
+WARNG=ZS_BAD_BASE64_CHAR
+------
+WARNG=ZS_BAD_BASE64_CHAR
+------
+WARNG=ZS_BAD_RDATA
+------
+WARNG=ZS_BAD_RDATA
+------
+WARNG=ZS_BAD_RDATA
+------
+WARNG=ZS_BAD_RDATA
+------
+WARNG=ZS_BAD_RDATA
+------
diff --git a/src/zscanner/tests/processing.c b/src/zscanner/tests/processing.c
index 9bc3e1371fb97bca8ed23919a8a627e7d7aa1efd..29f8e2447918e41afa1809af9a6fe1f0a3e7bfb9 100644
--- a/src/zscanner/tests/processing.c
+++ b/src/zscanner/tests/processing.c
@@ -14,12 +14,12 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <inttypes.h>			// PRIu64
-#include <stdio.h>			// printf
+#include <inttypes.h>
+#include <stdio.h>
 
 #include "tests/processing.h"
 #include "scanner.h"
-#include "libknot/descriptor.c"		// knot_rrtype_to_string (implementation)
+#include "libknot/descriptor.c"
 
 const char *separator = "------\n";
 
diff --git a/src/zscanner/tests/tests.c b/src/zscanner/tests/tests.c
index af70d176bb403cf85fe3f8b631dd4989ecc88abb..f3da4f8ba0c386421f8fd3a34326c51ee129fc36 100644
--- a/src/zscanner/tests/tests.c
+++ b/src/zscanner/tests/tests.c
@@ -14,13 +14,13 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <inttypes.h>			// PRIu64
-#include <stdlib.h>			// putenv
-#include <stdio.h>			// printf
-#include <time.h>			// mktime
+#include <inttypes.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
 
 #include "tests/tests.h"
-#include "functions.c"			// date_to_timestamp (implementation)
+#include "functions.c"
 
 int test__date_to_timestamp()
 {
diff --git a/src/zscanner/tests/unittests.in b/src/zscanner/tests/unittests.in
index d8cb80e79036b9f226c787f4dc5a7c479b450fa2..9a4af531fc9ff6658f54315c2d135bd0b38f2892 100644
--- a/src/zscanner/tests/unittests.in
+++ b/src/zscanner/tests/unittests.in
@@ -11,7 +11,7 @@ TMPDIR=$(test_tmpdir)
 TESTS_DIR="$SOURCE"/data
 ZSCANNER_TOOL="$BUILD"/zscanner-tool
 
-plan 69
+plan 71
 
 mkdir -p "$TMPDIR"/includes/
 for a in 1 2 3 4 5 6; do
diff --git a/src/zscanner/tests/zscanner-tool.c b/src/zscanner/tests/zscanner-tool.c
index 4bdbacfab34e37d6dbcf99b7c22f6c399188038c..260ad8cfded63f7aa5d332abcc1f338ccdd56267 100644
--- a/src/zscanner/tests/zscanner-tool.c
+++ b/src/zscanner/tests/zscanner-tool.c
@@ -14,15 +14,15 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include <inttypes.h>			// PRIu64
-#include <stdio.h>			// printf
-#include <stdlib.h>			// atoi
-#include <getopt.h>			// getopt
-#include <pthread.h>			// pthread_t
+#include <getopt.h>
+#include <inttypes.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
 
-#include "scanner.h"
 #include "tests/processing.h"
 #include "tests/tests.h"
+#include "scanner.h"
 
 #define DEFAULT_MODE	1
 #define DEFAULT_CLASS	1