]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- For #787: prefer-ip6 option for unbound.conf prefers to send
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 4 Jul 2016 14:49:49 +0000 (14:49 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 4 Jul 2016 14:49:49 +0000 (14:49 +0000)
  upstream queries to ipv6 servers.

git-svn-id: file:///svn/unbound/trunk@3803 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
doc/unbound.conf.5.in
iterator/iter_utils.c
smallapp/unbound-checkconf.c
util/config_file.h
util/configlexer.c
util/configlexer.lex
util/configparser.c
util/configparser.h
util/configparser.y

index da634ec988520b9c19f73c6700240b52adbeb231..67cf334d2c7dbf6eb240ac47cc24b13dc97d133c 100644 (file)
@@ -1,3 +1,7 @@
+4 July 2016: Wouter
+       - For #787: prefer-ip6 option for unbound.conf prefers to send
+         upstream queries to ipv6 servers.
+
 30 June 2016: Wouter
        - Document always_transparent, always_refuse, always_nxdomain types.
 
index 486b74d32f107f5ccef13672ab8ce445561ef632..f6219a32e170e1d66323d1cb7d3c485464866563 100644 (file)
@@ -340,6 +340,10 @@ IPv6 to the internet nameservers.  With this option you can disable the
 ipv6 transport for sending DNS traffic, it does not impact the contents of
 the DNS traffic, which may have ip4 and ip6 addresses in it.
 .TP
+.B prefer\-ip6: \fI<yes or no>
+If enabled, prefer IPv6 transport for sending DNS queries to internet
+nameservers. Default is no.
+.TP
 .B do\-udp: \fI<yes or no>
 Enable or disable whether UDP queries are answered or issued. Default is yes.
 .TP
index a5aefa9602c2b5736bfd7a263190c4fad6c195a7..874dd6850e4e1264e6a3a1fa4e261dcfab25fbe4 100644 (file)
@@ -360,6 +360,39 @@ iter_filter_order(struct iter_env* iter_env, struct module_env* env,
                }
        }
        *selected_rtt = low_rtt;
+
+       if (env->cfg->prefer_ip6) {
+               int got_num6 = 0;
+               int low_rtt6 = 0;
+               int i;
+               prev = NULL;
+               a = dp->result_list;
+               for(i = 0; i < got_num; i++) {
+                       swap_to_front = 0;
+                       if(a->addr.ss_family == AF_INET6) {
+                               got_num6++;
+                               swap_to_front = 1;
+                               if(low_rtt6 == 0 || a->sel_rtt < low_rtt6) {
+                                       low_rtt6 = a->sel_rtt;
+                               }
+                       }
+                       /* swap to front if IPv6, or move to next result */
+                       if(swap_to_front && prev) {
+                               n = a->next_result;
+                               prev->next_result = n;
+                               a->next_result = dp->result_list;
+                               dp->result_list = a;
+                               a = n;
+                       } else {
+                               prev = a;
+                               a = a->next_result;
+                       }
+               }
+               if(got_num6 > 0) {
+                       got_num = got_num6;
+                       *selected_rtt = low_rtt6;
+               }
+       }
        return got_num;
 }
 
index 2a426cecd1aaf66d6c859f2cf2d77aff749b8008..5b763c3a821d0b312892735fbcfbf19b68c1f2dc 100644 (file)
@@ -330,6 +330,8 @@ morechecks(struct config_file* cfg, const char* fname)
                fatal_exit("num_threads value weird");
        if(!cfg->do_ip4 && !cfg->do_ip6)
                fatal_exit("ip4 and ip6 are both disabled, pointless");
+       if(!cfg->do_ip6 && cfg->prefer_ip6)
+               fatal_exit("cannot prefer and disable ip6, pointless");
        if(!cfg->do_udp && !cfg->do_tcp)
                fatal_exit("udp and tcp are both disabled, pointless");
        if(cfg->edns_buffer_size > cfg->msg_buffer_size)
index 505c66f88eaeacb51c3497d713c48495eec4fa6f..07edff7b4cf41c6a045a3b15ed105f192640a4dd 100644 (file)
@@ -75,6 +75,8 @@ struct config_file {
        int do_ip4;
        /** do ip6 query support. */
        int do_ip6;
+       /** prefer ip6 upstream queries. */
+       int prefer_ip6;
        /** do udp query support. */
        int do_udp;
        /** do tcp query support. */
index bef6080707f61e115d4b357fdba1f830c84b9bc7..159f688038e082da94d29b74f3b4b90ab0997d6b 100644 (file)
@@ -378,8 +378,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 187
-#define YY_END_OF_BUFFER 188
+#define YY_NUM_RULES 188
+#define YY_END_OF_BUFFER 189
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -387,214 +387,214 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[1874] =
+static yyconst flex_int16_t yy_accept[1880] =
     {   0,
-        1,    1,  169,  169,  173,  173,  177,  177,  181,  181,
-        1,    1,  188,  185,    1,  167,  167,  186,    2,  186,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      169,  170,  170,  171,  186,  173,  174,  174,  175,  186,
-      180,  177,  178,  178,  179,  186,  181,  182,  182,  183,
-      186,  184,  168,    2,  172,  186,  184,  185,    0,    1,
-        2,    2,    2,    2,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  169,    0,  173,    0,
-      180,    0,  177,  181,    0,  184,    0,    2,    2,  184,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  184,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  184,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,   74,  185,  185,  185,  185,  185,  185,    7,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  184,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  184,  185,  185,  185,  185,  185,   34,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  147,  185,
-       13,   14,  185,   16,   15,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  134,  185,  185,  185,
-      185,  185,  185,  185,    3,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  184,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  176,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,   37,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,   38,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,   18,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,   89,  176,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-       88,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,   72,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,   23,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,   35,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,   36,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,   25,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  161,  185,  185,  185,  185,  185,  185,   29,
-      185,   30,  185,  185,  185,   75,  185,   76,  185,   73,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,    6,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  141,
-      185,  185,  185,  185,   91,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,   26,  185,
-      185,  185,  185,  185,  185,  117,  185,  116,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,   39,  185,  185,  185,  185,  185,  185,
-      185,  185,   78,   77,  185,  185,  185,  185,  185,  185,
-      185,  113,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,   57,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,   61,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,   33,  185,  185,  185,  185,  185,  185,  185,  185,
-      115,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-        5,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  109,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  127,  185,  110,  185,  185,  139,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,   24,  185,
-      185,  185,  185,   80,  185,   81,   79,  185,  185,  185,
-      185,  185,  185,  185,   87,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  111,  185,  185,
-
-      185,  185,  185,  185,  138,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,   71,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,   31,  185,  185,   20,  185,  185,  185,
-       17,  185,   96,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,   46,   48,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  148,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,   82,  185,  185,  185,  185,  185,  185,   86,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,   90,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  133,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  100,  185,  104,  185,
-      185,  185,  185,  185,   85,  185,  185,   67,  185,  125,
-      185,  185,  185,  185,  185,  140,  185,  185,  185,  185,
-      185,  185,  185,  153,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  103,  185,  185,  185,  185,
-      185,   49,   50,  185,  185,   32,   56,  105,  185,  118,
-
-      185,  142,  114,  185,  185,   42,  185,  107,  185,  185,
-      185,  185,  185,    8,  185,  185,  185,   70,  185,  185,
-      185,  185,  163,  185,  124,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,   92,  152,  185,  185,  185,  185,
-      185,  185,  185,  185,  135,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      106,  185,  185,   41,   43,  185,  185,  185,  185,  185,
-      185,  185,   69,  185,  185,  185,  185,  162,  185,  185,
-
-      185,  185,  129,   21,   22,  185,  185,  185,  185,  185,
-      185,  185,   66,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  131,  128,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,   40,  185,  185,  185,  185,
-      185,  185,  185,   12,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,   11,  185,  185,   19,  185,  185,
-      185,  166,  185,   44,  185,  137,  130,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,   99,   98,
-      185,  185,  185,  132,  126,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,   51,  185,  185,  185,  136,  185,
-      185,  185,  185,  185,  185,  185,  185,   45,  185,  185,
-      185,   93,   95,  119,  185,  185,  185,   97,  185,  185,
-      143,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      149,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  120,  185,  185,  185,   27,  185,  185,
-      185,    4,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  151,  185,  185,  123,  185,  185,  185,  185,  185,
-      185,  185,   54,  185,   28,  146,  185,   10,  185,  185,
-
-      185,  185,  185,  121,   58,  185,  185,  185,  102,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  150,
-       83,  185,  185,  185,  185,   60,   64,   59,  185,   52,
-      185,    9,  185,  185,  164,  185,  185,  101,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,   65,   63,  185,   53,  185,  112,  185,  122,  185,
-      185,  185,  185,   94,   47,  185,  185,  185,  185,  185,
-      185,  185,   84,   62,   55,  165,  185,  185,  185,  145,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,   68,  185,  144,
-
-      160,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  108,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  156,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  154,  185,  157,  158,  185,  185,  185,  185,  185,
-      155,  159,    0
+        1,    1,  170,  170,  174,  174,  178,  178,  182,  182,
+        1,    1,  189,  186,    1,  168,  168,  187,    2,  187,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      170,  171,  171,  172,  187,  174,  175,  175,  176,  187,
+      181,  178,  179,  179,  180,  187,  182,  183,  183,  184,
+      187,  185,  169,    2,  173,  187,  185,  186,    0,    1,
+        2,    2,    2,    2,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  170,    0,  174,    0,
+      181,    0,  178,  182,    0,  185,    0,    2,    2,  185,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  185,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  185,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,   75,  186,  186,  186,  186,  186,  186,    7,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  185,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  185,  186,  186,  186,  186,  186,   35,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  148,
+      186,   13,   14,  186,   17,   16,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  135,  186,
+      186,  186,  186,  186,  186,  186,    3,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  185,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  177,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,   38,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,   39,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+       19,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,   90,  177,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,   89,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,   73,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,   24,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,   36,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,   37,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,   26,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  162,  186,  186,
+      186,  186,  186,  186,   30,  186,   31,  186,  186,  186,
+
+       76,  186,   77,  186,   74,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+        6,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  142,  186,  186,  186,  186,   92,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,   27,  186,  186,  186,  186,  186,  186,
+      118,  186,  117,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,   15,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,   40,
+      186,  186,  186,  186,  186,  186,  186,  186,   79,   78,
+      186,  186,  186,  186,  186,  186,  186,  114,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,   58,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,   62,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,   34,  186,  186,
+      186,  186,  186,  186,  186,  186,  116,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,    5,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  110,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  128,  186,
+      111,  186,  186,  140,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,   25,  186,  186,  186,  186,   81,
+      186,   82,   80,  186,  186,  186,  186,  186,  186,  186,
+       88,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  112,  186,  186,  186,  186,  186,  186,
+      139,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,   72,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,   32,
+      186,  186,   21,  186,  186,  186,   18,  186,   97,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,   47,   49,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  149,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,   83,  186,
+      186,  186,  186,  186,  186,   87,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,   91,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  134,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  101,  186,  105,  186,  186,  186,  186,  186,
+       86,  186,  186,   68,  186,  126,  186,  186,  186,  186,
+      186,  141,  186,  186,  186,  186,  186,  186,  186,  154,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  104,  186,  186,  186,  186,  186,   50,   51,  186,
+
+      186,   33,   57,  106,  186,  119,  186,  143,  115,  186,
+      186,   43,  186,  108,  186,  186,  186,  186,  186,    8,
+      186,  186,  186,   71,  186,  186,  186,  186,  164,  186,
+      125,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+       93,  153,  186,  186,  186,  186,  186,  186,  186,  186,
+      136,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  107,  186,  186,   42,
+       44,  186,  186,  186,  186,  186,  186,  186,   70,  186,
+
+      186,  186,  186,  163,  186,  186,  186,  186,  130,   22,
+       23,  186,  186,  186,  186,  186,  186,  186,   67,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      132,  129,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,   41,  186,  186,  186,  186,  186,  186,  186,   12,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+       11,  186,  186,   20,  186,  186,  186,  167,  186,   45,
+      186,  138,  131,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  100,   99,  186,  186,  186,  133,
+      127,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+       52,  186,  186,  186,  137,  186,  186,  186,  186,  186,
+      186,  186,  186,   46,  186,  186,  186,   94,   96,  120,
+      186,  186,  186,   98,  186,  186,  144,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  150,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  121,
+      186,  186,  186,   28,  186,  186,  186,    4,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  152,  186,  186,
+      124,  186,  186,  186,  186,  186,  186,  186,   55,  186,
+
+       29,  147,  186,   10,  186,  186,  186,  186,  186,  122,
+       59,  186,  186,  186,  103,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  151,   84,  186,  186,  186,
+      186,   61,   65,   60,  186,   53,  186,    9,  186,  186,
+      165,  186,  186,  102,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,   66,   64,  186,
+       54,  186,  113,  186,  123,  186,  186,  186,  186,   95,
+       48,  186,  186,  186,  186,  186,  186,  186,   85,   63,
+       56,  166,  186,  186,  186,  146,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+
+      186,  186,  186,   69,  186,  145,  161,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  109,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  157,  186,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  155,  186,  158,
+      159,  186,  186,  186,  186,  186,  156,  160,    0
     } ;
 
 static yyconst YY_CHAR yy_ec[256] =
@@ -637,22 +637,22 @@ static yyconst YY_CHAR yy_meta[40] =
         1,    1,    1,    1,    1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_uint16_t yy_base[1888] =
+static yyconst flex_uint16_t yy_base[1894] =
     {   0,
         0,    0,   37,   40,   44,   51,   63,   75,   56,   68,
-       87,  108, 2327, 2209,   50, 3703, 3703, 3703,  129,   94,
+       87,  108, 2706, 2627,   50, 3718, 3718, 3718,  129,   94,
        70,  104,  130,   90,   92,  115,  127,   95,   84,  111,
       137,  148,   50,  170,  122,  150,  157,  160,  140,  166,
-     2199, 3703, 3703, 3703,   70, 2123, 3703, 3703, 3703,   42,
-     2030, 1970, 3703, 3703, 3703,  192, 1217, 3703, 3703, 3703,
-      141, 1000, 3703,  198, 3703,  202,  197,  956,  210,  120,
+     2201, 3718, 3718, 3718,   70, 1940, 3718, 3718, 3718,   42,
+     1888, 1804, 3718, 3718, 3718,  192, 1588, 3718, 3718, 3718,
+      141, 1560, 3718,  198, 3718,  202,  197, 1310,  210,  120,
         0,  223,    0,    0,  103,  203,  180,  205,  164,  206,
       213,  210,  125,  216,  231,  218,  227,  224,  230,  233,
       234,  236,  240,  254,  238,  251,  255,  241,  252,  263,
 
       261,  264,  271,  269,  253,  270,  275,  272,  280,  274,
       173,  281,  283,  284,  286,  291,  292,  295,  297,  293,
-      300,  302,  304,  303,  310,  312,  915,  322,  882,  326,
+      300,  302,  304,  303,  310,  312, 1006,  322,  879,  326,
       690,  337,  508,  321,  333,  245,  343,  347,    0,  340,
       344,  350,  333,  346,  342,  351,  352,  353,  363,  355,
       356,  370,  369,  390,  373,  359,  371,   49,  315,  375,
@@ -675,391 +675,395 @@ static yyconst flex_uint16_t yy_base[1888] =
       684,  686,  687,  692,  694,  695,  689,  697,  700,  701,
       708,  712,  705,  720,  698,  717,  721,  724,  726,  728,
       718,  734,  737,  730,  736,  738,  739,  740,  742,  744,
-      748, 3703,  752,  746,  754,  755,  756,  757, 3703,  758,
-      759,  760,  766,  763,  768,  775,  782,  770,  771,  780,
-      781,  784,  786,  787,  789,  809,  792,  794,  790,  800,
-      804,  796,  797,  802,  818,  811,  820,  814,  821,  822,
-      823,  824,  830,  831,  834,  841,  839,  837,  843,  842,
-      848,  845,  858,  852,  859,  854,  860,  863,  861,  872,
-      868,  874,  876,  883,  885,  887,  893,  870,  889,  892,
-
-      895,  897,  898,  879,  905,  902,  904,  908,  906,  909,
-      912,  914,  913,  922,  923,  925,  929,  921,  931,  934,
-      935,  936,  942,  940,  938,  947,  949,  943,  945,  957,
-      953,  960,  962,  969,  965,  966,  975,  971,  973,  982,
-      972,  983,  984,  985,  987,  988,  989,  990,  992,  993,
-      995,  996, 1004,  997,  998, 1014, 1006, 1012, 1019, 1018,
-     1020, 1022, 1021, 1025, 1026, 1027, 1031, 1029, 1037, 1040,
-     1038, 1041, 1042, 1050, 1043, 1056, 1051, 3703, 1053, 1055,
-     1058, 1059, 1061, 1068, 1066, 1067, 1069, 1095, 3703, 1072,
-     3703, 3703, 1073, 3703, 3703, 1077, 1070, 1078, 1088, 1118,
-
-     1084, 1080, 1081, 1093, 1092, 1101, 1102, 1097, 1109, 1111,
-     1121, 1123, 1113, 1126, 1127, 1129, 1131, 1132, 1134, 1135,
-     1138, 1141, 1151, 1155, 1154, 1099, 1144, 1156, 1142, 1158,
-     1159, 1161, 1168, 1162, 1174, 1165, 3703, 1172, 1173, 1175,
-     1171, 1176, 1179, 1186, 3703, 1183, 1187, 1188, 1190, 1191,
-     1195, 1193, 1196, 1198, 1199, 1203, 1205, 1201, 1221, 1206,
-     1208, 1228, 1229, 1227, 1211, 1225, 1233, 1214, 1239, 1241,
-     1242, 1232, 1234, 1248, 1244, 1252, 1254, 1246, 1255, 1249,
-     1256, 1257, 1258, 1281, 1262, 1265, 1260, 1266, 1270, 1267,
-     1272, 1273, 1279, 1285, 1283, 1294, 1295, 1296, 1301, 1303,
-
-     1305, 1312, 1313, 1276, 1315, 1304, 1316, 1323, 1325, 1326,
-     1327, 1329, 1332, 1333, 3703, 1340, 1342, 1336, 1338, 1349,
-     1347, 1343, 1350, 1353, 1354, 1346, 1356, 1357, 1358, 1364,
-     1371, 3703, 1360, 1367, 1368, 1370, 1376, 1382, 1380, 1390,
-     1393, 1384, 3703, 1399, 1400, 1392, 1396, 1386, 1402, 1403,
-     1405, 1407, 1409, 1411, 1412, 1413, 1415, 1420, 1422, 1424,
-     1427, 1425, 1426, 1432, 1433, 1434, 1435, 3703, 1436, 1438,
-     1437, 1444, 1455, 1458, 1447, 1460, 1449, 1451, 1457, 1378,
-     1461, 1463, 1464, 1466, 3703,  158, 1467, 1470, 1473, 1476,
-     1480, 1477, 1484, 1474, 1478, 1490, 1486, 1487, 1496, 1494,
-
-     1497, 1499, 1500, 1502, 1504, 1505, 1507, 1512, 1511, 1513,
-     1519, 1515, 1521, 1523, 1524, 1526, 1529, 1532, 1535, 1534,
-     1537, 1538, 1539, 1540, 1541, 1542, 1547, 1546, 1550, 1554,
-     3703, 1569, 1557, 1558, 1555, 1567, 1556, 1578, 1565, 1574,
-     1579, 1576, 1581, 1587, 1585, 1591, 1592, 1593, 1595, 1598,
-     1599, 1583, 1605, 1607, 1606, 1608, 1614, 1609, 1615, 3703,
-     1616, 1618, 1617, 1622, 1641, 1624, 1625, 1619, 1629, 1621,
-     1637, 1646, 1642, 1648, 3703, 1649, 1650, 1651, 1654, 1656,
-     1659, 1660, 1664, 1661, 1666, 1667, 1668, 1677, 1669, 1674,
-     1672, 3703, 1688, 1689, 1685, 1691, 1692, 1693, 1694, 1696,
-
-     1682, 1697, 1703, 1699, 1704, 1706, 1707, 1708, 1710, 1711,
-     1714, 1716, 1723, 1715, 1726, 3703, 1727, 1734, 1728, 1735,
-     1306, 1739, 1745, 1744, 1741, 1742, 1747, 1749, 1750, 1751,
-     1754, 1756, 1757, 1758, 1762, 1763, 1764, 1765, 1766, 1780,
-     1781, 1770, 1759, 1782, 1783, 1772, 1785, 1796, 1799, 1800,
-     1802, 3703, 1805, 1806, 1795, 1807, 1808, 1792, 1819, 1821,
-     1798, 1809, 1815, 1823, 1824, 1831, 1825, 1827, 1829, 1832,
-     1833, 1834, 1835, 1836, 1840, 1845, 1849, 1852, 1853, 1858,
-     1859, 1862, 3703, 1860, 1839, 1865, 1869, 1863, 1876, 3703,
-     1861, 3703, 1877, 1874, 1889, 3703, 1886, 3703, 1888, 3703,
-
-     1890, 1891, 1894, 1878, 1896, 1895, 1897, 1899, 1901, 1904,
-     1902, 1906, 1907, 1908, 1913, 3703, 1914, 1915, 1919, 1923,
-     1916, 1922, 1925, 1926, 1931, 1930, 1943, 1937, 1944, 3703,
-     1940, 1948, 1941, 1945, 3703, 1949, 1952, 1950, 1955, 1958,
-     1968, 1965, 1969, 1966, 1956, 1974, 1972, 1979, 1982, 1983,
-     1984, 1985, 1991, 1987, 1988, 1995, 1992, 1989, 1996, 1998,
-     1999, 2003, 2001, 2011, 2005, 2008, 2009, 2012, 3703, 2020,
-     2017, 2021, 2024, 2026, 2027, 3703, 2029, 3703, 2040, 2034,
-     2041, 2032, 2042, 2045, 2047, 2052, 2055, 2054, 2057, 2058,
-     2060, 2062, 2063, 2068, 2065, 2066, 2069, 2067, 2072, 2082,
-
-     2073, 2085, 2075, 3703, 2091, 2089, 2100, 2092, 2096, 2104,
-     2101, 2102, 3703, 3703, 2109, 2106, 2103, 2108, 2115, 2112,
-     2113, 3703, 2118, 2120, 2125, 2129, 2132, 2126, 2122, 2133,
-     2140, 2136, 2142, 2141, 2143, 2144, 2151, 2147, 2152, 2154,
-     2157, 2158, 2165, 3703, 2162, 2166, 2169, 2171, 2172, 2173,
-     2174, 2176, 2179, 2178, 2181, 2180, 2189, 2190, 2192, 2193,
-     2194, 2197, 2198, 2203, 2205, 2206, 2216, 2217, 3703, 2224,
-     2207, 2226, 2208, 2223, 2227, 2234, 2230, 2215, 2231, 2237,
-     2236, 3703, 2238, 2239, 2241, 2245, 2246, 2248, 2250, 2253,
-     3703, 2255, 2258, 2259, 2262, 2261, 2263, 2265, 2267, 2275,
-
-     3703, 2273, 2281, 2277, 2279, 2285, 2287, 2284, 2290, 2292,
-     2288, 2294, 2298, 2296, 2300, 2302, 2303, 2305, 2306, 2307,
-     2309, 2312, 2317, 2319, 2324, 2311, 2326, 2334, 2337, 2343,
-     2344, 2327, 2333, 2346, 2347, 2348, 2349, 2331, 2355, 2351,
-     2362, 2354, 3703, 2360, 2364, 2368, 2370, 2358, 2371, 2374,
-     2375, 2376, 3703, 2382, 3703, 2380, 2372, 3703, 2386, 2389,
-     2390, 2391, 2393, 2394, 2392, 2397, 2404, 2395, 3703, 2405,
-     2401, 2403, 2407, 3703, 2415, 3703, 3703, 2408, 2418, 2425,
-     1700, 2421, 2424, 2428, 3703, 2429, 2430, 2433, 2431, 2435,
-     2437, 2439, 2441, 2438, 2442, 2443, 2445, 3703, 2447, 2444,
-
-     2448, 2454, 2455, 2458, 3703, 2460, 2469, 2461, 2470, 2471,
-     2472, 2476, 2478, 2479, 2485, 2483, 2482, 2484, 3703, 2486,
-     2489, 2491, 2493, 2497, 2498, 2506, 2502, 2508, 2504, 2511,
-     2513, 2500, 2514, 3703, 2517, 2519, 3703, 2521, 2525, 2527,
-     3703, 2529, 3703, 2530, 2531, 2528, 2532, 2538, 2533, 2540,
-     2544, 2547, 2549, 2548, 2557, 2550, 2555, 3703, 3703, 2560,
-     2562, 2565, 2566, 2568, 2569, 2577, 2573, 2582, 3703, 2570,
-     2574, 2576, 2583, 2584, 2585, 2586, 2591, 2588, 2593, 2596,
-     2594, 2597, 3703, 2600, 2604, 2605, 2606, 2607, 2609, 3703,
-     2611, 2612, 2613, 2617, 2621, 2632, 2636, 2638, 2614, 2639,
-
-     2641, 2643, 2645, 2646, 2648, 2649, 2651, 2654, 2655, 3703,
-     2656, 2658, 2659, 2663, 2664, 2660, 2622, 2668, 2671, 2672,
-     2673, 2675, 2677, 3703, 2679, 2680, 2681, 2683, 2686, 2689,
-     2693, 2690, 2697, 2695, 2700, 2701, 2702, 2705, 2707, 2709,
-     2710, 2711, 2713, 2715, 2724, 2717, 3703, 2723, 3703, 2726,
-     2730, 2737, 2733, 2736, 3703, 2738, 2739, 3703, 2740, 3703,
-     2741, 2745, 2746, 2747, 2755, 3703, 2758, 2749, 2760, 2762,
-     2751, 2764, 2767, 3703, 2769, 2772, 2771, 2776, 2777, 2778,
-     2780, 2779, 2782, 2790, 2788, 3703, 2786, 2791, 2798, 2795,
-     2804, 3703, 3703, 2800, 2807, 3703, 3703, 3703, 2810, 3703,
-
-     2801, 3703, 3703, 2811, 2813, 3703, 2818, 3703, 2820, 2821,
-     2789, 2823, 2824, 3703, 2825, 2826, 2828, 3703, 2830, 2836,
-     2832, 2833, 3703, 2835, 3703, 2837, 2841, 2840, 2846, 2853,
-     2856, 2858, 2847, 2849, 2860, 2861, 2862, 2863, 2864, 2866,
-     2869, 2870, 2871, 2875, 2876, 2879, 2880, 2877, 2882, 2885,
-     2887, 2898, 2902, 2905, 3703, 3703, 2883, 2889, 2886, 2894,
-     2909, 2899, 2910, 2911, 3703, 2916, 2913, 2917, 2920, 2921,
-     2923, 2926, 2925, 2930, 2932, 2931, 2933, 2934, 2938, 2936,
-     3703, 2937, 2940, 3703, 3703, 2945, 2947, 2952, 2954, 2955,
-     2958, 2960, 3703, 2961, 2962, 2968, 2970, 3703, 2972, 2963,
-
-     2975, 2978, 3703, 3703, 3703, 2979, 2981, 2984, 2985, 2986,
-     2987, 2988, 3703, 2989, 2992, 2994, 2995, 3001, 3008, 2998,
-     3014, 3011, 3013, 3018, 3703, 3703, 3002, 3024, 3021, 3022,
-     3020, 3023, 3026, 3028, 3030, 3703, 3032, 3031, 3037, 3036,
-     3039, 3040, 3043, 3703, 3044, 3046, 3051, 3054, 3055, 3047,
-     3057, 3059, 3060, 3062, 3703, 3064, 3065, 3703, 3071, 3069,
-     3072, 3703, 3076, 3703, 3080, 3703, 3703, 3081, 3084, 3086,
-     3091, 3093, 3095, 3082, 3088, 3103, 3097, 3104, 3703, 3703,
-     3110, 3106, 3116, 3703, 3703, 3113, 3107, 3114, 3099, 3115,
-     3120, 3122, 3123, 3128, 3126, 3129, 3131, 3127, 3133, 3137,
-
-     3139, 3140, 3141, 3144, 3703, 3147, 3148, 3150, 3703, 3152,
-     3154, 3156, 3158, 3159, 3163, 3166, 3168, 3703, 3169, 3171,
-     3172, 3703, 3703, 3703, 3175, 3181, 3176, 3703, 3184, 3186,
-     3703, 3191, 3173, 3199, 3188, 3196, 3192, 3203, 3195, 3205,
-     3703, 3202, 3207, 3212, 3213, 3206, 3208, 3214, 3218, 3223,
-     3216, 3230, 3219, 3703, 3232, 3235, 3236, 3703, 3240, 3225,
-     3227, 3703, 3243, 3237, 3246, 3248, 3253, 3254, 3249, 3255,
-     3257, 3259, 3263, 3258, 3260, 3266, 3267, 3265, 3276, 3274,
-     3278, 3703, 3282, 3279, 3703, 3283, 3285, 3289, 3287, 3296,
-     3301, 3297, 3703, 3304, 3703, 3703, 3305, 3703, 3308, 3309,
-
-     3310, 3312, 3313, 3703, 3703, 3314, 3316, 3320, 3703, 3317,
-     3321, 3324, 3326, 3327, 3328, 3331, 3332, 3330, 3334, 3703,
-     3703, 3333, 3343, 3345, 3336, 3703, 3703, 3703, 3355, 3703,
-     3348, 3703, 3357, 3358, 3703, 3360, 3361, 3703, 3362, 3364,
-     3365, 3368, 3370, 3374, 3363, 3371, 3375, 3377, 3378, 3381,
-     3385, 3703, 3703, 3390, 3703, 3392, 3703, 3394, 3703, 3387,
-     3397, 3395, 3402, 3703, 3703, 3290, 3408, 3404, 3406, 3405,
-     3407, 3412, 3703, 3703, 3703, 3703, 3409, 3414, 3415, 3703,
-     3416, 3417, 3419, 3421, 3420, 3422, 3426, 3432, 3433, 3444,
-     3446, 3435, 3448, 3437, 3449, 3455, 3451, 3703, 3452, 3703,
-
-     3703, 3454, 3461, 3463, 3457, 3459, 3460, 3466, 3468, 3469,
-     3470, 3474, 3476, 3484, 3475, 3477, 3485, 3486, 3492, 3488,
-     3500, 3499, 3496, 3501, 3502, 3509, 3505, 3506, 3703, 3508,
-     3510, 3511, 3512, 3514, 3517, 3516, 3526, 3531, 3518, 3533,
-     3528, 3537, 3534, 3538, 3539, 3543, 3542, 3703, 3544, 3546,
-     3550, 3552, 3553, 3555, 3556, 3559, 3563, 3557, 3566, 3568,
-     3570, 3703, 3573, 3703, 3703, 3576, 3572, 3579, 3583, 3585,
-     3703, 3703, 3703, 3611, 3618, 3625, 3632, 3639,   94, 3646,
-     3653, 3660, 3667, 3674, 3681, 3688, 3695
+      748, 3718,  752,  746,  754,  755,  756,  757, 3718,  759,
+      758,  760,  766,  763,  768,  775,  785,  770,  771,  781,
+      782,  784,  787,  789,  790,  810,  794,  796,  791,  803,
+      797,  801,  812,  795,  822,  804,  817,  824,  806,  827,
+      828,  831,  832,  830,  834,  842,  835,  841,  843,  844,
+      854,  846,  855,  848,  861,  857,  862,  863,  865,  874,
+      870,  876,  878,  885,  887,  889,  895,  871,  891,  893,
+
+      899,  898,  900,  901,  908,  904,  868,  907,  906,  911,
+      913,  917,  914,  923,  916,  926,  930,  927,  920,  935,
+      936,  937,  943,  939,  941,  947,  946,  942,  948,  958,
+      954,  966,  964,  963,  970,  971,  972,  978,  974,  976,
+      982,  955,  980,  986,  975,  987,  989,  990,  991,  992,
+      996,  997,  998, 1007, 1000, 1003, 1016, 1014, 1009, 1021,
+     1012, 1004, 1024, 1025, 1029, 1031, 1030, 1036, 1027, 1033,
+     1039, 1042, 1044, 1043, 1047, 1050, 1052, 1054, 3718, 1060,
+     1057, 1058, 1064, 1065, 1072, 1066, 1068, 1059, 1087, 3718,
+     1070, 3718, 3718, 1073, 3718, 3718, 1069, 1075, 1089, 1100,
+
+     1110, 1097, 1080, 1079, 1088, 1108, 1094, 1115, 1103, 1119,
+     1121, 1124, 1125, 1131, 1113, 1123, 1134, 1136, 1137, 1135,
+     1139, 1140, 1142, 1151, 1152, 1155, 1148, 1156, 1159, 1160,
+     1161, 1162, 1149, 1171, 1163, 1165, 1179, 1175, 3718, 1176,
+     1177, 1180, 1181, 1187, 1182, 1189, 3718, 1184, 1191, 1190,
+     1193, 1198, 1199, 1201, 1202, 1203, 1204, 1207, 1208, 1209,
+     1218, 1212, 1214, 1229, 1230, 1227, 1226, 1234, 1233, 1235,
+     1236, 1244, 1240, 1241, 1242, 1252, 1248, 1250, 1254, 1251,
+     1257, 1258, 1260, 1262, 1263, 1285, 1264, 1267, 1272, 1270,
+     1269, 1274, 1275, 1278, 1279, 1282, 1297, 1298, 1299, 1291,
+
+     1281, 1300, 1309, 1316, 1317, 1307, 1321, 1308, 1320, 1327,
+     1324, 1330, 1331, 1333, 1335, 1336, 3718, 1342, 1341, 1339,
+     1346, 1353, 1349, 1347, 1351, 1355, 1356, 1350, 1357, 1361,
+     1363, 1364, 1372, 3718, 1368, 1370, 1374, 1375, 1378, 1379,
+     1376, 1390, 1397, 1382, 3718, 1386, 1399, 1400, 1393, 1403,
+     1405, 1406, 1407, 1408, 1409, 1410, 1413, 1414, 1412, 1416,
+     1424, 1426, 1419, 1429, 1431, 1433, 1434, 1438, 1436, 1439,
+     3718, 1440, 1442, 1446, 1443, 1453, 1461, 1447, 1460, 1450,
+     1463, 1464, 1470, 1465, 1471, 1467, 1468, 3718,  158, 1473,
+     1474, 1472, 1484, 1490, 1491, 1494, 1481, 1488, 1498, 1482,
+
+     1500, 1501, 1505, 1504, 1507, 1510, 1509, 1511, 1512, 1513,
+     1516, 1515, 1525, 1475, 1518, 1526, 1528, 1529, 1537, 1530,
+     1534, 1531, 1541, 1543, 1544, 1545, 1546, 1547, 1552, 1553,
+     1554, 1555, 1562, 3718, 1566, 1550, 1572, 1563, 1573, 1567,
+     1582, 1574, 1576, 1584, 1586, 1587, 1594, 1591, 1595, 1597,
+     1603, 1598, 1601, 1605, 1608, 1614, 1615, 1611, 1613, 1627,
+     1620, 1624, 1612, 3718, 1625, 1618, 1628, 1630, 1649, 1637,
+     1631, 1632, 1638, 1635, 1634, 1655, 1642, 1661, 3718, 1662,
+     1658, 1656, 1667, 1664, 1669, 1671, 1673, 1670, 1674, 1677,
+     1678, 1680, 1682, 1686, 1687, 3718, 1693, 1696, 1697, 1703,
+
+     1695, 1689, 1699, 1706, 1701, 1082, 1712, 1709, 1711, 1713,
+     1714, 1715, 1717, 1718, 1720, 1719, 1727, 1722, 1728, 3718,
+     1730, 1740, 1741, 1734, 1744, 1747, 1753, 1751, 1752, 1754,
+     1736, 1756, 1759, 1757, 1758, 1765, 1766, 1760, 1767, 1768,
+     1770, 1771, 1772, 1780, 1786, 1776, 1788, 1789, 1792, 1782,
+     1795, 1801, 1807, 1805, 1808, 3718, 1811, 1812, 1799, 1813,
+     1814, 1815, 1824, 1826, 1820, 1822, 1827, 1829, 1830, 1837,
+     1831, 1833, 1835, 1838, 1842, 1840, 1843, 1844, 1846, 1847,
+     1863, 1855, 1864, 1865, 1866, 1867, 1870, 3718, 1851, 1874,
+     1877, 1879, 1881, 1890, 3718, 1869, 3718, 1886, 1892, 1899,
+
+     3718, 1896, 3718, 1898, 3718, 1900, 1904, 1902, 1884, 1906,
+     1907, 1908, 1911, 1913, 1914, 1916, 1918, 1921, 1922, 1919,
+     3718, 1926, 1928, 1930, 1927, 1934, 1935, 1936, 1937, 1946,
+     1947, 1956, 1939, 1958, 3718, 1949, 1961, 1943, 1964, 3718,
+     1950, 1965, 1967, 1968, 1969, 1976, 1973, 1977, 1980, 1981,
+     1989, 1995, 1982, 1984, 1991, 1993, 1994, 2001, 1997, 1998,
+     2005, 2007, 2000, 2008, 2009, 2011, 2014, 2017, 2021, 2015,
+     2019, 2022, 2023, 3718, 2032, 2033, 2027, 2034, 2037, 2024,
+     3718, 2043, 3718, 2048, 2050, 2051, 2045, 2055, 2052, 2057,
+     2059, 2065, 2073, 2054, 2062, 2067, 2070, 2076, 2077, 3718,
+
+     2078, 2079, 2080, 2082, 2086, 2083, 2090, 2087, 2093, 3718,
+     2106, 2094, 2107, 2104, 2100, 2113, 2109, 2114, 3718, 3718,
+     2116, 2115, 2118, 2119, 2126, 2125, 2127, 3718, 2129, 2130,
+     2132, 2135, 2139, 2133, 2131, 2143, 2147, 2148, 2150, 2151,
+     2152, 2153, 2160, 2156, 2159, 2161, 2166, 2170, 2175, 3718,
+     2171, 2169, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2188,
+     2189, 2190, 2195, 2203, 2199, 2202, 2204, 2207, 2208, 2212,
+     2214, 2215, 2222, 2223, 3718, 2230, 2216, 2232, 2218, 2236,
+     2237, 2244, 2233, 2229, 2231, 2253, 2240, 3718, 2241, 2242,
+     2257, 2250, 2258, 2254, 2261, 2264, 3718, 2262, 2267, 2269,
+
+     2268, 2270, 2272, 2277, 2273, 2280, 3718, 2281, 2287, 2285,
+     2288, 2294, 2297, 2291, 2301, 2293, 2300, 2303, 2304, 2307,
+     2308, 2309, 2311, 2313, 2314, 2315, 2317, 2318, 2325, 2321,
+     2339, 2319, 2329, 2336, 2342, 2349, 2350, 2334, 2346, 2352,
+     2351, 2353, 2354, 2355, 2361, 2359, 2367, 2364, 3718, 2365,
+     2369, 2372, 2374, 2375, 2377, 2379, 2382, 2378, 3718, 2385,
+     3718, 2386, 2391, 3718, 2392, 2394, 2396, 2397, 2399, 2400,
+     2398, 2405, 2412, 2401, 3718, 2408, 2411, 2413, 2414, 3718,
+     2425, 3718, 3718, 2418, 2421, 2431, 2427, 2436, 2428, 2439,
+     3718, 2434, 2432, 2442, 2440, 2445, 2446, 2447, 2448, 2450,
+
+     2453, 2451, 2454, 3718, 2456, 2455, 2462, 2464, 2463, 2472,
+     3718, 2465, 2478, 2467, 2482, 2473, 2483, 2484, 2485, 2486,
+     2495, 2491, 2492, 2494, 3718, 2497, 2498, 2500, 2507, 2504,
+     2501, 2514, 2510, 2511, 2517, 2518, 2520, 2523, 2524, 3718,
+     2526, 2528, 3718, 2525, 2534, 2535, 3718, 2537, 3718, 2539,
+     2540, 2541, 2544, 2547, 2548, 2550, 2542, 2552, 2558, 2559,
+     2565, 2562, 2567, 3718, 3718, 2569, 2571, 2574, 2575, 2577,
+     2578, 2584, 2581, 2583, 3718, 2585, 2588, 2590, 2591, 2592,
+     2594, 2595, 2599, 2600, 2601, 2602, 2603, 2605, 3718, 2608,
+     2609, 2615, 2614, 2618, 2617, 3718, 2620, 2622, 2623, 2626,
+
+     2628, 2642, 2645, 2647, 2637, 2648, 2650, 2654, 2656, 2632,
+     2658, 2621, 2660, 2663, 2664, 3718, 2665, 2667, 2668, 2672,
+     2673, 2669, 2674, 2678, 2681, 2676, 2682, 2684, 2686, 3718,
+     2688, 2689, 2690, 2692, 2699, 2700, 2702, 2704, 2706, 2709,
+     2710, 2711, 2713, 2714, 2715, 2720, 2717, 2724, 2726, 2723,
+     2734, 2739, 3718, 2721, 3718, 2731, 2744, 2747, 2748, 2746,
+     3718, 2750, 2751, 3718, 2752, 3718, 2753, 2754, 2755, 2758,
+     2762, 3718, 2768, 2763, 2771, 2769, 2773, 2774, 2778, 3718,
+     2776, 2782, 2784, 2786, 2788, 2789, 2790, 2792, 2795, 2801,
+     2798, 3718, 2797, 2802, 2810, 2806, 2809, 3718, 3718, 2815,
+
+     2816, 3718, 3718, 3718, 2819, 3718, 2820, 3718, 3718, 2821,
+     2823, 3718, 2825, 3718, 2832, 2830, 2828, 2833, 2834, 3718,
+     2835, 2836, 2841, 3718, 2837, 2847, 2843, 2845, 3718, 2850,
+     3718, 2851, 2857, 2852, 2853, 2863, 2865, 2868, 2869, 2870,
+     2871, 2872, 2873, 2874, 2875, 2877, 2878, 2880, 2882, 2886,
+     2889, 2890, 2891, 2893, 2894, 2896, 2898, 2908, 2910, 2914,
+     3718, 3718, 2897, 2900, 2905, 2912, 2919, 2920, 2921, 2922,
+     3718, 2925, 2926, 2929, 2930, 2931, 2933, 2934, 2937, 2942,
+     2943, 2944, 2946, 2947, 2948, 2952, 3718, 2954, 2955, 3718,
+     3718, 2957, 2964, 2959, 2960, 2965, 2969, 2976, 3718, 2970,
+
+     2978, 2987, 2971, 3718, 2989, 2973, 2991, 2994, 3718, 3718,
+     3718, 2995, 2979, 2997, 2998, 2999, 2981, 3002, 3718, 3005,
+     3007, 3008, 3009, 3015, 3017, 3011, 3026, 3022, 3029, 3031,
+     3718, 3718, 3019, 3038, 3035, 3036, 3025, 3037, 3040, 3042,
+     3043, 3718, 3046, 3044, 3045, 3050, 3051, 3053, 3056, 3718,
+     3057, 3061, 3063, 3067, 3064, 3068, 3069, 3071, 3072, 3074,
+     3718, 3075, 3078, 3718, 3085, 3086, 3087, 3718, 3092, 3718,
+     3095, 3718, 3718, 3088, 3096, 3098, 3104, 3106, 3110, 3099,
+     3107, 3116, 3113, 3114, 3718, 3718, 3120, 3122, 3129, 3718,
+     3718, 3125, 3123, 3126, 3127, 3132, 3133, 3135, 3136, 3138,
+
+     3137, 3142, 3148, 3144, 3153, 3139, 3150, 3154, 3151, 3157,
+     3718, 3162, 3164, 3165, 3718, 3166, 3169, 3174, 3172, 3173,
+     3180, 3182, 3183, 3718, 3185, 3175, 3186, 3718, 3718, 3718,
+     3191, 3189, 3193, 3718, 3198, 3200, 3718, 3197, 3199, 3210,
+     3207, 3208, 3209, 3217, 3214, 3216, 3718, 3218, 3220, 3222,
+     3225, 3223, 3224, 3226, 3230, 3231, 3233, 3242, 3234, 3718,
+     3244, 3247, 3249, 3718, 3251, 3248, 3252, 3718, 3255, 3257,
+     3258, 3261, 3263, 3264, 3265, 3266, 3270, 3273, 3278, 3272,
+     3267, 3282, 3288, 3281, 3294, 3274, 3296, 3718, 3298, 3290,
+     3718, 3299, 3301, 3302, 3306, 3311, 3313, 3303, 3718, 3317,
+
+     3718, 3718, 3318, 3718, 3321, 3314, 3322, 3324, 3325, 3718,
+     3718, 3326, 3333, 3335, 3718, 3327, 3329, 3336, 3338, 3337,
+     3339, 3342, 3343, 3344, 3346, 3718, 3718, 3348, 3353, 3355,
+     3359, 3718, 3718, 3718, 3367, 3718, 3369, 3718, 3371, 3362,
+     3718, 3375, 3364, 3718, 3372, 3377, 3380, 3383, 3385, 3387,
+     3378, 3389, 3388, 3391, 3393, 3394, 3400, 3718, 3718, 3402,
+     3718, 3406, 3718, 3408, 3718, 3410, 3411, 3414, 3416, 3718,
+     3718, 3417, 3423, 3419, 3421, 3424, 3427, 3425, 3718, 3718,
+     3718, 3718, 3428, 3430, 3434, 3718, 3431, 3436, 3435, 3437,
+     3440, 3438, 3444, 3447, 3451, 3453, 3458, 3461, 3462, 3439,
+
+     3465, 3473, 3469, 3718, 3470, 3718, 3718, 3471, 3477, 3479,
+     3475, 3478, 3476, 3482, 3481, 3484, 3486, 3487, 3488, 3498,
+     3492, 3501, 3504, 3505, 3507, 3494, 3519, 3516, 3517, 3508,
+     3518, 3525, 3521, 3522, 3718, 3523, 3526, 3529, 3530, 3531,
+     3533, 3534, 3541, 3546, 3539, 3549, 3536, 3551, 3552, 3554,
+     3557, 3558, 3560, 3718, 3562, 3564, 3565, 3566, 3570, 3568,
+     3572, 3573, 3578, 3575, 3581, 3589, 3583, 3718, 3592, 3718,
+     3718, 3593, 3586, 3594, 3596, 3600, 3718, 3718, 3718, 3626,
+     3633, 3640, 3647, 3654,   94, 3661, 3668, 3675, 3682, 3689,
+     3696, 3703, 3710
+
     } ;
 
-static yyconst flex_int16_t yy_def[1888] =
+static yyconst flex_int16_t yy_def[1894] =
     {   0,
-     1873,    1, 1874, 1874, 1875, 1875, 1876, 1876, 1877, 1877,
-     1878, 1878, 1873, 1879, 1873, 1873, 1873, 1873, 1880, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1881, 1873, 1873, 1873, 1881, 1882, 1873, 1873, 1873, 1882,
-     1883, 1873, 1873, 1873, 1873, 1883, 1884, 1873, 1873, 1873,
-     1884, 1885, 1873, 1886, 1873, 1885, 1885, 1879, 1879, 1873,
-     1887, 1880, 1887, 1880, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1881, 1881, 1882, 1882,
-     1883, 1883, 1873, 1884, 1884, 1885, 1885, 1886, 1886, 1885,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1885, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1885, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879,    1, 1880, 1880, 1881, 1881, 1882, 1882, 1883, 1883,
+     1884, 1884, 1879, 1885, 1879, 1879, 1879, 1879, 1886, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1887, 1879, 1879, 1879, 1887, 1888, 1879, 1879, 1879, 1888,
+     1889, 1879, 1879, 1879, 1879, 1889, 1890, 1879, 1879, 1879,
+     1890, 1891, 1879, 1892, 1879, 1891, 1891, 1885, 1885, 1879,
+     1893, 1886, 1893, 1886, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1887, 1887, 1888, 1888,
+     1889, 1889, 1879, 1890, 1890, 1891, 1891, 1892, 1892, 1891,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1891, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1891, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1891, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1891, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1879, 1879, 1885, 1879, 1879, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1891, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1891, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1879, 1885, 1885, 1885,
+
+     1879, 1885, 1879, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1879, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1879,
+     1885, 1879, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1879, 1885, 1885, 1885, 1879, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1879, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1879, 1885, 1879, 1885, 1885, 1885, 1885,
+     1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1879, 1885, 1885, 1885, 1885, 1885, 1879, 1879, 1885,
+
+     1885, 1879, 1879, 1879, 1885, 1879, 1885, 1879, 1879, 1885,
+     1885, 1879, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1879, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1879,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1879, 1879,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1879, 1885, 1885, 1885, 1879, 1885, 1879,
+     1885, 1879, 1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1879, 1885, 1885, 1885, 1879,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1879, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1879, 1879, 1879,
+     1885, 1885, 1885, 1879, 1885, 1885, 1879, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1879, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1885,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885,
+
+     1879, 1879, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1879,
+     1879, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1879, 1879, 1885, 1885, 1885,
+     1885, 1879, 1879, 1879, 1885, 1879, 1885, 1879, 1885, 1885,
+     1879, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1879, 1885,
+     1879, 1885, 1879, 1885, 1879, 1885, 1885, 1885, 1885, 1879,
+     1879, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1879,
+     1879, 1879, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+
+     1885, 1885, 1885, 1879, 1885, 1879, 1879, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1879, 1885, 1885, 1885, 1885, 1885, 1885,
+     1885, 1885, 1885, 1885, 1885, 1885, 1885, 1879, 1885, 1879,
+     1879, 1885, 1885, 1885, 1885, 1885, 1879, 1879,    0, 1879,
      1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879
 
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1885, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1885, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1873, 1873, 1879, 1873, 1873, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1885, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1885, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1873,
-     1879, 1873, 1879, 1879, 1879, 1873, 1879, 1873, 1879, 1873,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1873, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1873, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1873, 1879, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1873, 1879, 1873, 1873, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1873, 1879, 1879, 1879,
-     1873, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1873,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1873, 1879, 1873,
-     1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879,
-     1879, 1873, 1873, 1879, 1879, 1873, 1873, 1873, 1879, 1873,
-
-     1879, 1873, 1873, 1879, 1879, 1873, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1873, 1879, 1879,
-     1879, 1879, 1873, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1873, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1873, 1879, 1879, 1873, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1879, 1879, 1879, 1873, 1879, 1879,
-
-     1879, 1879, 1873, 1873, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1873, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1873, 1879, 1879,
-     1879, 1873, 1879, 1873, 1879, 1873, 1873, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1873,
-     1879, 1879, 1879, 1873, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-
-     1879, 1879, 1879, 1879, 1873, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879,
-     1879, 1873, 1873, 1873, 1879, 1879, 1879, 1873, 1879, 1879,
-     1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1873, 1879, 1879, 1879, 1873, 1879, 1879,
-     1879, 1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1879, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1879, 1873, 1873, 1879, 1873, 1879, 1879,
-
-     1879, 1879, 1879, 1873, 1873, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873,
-     1873, 1879, 1879, 1879, 1879, 1873, 1873, 1873, 1879, 1873,
-     1879, 1873, 1879, 1879, 1873, 1879, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1873, 1879, 1873, 1879, 1873, 1879, 1873, 1879,
-     1879, 1879, 1879, 1873, 1873, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1873, 1873, 1873, 1873, 1879, 1879, 1879, 1873,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1873,
-
-     1873, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1873, 1879, 1879,
-     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
-     1879, 1873, 1879, 1873, 1873, 1879, 1879, 1879, 1879, 1879,
-     1873, 1873,    0, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873
     } ;
 
-static yyconst flex_uint16_t yy_nxt[3743] =
+static yyconst flex_uint16_t yy_nxt[3758] =
     {   0,
        14,   15,   16,   17,   18,   19,   18,   14,   14,   14,
        14,   18,   20,   21,   14,   22,   23,   24,   25,   14,
@@ -1145,337 +1149,338 @@ static yyconst flex_uint16_t yy_nxt[3743] =
        69,  412,   69,  415,  417,  414,   69,  416,   69,   69,
        69,   69,   69,  422,   69,  421,   69,  419,   69,  423,
        69,  425,  420,  418,   69,  426,   69,   69,   69,   69,
-       69,   69,   69,  435,  428,   69,  429,  424,   69,  427,
-       69,  431,   69,   69,  436,  437,  434,   69,  430,  439,
-      432,  433,   69,   69,   69,  438,   69,  443,   69,   69,
-
-      440,   69,   69,  445,   69,  441,   69,  456,   69,   69,
-      460,  444,   69,  442,   69,  446,   69,  457,  455,  458,
-      447,   69,  448,   69,  453,  454,   69,  449,  459,  450,
-       69,  462,   69,   69,   69,   69,   69,  451,  463,  461,
-      468,  465,   69,   69,  464,  469,  137,  452,  473,   69,
-      472,   69,  466,   69,   69,   69,  467,   69,  471,  478,
-       69,  470,  477,  474,   69,  480,   69,  475,  476,  479,
-       69,   69,   69,   69,  482,   69,  481,  484,  485,  488,
-       69,  483,   69,  489,   69,  491,   69,  492,   69,  486,
-      493,   69,  487,  490,  130,   69,  494,   69,  495,   69,
-
-      496,   69,  500,  497,   69,   69,  498,   69,  499,   69,
-       69,  503,  504,  501,   69,  502,   69,   69,   69,  505,
-       69,   69,  511,  507,   69,   69,   69,  128,  508,  515,
-      506,  513,  509,   69,   69,   69,  510,   69,  520,  514,
-      517,   69,  512,   69,  516,  518,   69,   69,   69,  525,
-       69,  522,   69,  527,   69,   69,  521,   69,  526,   69,
-      524,   69,  528,  523,  532,   69,  529,  519,   69,   69,
-      533,  531,   69,  530,   69,  534,  536,   69,   69,  535,
-      537,   69,  540,   69,   69,   69,  546,   69,  542,  544,
-      538,  539,  541,  545,   69,   69,   69,   69,  548,   69,
-
-       69,   69,   69,  543,   69,   69,  553,   69,   69,   69,
-       69,  558,  137,  554,  547,  549,   69,  550,   69,  551,
-      555,  552,  562,  557,   69,  556,   69,  561,  559,  560,
-       69,   69,   69,   69,   69,  563,  564,   69,   69,   69,
-      568,   69,  569,   69,  571,  570,  565,  567,  572,   69,
-       69,  566,   69,  137,   69,   69,  574,  578,  577,  573,
-      584,  575,   69,   69,  576,   69,  579,   69,   69,  581,
-       69,   69,  583,   69,  586,  589,  580,  582,   69,   69,
-       69,   69,   69,  587,   69,   69,  590,  585,  601,   69,
-       69,  588,   69,   69,  602,  603,   69,  591,  600,  598,
-
-       69,  611,  599,  615,   69,   69,  592,   69,  614,   69,
-      612,   69,  593,   69,   69,  617,  594,  636,  613,  595,
-      616,   69,  619,   69,  618,   69,  596,  623,  620,  597,
-       69,  604,  605,   69,  606,   69,  621,  607,   69,   69,
-      622,   69,  608,   69,   69,  628,   69,   69,  609,  610,
-       69,  627,  632,   69,   69,  631,   69,  624,  633,  625,
-      626,  629,  634,   69,  637,  630,   69,   69,   69,  635,
-       69,   69,  639,   69,   69,  640,  638,   69,  641,  643,
-       69,  645,  644,   69,   69,   69,   69,   69,   69,  651,
-      649,   69,  642,  647,  648,   69,  646,  650,   69,   69,
-
-       69,  653,   69,   69,  656,   69,  652,   69,   69,  654,
-       69,   69,  662,   69,  661,   69,  655,   69,   69,  667,
-       69,  657,  658,   69,  665,  659,   69,  660,  663,  135,
-      664,  666,  668,   69,  670,  671,  672,   69,  669,   69,
-       69,   69,  674,  673,   69,   69,   69,  677,  679,  675,
-      676,   69,  678,   69,   69,  683,   69,  680,   69,  682,
-       69,   69,  681,  685,   69,  686,  137,   69,   69,   69,
-       69,  688,   69,  687,   69,  699,  684,   69,   69,   69,
-      689,  700,   69,  691,   69,   69,  703,  701,   69,  705,
-      692,   69,  690,   69,  704,   69,  693,   69,  694,  706,
-
-      722,  708,  695,  702,  696,  707,   69,   69,   69,  697,
-      709,  710,  712,   69,  698,   69,   69,   69,   69,  717,
-      938,  711,  713,  716,   69,   69,  718,   69,   69,  715,
-      724,  719,  723,  720,  714,   69,  726,   69,   69,   69,
-      725,   69,  727,  731,   69,   69,  728,  733,   69,  732,
-       69,  721,   69,  729,   69,   69,  737,  734,   69,   69,
-      730,   69,   69,  736,  738,   69,   69,  735,   69,   69,
-       69,  740,   69,  744,  739,  742,   69,  743,  748,   69,
-       69,  741,   69,   69,  746,  747,  796,  752,   69,  745,
-       69,  749,   69,  753,   69,  751,   69,  750,   69,  754,
-
-      757,  755,   69,  756,   69,   69,  759,  763,   69,  758,
-      760,   69,   69,  761,   69,   69,  762,   69,  765,   69,
-      768,   69,  764,   69,   69,   69,  770,   69,  771,  766,
-      772,  775,   69,  774,   69,  767,   69,   69,   69,   69,
-      769,  773,  778,  776,   69,   69,   69,   69,   69,   69,
-       69,  783,  784,  786,  777,  779,   69,  780,  782,   69,
-      787,   69,  789,   69,  781,  790,  785,   69,  788,   69,
-       69,  792,   69,   69,  791,   69,   69,  794,   69,   69,
-      793,  795,   69,  804,  798,   69,   69,  805,   69,   69,
-       69,  797,   69,  801,  806,  799,   69,  802,   69,   69,
-
-      808,  807,   69,  800,  809,  803,   69,  810,   69,   69,
-      816,   69,   69,  811,   69,  813,   69,   69,  812,   69,
-      821,  814,  819,   69,   69,   69,  817,   69,  815,  822,
-      823,   69,  818,   69,  825,   69,   69,  820,   69,  824,
-      828,   69,  827,  830,   69,  826,   69,   69,  832,   69,
-       69,   69,   69,   69,   69,  829,  833,  836,   69,   69,
-      831,  834,   69,  837,  835,  841,   69,   69,   69,   69,
-       69,  838,  840,  842,  839,  844,  845,   69,  847,   69,
-      850,   69,  843,  846,  849,  851,   69,  848,   69,  852,
-       69,   69,  855,   69,  858,   69,  853,   69,  859,   69,
-
-      854,  856,  857,   69,   69,   69,  862,   69,  860,  861,
-       69,   69,  867,  866,  868,  864,  863,   69,   69,   69,
-       69,   69,  876,  869,  870,  865,   69,   69,   69,   69,
-       69,   69,  878,   69,   69,  871,   69,   69,  877,  886,
-      872,   69,  873,  881,  874,  879,  875,  880,  882,   69,
-      884,  888,  883,   69,   69,  887,  885,  890,   69,  892,
-       69,   69,   69,   69,  893,  896,   69,  894,   69,  891,
-      898,   69,   69,   69,  889,  900,   69,  899,   69,   69,
-       69,   69,  895,  902,   69,  904,   69,  903,  897,   69,
-      905,  908,  907,  901,   69,  909,  910,   69,  912,  906,
-
-       69,   69,  911,   69,   69,   69,   69,  916,   69,   69,
-      919,   69,   69,  913,  917,   69,   69,  915,   69,   69,
-       69,  925,   69,   69,  914,  920,   69,   69,   69, 1287,
-      923,  921,  918,  929,  930,   69,  922,  924,   69,   69,
-       69,  934,  926,  932,  928,  935,   69,   69,  927,  936,
-      931,   69,  940,   69,   69,  937,   69,   69,  933,   69,
-      941,   69,   69,   69,  942,  939,   69,  946,   69,   69,
-       69,   69,  949,  943,   69,   69,   69,   69,   69,  945,
-      960,  947,   69,  956,   69,  944,  948,  950,  952,  951,
-      953,  954,   69,   69,   69,   69,  955,   69,  958,  957,
-
-      959,  962,  964,  965,   69,  963,  966,   69,   69,  961,
-       69,   69,   69,  967,   69,  968,  969,   69,   69,   69,
-       69,   69,  970,  974,  972,  971,  975,   69,  977,  979,
-      976,   69,  978,   69,  973,   69,   69,   69,  984,   69,
-      980,   69,  983,   69,   69,   69,   69,   69,   69,  992,
-     1004,   69,   69,  981,  982,  993,  985,   69,  986,  989,
-      987,   69,  991,  988,   69,   69,  995,  990,  996,  994,
-       69,   69,   69,   69,   69,   69, 1000,   69,  997,  998,
-     1001,   69, 1005, 1008,  999, 1006,   69, 1011,   69,   69,
-       69, 1009, 1003, 1002, 1010, 1007, 1012, 1013,   69, 1014,
-
-       69,   69,   69,   69, 1016, 1015,   69,   69,   69,   69,
-     1022,   69, 1020,   69,   69, 1018,   69, 1024,   69,   69,
-       69, 1017, 1019, 1027, 1021,   69,   69,   69,   69, 1026,
-     1029,   69, 1032, 1023,   69,   69, 1025,   69,   69, 1028,
-     1033, 1031,   69,   69, 1030, 1038, 1036, 1039, 1034,   69,
-     1040, 1042,   69,   69, 1035,   69,   69,   69, 1037, 1044,
-       69,   69,   69, 1046,   69, 1048, 1043,   69,   69, 1041,
-       69,  133, 1045, 1051, 1049, 1054, 1052,   69,   69, 1060,
-       69,   69, 1055, 1057,   69, 1047,   69, 1050, 1053, 1059,
-     1056,   69, 1061, 1058,   69,   69,   69,   69, 1066,   69,
-
-       69,   69, 1065,   69,   69, 1068, 1069,   69,   69, 1070,
-       69,   69, 1062,   69, 1063,   69, 1064,   69, 1077, 1071,
-       69,   69, 1067,   69,   69, 1074, 1076, 1075, 1072,   69,
-     1073, 1082,   69,   69, 1083, 1080,   69, 1078,   69,   69,
-     1079,   69,  132, 1085,   69, 1081,   69, 1086, 1084, 1092,
-     1087, 1091,   69,   69,   69, 1088, 1089,   69, 1093,   69,
-     1094, 1090, 1100, 1095,   69, 1101,   69,   69, 1097,   69,
-       69, 1098,   69, 1099,   69,   69, 1096,   69,   69,   69,
-       69,   69, 1110, 1103,   69,   69, 1114,   69, 1105, 1102,
-     1104, 1106, 1107, 1112,   69, 1111, 1109,   69, 1119, 1113,
-
-     1115,   69, 1108,   69,   69, 1118, 1116, 1121,   69, 1117,
-     1122, 1124,   69,   69,   69,   69,   69, 1126,   69, 1120,
-       69,   69, 1132, 1127,   69,   69, 1125,   69, 1123, 1128,
-       69, 1129,   69, 1130,   69,  130, 1136,   69,   69, 1131,
-     1133,   69, 1137, 1134,   69,   69, 1138, 1140,   69, 1139,
-     1135, 1143,   69,   69,   69,   69,   69, 1141, 1149,   69,
-     1142, 1145, 1144,   69,   69, 1146,   69, 1147, 1153,   69,
-       69, 1150, 1152, 1154,   69, 1148, 1155,   69,   69, 1156,
-     1158,   69, 1151,   69,   69,   69,   69, 1157,   69, 1160,
-       69,   69,   69,   69, 1161, 1159, 1164, 1170, 1162, 1165,
-
-     1169,   69,   69, 1163,   69,   69,   69, 1168, 1174,   69,
-       69,  128, 1166, 1167, 1176,   69, 1177,   69,   69,   69,
-       69,   69, 1178, 1179, 1172, 1171, 1173,   69,   69,   69,
-     1175, 1181, 1180, 1183, 1185,   69,   69, 1182,   69,   69,
-     1186, 1187,   69,   69, 1194, 1184,   69, 1192,   69,   69,
-       69,   69, 1198,   69, 1188, 1189, 1190,   69,   69, 1200,
-       69, 1191,   69, 1193, 1196,   69, 1203,   69, 1195, 1205,
-       69,   69, 1197,   69,   69,   69, 1204,   69, 1210,   69,
-     1201, 1207, 1208, 1199, 1202,   69, 1206,   69, 1214,   69,
-     1213,   69, 1217,   69, 1218, 1219,   69,   69, 1216,   69,
-
-       69, 1209,   69, 1212,   69, 1211,   69, 1220,   69, 1215,
-       69, 1225,   69, 1221,   69,   69, 1228,   69,   69,   69,
-     1222,   69, 1224,   69,   69, 1223, 1873, 1232, 1234,   69,
-     1226,   69, 1229, 1233, 1231, 1237,   69, 1230,   69,   69,
-     1227, 1240, 1235,   69, 1238,   69,   69, 1236, 1241,   69,
-     1242, 1244, 1239, 1247, 1243,   69,   69, 1246,   69,   69,
-       69,   69, 1252,   69, 1249, 1245,   69,   69, 1251, 1254,
-       69, 1248,   69, 1250,   69, 1256,   69, 1257, 1255, 1258,
-       69, 1259,   69,   69,   69, 1253,   69,   69,   69, 1261,
-     1260, 1262,   69, 1263,   69, 1266, 1267, 1264,   69, 1265,
-
-     1269,   69,   69,   69,   69,   69,   69,   69, 1274,   69,
-     1268, 1276, 1271,   69, 1275,   69,   69,   69, 1278,   69,
-       69, 1277, 1270, 1272, 1281, 1273, 1283,   69, 1282, 1279,
-       69, 1280, 1286,   69, 1288, 1284,   69,   69, 1289, 1290,
-       69,   69,   69,   69, 1285,   69, 1293,   69, 1291,   69,
-       69,   69, 1294,   69,   69,   69,   69,   69, 1304,   69,
-       69, 1296, 1292, 1297, 1303, 1298,   69,   69, 1295, 1300,
-       69, 1306,   69,   69, 1307, 1301, 1299, 1302, 1305, 1308,
-     1310,   69,   69,   69,   69, 1313, 1309, 1312,   69, 1314,
-       69,   69, 1318, 1315,   69,   69,   69,   69,   69, 1311,
-
-     1319,   69, 1324,   69, 1321,   69, 1325, 1320, 1316,   69,
-       69, 1317,   69, 1328,   69, 1323,   69, 1322,   69, 1329,
-       69, 1335, 1330,   69, 1326,   69,   69, 1334, 1331,   69,
-     1327,   69, 1332,   69, 1337, 1333, 1338,   69, 1336,   69,
-       69,   69,   69,   69,   69,   69, 1339, 1342, 1343, 1347,
-       69, 1349,   69, 1346, 1348, 1341,   69, 1340, 1344,   69,
-       69,   69,   69, 1351, 1354, 1345, 1352,   69, 1355,   69,
-     1356, 1358,   69, 1353,   69, 1350, 1360,   69,   69, 1361,
-       69,   69,   69, 1359, 1364,   69,   69, 1357,   69,   69,
-     1365, 1368, 1362, 1366,   69,   69,   69,   69,   69, 1363,
-
-       69, 1371, 1374,   69, 1375,   69,   69, 1367,   69,   69,
-     1370, 1369,   69, 1377, 1373, 1372,   69,   69,   69,   69,
-     1376,   69, 1386,   69,   69,   69,   69, 1387, 1379,   69,
-     1873, 1384, 1378,   69,   69, 1380, 1382, 1411, 1388, 1383,
-     1381, 1394, 1385, 1389,   69, 1391, 1390, 1392,   69, 1393,
-       69,   69, 1396,   69, 1397,   69, 1398,   69,   69, 1400,
-       69,   69, 1402,   69, 1395, 1403,   69,   69,   69, 1406,
-       69,   69,   69, 1405, 1408,   69,   69, 1399, 1410, 1401,
-       69, 1412, 1414,   69,   69,   69, 1404,   69, 1418,   69,
-     1407,   69,   69,   69, 1409,   69, 1413, 1423,   69, 1422,
-
-     1416,   69,   69, 1415, 1425,   69, 1417,   69, 1421,   69,
-     1427, 1419,   69,   69,   69, 1420, 1428,   69, 1430,   69,
-     1424,   69,   69,   69, 1429,   69, 1434,   69, 1426,   69,
-     1432, 1439, 1436, 1440, 1437,   69,   69, 1435,   69, 1431,
-     1433, 1438,   69, 1443, 1444,   69, 1445, 1442,   69,   69,
-       69,   69,   69,   69, 1446, 1441, 1451,   69,   69,   69,
-     1449,   69, 1452,   69, 1450, 1448, 1455,   69, 1447, 1456,
-       69, 1454,   69, 1458,   69, 1457,   69, 1460, 1453,   69,
-     1462,   69, 1465,   69,   69, 1463, 1459, 1464,   69,   69,
-       69,   69,   69, 1466,   69, 1461, 1469, 1472,   69, 1471,
-
-       69,   69,   69,   69, 1468, 1476, 1473,   69, 1475, 1467,
-       69, 1470,   69,   69, 1474, 1477,   69, 1488, 1478,   69,
-     1480, 1481,   69,   69, 1484,   69, 1479, 1486, 1483, 1485,
-       69, 1482,   69,   69, 1487,   69,   69,   69,   69, 1493,
-       69, 1490,   69, 1495,   69,   69, 1498,   69,   69,   69,
-     1492, 1494,   69,   69, 1499, 1500, 1491, 1489,   69,   69,
-     1497,   69, 1496, 1502, 1503,   69, 1501, 1504,   69, 1505,
-       69, 1506,   69,   69,   69,   69,   69, 1513,   69, 1507,
-     1511,   69,   69,   69, 1508, 1509, 1510,   69,   69,   69,
-     1514,   69,   69, 1520,   69,   69, 1512,   69,   69,   69,
-
-     1517,   69, 1523, 1516, 1524, 1519,   69, 1521, 1515, 1525,
-       69,   69, 1518, 1526,   69, 1528, 1522,   69, 1527, 1529,
-     1530,   69,   69,   69, 1535,   69, 1531, 1536,   69,   69,
-     1532, 1533,   69,   69, 1537,   69, 1538,   69,   69, 1545,
-     1534, 1544,   69,   69,   69,   69,   69, 1539,   69,   69,
-       69, 1540,   69, 1541, 1542, 1549, 1543,   69, 1551,   69,
-     1547, 1546, 1554, 1555,   69, 1548,   69,   69, 1550, 1558,
-       69, 1552,   69,   69,   69,   69, 1559, 1553, 1561, 1562,
-       69, 1556,   69, 1564,   69, 1557, 1566,   69, 1560, 1567,
-       69,   69, 1568,   69, 1565, 1563,   69,   69,   69,   69,
-
-       69,   69, 1571, 1572,   69, 1570,   69,   69, 1574, 1576,
-       69, 1577, 1579,   69,   69, 1569, 1575, 1581, 1573, 1580,
-       69, 1582, 1578,   69, 1584,   69,   69, 1586, 1583, 1585,
-       69, 1587,   69,   69,   69,   69,   69, 1588,   69, 1589,
-       69, 1590,   69,   69,   69, 1593, 1592, 1595,   69,   69,
-     1591,   69,   69, 1600, 1594,   69,   69, 1598,   69,   69,
-     1599, 1596, 1597,   69, 1601, 1605,   69,   69, 1607,   69,
-     1609,   69,   69, 1608,   69, 1602,   69,   69, 1603, 1611,
-     1610,   69, 1604,   69,   69, 1612, 1606, 1614,   69, 1617,
-     1613, 1618,   69,   69,   69, 1615,   69, 1620,   69, 1616,
-
-       69, 1621, 1622,   69, 1623,   69, 1624,   69, 1628,   69,
-     1627,   69, 1625, 1619, 1626,   69,   69, 1630,   69,   69,
-     1629, 1631,   69, 1633, 1632,   69,   69,   69,   69, 1638,
-     1634, 1637,   69, 1641,   69,   69, 1635, 1636,   69,   69,
-       69,   69, 1645,   69, 1646,   69, 1640, 1639, 1643,   69,
-     1648,   69,   69,   69, 1642, 1647,   69, 1644, 1654,   69,
-       69, 1651,   69, 1655,   69, 1658,   69, 1656,   69, 1649,
-       69,   69, 1659, 1652, 1662,   69, 1653, 1650,   69, 1660,
-       69,   69, 1657,   69,   69,   69, 1661,   69,   69, 1664,
-     1665, 1663, 1668,   69, 1669, 1666,   69, 1670,   69, 1672,
-
-       69, 1671, 1673,   69,   69, 1675, 1676,   69,   69, 1667,
-     1680,   69, 1674, 1678,   69,   69, 1682,   69,   69,   69,
-       69, 1677, 1679, 1685,   69,   69,   69, 1687,   69, 1686,
-       69,   69, 1681, 1683, 1684,   69, 1688,   69, 1690,   69,
-     1691, 1693,   69, 1695,   69, 1689, 1696,   69,   69,   69,
-     1694, 1698,   69, 1697, 1692,   69, 1701, 1699,   69, 1704,
-       69,   69, 1700, 1702, 1705,   69,   69,   69, 1709,   69,
-       69,   69,   69, 1707, 1710,   69, 1711,   69,   69,   69,
-     1703, 1714, 1712, 1717, 1715, 1706,   69, 1708,   69, 1720,
-       69,   69, 1713, 1721,   69,   69, 1716,   69, 1726,   69,
-
-     1723,   69,   69, 1718, 1719, 1781, 1725, 1727,   69,   69,
-     1722, 1724, 1728,   69, 1729, 1730,   69,   69, 1731, 1732,
-       69,   69,   69, 1735,   69,   69,   69, 1738,   69,   69,
-     1736, 1734,   69,   69, 1737, 1733,   69, 1739,   69,   69,
-       69, 1742,   69,   69,   69,   69,   69, 1744,   69, 1740,
-     1743, 1750, 1754, 1741, 1752,   69, 1753,   69, 1745, 1746,
-       69, 1747, 1748, 1749, 1756, 1751, 1755,   69, 1757,   69,
-       69, 1759,   69,   69,   69,   69,   69,   69, 1763, 1764,
-       69, 1765,   69,   69, 1758, 1762,   69,   69, 1760,   69,
-       69, 1766, 1761,   69, 1770, 1771, 1773,   69, 1768,   69,
-
-     1767, 1774,   69, 1775,   69, 1776,   69,   69, 1769,   69,
-     1778, 1777, 1772, 1780,   69, 1782,   69,   69,   69,   69,
-       69,   69, 1779, 1784,   69, 1788,   69,   69,   69,   69,
-     1783,   69,   69,   69,   69, 1873, 1785, 1786,   69, 1791,
-     1787, 1790, 1792, 1798,   69,   69, 1789,   69, 1795,   69,
-     1793, 1794, 1802, 1797, 1799, 1800,   69, 1801,   69, 1796,
-       69,   69, 1806,   69,   69, 1803,   69,   69, 1810,   69,
-     1811,   69,   69,   69, 1804,   69, 1805, 1807,   69, 1808,
-       69,   69,   69, 1812, 1813, 1809,   69,   69,   69,   69,
-     1823, 1814, 1815, 1820, 1817, 1818,   69,   69,   69, 1816,
-
-       69, 1821, 1824, 1825,   69, 1819, 1822, 1828,   69, 1826,
-     1829,   69,   69,   69,   69, 1830, 1833,   69,   69, 1827,
-       69,   69,   69,   69,   69, 1836,   69, 1840,   69,   69,
-       69, 1835, 1831, 1832, 1841, 1845, 1834, 1839,   69, 1843,
-       69, 1837, 1838,   69, 1844,   69,   69, 1842, 1848,   69,
-       69,   69, 1846, 1849,   69,   69,   69, 1850,   69, 1847,
-     1852, 1854,   69, 1855,   69,   69, 1858,   69,   69,   69,
-     1851,   69, 1861, 1853, 1862,   69, 1863, 1864,   69, 1865,
-       69, 1856,   69, 1857,   69,   69, 1859, 1860,   69, 1866,
-     1867,   69, 1873, 1868, 1871,   69, 1872,   69, 1873, 1873,
-
-     1873, 1873, 1873, 1869, 1873, 1873, 1873, 1873, 1873, 1873,
-     1870,   41,   41,   41,   41,   41,   41,   41,   46,   46,
-       46,   46,   46,   46,   46,   51,   51,   51,   51,   51,
-       51,   51,   57,   57,   57,   57,   57,   57,   57,   62,
-       62,   62,   62,   62,   62,   62,   72,   72, 1873,   72,
-       72,   72,   72,  127,  127, 1873, 1873, 1873,  127,  127,
-      129,  129, 1873, 1873,  129, 1873,  129,  131, 1873, 1873,
-     1873, 1873, 1873,  131,  134,  134, 1873, 1873, 1873,  134,
-      134,  136, 1873, 1873, 1873, 1873, 1873,  136,  138,  138,
-     1873,  138,  138,  138,  138,   73,   73, 1873,   73,   73,
-
-       73,   73,   13, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873
+       69,   69,   69,  436,  428,   69,  429,  424,   69,  427,
+       69,  431,   69,   69,  437,  438,  435,   69,  430,  432,
+      434,  433,  440,   69,   69,  439,   69,   69,  444,   69,
+
+      441,   69,   69,   69,  446,  442,   69,   69,   69,   69,
+      457,  445,  459,   69,  443,   69,   69,  447,   69,  456,
+      458,  448,   69,  449,   69,  461,  454,  455,  450,   69,
+      451,  464,  462,  460,   69,  463,   69,  467,  452,   69,
+       69,  465,   69,   69,   69,  469,  137,   69,  453,  474,
+      473,  466,  470,   69,   69,   69,   69,  472,   69,  475,
+       69,  468,  481,  471,  478,  479,   69,   69,  477,   69,
+      480,  476,  482,   69,   69,   69,  483,   69,  486,  485,
+       69,  489,   69,   69,  484,  490,   69,  492,   69,  493,
+       69,  130,  494,  487,  507,  491,  488,   69,  495,   69,
+
+      496,   69,  497,   69,  498,   69,  501,   69,  499,  500,
+       69,   69,   69,   69,  502,  505,   69,  503,   69,   69,
+       69,  506,  508,   69,  512,   69,   69,  509,   69,   69,
+      516,  510,   69,  504,  514,   69,  511,  517,   69,   69,
+      515,  518,   69,  513,  521,  522,  519,   69,   69,   69,
+      526,   69,  523,   69,   69,   69,  528,  527,   69,   69,
+       69,  525,  529,  530,  524,  533,   69,   69,  520,  548,
+       69,  534,  531,  535,  532,   69,   69,  538,   69,  536,
+      537,  539,   69,   69,   69,  542,   69,   69,   69,  546,
+       69,  544,   69,  547,   69,  543,  540,  541,   69,   69,
+
+      550,   69,   69,   69,   69,  551,  545,  555,   69,   69,
+       69,  549,   69,  556,  560,   69,   69,  552,  128,   69,
+      553,   69,  554,  557,   69,  559,   69,  558,   69,  563,
+      564,  561,  565,   69,  562,  568,   69,   69,  566,   69,
+      567,   69,   69,   69,  570,   69,  571,  573,   69,  569,
+      572,   69,  576,  574,   69,   69,  137,  575,  580,   69,
+      577,  579,   69,  581,   69,  583,   69,  586,  578,   69,
+       69,   69,   69,  584,  588,  585,   69,   69,   69,  591,
+       69,   69,   69,  582,   69,   69,  592,   69,  589,  587,
+      602,   69,   69,  603,   69,  590,  594,  600,  593,   69,
+
+       69,   69,  601,  616,  595,  604,   69,  605,  596,   69,
+      614,  597,   69,  618,  613,   69,  615,  923,  598,  617,
+       69,  599,   69,  606,  607,   69,  608,   69,  619,  609,
+      620,   69,  621,   69,  610,   69,   69,   69,  622,  623,
+      611,  612,  624,   69,  626,  625,   69,   69,   69,   69,
+      630,   69,   69,  634,   69,  627,  629,  633,  635,  636,
+       69,   69,  631,   69,   69,  628,  638,   69,   69,  632,
+      637,   69,   69,   69,   69,   69,  639,   69,  642,  640,
+      644,  643,  645,   69,  646,  647,  648,   69,   69,   69,
+      641,   69,   69,   69,   69,  652,   69,  650,  651,   69,
+
+      654,   69,   69,   69,  656,   69,  649,  653,  659,  655,
+       69,   69,  657,   69,   69,   69,   69,  658,  665,   69,
+       69,   69,  664,  660,   69,  661,   69,  670,  668,  671,
+       69,  663,  662,  666,  669,  667,  674,  675,   69,   69,
+      673,   69,   69,  676,  672,   69,   69,   69,   69,  681,
+      679,  682,   69,   69,   69,  683,   69,  677,  678,  686,
+       69,  688,   69,   69,   69,  689,  137,  685,  680,   69,
+       69,  684,   69,  691,   69,   69,   69,  702,  690,   69,
+      687,   69,   69,  703,   69,  706,   69,   69,  694,  692,
+       69,   69,  708,   69,   69,  695,  693,   69,  711,  704,
+
+      696,  707,  697,   69,  709,  710,  698,  705,  699,   69,
+       69,   69,   69,  700,  717,  713,  715,  716,  701,   69,
+       69,   69,   69,  720,  712,  714,  718,  719,   69,   69,
+      721,  725,   69,   69,  727,  722,   69,  723,  726,   69,
+      729,  730,   69,   69,  728,   69,  734,   69,   69,  736,
+      731,   69,  735,   69,   69,  724,  737,  732,   69,   69,
+      740,   69,   69,   69,  733,   69,  741,   69,   69,   69,
+      738,  739,  743,   69,  747,   69,   69,  745,  742,  751,
+       69,  746,   69,  744,   69,  750,   69,   69,   69,  749,
+       69,   69,  755,  748,   69,  756,  757,  758,   69,  752,
+
+      753,  754,   69,  759,  760,   69,  763,  761,  767,   69,
+      764,   69,   69,  765,  762,   69,  766,   69,   69,   69,
+       69,   69,   69,  772,   69,   69,   69,  774,   69,  768,
+      775,   69,  776,  770,  778,  779,   69,  769,   69,  771,
+      777,   69,  773,   69,  782,   69,   69,  780,   69,  781,
+       69,   69,   69,  787,   69,   69,  788,  790,   69,   69,
+      793,  783,   69,  786,  784,   69,  785,  792,  794,  791,
+      789,  796,   69,   69,  795,   69,   69,   69,  800,   69,
+       69,  797,   69,   69,   69,   69,   69,   69,  799,  798,
+      829,  808,  802,   69,   69,  801,   69,  809,  803,  805,
+
+       69,  806,   69,   69,  807,  804,   69,  812,  810,  815,
+       69,  811,   69,   69,  813,  814,   69,   69,  820,   69,
+      817,   69,   69,   69,   69,   69,  825,   69,   69,  823,
+       69,  816,  818,  826,  827,  819,  821,   69,   69,  822,
+       69,   69,   69,   69,  824,  832,   69,  831,  830,   69,
+      836,  828,  837,   69,  834,   69,   69,   69,   69,   69,
+      833,  835,   69,  840,   69,   69,   69,   69,  838,  841,
+      839,  845,  137,  849,   69,   69,  850,  842,   69,   69,
+      843,  846,  844,  848,   69,   69,   69,  847,   69,  855,
+      853,  854,  851,  856,   69,  852,   69,  859,   69,   69,
+
+      135,  862,  858,   69,  863,  857,   69,   69,  861,   69,
+       69,  860,  864,   69,  865,   69,  866,   69,  868,  867,
+       69,  871,  872,   69,   69,   69,   69,   69,  873,  874,
+       69,  869,   69,  880,  881,  882,   69,   69,  870,   69,
+       69,  883,   69,   69,   69,  884,   69,   69,  875,   69,
+       69,  886,  891,  876,   69,  877,  887,  878,  885,  879,
+      888,   69,  890,  889,  892,  893,  895,   69,   69,  896,
+       69,  894,  897,   69,   69,  899,   69,  898,  901,   69,
+      903,   69,   69,   69,  905,   69,   69,  900,  904,   69,
+       69,  907,   69,  910,   69,  909,  902,  908,   69,   69,
+
+      914,   69,  906,  915,  912,   69,  913,   69,   69,   69,
+      917,   69,  911,   69,  916,   69,  918,  921,   69,  924,
+      919,   69,  920,   69,   69,   69,   69,   69,  930,   69,
+       69,   69,   69,  922,   69,  925,  934,  928,  935,   69,
+       69,  926,   69,  927,  929,  937,   69,  939,   69,  931,
+      933,  940,   69,   69,  942,  932,   69,  936,  943,   69,
+      945,  938,  941,   69,   69,   69,   69,  946,   69,   69,
+       69,   69,   69,  944,  949,  947,  951,   69,   69,   69,
+       69,  954,   69,   69,   69,  948,  950,  952,   69,  961,
+      953,  956,   69,  957,   69,  958,  955,  959,   69,  962,
+
+       69,   69,  960,  963,   69,  133,  964,   69,  970,  965,
+      967,   69,  969,   69,  971,  968,  966,   69,  972,   69,
+       69,  973,  974,   69,   69,   69,   69,   69,  975,  976,
+      977,  980,   69,  982,   69,  981,   69,  983,   69,   69,
+      978,   69,   69,   69,  989,   69,  979,   69,  988,   69,
+       69,  984,   69,  985,   69,   69,   69,  997,   69,   69,
+      987,  998,  990,   69,  991,  986,  992,   69,  994,  993,
+      996,  999, 1001,  995, 1000,   69,   69,   69,   69,   69,
+     1002,   69,   69, 1009, 1006, 1010,   69, 1004, 1007,   69,
+     1003,   69, 1005,   69, 1011, 1012,   69, 1014,   69, 1015,
+
+      132, 1008,   69, 1016,   69, 1017, 1018, 1019,   69, 1020,
+       69,   69,   69, 1013,   69, 1021,   69, 1022,   69,   69,
+       69, 1024, 1028,   69, 1026,   69,   69, 1030,   69, 1023,
+       69,   69, 1025,   69,   69, 1027, 1035, 1033,   69,   69,
+       69, 1032,   69, 1038, 1039, 1029,   69,   69,   69,   69,
+     1031,   69,  130, 1034, 1037,   69, 1036, 1042,   69,   69,
+     1044,   69,   69, 1046, 1045, 1048, 1040, 1041,   69, 1043,
+       69, 1047, 1050,   69, 1051, 1049,   69,   69, 1054,   69,
+       69,   69, 1052, 1060, 1057,   69, 1053, 1058,   69,   69,
+     1061, 1055,   69,   69,   69, 1067,   69, 1063, 1062, 1059,
+
+     1056,   69, 1066,   69, 1065,   69,   69,   69, 1072,   69,
+       69, 1071,   69,   69, 1068, 1074, 1075,   69, 1064,   69,
+       69,   69, 1069,   69, 1076, 1070,   69,   69, 1083,   69,
+     1077,   69, 1073,   69,   69,   69,   69, 1080, 1081,   69,
+     1078, 1079, 1082, 1088,   69,   69,   69, 1084, 1086,   69,
+     1089, 1085, 1094, 1091, 1090,   69, 1087,   69, 1092, 1097,
+       69, 1093,   69,   69,   69, 1098,   69,   69, 1099,   69,
+     1095,   69, 1106, 1100,   69, 1096, 1101,   69, 1103,   69,
+     1105, 1104,   69, 1102, 1107,   69, 1108, 1109,   69,   69,
+       69,   69,   69, 1116,   69,   69, 1111, 1110,   69,   69,
+
+     1119, 1113,   69, 1120, 1112,   69,   69, 1118, 1122, 1115,
+     1117, 1123,   69, 1125, 1127, 1114,   69, 1121,   69,   69,
+     1130,   69, 1128, 1124, 1126,   69,   69,   69,   69, 1132,
+       69,   69, 1129, 1138, 1131, 1133, 1134,   69,   69,   69,
+     1135,   69,   69,   69,   69,   69, 1142,   69, 1136, 1143,
+     1137,   69, 1144, 1139, 1146,   69, 1145, 1140, 1149,   69,
+       69, 1141,   69,   69,   69,   69, 1147, 1155,   69, 1151,
+     1148,   69,   69,   69, 1150, 1152, 1153, 1159,   69, 1158,
+     1156,   69,   69,   69, 1154, 1160, 1161,   69, 1162, 1157,
+     1163, 1164,   69,   69,   69,   69,   69,   69,   69, 1166,
+
+       69,   69,   69, 1170, 1167, 1165, 1175,   69, 1168, 1171,
+     1176,   69, 1169,  128,   69,   69,   69, 1174, 1180,   69,
+       69, 1173, 1172, 1182,   69, 1183,   69,   69,   69, 1185,
+       69, 1184, 1177, 1178,   69,   69, 1179, 1187, 1186, 1189,
+     1181,   69,   69,   69,   69,   69, 1188, 1191,   69,   69,
+     1192, 1193,   69,   69,   69, 1190,   69, 1194, 1195, 1196,
+     1200, 1198,   69, 1199, 1197,   69,   69, 1202, 1204,   69,
+       69, 1206, 1201,   69,   69, 1203,   69, 1209, 1211,   69,
+       69,   69,   69, 1210,   69,   69, 1207, 1213, 1205,   69,
+     1216, 1214,   69,   69, 1220, 1208, 1212,   69, 1219,   69,
+
+       69, 1223, 1225,   69, 1224,   69,   69, 1222, 1218,   69,
+     1215, 1217,   69,   69, 1227,   69,   69, 1221, 1226,   69,
+       69,   69, 1231,   69, 1234,   69,   69,   69, 1230,   69,
+       69,   69, 1228,   69, 1229, 1238, 1240,   69, 1232, 1239,
+     1235,   69, 1237, 1246, 1241, 1236,   69, 1233,   69, 1242,
+     1243,   69, 1244, 1247,   69, 1245, 1248, 1250,   69, 1253,
+     1249,   69,   69,   69,   69,   69,   69,   69, 1258, 1255,
+     1252,   69, 1251,   69, 1260, 1254,   69,   69, 1256,   69,
+     1262,   69, 1263, 1264,   69, 1265,   69,   69, 1261,   69,
+       69,   69, 1257, 1259,   69, 1267, 1268,   69,   69, 1270,
+
+     1269, 1272, 1271,   69,   69, 1275,   69, 1266,   69,   69,
+       69,   69,   69,   69, 1280, 1273, 1274,   69, 1277, 1282,
+       69, 1284, 1281,   69,   69,   69,   69, 1283, 1276, 1278,
+       69, 1279, 1285,   69, 1287, 1288, 1289,   69, 1292,   69,
+       69, 1286, 1295,   69,   69, 1290,   69, 1291,   69, 1294,
+     1296,   69,   69, 1297,   69, 1299, 1293,   69,   69,   69,
+       69, 1300,   69,   69, 1298,   69,   69,   69,   69, 1310,
+     1302, 1303, 1304, 1309,   69,   69,   69,   69, 1301,   69,
+     1306, 1312, 1313, 1307,   69,   69, 1308, 1319, 1305, 1316,
+       69, 1315, 1311, 1314,   69,   69,   69,   69,   69, 1318,
+
+     1320, 1321, 1324,   69,   69, 1317,   69,   69, 1325,   69,
+       69, 1330,   69,   69, 1327, 1322,   69, 1326, 1323,   69,
+     1331, 1334,   69,   69, 1329, 1336,   69, 1335, 1328,   69,
+       69, 1332,   69, 1333, 1340,   69,   69,   69,   69, 1338,
+       69, 1337, 1339, 1343, 1341, 1344,   69,   69, 1342,   69,
+     1345,   69,   69,   69,   69, 1348,   69, 1349, 1353,   69,
+       69, 1355,   69, 1347,   69, 1352, 1346, 1350, 1357, 1354,
+       69,   69, 1360, 1356,   69, 1358, 1361,   69, 1351,   69,
+     1364,   69, 1362,   69, 1359, 1366,   69,   69, 1367,   69,
+       69, 1370, 1365,   69, 1372,   69,   69,   69, 1371, 1363,
+
+       69, 1368,   69,   69,   69, 1374,   69,   69, 1369, 1377,
+     1380,   69,   69,   69,   69,   69, 1381,   69, 1376, 1383,
+       69,   69, 1373, 1379, 1378, 1375,   69,   69, 1382,   69,
+       69, 1392,   69,   69,   69,   69, 1385, 1393,   69,   69,
+       69, 1384, 1390, 1386,   69, 1387, 1388, 1389, 1394,   69,
+     1391, 1407, 1395, 1396,   69, 1397, 1398,   69, 1399,   69,
+       69, 1402,   69, 1405, 1400, 1403,   69, 1404,   69, 1406,
+       69, 1408,   69, 1401, 1409,   69,   69,   69, 1412,   69,
+       69,   69, 1411, 1414,   69,   69,   69, 1416,   69, 1417,
+       69, 1418, 1420,   69,   69, 1410,   69, 1424,   69, 1413,
+
+       69,   69,   69, 1415,   69, 1879, 1419, 1421, 1428, 1422,
+     1429,   69,   69, 1431,   69, 1423,   69, 1427,   69, 1433,
+     1425,   69,   69,   69, 1426,   69,   69,   69, 1436,   69,
+     1434, 1430,   69,   69, 1435,   69,   69, 1440,   69, 1438,
+     1879, 1445, 1432,   69, 1441, 1442,   69, 1443, 1439, 1444,
+     1437,   69, 1448, 1447, 1450, 1446,   69, 1449,   69,   69,
+       69, 1451,   69,   69,   69,   69,   69,   69, 1457, 1452,
+       69, 1458, 1455, 1461,   69,   69, 1456, 1454, 1453, 1462,
+       69,   69, 1460,   69, 1464,   69,   69, 1459,   69, 1463,
+       69, 1468, 1469, 1465,   69, 1471,   69, 1470,   69, 1466,
+
+       69,   69,   69, 1472,   69, 1467, 1475,   69, 1478,   69,
+       69, 1879, 1477,   69,   69, 1474, 1479, 1482,   69, 1481,
+     1473,   69,   69, 1484, 1476, 1480, 1483,   69,   69, 1486,
+     1487,   69,   69,   69, 1490,   69, 1491,   69, 1489, 1492,
+       69, 1485,   69, 1493,   69,   69,   69,   69,   69,   69,
+     1488, 1496, 1499,   69, 1501,   69, 1494,   69, 1500,   69,
+     1498, 1504,   69,   69,   69,   69, 1497, 1495, 1505,   69,
+     1508, 1506, 1503, 1502, 1509,   69, 1510,   69, 1507, 1511,
+       69,   69,   69,   69,   69,   69,   69,   69, 1519,   69,
+       69, 1517,   69, 1512,   69, 1514, 1515, 1516,   69, 1520,
+
+     1513,   69,   69,   69, 1526,   69,   69, 1518,   69,   69,
+       69, 1523,   69, 1529, 1522, 1530, 1525,   69, 1521, 1531,
+       69, 1532,   69, 1527,   69, 1524,   69, 1533, 1528, 1534,
+     1535,   69,   69,   69,   69, 1541, 1542,   69,   69, 1536,
+     1538,   69,   69,   69, 1537,   69,   69, 1543, 1544,   69,
+     1551, 1540, 1539, 1550,   69,   69,   69, 1545,   69,   69,
+       69, 1546, 1548, 1547,   69, 1555,   69,   69, 1549,   69,
+     1561,   69,   69, 1553, 1552, 1557,   69,   69, 1554, 1560,
+     1564,   69,   69,   69, 1556,   69, 1558, 1562,   69, 1559,
+       69,   69, 1565,   69, 1567, 1563, 1569, 1566, 1568,   69,
+
+     1570,   69, 1572,   69, 1571, 1573,   69,   69, 1574,   69,
+       69,   69, 1579, 1575,   69, 1577, 1578,   69, 1576,   69,
+       69,   69, 1580,   69, 1582, 1583, 1585,   69, 1586,   69,
+     1587,   69, 1581, 1588,   69, 1879, 1584,   69,   69, 1589,
+     1590,   69, 1591,   69, 1592, 1593, 1596,   69,   69,   69,
+       69, 1594,   69, 1595,   69,   69,   69,   69,   69, 1599,
+     1598, 1601,   69,   69, 1597,   69, 1606, 1600,   69,   69,
+     1603, 1604, 1605,   69, 1602,   69,   69, 1607, 1611,   69,
+       69,   69, 1615,   69,   69, 1614,   69,   69, 1608, 1613,
+       69, 1617, 1616, 1609, 1610, 1612, 1618,   69,   69,   69,
+
+       69, 1620, 1879, 1619,   69, 1623, 1624,   69,   69, 1626,
+       69,   69, 1621, 1627, 1622, 1628,   69, 1629,   69,   69,
+     1625, 1630,   69, 1633, 1634,   69,   69, 1636,   69, 1631,
+     1635, 1637,   69, 1632,   69,   69, 1639,   69,   69,   69,
+     1638,   69, 1640, 1643,   69,   69, 1647,   69,   69,   69,
+       69,   69, 1641, 1642,   69, 1651,   69, 1644, 1649, 1646,
+       69, 1652,   69,   69, 1645,   69,   69, 1648, 1650,   69,
+     1654, 1655, 1653, 1660,   69, 1657,   69,   69,   69, 1661,
+     1664,   69, 1662, 1658,   69,   69,   69,   69, 1656, 1659,
+     1665, 1668,   69, 1666,   69,   69, 1663,   69,   69, 1672,
+
+     1667,   69, 1675,   69, 1670,   69, 1671, 1669, 1674,   69,
+       69,   69,   69, 1678, 1676, 1677, 1679, 1682, 1680,   69,
+       69,   69,   69, 1673, 1686, 1684,   69, 1688,   69,   69,
+       69, 1681,   69, 1691,   69,   69,   69,   69,   69, 1685,
+     1683, 1692,   69,   69, 1693,   69,   69, 1690, 1697, 1689,
+     1696, 1687, 1694, 1699,   69, 1701,   69, 1695, 1702,   69,
+       69,   69, 1704,   69,   69, 1700, 1703,   69, 1707,   69,
+       69, 1698, 1710,   69, 1711,   69,   69,   69,   69,   69,
+     1705, 1715,   69, 1708,   69,   69,   69, 1706, 1716, 1713,
+       69, 1717, 1709,   69,   69, 1712, 1718, 1720, 1714, 1719,
+
+       69, 1723,   69, 1724, 1725, 1721,   69, 1726,   69, 1727,
+       69,   69, 1722,   69,   69,   69, 1729, 1732,   69, 1731,
+     1735, 1728, 1733,   69, 1734,   69,   69, 1730, 1736,   69,
+       69, 1737, 1738,   69,   69, 1741,   69,   69,   69,   69,
+     1739,   69, 1742, 1740, 1744,   69, 1743,   69,   69,   69,
+       69,   69, 1745, 1748,   69,   69,   69, 1750,   69, 1746,
+       69, 1747, 1749, 1756, 1758,   69, 1759,   69, 1879, 1751,
+     1752,   69, 1753, 1754,   69, 1760,   69, 1755, 1761,   69,
+     1757,   69, 1763,   69,   69, 1762, 1765,   69, 1764,   69,
+       69, 1766,   69, 1769, 1770,   69, 1771,   69, 1768,   69,
+
+       69,   69, 1767,   69, 1772,   69,   69, 1879, 1776, 1879,
+     1777, 1779,   69, 1780,   69, 1773, 1774, 1781,   69, 1782,
+       69, 1775,   69,   69, 1784, 1778,   69, 1786,   69,   69,
+     1788,   69, 1787,   69, 1783,   69,   69,   69, 1790,   69,
+       69, 1785,   69,   69, 1794, 1789,   69,   69,   69,   69,
+       69,   69,   69, 1793, 1797, 1791,   69, 1792, 1804,   69,
+     1796, 1798, 1795,   69, 1806,   69, 1799, 1800, 1801, 1807,
+       69, 1803, 1805,   69,   69, 1802, 1810,   69, 1808, 1809,
+     1812,   69,   69,   69, 1816,   69, 1817,   69,   69,   69,
+       69,   69, 1811,   69,   69, 1813,   69, 1814,   69,   69,
+
+       69, 1818, 1815, 1819,   69, 1826,   69, 1820, 1821, 1823,
+       69, 1824, 1822,   69, 1829, 1827,   69,   69, 1825,   69,
+       69, 1830, 1831, 1828, 1832, 1833, 1834, 1835,   69,   69,
+       69,   69, 1839,   69,   69,   69, 1836,   69,   69, 1837,
+     1842,   69,   69,   69, 1846,   69,   69, 1841,   69, 1838,
+     1847,   69, 1840,   69, 1849, 1845, 1851, 1843,   69, 1850,
+     1844,   69, 1854,   69,   69, 1848,   69, 1853, 1852,   69,
+       69, 1855,   69, 1856,   69, 1858,   69,   69,   69, 1860,
+       69, 1861,   69, 1864,   69,   69, 1867,   69, 1857, 1868,
+       69, 1859, 1870,   69, 1869,   69, 1862, 1863,   69, 1865,
+
+     1871,   69, 1872, 1866,   69,   69,   69, 1877,   69, 1873,
+     1874, 1878,   69, 1879, 1879, 1879, 1879, 1875, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1876,   41,   41,   41,   41,
+       41,   41,   41,   46,   46,   46,   46,   46,   46,   46,
+       51,   51,   51,   51,   51,   51,   51,   57,   57,   57,
+       57,   57,   57,   57,   62,   62,   62,   62,   62,   62,
+       62,   72,   72, 1879,   72,   72,   72,   72,  127,  127,
+     1879, 1879, 1879,  127,  127,  129,  129, 1879, 1879,  129,
+     1879,  129,  131, 1879, 1879, 1879, 1879, 1879,  131,  134,
+      134, 1879, 1879, 1879,  134,  134,  136, 1879, 1879, 1879,
+
+     1879, 1879,  136,  138,  138, 1879,  138,  138,  138,  138,
+       73,   73, 1879,   73,   73,   73,   73,   13, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879
     } ;
 
-static yyconst flex_int16_t yy_chk[3743] =
+static yyconst flex_int16_t yy_chk[3758] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -1486,7 +1491,7 @@ static yyconst flex_int16_t yy_chk[3743] =
         9,  158,   33,    6,    7,    7,    7,    7,    9,    7,
        10,   10,   10,   45,   45,    7,    8,    8,    8,    8,
        10,    8,   21,   33,  158,   21,   21,    8,   11,   11,
-       11,   11,   11,   11, 1879,   20,   29,   20,   20,   11,
+       11,   11,   11,   11, 1885,   20,   29,   20,   20,   11,
 
        20,   29,   24,   21,   25,   20,   24,   28,   11,   12,
        12,   12,   12,   12,   12,   75,   22,   22,   75,   25,
@@ -1495,7 +1500,7 @@ static yyconst flex_int16_t yy_chk[3743] =
        19,   19,   23,   27,   61,   61,   27,   23,   35,   31,
        31,   23,   39,   27,   23,   27,   23,   23,   31,   83,
        32,   32,   36,   36,   31,   32,   39,   36,   31,   37,
-      686,   39,   38,   38,   37,   38,   79,   36,   40,   40,
+      689,   39,   38,   38,   37,   38,   79,   36,   40,   40,
        36,   32,   34,   40,   37,  111,  111,   34,   37,   37,
        38,   34,   77,   56,   79,   56,   56,   34,   56,   64,
 
@@ -1561,334 +1566,335 @@ static yyconst flex_int16_t yy_chk[3743] =
       320,  318,  324,  321,  323,  320,  322,  322,  325,  323,
       326,  327,  328,  328,  329,  327,  330,  325,  334,  329,
       331,  331,  326,  324,  333,  333,  335,  336,  337,  338,
-      340,  341,  342,  343,  335,  344,  336,  330,  343,  334,
-      345,  338,  348,  349,  344,  345,  342,  346,  337,  347,
-      340,  341,  350,  351,  347,  346,  352,  351,  353,  354,
-
-      348,  355,  359,  353,  357,  349,  358,  360,  362,  363,
-      363,  352,  360,  350,  364,  354,  361,  360,  359,  361,
-      355,  356,  356,  366,  357,  358,  368,  356,  362,  356,
-      365,  365,  367,  369,  370,  371,  372,  356,  366,  364,
-      371,  368,  373,  374,  367,  372,  375,  356,  376,  378,
-      375,  377,  369,  376,  380,  379,  370,  382,  374,  381,
-      381,  373,  380,  377,  384,  383,  386,  378,  379,  382,
-      383,  385,  387,  389,  385,  388,  384,  387,  388,  390,
-      391,  386,  398,  390,  390,  392,  392,  393,  393,  389,
-      394,  404,  389,  391,  129,  394,  395,  395,  396,  396,
-
-      397,  399,  401,  398,  400,  397,  399,  401,  400,  402,
-      403,  404,  405,  402,  406,  403,  407,  405,  409,  406,
-      408,  410,  410,  408,  411,  413,  412,  127,  408,  414,
-      407,  412,  408,  418,  414,  415,  409,  416,  418,  413,
-      416,  417,  411,  419,  415,  417,  420,  421,  422,  423,
-      425,  420,  424,  425,  423,  428,  419,  429,  424,  426,
-      422,  427,  426,  421,  430,  431,  427,  417,   68,  430,
-      431,  429,  432,  428,  433,  432,  434,  435,  436,  433,
-      434,  434,  437,  438,  441,  439,  441,  437,  439,  440,
-      435,  436,  438,  440,  440,  442,  443,  444,  443,  445,
-
-      446,  447,  448,  439,  449,  450,  448,  451,  452,  454,
-      455,  453,   62,  449,  442,  444,  453,  445,  457,  446,
-      450,  447,  457,  452,  458,  451,  456,  456,  454,  455,
-      460,  459,  461,  463,  462,  458,  459,  464,  465,  466,
-      463,  468,  464,  467,  466,  465,  460,  462,  467,  469,
-      471,  461,  470,  472,  473,  475,  469,  473,  472,  468,
-      479,  470,  474,  477,  471,  479,  474,  480,  476,  476,
-      481,  482,  477,  483,  481,  484,  475,  476,  485,  486,
-      484,  487,  497,  482,  490,  493,  485,  480,  497,  496,
-      498,  483,  502,  503,  498,  499,  501,  486,  496,  490,
-
-      499,  501,  493,  505,  505,  504,  487,  488,  504,  508,
-      502,  526,  488,  506,  507,  507,  488,  526,  503,  488,
-      506,  509,  509,  510,  508,  513,  488,  513,  510,  488,
-      500,  500,  500,  511,  500,  512,  511,  500,  514,  515,
-      512,  516,  500,  517,  518,  518,  519,  520,  500,  500,
-      521,  517,  522,  522,  529,  521,  527,  514,  523,  515,
-      516,  519,  524,  523,  527,  520,  525,  524,  528,  525,
-      530,  531,  529,  532,  534,  530,  528,  536,  531,  533,
-      533,  535,  534,  541,  538,  539,  535,  540,  542,  542,
-      540,  543,  532,  538,  539,  546,  536,  541,  544,  547,
-
-      548,  544,  549,  550,  547,  552,  543,  551,  553,  544,
-      554,  555,  553,  558,  552,  556,  546,  557,  560,  558,
-      561,  548,  549,  565,  556,  550,  568,  551,  554,   57,
-      555,  557,  559,  559,  561,  562,  563,  566,  560,  564,
-      562,  563,  565,  564,  572,  567,  573,  568,  570,  566,
-      567,  569,  569,  570,  571,  574,  575,  571,  578,  573,
-      574,  580,  572,  576,  576,  577,  577,  579,  581,  582,
-      583,  579,  587,  578,  585,  585,  575,  586,  588,  590,
-      580,  586,  589,  582,  591,  592,  589,  587,  604,  591,
-      583,  593,  581,  584,  590,  595,  584,  594,  584,  592,
-
-      604,  594,  584,  588,  584,  593,  596,  597,  598,  584,
-      595,  596,  597,  599,  584,  600,  606,  601,  821,  602,
-      821,  596,  598,  601,  602,  603,  603,  605,  607,  600,
-      606,  603,  605,  603,  599,  608,  608,  609,  610,  611,
-      607,  612,  609,  613,  613,  614,  610,  616,  618,  614,
-      619,  603,  616,  611,  617,  622,  620,  617,  626,  621,
-      612,  620,  623,  619,  621,  624,  625,  618,  627,  628,
-      629,  623,  633,  627,  622,  625,  630,  626,  631,  634,
-      635,  624,  636,  631,  629,  630,  680,  636,  637,  628,
-      680,  633,  639,  637,  638,  635,  642,  634,  648,  638,
-
-      641,  639,  640,  640,  646,  641,  644,  646,  647,  642,
-      644,  644,  645,  645,  649,  650,  645,  651,  648,  652,
-      651,  653,  647,  654,  655,  656,  653,  657,  654,  649,
-      655,  658,  658,  657,  659,  650,  660,  662,  663,  661,
-      652,  656,  661,  659,  664,  665,  666,  667,  669,  671,
-      670,  666,  667,  670,  660,  662,  672,  663,  665,  675,
-      671,  677,  673,  678,  664,  674,  669,  673,  672,  679,
-      674,  676,  676,  681,  675,  682,  683,  678,  684,  687,
-      677,  679,  688,  690,  682,  689,  694,  691,  690,  692,
-      695,  681,  691,  687,  692,  683,  693,  688,  697,  698,
-
-      694,  693,  696,  684,  695,  689,  700,  696,  699,  701,
-      702,  702,  703,  697,  704,  699,  705,  706,  698,  707,
-      707,  700,  705,  709,  708,  710,  703,  712,  701,  708,
-      709,  711,  704,  713,  711,  714,  715,  706,  716,  710,
-      714,  717,  713,  716,  718,  712,  720,  719,  718,  721,
-      722,  723,  724,  725,  726,  715,  719,  722,  728,  727,
-      717,  720,  729,  723,  721,  727,  730,  735,  737,  733,
-      734,  724,  726,  728,  725,  730,  732,  739,  734,  736,
-      737,  732,  729,  733,  736,  738,  740,  735,  742,  738,
-      738,  741,  741,  743,  744,  752,  739,  745,  745,  744,
-
-      740,  742,  743,  746,  747,  748,  748,  749,  746,  747,
-      750,  751,  753,  752,  754,  750,  749,  753,  755,  754,
-      756,  758,  758,  755,  756,  751,  757,  759,  761,  763,
-      762,  768,  761,  770,  764,  757,  766,  767,  759,  768,
-      757,  769,  757,  764,  757,  762,  757,  763,  765,  771,
-      766,  770,  765,  765,  773,  769,  767,  772,  772,  774,
-      774,  776,  777,  778,  776,  779,  779,  777,  780,  773,
-      781,  781,  782,  784,  771,  783,  783,  782,  785,  786,
-      787,  789,  778,  785,  791,  787,  790,  786,  780,  788,
-      788,  791,  790,  784,  801,  793,  794,  795,  796,  789,
-
-      793,  794,  795,  796,  797,  798,  799,  800,  800,  802,
-      803,  804, 1181,  797,  801,  803,  805,  799,  806,  807,
-      808,  808,  809,  810,  798,  804,  811,  814,  812, 1181,
-      806,  804,  802,  812,  813,  813,  805,  807,  815,  817,
-      819,  818,  809,  815,  811,  818,  818,  820,  810,  819,
-      814,  822,  823,  825,  826,  820,  824,  823,  817,  827,
-      824,  828,  829,  830,  825,  822,  831,  829,  832,  833,
-      834,  843,  832,  826,  835,  836,  837,  838,  839,  828,
-      843,  830,  842,  839,  846,  827,  831,  833,  835,  834,
-      836,  837,  840,  841,  844,  845,  838,  847,  841,  840,
-
-      842,  845,  847,  848,  858,  846,  849,  855,  848,  844,
-      861,  849,  850,  850,  851,  851,  853,  853,  854,  856,
-      857,  862,  854,  858,  856,  855,  859,  863,  860,  861,
-      859,  859,  860,  860,  857,  864,  865,  867,  866,  868,
-      862,  869,  865,  866,  870,  871,  872,  873,  874,  874,
-      885,  885,  875,  863,  864,  875,  867,  876,  868,  871,
-      869,  877,  873,  870,  878,  879,  877,  872,  878,  876,
-      880,  881,  884,  891,  882,  888,  882,  886,  879,  880,
-      882,  887,  886,  889,  881,  887,  894,  894,  889,  893,
-      904,  891,  884,  882,  893,  888,  895,  897,  897,  899,
-
-      899,  895,  901,  902,  902,  901,  903,  906,  905,  907,
-      908,  908,  906,  909,  911,  904,  910,  910,  912,  913,
-      914,  903,  905,  913,  907,  915,  917,  918,  921,  912,
-      915,  919,  919,  909,  922,  920,  911,  923,  924,  914,
-      920,  918,  926,  925,  917,  925,  923,  926,  921,  928,
-      927,  929,  931,  933,  922,  927,  929,  934,  924,  932,
-      932,  936,  938,  934,  937,  937,  931,  939,  945,  928,
-      940,   52,  933,  940,  938,  941,  940,  942,  944,  947,
-      941,  943,  942,  944,  947,  936,  946,  939,  940,  946,
-      943,  948,  948,  945,  949,  950,  951,  952,  953,  954,
-
-      955,  958,  952,  953,  957,  955,  956,  956,  959,  957,
-      960,  961,  949,  963,  950,  962,  951,  965,  964,  958,
-      966,  967,  954,  964,  968,  961,  963,  962,  959,  971,
-      960,  970,  970,  972,  971,  967,  973,  965,  974,  975,
-      966,  977,   51,  973,  982,  968,  980,  974,  972,  980,
-      974,  979,  979,  981,  983,  975,  977,  984,  981,  985,
-      982,  977,  987,  983,  986,  988,  988,  987,  985,  989,
-      990,  985,  991,  986,  992,  993,  984,  995,  996,  998,
-      994,  997,  997,  990,  999, 1001, 1001, 1003,  992,  989,
-      991,  993,  994,  999, 1000,  998,  996, 1002, 1005, 1000,
-
-     1001, 1006,  995, 1005, 1008, 1003, 1002, 1007, 1009, 1002,
-     1008, 1010, 1007, 1011, 1012, 1017, 1010, 1012, 1016, 1006,
-     1018, 1015, 1019, 1012, 1020, 1021, 1011, 1019, 1009, 1015,
-     1023, 1016, 1024, 1017, 1029,   46, 1024, 1025, 1028, 1018,
-     1020, 1026, 1025, 1021, 1027, 1030, 1026, 1028, 1032, 1027,
-     1023, 1031, 1031, 1034, 1033, 1035, 1036, 1029, 1037, 1038,
-     1030, 1033, 1032, 1037, 1039, 1034, 1040, 1035, 1041, 1041,
-     1042, 1038, 1040, 1042, 1045, 1036, 1043, 1043, 1046, 1045,
-     1047, 1047, 1039, 1048, 1049, 1050, 1051, 1046, 1052, 1049,
-     1054, 1053, 1056, 1055, 1050, 1048, 1053, 1058, 1051, 1054,
-
-     1057, 1057, 1058, 1052, 1059, 1060, 1061, 1056, 1062, 1062,
-     1063,   41, 1054, 1055, 1064, 1064, 1065, 1065, 1066, 1071,
-     1073,   14, 1066, 1067, 1060, 1059, 1061, 1078, 1067, 1068,
-     1063, 1070, 1068, 1072, 1074, 1074, 1070, 1071, 1072, 1075,
-     1075, 1076, 1077, 1079, 1080, 1073, 1076, 1078, 1081, 1080,
-     1083, 1084, 1085, 1085, 1077, 1077, 1077, 1086, 1087, 1087,
-     1088, 1077, 1089, 1079, 1083, 1090, 1090, 1092, 1081, 1093,
-     1093, 1094, 1084, 1096, 1095, 1097, 1092, 1098, 1098, 1099,
-     1088, 1095, 1096, 1086, 1089, 1102, 1094, 1100, 1103, 1104,
-     1102, 1105, 1106, 1103, 1107, 1108, 1108, 1106, 1105, 1107,
-
-     1111, 1097, 1109, 1100, 1110, 1099, 1112, 1109, 1114, 1104,
-     1113, 1114, 1115, 1110, 1116, 1117, 1117, 1118, 1119, 1120,
-     1111, 1121, 1113, 1126, 1122, 1112,   13, 1121, 1123, 1123,
-     1115, 1124, 1118, 1122, 1120, 1125, 1125, 1119, 1127, 1132,
-     1116, 1128, 1124, 1138, 1126, 1133, 1128, 1124, 1129, 1129,
-     1130, 1131, 1127, 1134, 1130, 1130, 1131, 1133, 1134, 1135,
-     1136, 1137, 1139, 1140, 1136, 1132, 1142, 1139, 1138, 1141,
-     1148, 1135, 1144, 1137, 1141, 1144, 1145, 1145, 1142, 1146,
-     1146, 1147, 1147, 1149, 1157, 1140, 1150, 1151, 1152, 1149,
-     1148, 1150, 1156, 1151, 1154, 1156, 1157, 1152, 1159, 1154,
-
-     1160, 1160, 1161, 1162, 1165, 1163, 1164, 1168, 1165, 1166,
-     1159, 1167, 1162, 1171, 1166, 1172, 1167, 1170, 1170, 1173,
-     1178, 1168, 1161, 1163, 1172, 1164, 1175, 1175, 1173, 1170,
-     1179, 1171, 1180, 1182, 1182, 1178, 1183, 1180, 1183, 1184,
-     1184, 1186, 1187, 1189, 1179, 1188, 1188, 1190, 1186, 1191,
-     1194, 1192, 1189, 1193, 1195, 1196, 1200, 1197, 1200, 1199,
-     1201, 1191, 1187, 1192, 1199, 1193, 1202, 1203, 1190, 1195,
-     1204, 1202, 1206, 1208, 1203, 1196, 1194, 1197, 1201, 1204,
-     1207, 1207, 1209, 1210, 1211, 1210, 1206, 1209, 1212, 1211,
-     1213, 1214, 1215, 1212, 1217, 1216, 1218, 1215, 1220, 1208,
-
-     1216, 1221, 1222, 1222, 1218, 1223, 1223, 1217, 1213, 1224,
-     1225, 1214, 1232, 1226, 1227, 1221, 1229, 1220, 1226, 1227,
-     1228, 1232, 1228, 1230, 1224, 1231, 1233, 1231, 1229, 1235,
-     1225, 1236, 1230, 1238, 1235, 1230, 1236, 1239, 1233, 1240,
-     1246, 1242, 1244, 1245, 1247, 1249, 1238, 1242, 1244, 1248,
-     1248, 1250, 1250, 1247, 1249, 1240, 1251, 1239, 1245, 1252,
-     1254, 1253, 1256, 1252, 1255, 1246, 1253, 1257, 1255, 1255,
-     1256, 1260, 1260, 1254, 1261, 1251, 1262, 1262, 1263, 1263,
-     1264, 1265, 1270, 1261, 1266, 1267, 1271, 1257, 1272, 1266,
-     1267, 1271, 1264, 1268, 1268, 1273, 1274, 1275, 1276, 1265,
-
-     1278, 1274, 1277, 1277, 1278, 1279, 1281, 1270, 1280, 1282,
-     1273, 1272, 1284, 1280, 1276, 1275, 1285, 1286, 1287, 1288,
-     1279, 1289, 1291, 1291, 1292, 1293, 1299, 1292, 1282, 1294,
-        0, 1288, 1281, 1295, 1317, 1284, 1286, 1317, 1293, 1287,
-     1285, 1299, 1289, 1294, 1296, 1296, 1295, 1297, 1297, 1298,
-     1298, 1300, 1301, 1301, 1302, 1302, 1303, 1303, 1304, 1305,
-     1305, 1306, 1307, 1307, 1300, 1308, 1308, 1309, 1311, 1312,
-     1312, 1313, 1316, 1311, 1314, 1314, 1315, 1304, 1316, 1306,
-     1318, 1318, 1319, 1319, 1320, 1321, 1309, 1322, 1323, 1323,
-     1313, 1325, 1326, 1327, 1315, 1328, 1318, 1329, 1329, 1328,
-
-     1321, 1330, 1332, 1320, 1331, 1331, 1322, 1334, 1327, 1333,
-     1333, 1325, 1335, 1336, 1337, 1326, 1334, 1338, 1336, 1339,
-     1330, 1340, 1341, 1342, 1335, 1343, 1340, 1344, 1332, 1346,
-     1338, 1345, 1342, 1346, 1343, 1348, 1345, 1341, 1350, 1337,
-     1339, 1344, 1351, 1351, 1352, 1353, 1353, 1350, 1354, 1352,
-     1356, 1357, 1359, 1361, 1353, 1348, 1361, 1362, 1363, 1364,
-     1357, 1368, 1362, 1371, 1359, 1356, 1365, 1365, 1354, 1367,
-     1367, 1364, 1369, 1369, 1370, 1368, 1372, 1371, 1363, 1373,
-     1373, 1375, 1377, 1377, 1376, 1375, 1370, 1376, 1378, 1379,
-     1380, 1382, 1381, 1378, 1383, 1372, 1381, 1384, 1387, 1383,
-
-     1385, 1411, 1384, 1388, 1380, 1389, 1385, 1390, 1388, 1379,
-     1389, 1382, 1394, 1401, 1387, 1390, 1391, 1411, 1391, 1395,
-     1395, 1399, 1399, 1404, 1405, 1405, 1394, 1409, 1404, 1407,
-     1407, 1401, 1409, 1410, 1410, 1412, 1413, 1415, 1416, 1417,
-     1417, 1413, 1419, 1420, 1421, 1422, 1424, 1424, 1420, 1426,
-     1416, 1419, 1428, 1427, 1426, 1427, 1415, 1412, 1429, 1433,
-     1422, 1434, 1421, 1429, 1430, 1430, 1428, 1431, 1431, 1432,
-     1432, 1433, 1435, 1436, 1437, 1438, 1439, 1440, 1440, 1434,
-     1438, 1441, 1442, 1443, 1435, 1436, 1437, 1444, 1445, 1448,
-     1441, 1446, 1447, 1447, 1449, 1457, 1439, 1450, 1459, 1451,
-
-     1444, 1458, 1450, 1443, 1451, 1446, 1460, 1448, 1442, 1452,
-     1452, 1462, 1445, 1453, 1453, 1457, 1449, 1454, 1454, 1458,
-     1459, 1461, 1463, 1464, 1464, 1467, 1460, 1466, 1466, 1468,
-     1461, 1462, 1469, 1470, 1467, 1471, 1468, 1473, 1472, 1475,
-     1463, 1474, 1474, 1476, 1475, 1477, 1478, 1469, 1480, 1482,
-     1479, 1470, 1483, 1471, 1472, 1479, 1473, 1486, 1482, 1487,
-     1477, 1476, 1487, 1488, 1488, 1478, 1489, 1490, 1480, 1491,
-     1491, 1483, 1492, 1494, 1495, 1500, 1492, 1486, 1495, 1496,
-     1496, 1489, 1497, 1499, 1499, 1490, 1501, 1501, 1494, 1502,
-     1502, 1506, 1506, 1507, 1500, 1497, 1508, 1509, 1510, 1511,
-
-     1512, 1514, 1509, 1510, 1515, 1508, 1516, 1517, 1512, 1515,
-     1520, 1516, 1518, 1518, 1527, 1507, 1514, 1520, 1511, 1519,
-     1519, 1521, 1517, 1522, 1523, 1523, 1521, 1527, 1522, 1524,
-     1524, 1528, 1531, 1529, 1530, 1532, 1528, 1529, 1533, 1530,
-     1534, 1531, 1535, 1538, 1537, 1534, 1533, 1537, 1540, 1539,
-     1532, 1541, 1542, 1542, 1535, 1543, 1545, 1540, 1546, 1550,
-     1541, 1538, 1539, 1547, 1543, 1548, 1548, 1549, 1550, 1551,
-     1552, 1552, 1553, 1551, 1554, 1545, 1556, 1557, 1546, 1554,
-     1553, 1560, 1547, 1559, 1561, 1556, 1549, 1559, 1563, 1563,
-     1557, 1565, 1565, 1568, 1574, 1560, 1569, 1569, 1570, 1561,
-
-     1575, 1570, 1571, 1571, 1572, 1572, 1573, 1573, 1577, 1577,
-     1576, 1589, 1574, 1568, 1575, 1576, 1578, 1581, 1582, 1587,
-     1578, 1581, 1581, 1583, 1582, 1586, 1588, 1590, 1583, 1589,
-     1586, 1588, 1591, 1592, 1592, 1593, 1587, 1587, 1595, 1598,
-     1594, 1596, 1596, 1597, 1597, 1599, 1591, 1590, 1594, 1600,
-     1599, 1601, 1602, 1603, 1593, 1598, 1604, 1595, 1606, 1606,
-     1607, 1602, 1608, 1607, 1610, 1611, 1611, 1608, 1612, 1600,
-     1613, 1614, 1612, 1603, 1615, 1615, 1604, 1601, 1616, 1613,
-     1617, 1619, 1610, 1620, 1621, 1633, 1614, 1625, 1627, 1617,
-     1619, 1616, 1625, 1626, 1626, 1620, 1629, 1627, 1630, 1630,
-
-     1635, 1629, 1630, 1632, 1637, 1633, 1634, 1639, 1636, 1621,
-     1638, 1634, 1632, 1636, 1642, 1638, 1640, 1640, 1646, 1643,
-     1647, 1635, 1637, 1644, 1644, 1645, 1648, 1646, 1651, 1645,
-     1649, 1653, 1639, 1642, 1643, 1650, 1647, 1660, 1649, 1661,
-     1650, 1652, 1652, 1655, 1655, 1648, 1656, 1656, 1657, 1664,
-     1653, 1659, 1659, 1657, 1651, 1663, 1663, 1660, 1665, 1666,
-     1666, 1669, 1661, 1664, 1667, 1667, 1668, 1670, 1671, 1671,
-     1674, 1672, 1675, 1669, 1672, 1673, 1673, 1678, 1676, 1677,
-     1665, 1676, 1674, 1679, 1677, 1668, 1680, 1670, 1679, 1681,
-     1681, 1684, 1675, 1683, 1683, 1686, 1678, 1687, 1689, 1689,
-
-     1686, 1688, 1766, 1680, 1680, 1766, 1688, 1690, 1690, 1692,
-     1684, 1687, 1691, 1691, 1692, 1694, 1694, 1697, 1697, 1699,
-     1699, 1700, 1701, 1702, 1702, 1703, 1706, 1707, 1707, 1710,
-     1703, 1701, 1708, 1711, 1706, 1700, 1712, 1708, 1713, 1714,
-     1715, 1712, 1718, 1716, 1717, 1722, 1719, 1714, 1725, 1710,
-     1713, 1719, 1725, 1711, 1723, 1723, 1724, 1724, 1715, 1716,
-     1731, 1717, 1717, 1718, 1731, 1722, 1729, 1729, 1733, 1733,
-     1734, 1736, 1736, 1737, 1739, 1745, 1740, 1741, 1741, 1742,
-     1742, 1743, 1743, 1746, 1734, 1740, 1744, 1747, 1737, 1748,
-     1749, 1744, 1739, 1750, 1748, 1749, 1751, 1751, 1746, 1760,
-
-     1745, 1754, 1754, 1756, 1756, 1758, 1758, 1762, 1747, 1761,
-     1761, 1760, 1750, 1763, 1763, 1767, 1768, 1770, 1769, 1771,
-     1767, 1777, 1762, 1769, 1772, 1777, 1778, 1779, 1781, 1782,
-     1768, 1783, 1785, 1784, 1786,    0, 1770, 1771, 1787, 1781,
-     1772, 1779, 1782, 1788, 1788, 1789, 1778, 1792, 1785, 1794,
-     1783, 1784, 1792, 1787, 1789, 1790, 1790, 1791, 1791, 1786,
-     1793, 1795, 1796, 1797, 1799, 1793, 1802, 1796, 1803, 1805,
-     1804, 1806, 1807, 1803, 1794, 1804, 1795, 1797, 1808, 1799,
-     1809, 1810, 1811, 1805, 1806, 1802, 1812, 1815, 1813, 1816,
-     1816, 1807, 1808, 1813, 1810, 1811, 1814, 1817, 1818, 1809,
-
-     1820, 1814, 1817, 1818, 1819, 1812, 1815, 1821, 1823, 1819,
-     1822, 1822, 1821, 1824, 1825, 1823, 1826, 1827, 1828, 1820,
-     1830, 1826, 1831, 1832, 1833, 1830, 1834, 1834, 1836, 1835,
-     1839, 1828, 1824, 1825, 1835, 1839, 1827, 1833, 1837, 1837,
-     1841, 1831, 1832, 1838, 1838, 1840, 1843, 1836, 1842, 1842,
-     1844, 1845, 1840, 1843, 1847, 1846, 1849, 1844, 1850, 1841,
-     1846, 1849, 1851, 1850, 1852, 1853, 1853, 1854, 1855, 1858,
-     1845, 1856, 1856, 1847, 1857, 1857, 1858, 1859, 1859, 1860,
-     1860, 1851, 1861, 1852, 1867, 1863, 1854, 1855, 1866, 1861,
-     1863, 1868,    0, 1866, 1869, 1869, 1870, 1870,    0,    0,
-
-        0,    0,    0, 1867,    0,    0,    0,    0,    0,    0,
-     1868, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1875, 1875,
-     1875, 1875, 1875, 1875, 1875, 1876, 1876, 1876, 1876, 1876,
-     1876, 1876, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1878,
-     1878, 1878, 1878, 1878, 1878, 1878, 1880, 1880,    0, 1880,
-     1880, 1880, 1880, 1881, 1881,    0,    0,    0, 1881, 1881,
-     1882, 1882,    0,    0, 1882,    0, 1882, 1883,    0,    0,
-        0,    0,    0, 1883, 1884, 1884,    0,    0,    0, 1884,
-     1884, 1885,    0,    0,    0,    0,    0, 1885, 1886, 1886,
-        0, 1886, 1886, 1886, 1886, 1887, 1887,    0, 1887, 1887,
-
-     1887, 1887, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873,
-     1873, 1873
+      341,  340,  342,  343,  335,  344,  336,  330,  343,  334,
+      345,  338,  348,  349,  344,  345,  342,  346,  337,  340,
+      341,  340,  347,  350,  351,  346,  352,  347,  351,  353,
+
+      348,  354,  355,  359,  353,  349,  357,  364,  358,  361,
+      360,  352,  361,  362,  350,  360,  366,  354,  369,  359,
+      360,  355,  356,  356,  363,  363,  357,  358,  356,  367,
+      356,  366,  364,  362,  365,  365,  368,  369,  356,  370,
+      371,  367,  374,  372,  373,  371,  375,  377,  356,  376,
+      375,  368,  372,  378,  376,  379,  380,  374,  382,  377,
+      384,  370,  383,  373,  380,  381,  381,  383,  379,  386,
+      382,  378,  384,  385,  387,  388,  385,  389,  388,  387,
+      407,  390,  391,  398,  386,  390,  390,  392,  392,  393,
+      393,  129,  394,  389,  407,  391,  389,  394,  395,  395,
+
+      396,  396,  397,  399,  398,  400,  401,  397,  399,  400,
+      402,  401,  403,  404,  402,  405,  406,  403,  409,  408,
+      405,  406,  408,  410,  410,  411,  413,  408,  415,  412,
+      414,  408,  419,  404,  412,  414,  409,  415,  416,  418,
+      413,  416,  417,  411,  418,  419,  417,  420,  421,  422,
+      423,  424,  420,  425,  428,  423,  425,  424,  427,  426,
+      429,  422,  426,  427,  421,  430,  431,  442,  417,  442,
+      430,  431,  428,  432,  429,  434,  433,  435,  432,  433,
+      434,  435,  435,  436,  437,  438,  439,  445,  440,  441,
+      438,  440,  443,  441,  441,  439,  436,  437,  444,  446,
+
+      444,  447,  448,  449,  450,  445,  440,  449,  451,  452,
+      453,  443,  455,  450,  454,  456,  462,  446,  127,  454,
+      447,  459,  448,  451,  461,  453,  458,  452,  457,  457,
+      458,  455,  459,  460,  456,  462,  463,  464,  460,  469,
+      461,  465,  467,  466,  464,  470,  465,  467,  468,  463,
+      466,  471,  470,  468,  472,  474,  473,  469,  474,  475,
+      471,  473,  476,  475,  477,  477,  478,  480,  472,  481,
+      482,  488,  480,  477,  482,  478,  483,  484,  486,  485,
+      487,  497,  491,  476,  485,  494,  486,  498,  483,  481,
+      497,  504,  503,  498,  806,  484,  488,  491,  487,  489,
+
+      505,  499,  494,  505,  489,  499,  507,  500,  489,  502,
+      503,  489,  500,  507,  502,  509,  504,  806,  489,  506,
+      506,  489,  501,  501,  501,  515,  501,  508,  508,  501,
+      509,  510,  510,  511,  501,  516,  512,  513,  511,  512,
+      501,  501,  513,  514,  515,  514,  517,  520,  518,  519,
+      519,  521,  522,  523,  523,  516,  518,  522,  524,  525,
+      527,  533,  520,  524,  525,  517,  527,  526,  528,  521,
+      526,  529,  530,  531,  532,  535,  528,  536,  531,  529,
+      533,  532,  534,  534,  535,  536,  537,  538,  540,  541,
+      530,  537,  542,  543,  545,  542,  548,  540,  541,  544,
+
+      544,  546,  550,  549,  546,  551,  538,  543,  549,  545,
+      552,  553,  546,  554,  555,  556,  557,  548,  555,  558,
+      559,  560,  554,  550,  562,  551,  563,  560,  558,  561,
+      561,  553,  552,  556,  559,  557,  564,  565,  567,  566,
+      563,  564,  565,  566,  562,  569,  568,  570,  571,  571,
+      569,  572,  573,  574,  575,  573,  572,  567,  568,  576,
+      577,  578,  578,  580,  576,  579,  579,  575,  570,  581,
+      582,  574,  583,  581,  584,  585,  587,  587,  580,  588,
+      577,  591,  590,  588,  589,  591,  592,  593,  584,  582,
+      594,  595,  593,  601,  596,  585,  583,  586,  596,  589,
+
+      586,  592,  586,  600,  594,  595,  586,  590,  586,  597,
+      598,  599,  602,  586,  601,  598,  599,  600,  586,  606,
+      608,  603,   68,  604,  597,  598,  602,  603,  604,  605,
+      605,  606,  609,  607,  608,  605,  611,  605,  607,  610,
+      610,  611,  612,  613,  609,  614,  615,  615,  616,  618,
+      612,  620,  616,  619,  618,  605,  619,  613,  621,  624,
+      622,  623,  628,  625,  614,  622,  623,  626,  627,  629,
+      620,  621,  625,  630,  629,  631,  632,  627,  624,  633,
+      635,  628,  636,  626,  633,  632,  637,  638,  641,  631,
+      639,  640,  638,  630,  644,  639,  640,  641,  646,  635,
+
+      636,  637,  642,  642,  643,  649,  647,  644,  649,  643,
+      647,  647,  648,  648,  646,  650,  648,  651,  652,  653,
+      654,  655,  656,  654,  659,  657,  658,  656,  660,  650,
+      657,  663,  658,  652,  660,  661,  661,  651,  662,  653,
+      659,  664,  655,  665,  664,  666,  667,  662,  669,  663,
+      668,  670,  672,  669,  673,  675,  670,  673,  674,  678,
+      676,  665,  680,  668,  666,  676,  667,  675,  677,  674,
+      672,  679,  679,  677,  678,  681,  682,  684,  683,  686,
+      687,  680,  683,  685,  692,  690,  691,  714,  682,  681,
+      714,  693,  685,  697,  700,  684,  693,  694,  686,  690,
+
+      698,  691,  694,  695,  692,  687,  696,  697,  695,  700,
+      699,  696,  701,  702,  698,  699,  704,  703,  705,  705,
+      702,  707,  706,  708,  709,  710,  710,  712,  711,  708,
+      715,  701,  703,  711,  712,  704,  706,  713,  716,  707,
+      717,  718,  720,  722,  709,  717,  721,  716,  715,  719,
+      721,  713,  722,  723,  719,  724,  725,  726,  727,  728,
+      718,  720,  736,  725,  729,  730,  731,  732,  723,  726,
+      724,  730,   62,  735,  733,  738,  736,  727,  735,  740,
+      728,  731,  729,  733,  737,  739,  742,  732,  743,  741,
+      739,  740,  737,  741,  741,  738,  744,  744,  745,  746,
+
+       57,  747,  743,  748,  748,  742,  747,  749,  746,  750,
+      752,  745,  749,  753,  750,  751,  751,  754,  753,  752,
+      755,  756,  757,  758,  763,  759,  756,  757,  758,  759,
+      766,  754,  761,  761,  762,  763,  762,  765,  755,  760,
+      767,  765,  768,  771,  772,  766,  775,  774,  760,  770,
+      773,  768,  772,  760,  777,  760,  769,  760,  767,  760,
+      769,  769,  771,  770,  773,  774,  776,  776,  782,  777,
+      781,  775,  778,  778,  780,  781,  784,  780,  783,  783,
+      785,  785,  788,  786,  787,  787,  789,  782,  786,  790,
+      791,  789,  792,  792,  793,  791,  784,  790,  794,  795,
+
+      797,  802,  788,  798,  794,  797,  795,  801,  798,  799,
+      800,  803,  793,  805,  799,  800,  801,  804,  804,  807,
+      802,  808,  803,  809,  807,  810,  811,  812,  812,  813,
+      814,  816,  815,  805,  818,  808,  816,  810,  817,  817,
+      819,  808,  821,  809,  811,  819,  824,  822,  831,  813,
+      815,  822,  822,  823,  824,  814,  825,  818,  825,  826,
+      827,  821,  823,  828,  829,  827,  830,  828,  832,  834,
+      835,  833,  838,  826,  831,  829,  833,  836,  837,  839,
+      840,  836,  841,  842,  843,  830,  832,  834,  846,  843,
+      835,  838,  844,  839,  850,  840,  837,  841,  845,  844,
+
+      847,  848,  842,  845,  849,   52,  846,  851,  852,  847,
+      849,  859,  851,  852,  853,  850,  848,  854,  854,  853,
+      855,  855,  857,  857,  858,  860,  861,  862,  858,  859,
+      860,  863,  865,  864,  866,  863,  863,  864,  864,  867,
+      861,  868,  869,  871,  870,  872,  862,  873,  869,  870,
+      874,  865,  876,  866,  875,  877,  878,  878,  879,  880,
+      868,  879,  871,  889,  872,  867,  873,  882,  875,  874,
+      877,  880,  882,  876,  881,  881,  883,  884,  885,  886,
+      883,  896,  887,  889,  887,  890,  890,  885,  887,  891,
+      884,  892,  886,  893,  891,  892,  909,  894,  898,  896,
+
+       51,  887,  894,  898,  899,  899,  900,  902,  902,  904,
+      904,  900,  906,  893,  908,  906,  907,  907,  910,  911,
+      912,  909,  913,  913,  911,  914,  915,  915,  916,  908,
+      917,  920,  910,  918,  919,  912,  920,  918,  922,  925,
+      923,  917,  924,  924,  925,  914,  926,  927,  928,  929,
+      916,  933,   46,  919,  923,  938,  922,  928,  930,  931,
+      930,  936,  941,  932,  931,  934,  926,  927,  932,  929,
+      934,  933,  937,  937,  938,  936,  939,  942,  942,  943,
+      944,  945,  939,  946,  945,  947,  941,  945,  946,  948,
+      947,  943,  949,  950,  953,  953,  954,  949,  948,  945,
+
+      944,  951,  952,  955,  951,  956,  957,  952,  958,  959,
+      960,  957,  963,  958,  954,  960,  961,  961,  950,  962,
+      964,  965,  955,  966,  962,  956,  967,  970,  969,  968,
+      963,  971,  959,  969,  972,  973,  980,  966,  967,  977,
+      964,  965,  968,  975,  975,  976,  978,  970,  972,  979,
+      976,  971,  980,  978,  977,  982,  973,  987,  979,  984,
+      984,  979,  985,  986,  989,  985,  994,  988,  986,  990,
+      982,  991,  992,  987,  995,  982,  988,  992,  990,  996,
+      991,  990,  997,  989,  993,  993,  994,  995,  998,  999,
+     1001, 1002, 1003, 1003, 1004, 1006,  997,  996, 1005, 1008,
+
+     1006,  999, 1007, 1007,  998, 1009, 1012, 1005, 1008, 1002,
+     1004, 1008, 1015, 1011, 1013, 1001, 1014, 1007, 1011, 1013,
+     1016, 1017, 1014, 1009, 1012, 1016, 1018, 1022, 1021, 1018,
+     1023, 1024, 1015, 1025, 1017, 1018, 1021, 1026, 1025, 1027,
+     1022, 1029, 1030, 1035, 1031, 1034, 1030, 1032, 1023, 1031,
+     1024, 1033, 1032, 1026, 1034, 1036, 1033, 1027, 1037, 1037,
+     1038, 1029, 1039, 1040, 1041, 1042, 1035, 1043, 1044, 1039,
+     1036, 1045, 1043, 1046, 1038, 1040, 1041, 1047, 1047, 1046,
+     1044, 1052, 1048, 1051, 1042, 1048, 1049, 1049, 1051, 1045,
+     1052, 1053, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1055,
+
+     1060, 1061, 1062, 1059, 1056, 1054, 1063, 1063, 1057, 1060,
+     1064, 1065, 1058,   41, 1066, 1064, 1067, 1062, 1068, 1068,
+     1069, 1061, 1060, 1070, 1070, 1071, 1071, 1072, 1077, 1073,
+     1079, 1072, 1065, 1066, 1073, 1074, 1067, 1076, 1074, 1078,
+     1069, 1084, 1076, 1085, 1078, 1083, 1077, 1080, 1080, 1081,
+     1081, 1082, 1087, 1089, 1090, 1079, 1082, 1083, 1083, 1083,
+     1086, 1084, 1092, 1085, 1083, 1086, 1094, 1089, 1091, 1091,
+     1093, 1093, 1087, 1095, 1098, 1090, 1096, 1096, 1099, 1099,
+     1101, 1100, 1102, 1098, 1103, 1105, 1094, 1101, 1092, 1104,
+     1104, 1102, 1106, 1108, 1109, 1095, 1100, 1110, 1108, 1109,
+
+     1111, 1112, 1114, 1114, 1113, 1116, 1112, 1111, 1106, 1113,
+     1103, 1105, 1117, 1115, 1116, 1118, 1119, 1110, 1115, 1120,
+     1121, 1122, 1120, 1123, 1123, 1124, 1125, 1126, 1119, 1127,
+     1128, 1132, 1117, 1130, 1118, 1127, 1129, 1129, 1121, 1128,
+     1124, 1133, 1126, 1134, 1130, 1125, 1138, 1122, 1134, 1130,
+     1131, 1131, 1132, 1135, 1135, 1133, 1136, 1137, 1139, 1140,
+     1136, 1136, 1137, 1141, 1140, 1142, 1143, 1144, 1145, 1142,
+     1139, 1146, 1138, 1145, 1147, 1141, 1148, 1150, 1143, 1147,
+     1150, 1151, 1151, 1152, 1152, 1153, 1153, 1154, 1148, 1155,
+     1158, 1156, 1144, 1146, 1157, 1155, 1156, 1160, 1162, 1158,
+
+     1157, 1162, 1160, 1163, 1165, 1166, 1166, 1154, 1167, 1168,
+     1171, 1169, 1170, 1174, 1171, 1163, 1165, 1172, 1168, 1173,
+     1176, 1176, 1172, 1177, 1173, 1178, 1179, 1174, 1167, 1169,
+     1184, 1170, 1176, 1185, 1178, 1179, 1181, 1181, 1186, 1187,
+     1189, 1177, 1189, 1186, 1193, 1184, 1192, 1185, 1188, 1188,
+     1190, 1190, 1195, 1192, 1194, 1194, 1187, 1196, 1197, 1198,
+     1199, 1195, 1200, 1202, 1193, 1201, 1203, 1206, 1205, 1206,
+     1197, 1198, 1199, 1205, 1207, 1209, 1208, 1212, 1196, 1214,
+     1201, 1208, 1209, 1202, 1210, 1216, 1203, 1216, 1200, 1213,
+     1213, 1212, 1207, 1210, 1215, 1217, 1218, 1219, 1220, 1215,
+
+     1217, 1218, 1221, 1222, 1223, 1214, 1224, 1221, 1222, 1226,
+     1227, 1228, 1228, 1231, 1224, 1219, 1230, 1223, 1220, 1229,
+     1229, 1232, 1233, 1234, 1227, 1234, 1232, 1233, 1226, 1235,
+     1236, 1230, 1237, 1231, 1237, 1238, 1239, 1244, 1241, 1236,
+     1242, 1235, 1236, 1241, 1238, 1242, 1245, 1246, 1239, 1248,
+     1244, 1250, 1251, 1252, 1257, 1248, 1253, 1250, 1254, 1254,
+     1255, 1256, 1256, 1246, 1258, 1253, 1245, 1251, 1258, 1255,
+     1259, 1260, 1261, 1257, 1262, 1259, 1261, 1261, 1252, 1263,
+     1266, 1266, 1262, 1267, 1260, 1268, 1268, 1269, 1269, 1270,
+     1271, 1272, 1267, 1273, 1274, 1274, 1272, 1276, 1273, 1263,
+
+     1277, 1270, 1278, 1279, 1280, 1277, 1281, 1282, 1271, 1280,
+     1283, 1283, 1284, 1285, 1286, 1287, 1284, 1288, 1279, 1286,
+     1290, 1291, 1276, 1282, 1281, 1278, 1293, 1292, 1285, 1295,
+     1294, 1297, 1297, 1312, 1298, 1299, 1288, 1298, 1300,   14,
+     1301, 1287, 1294, 1290, 1310, 1291, 1292, 1293, 1299, 1305,
+     1295, 1312, 1300, 1301, 1302, 1302, 1303, 1303, 1304, 1304,
+     1306, 1307, 1307, 1310, 1305, 1308, 1308, 1309, 1309, 1311,
+     1311, 1313, 1313, 1306, 1314, 1314, 1315, 1317, 1318, 1318,
+     1319, 1322, 1317, 1320, 1320, 1321, 1323, 1322, 1326, 1323,
+     1324, 1324, 1325, 1325, 1327, 1315, 1328, 1329, 1329, 1319,
+
+     1331, 1332, 1333, 1321, 1334,   13, 1324, 1326, 1334, 1327,
+     1335, 1335, 1336, 1337, 1337, 1328, 1338, 1333, 1339, 1339,
+     1331, 1340, 1341, 1342, 1332, 1343, 1344, 1345, 1342, 1347,
+     1340, 1336, 1346, 1354, 1341, 1350, 1348, 1346, 1349, 1344,
+        0, 1351, 1338, 1356, 1347, 1348, 1351, 1349, 1345, 1350,
+     1343, 1352, 1356, 1354, 1358, 1352, 1357, 1357, 1360, 1358,
+     1359, 1359, 1362, 1363, 1365, 1367, 1368, 1369, 1367, 1359,
+     1370, 1368, 1363, 1371, 1371, 1374, 1365, 1362, 1360, 1373,
+     1373, 1376, 1370, 1375, 1375, 1377, 1378, 1369, 1381, 1374,
+     1379, 1379, 1381, 1376, 1382, 1383, 1383, 1382, 1384, 1377,
+
+     1385, 1386, 1387, 1384, 1388, 1378, 1387, 1389, 1390, 1393,
+     1391,    0, 1389, 1390, 1394, 1386, 1391, 1395, 1396, 1394,
+     1385, 1397, 1395, 1397, 1388, 1393, 1396, 1400, 1401, 1401,
+     1405, 1405, 1407, 1410, 1411, 1411, 1413, 1413, 1410, 1415,
+     1417, 1400, 1416, 1416, 1415, 1418, 1419, 1421, 1422, 1425,
+     1407, 1419, 1423, 1423, 1426, 1427, 1417, 1428, 1425, 1426,
+     1422, 1430, 1430, 1432, 1434, 1435, 1421, 1418, 1432, 1433,
+     1435, 1433, 1428, 1427, 1436, 1436, 1437, 1437, 1434, 1438,
+     1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1446,
+     1447, 1444, 1448, 1439, 1449, 1441, 1442, 1443, 1450, 1447,
+
+     1440, 1451, 1452, 1453, 1453, 1454, 1455, 1445, 1456, 1463,
+     1457, 1450, 1464, 1456, 1449, 1457, 1452, 1465, 1448, 1458,
+     1458, 1459, 1459, 1454, 1466, 1451, 1460, 1460, 1455, 1463,
+     1464, 1467, 1468, 1469, 1470, 1470, 1472, 1472, 1473, 1465,
+     1467, 1474, 1475, 1476, 1466, 1477, 1478, 1473, 1474, 1479,
+     1481, 1469, 1468, 1480, 1480, 1481, 1482, 1475, 1483, 1484,
+     1485, 1476, 1478, 1477, 1486, 1485, 1488, 1489, 1479, 1492,
+     1494, 1494, 1495, 1483, 1482, 1488, 1493, 1496, 1484, 1493,
+     1497, 1497, 1500, 1503, 1486, 1506, 1489, 1495, 1498, 1492,
+     1501, 1513, 1498, 1517, 1501, 1496, 1503, 1500, 1502, 1502,
+
+     1505, 1505, 1507, 1507, 1506, 1508, 1508, 1512, 1512, 1514,
+     1515, 1516, 1517, 1513, 1518, 1515, 1516, 1520, 1514, 1521,
+     1522, 1523, 1518, 1526, 1521, 1522, 1524, 1524, 1525, 1525,
+     1526, 1533, 1520, 1527, 1528,    0, 1523, 1537, 1527, 1528,
+     1529, 1529, 1530, 1530, 1533, 1534, 1537, 1535, 1536, 1538,
+     1534, 1535, 1539, 1536, 1540, 1541, 1544, 1545, 1543, 1540,
+     1539, 1543, 1546, 1547, 1538, 1548, 1548, 1541, 1549, 1551,
+     1545, 1546, 1547, 1552, 1544, 1553, 1555, 1549, 1554, 1554,
+     1556, 1557, 1558, 1558, 1559, 1557, 1560, 1562, 1551, 1556,
+     1563, 1560, 1559, 1552, 1553, 1555, 1562, 1565, 1566, 1567,
+
+     1574, 1565,    0, 1563, 1569, 1569, 1571, 1571, 1575, 1575,
+     1576, 1580, 1566, 1576, 1567, 1577, 1577, 1578, 1578, 1581,
+     1574, 1579, 1579, 1582, 1583, 1583, 1584, 1587, 1582, 1580,
+     1584, 1587, 1587, 1581, 1588, 1593, 1589, 1592, 1594, 1595,
+     1588, 1589, 1592, 1594, 1596, 1597, 1598, 1598, 1599, 1601,
+     1600, 1606, 1593, 1593, 1602, 1602, 1604, 1595, 1600, 1597,
+     1603, 1603, 1607, 1609, 1596, 1605, 1608, 1599, 1601, 1610,
+     1605, 1606, 1604, 1612, 1612, 1608, 1613, 1614, 1616, 1613,
+     1617, 1617, 1614, 1609, 1619, 1620, 1618, 1626, 1607, 1610,
+     1618, 1621, 1621, 1619, 1622, 1623, 1616, 1625, 1627, 1626,
+
+     1620, 1632, 1632, 1631, 1623, 1633, 1625, 1622, 1631, 1638,
+     1635, 1639, 1636, 1636, 1633, 1635, 1636, 1640, 1638, 1641,
+     1642, 1643, 1640, 1627, 1644, 1642, 1645, 1646, 1646, 1644,
+     1648, 1639, 1649, 1650, 1650, 1652, 1653, 1651, 1654, 1643,
+     1641, 1651, 1655, 1656, 1652, 1657, 1659, 1649, 1656, 1648,
+     1655, 1645, 1653, 1658, 1658, 1661, 1661, 1654, 1662, 1662,
+     1666, 1663, 1665, 1665, 1667, 1659, 1663, 1669, 1669, 1670,
+     1671, 1657, 1672, 1672, 1673, 1673, 1674, 1675, 1676, 1681,
+     1666, 1677, 1677, 1670, 1680, 1678, 1686, 1667, 1678, 1675,
+     1679, 1679, 1671, 1684, 1682, 1674, 1680, 1682, 1676, 1681,
+
+     1683, 1685, 1690, 1686, 1686, 1683, 1685, 1687, 1687, 1689,
+     1689, 1692, 1684, 1693, 1694, 1698, 1692, 1695, 1695, 1694,
+     1698, 1690, 1696, 1696, 1697, 1697, 1706, 1693, 1700, 1700,
+     1703, 1703, 1705, 1705, 1707, 1708, 1708, 1709, 1712, 1716,
+     1706, 1717, 1709, 1707, 1713, 1713, 1712, 1714, 1718, 1720,
+     1719, 1721, 1714, 1718, 1722, 1723, 1724, 1720, 1725, 1716,
+     1728, 1717, 1719, 1725, 1729, 1729, 1730, 1730,    0, 1721,
+     1722, 1731, 1723, 1723, 1740, 1731, 1743, 1724, 1735, 1735,
+     1728, 1737, 1739, 1739, 1745, 1737, 1742, 1742, 1740, 1746,
+     1751, 1743, 1747, 1747, 1748, 1748, 1749, 1749, 1746, 1750,
+
+     1753, 1752, 1745, 1754, 1750, 1755, 1756,    0, 1754,    0,
+     1755, 1757, 1757, 1760, 1760, 1751, 1752, 1762, 1762, 1764,
+     1764, 1753, 1766, 1767, 1767, 1756, 1768, 1769, 1769, 1772,
+     1773, 1774, 1772, 1775, 1766, 1773, 1776, 1778, 1775, 1777,
+     1783, 1768, 1784, 1787, 1783, 1774, 1785, 1789, 1788, 1790,
+     1792, 1800, 1791, 1778, 1787, 1776, 1793, 1777, 1794, 1794,
+     1785, 1788, 1784, 1795, 1796, 1796, 1789, 1790, 1791, 1797,
+     1797, 1793, 1795, 1798, 1799, 1792, 1800, 1801, 1798, 1799,
+     1802, 1803, 1805, 1808, 1809, 1802, 1810, 1811, 1813, 1809,
+     1812, 1810, 1801, 1815, 1814, 1803, 1816, 1805, 1817, 1818,
+
+     1819, 1811, 1808, 1812, 1821, 1819, 1826, 1813, 1814, 1816,
+     1820, 1817, 1815, 1822, 1822, 1820, 1823, 1824, 1818, 1825,
+     1830, 1823, 1824, 1821, 1825, 1826, 1827, 1828, 1828, 1829,
+     1831, 1827, 1832, 1833, 1834, 1836, 1829, 1832, 1837, 1830,
+     1836, 1838, 1839, 1840, 1840, 1841, 1842, 1834, 1847, 1831,
+     1841, 1845, 1833, 1843, 1843, 1839, 1845, 1837, 1844, 1844,
+     1838, 1846, 1848, 1848, 1849, 1842, 1850, 1847, 1846, 1851,
+     1852, 1849, 1853, 1850, 1855, 1852, 1856, 1857, 1858, 1855,
+     1860, 1856, 1859, 1859, 1861, 1862, 1862, 1864, 1851, 1863,
+     1863, 1853, 1865, 1865, 1864, 1867, 1857, 1858, 1873, 1860,
+
+     1866, 1866, 1867, 1861, 1869, 1872, 1874, 1875, 1875, 1869,
+     1872, 1876, 1876,    0,    0,    0,    0, 1873,    0,    0,
+        0,    0,    0,    0,    0, 1874, 1880, 1880, 1880, 1880,
+     1880, 1880, 1880, 1881, 1881, 1881, 1881, 1881, 1881, 1881,
+     1882, 1882, 1882, 1882, 1882, 1882, 1882, 1883, 1883, 1883,
+     1883, 1883, 1883, 1883, 1884, 1884, 1884, 1884, 1884, 1884,
+     1884, 1886, 1886,    0, 1886, 1886, 1886, 1886, 1887, 1887,
+        0,    0,    0, 1887, 1887, 1888, 1888,    0,    0, 1888,
+        0, 1888, 1889,    0,    0,    0,    0,    0, 1889, 1890,
+     1890,    0,    0,    0, 1890, 1890, 1891,    0,    0,    0,
+
+        0,    0, 1891, 1892, 1892,    0, 1892, 1892, 1892, 1892,
+     1893, 1893,    0, 1893, 1893, 1893, 1893, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879,
+     1879, 1879, 1879, 1879, 1879, 1879, 1879
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -2093,7 +2099,7 @@ static void config_end_include(void)
 #define YY_NO_INPUT 1
 #endif
 
-#line 2095 "<stdout>"
+#line 2101 "<stdout>"
 
 #define INITIAL 0
 #define quotedstring 1
@@ -2316,7 +2322,7 @@ YY_DECL
        {
 #line 201 "./util/configlexer.lex"
 
-#line 2318 "<stdout>"
+#line 2324 "<stdout>"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2349,13 +2355,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 1874 )
+                               if ( yy_current_state >= 1880 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 3703 );
+               while ( yy_base[yy_current_state] != 3718 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -2455,57 +2461,57 @@ YY_RULE_SETUP
 case 15:
 YY_RULE_SETUP
 #line 219 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_UDP) }
+{ YDVAR(1, VAR_PREFER_IP6) }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
 #line 220 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_TCP) }
+{ YDVAR(1, VAR_DO_UDP) }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
 #line 221 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TCP_UPSTREAM) }
+{ YDVAR(1, VAR_DO_TCP) }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
 #line 222 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TCP_MSS) }
+{ YDVAR(1, VAR_TCP_UPSTREAM) }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
 #line 223 "./util/configlexer.lex"
-{ YDVAR(1, VAR_OUTGOING_TCP_MSS) }
+{ YDVAR(1, VAR_TCP_MSS) }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
 #line 224 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SSL_UPSTREAM) }
+{ YDVAR(1, VAR_OUTGOING_TCP_MSS) }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
 #line 225 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
+{ YDVAR(1, VAR_SSL_UPSTREAM) }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
 #line 226 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
+{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
 #line 227 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SSL_PORT) }
+{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 228 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_DAEMONIZE) }
+{ YDVAR(1, VAR_SSL_PORT) }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
 #line 229 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INTERFACE) }
+{ YDVAR(1, VAR_DO_DAEMONIZE) }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
@@ -2515,745 +2521,750 @@ YY_RULE_SETUP
 case 27:
 YY_RULE_SETUP
 #line 231 "./util/configlexer.lex"
-{ YDVAR(1, VAR_OUTGOING_INTERFACE) }
+{ YDVAR(1, VAR_INTERFACE) }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
 #line 232 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
+{ YDVAR(1, VAR_OUTGOING_INTERFACE) }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
 #line 233 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SO_RCVBUF) }
+{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
 #line 234 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SO_SNDBUF) }
+{ YDVAR(1, VAR_SO_RCVBUF) }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
 #line 235 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SO_REUSEPORT) }
+{ YDVAR(1, VAR_SO_SNDBUF) }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
 #line 236 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_TRANSPARENT) }
+{ YDVAR(1, VAR_SO_REUSEPORT) }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
 #line 237 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IP_FREEBIND) }
+{ YDVAR(1, VAR_IP_TRANSPARENT) }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
 #line 238 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CHROOT) }
+{ YDVAR(1, VAR_IP_FREEBIND) }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
 #line 239 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USERNAME) }
+{ YDVAR(1, VAR_CHROOT) }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
 #line 240 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DIRECTORY) }
+{ YDVAR(1, VAR_USERNAME) }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
 #line 241 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOGFILE) }
+{ YDVAR(1, VAR_DIRECTORY) }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
 #line 242 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PIDFILE) }
+{ YDVAR(1, VAR_LOGFILE) }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
 #line 243 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ROOT_HINTS) }
+{ YDVAR(1, VAR_PIDFILE) }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
 #line 244 "./util/configlexer.lex"
-{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
+{ YDVAR(1, VAR_ROOT_HINTS) }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
 #line 245 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MSG_BUFFER_SIZE) }
+{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
 #line 246 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MSG_CACHE_SIZE) }
+{ YDVAR(1, VAR_MSG_BUFFER_SIZE) }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
 #line 247 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MSG_CACHE_SLABS) }
+{ YDVAR(1, VAR_MSG_CACHE_SIZE) }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
 #line 248 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_CACHE_SIZE) }
+{ YDVAR(1, VAR_MSG_CACHE_SLABS) }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
 #line 249 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_CACHE_SLABS) }
+{ YDVAR(1, VAR_RRSET_CACHE_SIZE) }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
 #line 250 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHE_MAX_TTL) }
+{ YDVAR(1, VAR_RRSET_CACHE_SLABS) }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
 #line 251 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
+{ YDVAR(1, VAR_CACHE_MAX_TTL) }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
 #line 252 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHE_MIN_TTL) }
+{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
 #line 253 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_HOST_TTL) }
+{ YDVAR(1, VAR_CACHE_MIN_TTL) }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
 #line 254 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_LAME_TTL) }
+{ YDVAR(1, VAR_INFRA_HOST_TTL) }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
 #line 255 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
+{ YDVAR(1, VAR_INFRA_LAME_TTL) }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
 #line 256 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
+{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
 #line 257 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
+{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
        YY_BREAK
 case 54:
 YY_RULE_SETUP
 #line 258 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
+{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
 #line 259 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
+{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
 #line 260 "./util/configlexer.lex"
-{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
+{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 261 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DELAY_CLOSE) }
+{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
 #line 262 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
+{ YDVAR(1, VAR_DELAY_CLOSE) }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
 #line 263 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
+{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
        YY_BREAK
 case 60:
 YY_RULE_SETUP
 #line 264 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
+{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
 #line 265 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_GLUE) }
+{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
 #line 266 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
+{ YDVAR(1, VAR_HARDEN_GLUE) }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
 #line 267 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
+{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
 #line 268 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
+{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 269 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
+{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
 #line 270 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
+{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
 #line 271 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CAPS_WHITELIST) }
+{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
 #line 272 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
+{ YDVAR(1, VAR_CAPS_WHITELIST) }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
 #line 273 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
+{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
 #line 274 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
+{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
 #line 275 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PREFETCH_KEY) }
+{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 276 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PREFETCH) }
+{ YDVAR(1, VAR_PREFETCH_KEY) }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
 #line 277 "./util/configlexer.lex"
-{ YDVAR(0, VAR_STUB_ZONE) }
+{ YDVAR(1, VAR_PREFETCH) }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
 #line 278 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NAME) }
+{ YDVAR(0, VAR_STUB_ZONE) }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
 #line 279 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_ADDR) }
+{ YDVAR(1, VAR_NAME) }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
 #line 280 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_HOST) }
+{ YDVAR(1, VAR_STUB_ADDR) }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 281 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_PRIME) }
+{ YDVAR(1, VAR_STUB_HOST) }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 282 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_FIRST) }
+{ YDVAR(1, VAR_STUB_PRIME) }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
 #line 283 "./util/configlexer.lex"
-{ YDVAR(0, VAR_FORWARD_ZONE) }
+{ YDVAR(1, VAR_STUB_FIRST) }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
 #line 284 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FORWARD_ADDR) }
+{ YDVAR(0, VAR_FORWARD_ZONE) }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
 #line 285 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FORWARD_HOST) }
+{ YDVAR(1, VAR_FORWARD_ADDR) }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
 #line 286 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FORWARD_FIRST) }
+{ YDVAR(1, VAR_FORWARD_HOST) }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 287 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
+{ YDVAR(1, VAR_FORWARD_FIRST) }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 288 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
+{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 289 "./util/configlexer.lex"
-{ YDVAR(2, VAR_ACCESS_CONTROL) }
+{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 290 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HIDE_IDENTITY) }
+{ YDVAR(2, VAR_ACCESS_CONTROL) }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 291 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HIDE_VERSION) }
+{ YDVAR(1, VAR_HIDE_IDENTITY) }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
 #line 292 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IDENTITY) }
+{ YDVAR(1, VAR_HIDE_VERSION) }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
 #line 293 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VERSION) }
+{ YDVAR(1, VAR_IDENTITY) }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
 #line 294 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MODULE_CONF) }
+{ YDVAR(1, VAR_VERSION) }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 295 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DLV_ANCHOR) }
+{ YDVAR(1, VAR_MODULE_CONF) }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
 #line 296 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
+{ YDVAR(1, VAR_DLV_ANCHOR) }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 297 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
+{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 298 "./util/configlexer.lex"
-{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
+{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
 #line 299 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
+{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
 #line 300 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUST_ANCHOR) }
+{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
 #line 301 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
+{ YDVAR(1, VAR_TRUST_ANCHOR) }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
 #line 302 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
+{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
 #line 303 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
+{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
 #line 304 "./util/configlexer.lex"
-{ YDVAR(1, VAR_BOGUS_TTL) }
+{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
 #line 305 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
+{ YDVAR(1, VAR_BOGUS_TTL) }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
 #line 306 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
+{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
 #line 307 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
+{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
 #line 308 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
+{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
 #line 309 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
+{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
 #line 310 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
+{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
 #line 311 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
+{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
 #line 312 "./util/configlexer.lex"
-{ 
-                                 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
+{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 314 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ADD_HOLDDOWN) }
+#line 313 "./util/configlexer.lex"
+{ 
+                                 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
 #line 315 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DEL_HOLDDOWN) }
+{ YDVAR(1, VAR_ADD_HOLDDOWN) }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
 #line 316 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEEP_MISSING) }
+{ YDVAR(1, VAR_DEL_HOLDDOWN) }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
 #line 317 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
+{ YDVAR(1, VAR_KEEP_MISSING) }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
 #line 318 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USE_SYSLOG) }
+{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
        YY_BREAK
 case 114:
 YY_RULE_SETUP
 #line 319 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_TIME_ASCII) }
+{ YDVAR(1, VAR_USE_SYSLOG) }
        YY_BREAK
 case 115:
 YY_RULE_SETUP
 #line 320 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_QUERIES) }
+{ YDVAR(1, VAR_LOG_TIME_ASCII) }
        YY_BREAK
 case 116:
 YY_RULE_SETUP
 #line 321 "./util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE) }
+{ YDVAR(1, VAR_LOG_QUERIES) }
        YY_BREAK
 case 117:
 YY_RULE_SETUP
 #line 322 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA) }
+{ YDVAR(2, VAR_LOCAL_ZONE) }
        YY_BREAK
 case 118:
 YY_RULE_SETUP
 #line 323 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
+{ YDVAR(1, VAR_LOCAL_DATA) }
        YY_BREAK
 case 119:
 YY_RULE_SETUP
 #line 324 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
+{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
        YY_BREAK
 case 120:
 YY_RULE_SETUP
 #line 325 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
+{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
        YY_BREAK
 case 121:
 YY_RULE_SETUP
 #line 326 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
+{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
        YY_BREAK
 case 122:
 YY_RULE_SETUP
 #line 327 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
+{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
        YY_BREAK
 case 123:
 YY_RULE_SETUP
 #line 328 "./util/configlexer.lex"
-{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
+{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
        YY_BREAK
 case 124:
 YY_RULE_SETUP
 #line 329 "./util/configlexer.lex"
-{ YDVAR(0, VAR_REMOTE_CONTROL) }
+{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
        YY_BREAK
 case 125:
 YY_RULE_SETUP
 #line 330 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_ENABLE) }
+{ YDVAR(0, VAR_REMOTE_CONTROL) }
        YY_BREAK
 case 126:
 YY_RULE_SETUP
 #line 331 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_INTERFACE) }
+{ YDVAR(1, VAR_CONTROL_ENABLE) }
        YY_BREAK
 case 127:
 YY_RULE_SETUP
 #line 332 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_PORT) }
+{ YDVAR(1, VAR_CONTROL_INTERFACE) }
        YY_BREAK
 case 128:
 YY_RULE_SETUP
 #line 333 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_USE_CERT) }
+{ YDVAR(1, VAR_CONTROL_PORT) }
        YY_BREAK
 case 129:
 YY_RULE_SETUP
 #line 334 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_KEY_FILE) }
+{ YDVAR(1, VAR_CONTROL_USE_CERT) }
        YY_BREAK
 case 130:
 YY_RULE_SETUP
 #line 335 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_CERT_FILE) }
+{ YDVAR(1, VAR_SERVER_KEY_FILE) }
        YY_BREAK
 case 131:
 YY_RULE_SETUP
 #line 336 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
+{ YDVAR(1, VAR_SERVER_CERT_FILE) }
        YY_BREAK
 case 132:
 YY_RULE_SETUP
 #line 337 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
+{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
        YY_BREAK
 case 133:
 YY_RULE_SETUP
 #line 338 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PYTHON_SCRIPT) }
+{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
        YY_BREAK
 case 134:
 YY_RULE_SETUP
 #line 339 "./util/configlexer.lex"
-{ YDVAR(0, VAR_PYTHON) }
+{ YDVAR(1, VAR_PYTHON_SCRIPT) }
        YY_BREAK
 case 135:
 YY_RULE_SETUP
 #line 340 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DOMAIN_INSECURE) }
+{ YDVAR(0, VAR_PYTHON) }
        YY_BREAK
 case 136:
 YY_RULE_SETUP
 #line 341 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
+{ YDVAR(1, VAR_DOMAIN_INSECURE) }
        YY_BREAK
 case 137:
 YY_RULE_SETUP
 #line 342 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
+{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
        YY_BREAK
 case 138:
 YY_RULE_SETUP
 #line 343 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MAX_UDP_SIZE) }
+{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
        YY_BREAK
 case 139:
 YY_RULE_SETUP
 #line 344 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_PREFIX) }
+{ YDVAR(1, VAR_MAX_UDP_SIZE) }
        YY_BREAK
 case 140:
 YY_RULE_SETUP
 #line 345 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_SYNTHALL) }
+{ YDVAR(1, VAR_DNS64_PREFIX) }
        YY_BREAK
 case 141:
 YY_RULE_SETUP
 #line 346 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DEFINE_TAG) }
+{ YDVAR(1, VAR_DNS64_SYNTHALL) }
        YY_BREAK
 case 142:
 YY_RULE_SETUP
 #line 347 "./util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
+{ YDVAR(1, VAR_DEFINE_TAG) }
        YY_BREAK
 case 143:
 YY_RULE_SETUP
 #line 348 "./util/configlexer.lex"
-{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
+{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
        YY_BREAK
 case 144:
 YY_RULE_SETUP
 #line 349 "./util/configlexer.lex"
-{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
+{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
        YY_BREAK
 case 145:
 YY_RULE_SETUP
 #line 350 "./util/configlexer.lex"
-{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
+{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
        YY_BREAK
 case 146:
 YY_RULE_SETUP
 #line 351 "./util/configlexer.lex"
-{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
+{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
        YY_BREAK
 case 147:
 YY_RULE_SETUP
 #line 352 "./util/configlexer.lex"
-{ YDVAR(0, VAR_DNSTAP) }
+{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
        YY_BREAK
 case 148:
 YY_RULE_SETUP
 #line 353 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_ENABLE) }
+{ YDVAR(0, VAR_DNSTAP) }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
 #line 354 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
+{ YDVAR(1, VAR_DNSTAP_ENABLE) }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
 #line 355 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
+{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
 #line 356 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
+{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
        YY_BREAK
 case 152:
 YY_RULE_SETUP
 #line 357 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
+{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
        YY_BREAK
 case 153:
 YY_RULE_SETUP
 #line 358 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_VERSION) }
+{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
        YY_BREAK
 case 154:
 YY_RULE_SETUP
 #line 359 "./util/configlexer.lex"
-{
-               YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
+{ YDVAR(1, VAR_DNSTAP_VERSION) }
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 361 "./util/configlexer.lex"
+#line 360 "./util/configlexer.lex"
 {
-               YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
+               YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 363 "./util/configlexer.lex"
+#line 362 "./util/configlexer.lex"
 {
-               YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
+               YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 365 "./util/configlexer.lex"
+#line 364 "./util/configlexer.lex"
 {
-               YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
+               YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 367 "./util/configlexer.lex"
+#line 366 "./util/configlexer.lex"
 {
-               YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
+               YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 369 "./util/configlexer.lex"
+#line 368 "./util/configlexer.lex"
 {
-               YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
+               YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 371 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
+#line 370 "./util/configlexer.lex"
+{
+               YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
        YY_BREAK
 case 161:
 YY_RULE_SETUP
 #line 372 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT) }
+{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
        YY_BREAK
 case 162:
 YY_RULE_SETUP
 #line 373 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_SLABS) }
+{ YDVAR(1, VAR_RATELIMIT) }
        YY_BREAK
 case 163:
 YY_RULE_SETUP
 #line 374 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_SIZE) }
+{ YDVAR(1, VAR_RATELIMIT_SLABS) }
        YY_BREAK
 case 164:
 YY_RULE_SETUP
 #line 375 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
+{ YDVAR(1, VAR_RATELIMIT_SIZE) }
        YY_BREAK
 case 165:
 YY_RULE_SETUP
 #line 376 "./util/configlexer.lex"
-{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
+{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
        YY_BREAK
 case 166:
 YY_RULE_SETUP
 #line 377 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
+{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
        YY_BREAK
 case 167:
-/* rule 167 can match eol */
 YY_RULE_SETUP
 #line 378 "./util/configlexer.lex"
+{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
+       YY_BREAK
+case 168:
+/* rule 168 can match eol */
+YY_RULE_SETUP
+#line 379 "./util/configlexer.lex"
 { LEXOUT(("NL\n")); cfg_parser->line++; }
        YY_BREAK
 /* Quoted strings. Strip leading and ending quotes */
-case 168:
+case 169:
 YY_RULE_SETUP
-#line 381 "./util/configlexer.lex"
+#line 382 "./util/configlexer.lex"
 { BEGIN(quotedstring); LEXOUT(("QS ")); }
        YY_BREAK
 case YY_STATE_EOF(quotedstring):
-#line 382 "./util/configlexer.lex"
+#line 383 "./util/configlexer.lex"
 {
         yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
 }
        YY_BREAK
-case 169:
+case 170:
 YY_RULE_SETUP
-#line 387 "./util/configlexer.lex"
+#line 388 "./util/configlexer.lex"
 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
-case 170:
-/* rule 170 can match eol */
+case 171:
+/* rule 171 can match eol */
 YY_RULE_SETUP
-#line 388 "./util/configlexer.lex"
+#line 389 "./util/configlexer.lex"
 { yyerror("newline inside quoted string, no end \""); 
                          cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
-case 171:
+case 172:
 YY_RULE_SETUP
-#line 390 "./util/configlexer.lex"
+#line 391 "./util/configlexer.lex"
 {
         LEXOUT(("QE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
@@ -3266,34 +3277,34 @@ YY_RULE_SETUP
 }
        YY_BREAK
 /* Single Quoted strings. Strip leading and ending quotes */
-case 172:
+case 173:
 YY_RULE_SETUP
-#line 402 "./util/configlexer.lex"
+#line 403 "./util/configlexer.lex"
 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
        YY_BREAK
 case YY_STATE_EOF(singlequotedstr):
-#line 403 "./util/configlexer.lex"
+#line 404 "./util/configlexer.lex"
 {
         yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
 }
        YY_BREAK
-case 173:
+case 174:
 YY_RULE_SETUP
-#line 408 "./util/configlexer.lex"
+#line 409 "./util/configlexer.lex"
 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
-case 174:
-/* rule 174 can match eol */
+case 175:
+/* rule 175 can match eol */
 YY_RULE_SETUP
-#line 409 "./util/configlexer.lex"
+#line 410 "./util/configlexer.lex"
 { yyerror("newline inside quoted string, no end '"); 
                             cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
-case 175:
+case 176:
 YY_RULE_SETUP
-#line 411 "./util/configlexer.lex"
+#line 412 "./util/configlexer.lex"
 {
         LEXOUT(("SQE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
@@ -3306,38 +3317,38 @@ YY_RULE_SETUP
 }
        YY_BREAK
 /* include: directive */
-case 176:
+case 177:
 YY_RULE_SETUP
-#line 423 "./util/configlexer.lex"
+#line 424 "./util/configlexer.lex"
 { 
        LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
        YY_BREAK
 case YY_STATE_EOF(include):
-#line 425 "./util/configlexer.lex"
+#line 426 "./util/configlexer.lex"
 {
         yyerror("EOF inside include directive");
         BEGIN(inc_prev);
 }
        YY_BREAK
-case 177:
-YY_RULE_SETUP
-#line 429 "./util/configlexer.lex"
-{ LEXOUT(("ISP ")); /* ignore */ }
-       YY_BREAK
 case 178:
-/* rule 178 can match eol */
 YY_RULE_SETUP
 #line 430 "./util/configlexer.lex"
-{ LEXOUT(("NL\n")); cfg_parser->line++;}
+{ LEXOUT(("ISP ")); /* ignore */ }
        YY_BREAK
 case 179:
+/* rule 179 can match eol */
 YY_RULE_SETUP
 #line 431 "./util/configlexer.lex"
-{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
+{ LEXOUT(("NL\n")); cfg_parser->line++;}
        YY_BREAK
 case 180:
 YY_RULE_SETUP
 #line 432 "./util/configlexer.lex"
+{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
+       YY_BREAK
+case 181:
+YY_RULE_SETUP
+#line 433 "./util/configlexer.lex"
 {
        LEXOUT(("Iunquotedstr(%s) ", yytext));
        config_start_include_glob(yytext);
@@ -3345,27 +3356,27 @@ YY_RULE_SETUP
 }
        YY_BREAK
 case YY_STATE_EOF(include_quoted):
-#line 437 "./util/configlexer.lex"
+#line 438 "./util/configlexer.lex"
 {
         yyerror("EOF inside quoted string");
         BEGIN(inc_prev);
 }
        YY_BREAK
-case 181:
+case 182:
 YY_RULE_SETUP
-#line 441 "./util/configlexer.lex"
+#line 442 "./util/configlexer.lex"
 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
        YY_BREAK
-case 182:
-/* rule 182 can match eol */
+case 183:
+/* rule 183 can match eol */
 YY_RULE_SETUP
-#line 442 "./util/configlexer.lex"
+#line 443 "./util/configlexer.lex"
 { yyerror("newline before \" in include name"); 
                                  cfg_parser->line++; BEGIN(inc_prev); }
        YY_BREAK
-case 183:
+case 184:
 YY_RULE_SETUP
-#line 444 "./util/configlexer.lex"
+#line 445 "./util/configlexer.lex"
 {
        LEXOUT(("IQE "));
        yytext[yyleng - 1] = '\0';
@@ -3375,7 +3386,7 @@ YY_RULE_SETUP
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(val):
-#line 450 "./util/configlexer.lex"
+#line 451 "./util/configlexer.lex"
 {
        LEXOUT(("LEXEOF "));
        yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
@@ -3387,33 +3398,33 @@ case YY_STATE_EOF(val):
        }
 }
        YY_BREAK
-case 184:
+case 185:
 YY_RULE_SETUP
-#line 461 "./util/configlexer.lex"
+#line 462 "./util/configlexer.lex"
 { LEXOUT(("unquotedstr(%s) ", yytext)); 
                        if(--num_args == 0) { BEGIN(INITIAL); }
                        yylval.str = strdup(yytext); return STRING_ARG; }
        YY_BREAK
-case 185:
+case 186:
 YY_RULE_SETUP
-#line 465 "./util/configlexer.lex"
+#line 466 "./util/configlexer.lex"
 {
        ub_c_error_msg("unknown keyword '%s'", yytext);
        }
        YY_BREAK
-case 186:
+case 187:
 YY_RULE_SETUP
-#line 469 "./util/configlexer.lex"
+#line 470 "./util/configlexer.lex"
 {
        ub_c_error_msg("stray '%s'", yytext);
        }
        YY_BREAK
-case 187:
+case 188:
 YY_RULE_SETUP
-#line 473 "./util/configlexer.lex"
+#line 474 "./util/configlexer.lex"
 ECHO;
        YY_BREAK
-#line 3415 "<stdout>"
+#line 3426 "<stdout>"
 
        case YY_END_OF_BUFFER:
                {
@@ -3704,7 +3715,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 1874 )
+                       if ( yy_current_state >= 1880 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3732,11 +3743,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 1874 )
+               if ( yy_current_state >= 1880 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 1873);
+       yy_is_jam = (yy_current_state == 1879);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -4375,7 +4386,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 473 "./util/configlexer.lex"
+#line 474 "./util/configlexer.lex"
 
 
 
index 84f601f8a5ad110d9c7cda58b719fe572bbfc001..ab5d8639af0f6c55c0d23da5ca45d83e2869f104 100644 (file)
@@ -216,6 +216,7 @@ outgoing-num-tcp{COLON}             { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
 incoming-num-tcp{COLON}                { YDVAR(1, VAR_INCOMING_NUM_TCP) }
 do-ip4{COLON}                  { YDVAR(1, VAR_DO_IP4) }
 do-ip6{COLON}                  { YDVAR(1, VAR_DO_IP6) }
+prefer-ip6{COLON}              { YDVAR(1, VAR_PREFER_IP6) }
 do-udp{COLON}                  { YDVAR(1, VAR_DO_UDP) }
 do-tcp{COLON}                  { YDVAR(1, VAR_DO_TCP) }
 tcp-upstream{COLON}            { YDVAR(1, VAR_TCP_UPSTREAM) }
index fc96a481d8315607c487b263ccbfada57989a703..25fabc6a4f1dd05fc73a7232f1d29ccbfdff7afc 100644 (file)
@@ -140,161 +140,162 @@ extern int yydebug;
     VAR_INTERFACE = 271,
     VAR_DO_IP4 = 272,
     VAR_DO_IP6 = 273,
-    VAR_DO_UDP = 274,
-    VAR_DO_TCP = 275,
-    VAR_TCP_MSS = 276,
-    VAR_OUTGOING_TCP_MSS = 277,
-    VAR_CHROOT = 278,
-    VAR_USERNAME = 279,
-    VAR_DIRECTORY = 280,
-    VAR_LOGFILE = 281,
-    VAR_PIDFILE = 282,
-    VAR_MSG_CACHE_SIZE = 283,
-    VAR_MSG_CACHE_SLABS = 284,
-    VAR_NUM_QUERIES_PER_THREAD = 285,
-    VAR_RRSET_CACHE_SIZE = 286,
-    VAR_RRSET_CACHE_SLABS = 287,
-    VAR_OUTGOING_NUM_TCP = 288,
-    VAR_INFRA_HOST_TTL = 289,
-    VAR_INFRA_LAME_TTL = 290,
-    VAR_INFRA_CACHE_SLABS = 291,
-    VAR_INFRA_CACHE_NUMHOSTS = 292,
-    VAR_INFRA_CACHE_LAME_SIZE = 293,
-    VAR_NAME = 294,
-    VAR_STUB_ZONE = 295,
-    VAR_STUB_HOST = 296,
-    VAR_STUB_ADDR = 297,
-    VAR_TARGET_FETCH_POLICY = 298,
-    VAR_HARDEN_SHORT_BUFSIZE = 299,
-    VAR_HARDEN_LARGE_QUERIES = 300,
-    VAR_FORWARD_ZONE = 301,
-    VAR_FORWARD_HOST = 302,
-    VAR_FORWARD_ADDR = 303,
-    VAR_DO_NOT_QUERY_ADDRESS = 304,
-    VAR_HIDE_IDENTITY = 305,
-    VAR_HIDE_VERSION = 306,
-    VAR_IDENTITY = 307,
-    VAR_VERSION = 308,
-    VAR_HARDEN_GLUE = 309,
-    VAR_MODULE_CONF = 310,
-    VAR_TRUST_ANCHOR_FILE = 311,
-    VAR_TRUST_ANCHOR = 312,
-    VAR_VAL_OVERRIDE_DATE = 313,
-    VAR_BOGUS_TTL = 314,
-    VAR_VAL_CLEAN_ADDITIONAL = 315,
-    VAR_VAL_PERMISSIVE_MODE = 316,
-    VAR_INCOMING_NUM_TCP = 317,
-    VAR_MSG_BUFFER_SIZE = 318,
-    VAR_KEY_CACHE_SIZE = 319,
-    VAR_KEY_CACHE_SLABS = 320,
-    VAR_TRUSTED_KEYS_FILE = 321,
-    VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 322,
-    VAR_USE_SYSLOG = 323,
-    VAR_OUTGOING_INTERFACE = 324,
-    VAR_ROOT_HINTS = 325,
-    VAR_DO_NOT_QUERY_LOCALHOST = 326,
-    VAR_CACHE_MAX_TTL = 327,
-    VAR_HARDEN_DNSSEC_STRIPPED = 328,
-    VAR_ACCESS_CONTROL = 329,
-    VAR_LOCAL_ZONE = 330,
-    VAR_LOCAL_DATA = 331,
-    VAR_INTERFACE_AUTOMATIC = 332,
-    VAR_STATISTICS_INTERVAL = 333,
-    VAR_DO_DAEMONIZE = 334,
-    VAR_USE_CAPS_FOR_ID = 335,
-    VAR_STATISTICS_CUMULATIVE = 336,
-    VAR_OUTGOING_PORT_PERMIT = 337,
-    VAR_OUTGOING_PORT_AVOID = 338,
-    VAR_DLV_ANCHOR_FILE = 339,
-    VAR_DLV_ANCHOR = 340,
-    VAR_NEG_CACHE_SIZE = 341,
-    VAR_HARDEN_REFERRAL_PATH = 342,
-    VAR_PRIVATE_ADDRESS = 343,
-    VAR_PRIVATE_DOMAIN = 344,
-    VAR_REMOTE_CONTROL = 345,
-    VAR_CONTROL_ENABLE = 346,
-    VAR_CONTROL_INTERFACE = 347,
-    VAR_CONTROL_PORT = 348,
-    VAR_SERVER_KEY_FILE = 349,
-    VAR_SERVER_CERT_FILE = 350,
-    VAR_CONTROL_KEY_FILE = 351,
-    VAR_CONTROL_CERT_FILE = 352,
-    VAR_CONTROL_USE_CERT = 353,
-    VAR_EXTENDED_STATISTICS = 354,
-    VAR_LOCAL_DATA_PTR = 355,
-    VAR_JOSTLE_TIMEOUT = 356,
-    VAR_STUB_PRIME = 357,
-    VAR_UNWANTED_REPLY_THRESHOLD = 358,
-    VAR_LOG_TIME_ASCII = 359,
-    VAR_DOMAIN_INSECURE = 360,
-    VAR_PYTHON = 361,
-    VAR_PYTHON_SCRIPT = 362,
-    VAR_VAL_SIG_SKEW_MIN = 363,
-    VAR_VAL_SIG_SKEW_MAX = 364,
-    VAR_CACHE_MIN_TTL = 365,
-    VAR_VAL_LOG_LEVEL = 366,
-    VAR_AUTO_TRUST_ANCHOR_FILE = 367,
-    VAR_KEEP_MISSING = 368,
-    VAR_ADD_HOLDDOWN = 369,
-    VAR_DEL_HOLDDOWN = 370,
-    VAR_SO_RCVBUF = 371,
-    VAR_EDNS_BUFFER_SIZE = 372,
-    VAR_PREFETCH = 373,
-    VAR_PREFETCH_KEY = 374,
-    VAR_SO_SNDBUF = 375,
-    VAR_SO_REUSEPORT = 376,
-    VAR_HARDEN_BELOW_NXDOMAIN = 377,
-    VAR_IGNORE_CD_FLAG = 378,
-    VAR_LOG_QUERIES = 379,
-    VAR_TCP_UPSTREAM = 380,
-    VAR_SSL_UPSTREAM = 381,
-    VAR_SSL_SERVICE_KEY = 382,
-    VAR_SSL_SERVICE_PEM = 383,
-    VAR_SSL_PORT = 384,
-    VAR_FORWARD_FIRST = 385,
-    VAR_STUB_FIRST = 386,
-    VAR_MINIMAL_RESPONSES = 387,
-    VAR_RRSET_ROUNDROBIN = 388,
-    VAR_MAX_UDP_SIZE = 389,
-    VAR_DELAY_CLOSE = 390,
-    VAR_UNBLOCK_LAN_ZONES = 391,
-    VAR_INSECURE_LAN_ZONES = 392,
-    VAR_INFRA_CACHE_MIN_RTT = 393,
-    VAR_DNS64_PREFIX = 394,
-    VAR_DNS64_SYNTHALL = 395,
-    VAR_DNSTAP = 396,
-    VAR_DNSTAP_ENABLE = 397,
-    VAR_DNSTAP_SOCKET_PATH = 398,
-    VAR_DNSTAP_SEND_IDENTITY = 399,
-    VAR_DNSTAP_SEND_VERSION = 400,
-    VAR_DNSTAP_IDENTITY = 401,
-    VAR_DNSTAP_VERSION = 402,
-    VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 403,
-    VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 404,
-    VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 405,
-    VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 406,
-    VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 407,
-    VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 408,
-    VAR_HARDEN_ALGO_DOWNGRADE = 409,
-    VAR_IP_TRANSPARENT = 410,
-    VAR_DISABLE_DNSSEC_LAME_CHECK = 411,
-    VAR_RATELIMIT = 412,
-    VAR_RATELIMIT_SLABS = 413,
-    VAR_RATELIMIT_SIZE = 414,
-    VAR_RATELIMIT_FOR_DOMAIN = 415,
-    VAR_RATELIMIT_BELOW_DOMAIN = 416,
-    VAR_RATELIMIT_FACTOR = 417,
-    VAR_CAPS_WHITELIST = 418,
-    VAR_CACHE_MAX_NEGATIVE_TTL = 419,
-    VAR_PERMIT_SMALL_HOLDDOWN = 420,
-    VAR_QNAME_MINIMISATION = 421,
-    VAR_IP_FREEBIND = 422,
-    VAR_DEFINE_TAG = 423,
-    VAR_LOCAL_ZONE_TAG = 424,
-    VAR_ACCESS_CONTROL_TAG = 425,
-    VAR_LOCAL_ZONE_OVERRIDE = 426,
-    VAR_ACCESS_CONTROL_TAG_ACTION = 427,
-    VAR_ACCESS_CONTROL_TAG_DATA = 428
+    VAR_PREFER_IP6 = 274,
+    VAR_DO_UDP = 275,
+    VAR_DO_TCP = 276,
+    VAR_TCP_MSS = 277,
+    VAR_OUTGOING_TCP_MSS = 278,
+    VAR_CHROOT = 279,
+    VAR_USERNAME = 280,
+    VAR_DIRECTORY = 281,
+    VAR_LOGFILE = 282,
+    VAR_PIDFILE = 283,
+    VAR_MSG_CACHE_SIZE = 284,
+    VAR_MSG_CACHE_SLABS = 285,
+    VAR_NUM_QUERIES_PER_THREAD = 286,
+    VAR_RRSET_CACHE_SIZE = 287,
+    VAR_RRSET_CACHE_SLABS = 288,
+    VAR_OUTGOING_NUM_TCP = 289,
+    VAR_INFRA_HOST_TTL = 290,
+    VAR_INFRA_LAME_TTL = 291,
+    VAR_INFRA_CACHE_SLABS = 292,
+    VAR_INFRA_CACHE_NUMHOSTS = 293,
+    VAR_INFRA_CACHE_LAME_SIZE = 294,
+    VAR_NAME = 295,
+    VAR_STUB_ZONE = 296,
+    VAR_STUB_HOST = 297,
+    VAR_STUB_ADDR = 298,
+    VAR_TARGET_FETCH_POLICY = 299,
+    VAR_HARDEN_SHORT_BUFSIZE = 300,
+    VAR_HARDEN_LARGE_QUERIES = 301,
+    VAR_FORWARD_ZONE = 302,
+    VAR_FORWARD_HOST = 303,
+    VAR_FORWARD_ADDR = 304,
+    VAR_DO_NOT_QUERY_ADDRESS = 305,
+    VAR_HIDE_IDENTITY = 306,
+    VAR_HIDE_VERSION = 307,
+    VAR_IDENTITY = 308,
+    VAR_VERSION = 309,
+    VAR_HARDEN_GLUE = 310,
+    VAR_MODULE_CONF = 311,
+    VAR_TRUST_ANCHOR_FILE = 312,
+    VAR_TRUST_ANCHOR = 313,
+    VAR_VAL_OVERRIDE_DATE = 314,
+    VAR_BOGUS_TTL = 315,
+    VAR_VAL_CLEAN_ADDITIONAL = 316,
+    VAR_VAL_PERMISSIVE_MODE = 317,
+    VAR_INCOMING_NUM_TCP = 318,
+    VAR_MSG_BUFFER_SIZE = 319,
+    VAR_KEY_CACHE_SIZE = 320,
+    VAR_KEY_CACHE_SLABS = 321,
+    VAR_TRUSTED_KEYS_FILE = 322,
+    VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 323,
+    VAR_USE_SYSLOG = 324,
+    VAR_OUTGOING_INTERFACE = 325,
+    VAR_ROOT_HINTS = 326,
+    VAR_DO_NOT_QUERY_LOCALHOST = 327,
+    VAR_CACHE_MAX_TTL = 328,
+    VAR_HARDEN_DNSSEC_STRIPPED = 329,
+    VAR_ACCESS_CONTROL = 330,
+    VAR_LOCAL_ZONE = 331,
+    VAR_LOCAL_DATA = 332,
+    VAR_INTERFACE_AUTOMATIC = 333,
+    VAR_STATISTICS_INTERVAL = 334,
+    VAR_DO_DAEMONIZE = 335,
+    VAR_USE_CAPS_FOR_ID = 336,
+    VAR_STATISTICS_CUMULATIVE = 337,
+    VAR_OUTGOING_PORT_PERMIT = 338,
+    VAR_OUTGOING_PORT_AVOID = 339,
+    VAR_DLV_ANCHOR_FILE = 340,
+    VAR_DLV_ANCHOR = 341,
+    VAR_NEG_CACHE_SIZE = 342,
+    VAR_HARDEN_REFERRAL_PATH = 343,
+    VAR_PRIVATE_ADDRESS = 344,
+    VAR_PRIVATE_DOMAIN = 345,
+    VAR_REMOTE_CONTROL = 346,
+    VAR_CONTROL_ENABLE = 347,
+    VAR_CONTROL_INTERFACE = 348,
+    VAR_CONTROL_PORT = 349,
+    VAR_SERVER_KEY_FILE = 350,
+    VAR_SERVER_CERT_FILE = 351,
+    VAR_CONTROL_KEY_FILE = 352,
+    VAR_CONTROL_CERT_FILE = 353,
+    VAR_CONTROL_USE_CERT = 354,
+    VAR_EXTENDED_STATISTICS = 355,
+    VAR_LOCAL_DATA_PTR = 356,
+    VAR_JOSTLE_TIMEOUT = 357,
+    VAR_STUB_PRIME = 358,
+    VAR_UNWANTED_REPLY_THRESHOLD = 359,
+    VAR_LOG_TIME_ASCII = 360,
+    VAR_DOMAIN_INSECURE = 361,
+    VAR_PYTHON = 362,
+    VAR_PYTHON_SCRIPT = 363,
+    VAR_VAL_SIG_SKEW_MIN = 364,
+    VAR_VAL_SIG_SKEW_MAX = 365,
+    VAR_CACHE_MIN_TTL = 366,
+    VAR_VAL_LOG_LEVEL = 367,
+    VAR_AUTO_TRUST_ANCHOR_FILE = 368,
+    VAR_KEEP_MISSING = 369,
+    VAR_ADD_HOLDDOWN = 370,
+    VAR_DEL_HOLDDOWN = 371,
+    VAR_SO_RCVBUF = 372,
+    VAR_EDNS_BUFFER_SIZE = 373,
+    VAR_PREFETCH = 374,
+    VAR_PREFETCH_KEY = 375,
+    VAR_SO_SNDBUF = 376,
+    VAR_SO_REUSEPORT = 377,
+    VAR_HARDEN_BELOW_NXDOMAIN = 378,
+    VAR_IGNORE_CD_FLAG = 379,
+    VAR_LOG_QUERIES = 380,
+    VAR_TCP_UPSTREAM = 381,
+    VAR_SSL_UPSTREAM = 382,
+    VAR_SSL_SERVICE_KEY = 383,
+    VAR_SSL_SERVICE_PEM = 384,
+    VAR_SSL_PORT = 385,
+    VAR_FORWARD_FIRST = 386,
+    VAR_STUB_FIRST = 387,
+    VAR_MINIMAL_RESPONSES = 388,
+    VAR_RRSET_ROUNDROBIN = 389,
+    VAR_MAX_UDP_SIZE = 390,
+    VAR_DELAY_CLOSE = 391,
+    VAR_UNBLOCK_LAN_ZONES = 392,
+    VAR_INSECURE_LAN_ZONES = 393,
+    VAR_INFRA_CACHE_MIN_RTT = 394,
+    VAR_DNS64_PREFIX = 395,
+    VAR_DNS64_SYNTHALL = 396,
+    VAR_DNSTAP = 397,
+    VAR_DNSTAP_ENABLE = 398,
+    VAR_DNSTAP_SOCKET_PATH = 399,
+    VAR_DNSTAP_SEND_IDENTITY = 400,
+    VAR_DNSTAP_SEND_VERSION = 401,
+    VAR_DNSTAP_IDENTITY = 402,
+    VAR_DNSTAP_VERSION = 403,
+    VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 404,
+    VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 405,
+    VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 406,
+    VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 407,
+    VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 408,
+    VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 409,
+    VAR_HARDEN_ALGO_DOWNGRADE = 410,
+    VAR_IP_TRANSPARENT = 411,
+    VAR_DISABLE_DNSSEC_LAME_CHECK = 412,
+    VAR_RATELIMIT = 413,
+    VAR_RATELIMIT_SLABS = 414,
+    VAR_RATELIMIT_SIZE = 415,
+    VAR_RATELIMIT_FOR_DOMAIN = 416,
+    VAR_RATELIMIT_BELOW_DOMAIN = 417,
+    VAR_RATELIMIT_FACTOR = 418,
+    VAR_CAPS_WHITELIST = 419,
+    VAR_CACHE_MAX_NEGATIVE_TTL = 420,
+    VAR_PERMIT_SMALL_HOLDDOWN = 421,
+    VAR_QNAME_MINIMISATION = 422,
+    VAR_IP_FREEBIND = 423,
+    VAR_DEFINE_TAG = 424,
+    VAR_LOCAL_ZONE_TAG = 425,
+    VAR_ACCESS_CONTROL_TAG = 426,
+    VAR_LOCAL_ZONE_OVERRIDE = 427,
+    VAR_ACCESS_CONTROL_TAG_ACTION = 428,
+    VAR_ACCESS_CONTROL_TAG_DATA = 429
   };
 #endif
 /* Tokens.  */
@@ -314,161 +315,162 @@ extern int yydebug;
 #define VAR_INTERFACE 271
 #define VAR_DO_IP4 272
 #define VAR_DO_IP6 273
-#define VAR_DO_UDP 274
-#define VAR_DO_TCP 275
-#define VAR_TCP_MSS 276
-#define VAR_OUTGOING_TCP_MSS 277
-#define VAR_CHROOT 278
-#define VAR_USERNAME 279
-#define VAR_DIRECTORY 280
-#define VAR_LOGFILE 281
-#define VAR_PIDFILE 282
-#define VAR_MSG_CACHE_SIZE 283
-#define VAR_MSG_CACHE_SLABS 284
-#define VAR_NUM_QUERIES_PER_THREAD 285
-#define VAR_RRSET_CACHE_SIZE 286
-#define VAR_RRSET_CACHE_SLABS 287
-#define VAR_OUTGOING_NUM_TCP 288
-#define VAR_INFRA_HOST_TTL 289
-#define VAR_INFRA_LAME_TTL 290
-#define VAR_INFRA_CACHE_SLABS 291
-#define VAR_INFRA_CACHE_NUMHOSTS 292
-#define VAR_INFRA_CACHE_LAME_SIZE 293
-#define VAR_NAME 294
-#define VAR_STUB_ZONE 295
-#define VAR_STUB_HOST 296
-#define VAR_STUB_ADDR 297
-#define VAR_TARGET_FETCH_POLICY 298
-#define VAR_HARDEN_SHORT_BUFSIZE 299
-#define VAR_HARDEN_LARGE_QUERIES 300
-#define VAR_FORWARD_ZONE 301
-#define VAR_FORWARD_HOST 302
-#define VAR_FORWARD_ADDR 303
-#define VAR_DO_NOT_QUERY_ADDRESS 304
-#define VAR_HIDE_IDENTITY 305
-#define VAR_HIDE_VERSION 306
-#define VAR_IDENTITY 307
-#define VAR_VERSION 308
-#define VAR_HARDEN_GLUE 309
-#define VAR_MODULE_CONF 310
-#define VAR_TRUST_ANCHOR_FILE 311
-#define VAR_TRUST_ANCHOR 312
-#define VAR_VAL_OVERRIDE_DATE 313
-#define VAR_BOGUS_TTL 314
-#define VAR_VAL_CLEAN_ADDITIONAL 315
-#define VAR_VAL_PERMISSIVE_MODE 316
-#define VAR_INCOMING_NUM_TCP 317
-#define VAR_MSG_BUFFER_SIZE 318
-#define VAR_KEY_CACHE_SIZE 319
-#define VAR_KEY_CACHE_SLABS 320
-#define VAR_TRUSTED_KEYS_FILE 321
-#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 322
-#define VAR_USE_SYSLOG 323
-#define VAR_OUTGOING_INTERFACE 324
-#define VAR_ROOT_HINTS 325
-#define VAR_DO_NOT_QUERY_LOCALHOST 326
-#define VAR_CACHE_MAX_TTL 327
-#define VAR_HARDEN_DNSSEC_STRIPPED 328
-#define VAR_ACCESS_CONTROL 329
-#define VAR_LOCAL_ZONE 330
-#define VAR_LOCAL_DATA 331
-#define VAR_INTERFACE_AUTOMATIC 332
-#define VAR_STATISTICS_INTERVAL 333
-#define VAR_DO_DAEMONIZE 334
-#define VAR_USE_CAPS_FOR_ID 335
-#define VAR_STATISTICS_CUMULATIVE 336
-#define VAR_OUTGOING_PORT_PERMIT 337
-#define VAR_OUTGOING_PORT_AVOID 338
-#define VAR_DLV_ANCHOR_FILE 339
-#define VAR_DLV_ANCHOR 340
-#define VAR_NEG_CACHE_SIZE 341
-#define VAR_HARDEN_REFERRAL_PATH 342
-#define VAR_PRIVATE_ADDRESS 343
-#define VAR_PRIVATE_DOMAIN 344
-#define VAR_REMOTE_CONTROL 345
-#define VAR_CONTROL_ENABLE 346
-#define VAR_CONTROL_INTERFACE 347
-#define VAR_CONTROL_PORT 348
-#define VAR_SERVER_KEY_FILE 349
-#define VAR_SERVER_CERT_FILE 350
-#define VAR_CONTROL_KEY_FILE 351
-#define VAR_CONTROL_CERT_FILE 352
-#define VAR_CONTROL_USE_CERT 353
-#define VAR_EXTENDED_STATISTICS 354
-#define VAR_LOCAL_DATA_PTR 355
-#define VAR_JOSTLE_TIMEOUT 356
-#define VAR_STUB_PRIME 357
-#define VAR_UNWANTED_REPLY_THRESHOLD 358
-#define VAR_LOG_TIME_ASCII 359
-#define VAR_DOMAIN_INSECURE 360
-#define VAR_PYTHON 361
-#define VAR_PYTHON_SCRIPT 362
-#define VAR_VAL_SIG_SKEW_MIN 363
-#define VAR_VAL_SIG_SKEW_MAX 364
-#define VAR_CACHE_MIN_TTL 365
-#define VAR_VAL_LOG_LEVEL 366
-#define VAR_AUTO_TRUST_ANCHOR_FILE 367
-#define VAR_KEEP_MISSING 368
-#define VAR_ADD_HOLDDOWN 369
-#define VAR_DEL_HOLDDOWN 370
-#define VAR_SO_RCVBUF 371
-#define VAR_EDNS_BUFFER_SIZE 372
-#define VAR_PREFETCH 373
-#define VAR_PREFETCH_KEY 374
-#define VAR_SO_SNDBUF 375
-#define VAR_SO_REUSEPORT 376
-#define VAR_HARDEN_BELOW_NXDOMAIN 377
-#define VAR_IGNORE_CD_FLAG 378
-#define VAR_LOG_QUERIES 379
-#define VAR_TCP_UPSTREAM 380
-#define VAR_SSL_UPSTREAM 381
-#define VAR_SSL_SERVICE_KEY 382
-#define VAR_SSL_SERVICE_PEM 383
-#define VAR_SSL_PORT 384
-#define VAR_FORWARD_FIRST 385
-#define VAR_STUB_FIRST 386
-#define VAR_MINIMAL_RESPONSES 387
-#define VAR_RRSET_ROUNDROBIN 388
-#define VAR_MAX_UDP_SIZE 389
-#define VAR_DELAY_CLOSE 390
-#define VAR_UNBLOCK_LAN_ZONES 391
-#define VAR_INSECURE_LAN_ZONES 392
-#define VAR_INFRA_CACHE_MIN_RTT 393
-#define VAR_DNS64_PREFIX 394
-#define VAR_DNS64_SYNTHALL 395
-#define VAR_DNSTAP 396
-#define VAR_DNSTAP_ENABLE 397
-#define VAR_DNSTAP_SOCKET_PATH 398
-#define VAR_DNSTAP_SEND_IDENTITY 399
-#define VAR_DNSTAP_SEND_VERSION 400
-#define VAR_DNSTAP_IDENTITY 401
-#define VAR_DNSTAP_VERSION 402
-#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 403
-#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 404
-#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 405
-#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 406
-#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 407
-#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 408
-#define VAR_HARDEN_ALGO_DOWNGRADE 409
-#define VAR_IP_TRANSPARENT 410
-#define VAR_DISABLE_DNSSEC_LAME_CHECK 411
-#define VAR_RATELIMIT 412
-#define VAR_RATELIMIT_SLABS 413
-#define VAR_RATELIMIT_SIZE 414
-#define VAR_RATELIMIT_FOR_DOMAIN 415
-#define VAR_RATELIMIT_BELOW_DOMAIN 416
-#define VAR_RATELIMIT_FACTOR 417
-#define VAR_CAPS_WHITELIST 418
-#define VAR_CACHE_MAX_NEGATIVE_TTL 419
-#define VAR_PERMIT_SMALL_HOLDDOWN 420
-#define VAR_QNAME_MINIMISATION 421
-#define VAR_IP_FREEBIND 422
-#define VAR_DEFINE_TAG 423
-#define VAR_LOCAL_ZONE_TAG 424
-#define VAR_ACCESS_CONTROL_TAG 425
-#define VAR_LOCAL_ZONE_OVERRIDE 426
-#define VAR_ACCESS_CONTROL_TAG_ACTION 427
-#define VAR_ACCESS_CONTROL_TAG_DATA 428
+#define VAR_PREFER_IP6 274
+#define VAR_DO_UDP 275
+#define VAR_DO_TCP 276
+#define VAR_TCP_MSS 277
+#define VAR_OUTGOING_TCP_MSS 278
+#define VAR_CHROOT 279
+#define VAR_USERNAME 280
+#define VAR_DIRECTORY 281
+#define VAR_LOGFILE 282
+#define VAR_PIDFILE 283
+#define VAR_MSG_CACHE_SIZE 284
+#define VAR_MSG_CACHE_SLABS 285
+#define VAR_NUM_QUERIES_PER_THREAD 286
+#define VAR_RRSET_CACHE_SIZE 287
+#define VAR_RRSET_CACHE_SLABS 288
+#define VAR_OUTGOING_NUM_TCP 289
+#define VAR_INFRA_HOST_TTL 290
+#define VAR_INFRA_LAME_TTL 291
+#define VAR_INFRA_CACHE_SLABS 292
+#define VAR_INFRA_CACHE_NUMHOSTS 293
+#define VAR_INFRA_CACHE_LAME_SIZE 294
+#define VAR_NAME 295
+#define VAR_STUB_ZONE 296
+#define VAR_STUB_HOST 297
+#define VAR_STUB_ADDR 298
+#define VAR_TARGET_FETCH_POLICY 299
+#define VAR_HARDEN_SHORT_BUFSIZE 300
+#define VAR_HARDEN_LARGE_QUERIES 301
+#define VAR_FORWARD_ZONE 302
+#define VAR_FORWARD_HOST 303
+#define VAR_FORWARD_ADDR 304
+#define VAR_DO_NOT_QUERY_ADDRESS 305
+#define VAR_HIDE_IDENTITY 306
+#define VAR_HIDE_VERSION 307
+#define VAR_IDENTITY 308
+#define VAR_VERSION 309
+#define VAR_HARDEN_GLUE 310
+#define VAR_MODULE_CONF 311
+#define VAR_TRUST_ANCHOR_FILE 312
+#define VAR_TRUST_ANCHOR 313
+#define VAR_VAL_OVERRIDE_DATE 314
+#define VAR_BOGUS_TTL 315
+#define VAR_VAL_CLEAN_ADDITIONAL 316
+#define VAR_VAL_PERMISSIVE_MODE 317
+#define VAR_INCOMING_NUM_TCP 318
+#define VAR_MSG_BUFFER_SIZE 319
+#define VAR_KEY_CACHE_SIZE 320
+#define VAR_KEY_CACHE_SLABS 321
+#define VAR_TRUSTED_KEYS_FILE 322
+#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 323
+#define VAR_USE_SYSLOG 324
+#define VAR_OUTGOING_INTERFACE 325
+#define VAR_ROOT_HINTS 326
+#define VAR_DO_NOT_QUERY_LOCALHOST 327
+#define VAR_CACHE_MAX_TTL 328
+#define VAR_HARDEN_DNSSEC_STRIPPED 329
+#define VAR_ACCESS_CONTROL 330
+#define VAR_LOCAL_ZONE 331
+#define VAR_LOCAL_DATA 332
+#define VAR_INTERFACE_AUTOMATIC 333
+#define VAR_STATISTICS_INTERVAL 334
+#define VAR_DO_DAEMONIZE 335
+#define VAR_USE_CAPS_FOR_ID 336
+#define VAR_STATISTICS_CUMULATIVE 337
+#define VAR_OUTGOING_PORT_PERMIT 338
+#define VAR_OUTGOING_PORT_AVOID 339
+#define VAR_DLV_ANCHOR_FILE 340
+#define VAR_DLV_ANCHOR 341
+#define VAR_NEG_CACHE_SIZE 342
+#define VAR_HARDEN_REFERRAL_PATH 343
+#define VAR_PRIVATE_ADDRESS 344
+#define VAR_PRIVATE_DOMAIN 345
+#define VAR_REMOTE_CONTROL 346
+#define VAR_CONTROL_ENABLE 347
+#define VAR_CONTROL_INTERFACE 348
+#define VAR_CONTROL_PORT 349
+#define VAR_SERVER_KEY_FILE 350
+#define VAR_SERVER_CERT_FILE 351
+#define VAR_CONTROL_KEY_FILE 352
+#define VAR_CONTROL_CERT_FILE 353
+#define VAR_CONTROL_USE_CERT 354
+#define VAR_EXTENDED_STATISTICS 355
+#define VAR_LOCAL_DATA_PTR 356
+#define VAR_JOSTLE_TIMEOUT 357
+#define VAR_STUB_PRIME 358
+#define VAR_UNWANTED_REPLY_THRESHOLD 359
+#define VAR_LOG_TIME_ASCII 360
+#define VAR_DOMAIN_INSECURE 361
+#define VAR_PYTHON 362
+#define VAR_PYTHON_SCRIPT 363
+#define VAR_VAL_SIG_SKEW_MIN 364
+#define VAR_VAL_SIG_SKEW_MAX 365
+#define VAR_CACHE_MIN_TTL 366
+#define VAR_VAL_LOG_LEVEL 367
+#define VAR_AUTO_TRUST_ANCHOR_FILE 368
+#define VAR_KEEP_MISSING 369
+#define VAR_ADD_HOLDDOWN 370
+#define VAR_DEL_HOLDDOWN 371
+#define VAR_SO_RCVBUF 372
+#define VAR_EDNS_BUFFER_SIZE 373
+#define VAR_PREFETCH 374
+#define VAR_PREFETCH_KEY 375
+#define VAR_SO_SNDBUF 376
+#define VAR_SO_REUSEPORT 377
+#define VAR_HARDEN_BELOW_NXDOMAIN 378
+#define VAR_IGNORE_CD_FLAG 379
+#define VAR_LOG_QUERIES 380
+#define VAR_TCP_UPSTREAM 381
+#define VAR_SSL_UPSTREAM 382
+#define VAR_SSL_SERVICE_KEY 383
+#define VAR_SSL_SERVICE_PEM 384
+#define VAR_SSL_PORT 385
+#define VAR_FORWARD_FIRST 386
+#define VAR_STUB_FIRST 387
+#define VAR_MINIMAL_RESPONSES 388
+#define VAR_RRSET_ROUNDROBIN 389
+#define VAR_MAX_UDP_SIZE 390
+#define VAR_DELAY_CLOSE 391
+#define VAR_UNBLOCK_LAN_ZONES 392
+#define VAR_INSECURE_LAN_ZONES 393
+#define VAR_INFRA_CACHE_MIN_RTT 394
+#define VAR_DNS64_PREFIX 395
+#define VAR_DNS64_SYNTHALL 396
+#define VAR_DNSTAP 397
+#define VAR_DNSTAP_ENABLE 398
+#define VAR_DNSTAP_SOCKET_PATH 399
+#define VAR_DNSTAP_SEND_IDENTITY 400
+#define VAR_DNSTAP_SEND_VERSION 401
+#define VAR_DNSTAP_IDENTITY 402
+#define VAR_DNSTAP_VERSION 403
+#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 404
+#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 405
+#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 406
+#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 407
+#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 408
+#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 409
+#define VAR_HARDEN_ALGO_DOWNGRADE 410
+#define VAR_IP_TRANSPARENT 411
+#define VAR_DISABLE_DNSSEC_LAME_CHECK 412
+#define VAR_RATELIMIT 413
+#define VAR_RATELIMIT_SLABS 414
+#define VAR_RATELIMIT_SIZE 415
+#define VAR_RATELIMIT_FOR_DOMAIN 416
+#define VAR_RATELIMIT_BELOW_DOMAIN 417
+#define VAR_RATELIMIT_FACTOR 418
+#define VAR_CAPS_WHITELIST 419
+#define VAR_CACHE_MAX_NEGATIVE_TTL 420
+#define VAR_PERMIT_SMALL_HOLDDOWN 421
+#define VAR_QNAME_MINIMISATION 422
+#define VAR_IP_FREEBIND 423
+#define VAR_DEFINE_TAG 424
+#define VAR_LOCAL_ZONE_TAG 425
+#define VAR_ACCESS_CONTROL_TAG 426
+#define VAR_LOCAL_ZONE_OVERRIDE 427
+#define VAR_ACCESS_CONTROL_TAG_ACTION 428
+#define VAR_ACCESS_CONTROL_TAG_DATA 429
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -479,7 +481,7 @@ union YYSTYPE
 
        char*   str;
 
-#line 483 "util/configparser.c" /* yacc.c:355  */
+#line 485 "util/configparser.c" /* yacc.c:355  */
 };
 
 typedef union YYSTYPE YYSTYPE;
@@ -496,7 +498,7 @@ int yyparse (void);
 
 /* Copy the second part of user declarations.  */
 
-#line 500 "util/configparser.c" /* yacc.c:358  */
+#line 502 "util/configparser.c" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -738,21 +740,21 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   335
+#define YYLAST   337
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  174
+#define YYNTOKENS  175
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  179
+#define YYNNTS  180
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  343
+#define YYNRULES  345
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  514
+#define YYNSTATES  517
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   428
+#define YYMAXUTOK   429
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -803,7 +805,7 @@ static const yytype_uint8 yytranslate[] =
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174
 };
 
 #if YYDEBUG
@@ -812,39 +814,39 @@ static const yytype_uint16 yyrline[] =
 {
        0,   133,   133,   133,   134,   134,   135,   135,   136,   136,
      140,   145,   146,   147,   147,   147,   148,   148,   149,   149,
-     149,   150,   150,   151,   151,   151,   152,   152,   152,   153,
-     153,   154,   154,   155,   155,   156,   156,   157,   157,   158,
-     158,   159,   159,   160,   160,   161,   161,   161,   162,   162,
-     162,   163,   163,   163,   164,   164,   165,   165,   166,   166,
-     167,   167,   168,   168,   168,   169,   169,   170,   170,   171,
-     171,   171,   172,   172,   173,   173,   174,   174,   175,   175,
-     175,   176,   176,   177,   177,   178,   178,   179,   179,   180,
-     180,   181,   181,   181,   182,   182,   183,   183,   183,   184,
-     184,   184,   185,   185,   185,   186,   186,   186,   187,   187,
-     187,   188,   188,   188,   189,   189,   190,   190,   191,   191,
-     192,   192,   193,   193,   193,   194,   194,   195,   195,   196,
-     196,   197,   197,   198,   198,   198,   199,   199,   200,   200,
-     201,   203,   215,   216,   217,   217,   217,   217,   217,   219,
-     231,   232,   233,   233,   233,   233,   235,   244,   253,   264,
-     273,   282,   291,   304,   319,   328,   337,   346,   355,   364,
-     373,   382,   391,   400,   409,   418,   427,   436,   445,   452,
-     459,   468,   477,   491,   500,   509,   516,   523,   547,   555,
-     562,   569,   576,   583,   591,   599,   607,   614,   621,   630,
-     639,   646,   653,   661,   669,   679,   689,   699,   712,   723,
-     731,   744,   753,   762,   771,   781,   791,   799,   812,   821,
-     829,   838,   846,   859,   868,   875,   885,   895,   905,   915,
-     925,   935,   945,   955,   962,   969,   976,   985,   994,  1003,
-    1010,  1020,  1037,  1044,  1062,  1075,  1088,  1097,  1106,  1115,
-    1124,  1134,  1144,  1153,  1162,  1169,  1178,  1187,  1196,  1205,
-    1213,  1226,  1234,  1262,  1269,  1284,  1294,  1304,  1311,  1318,
-    1327,  1341,  1360,  1379,  1391,  1403,  1415,  1424,  1432,  1445,
-    1458,  1471,  1480,  1490,  1500,  1507,  1514,  1523,  1533,  1543,
-    1550,  1557,  1566,  1571,  1572,  1573,  1573,  1573,  1574,  1574,
-    1574,  1575,  1575,  1577,  1587,  1596,  1603,  1613,  1620,  1627,
-    1634,  1641,  1646,  1647,  1648,  1648,  1649,  1649,  1650,  1650,
-    1651,  1652,  1653,  1654,  1655,  1656,  1658,  1666,  1673,  1681,
-    1689,  1696,  1703,  1712,  1721,  1730,  1739,  1748,  1757,  1762,
-    1763,  1764,  1766,  1772
+     150,   150,   151,   151,   152,   152,   152,   153,   153,   153,
+     154,   154,   155,   155,   156,   156,   157,   157,   158,   158,
+     159,   159,   160,   160,   161,   161,   162,   162,   162,   163,
+     163,   163,   164,   164,   164,   165,   165,   166,   166,   167,
+     167,   168,   168,   169,   169,   169,   170,   170,   171,   171,
+     172,   172,   172,   173,   173,   174,   174,   175,   175,   176,
+     176,   176,   177,   177,   178,   178,   179,   179,   180,   180,
+     181,   181,   182,   182,   182,   183,   183,   184,   184,   184,
+     185,   185,   185,   186,   186,   186,   187,   187,   187,   188,
+     188,   188,   189,   189,   189,   190,   190,   191,   191,   192,
+     192,   193,   193,   194,   194,   194,   195,   195,   196,   196,
+     197,   197,   198,   198,   199,   199,   199,   200,   200,   201,
+     201,   202,   204,   216,   217,   218,   218,   218,   218,   218,
+     220,   232,   233,   234,   234,   234,   234,   236,   245,   254,
+     265,   274,   283,   292,   305,   320,   329,   338,   347,   356,
+     365,   374,   383,   392,   401,   410,   419,   428,   437,   446,
+     455,   462,   469,   478,   487,   501,   510,   519,   526,   533,
+     557,   565,   572,   579,   586,   593,   601,   609,   617,   624,
+     631,   640,   649,   656,   663,   671,   679,   689,   699,   709,
+     722,   733,   741,   754,   763,   772,   781,   791,   801,   809,
+     822,   831,   839,   848,   856,   869,   878,   885,   895,   905,
+     915,   925,   935,   945,   955,   965,   972,   979,   986,   995,
+    1004,  1013,  1020,  1030,  1047,  1054,  1072,  1085,  1098,  1107,
+    1116,  1125,  1134,  1144,  1154,  1163,  1172,  1179,  1188,  1197,
+    1206,  1215,  1223,  1236,  1244,  1272,  1279,  1294,  1304,  1314,
+    1321,  1328,  1337,  1351,  1370,  1389,  1401,  1413,  1425,  1434,
+    1442,  1455,  1468,  1481,  1490,  1500,  1510,  1517,  1524,  1533,
+    1543,  1553,  1560,  1567,  1576,  1581,  1582,  1583,  1583,  1583,
+    1584,  1584,  1584,  1585,  1585,  1587,  1597,  1606,  1613,  1623,
+    1630,  1637,  1644,  1651,  1656,  1657,  1658,  1658,  1659,  1659,
+    1660,  1660,  1661,  1662,  1663,  1664,  1665,  1666,  1668,  1676,
+    1683,  1691,  1699,  1706,  1713,  1722,  1731,  1740,  1749,  1758,
+    1767,  1772,  1773,  1774,  1776,  1782
 };
 #endif
 
@@ -856,9 +858,9 @@ static const char *const yytname[] =
   "$end", "error", "$undefined", "SPACE", "LETTER", "NEWLINE", "COMMENT",
   "COLON", "ANY", "ZONESTR", "STRING_ARG", "VAR_SERVER", "VAR_VERBOSITY",
   "VAR_NUM_THREADS", "VAR_PORT", "VAR_OUTGOING_RANGE", "VAR_INTERFACE",
-  "VAR_DO_IP4", "VAR_DO_IP6", "VAR_DO_UDP", "VAR_DO_TCP", "VAR_TCP_MSS",
-  "VAR_OUTGOING_TCP_MSS", "VAR_CHROOT", "VAR_USERNAME", "VAR_DIRECTORY",
-  "VAR_LOGFILE", "VAR_PIDFILE", "VAR_MSG_CACHE_SIZE",
+  "VAR_DO_IP4", "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP",
+  "VAR_TCP_MSS", "VAR_OUTGOING_TCP_MSS", "VAR_CHROOT", "VAR_USERNAME",
+  "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE", "VAR_MSG_CACHE_SIZE",
   "VAR_MSG_CACHE_SLABS", "VAR_NUM_QUERIES_PER_THREAD",
   "VAR_RRSET_CACHE_SIZE", "VAR_RRSET_CACHE_SLABS", "VAR_OUTGOING_NUM_TCP",
   "VAR_INFRA_HOST_TTL", "VAR_INFRA_LAME_TTL", "VAR_INFRA_CACHE_SLABS",
@@ -924,7 +926,7 @@ static const char *const yytname[] =
   "server_outgoing_port_permit", "server_outgoing_port_avoid",
   "server_outgoing_num_tcp", "server_incoming_num_tcp",
   "server_interface_automatic", "server_do_ip4", "server_do_ip6",
-  "server_do_udp", "server_do_tcp", "server_tcp_mss",
+  "server_do_udp", "server_do_tcp", "server_prefer_ip6", "server_tcp_mss",
   "server_outgoing_tcp_mss", "server_tcp_upstream", "server_ssl_upstream",
   "server_ssl_service_key", "server_ssl_service_pem", "server_ssl_port",
   "server_do_daemonize", "server_use_syslog", "server_log_time_ascii",
@@ -1012,7 +1014,7 @@ static const yytype_uint16 yytoknum[] =
      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
-     425,   426,   427,   428
+     425,   426,   427,   428,   429
 };
 # endif
 
@@ -1030,21 +1032,22 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     -81,   129,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -12,    39,    47,    40,
-      36,   -80,    18,    19,    20,    24,    25,    26,    69,    72,
-      73,    74,    75,    80,   108,   109,   120,   152,   153,   154,
-     155,   156,   157,   158,   161,   162,   163,   164,   166,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     -81,   130,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     -81,   -81,   -81,   -81,   -81,   -81,   -12,    91,    47,   -13,
+      36,   -80,    19,    20,    21,    25,    26,    27,    81,   109,
+     110,   122,   125,   126,   127,   128,   129,   132,   153,   154,
+     155,   156,   157,   158,   159,   160,   162,   163,   164,   165,
+     166,   181,   182,   183,   185,   186,   187,   188,   189,   190,
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   226,   227,   228,   229,   230,   231,   232,
-     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
-     253,   254,   255,   256,   257,   258,   259,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     212,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
@@ -1057,31 +1060,30 @@ static const yytype_int16 yypact[] =
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   284,
-     285,   286,   287,   288,   -81,   -81,   -81,   -81,   -81,   -81,
-     289,   290,   291,   292,   -81,   -81,   -81,   -81,   -81,   293,
-     294,   295,   296,   297,   298,   299,   300,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   301,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,   312,   -81,   -81,
+     -81,   286,   287,   288,   289,   290,   -81,   -81,   -81,   -81,
+     -81,   -81,   291,   292,   293,   294,   -81,   -81,   -81,   -81,
+     -81,   295,   296,   297,   298,   299,   300,   301,   302,   -81,
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     -81,   -81,   -81,   315,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   313,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   314,
-     315,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     -81,   -81,   316,   317,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   316,   317,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   318,   319,   320,
-     321,   322,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     -81,   318,   319,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     320,   321,   322,   323,   324,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   323,   324,
-     325,   -81,   -81,   -81
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
+     -81,   325,   326,   327,   -81,   -81,   -81
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1089,8 +1091,8 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       2,     0,     1,    10,   141,   149,   292,   338,   311,     3,
-      12,   143,   151,   294,   313,   340,     4,     5,     6,     8,
+       2,     0,     1,    10,   142,   150,   294,   340,   313,     3,
+      12,   144,   152,   296,   315,   342,     4,     5,     6,     8,
        9,     7,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -1104,43 +1106,43 @@ static const yytype_uint16 yydefact[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      11,    13,    14,    72,    75,    84,    15,    23,    63,    16,
-      76,    77,    34,    56,    71,    17,    18,    19,    20,    21,
-      22,   106,   107,   108,   109,   110,    73,    62,    88,   105,
-      24,    25,    26,    27,    28,    64,    78,    79,    94,    50,
-      60,    51,    89,    44,    45,    46,    47,    98,   102,   114,
-     122,   133,    99,    57,    29,    30,    31,    86,   115,   116,
-     117,    32,    33,    35,    36,    38,    39,    37,   120,    40,
-      41,    42,    48,    67,   103,    81,   121,    74,   129,    82,
-      83,   100,   101,    87,    43,    65,    68,    49,    52,    90,
-      91,    66,   130,    92,    53,    54,    55,   104,    93,    61,
-      95,    96,    97,   131,    58,    59,    80,    69,    70,    85,
-     111,   112,   113,   118,   119,   134,   135,   137,   139,   140,
-     138,   123,   125,   124,   126,   127,   128,   132,   136,     0,
-       0,     0,     0,     0,   142,   144,   145,   146,   148,   147,
-       0,     0,     0,     0,   150,   152,   153,   154,   155,     0,
-       0,     0,     0,     0,     0,     0,     0,   293,   295,   297,
-     296,   302,   298,   299,   300,   301,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   312,   314,
-     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
-     325,     0,   339,   341,   157,   156,   161,   164,   162,   170,
-     171,   172,   173,   174,   175,   185,   186,   187,   188,   189,
-     209,   210,   211,   216,   217,   167,   218,   219,   222,   220,
-     221,   224,   225,   226,   239,   198,   199,   200,   201,   227,
-     242,   194,   196,   243,   249,   250,   251,   168,   208,   259,
-     260,   195,   254,   182,   163,   190,   240,   246,   228,     0,
-       0,   263,   169,   158,   181,   232,   159,   165,   166,   191,
-     192,   261,   230,   234,   235,   160,   264,   212,   238,   183,
-     197,   244,   245,   248,   253,   193,   257,   255,   256,   202,
-     207,   236,   237,   203,   204,   229,   252,   184,   176,   177,
-     178,   179,   180,   265,   266,   267,   213,   214,   215,   223,
-     268,   269,   231,   205,   343,   276,   278,   277,     0,     0,
-     281,   233,   247,   258,   282,   206,   270,     0,     0,     0,
-       0,     0,   283,   284,   285,   287,   286,   288,   289,   290,
-     291,   303,   305,   304,   307,   308,   309,   310,   306,   326,
-     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
-     337,   342,   241,   262,   279,   280,   271,   272,     0,     0,
-       0,   275,   273,   274
+       0,    11,    13,    14,    73,    76,    85,    15,    24,    64,
+      16,    77,    78,    35,    57,    72,    17,    18,    20,    21,
+      19,    22,    23,   107,   108,   109,   110,   111,    74,    63,
+      89,   106,    25,    26,    27,    28,    29,    65,    79,    80,
+      95,    51,    61,    52,    90,    45,    46,    47,    48,    99,
+     103,   115,   123,   134,   100,    58,    30,    31,    32,    87,
+     116,   117,   118,    33,    34,    36,    37,    39,    40,    38,
+     121,    41,    42,    43,    49,    68,   104,    82,   122,    75,
+     130,    83,    84,   101,   102,    88,    44,    66,    69,    50,
+      53,    91,    92,    67,   131,    93,    54,    55,    56,   105,
+      94,    62,    96,    97,    98,   132,    59,    60,    81,    70,
+      71,    86,   112,   113,   114,   119,   120,   135,   136,   138,
+     140,   141,   139,   124,   126,   125,   127,   128,   129,   133,
+     137,     0,     0,     0,     0,     0,   143,   145,   146,   147,
+     149,   148,     0,     0,     0,     0,   151,   153,   154,   155,
+     156,     0,     0,     0,     0,     0,     0,     0,     0,   295,
+     297,   299,   298,   304,   300,   301,   302,   303,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     314,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,     0,   341,   343,   158,   157,   162,   165,
+     163,   171,   172,   175,   173,   174,   176,   177,   187,   188,
+     189,   190,   191,   211,   212,   213,   218,   219,   168,   220,
+     221,   224,   222,   223,   226,   227,   228,   241,   200,   201,
+     202,   203,   229,   244,   196,   198,   245,   251,   252,   253,
+     169,   210,   261,   262,   197,   256,   184,   164,   192,   242,
+     248,   230,     0,     0,   265,   170,   159,   183,   234,   160,
+     166,   167,   193,   194,   263,   232,   236,   237,   161,   266,
+     214,   240,   185,   199,   246,   247,   250,   255,   195,   259,
+     257,   258,   204,   209,   238,   239,   205,   206,   231,   254,
+     186,   178,   179,   180,   181,   182,   267,   268,   269,   215,
+     216,   217,   225,   270,   271,   233,   207,   345,   278,   280,
+     279,     0,     0,   283,   235,   249,   260,   284,   208,   272,
+       0,     0,     0,     0,     0,   285,   286,   287,   289,   288,
+     290,   291,   292,   293,   305,   307,   306,   309,   310,   311,
+     312,   308,   328,   329,   330,   331,   332,   333,   334,   335,
+     336,   337,   338,   339,   344,   243,   264,   281,   282,   273,
+     274,     0,     0,     0,   277,   275,   276
 };
 
   /* YYPGOTO[NTERM-NUM].  */
@@ -1163,30 +1165,30 @@ static const yytype_int8 yypgoto[] =
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
      -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,     9,    10,    16,   150,    11,    17,   284,    12,
-      18,   294,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   285,
-     286,   287,   288,   289,   295,   296,   297,   298,    13,    19,
-     307,   308,   309,   310,   311,   312,   313,   314,   315,    14,
-      20,   328,   329,   330,   331,   332,   333,   334,   335,   336,
-     337,   338,   339,   340,    15,    21,   342,   343,   278
+      -1,     1,     9,    10,    16,   151,    11,    17,   286,    12,
+      18,   296,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     287,   288,   289,   290,   291,   297,   298,   299,   300,    13,
+      19,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+      14,    20,   330,   331,   332,   333,   334,   335,   336,   337,
+     338,   339,   340,   341,   342,    15,    21,   344,   345,   280
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1196,98 +1198,98 @@ static const yytype_uint16 yytable[] =
 {
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,   341,   344,   345,
-     346,    49,    50,    51,   347,   348,   349,    52,    53,    54,
+      42,    43,    44,    45,    46,    47,    48,    49,   343,   346,
+     347,   348,    50,    51,    52,   349,   350,   351,    53,    54,
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    92,   279,   350,
-     280,   281,   351,   352,   353,   354,   290,    93,    94,    95,
-     355,    96,    97,    98,   291,   292,    99,   100,   101,   102,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,   301,
+     302,   303,   304,   305,   306,   307,   308,   292,    94,    95,
+      96,   352,    97,    98,    99,   293,   294,   100,   101,   102,
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
-     113,   114,   115,   116,   117,   118,   119,   120,   356,   357,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,     2,
-     358,   299,   300,   301,   302,   303,   304,   305,   306,     0,
-       3,   282,   130,   131,   132,   133,   134,   135,   136,   137,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   353,
+     354,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+       2,   281,   355,   282,   283,   356,   357,   358,   359,   360,
+       0,     3,   361,   131,   132,   133,   134,   135,   136,   137,
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   359,   360,   361,   362,   363,   364,   365,     4,
-     283,   366,   367,   368,   369,     5,   370,   293,   316,   317,
-     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
-     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
-     381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
-     391,   392,   393,   394,   395,   396,   397,   398,   399,     6,
-     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
-     410,   411,   412,   413,   414,     7,   415,   416,   417,   418,
-     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
-     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
-     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
-       8,   449,   450,   451,   452,   453,   454,   455,   456,   457,
-     458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
-     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
-     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
-     488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
-     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
-     508,   509,   510,   511,   512,   513
+     148,   149,   150,   362,   363,   364,   365,   366,   367,   368,
+     369,     4,   370,   371,   372,   373,   374,     5,   295,   318,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   375,   376,   377,   284,   378,   379,   380,   381,   382,
+     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
+     393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
+     403,     6,   404,   285,   405,   406,   407,   408,   409,   410,
+     411,   412,   413,   414,   415,   416,   417,     7,   418,   419,
+     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
+     430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
+     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
+     450,   451,     8,   452,   453,   454,   455,   456,   457,   458,
+     459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
+     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
+     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
+     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
+     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
+     509,   510,   511,   512,   513,   514,   515,   516
 };
 
 static const yytype_int16 yycheck[] =
 {
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,   107,    10,    10,
-      10,    43,    44,    45,    10,    10,    10,    49,    50,    51,
+      32,    33,    34,    35,    36,    37,    38,    39,   108,    10,
+      10,    10,    44,    45,    46,    10,    10,    10,    50,    51,
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    39,    10,
-      41,    42,    10,    10,    10,    10,    39,    99,   100,   101,
-      10,   103,   104,   105,    47,    48,   108,   109,   110,   111,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    92,
+      93,    94,    95,    96,    97,    98,    99,    40,   100,   101,
+     102,    10,   104,   105,   106,    48,    49,   109,   110,   111,
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,    10,    10,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,     0,
-      10,    91,    92,    93,    94,    95,    96,    97,    98,    -1,
-      11,   102,   154,   155,   156,   157,   158,   159,   160,   161,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,    10,
+      10,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+       0,    40,    10,    42,    43,    10,    10,    10,    10,    10,
+      -1,    11,    10,   155,   156,   157,   158,   159,   160,   161,
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,    10,    10,    10,    10,    10,    10,    10,    40,
-     131,    10,    10,    10,    10,    46,    10,   130,   142,   143,
+     172,   173,   174,    10,    10,    10,    10,    10,    10,    10,
+      10,    41,    10,    10,    10,    10,    10,    47,   131,   143,
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,    10,    10,    10,   103,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-      10,    10,    10,    10,    10,    10,    10,    10,    10,    90,
-      10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-      10,    10,    10,    10,    10,   106,    10,    10,    10,    10,
+      10,    91,    10,   132,    10,    10,    10,    10,    10,    10,
+      10,    10,    10,    10,    10,    10,    10,   107,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-     141,    10,    10,    10,    10,    10,    10,    10,    10,    10,
+      10,    10,   142,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-      10,    10,    10,    10,    10,    10
+      10,    10,    10,    10,    10,    10,    10,    10
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,   175,     0,    11,    40,    46,    90,   106,   141,   176,
-     177,   180,   183,   322,   333,   348,   178,   181,   184,   323,
-     334,   349,    12,    13,    14,    15,    16,    17,    18,    19,
+       0,   176,     0,    11,    41,    47,    91,   107,   142,   177,
+     178,   181,   184,   324,   335,   350,   179,   182,   185,   325,
+     336,   351,    12,    13,    14,    15,    16,    17,    18,    19,
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    38,    43,
-      44,    45,    49,    50,    51,    52,    53,    54,    55,    56,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      44,    45,    46,    50,    51,    52,    53,    54,    55,    56,
       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    99,   100,   101,   103,   104,   105,   108,
+      87,    88,    89,    90,   100,   101,   102,   104,   105,   106,
      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     129,   130,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   155,   156,   157,   158,   159,   160,   161,   162,   163,
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     179,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     174,   180,   187,   188,   189,   190,   191,   192,   193,   194,
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
@@ -1299,14 +1301,14 @@ static const yytype_uint16 yystos[] =
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,   312,   352,    39,
-      41,    42,   102,   131,   182,   313,   314,   315,   316,   317,
-      39,    47,    48,   130,   185,   318,   319,   320,   321,    91,
-      92,    93,    94,    95,    96,    97,    98,   324,   325,   326,
-     327,   328,   329,   330,   331,   332,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   335,   336,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     354,    40,    42,    43,   103,   132,   183,   315,   316,   317,
+     318,   319,    40,    48,    49,   131,   186,   320,   321,   322,
+     323,    92,    93,    94,    95,    96,    97,    98,    99,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
-     347,   107,   350,   351,    10,    10,    10,    10,    10,    10,
+     347,   348,   349,   108,   352,   353,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
@@ -1323,28 +1325,28 @@ static const yytype_uint16 yystos[] =
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-      10,    10,    10,    10
+      10,    10,    10,    10,    10,    10,    10
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   174,   175,   175,   176,   176,   176,   176,   176,   176,
-     177,   178,   178,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   180,   181,   181,   182,   182,   182,   182,   182,   183,
-     184,   184,   185,   185,   185,   185,   186,   187,   188,   189,
+       0,   175,   176,   176,   177,   177,   177,   177,   177,   177,
+     178,   179,   179,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   181,   182,   182,   183,   183,   183,   183,   183,
+     184,   185,   185,   186,   186,   186,   186,   187,   188,   189,
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
@@ -1358,12 +1360,12 @@ static const yytype_uint16 yyr1[] =
      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,   323,   324,   324,   324,   324,   324,
-     324,   324,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,   334,   335,   335,   335,   335,   335,   335,
-     335,   335,   335,   335,   335,   335,   336,   337,   338,   339,
+     320,   321,   322,   323,   324,   325,   325,   326,   326,   326,
+     326,   326,   326,   326,   326,   327,   328,   329,   330,   331,
+     332,   333,   334,   335,   336,   336,   337,   337,   337,   337,
+     337,   337,   337,   337,   337,   337,   337,   337,   338,   339,
      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
-     349,   350,   351,   352
+     350,   351,   351,   352,   353,   354
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1383,8 +1385,9 @@ static const yytype_uint8 yyr2[] =
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     2,     0,     1,     1,     1,     1,     1,     1,
-       2,     0,     1,     1,     1,     1,     2,     2,     2,     2,
+       1,     1,     1,     2,     0,     1,     1,     1,     1,     1,
+       1,     2,     0,     1,     1,     1,     1,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1392,18 +1395,17 @@ static const yytype_uint8 yyr2[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     3,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     3,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     3,     2,     2,     2,     2,     2,
+       2,     2,     2,     3,     3,     4,     4,     4,     2,     2,
+       2,     3,     3,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     1,     2,     0,     1,     1,     1,
+       1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
+       2,     2,     2,     1,     2,     0,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     3,     2,     2,     2,     2,     2,     2,     2,
-       2,     3,     3,     4,     4,     4,     2,     2,     2,     3,
-       3,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     1,     2,     0,     1,     1,     1,     1,     1,
-       1,     1,     1,     2,     2,     2,     2,     2,     2,     2,
-       2,     1,     2,     0,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
-       0,     1,     2,     2
+       1,     2,     0,     1,     2,     2
 };
 
 
@@ -2084,11 +2086,11 @@ yyreduce:
     { 
                OUTYY(("\nP(server:)\n")); 
        }
-#line 2088 "util/configparser.c" /* yacc.c:1646  */
+#line 2090 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 141:
-#line 204 "./util/configparser.y" /* yacc.c:1646  */
+  case 142:
+#line 205 "./util/configparser.y" /* yacc.c:1646  */
     {
                struct config_stub* s;
                OUTYY(("\nP(stub_zone:)\n")); 
@@ -2099,11 +2101,11 @@ yyreduce:
                } else 
                        yyerror("out of memory");
        }
-#line 2103 "util/configparser.c" /* yacc.c:1646  */
+#line 2105 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 149:
-#line 220 "./util/configparser.y" /* yacc.c:1646  */
+  case 150:
+#line 221 "./util/configparser.y" /* yacc.c:1646  */
     {
                struct config_stub* s;
                OUTYY(("\nP(forward_zone:)\n")); 
@@ -2114,11 +2116,11 @@ yyreduce:
                } else 
                        yyerror("out of memory");
        }
-#line 2118 "util/configparser.c" /* yacc.c:1646  */
+#line 2120 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 156:
-#line 236 "./util/configparser.y" /* yacc.c:1646  */
+  case 157:
+#line 237 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); 
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2126,11 +2128,11 @@ yyreduce:
                else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2130 "util/configparser.c" /* yacc.c:1646  */
+#line 2132 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 157:
-#line 245 "./util/configparser.y" /* yacc.c:1646  */
+  case 158:
+#line 246 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); 
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2138,11 +2140,11 @@ yyreduce:
                else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2142 "util/configparser.c" /* yacc.c:1646  */
+#line 2144 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 158:
-#line 254 "./util/configparser.y" /* yacc.c:1646  */
+  case 159:
+#line 255 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); 
                if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0)
@@ -2152,11 +2154,11 @@ yyreduce:
                else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2156 "util/configparser.c" /* yacc.c:1646  */
+#line 2158 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 159:
-#line 265 "./util/configparser.y" /* yacc.c:1646  */
+  case 160:
+#line 266 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2164,11 +2166,11 @@ yyreduce:
                else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2168 "util/configparser.c" /* yacc.c:1646  */
+#line 2170 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 160:
-#line 274 "./util/configparser.y" /* yacc.c:1646  */
+  case 161:
+#line 275 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2176,11 +2178,11 @@ yyreduce:
                else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2180 "util/configparser.c" /* yacc.c:1646  */
+#line 2182 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 161:
-#line 283 "./util/configparser.y" /* yacc.c:1646  */
+  case 162:
+#line 284 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_port:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2188,11 +2190,11 @@ yyreduce:
                else cfg_parser->cfg->port = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2192 "util/configparser.c" /* yacc.c:1646  */
+#line 2194 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 162:
-#line 292 "./util/configparser.y" /* yacc.c:1646  */
+  case 163:
+#line 293 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->num_ifs == 0)
@@ -2204,11 +2206,11 @@ yyreduce:
                else
                        cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str);
        }
-#line 2208 "util/configparser.c" /* yacc.c:1646  */
+#line 2210 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 163:
-#line 305 "./util/configparser.y" /* yacc.c:1646  */
+  case 164:
+#line 306 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->num_out_ifs == 0)
@@ -2222,11 +2224,11 @@ yyreduce:
                        cfg_parser->cfg->out_ifs[
                                cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str);
        }
-#line 2226 "util/configparser.c" /* yacc.c:1646  */
+#line 2228 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 164:
-#line 320 "./util/configparser.y" /* yacc.c:1646  */
+  case 165:
+#line 321 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2234,11 +2236,11 @@ yyreduce:
                else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2238 "util/configparser.c" /* yacc.c:1646  */
+#line 2240 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 165:
-#line 329 "./util/configparser.y" /* yacc.c:1646  */
+  case 166:
+#line 330 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str)));
                if(!cfg_mark_ports((yyvsp[0].str), 1, 
@@ -2246,11 +2248,11 @@ yyreduce:
                        yyerror("port number or range (\"low-high\") expected");
                free((yyvsp[0].str));
        }
-#line 2250 "util/configparser.c" /* yacc.c:1646  */
+#line 2252 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 166:
-#line 338 "./util/configparser.y" /* yacc.c:1646  */
+  case 167:
+#line 339 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str)));
                if(!cfg_mark_ports((yyvsp[0].str), 0, 
@@ -2258,11 +2260,11 @@ yyreduce:
                        yyerror("port number or range (\"low-high\") expected");
                free((yyvsp[0].str));
        }
-#line 2262 "util/configparser.c" /* yacc.c:1646  */
+#line 2264 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 167:
-#line 347 "./util/configparser.y" /* yacc.c:1646  */
+  case 168:
+#line 348 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2270,11 +2272,11 @@ yyreduce:
                else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2274 "util/configparser.c" /* yacc.c:1646  */
+#line 2276 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 168:
-#line 356 "./util/configparser.y" /* yacc.c:1646  */
+  case 169:
+#line 357 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2282,11 +2284,11 @@ yyreduce:
                else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2286 "util/configparser.c" /* yacc.c:1646  */
+#line 2288 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 169:
-#line 365 "./util/configparser.y" /* yacc.c:1646  */
+  case 170:
+#line 366 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2294,11 +2296,11 @@ yyreduce:
                else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2298 "util/configparser.c" /* yacc.c:1646  */
+#line 2300 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 170:
-#line 374 "./util/configparser.y" /* yacc.c:1646  */
+  case 171:
+#line 375 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2306,11 +2308,11 @@ yyreduce:
                else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2310 "util/configparser.c" /* yacc.c:1646  */
+#line 2312 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 171:
-#line 383 "./util/configparser.y" /* yacc.c:1646  */
+  case 172:
+#line 384 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2318,11 +2320,11 @@ yyreduce:
                else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2322 "util/configparser.c" /* yacc.c:1646  */
+#line 2324 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 172:
-#line 392 "./util/configparser.y" /* yacc.c:1646  */
+  case 173:
+#line 393 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2330,11 +2332,11 @@ yyreduce:
                else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2334 "util/configparser.c" /* yacc.c:1646  */
+#line 2336 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 173:
-#line 401 "./util/configparser.y" /* yacc.c:1646  */
+  case 174:
+#line 402 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2342,11 +2344,23 @@ yyreduce:
                else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2346 "util/configparser.c" /* yacc.c:1646  */
+#line 2348 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 174:
-#line 410 "./util/configparser.y" /* yacc.c:1646  */
+  case 175:
+#line 411 "./util/configparser.y" /* yacc.c:1646  */
+    {
+               OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str)));
+               if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
+                       yyerror("expected yes or no.");
+               else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
+#line 2360 "util/configparser.c" /* yacc.c:1646  */
+    break;
+
+  case 176:
+#line 420 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str)));
                 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2354,11 +2368,11 @@ yyreduce:
                 else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str));
                 free((yyvsp[0].str));
        }
-#line 2358 "util/configparser.c" /* yacc.c:1646  */
+#line 2372 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 175:
-#line 419 "./util/configparser.y" /* yacc.c:1646  */
+  case 177:
+#line 429 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2366,11 +2380,11 @@ yyreduce:
                else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2370 "util/configparser.c" /* yacc.c:1646  */
+#line 2384 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 176:
-#line 428 "./util/configparser.y" /* yacc.c:1646  */
+  case 178:
+#line 438 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2378,11 +2392,11 @@ yyreduce:
                else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2382 "util/configparser.c" /* yacc.c:1646  */
+#line 2396 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 177:
-#line 437 "./util/configparser.y" /* yacc.c:1646  */
+  case 179:
+#line 447 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2390,31 +2404,31 @@ yyreduce:
                else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2394 "util/configparser.c" /* yacc.c:1646  */
+#line 2408 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 178:
-#line 446 "./util/configparser.y" /* yacc.c:1646  */
+  case 180:
+#line 456 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->ssl_service_key);
                cfg_parser->cfg->ssl_service_key = (yyvsp[0].str);
        }
-#line 2404 "util/configparser.c" /* yacc.c:1646  */
+#line 2418 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 179:
-#line 453 "./util/configparser.y" /* yacc.c:1646  */
+  case 181:
+#line 463 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->ssl_service_pem);
                cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str);
        }
-#line 2414 "util/configparser.c" /* yacc.c:1646  */
+#line 2428 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 180:
-#line 460 "./util/configparser.y" /* yacc.c:1646  */
+  case 182:
+#line 470 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2422,11 +2436,11 @@ yyreduce:
                else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2426 "util/configparser.c" /* yacc.c:1646  */
+#line 2440 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 181:
-#line 469 "./util/configparser.y" /* yacc.c:1646  */
+  case 183:
+#line 479 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2434,11 +2448,11 @@ yyreduce:
                else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2438 "util/configparser.c" /* yacc.c:1646  */
+#line 2452 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 182:
-#line 478 "./util/configparser.y" /* yacc.c:1646  */
+  case 184:
+#line 488 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2451,11 +2465,11 @@ yyreduce:
 #endif
                free((yyvsp[0].str));
        }
-#line 2455 "util/configparser.c" /* yacc.c:1646  */
+#line 2469 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 183:
-#line 492 "./util/configparser.y" /* yacc.c:1646  */
+  case 185:
+#line 502 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2463,11 +2477,11 @@ yyreduce:
                else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2467 "util/configparser.c" /* yacc.c:1646  */
+#line 2481 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 184:
-#line 501 "./util/configparser.y" /* yacc.c:1646  */
+  case 186:
+#line 511 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2475,31 +2489,31 @@ yyreduce:
                else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2479 "util/configparser.c" /* yacc.c:1646  */
+#line 2493 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 185:
-#line 510 "./util/configparser.y" /* yacc.c:1646  */
+  case 187:
+#line 520 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->chrootdir);
                cfg_parser->cfg->chrootdir = (yyvsp[0].str);
        }
-#line 2489 "util/configparser.c" /* yacc.c:1646  */
+#line 2503 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 186:
-#line 517 "./util/configparser.y" /* yacc.c:1646  */
+  case 188:
+#line 527 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_username:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->username);
                cfg_parser->cfg->username = (yyvsp[0].str);
        }
-#line 2499 "util/configparser.c" /* yacc.c:1646  */
+#line 2513 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 187:
-#line 524 "./util/configparser.y" /* yacc.c:1646  */
+  case 189:
+#line 534 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->directory);
@@ -2522,115 +2536,115 @@ yyreduce:
                                        d, strerror(errno));
                }
        }
-#line 2526 "util/configparser.c" /* yacc.c:1646  */
+#line 2540 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 188:
-#line 548 "./util/configparser.y" /* yacc.c:1646  */
+  case 190:
+#line 558 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->logfile);
                cfg_parser->cfg->logfile = (yyvsp[0].str);
                cfg_parser->cfg->use_syslog = 0;
        }
-#line 2537 "util/configparser.c" /* yacc.c:1646  */
+#line 2551 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 189:
-#line 556 "./util/configparser.y" /* yacc.c:1646  */
+  case 191:
+#line 566 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->pidfile);
                cfg_parser->cfg->pidfile = (yyvsp[0].str);
        }
-#line 2547 "util/configparser.c" /* yacc.c:1646  */
+#line 2561 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 190:
-#line 563 "./util/configparser.y" /* yacc.c:1646  */
+  case 192:
+#line 573 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2557 "util/configparser.c" /* yacc.c:1646  */
+#line 2571 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 191:
-#line 570 "./util/configparser.y" /* yacc.c:1646  */
+  case 193:
+#line 580 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dlv_anchor_file);
                cfg_parser->cfg->dlv_anchor_file = (yyvsp[0].str);
        }
-#line 2567 "util/configparser.c" /* yacc.c:1646  */
+#line 2581 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 192:
-#line 577 "./util/configparser.y" /* yacc.c:1646  */
+  case 194:
+#line 587 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2577 "util/configparser.c" /* yacc.c:1646  */
+#line 2591 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 193:
-#line 584 "./util/configparser.y" /* yacc.c:1646  */
+  case 195:
+#line 594 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
                        auto_trust_anchor_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2588 "util/configparser.c" /* yacc.c:1646  */
+#line 2602 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 194:
-#line 592 "./util/configparser.y" /* yacc.c:1646  */
+  case 196:
+#line 602 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
                        trust_anchor_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2599 "util/configparser.c" /* yacc.c:1646  */
+#line 2613 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 195:
-#line 600 "./util/configparser.y" /* yacc.c:1646  */
+  case 197:
+#line 610 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
                        trusted_keys_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2610 "util/configparser.c" /* yacc.c:1646  */
+#line 2624 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 196:
-#line 608 "./util/configparser.y" /* yacc.c:1646  */
+  case 198:
+#line 618 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2620 "util/configparser.c" /* yacc.c:1646  */
+#line 2634 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 197:
-#line 615 "./util/configparser.y" /* yacc.c:1646  */
+  case 199:
+#line 625 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 2630 "util/configparser.c" /* yacc.c:1646  */
+#line 2644 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 198:
-#line 622 "./util/configparser.y" /* yacc.c:1646  */
+  case 200:
+#line 632 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2638,11 +2652,11 @@ yyreduce:
                else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2642 "util/configparser.c" /* yacc.c:1646  */
+#line 2656 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 199:
-#line 631 "./util/configparser.y" /* yacc.c:1646  */
+  case 201:
+#line 641 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2650,53 +2664,53 @@ yyreduce:
                else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2654 "util/configparser.c" /* yacc.c:1646  */
+#line 2668 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 200:
-#line 640 "./util/configparser.y" /* yacc.c:1646  */
+  case 202:
+#line 650 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->identity);
                cfg_parser->cfg->identity = (yyvsp[0].str);
        }
-#line 2664 "util/configparser.c" /* yacc.c:1646  */
+#line 2678 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 201:
-#line 647 "./util/configparser.y" /* yacc.c:1646  */
+  case 203:
+#line 657 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_version:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->version);
                cfg_parser->cfg->version = (yyvsp[0].str);
        }
-#line 2674 "util/configparser.c" /* yacc.c:1646  */
+#line 2688 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 202:
-#line 654 "./util/configparser.y" /* yacc.c:1646  */
+  case 204:
+#line 664 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf))
                        yyerror("buffer size expected");
                free((yyvsp[0].str));
        }
-#line 2685 "util/configparser.c" /* yacc.c:1646  */
+#line 2699 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 203:
-#line 662 "./util/configparser.y" /* yacc.c:1646  */
+  case 205:
+#line 672 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf))
                        yyerror("buffer size expected");
                free((yyvsp[0].str));
        }
-#line 2696 "util/configparser.c" /* yacc.c:1646  */
+#line 2710 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 204:
-#line 670 "./util/configparser.y" /* yacc.c:1646  */
+  case 206:
+#line 680 "./util/configparser.y" /* yacc.c:1646  */
     {
         OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str)));
         if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2705,11 +2719,11 @@ yyreduce:
             (strcmp((yyvsp[0].str), "yes")==0);
         free((yyvsp[0].str));
     }
-#line 2709 "util/configparser.c" /* yacc.c:1646  */
+#line 2723 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 205:
-#line 680 "./util/configparser.y" /* yacc.c:1646  */
+  case 207:
+#line 690 "./util/configparser.y" /* yacc.c:1646  */
     {
         OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str)));
         if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2718,11 +2732,11 @@ yyreduce:
             (strcmp((yyvsp[0].str), "yes")==0);
         free((yyvsp[0].str));
     }
-#line 2722 "util/configparser.c" /* yacc.c:1646  */
+#line 2736 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 206:
-#line 690 "./util/configparser.y" /* yacc.c:1646  */
+  case 208:
+#line 700 "./util/configparser.y" /* yacc.c:1646  */
     {
         OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str)));
         if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2731,11 +2745,11 @@ yyreduce:
             (strcmp((yyvsp[0].str), "yes")==0);
         free((yyvsp[0].str));
     }
-#line 2735 "util/configparser.c" /* yacc.c:1646  */
+#line 2749 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 207:
-#line 700 "./util/configparser.y" /* yacc.c:1646  */
+  case 209:
+#line 710 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2747,11 +2761,11 @@ yyreduce:
                else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2751 "util/configparser.c" /* yacc.c:1646  */
+#line 2765 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 208:
-#line 713 "./util/configparser.y" /* yacc.c:1646  */
+  case 210:
+#line 723 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2761,22 +2775,22 @@ yyreduce:
                else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2765 "util/configparser.c" /* yacc.c:1646  */
+#line 2779 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 209:
-#line 724 "./util/configparser.y" /* yacc.c:1646  */
+  case 211:
+#line 734 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size))
                        yyerror("memory size expected");
                free((yyvsp[0].str));
        }
-#line 2776 "util/configparser.c" /* yacc.c:1646  */
+#line 2790 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 210:
-#line 732 "./util/configparser.y" /* yacc.c:1646  */
+  case 212:
+#line 742 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2788,11 +2802,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 2792 "util/configparser.c" /* yacc.c:1646  */
+#line 2806 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 211:
-#line 745 "./util/configparser.y" /* yacc.c:1646  */
+  case 213:
+#line 755 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2800,11 +2814,11 @@ yyreduce:
                else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2804 "util/configparser.c" /* yacc.c:1646  */
+#line 2818 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 212:
-#line 754 "./util/configparser.y" /* yacc.c:1646  */
+  case 214:
+#line 764 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2812,11 +2826,11 @@ yyreduce:
                else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2816 "util/configparser.c" /* yacc.c:1646  */
+#line 2830 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 213:
-#line 763 "./util/configparser.y" /* yacc.c:1646  */
+  case 215:
+#line 773 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2824,11 +2838,11 @@ yyreduce:
                else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2828 "util/configparser.c" /* yacc.c:1646  */
+#line 2842 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 214:
-#line 772 "./util/configparser.y" /* yacc.c:1646  */
+  case 216:
+#line 782 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2837,11 +2851,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2841 "util/configparser.c" /* yacc.c:1646  */
+#line 2855 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 215:
-#line 782 "./util/configparser.y" /* yacc.c:1646  */
+  case 217:
+#line 792 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2850,22 +2864,22 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2854 "util/configparser.c" /* yacc.c:1646  */
+#line 2868 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 216:
-#line 792 "./util/configparser.y" /* yacc.c:1646  */
+  case 218:
+#line 802 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size))
                        yyerror("memory size expected");
                free((yyvsp[0].str));
        }
-#line 2865 "util/configparser.c" /* yacc.c:1646  */
+#line 2879 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 217:
-#line 800 "./util/configparser.y" /* yacc.c:1646  */
+  case 219:
+#line 810 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2877,11 +2891,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 2881 "util/configparser.c" /* yacc.c:1646  */
+#line 2895 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 218:
-#line 813 "./util/configparser.y" /* yacc.c:1646  */
+  case 220:
+#line 823 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2889,22 +2903,22 @@ yyreduce:
                else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2893 "util/configparser.c" /* yacc.c:1646  */
+#line 2907 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 219:
-#line 822 "./util/configparser.y" /* yacc.c:1646  */
+  case 221:
+#line 832 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str)));
                verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
                        "removed, use infra-host-ttl)", (yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2904 "util/configparser.c" /* yacc.c:1646  */
+#line 2918 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 220:
-#line 830 "./util/configparser.y" /* yacc.c:1646  */
+  case 222:
+#line 840 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2912,22 +2926,22 @@ yyreduce:
                else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2916 "util/configparser.c" /* yacc.c:1646  */
+#line 2930 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 221:
-#line 839 "./util/configparser.y" /* yacc.c:1646  */
+  case 223:
+#line 849 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str)));
                verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
                        "(option removed, use infra-cache-numhosts)", (yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2927 "util/configparser.c" /* yacc.c:1646  */
+#line 2941 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 222:
-#line 847 "./util/configparser.y" /* yacc.c:1646  */
+  case 224:
+#line 857 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -2939,11 +2953,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 2943 "util/configparser.c" /* yacc.c:1646  */
+#line 2957 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 223:
-#line 860 "./util/configparser.y" /* yacc.c:1646  */
+  case 225:
+#line 870 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -2951,21 +2965,21 @@ yyreduce:
                else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 2955 "util/configparser.c" /* yacc.c:1646  */
+#line 2969 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 224:
-#line 869 "./util/configparser.y" /* yacc.c:1646  */
+  case 226:
+#line 879 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->target_fetch_policy);
                cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str);
        }
-#line 2965 "util/configparser.c" /* yacc.c:1646  */
+#line 2979 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 225:
-#line 876 "./util/configparser.y" /* yacc.c:1646  */
+  case 227:
+#line 886 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2974,11 +2988,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2978 "util/configparser.c" /* yacc.c:1646  */
+#line 2992 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 226:
-#line 886 "./util/configparser.y" /* yacc.c:1646  */
+  case 228:
+#line 896 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -2987,11 +3001,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 2991 "util/configparser.c" /* yacc.c:1646  */
+#line 3005 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 227:
-#line 896 "./util/configparser.y" /* yacc.c:1646  */
+  case 229:
+#line 906 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3000,11 +3014,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3004 "util/configparser.c" /* yacc.c:1646  */
+#line 3018 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 228:
-#line 906 "./util/configparser.y" /* yacc.c:1646  */
+  case 230:
+#line 916 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3013,11 +3027,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3017 "util/configparser.c" /* yacc.c:1646  */
+#line 3031 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 229:
-#line 916 "./util/configparser.y" /* yacc.c:1646  */
+  case 231:
+#line 926 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3026,11 +3040,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3030 "util/configparser.c" /* yacc.c:1646  */
+#line 3044 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 230:
-#line 926 "./util/configparser.y" /* yacc.c:1646  */
+  case 232:
+#line 936 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3039,11 +3053,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3043 "util/configparser.c" /* yacc.c:1646  */
+#line 3057 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 231:
-#line 936 "./util/configparser.y" /* yacc.c:1646  */
+  case 233:
+#line 946 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3052,11 +3066,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3056 "util/configparser.c" /* yacc.c:1646  */
+#line 3070 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 232:
-#line 946 "./util/configparser.y" /* yacc.c:1646  */
+  case 234:
+#line 956 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3065,41 +3079,41 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3069 "util/configparser.c" /* yacc.c:1646  */
+#line 3083 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 233:
-#line 956 "./util/configparser.y" /* yacc.c:1646  */
+  case 235:
+#line 966 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3079 "util/configparser.c" /* yacc.c:1646  */
+#line 3093 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 234:
-#line 963 "./util/configparser.y" /* yacc.c:1646  */
+  case 236:
+#line 973 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3089 "util/configparser.c" /* yacc.c:1646  */
+#line 3103 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 235:
-#line 970 "./util/configparser.y" /* yacc.c:1646  */
+  case 237:
+#line 980 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3099 "util/configparser.c" /* yacc.c:1646  */
+#line 3113 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 236:
-#line 977 "./util/configparser.y" /* yacc.c:1646  */
+  case 238:
+#line 987 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3107,11 +3121,11 @@ yyreduce:
                else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3111 "util/configparser.c" /* yacc.c:1646  */
+#line 3125 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 237:
-#line 986 "./util/configparser.y" /* yacc.c:1646  */
+  case 239:
+#line 996 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3119,11 +3133,11 @@ yyreduce:
                else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3123 "util/configparser.c" /* yacc.c:1646  */
+#line 3137 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 238:
-#line 995 "./util/configparser.y" /* yacc.c:1646  */
+  case 240:
+#line 1005 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3131,21 +3145,21 @@ yyreduce:
                else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3135 "util/configparser.c" /* yacc.c:1646  */
+#line 3149 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 239:
-#line 1004 "./util/configparser.y" /* yacc.c:1646  */
+  case 241:
+#line 1014 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3145 "util/configparser.c" /* yacc.c:1646  */
+#line 3159 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 240:
-#line 1011 "./util/configparser.y" /* yacc.c:1646  */
+  case 242:
+#line 1021 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3154,11 +3168,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3158 "util/configparser.c" /* yacc.c:1646  */
+#line 3172 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 241:
-#line 1021 "./util/configparser.y" /* yacc.c:1646  */
+  case 243:
+#line 1031 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "deny")!=0 && strcmp((yyvsp[0].str), "refuse")!=0 &&
@@ -3174,21 +3188,21 @@ yyreduce:
                                fatal_exit("out of memory adding acl");
                }
        }
-#line 3178 "util/configparser.c" /* yacc.c:1646  */
+#line 3192 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 242:
-#line 1038 "./util/configparser.y" /* yacc.c:1646  */
+  case 244:
+#line 1048 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->module_conf);
                cfg_parser->cfg->module_conf = (yyvsp[0].str);
        }
-#line 3188 "util/configparser.c" /* yacc.c:1646  */
+#line 3202 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 243:
-#line 1045 "./util/configparser.y" /* yacc.c:1646  */
+  case 245:
+#line 1055 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str)));
                if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
@@ -3205,11 +3219,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 3209 "util/configparser.c" /* yacc.c:1646  */
+#line 3223 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 244:
-#line 1063 "./util/configparser.y" /* yacc.c:1646  */
+  case 246:
+#line 1073 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str)));
                if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
@@ -3221,11 +3235,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 3225 "util/configparser.c" /* yacc.c:1646  */
+#line 3239 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 245:
-#line 1076 "./util/configparser.y" /* yacc.c:1646  */
+  case 247:
+#line 1086 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str)));
                if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
@@ -3237,11 +3251,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 3241 "util/configparser.c" /* yacc.c:1646  */
+#line 3255 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 246:
-#line 1089 "./util/configparser.y" /* yacc.c:1646  */
+  case 248:
+#line 1099 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3249,11 +3263,11 @@ yyreduce:
                else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3253 "util/configparser.c" /* yacc.c:1646  */
+#line 3267 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 247:
-#line 1098 "./util/configparser.y" /* yacc.c:1646  */
+  case 249:
+#line 1108 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3261,11 +3275,11 @@ yyreduce:
                else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3265 "util/configparser.c" /* yacc.c:1646  */
+#line 3279 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 248:
-#line 1107 "./util/configparser.y" /* yacc.c:1646  */
+  case 250:
+#line 1117 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3273,11 +3287,11 @@ yyreduce:
                else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3277 "util/configparser.c" /* yacc.c:1646  */
+#line 3291 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 249:
-#line 1116 "./util/configparser.y" /* yacc.c:1646  */
+  case 251:
+#line 1126 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3285,11 +3299,11 @@ yyreduce:
                else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3289 "util/configparser.c" /* yacc.c:1646  */
+#line 3303 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 250:
-#line 1125 "./util/configparser.y" /* yacc.c:1646  */
+  case 252:
+#line 1135 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3298,11 +3312,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3302 "util/configparser.c" /* yacc.c:1646  */
+#line 3316 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 251:
-#line 1135 "./util/configparser.y" /* yacc.c:1646  */
+  case 253:
+#line 1145 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3311,11 +3325,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3315 "util/configparser.c" /* yacc.c:1646  */
+#line 3329 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 252:
-#line 1145 "./util/configparser.y" /* yacc.c:1646  */
+  case 254:
+#line 1155 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3323,11 +3337,11 @@ yyreduce:
                else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3327 "util/configparser.c" /* yacc.c:1646  */
+#line 3341 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 253:
-#line 1154 "./util/configparser.y" /* yacc.c:1646  */
+  case 255:
+#line 1164 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3335,21 +3349,21 @@ yyreduce:
                else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3339 "util/configparser.c" /* yacc.c:1646  */
+#line 3353 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 254:
-#line 1163 "./util/configparser.y" /* yacc.c:1646  */
+  case 256:
+#line 1173 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->val_nsec3_key_iterations);
                cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str);
        }
-#line 3349 "util/configparser.c" /* yacc.c:1646  */
+#line 3363 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 255:
-#line 1170 "./util/configparser.y" /* yacc.c:1646  */
+  case 257:
+#line 1180 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3357,11 +3371,11 @@ yyreduce:
                else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3361 "util/configparser.c" /* yacc.c:1646  */
+#line 3375 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 256:
-#line 1179 "./util/configparser.y" /* yacc.c:1646  */
+  case 258:
+#line 1189 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3369,11 +3383,11 @@ yyreduce:
                else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3373 "util/configparser.c" /* yacc.c:1646  */
+#line 3387 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 257:
-#line 1188 "./util/configparser.y" /* yacc.c:1646  */
+  case 259:
+#line 1198 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3381,11 +3395,11 @@ yyreduce:
                else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3385 "util/configparser.c" /* yacc.c:1646  */
+#line 3399 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 258:
-#line 1197 "./util/configparser.y" /* yacc.c:1646  */
+  case 260:
+#line 1207 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3394,22 +3408,22 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3398 "util/configparser.c" /* yacc.c:1646  */
+#line 3412 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 259:
-#line 1206 "./util/configparser.y" /* yacc.c:1646  */
+  case 261:
+#line 1216 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size))
                        yyerror("memory size expected");
                free((yyvsp[0].str));
        }
-#line 3409 "util/configparser.c" /* yacc.c:1646  */
+#line 3423 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 260:
-#line 1214 "./util/configparser.y" /* yacc.c:1646  */
+  case 262:
+#line 1224 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -3421,22 +3435,22 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 3425 "util/configparser.c" /* yacc.c:1646  */
+#line 3439 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 261:
-#line 1227 "./util/configparser.y" /* yacc.c:1646  */
+  case 263:
+#line 1237 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size))
                        yyerror("memory size expected");
                free((yyvsp[0].str));
        }
-#line 3436 "util/configparser.c" /* yacc.c:1646  */
+#line 3450 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 262:
-#line 1235 "./util/configparser.y" /* yacc.c:1646  */
+  case 264:
+#line 1245 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 &&
@@ -3463,21 +3477,21 @@ yyreduce:
                                fatal_exit("out of memory adding local-zone");
                }
        }
-#line 3467 "util/configparser.c" /* yacc.c:1646  */
+#line 3481 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 263:
-#line 1263 "./util/configparser.y" /* yacc.c:1646  */
+  case 265:
+#line 1273 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str)))
                        fatal_exit("out of memory adding local-data");
        }
-#line 3477 "util/configparser.c" /* yacc.c:1646  */
+#line 3491 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 264:
-#line 1270 "./util/configparser.y" /* yacc.c:1646  */
+  case 266:
+#line 1280 "./util/configparser.y" /* yacc.c:1646  */
     {
                char* ptr;
                OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str)));
@@ -3491,11 +3505,11 @@ yyreduce:
                        yyerror("local-data-ptr could not be reversed");
                }
        }
-#line 3495 "util/configparser.c" /* yacc.c:1646  */
+#line 3509 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 265:
-#line 1285 "./util/configparser.y" /* yacc.c:1646  */
+  case 267:
+#line 1295 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3504,11 +3518,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3508 "util/configparser.c" /* yacc.c:1646  */
+#line 3522 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 266:
-#line 1295 "./util/configparser.y" /* yacc.c:1646  */
+  case 268:
+#line 1305 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3517,31 +3531,31 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3521 "util/configparser.c" /* yacc.c:1646  */
+#line 3535 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 267:
-#line 1305 "./util/configparser.y" /* yacc.c:1646  */
+  case 269:
+#line 1315 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str)));
                cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3531 "util/configparser.c" /* yacc.c:1646  */
+#line 3545 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 268:
-#line 1312 "./util/configparser.y" /* yacc.c:1646  */
+  case 270:
+#line 1322 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dns64_prefix);
                cfg_parser->cfg->dns64_prefix = (yyvsp[0].str);
        }
-#line 3541 "util/configparser.c" /* yacc.c:1646  */
+#line 3555 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 269:
-#line 1319 "./util/configparser.y" /* yacc.c:1646  */
+  case 271:
+#line 1329 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3549,11 +3563,11 @@ yyreduce:
                else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3553 "util/configparser.c" /* yacc.c:1646  */
+#line 3567 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 270:
-#line 1328 "./util/configparser.y" /* yacc.c:1646  */
+  case 272:
+#line 1338 "./util/configparser.y" /* yacc.c:1646  */
     {
                char* p, *s = (yyvsp[0].str);
                OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str)));
@@ -3566,11 +3580,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 3570 "util/configparser.c" /* yacc.c:1646  */
+#line 3584 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 271:
-#line 1342 "./util/configparser.y" /* yacc.c:1646  */
+  case 273:
+#line 1352 "./util/configparser.y" /* yacc.c:1646  */
     {
                size_t len = 0;
                uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
@@ -3588,11 +3602,11 @@ yyreduce:
                        }
                }
        }
-#line 3592 "util/configparser.c" /* yacc.c:1646  */
+#line 3606 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 272:
-#line 1361 "./util/configparser.y" /* yacc.c:1646  */
+  case 274:
+#line 1371 "./util/configparser.y" /* yacc.c:1646  */
     {
                size_t len = 0;
                uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
@@ -3610,11 +3624,11 @@ yyreduce:
                        }
                }
        }
-#line 3614 "util/configparser.c" /* yacc.c:1646  */
+#line 3628 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 273:
-#line 1380 "./util/configparser.y" /* yacc.c:1646  */
+  case 275:
+#line 1390 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
                if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions,
@@ -3625,11 +3639,11 @@ yyreduce:
                        free((yyvsp[0].str));
                }
        }
-#line 3629 "util/configparser.c" /* yacc.c:1646  */
+#line 3643 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 274:
-#line 1392 "./util/configparser.y" /* yacc.c:1646  */
+  case 276:
+#line 1402 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
                if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas,
@@ -3640,11 +3654,11 @@ yyreduce:
                        free((yyvsp[0].str));
                }
        }
-#line 3644 "util/configparser.c" /* yacc.c:1646  */
+#line 3658 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 275:
-#line 1404 "./util/configparser.y" /* yacc.c:1646  */
+  case 277:
+#line 1414 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
                if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides,
@@ -3655,11 +3669,11 @@ yyreduce:
                        free((yyvsp[0].str));
                }
        }
-#line 3659 "util/configparser.c" /* yacc.c:1646  */
+#line 3673 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 276:
-#line 1416 "./util/configparser.y" /* yacc.c:1646  */
+  case 278:
+#line 1426 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); 
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3667,22 +3681,22 @@ yyreduce:
                else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3671 "util/configparser.c" /* yacc.c:1646  */
+#line 3685 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 277:
-#line 1425 "./util/configparser.y" /* yacc.c:1646  */
+  case 279:
+#line 1435 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str)));
                if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size))
                        yyerror("memory size expected");
                free((yyvsp[0].str));
        }
-#line 3682 "util/configparser.c" /* yacc.c:1646  */
+#line 3696 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 278:
-#line 1433 "./util/configparser.y" /* yacc.c:1646  */
+  case 280:
+#line 1443 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -3694,11 +3708,11 @@ yyreduce:
                }
                free((yyvsp[0].str));
        }
-#line 3698 "util/configparser.c" /* yacc.c:1646  */
+#line 3712 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 279:
-#line 1446 "./util/configparser.y" /* yacc.c:1646  */
+  case 281:
+#line 1456 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) {
@@ -3710,11 +3724,11 @@ yyreduce:
                                        "ratelimit-for-domain");
                }
        }
-#line 3714 "util/configparser.c" /* yacc.c:1646  */
+#line 3728 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 280:
-#line 1459 "./util/configparser.y" /* yacc.c:1646  */
+  case 282:
+#line 1469 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) {
@@ -3726,11 +3740,11 @@ yyreduce:
                                        "ratelimit-below-domain");
                }
        }
-#line 3730 "util/configparser.c" /* yacc.c:1646  */
+#line 3744 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 281:
-#line 1472 "./util/configparser.y" /* yacc.c:1646  */
+  case 283:
+#line 1482 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); 
                if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@@ -3738,11 +3752,11 @@ yyreduce:
                else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3742 "util/configparser.c" /* yacc.c:1646  */
+#line 3756 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 282:
-#line 1481 "./util/configparser.y" /* yacc.c:1646  */
+  case 284:
+#line 1491 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3751,11 +3765,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3755 "util/configparser.c" /* yacc.c:1646  */
+#line 3769 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 283:
-#line 1491 "./util/configparser.y" /* yacc.c:1646  */
+  case 285:
+#line 1501 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->stubs->name)
@@ -3764,31 +3778,31 @@ yyreduce:
                free(cfg_parser->cfg->stubs->name);
                cfg_parser->cfg->stubs->name = (yyvsp[0].str);
        }
-#line 3768 "util/configparser.c" /* yacc.c:1646  */
+#line 3782 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 284:
-#line 1501 "./util/configparser.y" /* yacc.c:1646  */
+  case 286:
+#line 1511 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3778 "util/configparser.c" /* yacc.c:1646  */
+#line 3792 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 285:
-#line 1508 "./util/configparser.y" /* yacc.c:1646  */
+  case 287:
+#line 1518 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3788 "util/configparser.c" /* yacc.c:1646  */
+#line 3802 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 286:
-#line 1515 "./util/configparser.y" /* yacc.c:1646  */
+  case 288:
+#line 1525 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3796,11 +3810,11 @@ yyreduce:
                else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3800 "util/configparser.c" /* yacc.c:1646  */
+#line 3814 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 287:
-#line 1524 "./util/configparser.y" /* yacc.c:1646  */
+  case 289:
+#line 1534 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3809,11 +3823,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3813 "util/configparser.c" /* yacc.c:1646  */
+#line 3827 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 288:
-#line 1534 "./util/configparser.y" /* yacc.c:1646  */
+  case 290:
+#line 1544 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->forwards->name)
@@ -3822,31 +3836,31 @@ yyreduce:
                free(cfg_parser->cfg->forwards->name);
                cfg_parser->cfg->forwards->name = (yyvsp[0].str);
        }
-#line 3826 "util/configparser.c" /* yacc.c:1646  */
+#line 3840 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 289:
-#line 1544 "./util/configparser.y" /* yacc.c:1646  */
+  case 291:
+#line 1554 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3836 "util/configparser.c" /* yacc.c:1646  */
+#line 3850 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 290:
-#line 1551 "./util/configparser.y" /* yacc.c:1646  */
+  case 292:
+#line 1561 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3846 "util/configparser.c" /* yacc.c:1646  */
+#line 3860 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 291:
-#line 1558 "./util/configparser.y" /* yacc.c:1646  */
+  case 293:
+#line 1568 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3854,19 +3868,19 @@ yyreduce:
                else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3858 "util/configparser.c" /* yacc.c:1646  */
+#line 3872 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 292:
-#line 1567 "./util/configparser.y" /* yacc.c:1646  */
+  case 294:
+#line 1577 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("\nP(remote-control:)\n")); 
        }
-#line 3866 "util/configparser.c" /* yacc.c:1646  */
+#line 3880 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 303:
-#line 1578 "./util/configparser.y" /* yacc.c:1646  */
+  case 305:
+#line 1588 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3875,11 +3889,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3879 "util/configparser.c" /* yacc.c:1646  */
+#line 3893 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 304:
-#line 1588 "./util/configparser.y" /* yacc.c:1646  */
+  case 306:
+#line 1598 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(control_port:%s)\n", (yyvsp[0].str)));
                if(atoi((yyvsp[0].str)) == 0)
@@ -3887,21 +3901,21 @@ yyreduce:
                else cfg_parser->cfg->control_port = atoi((yyvsp[0].str));
                free((yyvsp[0].str));
        }
-#line 3891 "util/configparser.c" /* yacc.c:1646  */
+#line 3905 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 305:
-#line 1597 "./util/configparser.y" /* yacc.c:1646  */
+  case 307:
+#line 1607 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
-#line 3901 "util/configparser.c" /* yacc.c:1646  */
+#line 3915 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 306:
-#line 1604 "./util/configparser.y" /* yacc.c:1646  */
+  case 308:
+#line 1614 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -3910,122 +3924,122 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 3914 "util/configparser.c" /* yacc.c:1646  */
+#line 3928 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 307:
-#line 1614 "./util/configparser.y" /* yacc.c:1646  */
+  case 309:
+#line 1624 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->server_key_file);
                cfg_parser->cfg->server_key_file = (yyvsp[0].str);
        }
-#line 3924 "util/configparser.c" /* yacc.c:1646  */
+#line 3938 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 308:
-#line 1621 "./util/configparser.y" /* yacc.c:1646  */
+  case 310:
+#line 1631 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->server_cert_file);
                cfg_parser->cfg->server_cert_file = (yyvsp[0].str);
        }
-#line 3934 "util/configparser.c" /* yacc.c:1646  */
+#line 3948 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 309:
-#line 1628 "./util/configparser.y" /* yacc.c:1646  */
+  case 311:
+#line 1638 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->control_key_file);
                cfg_parser->cfg->control_key_file = (yyvsp[0].str);
        }
-#line 3944 "util/configparser.c" /* yacc.c:1646  */
+#line 3958 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 310:
-#line 1635 "./util/configparser.y" /* yacc.c:1646  */
+  case 312:
+#line 1645 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->control_cert_file);
                cfg_parser->cfg->control_cert_file = (yyvsp[0].str);
        }
-#line 3954 "util/configparser.c" /* yacc.c:1646  */
+#line 3968 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 311:
-#line 1642 "./util/configparser.y" /* yacc.c:1646  */
+  case 313:
+#line 1652 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("\nP(dnstap:)\n"));
        }
-#line 3962 "util/configparser.c" /* yacc.c:1646  */
+#line 3976 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 326:
-#line 1659 "./util/configparser.y" /* yacc.c:1646  */
+  case 328:
+#line 1669 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 3973 "util/configparser.c" /* yacc.c:1646  */
+#line 3987 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 327:
-#line 1667 "./util/configparser.y" /* yacc.c:1646  */
+  case 329:
+#line 1677 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_socket_path);
                cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str);
        }
-#line 3983 "util/configparser.c" /* yacc.c:1646  */
+#line 3997 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 328:
-#line 1674 "./util/configparser.y" /* yacc.c:1646  */
+  case 330:
+#line 1684 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 3994 "util/configparser.c" /* yacc.c:1646  */
+#line 4008 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 329:
-#line 1682 "./util/configparser.y" /* yacc.c:1646  */
+  case 331:
+#line 1692 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4005 "util/configparser.c" /* yacc.c:1646  */
+#line 4019 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 330:
-#line 1690 "./util/configparser.y" /* yacc.c:1646  */
+  case 332:
+#line 1700 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_identity);
                cfg_parser->cfg->dnstap_identity = (yyvsp[0].str);
        }
-#line 4015 "util/configparser.c" /* yacc.c:1646  */
+#line 4029 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 331:
-#line 1697 "./util/configparser.y" /* yacc.c:1646  */
+  case 333:
+#line 1707 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_version);
                cfg_parser->cfg->dnstap_version = (yyvsp[0].str);
        }
-#line 4025 "util/configparser.c" /* yacc.c:1646  */
+#line 4039 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 332:
-#line 1704 "./util/configparser.y" /* yacc.c:1646  */
+  case 334:
+#line 1714 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4033,11 +4047,11 @@ yyreduce:
                else cfg_parser->cfg->dnstap_log_resolver_query_messages =
                        (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4037 "util/configparser.c" /* yacc.c:1646  */
+#line 4051 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 333:
-#line 1713 "./util/configparser.y" /* yacc.c:1646  */
+  case 335:
+#line 1723 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4045,11 +4059,11 @@ yyreduce:
                else cfg_parser->cfg->dnstap_log_resolver_response_messages =
                        (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4049 "util/configparser.c" /* yacc.c:1646  */
+#line 4063 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 334:
-#line 1722 "./util/configparser.y" /* yacc.c:1646  */
+  case 336:
+#line 1732 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4057,11 +4071,11 @@ yyreduce:
                else cfg_parser->cfg->dnstap_log_client_query_messages =
                        (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4061 "util/configparser.c" /* yacc.c:1646  */
+#line 4075 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 335:
-#line 1731 "./util/configparser.y" /* yacc.c:1646  */
+  case 337:
+#line 1741 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4069,11 +4083,11 @@ yyreduce:
                else cfg_parser->cfg->dnstap_log_client_response_messages =
                        (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4073 "util/configparser.c" /* yacc.c:1646  */
+#line 4087 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 336:
-#line 1740 "./util/configparser.y" /* yacc.c:1646  */
+  case 338:
+#line 1750 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4081,11 +4095,11 @@ yyreduce:
                else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
                        (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4085 "util/configparser.c" /* yacc.c:1646  */
+#line 4099 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 337:
-#line 1749 "./util/configparser.y" /* yacc.c:1646  */
+  case 339:
+#line 1759 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str)));
                if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4093,29 +4107,29 @@ yyreduce:
                else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
                        (strcmp((yyvsp[0].str), "yes")==0);
        }
-#line 4097 "util/configparser.c" /* yacc.c:1646  */
+#line 4111 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 338:
-#line 1758 "./util/configparser.y" /* yacc.c:1646  */
+  case 340:
+#line 1768 "./util/configparser.y" /* yacc.c:1646  */
     { 
                OUTYY(("\nP(python:)\n")); 
        }
-#line 4105 "util/configparser.c" /* yacc.c:1646  */
+#line 4119 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 342:
-#line 1767 "./util/configparser.y" /* yacc.c:1646  */
+  case 344:
+#line 1777 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(python-script:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->python_script);
                cfg_parser->cfg->python_script = (yyvsp[0].str);
        }
-#line 4115 "util/configparser.c" /* yacc.c:1646  */
+#line 4129 "util/configparser.c" /* yacc.c:1646  */
     break;
 
-  case 343:
-#line 1773 "./util/configparser.y" /* yacc.c:1646  */
+  case 345:
+#line 1783 "./util/configparser.y" /* yacc.c:1646  */
     {
                OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str)));
                if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@@ -4124,11 +4138,11 @@ yyreduce:
                        (strcmp((yyvsp[0].str), "yes")==0);
                free((yyvsp[0].str));
        }
-#line 4128 "util/configparser.c" /* yacc.c:1646  */
+#line 4142 "util/configparser.c" /* yacc.c:1646  */
     break;
 
 
-#line 4132 "util/configparser.c" /* yacc.c:1646  */
+#line 4146 "util/configparser.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -4356,7 +4370,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 1781 "./util/configparser.y" /* yacc.c:1906  */
+#line 1791 "./util/configparser.y" /* yacc.c:1906  */
 
 
 /* parse helper routines could be here */
index 4417869f1e25fab94d1776172006ea560dddbcea..f7abdbab18c76eeab7edda40fcaedcd0965fa1d4 100644 (file)
@@ -61,161 +61,162 @@ extern int yydebug;
     VAR_INTERFACE = 271,
     VAR_DO_IP4 = 272,
     VAR_DO_IP6 = 273,
-    VAR_DO_UDP = 274,
-    VAR_DO_TCP = 275,
-    VAR_TCP_MSS = 276,
-    VAR_OUTGOING_TCP_MSS = 277,
-    VAR_CHROOT = 278,
-    VAR_USERNAME = 279,
-    VAR_DIRECTORY = 280,
-    VAR_LOGFILE = 281,
-    VAR_PIDFILE = 282,
-    VAR_MSG_CACHE_SIZE = 283,
-    VAR_MSG_CACHE_SLABS = 284,
-    VAR_NUM_QUERIES_PER_THREAD = 285,
-    VAR_RRSET_CACHE_SIZE = 286,
-    VAR_RRSET_CACHE_SLABS = 287,
-    VAR_OUTGOING_NUM_TCP = 288,
-    VAR_INFRA_HOST_TTL = 289,
-    VAR_INFRA_LAME_TTL = 290,
-    VAR_INFRA_CACHE_SLABS = 291,
-    VAR_INFRA_CACHE_NUMHOSTS = 292,
-    VAR_INFRA_CACHE_LAME_SIZE = 293,
-    VAR_NAME = 294,
-    VAR_STUB_ZONE = 295,
-    VAR_STUB_HOST = 296,
-    VAR_STUB_ADDR = 297,
-    VAR_TARGET_FETCH_POLICY = 298,
-    VAR_HARDEN_SHORT_BUFSIZE = 299,
-    VAR_HARDEN_LARGE_QUERIES = 300,
-    VAR_FORWARD_ZONE = 301,
-    VAR_FORWARD_HOST = 302,
-    VAR_FORWARD_ADDR = 303,
-    VAR_DO_NOT_QUERY_ADDRESS = 304,
-    VAR_HIDE_IDENTITY = 305,
-    VAR_HIDE_VERSION = 306,
-    VAR_IDENTITY = 307,
-    VAR_VERSION = 308,
-    VAR_HARDEN_GLUE = 309,
-    VAR_MODULE_CONF = 310,
-    VAR_TRUST_ANCHOR_FILE = 311,
-    VAR_TRUST_ANCHOR = 312,
-    VAR_VAL_OVERRIDE_DATE = 313,
-    VAR_BOGUS_TTL = 314,
-    VAR_VAL_CLEAN_ADDITIONAL = 315,
-    VAR_VAL_PERMISSIVE_MODE = 316,
-    VAR_INCOMING_NUM_TCP = 317,
-    VAR_MSG_BUFFER_SIZE = 318,
-    VAR_KEY_CACHE_SIZE = 319,
-    VAR_KEY_CACHE_SLABS = 320,
-    VAR_TRUSTED_KEYS_FILE = 321,
-    VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 322,
-    VAR_USE_SYSLOG = 323,
-    VAR_OUTGOING_INTERFACE = 324,
-    VAR_ROOT_HINTS = 325,
-    VAR_DO_NOT_QUERY_LOCALHOST = 326,
-    VAR_CACHE_MAX_TTL = 327,
-    VAR_HARDEN_DNSSEC_STRIPPED = 328,
-    VAR_ACCESS_CONTROL = 329,
-    VAR_LOCAL_ZONE = 330,
-    VAR_LOCAL_DATA = 331,
-    VAR_INTERFACE_AUTOMATIC = 332,
-    VAR_STATISTICS_INTERVAL = 333,
-    VAR_DO_DAEMONIZE = 334,
-    VAR_USE_CAPS_FOR_ID = 335,
-    VAR_STATISTICS_CUMULATIVE = 336,
-    VAR_OUTGOING_PORT_PERMIT = 337,
-    VAR_OUTGOING_PORT_AVOID = 338,
-    VAR_DLV_ANCHOR_FILE = 339,
-    VAR_DLV_ANCHOR = 340,
-    VAR_NEG_CACHE_SIZE = 341,
-    VAR_HARDEN_REFERRAL_PATH = 342,
-    VAR_PRIVATE_ADDRESS = 343,
-    VAR_PRIVATE_DOMAIN = 344,
-    VAR_REMOTE_CONTROL = 345,
-    VAR_CONTROL_ENABLE = 346,
-    VAR_CONTROL_INTERFACE = 347,
-    VAR_CONTROL_PORT = 348,
-    VAR_SERVER_KEY_FILE = 349,
-    VAR_SERVER_CERT_FILE = 350,
-    VAR_CONTROL_KEY_FILE = 351,
-    VAR_CONTROL_CERT_FILE = 352,
-    VAR_CONTROL_USE_CERT = 353,
-    VAR_EXTENDED_STATISTICS = 354,
-    VAR_LOCAL_DATA_PTR = 355,
-    VAR_JOSTLE_TIMEOUT = 356,
-    VAR_STUB_PRIME = 357,
-    VAR_UNWANTED_REPLY_THRESHOLD = 358,
-    VAR_LOG_TIME_ASCII = 359,
-    VAR_DOMAIN_INSECURE = 360,
-    VAR_PYTHON = 361,
-    VAR_PYTHON_SCRIPT = 362,
-    VAR_VAL_SIG_SKEW_MIN = 363,
-    VAR_VAL_SIG_SKEW_MAX = 364,
-    VAR_CACHE_MIN_TTL = 365,
-    VAR_VAL_LOG_LEVEL = 366,
-    VAR_AUTO_TRUST_ANCHOR_FILE = 367,
-    VAR_KEEP_MISSING = 368,
-    VAR_ADD_HOLDDOWN = 369,
-    VAR_DEL_HOLDDOWN = 370,
-    VAR_SO_RCVBUF = 371,
-    VAR_EDNS_BUFFER_SIZE = 372,
-    VAR_PREFETCH = 373,
-    VAR_PREFETCH_KEY = 374,
-    VAR_SO_SNDBUF = 375,
-    VAR_SO_REUSEPORT = 376,
-    VAR_HARDEN_BELOW_NXDOMAIN = 377,
-    VAR_IGNORE_CD_FLAG = 378,
-    VAR_LOG_QUERIES = 379,
-    VAR_TCP_UPSTREAM = 380,
-    VAR_SSL_UPSTREAM = 381,
-    VAR_SSL_SERVICE_KEY = 382,
-    VAR_SSL_SERVICE_PEM = 383,
-    VAR_SSL_PORT = 384,
-    VAR_FORWARD_FIRST = 385,
-    VAR_STUB_FIRST = 386,
-    VAR_MINIMAL_RESPONSES = 387,
-    VAR_RRSET_ROUNDROBIN = 388,
-    VAR_MAX_UDP_SIZE = 389,
-    VAR_DELAY_CLOSE = 390,
-    VAR_UNBLOCK_LAN_ZONES = 391,
-    VAR_INSECURE_LAN_ZONES = 392,
-    VAR_INFRA_CACHE_MIN_RTT = 393,
-    VAR_DNS64_PREFIX = 394,
-    VAR_DNS64_SYNTHALL = 395,
-    VAR_DNSTAP = 396,
-    VAR_DNSTAP_ENABLE = 397,
-    VAR_DNSTAP_SOCKET_PATH = 398,
-    VAR_DNSTAP_SEND_IDENTITY = 399,
-    VAR_DNSTAP_SEND_VERSION = 400,
-    VAR_DNSTAP_IDENTITY = 401,
-    VAR_DNSTAP_VERSION = 402,
-    VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 403,
-    VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 404,
-    VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 405,
-    VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 406,
-    VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 407,
-    VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 408,
-    VAR_HARDEN_ALGO_DOWNGRADE = 409,
-    VAR_IP_TRANSPARENT = 410,
-    VAR_DISABLE_DNSSEC_LAME_CHECK = 411,
-    VAR_RATELIMIT = 412,
-    VAR_RATELIMIT_SLABS = 413,
-    VAR_RATELIMIT_SIZE = 414,
-    VAR_RATELIMIT_FOR_DOMAIN = 415,
-    VAR_RATELIMIT_BELOW_DOMAIN = 416,
-    VAR_RATELIMIT_FACTOR = 417,
-    VAR_CAPS_WHITELIST = 418,
-    VAR_CACHE_MAX_NEGATIVE_TTL = 419,
-    VAR_PERMIT_SMALL_HOLDDOWN = 420,
-    VAR_QNAME_MINIMISATION = 421,
-    VAR_IP_FREEBIND = 422,
-    VAR_DEFINE_TAG = 423,
-    VAR_LOCAL_ZONE_TAG = 424,
-    VAR_ACCESS_CONTROL_TAG = 425,
-    VAR_LOCAL_ZONE_OVERRIDE = 426,
-    VAR_ACCESS_CONTROL_TAG_ACTION = 427,
-    VAR_ACCESS_CONTROL_TAG_DATA = 428
+    VAR_PREFER_IP6 = 274,
+    VAR_DO_UDP = 275,
+    VAR_DO_TCP = 276,
+    VAR_TCP_MSS = 277,
+    VAR_OUTGOING_TCP_MSS = 278,
+    VAR_CHROOT = 279,
+    VAR_USERNAME = 280,
+    VAR_DIRECTORY = 281,
+    VAR_LOGFILE = 282,
+    VAR_PIDFILE = 283,
+    VAR_MSG_CACHE_SIZE = 284,
+    VAR_MSG_CACHE_SLABS = 285,
+    VAR_NUM_QUERIES_PER_THREAD = 286,
+    VAR_RRSET_CACHE_SIZE = 287,
+    VAR_RRSET_CACHE_SLABS = 288,
+    VAR_OUTGOING_NUM_TCP = 289,
+    VAR_INFRA_HOST_TTL = 290,
+    VAR_INFRA_LAME_TTL = 291,
+    VAR_INFRA_CACHE_SLABS = 292,
+    VAR_INFRA_CACHE_NUMHOSTS = 293,
+    VAR_INFRA_CACHE_LAME_SIZE = 294,
+    VAR_NAME = 295,
+    VAR_STUB_ZONE = 296,
+    VAR_STUB_HOST = 297,
+    VAR_STUB_ADDR = 298,
+    VAR_TARGET_FETCH_POLICY = 299,
+    VAR_HARDEN_SHORT_BUFSIZE = 300,
+    VAR_HARDEN_LARGE_QUERIES = 301,
+    VAR_FORWARD_ZONE = 302,
+    VAR_FORWARD_HOST = 303,
+    VAR_FORWARD_ADDR = 304,
+    VAR_DO_NOT_QUERY_ADDRESS = 305,
+    VAR_HIDE_IDENTITY = 306,
+    VAR_HIDE_VERSION = 307,
+    VAR_IDENTITY = 308,
+    VAR_VERSION = 309,
+    VAR_HARDEN_GLUE = 310,
+    VAR_MODULE_CONF = 311,
+    VAR_TRUST_ANCHOR_FILE = 312,
+    VAR_TRUST_ANCHOR = 313,
+    VAR_VAL_OVERRIDE_DATE = 314,
+    VAR_BOGUS_TTL = 315,
+    VAR_VAL_CLEAN_ADDITIONAL = 316,
+    VAR_VAL_PERMISSIVE_MODE = 317,
+    VAR_INCOMING_NUM_TCP = 318,
+    VAR_MSG_BUFFER_SIZE = 319,
+    VAR_KEY_CACHE_SIZE = 320,
+    VAR_KEY_CACHE_SLABS = 321,
+    VAR_TRUSTED_KEYS_FILE = 322,
+    VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 323,
+    VAR_USE_SYSLOG = 324,
+    VAR_OUTGOING_INTERFACE = 325,
+    VAR_ROOT_HINTS = 326,
+    VAR_DO_NOT_QUERY_LOCALHOST = 327,
+    VAR_CACHE_MAX_TTL = 328,
+    VAR_HARDEN_DNSSEC_STRIPPED = 329,
+    VAR_ACCESS_CONTROL = 330,
+    VAR_LOCAL_ZONE = 331,
+    VAR_LOCAL_DATA = 332,
+    VAR_INTERFACE_AUTOMATIC = 333,
+    VAR_STATISTICS_INTERVAL = 334,
+    VAR_DO_DAEMONIZE = 335,
+    VAR_USE_CAPS_FOR_ID = 336,
+    VAR_STATISTICS_CUMULATIVE = 337,
+    VAR_OUTGOING_PORT_PERMIT = 338,
+    VAR_OUTGOING_PORT_AVOID = 339,
+    VAR_DLV_ANCHOR_FILE = 340,
+    VAR_DLV_ANCHOR = 341,
+    VAR_NEG_CACHE_SIZE = 342,
+    VAR_HARDEN_REFERRAL_PATH = 343,
+    VAR_PRIVATE_ADDRESS = 344,
+    VAR_PRIVATE_DOMAIN = 345,
+    VAR_REMOTE_CONTROL = 346,
+    VAR_CONTROL_ENABLE = 347,
+    VAR_CONTROL_INTERFACE = 348,
+    VAR_CONTROL_PORT = 349,
+    VAR_SERVER_KEY_FILE = 350,
+    VAR_SERVER_CERT_FILE = 351,
+    VAR_CONTROL_KEY_FILE = 352,
+    VAR_CONTROL_CERT_FILE = 353,
+    VAR_CONTROL_USE_CERT = 354,
+    VAR_EXTENDED_STATISTICS = 355,
+    VAR_LOCAL_DATA_PTR = 356,
+    VAR_JOSTLE_TIMEOUT = 357,
+    VAR_STUB_PRIME = 358,
+    VAR_UNWANTED_REPLY_THRESHOLD = 359,
+    VAR_LOG_TIME_ASCII = 360,
+    VAR_DOMAIN_INSECURE = 361,
+    VAR_PYTHON = 362,
+    VAR_PYTHON_SCRIPT = 363,
+    VAR_VAL_SIG_SKEW_MIN = 364,
+    VAR_VAL_SIG_SKEW_MAX = 365,
+    VAR_CACHE_MIN_TTL = 366,
+    VAR_VAL_LOG_LEVEL = 367,
+    VAR_AUTO_TRUST_ANCHOR_FILE = 368,
+    VAR_KEEP_MISSING = 369,
+    VAR_ADD_HOLDDOWN = 370,
+    VAR_DEL_HOLDDOWN = 371,
+    VAR_SO_RCVBUF = 372,
+    VAR_EDNS_BUFFER_SIZE = 373,
+    VAR_PREFETCH = 374,
+    VAR_PREFETCH_KEY = 375,
+    VAR_SO_SNDBUF = 376,
+    VAR_SO_REUSEPORT = 377,
+    VAR_HARDEN_BELOW_NXDOMAIN = 378,
+    VAR_IGNORE_CD_FLAG = 379,
+    VAR_LOG_QUERIES = 380,
+    VAR_TCP_UPSTREAM = 381,
+    VAR_SSL_UPSTREAM = 382,
+    VAR_SSL_SERVICE_KEY = 383,
+    VAR_SSL_SERVICE_PEM = 384,
+    VAR_SSL_PORT = 385,
+    VAR_FORWARD_FIRST = 386,
+    VAR_STUB_FIRST = 387,
+    VAR_MINIMAL_RESPONSES = 388,
+    VAR_RRSET_ROUNDROBIN = 389,
+    VAR_MAX_UDP_SIZE = 390,
+    VAR_DELAY_CLOSE = 391,
+    VAR_UNBLOCK_LAN_ZONES = 392,
+    VAR_INSECURE_LAN_ZONES = 393,
+    VAR_INFRA_CACHE_MIN_RTT = 394,
+    VAR_DNS64_PREFIX = 395,
+    VAR_DNS64_SYNTHALL = 396,
+    VAR_DNSTAP = 397,
+    VAR_DNSTAP_ENABLE = 398,
+    VAR_DNSTAP_SOCKET_PATH = 399,
+    VAR_DNSTAP_SEND_IDENTITY = 400,
+    VAR_DNSTAP_SEND_VERSION = 401,
+    VAR_DNSTAP_IDENTITY = 402,
+    VAR_DNSTAP_VERSION = 403,
+    VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 404,
+    VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 405,
+    VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 406,
+    VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 407,
+    VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 408,
+    VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 409,
+    VAR_HARDEN_ALGO_DOWNGRADE = 410,
+    VAR_IP_TRANSPARENT = 411,
+    VAR_DISABLE_DNSSEC_LAME_CHECK = 412,
+    VAR_RATELIMIT = 413,
+    VAR_RATELIMIT_SLABS = 414,
+    VAR_RATELIMIT_SIZE = 415,
+    VAR_RATELIMIT_FOR_DOMAIN = 416,
+    VAR_RATELIMIT_BELOW_DOMAIN = 417,
+    VAR_RATELIMIT_FACTOR = 418,
+    VAR_CAPS_WHITELIST = 419,
+    VAR_CACHE_MAX_NEGATIVE_TTL = 420,
+    VAR_PERMIT_SMALL_HOLDDOWN = 421,
+    VAR_QNAME_MINIMISATION = 422,
+    VAR_IP_FREEBIND = 423,
+    VAR_DEFINE_TAG = 424,
+    VAR_LOCAL_ZONE_TAG = 425,
+    VAR_ACCESS_CONTROL_TAG = 426,
+    VAR_LOCAL_ZONE_OVERRIDE = 427,
+    VAR_ACCESS_CONTROL_TAG_ACTION = 428,
+    VAR_ACCESS_CONTROL_TAG_DATA = 429
   };
 #endif
 /* Tokens.  */
@@ -235,161 +236,162 @@ extern int yydebug;
 #define VAR_INTERFACE 271
 #define VAR_DO_IP4 272
 #define VAR_DO_IP6 273
-#define VAR_DO_UDP 274
-#define VAR_DO_TCP 275
-#define VAR_TCP_MSS 276
-#define VAR_OUTGOING_TCP_MSS 277
-#define VAR_CHROOT 278
-#define VAR_USERNAME 279
-#define VAR_DIRECTORY 280
-#define VAR_LOGFILE 281
-#define VAR_PIDFILE 282
-#define VAR_MSG_CACHE_SIZE 283
-#define VAR_MSG_CACHE_SLABS 284
-#define VAR_NUM_QUERIES_PER_THREAD 285
-#define VAR_RRSET_CACHE_SIZE 286
-#define VAR_RRSET_CACHE_SLABS 287
-#define VAR_OUTGOING_NUM_TCP 288
-#define VAR_INFRA_HOST_TTL 289
-#define VAR_INFRA_LAME_TTL 290
-#define VAR_INFRA_CACHE_SLABS 291
-#define VAR_INFRA_CACHE_NUMHOSTS 292
-#define VAR_INFRA_CACHE_LAME_SIZE 293
-#define VAR_NAME 294
-#define VAR_STUB_ZONE 295
-#define VAR_STUB_HOST 296
-#define VAR_STUB_ADDR 297
-#define VAR_TARGET_FETCH_POLICY 298
-#define VAR_HARDEN_SHORT_BUFSIZE 299
-#define VAR_HARDEN_LARGE_QUERIES 300
-#define VAR_FORWARD_ZONE 301
-#define VAR_FORWARD_HOST 302
-#define VAR_FORWARD_ADDR 303
-#define VAR_DO_NOT_QUERY_ADDRESS 304
-#define VAR_HIDE_IDENTITY 305
-#define VAR_HIDE_VERSION 306
-#define VAR_IDENTITY 307
-#define VAR_VERSION 308
-#define VAR_HARDEN_GLUE 309
-#define VAR_MODULE_CONF 310
-#define VAR_TRUST_ANCHOR_FILE 311
-#define VAR_TRUST_ANCHOR 312
-#define VAR_VAL_OVERRIDE_DATE 313
-#define VAR_BOGUS_TTL 314
-#define VAR_VAL_CLEAN_ADDITIONAL 315
-#define VAR_VAL_PERMISSIVE_MODE 316
-#define VAR_INCOMING_NUM_TCP 317
-#define VAR_MSG_BUFFER_SIZE 318
-#define VAR_KEY_CACHE_SIZE 319
-#define VAR_KEY_CACHE_SLABS 320
-#define VAR_TRUSTED_KEYS_FILE 321
-#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 322
-#define VAR_USE_SYSLOG 323
-#define VAR_OUTGOING_INTERFACE 324
-#define VAR_ROOT_HINTS 325
-#define VAR_DO_NOT_QUERY_LOCALHOST 326
-#define VAR_CACHE_MAX_TTL 327
-#define VAR_HARDEN_DNSSEC_STRIPPED 328
-#define VAR_ACCESS_CONTROL 329
-#define VAR_LOCAL_ZONE 330
-#define VAR_LOCAL_DATA 331
-#define VAR_INTERFACE_AUTOMATIC 332
-#define VAR_STATISTICS_INTERVAL 333
-#define VAR_DO_DAEMONIZE 334
-#define VAR_USE_CAPS_FOR_ID 335
-#define VAR_STATISTICS_CUMULATIVE 336
-#define VAR_OUTGOING_PORT_PERMIT 337
-#define VAR_OUTGOING_PORT_AVOID 338
-#define VAR_DLV_ANCHOR_FILE 339
-#define VAR_DLV_ANCHOR 340
-#define VAR_NEG_CACHE_SIZE 341
-#define VAR_HARDEN_REFERRAL_PATH 342
-#define VAR_PRIVATE_ADDRESS 343
-#define VAR_PRIVATE_DOMAIN 344
-#define VAR_REMOTE_CONTROL 345
-#define VAR_CONTROL_ENABLE 346
-#define VAR_CONTROL_INTERFACE 347
-#define VAR_CONTROL_PORT 348
-#define VAR_SERVER_KEY_FILE 349
-#define VAR_SERVER_CERT_FILE 350
-#define VAR_CONTROL_KEY_FILE 351
-#define VAR_CONTROL_CERT_FILE 352
-#define VAR_CONTROL_USE_CERT 353
-#define VAR_EXTENDED_STATISTICS 354
-#define VAR_LOCAL_DATA_PTR 355
-#define VAR_JOSTLE_TIMEOUT 356
-#define VAR_STUB_PRIME 357
-#define VAR_UNWANTED_REPLY_THRESHOLD 358
-#define VAR_LOG_TIME_ASCII 359
-#define VAR_DOMAIN_INSECURE 360
-#define VAR_PYTHON 361
-#define VAR_PYTHON_SCRIPT 362
-#define VAR_VAL_SIG_SKEW_MIN 363
-#define VAR_VAL_SIG_SKEW_MAX 364
-#define VAR_CACHE_MIN_TTL 365
-#define VAR_VAL_LOG_LEVEL 366
-#define VAR_AUTO_TRUST_ANCHOR_FILE 367
-#define VAR_KEEP_MISSING 368
-#define VAR_ADD_HOLDDOWN 369
-#define VAR_DEL_HOLDDOWN 370
-#define VAR_SO_RCVBUF 371
-#define VAR_EDNS_BUFFER_SIZE 372
-#define VAR_PREFETCH 373
-#define VAR_PREFETCH_KEY 374
-#define VAR_SO_SNDBUF 375
-#define VAR_SO_REUSEPORT 376
-#define VAR_HARDEN_BELOW_NXDOMAIN 377
-#define VAR_IGNORE_CD_FLAG 378
-#define VAR_LOG_QUERIES 379
-#define VAR_TCP_UPSTREAM 380
-#define VAR_SSL_UPSTREAM 381
-#define VAR_SSL_SERVICE_KEY 382
-#define VAR_SSL_SERVICE_PEM 383
-#define VAR_SSL_PORT 384
-#define VAR_FORWARD_FIRST 385
-#define VAR_STUB_FIRST 386
-#define VAR_MINIMAL_RESPONSES 387
-#define VAR_RRSET_ROUNDROBIN 388
-#define VAR_MAX_UDP_SIZE 389
-#define VAR_DELAY_CLOSE 390
-#define VAR_UNBLOCK_LAN_ZONES 391
-#define VAR_INSECURE_LAN_ZONES 392
-#define VAR_INFRA_CACHE_MIN_RTT 393
-#define VAR_DNS64_PREFIX 394
-#define VAR_DNS64_SYNTHALL 395
-#define VAR_DNSTAP 396
-#define VAR_DNSTAP_ENABLE 397
-#define VAR_DNSTAP_SOCKET_PATH 398
-#define VAR_DNSTAP_SEND_IDENTITY 399
-#define VAR_DNSTAP_SEND_VERSION 400
-#define VAR_DNSTAP_IDENTITY 401
-#define VAR_DNSTAP_VERSION 402
-#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 403
-#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 404
-#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 405
-#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 406
-#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 407
-#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 408
-#define VAR_HARDEN_ALGO_DOWNGRADE 409
-#define VAR_IP_TRANSPARENT 410
-#define VAR_DISABLE_DNSSEC_LAME_CHECK 411
-#define VAR_RATELIMIT 412
-#define VAR_RATELIMIT_SLABS 413
-#define VAR_RATELIMIT_SIZE 414
-#define VAR_RATELIMIT_FOR_DOMAIN 415
-#define VAR_RATELIMIT_BELOW_DOMAIN 416
-#define VAR_RATELIMIT_FACTOR 417
-#define VAR_CAPS_WHITELIST 418
-#define VAR_CACHE_MAX_NEGATIVE_TTL 419
-#define VAR_PERMIT_SMALL_HOLDDOWN 420
-#define VAR_QNAME_MINIMISATION 421
-#define VAR_IP_FREEBIND 422
-#define VAR_DEFINE_TAG 423
-#define VAR_LOCAL_ZONE_TAG 424
-#define VAR_ACCESS_CONTROL_TAG 425
-#define VAR_LOCAL_ZONE_OVERRIDE 426
-#define VAR_ACCESS_CONTROL_TAG_ACTION 427
-#define VAR_ACCESS_CONTROL_TAG_DATA 428
+#define VAR_PREFER_IP6 274
+#define VAR_DO_UDP 275
+#define VAR_DO_TCP 276
+#define VAR_TCP_MSS 277
+#define VAR_OUTGOING_TCP_MSS 278
+#define VAR_CHROOT 279
+#define VAR_USERNAME 280
+#define VAR_DIRECTORY 281
+#define VAR_LOGFILE 282
+#define VAR_PIDFILE 283
+#define VAR_MSG_CACHE_SIZE 284
+#define VAR_MSG_CACHE_SLABS 285
+#define VAR_NUM_QUERIES_PER_THREAD 286
+#define VAR_RRSET_CACHE_SIZE 287
+#define VAR_RRSET_CACHE_SLABS 288
+#define VAR_OUTGOING_NUM_TCP 289
+#define VAR_INFRA_HOST_TTL 290
+#define VAR_INFRA_LAME_TTL 291
+#define VAR_INFRA_CACHE_SLABS 292
+#define VAR_INFRA_CACHE_NUMHOSTS 293
+#define VAR_INFRA_CACHE_LAME_SIZE 294
+#define VAR_NAME 295
+#define VAR_STUB_ZONE 296
+#define VAR_STUB_HOST 297
+#define VAR_STUB_ADDR 298
+#define VAR_TARGET_FETCH_POLICY 299
+#define VAR_HARDEN_SHORT_BUFSIZE 300
+#define VAR_HARDEN_LARGE_QUERIES 301
+#define VAR_FORWARD_ZONE 302
+#define VAR_FORWARD_HOST 303
+#define VAR_FORWARD_ADDR 304
+#define VAR_DO_NOT_QUERY_ADDRESS 305
+#define VAR_HIDE_IDENTITY 306
+#define VAR_HIDE_VERSION 307
+#define VAR_IDENTITY 308
+#define VAR_VERSION 309
+#define VAR_HARDEN_GLUE 310
+#define VAR_MODULE_CONF 311
+#define VAR_TRUST_ANCHOR_FILE 312
+#define VAR_TRUST_ANCHOR 313
+#define VAR_VAL_OVERRIDE_DATE 314
+#define VAR_BOGUS_TTL 315
+#define VAR_VAL_CLEAN_ADDITIONAL 316
+#define VAR_VAL_PERMISSIVE_MODE 317
+#define VAR_INCOMING_NUM_TCP 318
+#define VAR_MSG_BUFFER_SIZE 319
+#define VAR_KEY_CACHE_SIZE 320
+#define VAR_KEY_CACHE_SLABS 321
+#define VAR_TRUSTED_KEYS_FILE 322
+#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 323
+#define VAR_USE_SYSLOG 324
+#define VAR_OUTGOING_INTERFACE 325
+#define VAR_ROOT_HINTS 326
+#define VAR_DO_NOT_QUERY_LOCALHOST 327
+#define VAR_CACHE_MAX_TTL 328
+#define VAR_HARDEN_DNSSEC_STRIPPED 329
+#define VAR_ACCESS_CONTROL 330
+#define VAR_LOCAL_ZONE 331
+#define VAR_LOCAL_DATA 332
+#define VAR_INTERFACE_AUTOMATIC 333
+#define VAR_STATISTICS_INTERVAL 334
+#define VAR_DO_DAEMONIZE 335
+#define VAR_USE_CAPS_FOR_ID 336
+#define VAR_STATISTICS_CUMULATIVE 337
+#define VAR_OUTGOING_PORT_PERMIT 338
+#define VAR_OUTGOING_PORT_AVOID 339
+#define VAR_DLV_ANCHOR_FILE 340
+#define VAR_DLV_ANCHOR 341
+#define VAR_NEG_CACHE_SIZE 342
+#define VAR_HARDEN_REFERRAL_PATH 343
+#define VAR_PRIVATE_ADDRESS 344
+#define VAR_PRIVATE_DOMAIN 345
+#define VAR_REMOTE_CONTROL 346
+#define VAR_CONTROL_ENABLE 347
+#define VAR_CONTROL_INTERFACE 348
+#define VAR_CONTROL_PORT 349
+#define VAR_SERVER_KEY_FILE 350
+#define VAR_SERVER_CERT_FILE 351
+#define VAR_CONTROL_KEY_FILE 352
+#define VAR_CONTROL_CERT_FILE 353
+#define VAR_CONTROL_USE_CERT 354
+#define VAR_EXTENDED_STATISTICS 355
+#define VAR_LOCAL_DATA_PTR 356
+#define VAR_JOSTLE_TIMEOUT 357
+#define VAR_STUB_PRIME 358
+#define VAR_UNWANTED_REPLY_THRESHOLD 359
+#define VAR_LOG_TIME_ASCII 360
+#define VAR_DOMAIN_INSECURE 361
+#define VAR_PYTHON 362
+#define VAR_PYTHON_SCRIPT 363
+#define VAR_VAL_SIG_SKEW_MIN 364
+#define VAR_VAL_SIG_SKEW_MAX 365
+#define VAR_CACHE_MIN_TTL 366
+#define VAR_VAL_LOG_LEVEL 367
+#define VAR_AUTO_TRUST_ANCHOR_FILE 368
+#define VAR_KEEP_MISSING 369
+#define VAR_ADD_HOLDDOWN 370
+#define VAR_DEL_HOLDDOWN 371
+#define VAR_SO_RCVBUF 372
+#define VAR_EDNS_BUFFER_SIZE 373
+#define VAR_PREFETCH 374
+#define VAR_PREFETCH_KEY 375
+#define VAR_SO_SNDBUF 376
+#define VAR_SO_REUSEPORT 377
+#define VAR_HARDEN_BELOW_NXDOMAIN 378
+#define VAR_IGNORE_CD_FLAG 379
+#define VAR_LOG_QUERIES 380
+#define VAR_TCP_UPSTREAM 381
+#define VAR_SSL_UPSTREAM 382
+#define VAR_SSL_SERVICE_KEY 383
+#define VAR_SSL_SERVICE_PEM 384
+#define VAR_SSL_PORT 385
+#define VAR_FORWARD_FIRST 386
+#define VAR_STUB_FIRST 387
+#define VAR_MINIMAL_RESPONSES 388
+#define VAR_RRSET_ROUNDROBIN 389
+#define VAR_MAX_UDP_SIZE 390
+#define VAR_DELAY_CLOSE 391
+#define VAR_UNBLOCK_LAN_ZONES 392
+#define VAR_INSECURE_LAN_ZONES 393
+#define VAR_INFRA_CACHE_MIN_RTT 394
+#define VAR_DNS64_PREFIX 395
+#define VAR_DNS64_SYNTHALL 396
+#define VAR_DNSTAP 397
+#define VAR_DNSTAP_ENABLE 398
+#define VAR_DNSTAP_SOCKET_PATH 399
+#define VAR_DNSTAP_SEND_IDENTITY 400
+#define VAR_DNSTAP_SEND_VERSION 401
+#define VAR_DNSTAP_IDENTITY 402
+#define VAR_DNSTAP_VERSION 403
+#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 404
+#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 405
+#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 406
+#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 407
+#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 408
+#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 409
+#define VAR_HARDEN_ALGO_DOWNGRADE 410
+#define VAR_IP_TRANSPARENT 411
+#define VAR_DISABLE_DNSSEC_LAME_CHECK 412
+#define VAR_RATELIMIT 413
+#define VAR_RATELIMIT_SLABS 414
+#define VAR_RATELIMIT_SIZE 415
+#define VAR_RATELIMIT_FOR_DOMAIN 416
+#define VAR_RATELIMIT_BELOW_DOMAIN 417
+#define VAR_RATELIMIT_FACTOR 418
+#define VAR_CAPS_WHITELIST 419
+#define VAR_CACHE_MAX_NEGATIVE_TTL 420
+#define VAR_PERMIT_SMALL_HOLDDOWN 421
+#define VAR_QNAME_MINIMISATION 422
+#define VAR_IP_FREEBIND 423
+#define VAR_DEFINE_TAG 424
+#define VAR_LOCAL_ZONE_TAG 425
+#define VAR_ACCESS_CONTROL_TAG 426
+#define VAR_LOCAL_ZONE_OVERRIDE 427
+#define VAR_ACCESS_CONTROL_TAG_ACTION 428
+#define VAR_ACCESS_CONTROL_TAG_DATA 429
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -400,7 +402,7 @@ union YYSTYPE
 
        char*   str;
 
-#line 404 "util/configparser.h" /* yacc.c:1909  */
+#line 406 "util/configparser.h" /* yacc.c:1909  */
 };
 
 typedef union YYSTYPE YYSTYPE;
index 224f98408d289956c8d4b0c333744c56bceb36aa..7240ee4bdd0001ded5cfa11423be569c73c37870 100644 (file)
@@ -69,7 +69,7 @@ extern struct config_parser_state* cfg_parser;
 %token <str> STRING_ARG
 %token VAR_SERVER VAR_VERBOSITY VAR_NUM_THREADS VAR_PORT
 %token VAR_OUTGOING_RANGE VAR_INTERFACE
-%token VAR_DO_IP4 VAR_DO_IP6 VAR_DO_UDP VAR_DO_TCP 
+%token VAR_DO_IP4 VAR_DO_IP6 VAR_PREFER_IP6 VAR_DO_UDP VAR_DO_TCP
 %token VAR_TCP_MSS VAR_OUTGOING_TCP_MSS
 %token VAR_CHROOT VAR_USERNAME VAR_DIRECTORY VAR_LOGFILE VAR_PIDFILE
 %token VAR_MSG_CACHE_SIZE VAR_MSG_CACHE_SLABS VAR_NUM_QUERIES_PER_THREAD
@@ -146,7 +146,8 @@ contents_server: contents_server content_server
        | ;
 content_server: server_num_threads | server_verbosity | server_port |
        server_outgoing_range | server_do_ip4 |
-       server_do_ip6 | server_do_udp | server_do_tcp | 
+       server_do_ip6 | server_prefer_ip6 |
+       server_do_udp | server_do_tcp |
        server_tcp_mss | server_outgoing_tcp_mss |
        server_interface | server_chroot | server_username | 
        server_directory | server_logfile | server_pidfile |
@@ -406,6 +407,15 @@ server_do_tcp: VAR_DO_TCP STRING_ARG
                free($2);
        }
        ;
+server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG
+       {
+               OUTYY(("P(server_prefer_ip6:%s)\n", $2));
+               if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+                       yyerror("expected yes or no.");
+               else cfg_parser->cfg->prefer_ip6 = (strcmp($2, "yes")==0);
+               free($2);
+       }
+       ;
 server_tcp_mss: VAR_TCP_MSS STRING_ARG
        {
                OUTYY(("P(server_tcp_mss:%s)\n", $2));