From 055f5e68a3b200a40a9572edd1c5b28a2ae29a9c Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Wed, 22 Apr 2020 16:29:06 +0200 Subject: [PATCH 1/2] Add infra-keep-probing: yes option. Hosts that are down are probed more frequently. --- doc/example.conf.in | 3 + doc/unbound.conf.5.in | 6 + services/cache/infra.c | 28 +- services/cache/infra.h | 2 + util/config_file.c | 3 + util/config_file.h | 2 + util/configlexer.c | 4279 ++++++++++++++++++++-------------------- util/configlexer.lex | 1 + util/configparser.c | 3023 ++++++++++++++-------------- util/configparser.h | 560 +++--- util/configparser.y | 14 +- 11 files changed, 4001 insertions(+), 3920 deletions(-) diff --git a/doc/example.conf.in b/doc/example.conf.in index a1a687422..2e1db9181 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -188,6 +188,9 @@ server: # minimum wait time for responses, increase if uplink is long. In msec. # infra-cache-min-rtt: 50 + # enable to make server probe down hosts more frequently. + # infra-keep-probing: no + # the number of slabs to use for the Infrastructure cache. # the number of slabs must be a power of 2. # more slabs reduce lock contention, but fragment memory usage. diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 37692db5e..e178238e4 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -376,6 +376,12 @@ Lower limit for dynamic retransmit timeout calculation in infrastructure cache. Default is 50 milliseconds. Increase this value if using forwarders needing more time to do recursive name resolution. .TP +.B infra\-keep\-probing: \fI +If enabled the server keeps probing hosts that are down, in the one probe +at a time regime. Default is no. Hosts that are down, eg. they did +not respond during the one probe at a time period, are marked as down and +it may take \fBinfra\-host\-ttl\fR time to get probed again. +.TP .B define\-tag: \fI<"list of tags"> Define the tags that can be used with local\-zone and access\-control. Enclose the list between quotes ("") and put spaces between tags. diff --git a/services/cache/infra.c b/services/cache/infra.c index c2484a9f1..2d16bcd6e 100644 --- a/services/cache/infra.c +++ b/services/cache/infra.c @@ -244,6 +244,7 @@ infra_create(struct config_file* cfg) return NULL; } infra->host_ttl = cfg->host_ttl; + infra->infra_keep_probing = cfg->infra_keep_probing; infra_dp_ratelimit = cfg->ratelimit; infra->domain_rates = slabhash_create(cfg->ratelimit_slabs, INFRA_HOST_STARTSIZE, cfg->ratelimit_size, @@ -297,6 +298,7 @@ infra_adjust(struct infra_cache* infra, struct config_file* cfg) if(!infra) return infra_create(cfg); infra->host_ttl = cfg->host_ttl; + infra->infra_keep_probing = cfg->infra_keep_probing; infra_dp_ratelimit = cfg->ratelimit; infra_ip_ratelimit = cfg->ip_ratelimit; maxmem = cfg->infra_cache_numhosts * (sizeof(struct infra_key)+ @@ -445,6 +447,7 @@ infra_host(struct infra_cache* infra, struct sockaddr_storage* addr, if(e && ((struct infra_data*)e->data)->ttl < timenow) { /* it expired, try to reuse existing entry */ int old = ((struct infra_data*)e->data)->rtt.rto; + time_t tprobe = ((struct infra_data*)e->data)->probedelay; uint8_t tA = ((struct infra_data*)e->data)->timeout_A; uint8_t tAAAA = ((struct infra_data*)e->data)->timeout_AAAA; uint8_t tother = ((struct infra_data*)e->data)->timeout_other; @@ -460,6 +463,7 @@ infra_host(struct infra_cache* infra, struct sockaddr_storage* addr, if(old >= USEFUL_SERVER_TOP_TIMEOUT) { ((struct infra_data*)e->data)->rtt.rto = USEFUL_SERVER_TOP_TIMEOUT; + ((struct infra_data*)e->data)->probedelay = tprobe; ((struct infra_data*)e->data)->timeout_A = tA; ((struct infra_data*)e->data)->timeout_AAAA = tAAAA; ((struct infra_data*)e->data)->timeout_other = tother; @@ -482,7 +486,8 @@ infra_host(struct infra_cache* infra, struct sockaddr_storage* addr, *edns_vs = data->edns_version; *edns_lame_known = data->edns_lame_known; *to = rtt_timeout(&data->rtt); - if(*to >= PROBE_MAXRTO && rtt_notimeout(&data->rtt)*4 <= *to) { + if(*to >= PROBE_MAXRTO && (infra->infra_keep_probing || + rtt_notimeout(&data->rtt)*4 <= *to)) { /* delay other queries, this is the probe query */ if(!wr) { lock_rw_unlock(&e->lock); @@ -566,18 +571,27 @@ infra_rtt_update(struct infra_cache* infra, struct sockaddr_storage* addr, struct lruhash_entry* e = infra_lookup_nottl(infra, addr, addrlen, nm, nmlen, 1); struct infra_data* data; - int needtoinsert = 0; + int needtoinsert = 0, expired = 0; int rto = 1; + time_t oldprobedelay = 0; if(!e) { if(!(e = new_entry(infra, addr, addrlen, nm, nmlen, timenow))) return 0; needtoinsert = 1; } else if(((struct infra_data*)e->data)->ttl < timenow) { + oldprobedelay = ((struct infra_data*)e->data)->probedelay; data_entry_init(infra, e, timenow); + expired = 1; } /* have an entry, update the rtt */ data = (struct infra_data*)e->data; if(roundtrip == -1) { + if(needtoinsert || expired) { + /* timeout on entry that has expired before the timer + * keep old timeout from the function caller */ + data->rtt.rto = orig_rtt; + data->probedelay = oldprobedelay; + } rtt_lost(&data->rtt, orig_rtt); if(qtype == LDNS_RR_TYPE_A) { if(data->timeout_A < TIMEOUT_COUNT_MAX) @@ -681,7 +695,12 @@ infra_get_lame_rtt(struct infra_cache* infra, return 0; host = (struct infra_data*)e->data; *rtt = rtt_unclamped(&host->rtt); - if(host->rtt.rto >= PROBE_MAXRTO && timenow < host->probedelay + if(host->rtt.rto >= PROBE_MAXRTO && timenow >= host->probedelay + && infra->infra_keep_probing) { + /* single probe, keep probing */ + if(*rtt >= USEFUL_SERVER_TOP_TIMEOUT) + *rtt = USEFUL_SERVER_TOP_TIMEOUT-1000; + } else if(host->rtt.rto >= PROBE_MAXRTO && timenow < host->probedelay && rtt_notimeout(&host->rtt)*4 <= host->rtt.rto) { /* single probe for this domain, and we are not probing */ /* unless the query type allows a probe to happen */ @@ -704,7 +723,8 @@ infra_get_lame_rtt(struct infra_cache* infra, /* see if this can be a re-probe of an unresponsive server */ /* minus 1000 because that is outside of the RTTBAND, so * blacklisted servers stay blacklisted if this is chosen */ - if(host->rtt.rto >= USEFUL_SERVER_TOP_TIMEOUT) { + if(host->rtt.rto >= USEFUL_SERVER_TOP_TIMEOUT || + infra->infra_keep_probing) { lock_rw_unlock(&e->lock); *rtt = USEFUL_SERVER_TOP_TIMEOUT-1000; *lame = 0; diff --git a/services/cache/infra.h b/services/cache/infra.h index e33f2a6c0..14f97c4c6 100644 --- a/services/cache/infra.h +++ b/services/cache/infra.h @@ -114,6 +114,8 @@ struct infra_cache { struct slabhash* hosts; /** TTL value for host information, in seconds */ int host_ttl; + /** the hosts that are down are kept probed for recovery */ + int infra_keep_probing; /** hash table with query rates per name: rate_key, rate_data */ struct slabhash* domain_rates; /** ratelimit settings for domains, struct domain_limit_data */ diff --git a/util/config_file.c b/util/config_file.c index 2a809f875..7ae0f384b 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -162,6 +162,7 @@ config_create(void) cfg->infra_cache_slabs = 4; cfg->infra_cache_numhosts = 10000; cfg->infra_cache_min_rtt = 50; + cfg->infra_keep_probing = 0; cfg->delay_close = 0; if(!(cfg->outgoing_avail_ports = (int*)calloc(65536, sizeof(int)))) goto error_exit; @@ -544,6 +545,7 @@ int config_set_option(struct config_file* cfg, const char* opt, IS_NUMBER_OR_ZERO; cfg->infra_cache_min_rtt = atoi(val); RTT_MIN_TIMEOUT=cfg->infra_cache_min_rtt; } + else S_YNO("infra-keep-probing:", infra_keep_probing) else S_NUMBER_OR_ZERO("infra-host-ttl:", host_ttl) else S_POW2("infra-cache-slabs:", infra_cache_slabs) else S_SIZET_NONZERO("infra-cache-numhosts:", infra_cache_numhosts) @@ -940,6 +942,7 @@ config_get_option(struct config_file* cfg, const char* opt, else O_DEC(opt, "infra-host-ttl", host_ttl) else O_DEC(opt, "infra-cache-slabs", infra_cache_slabs) else O_DEC(opt, "infra-cache-min-rtt", infra_cache_min_rtt) + else O_YNO(opt, "infra-keep-probing", infra_keep_probing) else O_MEM(opt, "infra-cache-numhosts", infra_cache_numhosts) else O_UNS(opt, "delay-close", delay_close) else O_YNO(opt, "do-ip4", do_ip4) diff --git a/util/config_file.h b/util/config_file.h index cc3fe4ae1..f422bf75a 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -166,6 +166,8 @@ struct config_file { size_t infra_cache_numhosts; /** min value for infra cache rtt */ int infra_cache_min_rtt; + /** keep probing hosts that are down */ + int infra_keep_probing; /** delay close of udp-timeouted ports, if 0 no delayclose. in msec */ int delay_close; diff --git a/util/configlexer.c b/util/configlexer.c index 09fd4b003..279dee6d2 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -354,8 +354,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 312 -#define YY_END_OF_BUFFER 313 +#define YY_NUM_RULES 313 +#define YY_END_OF_BUFFER 314 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -363,345 +363,347 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[3071] = +static const flex_int16_t yy_accept[3084] = { 0, - 1, 1, 294, 294, 298, 298, 302, 302, 306, 306, - 1, 1, 313, 310, 1, 292, 292, 311, 2, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 294, 295, 295, 296, 311, 298, 299, 299, - 300, 311, 305, 302, 303, 303, 304, 311, 306, 307, - 307, 308, 311, 309, 293, 2, 297, 311, 309, 310, - 0, 1, 2, 2, 2, 2, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 1, 1, 295, 295, 299, 299, 303, 303, 307, 307, + 1, 1, 314, 311, 1, 293, 293, 312, 2, 312, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 295, 296, 296, 297, 312, 299, 300, 300, + 301, 312, 306, 303, 304, 304, 305, 312, 307, 308, + 308, 309, 312, 310, 294, 2, 298, 312, 310, 311, + 0, 1, 2, 2, 2, 2, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 294, 0, 298, 0, 305, 0, 302, 306, 0, 309, - 0, 2, 2, 309, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 295, 0, 299, 0, 306, 0, 303, 307, 0, 310, + 0, 2, 2, 310, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 309, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 310, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 115, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 123, 310, 310, 310, - 310, 310, 310, 310, 309, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 116, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 124, 311, 311, 311, + 311, 311, 311, 311, 310, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 99, 310, 310, 310, 310, 310, 310, 8, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 116, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 128, 310, 309, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 100, 311, 311, 311, 311, 311, 311, 8, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 117, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 129, 311, 310, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 287, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 288, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 309, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 57, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 225, 310, 14, 15, 310, - 19, 18, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 310, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 57, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 226, 311, 14, 15, 311, + 19, 18, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 122, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 209, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 3, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 123, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 210, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 3, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 309, 310, 310, 310, 310, 310, 310, 310, 281, 310, - 310, 280, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 301, 310, 310, - 310, 310, 310, 310, 310, 56, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 310, 311, 311, 311, 311, 311, 311, 311, 282, + 311, 311, 281, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 302, 311, + 311, 311, 311, 311, 311, 311, 311, 56, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 60, 310, 255, 310, 310, 310, 310, 310, - 310, 310, 310, 288, 289, 310, 310, 310, 310, 310, - 61, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 119, 310, 310, - 310, 310, 310, 310, 310, 310, 198, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 21, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 60, 311, 256, 311, 311, 311, + 311, 311, 311, 311, 311, 289, 290, 311, 311, 311, + 311, 311, 61, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 120, + 311, 311, 311, 311, 311, 311, 311, 311, 199, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 21, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 147, 310, 310, 301, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 97, 310, 310, 310, 310, 310, 310, 310, 263, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 170, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 146, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 148, 311, + 311, 302, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 98, 311, 311, 311, 311, 311, 311, 311, + 264, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 171, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 147, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 96, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 32, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 33, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 58, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 121, 310, 310, 310, 310, 310, 114, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 97, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 32, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 33, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 58, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 122, 311, 311, 311, 311, 311, 115, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 59, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 228, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 171, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 47, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 59, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 229, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 172, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 47, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 246, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 51, 310, 52, 310, 310, 310, 310, - 310, 100, 310, 101, 310, 310, 310, 310, 98, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 7, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 218, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 247, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 51, 311, 52, + 311, 311, 311, 311, 311, 101, 311, 102, 311, 311, + 311, 311, 99, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 7, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 149, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 229, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 48, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 190, 310, 189, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 16, 17, 310, 310, + 219, 311, 311, 311, 311, 150, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 230, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 48, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 191, 311, 190, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 62, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 197, 310, 310, 310, 310, 310, 310, - 103, 310, 102, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 181, 310, 310, 310, 310, 310, - 310, 310, 310, 129, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 81, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 16, 17, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 62, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 198, 311, + 311, 311, 311, 311, 311, 104, 311, 103, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 182, + 311, 311, 311, 311, 311, 311, 311, 311, 130, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 82, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 85, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 55, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 184, 185, 310, - 310, 310, 257, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 6, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 261, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 86, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 55, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 185, 186, 311, 311, 311, 258, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 6, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 310, 310, 310, 310, 282, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 42, 310, 310, 310, 310, - 44, 310, 310, 310, 310, 310, 310, 310, 310, 45, - 310, 310, 310, 310, 310, 310, 310, 310, 177, 310, - 310, 310, 124, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 202, 310, 178, 310, 310, 310, 215, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 46, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 126, + 311, 311, 311, 262, 311, 311, 311, 311, 311, 311, + 283, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 42, 311, 311, 311, 311, 44, 311, 311, 311, + 311, 311, 311, 311, 311, 45, 311, 311, 311, 311, + 311, 311, 311, 311, 178, 311, 311, 311, 125, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 203, + 311, 179, 311, 311, 311, 216, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 46, 311, 311, 311, 311, - 108, 310, 109, 310, 310, 310, 107, 310, 310, 310, - 310, 310, 310, 310, 310, 144, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 245, 310, 310, - 310, 310, 310, 310, 310, 310, 179, 310, 310, 310, - 310, 310, 182, 310, 188, 310, 310, 310, 310, 310, - 214, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 95, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 120, 310, 310, 310, 310, 310, - 310, 53, 310, 310, 310, 26, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 127, 109, 311, 110, 311, + 311, 311, 108, 311, 311, 311, 311, 311, 311, 311, + 311, 145, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 246, 311, 311, 311, 311, 311, + 311, 311, 311, 180, 311, 311, 311, 311, 311, 183, + 311, 189, 311, 311, 311, 311, 311, 215, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 96, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 121, 311, 311, 311, 311, 311, 311, 53, 311, - 310, 310, 310, 310, 310, 20, 310, 310, 310, 310, - 310, 310, 27, 36, 310, 154, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 70, 72, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 265, 310, 310, 310, 226, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 110, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 143, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 26, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 20, 311, 311, 311, 311, 311, 311, 27, + 36, 311, 155, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 70, 72, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 266, 311, 311, + 311, 227, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 111, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 144, 311, 311, 311, 311, 311, 311, - 310, 310, 276, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 148, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 208, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 285, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 165, 310, 310, - 310, 310, 310, 310, 310, 310, 104, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 160, 310, 172, 310, - 310, 310, 310, 310, 132, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 277, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 149, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 209, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 286, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 166, 311, 311, 311, 311, + 311, 311, 311, 311, 105, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 161, 311, 173, 311, 311, 311, - 91, 310, 310, 310, 310, 200, 310, 310, 310, 310, - 310, 310, 216, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 237, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 125, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 164, - 310, 310, 310, 310, 310, 73, 74, 310, 310, 310, - 310, 310, 54, 310, 310, 310, 310, 310, 80, 173, - 310, 191, 310, 219, 310, 310, 183, 258, 310, 310, - 310, 310, 310, 66, 310, 175, 310, 310, 310, 310, - 310, 9, 310, 310, 310, 94, 310, 310, 310, 310, + 311, 311, 133, 311, 311, 311, 311, 311, 92, 311, + 311, 311, 311, 201, 311, 311, 311, 311, 311, 311, + 217, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 238, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 126, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 165, 311, 311, + 311, 311, 311, 73, 311, 74, 311, 311, 311, 311, + 311, 54, 311, 311, 311, 311, 311, 81, 174, 311, + 192, 311, 220, 311, 311, 184, 259, 311, 311, 311, + 311, 311, 66, 311, 176, 311, 311, 311, 311, 311, - 250, 310, 310, 310, 310, 199, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 163, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 150, 310, 264, 310, - 310, 310, 310, 236, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 210, 310, 310, 310, 310, - 256, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 9, 311, 311, 311, 95, 311, 311, 311, 311, 251, + 311, 311, 311, 311, 200, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 164, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 151, 311, 265, 311, 311, + 311, 311, 237, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 211, 311, 311, 311, 311, 257, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 279, 310, 174, 310, 310, - 310, 310, 310, 310, 310, 65, 67, 310, 310, 310, - 310, 310, 310, 310, 93, 310, 310, 310, 310, 248, - 310, 310, 310, 310, 260, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 204, 34, 28, 30, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 35, - 310, 29, 31, 310, 310, 310, 310, 310, 310, 310, - 310, 90, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 206, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 280, 311, 175, 311, 311, + 311, 311, 311, 311, 311, 65, 67, 311, 311, 311, + 311, 311, 311, 311, 94, 311, 311, 311, 311, 249, + 311, 311, 311, 311, 261, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 205, 34, 28, 30, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 35, + 311, 29, 31, 311, 311, 311, 311, 311, 311, 311, + 311, 91, 311, 311, 311, 311, 311, 311, 311, 311, - 203, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 64, 310, - 310, 127, 310, 111, 310, 310, 310, 310, 310, 310, - 310, 310, 145, 13, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 274, 310, 277, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 12, 310, 310, 22, - 310, 310, 310, 254, 310, 310, 310, 310, 262, 310, - 310, 310, 68, 310, 212, 310, 310, 310, 310, 205, - 310, 310, 63, 310, 310, 310, 310, 23, 310, 43, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 207, + 204, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 64, 311, + 311, 128, 311, 112, 311, 311, 311, 311, 311, 311, + 311, 311, 146, 13, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 275, 311, 278, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 12, 311, 311, + 22, 311, 311, 311, 255, 311, 311, 311, 311, 263, + 311, 311, 311, 68, 311, 213, 311, 311, 311, 311, + 206, 311, 311, 63, 311, 311, 311, 311, 23, 311, - 310, 310, 159, 158, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 207, 201, 310, 217, 310, 310, 266, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 75, 310, 310, - 310, 249, 310, 310, 310, 310, 187, 310, 310, 310, - 310, 211, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 283, 284, 156, 310, 310, 69, 310, 310, 310, - 310, 166, 310, 310, 105, 106, 310, 310, 310, 310, - 151, 310, 153, 310, 192, 310, 310, 310, 310, 157, + 43, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 160, 159, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 208, 202, 311, 218, 311, 311, + 267, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 75, 311, + 311, 311, 311, 250, 311, 311, 311, 311, 188, 311, + 311, 311, 311, 212, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 284, 285, 157, 311, 311, 69, 311, + 311, 311, 311, 167, 311, 311, 106, 107, 311, 311, - 310, 310, 220, 310, 310, 310, 310, 310, 310, 310, - 134, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 227, 310, 310, 310, 310, 310, 310, 310, - 24, 310, 259, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 193, 310, 310, 247, 310, 278, - 310, 186, 310, 310, 310, 310, 49, 310, 310, 310, - 310, 4, 310, 310, 310, 310, 118, 133, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 223, 37, 38, 310, - 310, 310, 310, 310, 310, 310, 267, 310, 310, 310, + 311, 311, 152, 311, 154, 311, 193, 311, 311, 311, + 311, 158, 311, 311, 221, 311, 311, 311, 311, 311, + 311, 311, 135, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 228, 311, 311, 311, 311, 311, + 311, 311, 24, 311, 260, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 79, 194, 311, 311, + 248, 311, 279, 311, 187, 311, 311, 311, 311, 49, + 311, 311, 311, 311, 4, 311, 311, 311, 311, 119, + 134, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 224, - 310, 310, 310, 235, 310, 310, 310, 310, 310, 310, - 310, 196, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 78, 310, 50, 253, 310, 224, 310, 310, 310, - 310, 11, 310, 310, 310, 310, 310, 310, 117, 310, - 310, 310, 310, 194, 82, 310, 40, 310, 310, 310, - 310, 310, 310, 310, 310, 162, 310, 310, 310, 310, - 310, 136, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 234, 310, 310, 310, 310, 130, 310, 310, 112, - 113, 310, 310, 310, 84, 88, 83, 310, 76, 310, - 310, 310, 310, 310, 10, 310, 310, 310, 251, 286, + 37, 38, 311, 311, 311, 311, 311, 311, 311, 268, + 311, 311, 311, 311, 311, 311, 236, 311, 311, 311, + 311, 311, 311, 311, 197, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 78, 311, 50, 254, 311, 225, + 311, 311, 311, 311, 11, 311, 311, 311, 311, 311, + 311, 118, 311, 311, 311, 311, 195, 83, 311, 40, + 311, 311, 311, 311, 311, 311, 311, 311, 163, 311, + 311, 311, 311, 311, 137, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 235, 311, 311, 311, 311, 131, + 311, 311, 113, 114, 311, 311, 311, 85, 89, 84, - 310, 310, 310, 310, 291, 39, 310, 310, 310, 310, - 310, 161, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 89, 87, 310, 77, 275, 310, - 310, 310, 310, 310, 310, 310, 180, 310, 310, 310, - 310, 310, 195, 310, 310, 310, 310, 310, 310, 310, - 310, 152, 71, 310, 310, 310, 310, 310, 268, 310, - 310, 310, 310, 310, 310, 310, 231, 310, 310, 230, - 131, 310, 86, 137, 138, 141, 142, 139, 140, 79, - 310, 252, 310, 310, 310, 310, 155, 310, 310, 310, + 311, 76, 311, 311, 311, 311, 311, 10, 311, 311, + 311, 252, 287, 311, 311, 311, 311, 292, 39, 311, + 311, 311, 311, 311, 162, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 90, 88, 311, + 77, 276, 311, 311, 311, 311, 311, 311, 311, 181, + 311, 311, 311, 311, 311, 196, 311, 311, 311, 311, + 311, 311, 311, 311, 153, 71, 311, 311, 311, 311, + 311, 269, 311, 311, 311, 311, 311, 311, 311, 232, + 311, 311, 231, 132, 311, 87, 138, 139, 142, 143, - 310, 310, 222, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 168, 167, 41, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 92, 310, 221, - 310, 244, 272, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 5, 310, 310, 213, 310, - 310, 273, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 232, 25, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 233, 310, 310, 310, 135, + 140, 141, 80, 311, 253, 311, 311, 311, 311, 156, + 311, 311, 311, 311, 311, 223, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 169, 168, 41, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 93, 311, 222, 311, 245, 273, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 5, 311, + 311, 214, 311, 311, 274, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 233, 25, 311, 311, 311, 311, - 310, 310, 310, 310, 310, 310, 310, 310, 169, 310, - 176, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 269, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 290, 310, - 310, 240, 310, 310, 310, 310, 310, 270, 310, 310, - 310, 310, 310, 310, 271, 310, 310, 310, 238, 310, - 241, 242, 310, 310, 310, 310, 310, 239, 243, 0 + 311, 311, 311, 311, 311, 311, 311, 311, 234, 311, + 311, 311, 136, 311, 311, 311, 311, 311, 311, 311, + 311, 170, 311, 177, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 270, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 291, 311, 311, 241, 311, 311, 311, 311, 311, + 271, 311, 311, 311, 311, 311, 311, 272, 311, 311, + 311, 239, 311, 242, 243, 311, 311, 311, 311, 311, + 240, 244, 0 } ; static const YY_CHAR yy_ec[256] = @@ -744,15 +746,15 @@ static const YY_CHAR yy_meta[41] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[3085] = +static const flex_int16_t yy_base[3098] = { 0, 0, 0, 38, 41, 44, 46, 59, 65, 71, 77, - 90, 112, 2197, 2057, 81, 5988, 5988, 5988, 96, 52, + 90, 112, 2237, 1788, 81, 6010, 6010, 6010, 96, 52, 106, 63, 107, 111, 70, 128, 130, 133, 57, 88, 76, 135, 141, 117, 148, 145, 160, 164, 185, 177, - 189, 152, 1959, 5988, 5988, 5988, 107, 1846, 5988, 5988, - 5988, 165, 1569, 1315, 5988, 5988, 5988, 211, 1269, 5988, - 5988, 5988, 180, 948, 5988, 217, 5988, 221, 168, 767, + 189, 152, 1748, 6010, 6010, 6010, 107, 1464, 6010, 6010, + 6010, 165, 1434, 1375, 6010, 6010, 6010, 211, 1257, 6010, + 6010, 6010, 180, 948, 6010, 217, 6010, 221, 168, 767, 225, 231, 0, 237, 0, 0, 226, 231, 85, 180, 114, 238, 239, 156, 234, 206, 240, 232, 200, 132, 253, 244, 245, 248, 256, 257, 264, 271, 249, 277, @@ -781,9 +783,9 @@ static const flex_int16_t yy_base[3085] = 701, 702, 704, 714, 715, 716, 724, 737, 727, 738, 728, 734, 742, 743, 707, 750, 746, 744, 753, 754, - 756, 757, 761, 768, 769, 5988, 760, 773, 771, 774, + 756, 757, 761, 768, 769, 6010, 760, 773, 771, 774, 782, 783, 784, 789, 785, 763, 796, 800, 797, 803, - 825, 791, 801, 804, 814, 795, 5988, 815, 807, 849, + 825, 791, 801, 804, 814, 795, 6010, 815, 807, 849, 817, 827, 839, 831, 835, 823, 830, 850, 843, 853, 840, 854, 855, 873, 857, 858, 870, 860, 871, 872, 885, 881, 883, 884, 886, 894, 889, 891, 892, 901, @@ -793,644 +795,648 @@ static const flex_int16_t yy_base[3085] = 945, 953, 943, 954, 941, 955, 958, 963, 960, 964, 966, 974, 969, 970, 972, 975, 976, 978, 982, 983, 984, 986, 988, 992, 989, 999, 990, 997, 1004, 1006, - 5988, 1007, 1009, 1011, 1012, 1013, 1010, 5988, 1014, 1015, + 6010, 1007, 1009, 1011, 1012, 1013, 1010, 6010, 1014, 1015, 1017, 1026, 1016, 1029, 1036, 1024, 1037, 1039, 1040, 1043, 1050, 1027, 1046, 1057, 1052, 1055, 1056, 1053, 1059, 1062, - 1061, 1064, 1065, 1068, 1070, 1088, 5988, 1071, 1077, 1080, + 1061, 1064, 1065, 1068, 1070, 1088, 6010, 1071, 1077, 1080, 1079, 1085, 1082, 1090, 1097, 1100, 1103, 1106, 1116, 1093, 1117, 1111, 1113, 1072, 1118, 1123, 1125, 1126, 1127, 1128, - 1129, 1130, 1132, 1131, 1137, 1139, 5988, 1144, 1154, 1155, + 1129, 1130, 1132, 1131, 1137, 1139, 6010, 1144, 1154, 1155, 1136, 1146, 1156, 1157, 1159, 1160, 1162, 1163, 1165, 1164, 1169, 1179, 1170, 1183, 1180, 1181, 1185, 1186, 1188, 1187, 1189, 1191, 1203, 1196, 1195, 1211, 1206, 1213, 1215, 1222, 1204, 1217, 1218, 1219, 1221, 1224, 1226, 1228, 1230, 1232, - 1239, 1237, 1234, 1235, 1242, 1250, 1243, 1245, 1253, 1246, - 1254, 1257, 1247, 1266, 1267, 1260, 1258, 5988, 1276, 1268, - 1278, 1279, 1280, 1284, 1286, 1282, 1288, 813, 1289, 1290, - 1292, 1294, 1299, 1296, 1297, 1300, 1304, 1307, 1311, 1318, - 1322, 1323, 1324, 1310, 1325, 1333, 1330, 1337, 1338, 1340, - 1348, 1336, 1343, 1346, 1350, 1334, 1352, 1354, 1355, 1357, + 1239, 1237, 1234, 1235, 1242, 1250, 1243, 1245, 1253, 1254, + 1246, 1255, 1258, 1263, 1266, 1267, 1260, 6010, 1276, 1269, + 1277, 1279, 1282, 1285, 1284, 1286, 1290, 813, 1291, 1292, + 1293, 1295, 1298, 1296, 1300, 1301, 1299, 1309, 1306, 1314, + 1321, 1320, 1322, 1324, 1325, 1332, 1328, 1335, 1331, 1336, + 1344, 1337, 1340, 1346, 1354, 1330, 1347, 1352, 1355, 1358, - 1360, 1368, 1369, 1362, 1372, 1379, 1380, 1364, 1382, 1376, - 1383, 1314, 1370, 1387, 1390, 1391, 1398, 1393, 1394, 1399, - 1400, 1401, 1402, 1396, 1407, 1410, 1406, 1412, 1413, 1416, - 1423, 1418, 1417, 1425, 1426, 1428, 1429, 1437, 1430, 1438, - 1439, 1441, 1440, 1448, 1446, 1449, 1450, 1457, 1455, 1459, - 1456, 1465, 1467, 1469, 1471, 1472, 1473, 1475, 1474, 1478, - 1484, 1477, 1483, 1489, 1493, 1490, 1495, 1496, 1499, 1500, - 5988, 1501, 1508, 1503, 1506, 1512, 1513, 1514, 1521, 1517, - 1519, 1516, 1518, 1522, 1544, 5988, 1530, 5988, 5988, 1529, - 5988, 5988, 1527, 1531, 1535, 1548, 1539, 1554, 1547, 1541, + 1360, 1361, 1368, 1369, 1371, 1378, 1373, 1345, 1380, 1383, + 1384, 1385, 1387, 1388, 1389, 1390, 1397, 1392, 1395, 1394, + 1398, 1393, 1399, 1400, 1401, 1420, 1407, 1415, 1417, 1419, + 1422, 1423, 1424, 1425, 1428, 1429, 1430, 1431, 1432, 1449, + 1437, 1439, 1444, 1452, 1451, 1442, 1455, 1459, 1460, 1462, + 1470, 1471, 1454, 1473, 1474, 1463, 1478, 1479, 1481, 1482, + 1484, 1489, 1490, 1492, 1494, 1493, 1496, 1497, 1501, 1502, + 6010, 1504, 1515, 1505, 1512, 1510, 1513, 1517, 1524, 1519, + 1521, 1526, 1520, 1529, 1550, 6010, 1531, 6010, 6010, 1530, + 6010, 6010, 1532, 1533, 1536, 1553, 1542, 1560, 1537, 1540, - 1557, 1550, 1567, 1572, 1528, 1560, 1562, 1568, 1575, 1583, - 1585, 1586, 1588, 1594, 1596, 1597, 1599, 1606, 1607, 1565, - 1589, 1598, 1610, 1612, 1611, 1613, 1617, 1615, 1620, 1616, - 1623, 1618, 1628, 1633, 1625, 1642, 5988, 1639, 1643, 1651, - 1647, 1654, 1646, 1650, 1653, 1627, 1658, 1655, 1659, 1660, - 1662, 1664, 1667, 1670, 1668, 1678, 1671, 5988, 1673, 1675, - 1674, 1680, 1686, 1688, 1687, 1689, 1681, 1693, 1694, 1705, - 1696, 1700, 1701, 1708, 1709, 1710, 5988, 1712, 1719, 1711, - 1722, 1716, 1723, 1724, 1725, 1726, 1729, 1728, 1730, 1731, - 1735, 1742, 1739, 1740, 1741, 1745, 1750, 1753, 1757, 1764, + 1551, 1534, 1573, 1574, 1563, 1556, 1564, 1566, 1580, 1585, + 1587, 1588, 1590, 1595, 1596, 1598, 1599, 1601, 1608, 1609, + 1604, 1610, 1613, 1612, 1614, 1571, 1618, 1615, 1620, 1621, + 1623, 1624, 1625, 1637, 1635, 1627, 1644, 6010, 1645, 1648, + 1652, 1649, 1657, 1653, 1655, 1658, 1660, 1663, 1664, 1665, + 1668, 1667, 1669, 1671, 1675, 1677, 1682, 1678, 6010, 1680, + 1681, 1679, 1686, 1687, 1692, 1693, 1694, 1699, 1700, 1701, + 1711, 1706, 1702, 1704, 1712, 1713, 1715, 6010, 1720, 1728, + 1719, 1725, 1729, 1716, 1731, 1732, 1733, 1734, 1735, 1738, + 1739, 1741, 1752, 1747, 1749, 1744, 1745, 1762, 1755, 1765, - 1755, 1761, 1758, 1765, 1766, 1768, 1769, 1771, 1780, 1782, - 1779, 1783, 1772, 1787, 1795, 1794, 1784, 1785, 1796, 1799, - 1806, 1808, 1809, 1800, 1804, 1816, 1811, 1814, 1815, 1819, - 1822, 1823, 1825, 1826, 1828, 1832, 1830, 1834, 5988, 1836, - 1837, 5988, 1839, 1840, 1862, 1841, 1843, 1848, 1845, 1849, - 1854, 1855, 1866, 1864, 1868, 1885, 1872, 1877, 1875, 1887, - 1876, 1889, 1891, 1895, 1896, 1897, 1904, 1906, 1857, 1912, - 1914, 1899, 1901, 1909, 1928, 1911, 1913, 1917, 1925, 1932, - 1919, 1922, 1926, 1938, 1939, 1944, 1941, 5988, 1952, 1950, - 1949, 1951, 1961, 1960, 1956, 5988, 1962, 1963, 1966, 1973, + 1767, 1764, 1771, 1772, 1773, 1774, 1775, 1776, 1778, 1783, + 1785, 1782, 1793, 1786, 1805, 1807, 1800, 1789, 1790, 1809, + 1791, 1815, 1817, 1818, 1813, 1819, 1826, 1803, 1825, 1822, + 1828, 1830, 1827, 1834, 1835, 1837, 1841, 1839, 1843, 6010, + 1845, 1846, 6010, 1847, 1849, 1871, 1850, 1848, 1853, 1855, + 1856, 1873, 1857, 1864, 1858, 1865, 1889, 1884, 1886, 1885, + 1891, 1893, 1894, 1895, 1897, 1901, 1904, 1913, 1914, 1912, + 1921, 1923, 1903, 1919, 1922, 1941, 1920, 1924, 1930, 1927, + 1933, 1926, 1928, 1937, 1935, 1943, 1946, 1948, 6010, 1956, + 1963, 1953, 1959, 1957, 1971, 1968, 1958, 6010, 1866, 1969, - 1969, 1970, 1974, 1915, 1976, 1977, 1980, 1984, 1985, 1981, - 1983, 2001, 5988, 1986, 5988, 1991, 1988, 1996, 1998, 1999, - 2003, 2004, 2006, 5988, 5988, 2014, 2007, 2020, 2028, 2010, - 5988, 2013, 2031, 2032, 2024, 2026, 2034, 2035, 2037, 2039, - 2038, 2047, 2042, 2049, 2044, 2045, 2046, 5988, 2058, 2048, - 2063, 2065, 2056, 2066, 2073, 2064, 5988, 2074, 2067, 2075, - 2085, 2087, 2082, 2077, 2089, 2093, 2084, 2088, 2090, 2096, - 2098, 2103, 2106, 2104, 2108, 2112, 2120, 5988, 2101, 2105, - 2121, 2118, 2127, 2122, 2124, 2116, 2128, 2129, 2135, 2130, - 2136, 2137, 2139, 2146, 2148, 2144, 2145, 2152, 2143, 2153, + 1974, 1981, 1976, 1979, 1982, 1980, 1983, 1984, 1989, 1986, + 1993, 1988, 1991, 2005, 6010, 1996, 6010, 1992, 2003, 2007, + 2010, 2009, 2013, 2011, 2014, 6010, 6010, 2015, 2021, 2017, + 2031, 2022, 6010, 2029, 2038, 2039, 2033, 2034, 2041, 2042, + 2044, 2046, 2049, 2053, 2050, 2057, 2052, 2055, 2054, 6010, + 2063, 2056, 2069, 2071, 2065, 2073, 2075, 2072, 6010, 2079, + 2082, 2083, 2092, 2088, 2090, 2091, 2093, 2094, 2097, 2100, + 2101, 2102, 2103, 2110, 2112, 2108, 2117, 2118, 2120, 6010, + 2107, 2111, 2130, 2127, 2129, 2126, 2133, 2134, 2136, 2137, + 2138, 1628, 2139, 2144, 2143, 2151, 2153, 2146, 2149, 2159, - 2156, 2161, 2155, 2160, 2163, 2164, 5988, 2165, 2171, 124, - 2166, 2172, 2174, 2176, 2179, 2178, 2175, 2191, 2196, 2192, - 2198, 2194, 2193, 2201, 2203, 2202, 2204, 2205, 2206, 2209, - 5988, 2211, 2213, 2214, 2216, 2218, 2219, 2229, 5988, 2225, - 2230, 2237, 2233, 2238, 2241, 2242, 2246, 2247, 2249, 2250, - 2253, 2251, 2255, 5988, 2260, 2263, 2265, 2257, 2266, 2272, - 2273, 2275, 2278, 2267, 2279, 2280, 2281, 2284, 2283, 2285, - 2287, 2292, 2289, 2294, 2297, 2299, 5988, 2307, 2309, 2303, - 2300, 2310, 2312, 2319, 2316, 2322, 2321, 2325, 2337, 2327, - 2329, 2339, 2330, 2343, 2332, 2353, 2344, 2352, 2354, 2351, + 2148, 2150, 2160, 2169, 2163, 2166, 2168, 2170, 6010, 2171, + 2174, 124, 2177, 2178, 2176, 2179, 2180, 2183, 2185, 2192, + 2200, 2196, 2197, 2198, 2202, 2204, 2206, 2207, 2208, 2210, + 2209, 2212, 6010, 2214, 2215, 2219, 2220, 2226, 2221, 2228, + 6010, 2238, 2225, 2246, 2236, 2234, 2249, 2240, 2250, 2251, + 2253, 2254, 2256, 2255, 2257, 6010, 2263, 2264, 2265, 2267, + 2272, 2271, 2274, 2278, 2279, 2280, 2284, 2282, 2281, 2286, + 2285, 2289, 2290, 2295, 2291, 2292, 2300, 2302, 6010, 2309, + 2305, 2307, 2313, 2314, 2316, 2317, 2324, 2322, 2325, 2327, + 2331, 2342, 2335, 2328, 2344, 2345, 2349, 2334, 2358, 2357, - 2358, 2361, 2362, 2363, 2365, 2367, 2368, 2369, 2370, 2377, - 2384, 2375, 2385, 2386, 2390, 2396, 2392, 5988, 2397, 2398, - 2399, 2405, 2416, 2409, 2407, 2419, 2408, 2411, 2412, 2421, - 2423, 2432, 2427, 2425, 2430, 2434, 2435, 2436, 2438, 2441, - 2442, 2451, 2443, 2453, 2220, 5988, 2376, 2454, 2446, 2448, - 2461, 2455, 2463, 2467, 2464, 2470, 2471, 2473, 2474, 2476, - 2477, 2478, 2480, 2482, 2481, 5988, 2485, 2486, 2490, 2493, - 2498, 2496, 2500, 2506, 2508, 2510, 2502, 2512, 2514, 2513, - 5988, 2522, 2523, 2519, 2531, 2527, 2528, 2529, 2533, 2530, - 5988, 2534, 2535, 2543, 2544, 2539, 5988, 2548, 2541, 2546, + 2359, 2366, 2353, 2368, 2370, 2336, 2360, 2363, 2371, 2376, + 2379, 2377, 2386, 2388, 2384, 2383, 2385, 2396, 2409, 2400, + 6010, 2398, 2404, 2390, 2412, 2416, 2413, 2392, 2418, 2417, + 2420, 2424, 2425, 2426, 2433, 2434, 2428, 2432, 2437, 2438, + 2430, 2441, 2445, 2448, 2450, 2447, 2455, 2456, 6010, 2457, + 2461, 2463, 2464, 2468, 2451, 2475, 2476, 2478, 2465, 2469, + 2480, 2472, 2481, 2485, 2488, 2487, 2489, 2494, 6010, 2495, + 2499, 2497, 2501, 2503, 2509, 2506, 2513, 2519, 2516, 2504, + 2523, 2500, 2524, 6010, 2531, 2532, 2528, 2536, 2534, 2527, + 2538, 2540, 2535, 6010, 2541, 2542, 2550, 2551, 2547, 6010, - 2551, 2553, 2552, 2556, 2549, 2559, 2560, 2568, 2565, 2562, - 2571, 5988, 2572, 2580, 2575, 2577, 2581, 2582, 2583, 2587, - 2592, 2588, 2594, 5988, 2601, 2599, 2604, 2612, 2607, 2609, - 2610, 2613, 2614, 2616, 2617, 5988, 2619, 2620, 2622, 2623, - 2625, 2627, 2630, 2642, 2631, 2634, 2641, 2639, 2644, 2646, - 2647, 2650, 2651, 2648, 2658, 2660, 2662, 2663, 2664, 2668, - 2676, 2678, 2674, 2679, 5988, 2682, 2683, 2684, 2671, 2686, - 2688, 2690, 2691, 2694, 2696, 2701, 2695, 2698, 2708, 2711, - 2699, 2712, 2715, 2716, 2718, 2720, 2721, 2722, 2723, 2730, - 2726, 2728, 2738, 2729, 2733, 2743, 2736, 2744, 2745, 2746, + 2554, 2552, 2556, 2557, 2559, 2560, 2562, 2564, 2558, 2567, + 2570, 2580, 2568, 2577, 6010, 2571, 2587, 2574, 2588, 2593, + 2589, 2594, 2595, 2599, 2596, 2600, 6010, 2608, 2611, 2605, + 2618, 2606, 2619, 2620, 2621, 2622, 2623, 2624, 6010, 2627, + 2629, 2630, 2631, 2633, 2634, 2635, 2642, 2639, 2643, 2646, + 2649, 2650, 2653, 2656, 2659, 2658, 2655, 2667, 2668, 2670, + 2671, 2657, 2674, 2681, 2686, 2688, 2683, 2689, 6010, 2692, + 2693, 2687, 2694, 2695, 2698, 2699, 2700, 2702, 2703, 2705, + 2704, 2707, 2720, 2729, 2715, 2716, 2708, 2721, 2724, 2725, + 2731, 2732, 2736, 2743, 2734, 2738, 2747, 2742, 2745, 2755, - 2747, 2749, 2751, 2752, 2756, 2750, 2758, 2768, 2769, 2771, - 2760, 2772, 2776, 2777, 5988, 2780, 2782, 2778, 2784, 2785, - 2791, 2792, 2794, 2795, 2786, 2800, 2802, 2803, 2808, 2809, - 2811, 2818, 2814, 5988, 2815, 5988, 2816, 2817, 2819, 2829, - 2821, 5988, 2825, 5988, 2832, 2839, 2826, 2830, 5988, 2840, - 2834, 2836, 2847, 2844, 2849, 2850, 2851, 2852, 2857, 2853, - 2855, 2860, 2861, 2863, 2865, 2867, 2871, 2868, 2878, 2880, - 2872, 2881, 2874, 2887, 2889, 2888, 2890, 5988, 2900, 2891, - 2894, 2897, 2901, 2902, 2903, 2905, 2906, 2911, 2912, 2913, - 2914, 2920, 2919, 2929, 2925, 2936, 5988, 2928, 2933, 2935, + 2744, 2746, 2748, 2753, 2756, 2757, 2758, 2759, 2766, 2762, + 2776, 2780, 2777, 2781, 2771, 2783, 2786, 2787, 6010, 2790, + 2791, 2788, 2794, 2795, 2798, 2800, 2807, 2802, 2809, 2810, + 2812, 2819, 2804, 2813, 2818, 2826, 2828, 6010, 2821, 6010, + 2825, 2829, 2832, 2836, 2835, 6010, 2841, 6010, 2842, 2844, + 2837, 2847, 6010, 2848, 2849, 2850, 2856, 2852, 2854, 2858, + 2860, 2862, 2870, 2864, 2861, 2866, 2868, 2882, 2872, 2874, + 2880, 2884, 2888, 2890, 2878, 2895, 2889, 2891, 2897, 2900, + 2903, 6010, 2905, 2906, 2907, 2909, 2912, 2910, 2913, 2915, + 2916, 2917, 2918, 2925, 2922, 2931, 2934, 2938, 2923, 2946, - 2937, 5988, 2939, 2938, 2940, 2946, 2949, 2948, 2950, 2952, - 2956, 2958, 2951, 2961, 2959, 2968, 2969, 5988, 2974, 2975, - 2960, 2978, 2982, 2984, 2986, 2990, 2998, 2994, 2993, 2977, - 2996, 2997, 3000, 3007, 3008, 3004, 3011, 3010, 3013, 3020, - 3016, 3012, 3014, 3022, 3023, 3024, 3027, 3028, 3031, 3026, - 3029, 3036, 3032, 5988, 3044, 3035, 3040, 3047, 3051, 3054, - 3052, 3056, 3058, 3057, 3062, 3061, 3059, 5988, 3063, 5988, - 3060, 3077, 3065, 3082, 3079, 3071, 3084, 3093, 3086, 3088, - 3090, 3096, 3094, 3098, 3097, 3100, 3103, 3102, 3110, 3109, - 3105, 3116, 3117, 3118, 3120, 3121, 5988, 5988, 3122, 3123, + 6010, 2941, 2945, 2947, 2948, 6010, 2951, 2949, 2952, 2957, + 2950, 2959, 2960, 2962, 2967, 2969, 2963, 2976, 2978, 2980, + 2971, 6010, 2961, 2984, 2986, 2988, 2993, 2992, 2995, 2998, + 3006, 3002, 3001, 3003, 3004, 3005, 3009, 3016, 3019, 3015, + 3024, 3008, 3017, 3027, 3028, 3029, 3030, 3032, 3034, 3035, + 3039, 3040, 3042, 3037, 3038, 3041, 3044, 3043, 6010, 3046, + 3055, 3060, 3062, 3056, 3059, 3066, 3067, 3068, 3069, 3072, + 3074, 3076, 6010, 3078, 6010, 3070, 3088, 3081, 3097, 3082, + 3087, 3099, 3101, 3103, 3089, 3104, 3106, 3107, 3112, 3110, + 3113, 3115, 3114, 3131, 3118, 3120, 3121, 3129, 3122, 3130, - 3126, 3124, 3128, 3134, 3130, 3142, 3138, 3144, 3146, 3148, - 3156, 5988, 3149, 3153, 3152, 3159, 3171, 3157, 3161, 3176, - 3172, 3179, 3178, 5988, 3169, 3180, 3187, 3182, 3183, 3191, - 5988, 3188, 5988, 3190, 3193, 3197, 3198, 3200, 3201, 3202, - 3203, 3211, 3221, 3224, 3206, 3223, 3208, 3220, 3225, 3226, - 3233, 3229, 3230, 3231, 5988, 3235, 3236, 3237, 3199, 3240, - 3242, 3243, 3248, 5988, 3250, 3254, 3255, 3257, 3258, 3260, - 3261, 3263, 3264, 3266, 3262, 3267, 3279, 3268, 3272, 3282, - 3284, 3286, 3292, 5988, 3293, 3285, 3301, 3297, 3299, 3300, - 3303, 3304, 3305, 3307, 3308, 3309, 3310, 3316, 3315, 3312, + 3133, 6010, 6010, 3135, 3137, 3138, 3141, 3142, 3143, 3149, + 3144, 3154, 3152, 3158, 3162, 3167, 6010, 3163, 3168, 3165, + 3169, 3178, 3171, 3176, 3188, 3181, 3190, 3185, 6010, 3173, + 3192, 3200, 3195, 3196, 3203, 6010, 3201, 6010, 3198, 3202, + 3204, 3207, 3210, 3211, 3213, 3214, 3219, 3226, 3231, 3222, + 3230, 3232, 3215, 3234, 3236, 3243, 3238, 3239, 3241, 6010, + 3245, 3242, 3246, 3251, 3258, 3261, 3248, 3247, 6010, 3254, + 3265, 3267, 3268, 3271, 3273, 3274, 3275, 3277, 3279, 3276, + 3278, 3287, 3284, 3283, 3293, 3303, 3294, 3305, 6010, 3306, + 3300, 3313, 3315, 3308, 3310, 3316, 3317, 3318, 3321, 3323, - 3313, 3318, 3329, 3331, 3332, 3321, 3339, 3323, 3337, 3342, - 3340, 3343, 3348, 3349, 3352, 3354, 3346, 3368, 3369, 3355, - 3357, 3372, 3359, 3379, 3374, 5988, 3381, 3365, 3386, 3382, - 3384, 3389, 3390, 3398, 3396, 3385, 3393, 3400, 3397, 5988, - 3412, 3402, 3399, 3403, 3404, 3424, 3420, 3421, 3422, 3426, - 3423, 3427, 3430, 3431, 3432, 3435, 3436, 5988, 5988, 3438, - 3439, 3442, 5988, 3445, 3440, 3452, 3448, 3444, 3455, 3459, - 3458, 3457, 3462, 3460, 3468, 5988, 3469, 3477, 3472, 3473, - 3481, 3482, 3479, 3485, 3487, 3488, 3491, 3489, 3494, 3493, - 3495, 3498, 3506, 3509, 3502, 3504, 3512, 5988, 3505, 3507, + 3322, 3324, 3326, 3328, 3325, 3335, 3329, 3342, 3331, 3345, + 3351, 3352, 3332, 3348, 3355, 3356, 3359, 3358, 3362, 3365, + 3369, 3366, 3378, 3379, 3370, 3373, 3382, 3383, 3390, 3385, + 6010, 3395, 3375, 3398, 3396, 3397, 3402, 3403, 3405, 3406, + 3407, 3408, 3409, 3416, 3411, 6010, 3423, 3414, 3413, 3424, + 3430, 3438, 3433, 3434, 3436, 3440, 3437, 3443, 3441, 3446, + 3447, 3450, 3451, 6010, 6010, 3453, 3455, 3456, 6010, 3458, + 3460, 3470, 3473, 3462, 3459, 3285, 3466, 3469, 3476, 3478, + 3482, 6010, 3479, 3491, 3486, 3487, 3496, 3499, 3489, 3492, + 3500, 3501, 3503, 3502, 3505, 3507, 3510, 3511, 3519, 3523, - 3513, 3515, 3517, 3520, 5988, 3523, 3524, 3527, 3530, 3538, - 3540, 3534, 3547, 3531, 3541, 3543, 3548, 3549, 3551, 3560, - 3557, 3556, 3559, 3563, 3566, 5988, 3565, 3567, 3568, 3576, - 5988, 3580, 3587, 3590, 3591, 3573, 3577, 3589, 3598, 5988, - 3593, 3596, 3594, 3595, 3603, 3602, 3610, 3607, 5988, 3609, - 3608, 3611, 5988, 3612, 3613, 3618, 3623, 3625, 3632, 3628, - 3630, 3631, 3629, 5988, 3636, 5988, 3639, 3640, 3643, 5988, - 3646, 3647, 3648, 3650, 3651, 3656, 3657, 3655, 3663, 3664, - 3666, 3667, 3665, 3670, 3674, 3671, 3672, 3676, 3677, 5988, - 3678, 3680, 3687, 3692, 3688, 3695, 3682, 3699, 3700, 5988, + 3515, 3516, 3520, 6010, 3518, 3526, 3527, 3529, 3530, 3537, + 6010, 3534, 3539, 3541, 3533, 3545, 3546, 3551, 3555, 3556, + 3557, 3559, 3558, 3560, 3561, 3570, 3568, 3569, 3566, 3572, + 3575, 6010, 3576, 3582, 3584, 3587, 6010, 3589, 3596, 3597, + 3600, 3592, 3601, 3599, 3608, 6010, 3603, 3605, 3607, 3610, + 3620, 3612, 3622, 3613, 6010, 3617, 3621, 3623, 6010, 3624, + 3630, 3633, 3637, 3626, 3644, 3639, 3642, 3643, 3641, 6010, + 3648, 6010, 3651, 3652, 3655, 6010, 3657, 3658, 3660, 3662, + 3659, 3666, 3667, 3674, 3663, 3675, 3676, 3677, 3678, 3680, + 3687, 3679, 3686, 3688, 3689, 6010, 3690, 3692, 3698, 3699, - 5988, 3702, 5988, 3705, 3706, 3709, 5988, 3711, 3710, 3718, - 3714, 3715, 3717, 3721, 3727, 5988, 3723, 3728, 3732, 3729, - 3734, 3737, 3739, 3740, 3736, 3741, 3744, 5988, 3745, 3742, - 3747, 3743, 3753, 3757, 3759, 3758, 5988, 3766, 3767, 3768, - 3770, 3772, 5988, 3774, 5988, 3776, 3780, 3781, 3782, 3777, - 5988, 3785, 3788, 3791, 3792, 3795, 3797, 3798, 3801, 3804, - 3805, 3813, 3809, 3808, 3811, 5988, 3810, 3812, 3816, 3823, - 3817, 3820, 3833, 3830, 3834, 3828, 3831, 3838, 3841, 3842, - 3844, 3848, 3849, 3850, 5988, 3851, 3856, 3852, 3865, 3861, - 3855, 5988, 3862, 3866, 3872, 5988, 3869, 3875, 3876, 3879, + 3704, 3693, 3701, 3709, 3708, 6010, 6010, 3712, 6010, 3715, + 3716, 3717, 6010, 3719, 3723, 3726, 3724, 3727, 3729, 3736, + 3730, 6010, 3739, 3725, 3742, 3740, 3744, 3747, 3748, 3751, + 3750, 3752, 3753, 3755, 6010, 3756, 3757, 3764, 3754, 3767, + 3770, 3775, 3771, 6010, 3777, 3779, 3783, 3784, 3785, 6010, + 3786, 6010, 3788, 3790, 3793, 3794, 3797, 6010, 3798, 3803, + 3808, 3802, 3804, 3810, 3813, 3814, 3811, 3815, 3826, 3822, + 3821, 3823, 6010, 3824, 3825, 3833, 3836, 3830, 3838, 3846, + 3842, 3848, 3841, 3844, 3854, 3849, 3855, 3862, 3857, 3864, + 3865, 6010, 3867, 3868, 3851, 3881, 3873, 3874, 6010, 3877, - 3880, 3881, 3884, 3883, 3886, 5988, 3890, 3891, 3887, 3888, - 3889, 3896, 5988, 5988, 3904, 5988, 3906, 3892, 3909, 3908, - 3911, 3913, 3917, 3918, 3920, 3914, 3921, 3929, 3928, 3938, - 3945, 3946, 3944, 3935, 3930, 5988, 5988, 3949, 3951, 3953, - 3955, 3956, 3958, 3942, 3965, 3963, 3971, 3974, 3964, 3967, - 5988, 3975, 3976, 3978, 5988, 3980, 3981, 3983, 3984, 3985, - 3989, 3987, 3988, 3992, 3991, 3994, 3998, 3995, 4004, 4000, - 4011, 4001, 4012, 4014, 4015, 4019, 5988, 4016, 4021, 4022, - 4025, 4028, 4030, 4029, 4031, 4032, 5988, 4036, 4035, 4039, - 4044, 4045, 4047, 4037, 4055, 4062, 4056, 4063, 4064, 4058, + 3885, 3887, 6010, 3871, 3878, 3888, 3894, 3891, 3895, 3896, + 3900, 3901, 6010, 3899, 3903, 3902, 3905, 3918, 3908, 6010, + 6010, 3919, 6010, 3920, 3904, 3906, 3924, 3907, 3928, 3930, + 3931, 3934, 3935, 3939, 3936, 3944, 3951, 3952, 3953, 3955, + 3948, 3949, 6010, 6010, 3960, 3961, 3963, 3965, 3966, 3968, + 3970, 3977, 3973, 3974, 3982, 3979, 3989, 6010, 3986, 3985, + 3991, 6010, 3992, 3993, 3996, 3994, 3997, 4000, 3999, 4001, + 4003, 4004, 4007, 4010, 4012, 4011, 4013, 4020, 4022, 4023, + 4024, 4025, 4030, 6010, 4034, 4031, 4033, 4035, 4036, 4038, + 4040, 4044, 4045, 6010, 4047, 4049, 4051, 4046, 4053, 4055, - 4069, 4072, 5988, 4073, 4046, 4074, 4075, 4080, 4082, 4083, - 4085, 4086, 4089, 4090, 4091, 4093, 4098, 4095, 4099, 4100, - 4101, 5988, 4106, 4113, 4103, 4116, 4107, 4117, 4118, 4126, - 4129, 4119, 4124, 4130, 4132, 5988, 4133, 4134, 4135, 4136, - 4144, 4137, 4141, 4145, 4147, 5988, 4152, 4148, 4154, 4155, - 4158, 4159, 4163, 4164, 4166, 4170, 4178, 5988, 4167, 4180, - 4182, 4174, 4171, 4173, 4183, 4186, 5988, 4190, 4192, 4191, - 4207, 4193, 4208, 4200, 4204, 4203, 4210, 4213, 4211, 4215, - 4217, 4218, 4219, 4231, 4235, 4230, 5988, 4221, 5988, 4236, - 4237, 4246, 4242, 4232, 5988, 4239, 4244, 4248, 4249, 4250, + 4063, 4070, 4071, 4075, 4065, 4072, 4076, 4078, 4082, 4079, + 6010, 4083, 4086, 4089, 4091, 4093, 4095, 4096, 4098, 4099, + 4101, 4104, 4102, 4111, 4113, 4108, 4105, 4116, 4118, 6010, + 4120, 4124, 4121, 4127, 4128, 4129, 4131, 4132, 4139, 4136, + 4141, 4142, 4144, 6010, 4145, 4147, 4149, 4150, 4152, 4153, + 4157, 4158, 4159, 6010, 4167, 4160, 4168, 4163, 4169, 4171, + 4176, 4178, 4181, 4182, 4183, 6010, 4185, 4188, 4191, 4192, + 4194, 4195, 4199, 4198, 6010, 4200, 4206, 4208, 4215, 4210, + 4218, 4214, 4220, 4213, 4221, 4226, 4227, 4228, 4230, 4232, + 4233, 4246, 4248, 4245, 6010, 4235, 6010, 4243, 4250, 4259, - 5988, 4253, 4256, 4258, 4257, 5988, 4263, 4262, 4261, 4268, - 4271, 4274, 5988, 4277, 4279, 4278, 4290, 4291, 4287, 4288, - 4292, 4289, 4294, 4295, 4296, 4304, 4299, 4300, 5988, 4303, - 4306, 4311, 4312, 4315, 4316, 4318, 4320, 4321, 5988, 4323, - 4325, 4326, 4327, 4329, 4330, 4332, 4344, 4342, 4331, 5988, - 4335, 4347, 4359, 4354, 4355, 5988, 5988, 4356, 4339, 4358, - 4343, 4363, 5988, 4367, 4366, 4365, 4373, 4374, 5988, 5988, - 4376, 5988, 4368, 5988, 4378, 4379, 5988, 5988, 4380, 4381, - 4382, 4384, 4391, 5988, 4394, 5988, 4402, 4397, 4388, 4399, - 4400, 5988, 4401, 4403, 4409, 5988, 4410, 4412, 4411, 4413, + 4256, 4244, 6010, 4254, 4258, 4261, 4262, 4263, 6010, 4267, + 4268, 4271, 4269, 6010, 4273, 4275, 4278, 4282, 4288, 4289, + 6010, 4292, 4293, 4295, 4303, 4305, 4302, 4304, 4306, 4308, + 4309, 4310, 4311, 4319, 4314, 4316, 6010, 4322, 4324, 4331, + 4332, 4325, 4315, 4336, 4339, 4333, 6010, 4342, 4341, 4343, + 4344, 4345, 4348, 4350, 4357, 4353, 4352, 6010, 4356, 4360, + 4373, 4354, 4283, 6010, 4366, 6010, 4364, 4376, 4371, 4369, + 4379, 6010, 4381, 4388, 4384, 4387, 4383, 6010, 6010, 4390, + 6010, 4391, 6010, 4393, 4394, 6010, 6010, 4397, 4398, 4399, + 4400, 4412, 6010, 4414, 6010, 4421, 4416, 4403, 4401, 4420, - 5988, 4417, 4422, 4414, 4418, 5988, 4423, 4427, 4430, 4431, - 4432, 4434, 4438, 4437, 4442, 4443, 4445, 4444, 4447, 4454, - 4458, 4460, 4462, 4463, 4448, 4465, 4467, 4471, 4469, 4473, - 4474, 4476, 4478, 4479, 4483, 4487, 4480, 4484, 4488, 4489, - 4490, 4497, 4493, 4499, 4504, 4500, 4505, 4506, 4507, 4508, - 4511, 4514, 4512, 4518, 4522, 5988, 4516, 4517, 4523, 4524, - 4528, 4530, 4536, 4544, 4548, 4549, 5988, 4551, 5988, 4553, - 4538, 4529, 4545, 5988, 4555, 4558, 4557, 4560, 4559, 4561, - 4563, 4562, 4566, 4567, 4569, 5988, 4572, 4573, 4574, 4578, - 5988, 4587, 4589, 4586, 4590, 4591, 4592, 4593, 4594, 4597, + 6010, 4408, 4406, 4429, 6010, 4422, 4432, 4430, 4434, 6010, + 4436, 4437, 4433, 4438, 6010, 4441, 4444, 4445, 4439, 4446, + 4453, 4459, 4451, 4454, 4460, 4462, 4463, 4464, 4471, 4474, + 4476, 4478, 4479, 4466, 4480, 4481, 4486, 4488, 4489, 4490, + 4492, 4494, 4495, 4497, 4499, 4502, 4503, 4504, 4505, 4506, + 4507, 4509, 4516, 4519, 4521, 4520, 4522, 4524, 4523, 4525, + 4527, 4531, 4533, 4534, 6010, 4532, 4535, 4538, 4541, 4545, + 4551, 4553, 4555, 4563, 4564, 6010, 4566, 6010, 4568, 4552, + 4560, 4572, 6010, 4573, 4574, 4575, 4576, 4577, 4578, 4579, + 4580, 4583, 4584, 4587, 6010, 4590, 4582, 4585, 4606, 6010, - 4599, 4601, 4603, 4615, 4605, 4606, 4610, 4614, 4616, 4617, - 4620, 4622, 4627, 4628, 4632, 5988, 4633, 5988, 4634, 4635, - 4638, 4639, 4640, 4641, 4644, 5988, 5988, 4642, 4646, 4648, - 4651, 4653, 4656, 4660, 5988, 4657, 4665, 4668, 4670, 5988, - 4658, 4674, 4675, 4677, 5988, 4678, 4679, 4680, 4682, 4685, - 4687, 4691, 4689, 4692, 4693, 4700, 5988, 5988, 5988, 5988, - 4701, 4697, 4707, 4703, 4709, 4711, 4712, 4714, 4710, 5988, - 4718, 5988, 5988, 4723, 4724, 4726, 4727, 4730, 4715, 4733, - 4731, 5988, 4735, 4736, 4743, 4737, 4745, 4747, 4749, 4753, - 4751, 4754, 4761, 4757, 4759, 4763, 4765, 4767, 4774, 5988, + 4599, 4610, 4595, 4603, 4607, 4611, 4612, 4615, 4616, 4617, + 4619, 4623, 4631, 4620, 4624, 4627, 4628, 4629, 4635, 4637, + 4640, 4641, 4648, 4649, 4653, 6010, 4644, 6010, 4650, 4654, + 4656, 4658, 4660, 4661, 4664, 6010, 6010, 4662, 4666, 4671, + 4672, 4667, 4675, 4676, 6010, 4677, 4684, 4690, 4686, 6010, + 4679, 4691, 4693, 4696, 6010, 4697, 4698, 4700, 4702, 4703, + 4706, 4710, 4708, 4712, 4714, 4719, 6010, 6010, 6010, 6010, + 4720, 4716, 4724, 4727, 4729, 4725, 4730, 4732, 4733, 6010, + 4736, 6010, 6010, 4741, 4744, 4737, 4745, 4747, 4743, 4752, + 4756, 6010, 4753, 4754, 4758, 4757, 4766, 4770, 4760, 4771, - 5988, 4764, 4776, 4768, 4785, 4781, 4782, 4789, 4788, 4790, - 4791, 4793, 4794, 4780, 4803, 4804, 4805, 4799, 5988, 4807, - 4806, 5988, 4813, 5988, 4814, 4815, 4816, 4817, 4818, 4822, - 4823, 4826, 5988, 5988, 4821, 4828, 4832, 4837, 4833, 4829, - 4839, 4842, 4843, 5988, 4844, 5988, 4845, 4846, 4856, 4847, - 4863, 4864, 4866, 4868, 4853, 4869, 5988, 4870, 4871, 5988, - 4873, 4875, 4876, 5988, 4880, 4878, 4883, 4886, 5988, 4888, - 4890, 4892, 5988, 4899, 5988, 4893, 4895, 4902, 4907, 5988, - 4903, 4904, 5988, 4909, 4911, 4912, 4916, 5988, 4917, 5988, - 4918, 4920, 4921, 4925, 4926, 4928, 4930, 4931, 4932, 4939, + 4773, 4774, 4781, 4777, 4778, 4780, 4783, 4785, 4787, 6010, + 6010, 4789, 4794, 4796, 4804, 4800, 4801, 4813, 4808, 4809, + 4810, 4811, 4815, 4797, 4822, 4827, 4820, 4817, 6010, 4828, + 4831, 6010, 4824, 6010, 4830, 4832, 4838, 4839, 4840, 4841, + 4842, 4844, 6010, 6010, 4845, 4846, 4848, 4855, 4851, 4857, + 4859, 4847, 4861, 4863, 6010, 4865, 6010, 4869, 4870, 4872, + 4873, 4881, 4883, 4884, 4886, 4879, 4888, 6010, 4890, 4891, + 6010, 4892, 4894, 4895, 6010, 4900, 4897, 4903, 4906, 6010, + 4912, 4909, 4914, 6010, 4917, 6010, 4907, 4918, 4920, 4930, + 6010, 4921, 4925, 6010, 4934, 4936, 4928, 4937, 6010, 4922, - 4937, 4940, 5988, 5988, 4948, 4934, 4945, 4950, 4952, 4959, - 4951, 4956, 4955, 5988, 5988, 4961, 5988, 4963, 4964, 5988, - 4962, 4969, 4968, 4973, 4974, 4975, 4977, 4980, 4982, 4990, - 4983, 4981, 4994, 5004, 4988, 5006, 5008, 5010, 5012, 5014, - 5016, 4984, 4999, 5017, 5018, 5020, 5021, 5988, 5023, 5025, - 5024, 5988, 5030, 5026, 5035, 5031, 5988, 5038, 5039, 5044, - 5045, 5988, 5046, 5050, 5047, 5052, 5055, 5063, 5056, 5058, - 5068, 5988, 5988, 5988, 5060, 5074, 5988, 5076, 5066, 5059, - 5071, 5988, 5077, 5078, 5988, 5988, 5079, 5082, 5081, 5093, - 5988, 5083, 5988, 5085, 5988, 5092, 5094, 5102, 5096, 5988, + 6010, 4938, 4943, 4944, 4947, 4939, 4949, 4951, 4952, 4953, + 4961, 4957, 4959, 6010, 6010, 4966, 4962, 4968, 4969, 4971, + 4978, 4973, 4975, 4981, 6010, 6010, 4982, 6010, 4976, 4983, + 6010, 4974, 4990, 4991, 4992, 4994, 4995, 4996, 5001, 5002, + 5003, 5004, 5005, 5011, 5023, 5007, 5021, 5027, 5029, 5031, + 5033, 5025, 5035, 5036, 5013, 5037, 5038, 5042, 6010, 5044, + 5048, 5049, 5045, 6010, 5051, 5053, 5055, 5059, 6010, 5066, + 5061, 5067, 5068, 6010, 5057, 5072, 5069, 5074, 5078, 5085, + 5081, 5080, 5082, 6010, 6010, 6010, 5087, 5091, 6010, 5096, + 5088, 5097, 5098, 6010, 5099, 5100, 6010, 6010, 5101, 5104, - 5107, 5109, 5988, 5115, 5117, 5119, 5111, 5088, 5121, 5122, - 5988, 5129, 5125, 5126, 5133, 5124, 5128, 5134, 5135, 5143, - 5136, 5145, 5988, 5146, 5147, 5151, 5154, 5138, 5148, 5158, - 5988, 5160, 5988, 5162, 5164, 5165, 5167, 5166, 5168, 5171, - 5180, 5170, 5173, 5174, 5988, 5184, 5189, 5988, 5181, 5988, - 5191, 5988, 5192, 5194, 5195, 5198, 5988, 5200, 5186, 5197, - 5204, 5988, 5212, 5201, 5205, 5217, 5988, 5988, 5207, 5225, - 5209, 5218, 5222, 5229, 5226, 5231, 5232, 5233, 5234, 5241, - 5236, 5237, 5238, 5245, 5248, 5252, 5988, 5988, 5988, 5247, - 5256, 5263, 5261, 5262, 5270, 5266, 5988, 5267, 5268, 5269, + 5103, 5111, 6010, 5106, 6010, 5107, 6010, 5109, 5110, 5119, + 5121, 6010, 5124, 5131, 6010, 5134, 5137, 5139, 5140, 5125, + 5127, 5142, 6010, 5150, 5143, 5151, 5153, 5141, 5154, 5155, + 5158, 5163, 5161, 5165, 6010, 5162, 5167, 5168, 5169, 5171, + 5174, 5177, 6010, 5179, 6010, 5180, 5181, 5183, 5182, 5184, + 5185, 5188, 5198, 5192, 5202, 5195, 6010, 6010, 5206, 5208, + 6010, 5199, 6010, 5210, 6010, 5211, 5212, 5213, 5216, 6010, + 5223, 5215, 5217, 5219, 6010, 5224, 5230, 5226, 5232, 6010, + 6010, 5233, 5242, 5234, 5237, 5247, 5249, 5241, 5251, 5243, + 5255, 5252, 5262, 5257, 5263, 5258, 5266, 5268, 5273, 6010, - 5277, 5274, 5279, 5988, 5275, 5280, 5281, 5282, 5286, 5283, - 5290, 5988, 5294, 5297, 5300, 5289, 5304, 5308, 5311, 5313, - 5314, 5988, 5316, 5988, 5988, 5301, 5988, 5317, 5318, 5321, - 5322, 5988, 5325, 5327, 5326, 5328, 5330, 5332, 5988, 5342, - 5333, 5335, 5344, 5988, 5988, 5348, 5988, 5351, 5352, 5345, - 5361, 5356, 5358, 5363, 5360, 5988, 5364, 5367, 5369, 5370, - 5371, 5988, 5372, 5373, 5375, 5376, 5379, 5378, 5381, 5383, - 5385, 5988, 5386, 5388, 5406, 5402, 5988, 5389, 5401, 5988, - 5988, 5411, 5413, 5334, 5988, 5988, 5988, 5416, 5988, 5418, - 5422, 5426, 5430, 5421, 5988, 5432, 5429, 5434, 5988, 5988, + 6010, 6010, 5267, 5260, 5283, 5282, 5284, 5291, 5286, 6010, + 5288, 5289, 5290, 5298, 5295, 5297, 6010, 5299, 5300, 5301, + 5302, 5306, 5303, 5307, 6010, 5320, 5324, 5325, 5314, 5327, + 5334, 5336, 5338, 5339, 6010, 5341, 6010, 6010, 5310, 6010, + 5321, 5331, 5342, 5345, 6010, 5348, 5349, 5350, 5308, 5352, + 5355, 6010, 5362, 5357, 5359, 5360, 6010, 6010, 5367, 6010, + 5369, 5371, 5358, 5379, 5374, 5375, 5381, 5382, 6010, 5384, + 5385, 5388, 5389, 5390, 6010, 5391, 5392, 5394, 5395, 5398, + 5397, 5400, 5402, 5403, 6010, 5407, 5406, 5425, 5422, 6010, + 5409, 5420, 6010, 6010, 5431, 5435, 5424, 6010, 6010, 6010, - 5433, 5435, 5436, 5438, 5988, 5988, 5439, 5442, 5440, 5443, - 5445, 5988, 5450, 5454, 5456, 5459, 5462, 5451, 5465, 5467, - 5475, 5477, 5472, 5473, 5478, 5480, 5481, 5482, 5484, 5493, - 5489, 5491, 5503, 5500, 5988, 5988, 5507, 5988, 5988, 5509, - 5511, 5513, 5515, 5517, 5519, 5521, 5988, 5522, 5524, 5525, - 5393, 5526, 5988, 5528, 5530, 5527, 5532, 5492, 5535, 5533, - 5538, 5988, 5988, 5539, 5540, 5541, 5549, 5544, 5988, 5551, - 5558, 5555, 5556, 5553, 5559, 5560, 5988, 5564, 5565, 5988, - 5988, 5563, 5988, 5988, 5988, 5988, 5988, 5988, 5988, 5988, - 5568, 5988, 5566, 5581, 5583, 5585, 5988, 5573, 5586, 5494, + 5437, 6010, 5439, 5443, 5447, 5451, 5442, 6010, 5453, 5432, + 5454, 6010, 6010, 5455, 5456, 5457, 5459, 6010, 6010, 5460, + 5463, 5461, 5464, 5466, 6010, 5469, 5471, 5477, 5483, 5489, + 5479, 5467, 5484, 5492, 5501, 5474, 5490, 5497, 5498, 5502, + 5500, 5509, 5510, 5506, 5514, 5516, 5517, 6010, 6010, 5521, + 6010, 6010, 5524, 5526, 5528, 5530, 5532, 5534, 5536, 6010, + 5537, 5539, 5540, 5541, 5542, 6010, 5544, 5548, 5543, 5551, + 5545, 5554, 5550, 5560, 6010, 6010, 5552, 5566, 5556, 5567, + 5561, 6010, 5571, 5578, 5573, 5575, 5576, 5581, 5577, 6010, + 5583, 5585, 6010, 6010, 5586, 6010, 6010, 6010, 6010, 6010, - 5587, 5575, 5988, 5588, 5590, 5592, 5098, 5591, 5593, 5599, - 5598, 5600, 5603, 5602, 5605, 5604, 5609, 5608, 5610, 5623, - 5988, 5988, 5988, 5622, 5614, 5616, 5624, 5626, 5631, 5638, - 5640, 5635, 5641, 5642, 5643, 5644, 5646, 5647, 5656, 5651, - 5652, 5653, 5655, 5660, 5657, 5663, 5667, 5988, 5668, 5988, - 5669, 5988, 5988, 5674, 5676, 5670, 5679, 5686, 5690, 5681, - 5688, 5685, 5689, 5692, 5697, 5988, 5693, 5699, 5988, 5702, - 5703, 5988, 5700, 5705, 5706, 5708, 5709, 5711, 5712, 5713, - 5724, 5988, 5988, 5715, 5726, 5727, 5729, 5731, 5738, 5733, - 5737, 5740, 5743, 5739, 5747, 5988, 5750, 5751, 5753, 5988, + 6010, 6010, 6010, 5588, 6010, 5584, 5603, 5605, 5607, 6010, + 5590, 5600, 5592, 5598, 5608, 6010, 5610, 5410, 5611, 5612, + 5615, 5619, 5621, 5617, 5623, 5624, 5625, 5627, 5626, 5631, + 5628, 5632, 5639, 6010, 6010, 6010, 5637, 5638, 5646, 5647, + 5654, 5659, 5662, 5664, 5629, 5655, 5665, 5666, 5667, 5657, + 5669, 5676, 5673, 5674, 5678, 5677, 5680, 5681, 5685, 5689, + 6010, 5690, 6010, 5691, 6010, 6010, 5693, 5694, 5698, 5699, + 5707, 5708, 5700, 5703, 5710, 5712, 5720, 5722, 6010, 5711, + 5713, 6010, 5723, 5724, 6010, 5715, 5725, 5726, 5727, 5731, + 5734, 5736, 5738, 5747, 6010, 6010, 5739, 5742, 5748, 5750, + + 5751, 5758, 5754, 5757, 5761, 5763, 5764, 5771, 6010, 5770, + 5772, 5774, 6010, 5775, 5776, 5778, 5780, 5781, 5788, 5784, + 5789, 6010, 5786, 6010, 5791, 5792, 5793, 5794, 5796, 5797, + 5805, 5807, 5808, 6010, 5809, 5816, 5811, 5818, 5822, 5820, + 5824, 5814, 5827, 5829, 5836, 5840, 5837, 5841, 5828, 5845, + 5832, 6010, 5843, 5846, 6010, 5849, 5852, 5853, 5855, 5858, + 6010, 5861, 5856, 5862, 5863, 5867, 5869, 6010, 5871, 5878, + 5873, 6010, 5879, 6010, 6010, 5882, 5883, 5885, 5889, 5891, + 6010, 6010, 6010, 5918, 5925, 5932, 5939, 5946, 88, 5953, + 5960, 5967, 5974, 5981, 5988, 5995, 6002 - 5755, 5754, 5757, 5760, 5761, 5768, 5763, 5765, 5988, 5766, - 5988, 5770, 5772, 5771, 5774, 5775, 5777, 5785, 5783, 5787, - 5988, 5789, 5791, 5795, 5796, 5798, 5801, 5802, 5803, 5805, - 5807, 5808, 5817, 5811, 5813, 5819, 5821, 5823, 5988, 5825, - 5827, 5988, 5828, 5829, 5830, 5831, 5835, 5988, 5840, 5832, - 5837, 5843, 5848, 5845, 5988, 5854, 5858, 5855, 5988, 5859, - 5988, 5988, 5860, 5861, 5863, 5867, 5869, 5988, 5988, 5988, - 5896, 5903, 5910, 5917, 5924, 88, 5931, 5938, 5945, 5952, - 5959, 5966, 5973, 5980 } ; -static const flex_int16_t yy_def[3085] = +static const flex_int16_t yy_def[3098] = { 0, - 3070, 1, 3071, 3071, 3072, 3072, 3073, 3073, 3074, 3074, - 3075, 3075, 3070, 3076, 3070, 3070, 3070, 3070, 3077, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3078, 3070, 3070, 3070, 3078, 3079, 3070, 3070, - 3070, 3079, 3080, 3070, 3070, 3070, 3070, 3080, 3081, 3070, - 3070, 3070, 3081, 3082, 3070, 3083, 3070, 3082, 3082, 3076, - 3076, 3070, 3084, 3077, 3084, 3077, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3083, 1, 3084, 3084, 3085, 3085, 3086, 3086, 3087, 3087, + 3088, 3088, 3083, 3089, 3083, 3083, 3083, 3083, 3090, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3091, 3083, 3083, 3083, 3091, 3092, 3083, 3083, + 3083, 3092, 3093, 3083, 3083, 3083, 3083, 3093, 3094, 3083, + 3083, 3083, 3094, 3095, 3083, 3096, 3083, 3095, 3095, 3089, + 3089, 3083, 3097, 3090, 3097, 3090, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3078, 3078, 3079, 3079, 3080, 3080, 3070, 3081, 3081, 3082, - 3082, 3083, 3083, 3082, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3091, 3091, 3092, 3092, 3093, 3093, 3083, 3094, 3094, 3095, + 3095, 3096, 3096, 3095, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3082, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3095, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3082, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3095, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3082, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3095, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3082, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3070, 3070, 3076, - 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3095, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3083, 3089, + 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3082, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3095, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3082, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3095, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3083, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3076, + 3083, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3076, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3083, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, - 3070, 3076, 3070, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3083, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3070, 3070, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, - 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3076, 3076, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3070, 3070, - 3076, 3070, 3076, 3070, 3076, 3076, 3070, 3070, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3089, + 3083, 3089, 3083, 3089, 3089, 3083, 3083, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3089, - 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3070, 3076, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3083, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3070, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, - 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3083, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3070, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3070, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3083, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, 3089, - 3076, 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3070, 3070, 3076, 3070, 3076, 3076, 3070, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3070, 3070, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3070, 3070, 3076, 3076, 3076, 3076, - 3070, 3076, 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3070, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3083, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3083, 3083, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3083, 3083, 3089, 3089, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3070, 3076, 3070, - 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3070, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, + 3089, 3089, 3083, 3089, 3083, 3089, 3083, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3089, + 3083, 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, - 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3070, 3070, 3076, 3070, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3076, 3070, 3070, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3070, - 3070, 3076, 3076, 3076, 3070, 3070, 3070, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3070, 3070, + 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3083, 3083, 3089, 3083, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3083, 3083, 3083, - 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3076, 3076, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3070, 3076, 3070, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3070, - 3070, 3076, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3076, 3070, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3083, 3083, 3089, + 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3083, 3089, + 3083, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3083, 3083, 3089, 3083, 3083, 3083, 3083, 3083, - 3076, 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3070, - 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3070, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3070, + 3083, 3083, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3083, + 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3083, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3083, 3089, 3083, 3083, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3083, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3083, 3083, 3089, 3089, 3089, 3089, + + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, + 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, + 3089, 3083, 3089, 3089, 3083, 3089, 3089, 3089, 3089, 3089, + 3083, 3089, 3089, 3089, 3089, 3089, 3089, 3083, 3089, 3089, + 3089, 3083, 3089, 3083, 3083, 3089, 3089, 3089, 3089, 3089, + 3083, 3083, 0, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083 - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3070, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, - 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3070, 3076, - 3076, 3070, 3076, 3076, 3076, 3076, 3076, 3070, 3076, 3076, - 3076, 3076, 3076, 3076, 3070, 3076, 3076, 3076, 3070, 3076, - 3070, 3070, 3076, 3076, 3076, 3076, 3076, 3070, 3070, 0, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3070, 3070, 3070, 3070 } ; -static const flex_int16_t yy_nxt[6029] = +static const flex_int16_t yy_nxt[6051] = { 0, 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 14, 14, 18, 20, 21, 22, 23, 24, 25, 26, @@ -1523,7 +1529,7 @@ static const flex_int16_t yy_nxt[6029] = 455, 458, 71, 466, 71, 460, 456, 464, 71, 71, 71, 459, 467, 71, 71, 468, 71, 71, 461, 469, 71, 462, 483, 463, 479, 470, 71, 71, 71, 471, - 71, 484, 481, 733, 486, 480, 71, 472, 71, 473, + 71, 484, 481, 734, 486, 480, 71, 472, 71, 473, 71, 474, 482, 71, 71, 494, 496, 485, 151, 495, 498, 497, 71, 71, 475, 500, 71, 476, 501, 477, 504, 478, 71, 71, 487, 488, 71, 71, 71, 499, @@ -1570,534 +1576,536 @@ static const flex_int16_t yy_nxt[6029] = 71, 71, 71, 695, 71, 71, 696, 71, 694, 71, 699, 71, 698, 71, 700, 71, 704, 71, 71, 703, 71, 697, 71, 707, 705, 71, 71, 709, 71, 71, - 71, 710, 702, 71, 701, 706, 71, 71, 716, 712, - 71, 71, 711, 71, 713, 708, 718, 715, 714, 71, - 71, 71, 149, 723, 719, 720, 722, 721, 717, 71, - 724, 71, 71, 71, 725, 71, 726, 71, 728, 71, + 717, 710, 702, 71, 701, 706, 71, 71, 71, 712, + 149, 71, 711, 71, 713, 708, 71, 714, 715, 71, + 71, 720, 71, 724, 721, 716, 718, 719, 723, 71, + 71, 725, 71, 726, 722, 71, 727, 71, 71, 71, - 729, 71, 71, 71, 730, 71, 737, 71, 735, 71, - 71, 731, 71, 71, 743, 734, 147, 71, 727, 732, - 71, 738, 741, 71, 71, 736, 740, 71, 739, 742, - 744, 71, 746, 747, 745, 71, 71, 71, 71, 748, - 752, 750, 749, 71, 754, 783, 71, 71, 753, 71, - 71, 71, 751, 71, 755, 757, 71, 764, 756, 71, - 758, 71, 759, 71, 761, 71, 765, 71, 71, 760, - 71, 769, 767, 71, 766, 71, 773, 71, 762, 763, - 770, 71, 71, 71, 771, 71, 776, 774, 768, 71, - 775, 777, 71, 71, 778, 71, 71, 780, 782, 772, + 729, 730, 731, 71, 71, 71, 71, 738, 71, 71, + 736, 71, 71, 71, 71, 732, 744, 735, 728, 71, + 739, 733, 71, 742, 743, 745, 737, 71, 740, 741, + 746, 747, 748, 71, 71, 71, 749, 71, 71, 753, + 750, 71, 755, 71, 71, 71, 754, 756, 71, 71, + 71, 758, 752, 71, 757, 751, 759, 71, 71, 71, + 71, 765, 766, 760, 762, 71, 761, 71, 71, 767, + 768, 71, 770, 71, 71, 774, 147, 772, 763, 764, + 771, 71, 71, 780, 71, 777, 71, 779, 769, 776, + 778, 71, 773, 71, 775, 781, 71, 71, 71, 783, - 71, 784, 779, 71, 71, 788, 71, 71, 781, 71, - 789, 71, 71, 71, 71, 71, 790, 797, 785, 71, - 71, 795, 786, 71, 787, 71, 71, 791, 792, 71, - 71, 71, 793, 798, 794, 796, 71, 799, 71, 71, - 802, 71, 71, 71, 811, 800, 804, 809, 801, 803, - 71, 71, 71, 71, 71, 812, 805, 806, 807, 71, - 808, 71, 71, 71, 810, 814, 816, 815, 71, 71, - 71, 813, 71, 821, 823, 817, 819, 820, 71, 822, - 71, 818, 71, 824, 71, 71, 71, 151, 71, 826, - 71, 71, 831, 827, 832, 829, 71, 71, 825, 828, + 71, 71, 71, 71, 789, 71, 71, 71, 71, 790, + 71, 71, 71, 71, 71, 782, 784, 791, 785, 786, + 71, 787, 792, 788, 794, 796, 793, 798, 71, 797, + 71, 795, 71, 71, 799, 71, 71, 71, 71, 803, + 800, 71, 71, 71, 71, 71, 812, 146, 810, 801, + 71, 802, 71, 805, 804, 71, 806, 71, 811, 807, + 808, 809, 71, 815, 71, 71, 813, 71, 71, 814, + 817, 816, 71, 71, 819, 71, 71, 144, 822, 821, + 818, 820, 823, 71, 71, 826, 71, 71, 824, 825, + 829, 71, 71, 827, 151, 71, 828, 71, 833, 832, - 830, 833, 71, 71, 834, 835, 71, 839, 71, 71, - 840, 842, 71, 71, 71, 845, 71, 836, 841, 71, - 837, 71, 843, 847, 838, 71, 71, 71, 851, 71, - 71, 71, 71, 844, 71, 71, 846, 848, 852, 853, - 71, 71, 71, 71, 71, 850, 883, 854, 71, 865, - 866, 849, 71, 869, 71, 856, 855, 71, 863, 864, - 71, 71, 857, 71, 867, 868, 858, 71, 870, 859, - 71, 871, 872, 71, 875, 71, 860, 861, 71, 862, - 71, 71, 146, 874, 873, 71, 876, 877, 71, 878, - 898, 887, 879, 885, 884, 888, 71, 880, 71, 71, + 830, 834, 71, 71, 831, 71, 71, 71, 840, 71, + 71, 841, 836, 843, 71, 71, 835, 71, 71, 842, + 837, 838, 846, 71, 844, 71, 71, 839, 71, 848, + 71, 852, 71, 71, 71, 849, 845, 71, 847, 71, + 853, 854, 71, 71, 71, 71, 71, 71, 851, 71, + 71, 850, 867, 71, 866, 71, 870, 855, 856, 864, + 865, 872, 857, 71, 71, 868, 71, 875, 858, 71, + 869, 873, 859, 71, 871, 860, 71, 71, 874, 71, + 876, 884, 861, 862, 71, 863, 71, 71, 877, 878, + 885, 879, 905, 71, 880, 886, 888, 889, 71, 881, - 890, 71, 71, 881, 882, 889, 886, 71, 892, 71, - 71, 71, 71, 894, 893, 900, 891, 895, 896, 71, - 71, 899, 897, 71, 71, 71, 71, 904, 71, 71, - 71, 71, 903, 71, 907, 911, 71, 913, 71, 924, - 71, 71, 906, 901, 902, 905, 71, 908, 909, 914, - 917, 912, 71, 910, 915, 71, 71, 916, 918, 71, - 71, 920, 921, 71, 71, 919, 71, 71, 71, 922, - 925, 71, 71, 71, 923, 71, 926, 71, 928, 931, - 71, 71, 929, 71, 71, 934, 71, 71, 71, 933, - 927, 71, 932, 71, 71, 936, 930, 937, 939, 71, + 71, 71, 891, 71, 887, 882, 883, 890, 71, 71, + 894, 71, 71, 893, 71, 896, 895, 71, 892, 897, + 898, 71, 71, 71, 899, 71, 71, 71, 71, 900, + 902, 71, 906, 71, 71, 909, 71, 71, 71, 915, + 71, 71, 901, 907, 913, 903, 904, 908, 71, 911, + 71, 916, 1176, 914, 910, 919, 917, 71, 71, 920, + 912, 71, 71, 918, 922, 71, 71, 921, 71, 923, + 71, 71, 926, 71, 924, 927, 71, 71, 71, 925, + 71, 71, 71, 933, 71, 928, 930, 931, 71, 936, + 71, 71, 71, 71, 71, 71, 929, 934, 935, 71, - 71, 71, 71, 935, 941, 942, 71, 71, 940, 71, - 949, 938, 947, 71, 71, 945, 943, 948, 71, 944, - 946, 71, 71, 71, 71, 71, 954, 956, 950, 71, - 952, 957, 71, 951, 955, 71, 71, 71, 71, 71, - 959, 71, 71, 71, 71, 958, 953, 967, 71, 970, - 960, 965, 71, 71, 71, 71, 961, 962, 71, 964, - 963, 971, 968, 71, 966, 972, 71, 969, 71, 975, - 71, 71, 974, 973, 71, 977, 978, 71, 71, 71, - 976, 71, 71, 980, 71, 71, 982, 987, 979, 988, - 990, 981, 71, 71, 992, 71, 71, 71, 71, 983, + 71, 932, 938, 939, 941, 71, 71, 71, 943, 942, + 937, 944, 71, 71, 71, 71, 940, 71, 949, 71, + 951, 945, 947, 950, 71, 71, 71, 948, 71, 71, + 952, 956, 71, 71, 954, 958, 953, 946, 71, 957, + 959, 71, 71, 961, 71, 71, 71, 71, 71, 963, + 955, 71, 71, 960, 71, 969, 967, 71, 71, 972, + 71, 142, 71, 962, 964, 71, 966, 965, 71, 973, + 970, 968, 976, 971, 974, 71, 975, 71, 71, 980, + 71, 977, 978, 979, 71, 71, 71, 71, 71, 71, + 989, 71, 990, 982, 984, 71, 71, 981, 71, 71, - 71, 985, 993, 984, 986, 991, 989, 71, 71, 71, - 996, 994, 71, 71, 998, 1001, 995, 71, 997, 71, - 1000, 71, 71, 1005, 71, 1002, 1007, 71, 71, 71, - 1004, 1003, 71, 999, 1010, 151, 71, 1009, 71, 71, - 1013, 71, 1012, 71, 1006, 71, 1008, 71, 1016, 71, - 71, 1011, 71, 71, 71, 1028, 71, 1031, 71, 144, - 1029, 71, 71, 1014, 1019, 1015, 1017, 71, 71, 1054, - 71, 1033, 1020, 1018, 1021, 71, 1030, 71, 1022, 71, - 1023, 71, 1036, 1034, 1024, 71, 1025, 1032, 71, 71, - 71, 1026, 1038, 1035, 1041, 1037, 1027, 1039, 71, 1040, + 992, 71, 71, 71, 71, 983, 71, 985, 987, 991, + 986, 988, 994, 71, 995, 998, 71, 996, 71, 993, + 71, 997, 71, 999, 1003, 1001, 71, 1000, 71, 1002, + 71, 71, 71, 1007, 1004, 71, 1008, 1009, 71, 71, + 71, 71, 1012, 151, 1005, 1006, 1011, 71, 71, 1015, + 71, 1014, 71, 1010, 71, 1013, 71, 1018, 71, 71, + 71, 71, 71, 71, 1030, 1031, 71, 1033, 71, 71, + 71, 71, 1016, 1021, 1017, 1019, 1038, 71, 71, 71, + 1022, 1032, 1020, 1023, 71, 1036, 71, 1024, 1089, 1025, + 1035, 1037, 1039, 1026, 1034, 1027, 1040, 71, 71, 71, - 71, 1046, 71, 1043, 71, 1044, 1042, 1047, 71, 71, - 71, 1052, 71, 1053, 71, 1045, 1051, 71, 1048, 71, - 1055, 1056, 71, 1050, 71, 71, 71, 71, 71, 1049, - 71, 1068, 71, 1058, 1057, 71, 1067, 1072, 71, 71, - 1059, 71, 1060, 1073, 1069, 71, 1071, 1061, 1093, 1062, - 1070, 71, 71, 1074, 71, 1063, 1077, 71, 1078, 1079, - 1064, 1065, 71, 71, 71, 71, 1080, 1066, 1083, 71, - 1075, 1076, 142, 71, 71, 71, 71, 1082, 1084, 71, - 1089, 1081, 71, 71, 1086, 1087, 71, 71, 1085, 71, - 71, 1090, 1092, 71, 71, 1088, 71, 71, 71, 71, + 1028, 1041, 71, 1043, 71, 1029, 71, 71, 71, 1046, + 71, 1042, 1049, 1045, 71, 1044, 71, 71, 1048, 1047, + 1054, 1055, 1050, 1053, 1056, 71, 71, 71, 1052, 1057, + 1058, 1051, 71, 71, 71, 71, 71, 71, 1059, 71, + 71, 71, 1070, 71, 1074, 1069, 71, 1073, 71, 1075, + 71, 1060, 1072, 1061, 71, 1062, 71, 1071, 1079, 71, + 1063, 71, 1064, 1081, 1076, 1080, 71, 1077, 1065, 71, + 71, 71, 71, 1066, 1067, 1078, 71, 1084, 1086, 1082, + 1068, 71, 71, 1085, 71, 1083, 1087, 71, 1092, 71, + 1088, 1090, 71, 71, 71, 71, 71, 71, 1093, 71, - 1099, 71, 1091, 1094, 71, 1096, 1097, 1098, 1101, 71, - 1095, 71, 71, 1100, 71, 1102, 71, 71, 1103, 71, - 71, 1104, 1109, 71, 1110, 1106, 71, 71, 1105, 1112, - 1107, 1108, 1111, 71, 1113, 1114, 1115, 71, 1117, 71, - 1121, 71, 1116, 1118, 71, 71, 1119, 71, 71, 1120, - 71, 71, 71, 1122, 1128, 71, 1130, 71, 71, 71, - 71, 71, 71, 1132, 1124, 1126, 1127, 1123, 1125, 71, - 71, 71, 1131, 1133, 1134, 1129, 71, 71, 71, 71, - 71, 1136, 1135, 1137, 1139, 1138, 71, 71, 71, 1141, - 71, 1140, 1145, 1142, 1144, 71, 1143, 71, 71, 1146, + 1095, 71, 71, 1091, 71, 71, 71, 1102, 1100, 71, + 1097, 1094, 1104, 1096, 1099, 1101, 71, 1098, 71, 1106, + 71, 1103, 71, 71, 71, 1105, 71, 71, 71, 1112, + 71, 1116, 1113, 1114, 71, 71, 1107, 1109, 1117, 1108, + 1110, 1111, 71, 1115, 71, 1120, 71, 71, 1118, 1124, + 1121, 71, 71, 1122, 71, 71, 1123, 71, 1119, 71, + 1131, 1125, 71, 71, 1133, 71, 71, 71, 71, 71, + 71, 1127, 1129, 1135, 1126, 1128, 71, 1130, 71, 1137, + 1134, 1136, 71, 1132, 71, 71, 71, 1139, 71, 1140, + 1138, 1142, 71, 1143, 1141, 71, 71, 1144, 1145, 1148, - 71, 71, 71, 71, 1147, 1149, 71, 1150, 1148, 71, - 1156, 71, 1154, 1157, 71, 1151, 71, 71, 71, 71, - 1152, 71, 1158, 1153, 1155, 71, 1159, 1161, 1164, 71, - 1160, 71, 1162, 71, 71, 71, 1165, 71, 1163, 1166, - 71, 71, 71, 71, 1167, 1171, 1168, 1169, 71, 71, - 71, 1172, 71, 1177, 1173, 1178, 71, 71, 71, 71, - 1170, 71, 1175, 1180, 1181, 71, 71, 1174, 71, 71, - 1185, 1176, 1179, 71, 71, 1182, 71, 71, 71, 71, - 1183, 1184, 1187, 1191, 71, 71, 1186, 71, 71, 71, - 1197, 71, 71, 1192, 1195, 1188, 3070, 1190, 1199, 1194, + 1149, 71, 1147, 71, 71, 71, 71, 71, 1153, 1152, + 71, 1146, 1150, 71, 71, 71, 71, 1159, 1157, 1160, + 71, 71, 1151, 71, 71, 71, 1161, 1164, 1154, 1158, + 71, 71, 1155, 71, 1156, 1162, 1163, 1167, 1165, 71, + 71, 1169, 71, 71, 1166, 1168, 71, 71, 1170, 71, + 71, 71, 71, 1174, 1175, 1171, 71, 71, 1180, 71, + 1181, 71, 71, 71, 71, 1172, 71, 1183, 1173, 1178, + 1177, 1184, 71, 71, 1182, 1179, 71, 1186, 1188, 71, + 1185, 71, 71, 71, 71, 1187, 1194, 71, 1190, 71, + 71, 71, 71, 71, 1189, 1200, 71, 1198, 71, 1202, - 1193, 1196, 1189, 1200, 71, 71, 71, 71, 1198, 71, - 1201, 71, 1203, 1202, 71, 71, 71, 71, 71, 71, - 1204, 1206, 71, 1212, 71, 1209, 71, 71, 1205, 71, - 1207, 71, 71, 71, 1210, 1337, 1208, 1216, 71, 1222, - 1213, 1211, 71, 71, 1215, 1214, 71, 1218, 1223, 1224, - 71, 71, 1217, 1225, 71, 71, 1219, 1227, 1220, 71, - 71, 1221, 71, 71, 71, 1226, 71, 1231, 71, 1230, - 71, 1233, 1236, 71, 1228, 1234, 71, 1229, 71, 71, - 71, 1237, 1232, 1238, 1240, 71, 71, 1235, 71, 1241, - 1239, 71, 71, 71, 71, 1242, 71, 71, 71, 1245, + 1191, 1197, 1199, 1193, 1195, 71, 1196, 1203, 1192, 71, + 71, 71, 1205, 71, 1204, 71, 1206, 71, 1201, 71, + 71, 71, 71, 71, 1209, 71, 1215, 71, 71, 1207, + 1212, 1208, 71, 71, 71, 1210, 3083, 1213, 71, 71, + 1211, 71, 1216, 1226, 1214, 1219, 1221, 71, 1218, 71, + 1217, 71, 1225, 71, 1220, 1222, 1228, 1223, 1227, 71, + 1224, 1229, 71, 71, 71, 1230, 71, 71, 71, 71, + 71, 1234, 1231, 1233, 1236, 1239, 71, 71, 71, 1237, + 71, 1232, 1240, 1241, 71, 71, 1235, 71, 1244, 1238, + 1243, 71, 71, 71, 71, 71, 1245, 71, 71, 71, - 71, 1248, 71, 1243, 1246, 71, 1244, 71, 1247, 1249, - 71, 1253, 71, 71, 1258, 1250, 71, 1254, 1252, 1251, - 71, 1257, 71, 71, 1260, 71, 1264, 1255, 1262, 71, - 1256, 1265, 71, 1261, 71, 71, 1259, 1263, 71, 1269, - 71, 3070, 71, 71, 1279, 71, 1278, 1268, 1266, 1267, - 71, 1277, 71, 1276, 1281, 1270, 71, 71, 1271, 1272, - 1282, 1280, 1283, 1273, 71, 71, 71, 71, 1285, 1274, - 1284, 71, 1287, 1275, 71, 71, 71, 1288, 71, 1289, - 71, 71, 71, 71, 1297, 1286, 1294, 1292, 71, 71, - 71, 1298, 1338, 1299, 1291, 1290, 1295, 71, 71, 71, + 1242, 1251, 71, 71, 71, 71, 1246, 1247, 71, 1249, + 1250, 1252, 1248, 71, 1256, 71, 1261, 1253, 71, 1257, + 71, 1255, 71, 1254, 1260, 1258, 71, 71, 1263, 71, + 71, 1268, 1262, 1259, 1266, 71, 1269, 71, 71, 3083, + 71, 71, 1267, 1265, 71, 1273, 1264, 71, 71, 71, + 1281, 1282, 1271, 1272, 1270, 71, 1285, 71, 71, 1283, + 1274, 1280, 71, 1275, 1276, 1286, 71, 1284, 1277, 1294, + 71, 71, 71, 71, 1278, 1287, 71, 1288, 1279, 71, + 1289, 71, 1291, 71, 71, 1296, 1292, 1290, 1293, 71, + 71, 1295, 71, 1301, 1298, 1302, 71, 71, 71, 71, - 1293, 1296, 1300, 71, 1306, 71, 1307, 1308, 1301, 71, - 71, 71, 71, 1302, 1310, 1303, 1309, 1304, 71, 1305, - 71, 71, 71, 1314, 71, 71, 1311, 1313, 1315, 71, - 1312, 1316, 71, 1320, 71, 1319, 71, 1318, 71, 1324, - 71, 1325, 1317, 71, 1321, 71, 1326, 71, 71, 71, - 1323, 71, 1328, 1322, 71, 71, 71, 1327, 1330, 71, - 1333, 71, 1329, 1334, 71, 1336, 71, 71, 71, 1331, - 1341, 1335, 1339, 1342, 71, 1344, 71, 71, 1340, 1332, - 71, 1345, 1346, 71, 71, 1349, 71, 71, 1343, 71, - 71, 71, 1351, 71, 71, 71, 1353, 1355, 71, 71, + 1304, 71, 1303, 71, 1297, 71, 1299, 1305, 1300, 71, + 1310, 71, 1306, 71, 1307, 1314, 1308, 71, 1309, 1311, + 1312, 1316, 71, 1318, 1313, 71, 71, 1321, 1319, 71, + 71, 71, 1315, 71, 1317, 1320, 1322, 71, 71, 71, + 1328, 71, 1324, 71, 1323, 71, 71, 71, 1329, 1330, + 71, 71, 1334, 1327, 71, 1332, 1325, 1326, 71, 1331, + 71, 71, 1338, 71, 71, 1333, 1337, 1340, 71, 71, + 71, 1341, 1335, 1342, 71, 1339, 71, 71, 71, 1343, + 1346, 71, 71, 1336, 1347, 71, 1345, 1348, 71, 71, + 1349, 71, 1353, 71, 71, 1344, 1350, 1355, 71, 1351, - 3070, 1357, 1354, 71, 1347, 1348, 71, 1350, 1359, 71, - 1352, 71, 1356, 71, 1358, 71, 1361, 1362, 1363, 71, - 1360, 71, 1365, 71, 1364, 71, 71, 71, 1366, 1371, - 1372, 1368, 71, 1367, 1369, 71, 71, 1373, 1374, 1370, - 71, 71, 71, 71, 71, 1378, 71, 71, 71, 1375, - 1382, 1383, 71, 1377, 71, 1385, 71, 71, 1384, 71, - 1376, 71, 71, 1379, 71, 71, 71, 1380, 1386, 71, - 1392, 1381, 71, 71, 1387, 71, 1389, 1397, 71, 1388, - 1390, 71, 1393, 1391, 71, 71, 1396, 1401, 71, 1399, - 71, 1395, 1402, 71, 71, 71, 71, 1394, 1398, 1404, + 71, 71, 71, 1352, 1359, 1354, 1357, 71, 71, 1358, + 71, 1361, 71, 71, 71, 1363, 71, 71, 1356, 71, + 1373, 1365, 71, 3083, 1367, 1360, 71, 1362, 1364, 71, + 1366, 1368, 71, 1369, 1370, 1371, 71, 71, 1375, 1376, + 71, 71, 1372, 1378, 71, 71, 1377, 71, 71, 71, + 1374, 71, 1382, 71, 71, 71, 1379, 1386, 1387, 1380, + 71, 1389, 1381, 71, 71, 71, 1388, 71, 1383, 71, + 71, 71, 71, 71, 1384, 71, 1396, 71, 1385, 1390, + 71, 71, 1393, 71, 71, 1391, 1394, 71, 1400, 1392, + 71, 1395, 1401, 71, 1405, 1403, 1398, 1397, 1399, 1406, - 71, 71, 1405, 1412, 1400, 71, 1403, 71, 1414, 1406, - 1410, 1407, 71, 1411, 71, 1408, 1415, 71, 1409, 1417, - 71, 1413, 71, 71, 1418, 71, 71, 71, 1416, 71, - 71, 1422, 71, 71, 1424, 71, 71, 1429, 71, 1419, - 71, 1421, 1430, 71, 71, 1423, 1426, 71, 1420, 1433, - 1425, 1427, 71, 1428, 71, 71, 1434, 71, 1431, 71, - 71, 71, 1432, 71, 71, 1440, 1435, 1437, 1436, 1442, - 1441, 71, 1438, 71, 1445, 71, 71, 71, 1439, 1443, - 1444, 71, 1447, 1450, 71, 1451, 1449, 71, 1452, 71, - 1446, 71, 71, 1453, 1454, 71, 71, 71, 1448, 71, + 71, 71, 71, 1404, 1402, 1407, 71, 71, 71, 71, + 1408, 1416, 71, 71, 1409, 1418, 1410, 1414, 71, 71, + 1415, 71, 1411, 1412, 71, 1421, 1413, 1417, 1419, 1420, + 1422, 71, 71, 71, 71, 71, 71, 71, 1423, 1426, + 71, 1428, 71, 71, 71, 1433, 71, 71, 71, 1437, + 1434, 1425, 71, 1427, 1430, 71, 71, 1429, 1424, 71, + 1431, 1432, 71, 71, 1438, 1435, 71, 1436, 71, 71, + 71, 71, 71, 1440, 1444, 1439, 1446, 1441, 1442, 1445, + 71, 71, 1449, 71, 71, 1443, 1447, 71, 1454, 1448, + 1451, 1452, 1453, 1455, 71, 1456, 71, 1457, 1450, 71, - 1455, 71, 1457, 71, 71, 1461, 1456, 71, 71, 71, - 1460, 71, 71, 1458, 71, 1467, 1459, 1463, 1469, 1464, - 1468, 71, 1465, 1470, 71, 71, 1472, 1462, 71, 71, - 1466, 71, 1471, 71, 71, 71, 71, 1480, 1476, 71, - 1475, 71, 71, 71, 1481, 1483, 71, 1473, 1474, 71, - 1486, 71, 1485, 1477, 1479, 1478, 71, 71, 71, 71, - 71, 1484, 71, 71, 71, 71, 1494, 1482, 1487, 71, - 1497, 71, 1495, 71, 1491, 1496, 1488, 1489, 1490, 1493, - 1498, 71, 71, 1492, 71, 71, 1501, 1499, 1500, 71, - 71, 71, 1504, 71, 1502, 71, 1505, 71, 71, 71, + 71, 71, 71, 1458, 1459, 71, 71, 71, 71, 1461, + 1460, 71, 71, 71, 1466, 71, 71, 71, 71, 1465, + 71, 71, 1463, 1469, 1468, 1462, 1464, 1472, 71, 71, + 1477, 1470, 1473, 71, 71, 1467, 1474, 71, 71, 1471, + 1478, 1475, 71, 1481, 71, 71, 1480, 71, 1476, 71, + 1485, 71, 1486, 1479, 1488, 71, 71, 71, 71, 71, + 71, 71, 1491, 1482, 1490, 1483, 71, 1484, 71, 71, + 71, 71, 71, 1499, 1489, 71, 1492, 1487, 1493, 71, + 1494, 3083, 1500, 1496, 71, 1495, 1498, 1501, 1502, 71, + 71, 1497, 1503, 71, 71, 1504, 71, 1506, 1505, 71, - 1508, 1514, 1503, 1512, 71, 71, 1509, 71, 71, 1506, - 1513, 1507, 1516, 71, 1511, 71, 71, 1510, 1517, 1518, - 1519, 71, 71, 1515, 71, 1523, 1524, 71, 71, 71, - 71, 71, 71, 1528, 71, 1527, 1529, 1531, 71, 71, - 1521, 1520, 71, 71, 1522, 71, 1525, 71, 1532, 71, - 1526, 1533, 71, 71, 1530, 1534, 1536, 71, 1538, 1535, - 71, 1539, 71, 71, 71, 71, 71, 1537, 71, 1543, - 71, 1545, 1540, 71, 71, 1546, 71, 1550, 71, 1544, - 71, 71, 1542, 1541, 71, 71, 1547, 71, 1548, 1553, - 1555, 71, 1551, 71, 71, 1558, 1554, 1556, 1552, 1549, + 71, 71, 1509, 71, 71, 1507, 1510, 71, 71, 1513, + 1517, 71, 1508, 71, 1519, 71, 1514, 71, 1518, 1511, + 71, 1512, 71, 71, 1516, 71, 71, 1515, 1522, 1523, + 1520, 71, 71, 1528, 71, 1521, 1524, 1525, 71, 71, + 1529, 71, 71, 1534, 1526, 71, 1533, 1532, 71, 71, + 71, 1527, 1530, 1536, 71, 71, 1538, 71, 1537, 1531, + 71, 71, 71, 71, 1541, 71, 1539, 71, 1535, 71, + 1544, 71, 1543, 71, 71, 71, 1540, 71, 1548, 71, + 1545, 71, 1542, 71, 1550, 71, 1551, 71, 1546, 1549, + 1547, 71, 1552, 71, 1553, 71, 1555, 71, 1558, 1556, - 71, 71, 71, 71, 71, 1557, 1561, 71, 1563, 1559, - 71, 1560, 1564, 71, 71, 71, 71, 1571, 71, 71, - 1562, 1566, 1565, 1572, 71, 71, 71, 71, 1569, 1567, - 1568, 1576, 71, 71, 1575, 1578, 1580, 1579, 71, 1573, - 1570, 71, 71, 1582, 1574, 1584, 71, 1577, 71, 71, - 71, 71, 71, 71, 1589, 1583, 1586, 1587, 1581, 71, - 1590, 71, 71, 71, 71, 71, 1601, 1585, 1594, 71, - 1595, 71, 71, 71, 71, 1588, 1591, 1598, 1593, 1592, - 1599, 71, 71, 1596, 1597, 1603, 1602, 71, 71, 1609, - 71, 71, 1600, 1606, 1608, 71, 1605, 71, 1607, 71, + 1560, 71, 71, 71, 71, 1557, 1554, 1561, 71, 1563, + 71, 1562, 1559, 71, 1566, 1565, 71, 1569, 71, 71, + 71, 1568, 71, 71, 1564, 71, 71, 1576, 71, 71, + 71, 71, 1567, 1577, 1571, 71, 71, 1570, 71, 1574, + 1580, 1572, 1573, 1581, 71, 1585, 1583, 71, 1575, 1578, + 1579, 71, 1584, 1587, 71, 1582, 1586, 1589, 71, 71, + 71, 71, 71, 71, 71, 71, 1594, 1591, 1588, 1592, + 71, 1595, 71, 71, 71, 71, 71, 1596, 1599, 1590, + 71, 1600, 71, 1610, 71, 1606, 1593, 1608, 1598, 71, + 1597, 71, 1603, 71, 1601, 1604, 1602, 71, 1607, 71, - 1611, 1604, 1610, 71, 1612, 1613, 71, 71, 1616, 71, - 71, 71, 1614, 71, 1620, 1621, 1619, 71, 1623, 1615, - 71, 71, 1622, 71, 71, 71, 71, 71, 1617, 71, - 1618, 1625, 1626, 71, 1627, 71, 71, 71, 1635, 71, - 71, 71, 71, 1628, 71, 71, 1624, 1629, 71, 71, - 1631, 1632, 1633, 71, 1634, 1630, 1640, 71, 1642, 1636, - 71, 1643, 1637, 1638, 71, 71, 1639, 71, 1641, 71, - 71, 71, 71, 71, 71, 71, 71, 1658, 71, 1644, - 1648, 1645, 1650, 1651, 71, 1649, 1652, 1647, 1653, 1646, - 71, 1654, 71, 1657, 1659, 71, 1655, 71, 1656, 71, + 1614, 71, 1611, 1609, 1613, 71, 71, 1605, 71, 1616, + 1615, 71, 1617, 1618, 71, 71, 71, 71, 71, 71, + 1619, 71, 71, 1625, 1612, 1624, 1626, 1620, 71, 71, + 71, 1628, 71, 1627, 1621, 1630, 1622, 71, 1623, 1631, + 71, 71, 71, 71, 1629, 71, 1632, 71, 71, 1640, + 71, 71, 71, 71, 71, 71, 71, 71, 1646, 71, + 1633, 1636, 1637, 1634, 1638, 1635, 1639, 1642, 71, 71, + 1641, 1644, 71, 71, 1643, 71, 1649, 1645, 1648, 71, + 71, 71, 71, 71, 1650, 71, 1651, 71, 1647, 71, + 1654, 71, 1656, 1664, 71, 71, 1657, 1655, 1653, 1658, - 1662, 71, 1661, 71, 1660, 1663, 71, 71, 1666, 71, - 71, 71, 1664, 71, 1667, 71, 71, 1675, 71, 1670, - 1665, 1676, 71, 71, 1674, 1672, 1668, 1669, 1673, 71, - 71, 71, 1671, 71, 71, 71, 71, 71, 1677, 71, - 1685, 71, 1678, 71, 1689, 1680, 1682, 71, 1679, 1681, - 1687, 71, 1688, 1686, 1684, 71, 1693, 71, 1690, 71, - 1683, 71, 71, 1697, 1691, 71, 71, 1692, 1698, 71, - 71, 3070, 71, 1705, 71, 1694, 1699, 1702, 1703, 1696, - 1695, 1700, 71, 1706, 71, 71, 1708, 1701, 1704, 71, - 1707, 71, 71, 71, 1712, 71, 71, 1709, 1716, 1714, + 71, 71, 71, 1652, 1663, 1659, 1660, 1666, 1662, 1665, + 71, 1661, 71, 1669, 71, 1668, 71, 71, 1667, 71, + 71, 1671, 1672, 71, 1673, 71, 71, 71, 71, 1670, + 1682, 71, 1676, 71, 71, 71, 1680, 1678, 1681, 1674, + 1679, 1675, 71, 71, 71, 1677, 71, 1684, 71, 1686, + 71, 71, 1691, 1683, 71, 71, 71, 71, 1688, 1687, + 1685, 1694, 71, 1695, 1693, 71, 1697, 71, 1690, 1698, + 1692, 71, 1699, 1689, 1703, 71, 71, 1696, 71, 1704, + 71, 71, 71, 1700, 71, 1709, 71, 1708, 1711, 71, + 1705, 71, 1701, 1702, 71, 1712, 1706, 1714, 71, 1713, - 71, 71, 1710, 71, 71, 1715, 71, 1711, 1713, 1717, - 71, 71, 71, 71, 71, 71, 71, 1743, 1720, 71, - 1721, 71, 1718, 1726, 71, 1719, 1722, 1723, 1728, 1724, - 1725, 1729, 1730, 71, 71, 1731, 71, 71, 71, 71, - 1736, 1732, 71, 71, 71, 1727, 71, 1740, 71, 71, - 71, 1733, 1735, 71, 1742, 71, 71, 1734, 1744, 1738, - 1745, 71, 1739, 71, 1737, 1746, 1749, 71, 71, 1741, - 71, 71, 1753, 71, 71, 71, 71, 71, 1748, 71, - 71, 71, 1751, 1755, 1747, 71, 1760, 1750, 1754, 1756, - 1752, 1757, 71, 1761, 1758, 71, 1764, 71, 71, 71, + 1707, 71, 1710, 71, 1715, 71, 1716, 1718, 71, 71, + 1722, 71, 1720, 71, 71, 71, 71, 71, 1721, 1717, + 71, 1719, 1723, 71, 71, 1726, 71, 71, 71, 1727, + 1724, 1732, 71, 1734, 1725, 71, 1728, 1729, 1735, 71, + 1730, 1731, 1737, 71, 71, 71, 1739, 71, 1736, 71, + 1742, 71, 71, 1733, 71, 71, 71, 1746, 71, 71, + 71, 71, 1741, 1748, 71, 1738, 1740, 71, 1744, 1749, + 1752, 71, 1745, 1743, 71, 1747, 1750, 1755, 71, 1751, + 71, 71, 1754, 1753, 71, 1759, 71, 71, 71, 71, + 71, 71, 71, 1757, 1766, 1761, 71, 71, 71, 1756, - 1759, 1763, 1765, 1762, 1766, 71, 71, 1768, 1769, 1770, - 71, 1767, 71, 71, 71, 1772, 71, 71, 71, 1773, - 71, 71, 71, 71, 1771, 71, 71, 1778, 71, 71, - 1782, 71, 1779, 1790, 71, 1783, 71, 1774, 1776, 1777, - 1775, 1780, 71, 1781, 71, 71, 1791, 1786, 1784, 1788, - 71, 1785, 71, 71, 1787, 71, 71, 1792, 1796, 71, - 1789, 71, 71, 1799, 1800, 71, 1801, 71, 71, 1793, - 71, 1794, 71, 1795, 3070, 1797, 1808, 1798, 71, 1802, - 1803, 71, 71, 1804, 1807, 71, 1809, 71, 1811, 1805, - 1810, 1806, 71, 1813, 71, 71, 1812, 71, 71, 71, + 71, 1760, 1762, 1758, 1763, 1861, 71, 71, 1764, 1767, + 1771, 1765, 1769, 71, 1768, 1770, 71, 1772, 71, 71, + 1775, 71, 1774, 71, 1773, 1778, 71, 1776, 71, 71, + 71, 71, 1779, 1777, 71, 71, 71, 71, 71, 71, + 1784, 71, 71, 1788, 71, 71, 1785, 3083, 71, 1794, + 1780, 1786, 1782, 1781, 1783, 71, 1787, 1789, 71, 1797, + 1792, 71, 1791, 1796, 71, 71, 1798, 1793, 71, 71, + 1790, 71, 71, 1795, 1802, 71, 1805, 1806, 71, 71, + 1799, 1807, 71, 71, 1800, 1803, 71, 1804, 71, 1801, + 1809, 71, 71, 1810, 1813, 71, 71, 1815, 71, 1808, - 1815, 1816, 71, 71, 1817, 1818, 71, 1825, 3070, 71, - 71, 71, 71, 71, 1830, 71, 71, 71, 1823, 1827, - 1814, 1819, 1820, 1821, 1828, 71, 1824, 1831, 1822, 1829, - 1826, 1833, 1832, 71, 71, 71, 71, 71, 1837, 71, - 71, 1839, 1834, 71, 71, 71, 1842, 1843, 71, 71, - 1845, 71, 71, 71, 1835, 71, 1836, 71, 71, 1850, - 1851, 71, 1838, 1840, 1847, 71, 1841, 1848, 71, 1844, - 71, 71, 71, 71, 1849, 71, 1857, 1846, 1852, 1854, - 1855, 71, 71, 1853, 1861, 71, 71, 1860, 1864, 1865, - 71, 1866, 71, 1863, 71, 71, 1856, 1859, 71, 1858, + 1814, 1816, 1817, 71, 1811, 1819, 1818, 1812, 71, 71, + 71, 71, 1824, 1821, 1822, 71, 71, 1823, 71, 71, + 71, 71, 71, 1832, 71, 3083, 71, 71, 1837, 71, + 1834, 1825, 1826, 1827, 1820, 1835, 71, 71, 1828, 1830, + 1829, 1836, 1831, 71, 1833, 1840, 71, 71, 1838, 71, + 71, 71, 1844, 71, 71, 1841, 71, 1846, 1839, 71, + 71, 1849, 1850, 71, 71, 1852, 71, 1842, 71, 71, + 1843, 71, 71, 71, 1847, 71, 1845, 1857, 1854, 71, + 1855, 1848, 71, 71, 1851, 1858, 71, 1860, 1862, 71, + 1864, 71, 71, 1853, 1856, 71, 1859, 1867, 1868, 71, - 71, 71, 71, 1867, 71, 1862, 71, 71, 71, 1868, - 1872, 71, 1875, 1876, 1871, 71, 1877, 71, 71, 71, - 71, 1869, 71, 1870, 1873, 71, 71, 1885, 71, 1880, - 71, 1884, 1879, 71, 1874, 1878, 71, 71, 1882, 3070, - 71, 1889, 1883, 71, 71, 1881, 1890, 71, 1887, 1886, - 1892, 71, 1891, 71, 71, 1888, 71, 1893, 1894, 1896, - 71, 71, 71, 1895, 71, 1897, 1900, 1903, 1898, 71, - 71, 1906, 71, 71, 1905, 1899, 71, 1907, 71, 71, - 71, 71, 1901, 1908, 1902, 1904, 71, 1909, 1913, 71, - 71, 1910, 1914, 71, 1915, 1920, 1911, 1917, 1918, 1916, + 71, 1873, 71, 1871, 71, 71, 1872, 1870, 1863, 71, + 1874, 1866, 71, 71, 71, 71, 71, 1865, 71, 1869, + 71, 1879, 1875, 71, 71, 1882, 1883, 1878, 71, 71, + 1884, 71, 71, 71, 1876, 1877, 71, 1887, 1880, 71, + 71, 1892, 71, 71, 1886, 1891, 71, 71, 1885, 1881, + 71, 1889, 71, 1888, 71, 1898, 1896, 1899, 71, 71, + 1897, 1890, 1893, 1900, 71, 1894, 1895, 1903, 71, 71, + 71, 71, 71, 71, 71, 1901, 1907, 1910, 1913, 71, + 1902, 71, 71, 71, 1905, 71, 1914, 1912, 71, 71, + 1904, 1906, 1915, 1908, 1909, 71, 1911, 71, 1916, 1920, - 71, 1912, 71, 71, 71, 1922, 71, 71, 71, 71, - 1927, 71, 1919, 1924, 1921, 71, 71, 1929, 1923, 1925, - 71, 71, 71, 71, 71, 71, 71, 1935, 1934, 1933, - 1936, 71, 1930, 1926, 1931, 1937, 71, 1928, 71, 1939, - 1932, 71, 71, 71, 71, 71, 3070, 1940, 1941, 71, - 1942, 1943, 71, 71, 1944, 1945, 71, 1947, 1938, 71, - 71, 71, 1951, 71, 71, 1946, 1950, 1955, 71, 71, - 71, 1948, 1949, 1952, 1953, 1954, 71, 71, 71, 71, - 71, 1962, 1960, 71, 71, 71, 1957, 71, 1961, 71, - 71, 71, 1967, 71, 1964, 71, 1956, 1958, 3070, 1959, + 71, 1921, 71, 1922, 1924, 71, 1917, 1925, 1923, 71, + 71, 1918, 71, 71, 71, 1929, 71, 1919, 71, 1927, + 71, 71, 1931, 71, 1928, 71, 71, 1934, 1930, 1936, + 71, 1926, 1932, 71, 71, 71, 71, 71, 1937, 71, + 1941, 1940, 1938, 71, 1942, 1943, 71, 1935, 1933, 1944, + 71, 1946, 71, 1939, 71, 71, 71, 71, 1947, 1945, + 1948, 71, 1949, 1950, 71, 71, 1951, 1952, 71, 1954, + 71, 71, 71, 71, 1958, 71, 71, 1953, 1957, 71, + 71, 1959, 1955, 1956, 1960, 1961, 1962, 71, 71, 71, + 71, 71, 71, 71, 1969, 1967, 1963, 1964, 1968, 71, - 71, 71, 1963, 1968, 1966, 71, 1971, 1965, 71, 1970, - 1972, 1969, 71, 71, 1977, 71, 1974, 1975, 71, 71, - 1973, 1978, 71, 71, 71, 1983, 1976, 71, 71, 1985, - 71, 71, 1986, 1987, 71, 1979, 71, 1982, 1980, 1981, - 71, 71, 71, 1989, 1984, 71, 1991, 71, 1988, 71, - 71, 1992, 71, 71, 71, 71, 71, 71, 71, 2003, - 71, 1990, 1994, 1999, 1995, 1996, 71, 2002, 1993, 1998, - 71, 71, 71, 2006, 2004, 1997, 2000, 2007, 2001, 71, - 71, 71, 2010, 71, 2009, 71, 2005, 71, 2012, 71, - 71, 2008, 2013, 71, 71, 71, 2014, 2018, 71, 2011, + 71, 71, 71, 71, 1974, 71, 71, 1965, 1971, 1966, + 1970, 71, 71, 1978, 71, 1975, 1973, 71, 1980, 1972, + 1977, 71, 71, 1976, 1984, 71, 1979, 1982, 71, 71, + 71, 1985, 71, 1990, 1983, 1981, 71, 71, 71, 71, + 71, 1992, 71, 71, 1993, 1986, 1987, 1988, 1994, 71, + 1989, 1995, 71, 71, 1991, 71, 1998, 71, 1997, 1996, + 71, 71, 1999, 71, 71, 71, 71, 71, 71, 71, + 71, 3083, 2001, 2002, 2007, 2004, 2011, 71, 2000, 2003, + 71, 2006, 2010, 71, 71, 2012, 2014, 2008, 71, 2009, + 71, 2005, 71, 2015, 2018, 2017, 71, 71, 71, 71, - 2020, 71, 2016, 2022, 71, 71, 2017, 2015, 71, 2019, - 71, 71, 2025, 2024, 71, 2021, 2026, 71, 71, 2027, - 2030, 71, 71, 71, 71, 71, 71, 2031, 2036, 71, - 71, 2023, 2033, 71, 2032, 2028, 71, 2037, 2029, 2035, - 2040, 71, 2034, 71, 71, 2038, 71, 71, 2041, 2042, - 2046, 71, 2044, 2039, 71, 71, 2048, 71, 2049, 2043, - 2045, 71, 71, 71, 71, 71, 2047, 2051, 71, 71, - 2050, 2055, 2057, 2053, 71, 71, 2054, 2058, 71, 71, - 2060, 2052, 71, 2059, 2062, 71, 2056, 2061, 71, 71, - 2063, 2067, 71, 71, 71, 2064, 71, 71, 2066, 71, + 2013, 71, 2020, 71, 2016, 2021, 71, 71, 2022, 2026, + 71, 71, 2024, 2028, 2019, 71, 71, 71, 2025, 2023, + 2030, 71, 2032, 71, 71, 2033, 71, 71, 71, 2027, + 2029, 2034, 2035, 2038, 71, 71, 71, 71, 71, 71, + 2039, 2031, 2036, 71, 2041, 2044, 71, 2040, 2037, 71, + 2045, 71, 2043, 2048, 71, 71, 2042, 71, 2046, 71, + 2049, 71, 71, 2050, 71, 2052, 2054, 71, 71, 2056, + 71, 2047, 2051, 2053, 2055, 71, 2057, 71, 71, 2058, + 71, 71, 2059, 2063, 71, 2064, 71, 71, 2065, 2061, + 71, 71, 2062, 2066, 71, 2067, 2060, 2072, 71, 2068, - 71, 71, 71, 71, 71, 71, 2076, 2077, 2065, 71, - 2071, 2068, 2069, 2070, 2072, 2073, 2074, 71, 2078, 71, - 2075, 71, 71, 2079, 71, 2081, 71, 71, 2082, 2087, - 71, 71, 2089, 71, 71, 2086, 2080, 2083, 2091, 2084, - 2088, 71, 71, 71, 3070, 2094, 2090, 2092, 71, 2085, - 2095, 71, 2096, 2097, 2093, 71, 2099, 71, 71, 71, - 2098, 2101, 71, 2100, 71, 2102, 71, 2106, 71, 71, - 2107, 71, 2110, 2109, 2115, 2105, 71, 71, 71, 2103, - 71, 2111, 2114, 2108, 71, 2112, 2113, 71, 71, 71, - 2104, 71, 2116, 71, 71, 2118, 71, 71, 71, 2120, + 71, 71, 2069, 2070, 71, 2071, 2075, 71, 71, 71, + 2074, 2073, 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 2076, 2084, 2081, 2078, 2077, 2079, 2082, 2080, + 2086, 71, 71, 71, 2091, 2083, 2085, 71, 2087, 2089, + 2090, 71, 2095, 71, 71, 2093, 2097, 71, 71, 71, + 2094, 2088, 71, 2096, 2100, 2092, 2099, 71, 2102, 2104, + 2105, 71, 71, 2103, 71, 71, 71, 2098, 71, 2107, + 2101, 2106, 2109, 71, 71, 2110, 71, 2114, 71, 71, + 2115, 71, 2108, 71, 2118, 2113, 71, 71, 2120, 2111, + 71, 2119, 71, 2116, 2121, 71, 2123, 2122, 71, 71, - 71, 71, 71, 2123, 71, 71, 2129, 71, 71, 2117, - 2127, 71, 2122, 71, 71, 2130, 2125, 71, 2119, 2121, - 2124, 2126, 2132, 2131, 71, 71, 2128, 71, 71, 71, - 2136, 2139, 71, 2135, 71, 71, 2134, 2140, 71, 2133, - 2137, 71, 71, 71, 71, 71, 2138, 2150, 71, 71, - 71, 2155, 71, 2141, 2142, 2151, 2147, 71, 71, 71, - 71, 2143, 2145, 2146, 2149, 2144, 2148, 2156, 71, 71, - 2152, 71, 2153, 2154, 2157, 71, 71, 71, 2160, 2166, - 2161, 2163, 71, 2162, 2158, 71, 71, 71, 71, 2159, - 2164, 2165, 2169, 71, 2170, 71, 71, 2172, 71, 71, + 2112, 2117, 71, 2124, 71, 71, 71, 71, 2126, 71, + 71, 2128, 71, 71, 71, 2131, 71, 71, 2125, 2137, + 71, 2135, 2130, 71, 71, 71, 71, 2138, 2133, 2140, + 2127, 2132, 2129, 71, 2134, 71, 71, 71, 71, 2136, + 2139, 2144, 2147, 71, 71, 2142, 71, 71, 71, 71, + 2145, 71, 2141, 71, 2143, 2148, 2146, 71, 71, 71, + 71, 2158, 71, 2149, 71, 2150, 71, 2159, 71, 2155, + 2153, 2151, 2160, 2152, 2154, 2157, 71, 2163, 71, 2156, + 2161, 2162, 2164, 71, 71, 71, 2165, 2166, 71, 71, + 2169, 71, 71, 2167, 2172, 71, 71, 2173, 2168, 71, - 2168, 2174, 71, 71, 71, 2177, 71, 2167, 71, 2176, - 2178, 71, 71, 71, 71, 2171, 71, 2173, 2175, 71, - 71, 2180, 2179, 3070, 2183, 2184, 71, 2181, 2186, 71, - 71, 71, 71, 2182, 2189, 2185, 2188, 71, 2187, 71, - 2190, 2192, 71, 71, 2196, 71, 71, 71, 71, 71, - 71, 2193, 2194, 2200, 71, 2191, 2201, 71, 71, 2203, - 71, 71, 2195, 2199, 2206, 71, 2197, 71, 71, 2202, - 2198, 71, 71, 2204, 2208, 2205, 71, 71, 2213, 71, - 71, 2207, 2209, 71, 71, 2215, 71, 71, 2214, 2210, - 2211, 71, 2219, 71, 2216, 71, 71, 2223, 2220, 71, + 2170, 2174, 71, 2171, 71, 2178, 71, 2179, 71, 71, + 2181, 71, 71, 2183, 71, 71, 2177, 71, 71, 2175, + 2185, 71, 2176, 2186, 71, 2187, 71, 2189, 2180, 71, + 2182, 71, 2184, 71, 71, 2188, 2193, 71, 2192, 2195, + 71, 71, 71, 2190, 71, 71, 2199, 2198, 2197, 71, + 2191, 2201, 71, 2194, 71, 71, 2205, 71, 71, 2196, + 71, 2200, 71, 71, 2210, 71, 71, 2209, 2202, 2203, + 71, 71, 71, 71, 2204, 2212, 71, 2208, 2206, 2215, + 71, 71, 71, 2207, 71, 2211, 2213, 2214, 2217, 71, + 2218, 71, 2222, 2216, 71, 71, 71, 2224, 71, 2225, - 2221, 2225, 2212, 71, 71, 71, 71, 2224, 2227, 2217, - 2228, 2218, 2222, 71, 2230, 2232, 71, 71, 2233, 2229, - 71, 71, 2234, 71, 71, 2226, 71, 2231, 71, 2237, - 71, 71, 71, 2238, 71, 3070, 2236, 2239, 2243, 2240, - 2241, 2235, 2244, 71, 71, 71, 2242, 2245, 71, 71, - 71, 2248, 71, 2249, 2246, 71, 2250, 71, 2247, 71, - 2256, 71, 71, 71, 2251, 2252, 71, 2253, 2254, 71, - 71, 71, 2258, 2255, 71, 71, 71, 2257, 2259, 2263, - 2264, 71, 2262, 2267, 71, 2260, 2261, 71, 2268, 2269, - 71, 71, 71, 2266, 2265, 2270, 2271, 2272, 2273, 2274, + 2219, 71, 2220, 2223, 71, 71, 2229, 71, 71, 2230, + 2228, 71, 71, 71, 2226, 2221, 2227, 2234, 2236, 71, + 2232, 71, 2239, 71, 2237, 2241, 71, 71, 71, 2233, + 2231, 71, 2242, 71, 71, 3083, 2238, 2235, 2243, 71, + 71, 71, 2246, 71, 2240, 71, 71, 2245, 71, 2247, + 2248, 2244, 2249, 2252, 2250, 2253, 71, 71, 71, 71, + 2251, 71, 2254, 71, 2257, 2256, 2258, 71, 2255, 71, + 2259, 71, 71, 2265, 71, 71, 71, 2261, 2260, 2262, + 71, 71, 71, 2263, 71, 2267, 71, 2264, 71, 2272, + 2266, 71, 2268, 2273, 2271, 71, 71, 2269, 2316, 2270, - 71, 71, 71, 71, 71, 71, 2276, 71, 71, 71, - 2280, 2281, 71, 71, 2277, 2275, 71, 71, 2283, 71, - 2284, 2278, 2285, 2286, 71, 71, 2282, 2279, 71, 71, - 2287, 71, 2291, 71, 71, 2290, 71, 2288, 71, 71, - 71, 2293, 71, 71, 71, 71, 2297, 2292, 71, 2289, - 2299, 2300, 71, 2309, 2296, 71, 71, 71, 2294, 2295, - 71, 2301, 2302, 2298, 2303, 2304, 2305, 71, 71, 71, - 2307, 71, 71, 2314, 2310, 2306, 71, 2312, 71, 71, - 71, 71, 2311, 2308, 2313, 2316, 71, 71, 2318, 71, - 2315, 71, 71, 71, 71, 71, 2317, 71, 2322, 2319, + 2276, 71, 71, 2277, 2278, 71, 71, 2275, 71, 2279, + 2281, 2274, 2282, 2280, 2283, 71, 71, 71, 71, 71, + 2285, 71, 71, 71, 71, 2289, 2290, 71, 71, 71, + 3083, 2284, 71, 2286, 2292, 71, 2287, 71, 71, 2293, + 2294, 2291, 2288, 2295, 71, 71, 71, 2297, 2298, 71, + 2296, 2300, 71, 2299, 71, 71, 71, 71, 71, 2301, + 2302, 71, 2306, 71, 2309, 71, 71, 71, 2308, 71, + 71, 2305, 2310, 71, 2303, 2315, 2304, 71, 2313, 71, + 2314, 2307, 71, 2311, 71, 2312, 71, 2320, 2317, 71, + 2319, 2318, 71, 2322, 71, 2324, 71, 71, 2323, 2326, - 2324, 71, 2325, 2326, 71, 2320, 2327, 71, 2321, 2328, - 71, 2329, 71, 71, 71, 71, 71, 2330, 2332, 2337, - 2323, 2335, 71, 71, 71, 71, 71, 71, 2334, 2340, - 71, 71, 2336, 2333, 2331, 71, 71, 2344, 2341, 2345, - 71, 2339, 2338, 71, 71, 71, 2342, 71, 2346, 2343, - 71, 71, 2349, 2350, 2348, 71, 71, 71, 71, 3070, - 71, 71, 2347, 2354, 2351, 2356, 2357, 71, 2353, 2352, - 2358, 71, 2359, 71, 2360, 71, 71, 2355, 71, 2362, - 71, 2364, 71, 2363, 71, 2365, 71, 71, 2361, 71, - 2370, 71, 71, 71, 2366, 2372, 71, 71, 2367, 2373, + 71, 71, 2328, 71, 71, 2327, 71, 71, 2321, 2325, + 71, 71, 71, 71, 71, 2332, 71, 2334, 2335, 71, + 2330, 71, 2329, 2331, 2336, 71, 2337, 71, 2338, 71, + 2339, 2344, 2340, 71, 71, 71, 2341, 2333, 2342, 2347, + 2343, 2345, 71, 71, 2346, 71, 71, 71, 2350, 71, + 71, 71, 71, 2351, 71, 2354, 2355, 71, 71, 71, + 3083, 2348, 2349, 2356, 71, 2352, 71, 71, 2358, 2353, + 2357, 2359, 71, 71, 2360, 71, 71, 71, 2361, 71, + 2364, 2362, 2366, 2367, 71, 2363, 2368, 71, 2369, 71, + 2370, 71, 71, 71, 71, 2374, 2365, 2372, 2373, 71, - 71, 71, 71, 71, 2374, 2369, 71, 2368, 2376, 2375, - 71, 2371, 71, 71, 2377, 2379, 2382, 71, 71, 71, - 71, 71, 2383, 2378, 71, 71, 2380, 71, 2389, 71, - 71, 71, 2381, 2386, 2390, 71, 71, 71, 2388, 2385, - 2396, 71, 71, 71, 2384, 2387, 2391, 2393, 2398, 71, - 2392, 71, 2394, 2406, 2399, 2397, 2400, 71, 71, 2395, - 2401, 71, 71, 2402, 71, 2403, 71, 2404, 71, 2405, - 71, 71, 71, 71, 71, 71, 71, 2407, 2414, 71, - 71, 2412, 71, 2418, 2419, 71, 71, 71, 2408, 2409, - 2422, 71, 2410, 2411, 2413, 2415, 2421, 2416, 2417, 71, + 2375, 71, 71, 71, 2371, 71, 2380, 71, 71, 2382, + 71, 2383, 71, 2376, 2377, 71, 71, 71, 71, 71, + 71, 2379, 71, 2378, 2386, 2389, 2384, 2381, 2385, 71, + 2387, 2392, 71, 71, 71, 71, 71, 71, 71, 2388, + 71, 2399, 2390, 2393, 71, 71, 71, 71, 71, 2391, + 2396, 71, 2398, 2400, 71, 2395, 3083, 2406, 71, 2394, + 2397, 2401, 2402, 2403, 71, 71, 71, 2410, 71, 2408, + 2404, 2409, 2407, 71, 2405, 2411, 71, 71, 2412, 71, + 2413, 71, 2414, 2415, 2416, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 2424, 71, 71, 71, 71, 2422, - 71, 2424, 71, 71, 71, 71, 71, 71, 2420, 2423, - 71, 2427, 71, 2433, 71, 2434, 71, 2425, 71, 71, - 2428, 2426, 2435, 71, 2429, 2430, 2431, 71, 71, 71, - 71, 2432, 2439, 71, 2437, 71, 2436, 2443, 2442, 2444, - 71, 71, 2438, 2445, 2446, 71, 71, 71, 71, 2440, - 2441, 71, 71, 71, 71, 71, 2448, 71, 2452, 71, - 2457, 71, 2456, 2450, 71, 2447, 71, 2449, 2460, 71, - 71, 71, 2451, 71, 2453, 2455, 2454, 2461, 71, 2458, - 2464, 71, 2463, 71, 2459, 2462, 2466, 71, 71, 2469, - 71, 71, 71, 71, 2473, 71, 2465, 2472, 71, 2475, + 71, 2428, 2429, 71, 2417, 2419, 2418, 2431, 71, 2421, + 2420, 2423, 71, 2425, 2426, 2427, 71, 2430, 2432, 71, + 71, 2433, 2434, 71, 71, 71, 2435, 2437, 71, 71, + 71, 2443, 71, 71, 2436, 2444, 71, 71, 2445, 2438, + 71, 71, 71, 2439, 71, 2441, 2440, 2450, 71, 2442, + 71, 2446, 2447, 71, 71, 2449, 2454, 71, 2453, 2448, + 2455, 71, 71, 71, 2456, 2457, 71, 71, 2451, 71, + 2452, 71, 2459, 71, 71, 71, 2458, 71, 2463, 71, + 71, 2461, 2467, 2468, 71, 71, 2460, 2471, 71, 71, + 71, 2462, 71, 2472, 2464, 2466, 2465, 71, 2470, 71, - 71, 2471, 71, 2470, 71, 71, 71, 2467, 2468, 2476, - 71, 2477, 2480, 71, 71, 2481, 71, 2474, 2479, 2483, - 71, 2478, 71, 71, 71, 71, 2488, 71, 71, 2484, - 2490, 71, 2482, 2486, 2487, 2485, 71, 71, 2489, 71, - 71, 2491, 2492, 71, 71, 2494, 71, 2496, 71, 71, - 71, 2495, 2498, 2493, 2500, 2497, 71, 2503, 71, 2504, - 71, 2501, 71, 2499, 71, 2502, 71, 71, 2509, 2505, - 71, 2506, 71, 2511, 71, 2510, 71, 71, 71, 2514, - 71, 71, 2507, 2513, 2518, 2508, 2515, 71, 2517, 71, - 2516, 2512, 2519, 71, 71, 71, 2523, 2520, 71, 2521, + 2469, 2474, 2475, 71, 71, 2473, 71, 2477, 2480, 71, + 71, 71, 2476, 71, 2484, 71, 71, 2483, 2486, 71, + 2482, 71, 2481, 71, 2478, 71, 2479, 71, 2487, 71, + 2488, 2491, 71, 71, 2492, 2485, 2494, 71, 71, 2490, + 71, 2489, 71, 71, 2499, 71, 71, 2497, 2501, 71, + 71, 2493, 2498, 2495, 71, 2496, 71, 71, 71, 2502, + 71, 2500, 2503, 2505, 2504, 71, 71, 71, 2506, 71, + 71, 71, 2511, 71, 2508, 2507, 2512, 2509, 2514, 71, + 2516, 2510, 2515, 71, 71, 2513, 71, 71, 2520, 2517, + 71, 71, 2522, 71, 71, 2521, 71, 2525, 71, 2526, - 2522, 71, 71, 71, 71, 2524, 71, 71, 2525, 3070, - 2530, 2531, 71, 2526, 2529, 2528, 71, 71, 71, 71, - 71, 2527, 2535, 2532, 2533, 2534, 71, 71, 71, 71, - 71, 71, 2537, 2538, 71, 71, 71, 2543, 2536, 71, - 2541, 71, 71, 2540, 2542, 71, 71, 2539, 2544, 2548, - 71, 2550, 71, 2545, 2552, 71, 71, 71, 71, 71, - 71, 2546, 3070, 2556, 2547, 2549, 71, 2551, 2557, 71, - 2559, 2560, 2554, 2561, 2563, 2553, 71, 71, 2555, 71, - 2562, 71, 71, 71, 71, 2558, 71, 2564, 71, 71, - 2567, 71, 2565, 71, 2570, 2572, 71, 2566, 2573, 71, + 71, 2524, 71, 3083, 2518, 2519, 2528, 71, 2523, 71, + 71, 2530, 2529, 71, 71, 2527, 2531, 71, 2532, 2533, + 2534, 71, 71, 71, 71, 2535, 71, 2536, 71, 2541, + 71, 2540, 2537, 71, 2542, 71, 2539, 71, 2543, 2538, + 71, 71, 2544, 71, 71, 71, 2545, 2546, 2548, 2547, + 2549, 71, 71, 71, 71, 71, 2554, 71, 71, 71, + 71, 71, 2552, 2553, 71, 2551, 2555, 2559, 71, 2550, + 71, 2560, 71, 2564, 71, 2563, 71, 2556, 71, 2557, + 2558, 2562, 71, 71, 2569, 71, 71, 2568, 2571, 2561, + 2572, 2573, 71, 2566, 71, 2565, 71, 71, 2574, 71, - 2574, 71, 2568, 71, 2569, 71, 71, 2575, 71, 2571, - 2576, 2577, 71, 2579, 2581, 71, 71, 71, 2584, 2582, - 71, 2585, 71, 2586, 71, 71, 2578, 2580, 2587, 71, - 71, 71, 2591, 71, 71, 2592, 2583, 2593, 71, 71, - 2595, 71, 2588, 71, 71, 71, 2599, 71, 2589, 2600, - 71, 2590, 71, 71, 2594, 2602, 2596, 2601, 71, 2598, - 2603, 71, 2597, 71, 71, 71, 2608, 2611, 71, 71, - 2604, 2607, 71, 2610, 71, 71, 71, 71, 2605, 2612, - 2614, 71, 71, 2606, 2613, 2616, 71, 71, 71, 2609, - 71, 2619, 2623, 71, 71, 71, 71, 71, 2617, 2618, + 2575, 71, 2567, 71, 71, 71, 2576, 71, 71, 2579, + 71, 2570, 2577, 71, 2582, 2584, 71, 2578, 2585, 71, + 71, 2580, 71, 2581, 2586, 71, 2587, 71, 2583, 2589, + 71, 71, 2588, 71, 71, 71, 2591, 2593, 71, 2596, + 2590, 71, 2594, 71, 2599, 2592, 2597, 71, 2598, 71, + 71, 71, 71, 2601, 2595, 2603, 71, 71, 2604, 2605, + 71, 2607, 71, 2600, 71, 71, 71, 2606, 2611, 2612, + 71, 2602, 71, 2614, 71, 71, 2613, 2608, 2615, 71, + 2610, 71, 71, 2609, 71, 2620, 71, 71, 71, 71, + 2619, 71, 2622, 2623, 71, 71, 71, 2625, 2616, 2626, - 2615, 71, 2639, 71, 2622, 2620, 2625, 71, 2621, 2624, - 2627, 2630, 71, 2628, 2626, 2629, 2631, 71, 2633, 71, - 2632, 71, 2634, 71, 2635, 71, 2636, 71, 2637, 71, - 71, 71, 2640, 71, 71, 2645, 71, 71, 71, 71, - 2642, 2646, 2648, 71, 71, 2638, 2649, 2650, 71, 2651, - 2652, 71, 71, 2643, 2644, 2647, 2641, 71, 71, 71, - 71, 2653, 2657, 71, 2658, 71, 2654, 2655, 71, 71, - 2661, 71, 71, 71, 2659, 2662, 71, 2656, 2666, 71, - 2664, 71, 2663, 2660, 71, 2665, 2667, 71, 2668, 71, - 71, 71, 71, 2669, 71, 71, 71, 2670, 71, 2672, + 2624, 2617, 2618, 71, 71, 71, 2628, 71, 71, 71, + 2631, 2621, 2627, 2635, 71, 71, 71, 71, 71, 2637, + 71, 2629, 2630, 2634, 71, 2632, 71, 2638, 2633, 2636, + 2642, 2639, 2641, 2645, 71, 2643, 71, 2640, 71, 2644, + 71, 2646, 71, 2647, 71, 2648, 71, 2649, 71, 71, + 71, 71, 2653, 2651, 2650, 71, 2657, 71, 71, 2654, + 2658, 71, 71, 2661, 71, 2659, 71, 2663, 71, 2652, + 71, 2655, 71, 2662, 71, 2656, 2660, 2664, 2665, 71, + 71, 71, 71, 2666, 2670, 71, 2671, 71, 2669, 2667, + 2668, 71, 2674, 71, 71, 71, 2672, 2675, 71, 2678, - 2677, 71, 2671, 2673, 2675, 71, 71, 71, 2678, 71, - 2680, 71, 2681, 2932, 2676, 71, 2682, 2674, 2683, 2679, - 71, 2691, 71, 2685, 71, 2684, 2686, 2687, 71, 2688, - 71, 2689, 71, 2690, 71, 71, 2694, 71, 71, 71, - 2693, 71, 71, 2695, 2696, 2697, 71, 71, 71, 71, - 2702, 71, 2700, 2692, 3070, 2698, 71, 2704, 71, 71, - 71, 71, 2699, 2705, 71, 2706, 2701, 71, 2708, 2707, - 2709, 71, 2712, 71, 2703, 71, 2710, 71, 71, 71, - 71, 71, 2715, 71, 71, 2722, 71, 71, 2713, 2716, - 2714, 2711, 2719, 71, 71, 2717, 2724, 71, 2720, 71, + 71, 71, 2677, 2680, 71, 2679, 2673, 2676, 2681, 71, + 71, 71, 71, 71, 71, 2682, 71, 71, 2690, 71, + 71, 2685, 71, 71, 71, 2686, 2688, 2693, 2694, 2684, + 3083, 2691, 71, 2695, 71, 2683, 2689, 71, 71, 2687, + 71, 2692, 2697, 2696, 71, 2698, 2700, 71, 2699, 2701, + 71, 2702, 71, 71, 71, 71, 71, 2707, 2704, 2705, + 2706, 2708, 2703, 71, 71, 2710, 71, 71, 71, 2709, + 2715, 71, 2711, 2713, 71, 71, 71, 2717, 71, 2718, + 71, 71, 71, 2721, 71, 2719, 2720, 71, 2712, 2714, + 71, 2725, 71, 71, 71, 71, 71, 71, 71, 2716, - 2718, 2725, 71, 2727, 71, 71, 2723, 71, 71, 2721, - 71, 71, 2732, 71, 71, 2726, 2731, 71, 71, 2733, - 71, 2728, 71, 2729, 2730, 71, 2736, 2742, 2737, 2739, - 71, 71, 2741, 2734, 2744, 71, 2735, 2738, 71, 71, - 2740, 2745, 71, 2747, 71, 71, 71, 71, 2752, 71, - 71, 71, 3070, 2743, 71, 2750, 2749, 2756, 71, 2746, - 71, 71, 2754, 2748, 2757, 71, 2758, 2751, 2753, 71, - 2761, 2755, 2759, 2762, 71, 71, 71, 2764, 2763, 71, - 71, 71, 71, 71, 2769, 2766, 2767, 71, 71, 2760, - 71, 2772, 71, 71, 71, 71, 71, 2765, 2777, 71, + 2728, 71, 2723, 2722, 2729, 71, 2726, 2727, 71, 2732, + 2724, 71, 71, 2730, 2735, 71, 2733, 2731, 2737, 71, + 2738, 71, 2740, 71, 71, 71, 71, 2736, 71, 71, + 71, 2734, 71, 2739, 2744, 2745, 71, 71, 2749, 71, + 2741, 2742, 2743, 71, 2752, 71, 71, 71, 2746, 2754, + 71, 2748, 2755, 2747, 71, 71, 71, 2750, 2751, 2757, + 71, 2758, 71, 2760, 71, 71, 2753, 2762, 71, 2765, + 71, 71, 2756, 71, 2759, 71, 71, 2763, 2769, 71, + 71, 71, 3083, 2761, 2770, 2764, 71, 2771, 2767, 2766, + 2774, 2768, 2772, 2773, 2775, 71, 71, 71, 2777, 71, - 2773, 2768, 71, 71, 2770, 2771, 2780, 71, 2776, 2781, - 71, 2774, 2779, 71, 71, 2778, 2783, 71, 2782, 2775, - 2785, 71, 2784, 2786, 71, 2787, 71, 71, 2789, 71, - 71, 71, 2788, 2790, 71, 71, 2794, 2795, 71, 71, - 71, 71, 2799, 71, 2800, 71, 71, 71, 71, 2801, - 2798, 2837, 2791, 2792, 2796, 71, 2793, 71, 71, 2797, - 2805, 71, 2804, 2806, 71, 71, 2802, 2803, 2809, 71, - 2807, 71, 2808, 71, 71, 2812, 71, 71, 2813, 2811, - 71, 2810, 71, 71, 71, 71, 71, 2816, 71, 71, - 2818, 71, 71, 2819, 71, 2817, 71, 2814, 71, 71, + 2776, 71, 71, 71, 71, 2782, 2779, 2780, 71, 2785, + 71, 71, 71, 71, 71, 71, 71, 2778, 2790, 71, + 71, 71, 2781, 71, 2786, 2783, 2784, 71, 2789, 2792, + 2811, 2787, 2793, 71, 71, 2791, 2794, 71, 71, 2788, + 71, 2796, 2803, 2795, 71, 2797, 2798, 71, 2799, 71, + 2800, 71, 71, 2802, 71, 71, 2804, 2801, 71, 2807, + 2808, 71, 71, 71, 2812, 71, 2805, 2813, 71, 2814, + 71, 71, 71, 71, 3083, 71, 2809, 2806, 2817, 2818, + 71, 2819, 71, 2810, 71, 2821, 2822, 71, 71, 2820, + 2815, 2816, 71, 2825, 71, 71, 2824, 71, 71, 2823, - 2815, 71, 71, 2828, 2829, 2820, 71, 2824, 2821, 2822, - 2823, 2825, 2826, 2831, 71, 71, 3070, 2827, 2894, 71, - 2832, 2830, 2833, 2835, 71, 2836, 71, 2834, 2838, 71, - 2839, 71, 2840, 2841, 71, 71, 2842, 2843, 2846, 71, - 2844, 2845, 71, 71, 2847, 71, 71, 71, 71, 71, - 2853, 71, 71, 71, 2852, 71, 71, 2856, 71, 3070, - 2848, 2849, 2855, 71, 71, 2857, 2850, 71, 2851, 71, - 2861, 2862, 71, 2858, 2863, 71, 2860, 2854, 71, 2864, - 71, 2859, 2868, 2865, 2870, 71, 71, 2869, 71, 2866, - 71, 71, 2867, 71, 71, 71, 2877, 71, 2874, 2875, + 2826, 71, 71, 71, 71, 71, 2829, 71, 71, 2831, + 71, 71, 2832, 71, 2830, 71, 71, 2827, 2828, 71, + 71, 2841, 71, 71, 2833, 2842, 2837, 2834, 2835, 2836, + 2838, 2839, 2844, 71, 2943, 71, 2840, 71, 71, 2843, + 2845, 2850, 2846, 2848, 71, 71, 2847, 2849, 71, 2851, + 71, 2852, 71, 2853, 2854, 71, 71, 2855, 2856, 2859, + 71, 2857, 2858, 2861, 71, 2860, 71, 71, 71, 71, + 71, 2866, 71, 71, 71, 2865, 71, 71, 2869, 71, + 71, 2862, 71, 2868, 71, 2878, 2870, 71, 2863, 2864, + 71, 2874, 71, 2873, 2871, 2875, 71, 71, 2867, 2881, - 2878, 2872, 71, 2880, 71, 71, 71, 71, 2879, 3070, - 2871, 2926, 2873, 71, 2876, 2881, 71, 2900, 2882, 2883, - 71, 2884, 71, 2885, 71, 2886, 71, 2887, 71, 2888, - 71, 2889, 71, 2890, 71, 71, 2892, 71, 71, 71, - 71, 71, 2897, 71, 2891, 71, 71, 2893, 71, 2901, - 2903, 71, 71, 71, 71, 2898, 2905, 71, 2899, 2895, - 2896, 2902, 71, 2907, 71, 2910, 71, 2909, 71, 71, - 2904, 71, 71, 71, 2912, 2908, 71, 71, 71, 71, - 2906, 71, 2911, 2916, 2919, 2913, 71, 2917, 71, 2915, - 2914, 2918, 2920, 2921, 71, 2922, 71, 2923, 71, 71, + 2872, 2876, 71, 71, 2882, 71, 2879, 2877, 2883, 2880, + 71, 71, 2884, 71, 71, 71, 2887, 2891, 2885, 71, + 2888, 2890, 71, 71, 3083, 2892, 2893, 71, 2894, 71, + 71, 2886, 2889, 2896, 71, 2895, 2897, 71, 2898, 71, + 2899, 71, 2900, 71, 2901, 71, 2902, 71, 2903, 71, + 71, 2905, 71, 71, 71, 71, 71, 71, 71, 2904, + 2910, 71, 2906, 71, 71, 71, 2907, 71, 2914, 71, + 2913, 2911, 2916, 71, 71, 2908, 2909, 2912, 2915, 71, + 71, 2920, 2918, 2917, 71, 2923, 71, 2922, 71, 71, + 71, 71, 2921, 2925, 71, 2919, 71, 71, 71, 71, - 71, 71, 2928, 71, 71, 71, 71, 2934, 2925, 2924, - 2931, 71, 71, 71, 2930, 71, 71, 71, 71, 2933, - 2927, 71, 71, 71, 2929, 2935, 2941, 71, 2948, 71, - 2936, 2937, 2938, 2940, 2942, 71, 71, 71, 2950, 71, - 2939, 2945, 2943, 2944, 71, 2951, 2949, 2947, 71, 2946, - 2952, 71, 2953, 71, 71, 71, 71, 71, 2956, 71, - 71, 2957, 2958, 2961, 71, 71, 71, 2954, 71, 71, - 71, 2964, 2966, 71, 2955, 2960, 71, 2963, 2962, 2969, - 71, 71, 71, 71, 2959, 2967, 2972, 71, 2965, 71, - 2973, 2974, 71, 2976, 71, 2968, 2970, 2977, 71, 71, + 2924, 71, 2929, 71, 2932, 71, 2928, 2930, 2926, 2939, + 2933, 71, 2927, 71, 2931, 2934, 71, 2935, 71, 2936, + 71, 71, 2938, 71, 71, 71, 2937, 2945, 71, 2944, + 71, 2940, 71, 2947, 71, 2941, 71, 71, 71, 71, + 71, 71, 71, 2946, 71, 71, 2942, 2948, 2954, 2949, + 71, 71, 71, 2951, 2950, 2953, 2955, 2958, 2961, 71, + 71, 2967, 2956, 2952, 2959, 2957, 2963, 71, 71, 2962, + 71, 2960, 71, 2964, 2965, 71, 2966, 71, 71, 71, + 71, 2969, 71, 2974, 2970, 2971, 71, 71, 2968, 71, + 71, 71, 2979, 71, 71, 2972, 2977, 2973, 71, 2976, - 2971, 71, 71, 71, 2982, 71, 71, 2981, 2978, 2983, - 71, 2975, 71, 71, 2979, 71, 71, 2980, 71, 71, - 2987, 71, 71, 2989, 71, 71, 71, 2984, 71, 2986, - 2994, 2995, 2985, 2988, 2991, 2992, 2996, 71, 2990, 71, - 71, 3000, 71, 2993, 71, 3002, 71, 3003, 2997, 3001, - 71, 71, 71, 71, 3008, 3004, 71, 2998, 3005, 2999, - 71, 3006, 3009, 71, 71, 3011, 71, 71, 71, 3010, - 71, 3007, 3012, 71, 71, 3017, 71, 3014, 71, 71, - 3020, 71, 3021, 71, 71, 71, 3013, 71, 71, 3024, - 71, 3019, 3015, 3016, 3022, 3018, 71, 3023, 71, 3028, + 2975, 2982, 71, 71, 71, 2985, 71, 71, 2986, 2980, + 2978, 71, 71, 71, 2989, 2990, 71, 2981, 2983, 2987, + 71, 71, 2984, 71, 71, 71, 71, 2991, 71, 2992, + 2994, 2988, 2995, 71, 2996, 71, 71, 71, 71, 71, + 71, 3000, 2993, 3002, 71, 2997, 2998, 71, 3001, 71, + 2999, 71, 71, 3004, 3007, 71, 3008, 3005, 3003, 3009, + 71, 71, 3013, 71, 71, 3015, 3006, 71, 3016, 3014, + 71, 71, 3010, 3011, 71, 3017, 71, 71, 3021, 3018, + 3012, 3019, 3022, 71, 71, 71, 3024, 71, 71, 71, + 3023, 71, 3025, 71, 71, 3030, 3020, 71, 3027, 71, - 71, 3029, 71, 3027, 71, 3032, 3025, 3026, 71, 71, - 3034, 71, 3035, 3030, 71, 71, 71, 3039, 71, 3036, - 71, 71, 3037, 3041, 71, 3040, 71, 3033, 3031, 3042, - 71, 3043, 71, 3044, 71, 3038, 71, 3048, 71, 3046, - 71, 71, 71, 71, 71, 71, 3050, 3051, 71, 3054, - 71, 3045, 3055, 71, 3070, 3047, 71, 3058, 71, 3049, - 3059, 71, 3052, 3053, 3056, 3060, 3061, 71, 71, 3057, - 3062, 71, 71, 71, 71, 3063, 71, 3064, 3065, 3068, - 71, 3069, 71, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3070, 3070, 3070, 3066, 3070, 3067, 43, 43, 43, 43, + 3033, 71, 71, 3034, 71, 71, 71, 71, 3026, 71, + 71, 3037, 3028, 3029, 3035, 3032, 3031, 3036, 71, 3041, + 71, 71, 71, 3040, 71, 3042, 3038, 71, 3039, 71, + 3045, 71, 3047, 71, 3043, 71, 3048, 71, 3049, 3052, + 71, 71, 71, 3046, 3050, 71, 3051, 3053, 3044, 71, + 71, 3054, 3055, 71, 71, 3061, 71, 3056, 71, 71, + 3058, 3057, 71, 3059, 3060, 71, 71, 3063, 71, 71, + 3064, 71, 3067, 3068, 71, 71, 71, 3071, 3062, 3072, + 71, 3083, 71, 3074, 71, 3065, 71, 3066, 3069, 3073, + 3075, 71, 71, 3076, 3070, 71, 71, 3077, 71, 3083, - 43, 43, 43, 48, 48, 48, 48, 48, 48, 48, - 53, 53, 53, 53, 53, 53, 53, 59, 59, 59, - 59, 59, 59, 59, 64, 64, 64, 64, 64, 64, - 64, 74, 74, 3070, 74, 74, 74, 74, 141, 141, - 3070, 3070, 3070, 141, 141, 143, 143, 3070, 3070, 143, - 3070, 143, 145, 3070, 3070, 3070, 3070, 3070, 145, 148, - 148, 3070, 3070, 3070, 148, 148, 150, 3070, 3070, 3070, - 3070, 3070, 150, 152, 152, 3070, 152, 152, 152, 152, - 75, 75, 3070, 75, 75, 75, 75, 13, 3070, 3070, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, + 3078, 3081, 71, 3082, 71, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3079, 3083, 3080, 43, 43, + 43, 43, 43, 43, 43, 48, 48, 48, 48, 48, + 48, 48, 53, 53, 53, 53, 53, 53, 53, 59, + 59, 59, 59, 59, 59, 59, 64, 64, 64, 64, + 64, 64, 64, 74, 74, 3083, 74, 74, 74, 74, + 141, 141, 3083, 3083, 3083, 141, 141, 143, 143, 3083, + 3083, 143, 3083, 143, 145, 3083, 3083, 3083, 3083, 3083, + 145, 148, 148, 3083, 3083, 3083, 148, 148, 150, 3083, + 3083, 3083, 3083, 3083, 150, 152, 152, 3083, 152, 152, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070 + 152, 152, 75, 75, 3083, 75, 75, 75, 75, 13, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083 } ; -static const flex_int16_t yy_chk[6029] = +static const flex_int16_t yy_chk[6051] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -2107,13 +2115,13 @@ static const flex_int16_t yy_chk[6029] = 5, 3, 6, 20, 4, 20, 20, 5, 20, 6, 7, 7, 7, 7, 20, 7, 8, 8, 8, 8, 29, 8, 7, 9, 9, 9, 22, 22, 8, 10, - 10, 10, 15, 25, 9, 29, 15, 25, 3076, 31, + 10, 10, 15, 25, 9, 29, 15, 25, 3089, 31, 10, 11, 11, 11, 11, 11, 11, 19, 79, 19, 19, 30, 19, 11, 31, 79, 30, 25, 19, 19, 47, 47, 11, 12, 12, 12, 12, 12, 12, 21, 23, 23, 21, 21, 24, 12, 21, 81, 23, 24, - 34, 21, 23, 24, 12, 23, 24, 1010, 24, 24, + 34, 21, 23, 24, 12, 23, 24, 1012, 24, 24, 21, 26, 26, 27, 27, 90, 28, 81, 32, 32, 28, 34, 27, 28, 33, 33, 26, 32, 36, 33, 28, 35, 28, 32, 90, 42, 35, 32, 52, 84, @@ -2236,532 +2244,534 @@ static const flex_int16_t yy_chk[6029] = 522, 521, 524, 526, 526, 528, 528, 529, 529, 530, 532, 533, 534, 532, 535, 530, 533, 536, 531, 537, 536, 538, 535, 539, 537, 540, 541, 543, 544, 540, - 542, 534, 541, 544, 542, 545, 547, 546, 548, 550, - 553, 547, 539, 546, 538, 543, 549, 551, 551, 549, - 552, 557, 548, 556, 549, 545, 553, 550, 549, 554, - 555, 560, 59, 559, 554, 555, 557, 556, 552, 559, - 560, 561, 562, 563, 561, 566, 562, 564, 563, 565, + 542, 534, 541, 544, 542, 545, 547, 546, 548, 551, + 551, 547, 539, 546, 538, 543, 549, 550, 552, 549, + 59, 553, 548, 557, 549, 545, 554, 549, 549, 555, + 556, 554, 560, 559, 555, 550, 552, 553, 557, 559, + 561, 560, 562, 561, 556, 563, 562, 565, 564, 566, - 564, 567, 569, 570, 565, 571, 572, 572, 570, 574, - 575, 566, 573, 576, 578, 569, 54, 577, 562, 567, - 578, 573, 576, 584, 579, 571, 575, 612, 574, 577, - 579, 580, 581, 581, 580, 581, 582, 583, 585, 582, - 586, 584, 583, 587, 588, 612, 586, 596, 587, 592, - 588, 589, 585, 590, 589, 591, 593, 595, 590, 594, - 591, 591, 592, 595, 594, 597, 596, 598, 599, 593, - 600, 600, 598, 601, 597, 604, 603, 608, 594, 594, - 601, 602, 603, 613, 602, 605, 606, 604, 599, 610, - 605, 606, 606, 607, 607, 609, 611, 609, 611, 602, + 563, 564, 565, 567, 569, 570, 571, 572, 572, 574, + 570, 573, 577, 575, 576, 566, 578, 569, 562, 579, + 573, 567, 578, 576, 577, 579, 571, 580, 574, 575, + 580, 581, 581, 582, 581, 583, 582, 584, 585, 586, + 583, 587, 588, 596, 589, 586, 587, 589, 588, 590, + 592, 591, 585, 593, 590, 584, 591, 591, 608, 594, + 597, 595, 596, 592, 594, 598, 593, 595, 599, 597, + 598, 600, 600, 601, 602, 603, 54, 602, 594, 594, + 601, 603, 604, 608, 605, 606, 607, 607, 599, 605, + 606, 606, 602, 609, 604, 609, 610, 611, 612, 611, - 614, 613, 608, 615, 616, 617, 618, 619, 610, 624, - 618, 617, 620, 621, 622, 623, 619, 626, 614, 627, - 625, 624, 615, 626, 616, 628, 629, 620, 621, 630, - 633, 632, 622, 627, 623, 625, 631, 628, 634, 635, - 631, 636, 637, 639, 639, 629, 633, 637, 630, 632, - 638, 640, 641, 643, 642, 640, 634, 635, 635, 645, - 636, 644, 646, 647, 638, 642, 644, 643, 649, 651, - 648, 641, 650, 649, 651, 645, 647, 648, 652, 650, - 653, 646, 654, 652, 655, 656, 657, 659, 658, 654, - 662, 660, 659, 655, 660, 657, 663, 661, 653, 656, + 613, 614, 615, 616, 617, 618, 622, 620, 619, 618, + 617, 621, 623, 624, 625, 610, 612, 619, 613, 614, + 627, 615, 620, 616, 622, 624, 621, 626, 628, 625, + 629, 623, 630, 626, 627, 631, 632, 633, 634, 631, + 628, 635, 636, 637, 638, 639, 639, 53, 637, 629, + 641, 630, 642, 633, 632, 646, 634, 643, 638, 635, + 635, 636, 640, 642, 645, 644, 640, 653, 647, 641, + 644, 643, 648, 649, 646, 650, 656, 48, 649, 648, + 645, 647, 650, 651, 652, 653, 654, 655, 651, 652, + 656, 657, 658, 654, 659, 660, 655, 661, 660, 659, - 658, 661, 664, 666, 662, 663, 665, 667, 667, 668, - 668, 669, 669, 670, 672, 673, 674, 664, 668, 675, - 665, 673, 670, 675, 666, 676, 677, 678, 679, 682, - 680, 683, 681, 672, 679, 684, 674, 676, 680, 681, - 693, 705, 690, 687, 694, 678, 705, 682, 695, 693, - 694, 677, 697, 697, 700, 684, 683, 685, 687, 690, - 699, 696, 685, 702, 695, 696, 685, 698, 698, 685, - 701, 699, 700, 706, 703, 707, 685, 685, 720, 685, - 703, 708, 53, 702, 701, 704, 704, 704, 709, 704, - 720, 709, 704, 707, 706, 710, 710, 704, 711, 712, + 657, 661, 662, 663, 658, 664, 666, 665, 667, 667, + 668, 668, 663, 669, 669, 670, 662, 672, 674, 668, + 664, 665, 673, 676, 670, 675, 677, 666, 673, 675, + 678, 679, 680, 683, 681, 676, 672, 679, 674, 682, + 680, 681, 684, 690, 687, 693, 694, 702, 678, 695, + 699, 677, 694, 700, 693, 697, 697, 682, 683, 687, + 690, 699, 684, 685, 701, 695, 696, 702, 685, 706, + 696, 700, 685, 698, 698, 685, 705, 707, 701, 708, + 703, 705, 685, 685, 726, 685, 703, 704, 704, 704, + 706, 704, 726, 709, 704, 707, 709, 710, 710, 704, - 712, 713, 721, 704, 704, 711, 708, 714, 714, 715, - 716, 722, 717, 716, 715, 722, 713, 717, 718, 718, - 719, 721, 719, 723, 725, 724, 726, 726, 728, 730, - 727, 732, 725, 729, 729, 733, 731, 735, 735, 746, - 746, 733, 728, 723, 724, 727, 734, 730, 731, 736, - 739, 734, 738, 732, 736, 736, 739, 738, 740, 743, - 741, 742, 743, 744, 740, 741, 745, 742, 748, 744, - 747, 747, 749, 750, 745, 751, 748, 752, 750, 753, - 753, 755, 751, 754, 757, 756, 759, 761, 760, 755, - 749, 756, 754, 762, 767, 759, 752, 760, 762, 763, + 711, 712, 712, 713, 708, 704, 704, 711, 714, 715, + 715, 716, 717, 714, 718, 717, 716, 721, 713, 718, + 719, 719, 720, 722, 720, 724, 723, 725, 728, 721, + 723, 727, 727, 729, 730, 730, 731, 732, 733, 736, + 736, 992, 722, 728, 734, 724, 725, 729, 735, 732, + 734, 737, 992, 735, 731, 740, 737, 737, 739, 741, + 733, 740, 742, 739, 743, 741, 744, 742, 745, 744, + 743, 746, 747, 747, 745, 748, 748, 749, 750, 746, + 752, 751, 753, 754, 754, 749, 751, 752, 755, 757, + 756, 758, 762, 760, 761, 757, 750, 755, 756, 763, - 765, 764, 766, 757, 764, 765, 768, 769, 763, 771, - 771, 761, 770, 772, 773, 768, 766, 770, 770, 767, - 769, 774, 775, 776, 780, 778, 776, 778, 772, 782, - 774, 779, 779, 773, 776, 781, 783, 784, 785, 786, - 781, 788, 787, 789, 790, 780, 775, 789, 791, 792, - 782, 787, 793, 794, 795, 792, 783, 784, 796, 786, - 785, 793, 790, 797, 788, 794, 798, 791, 801, 797, - 799, 803, 796, 795, 802, 799, 800, 800, 804, 805, - 798, 806, 807, 802, 808, 813, 804, 809, 801, 810, - 812, 803, 811, 809, 814, 810, 812, 817, 818, 805, + 764, 753, 760, 761, 763, 765, 766, 767, 765, 764, + 758, 766, 768, 769, 770, 773, 762, 774, 771, 772, + 772, 767, 769, 771, 771, 775, 776, 770, 777, 784, + 773, 777, 781, 779, 775, 779, 774, 768, 782, 777, + 780, 780, 783, 782, 785, 786, 787, 788, 789, 784, + 776, 790, 791, 781, 792, 790, 788, 796, 797, 793, + 794, 43, 795, 783, 785, 793, 787, 786, 799, 794, + 791, 789, 797, 792, 795, 798, 796, 802, 800, 801, + 801, 798, 799, 800, 803, 804, 805, 806, 807, 808, + 810, 809, 811, 803, 805, 812, 810, 802, 811, 814, - 814, 807, 815, 806, 808, 813, 811, 816, 815, 819, - 818, 816, 820, 824, 819, 822, 817, 825, 818, 821, - 821, 822, 823, 826, 827, 823, 828, 828, 829, 826, - 825, 824, 830, 820, 831, 831, 832, 830, 833, 834, - 834, 835, 833, 837, 827, 836, 829, 838, 837, 840, - 841, 832, 843, 844, 846, 846, 847, 849, 849, 48, - 847, 848, 850, 835, 841, 836, 838, 851, 852, 869, - 869, 851, 843, 840, 844, 845, 848, 854, 845, 853, - 845, 855, 854, 852, 845, 857, 845, 850, 859, 861, - 858, 845, 856, 853, 858, 855, 845, 856, 856, 857, + 813, 14, 818, 819, 821, 804, 813, 806, 808, 812, + 807, 809, 815, 817, 816, 819, 828, 817, 815, 814, + 816, 818, 820, 819, 823, 821, 825, 820, 822, 822, + 823, 824, 826, 827, 824, 830, 828, 829, 829, 827, + 833, 831, 832, 832, 825, 826, 831, 834, 835, 835, + 836, 834, 838, 830, 837, 833, 839, 838, 841, 842, + 844, 848, 845, 847, 847, 848, 849, 850, 850, 851, + 853, 855, 836, 842, 837, 839, 855, 854, 856, 899, + 844, 849, 841, 845, 846, 853, 852, 846, 899, 846, + 852, 854, 856, 846, 851, 846, 857, 858, 860, 859, - 860, 861, 862, 859, 863, 860, 858, 862, 864, 865, - 866, 867, 872, 868, 873, 860, 866, 867, 863, 868, - 870, 871, 874, 865, 876, 870, 877, 871, 904, 864, - 878, 877, 881, 873, 872, 882, 876, 881, 879, 883, - 874, 875, 875, 882, 878, 880, 880, 875, 904, 875, - 879, 884, 885, 883, 887, 875, 886, 886, 887, 889, - 875, 875, 891, 890, 892, 889, 890, 875, 893, 895, - 884, 885, 43, 894, 893, 897, 898, 892, 894, 899, - 900, 891, 901, 902, 897, 898, 900, 903, 895, 905, - 906, 901, 903, 907, 910, 899, 911, 908, 909, 914, + 846, 857, 857, 859, 861, 846, 862, 863, 864, 861, + 865, 858, 863, 860, 866, 859, 873, 867, 862, 861, + 868, 869, 864, 867, 870, 870, 868, 869, 866, 871, + 872, 865, 874, 877, 871, 875, 872, 878, 873, 882, + 880, 883, 878, 879, 882, 877, 881, 881, 885, 883, + 884, 874, 880, 875, 876, 876, 886, 879, 887, 887, + 876, 888, 876, 890, 884, 888, 892, 885, 876, 890, + 894, 897, 893, 876, 876, 886, 891, 893, 895, 891, + 876, 896, 900, 894, 895, 892, 896, 901, 902, 903, + 897, 900, 904, 906, 902, 905, 907, 908, 903, 910, - 910, 917, 902, 905, 916, 907, 908, 909, 912, 918, - 906, 919, 920, 911, 912, 914, 921, 922, 916, 923, - 927, 917, 922, 930, 923, 919, 932, 926, 918, 927, - 920, 921, 926, 928, 928, 929, 930, 935, 933, 936, - 935, 929, 932, 933, 933, 934, 934, 937, 938, 934, - 939, 941, 940, 936, 942, 943, 944, 945, 946, 947, - 942, 950, 944, 946, 938, 940, 941, 937, 939, 953, - 14, 949, 945, 947, 949, 943, 951, 956, 952, 954, - 959, 951, 950, 952, 954, 953, 955, 958, 960, 956, - 964, 955, 961, 958, 960, 963, 959, 967, 961, 962, + 905, 912, 909, 901, 913, 918, 911, 912, 910, 916, + 907, 904, 914, 906, 909, 911, 919, 908, 914, 918, + 920, 913, 922, 921, 924, 916, 923, 925, 928, 924, + 930, 930, 925, 928, 929, 932, 919, 921, 931, 920, + 922, 923, 934, 929, 931, 935, 937, 938, 932, 937, + 935, 935, 936, 936, 939, 940, 936, 941, 934, 942, + 944, 938, 943, 945, 946, 947, 944, 949, 948, 952, + 946, 940, 942, 948, 939, 941, 951, 943, 955, 951, + 947, 949, 953, 945, 954, 958, 956, 953, 957, 954, + 952, 956, 960, 957, 955, 961, 962, 958, 960, 963, - 962, 968, 965, 969, 963, 965, 966, 966, 964, 970, - 972, 971, 970, 973, 979, 967, 972, 974, 980, 973, - 968, 975, 974, 969, 971, 976, 975, 977, 981, 986, - 976, 982, 979, 977, 981, 984, 982, 985, 980, 983, - 983, 987, 988, 990, 984, 988, 985, 986, 989, 991, - 992, 989, 993, 994, 990, 995, 999, 996, 997, 994, - 987, 995, 992, 997, 998, 998, 1000, 991, 1003, 1001, - 1002, 993, 996, 1004, 1002, 999, 1005, 1006, 1008, 1011, - 1000, 1001, 1004, 1009, 1009, 1012, 1003, 1013, 1017, 1014, - 1016, 1016, 1015, 1011, 1014, 1005, 13, 1008, 1018, 1013, + 964, 964, 962, 965, 966, 963, 967, 968, 968, 967, + 969, 961, 965, 970, 971, 972, 973, 974, 972, 975, + 981, 976, 966, 974, 982, 975, 976, 979, 969, 973, + 977, 978, 970, 979, 971, 977, 978, 983, 981, 986, + 984, 985, 985, 983, 982, 984, 987, 988, 986, 989, + 990, 991, 993, 990, 991, 987, 995, 994, 996, 998, + 997, 1001, 999, 1002, 996, 988, 997, 999, 989, 994, + 993, 1000, 1000, 1003, 998, 995, 1005, 1002, 1004, 1006, + 1001, 1007, 1004, 1008, 1010, 1003, 1011, 1011, 1006, 1015, + 1013, 1014, 1016, 1017, 1005, 1018, 1018, 1016, 1019, 1020, - 1012, 1015, 1006, 1019, 1018, 1020, 1023, 1022, 1017, 1019, - 1020, 1021, 1022, 1021, 1024, 1026, 1025, 1027, 1028, 1029, - 1023, 1025, 1030, 1032, 1032, 1028, 1033, 1034, 1024, 1035, - 1026, 1036, 1037, 1145, 1029, 1145, 1027, 1036, 1040, 1040, - 1033, 1030, 1038, 1041, 1035, 1034, 1043, 1038, 1041, 1042, - 1042, 1044, 1037, 1043, 1045, 1046, 1038, 1045, 1038, 1047, - 1048, 1038, 1049, 1050, 1052, 1044, 1051, 1049, 1053, 1048, - 1058, 1051, 1055, 1055, 1046, 1052, 1056, 1047, 1057, 1059, - 1064, 1056, 1050, 1057, 1059, 1060, 1061, 1053, 1062, 1060, - 1058, 1063, 1065, 1066, 1067, 1061, 1069, 1068, 1070, 1064, + 1007, 1015, 1017, 1010, 1013, 1020, 1014, 1021, 1008, 1022, + 1023, 1024, 1023, 1021, 1022, 1025, 1024, 1026, 1019, 1027, + 1028, 1029, 1031, 1030, 1027, 1032, 1034, 1034, 1035, 1025, + 1030, 1026, 1036, 1037, 1039, 1028, 13, 1031, 1043, 1038, + 1029, 1040, 1035, 1043, 1032, 1038, 1040, 1046, 1037, 1045, + 1036, 1042, 1042, 1048, 1039, 1040, 1045, 1040, 1044, 1044, + 1040, 1046, 1047, 1049, 1050, 1047, 1051, 1052, 1054, 1053, + 1055, 1051, 1048, 1050, 1053, 1057, 1057, 1058, 1059, 1054, + 1060, 1049, 1058, 1059, 1062, 1061, 1052, 1063, 1062, 1055, + 1061, 1064, 1065, 1066, 1069, 1068, 1063, 1067, 1071, 1070, - 1071, 1067, 1073, 1062, 1065, 1072, 1063, 1074, 1066, 1068, - 1075, 1072, 1076, 1081, 1078, 1069, 1080, 1073, 1071, 1070, - 1078, 1076, 1079, 1082, 1080, 1083, 1084, 1074, 1082, 1085, - 1075, 1084, 1084, 1081, 1087, 1086, 1079, 1083, 1088, 1088, - 1090, 0, 1091, 1093, 1093, 1095, 1092, 1087, 1085, 1086, - 1089, 1091, 1092, 1090, 1095, 1089, 1094, 1097, 1089, 1089, - 1096, 1094, 1097, 1089, 1100, 1098, 1096, 1099, 1099, 1089, - 1098, 1101, 1101, 1089, 1102, 1103, 1104, 1102, 1105, 1102, - 1106, 1107, 1108, 1109, 1110, 1100, 1107, 1105, 1112, 1147, - 1110, 1111, 1147, 1112, 1104, 1103, 1108, 1111, 1113, 1114, + 1060, 1069, 1072, 1073, 1075, 1076, 1064, 1065, 1074, 1067, + 1068, 1070, 1066, 1077, 1074, 1078, 1080, 1071, 1081, 1075, + 1082, 1073, 1080, 1072, 1078, 1076, 1083, 1084, 1082, 1085, + 1086, 1087, 1081, 1077, 1085, 1088, 1087, 1087, 1089, 0, + 1090, 1094, 1086, 1084, 1091, 1091, 1083, 1098, 1093, 1106, + 1094, 1095, 1089, 1090, 1088, 1092, 1098, 1095, 1096, 1096, + 1092, 1093, 1097, 1092, 1092, 1099, 1103, 1097, 1092, 1106, + 1100, 1099, 1101, 1107, 1092, 1100, 1108, 1101, 1092, 1102, + 1102, 1104, 1104, 1105, 1109, 1108, 1105, 1103, 1105, 1110, + 1112, 1107, 1111, 1113, 1110, 1114, 1116, 1115, 1117, 1113, - 1106, 1109, 1113, 1115, 1115, 1117, 1116, 1116, 1114, 1116, - 1119, 1120, 1121, 1114, 1119, 1114, 1117, 1114, 1122, 1114, - 1125, 1127, 1124, 1123, 1128, 1129, 1120, 1122, 1123, 1123, - 1121, 1124, 1126, 1128, 1130, 1127, 1131, 1126, 1134, 1132, - 1133, 1133, 1125, 1135, 1129, 1132, 1134, 1136, 1137, 1138, - 1131, 1139, 1136, 1130, 1140, 1141, 1143, 1135, 1138, 1149, - 1141, 1150, 1137, 1142, 1142, 1144, 1144, 1148, 1152, 1139, - 1150, 1143, 1148, 1151, 1151, 1153, 1153, 1155, 1149, 1140, - 1154, 1154, 1155, 1156, 1157, 1158, 1158, 1159, 1152, 1160, - 1161, 1162, 1160, 1163, 1165, 1164, 1162, 1164, 1167, 1168, + 1116, 1114, 1115, 1124, 1109, 1128, 1111, 1117, 1112, 1118, + 1118, 1122, 1117, 1120, 1117, 1122, 1117, 1123, 1117, 1119, + 1119, 1124, 1119, 1126, 1120, 1125, 1127, 1128, 1126, 1126, + 1130, 1129, 1123, 1131, 1125, 1127, 1129, 1132, 1133, 1134, + 1135, 1137, 1131, 1141, 1130, 1138, 1135, 1136, 1136, 1137, + 1139, 1140, 1141, 1134, 1142, 1139, 1132, 1133, 1143, 1138, + 1146, 1144, 1145, 1145, 1155, 1140, 1144, 1147, 1147, 1148, + 1150, 1148, 1142, 1150, 1151, 1146, 1152, 1153, 1159, 1151, + 1154, 1154, 1160, 1143, 1155, 1162, 1153, 1156, 1156, 1157, + 1157, 1158, 1161, 1161, 1163, 1152, 1158, 1163, 1164, 1159, - 0, 1167, 1163, 1169, 1156, 1157, 1170, 1159, 1169, 1172, - 1161, 1171, 1165, 1173, 1168, 1177, 1171, 1172, 1173, 1174, - 1170, 1175, 1175, 1176, 1174, 1178, 1180, 1179, 1176, 1182, - 1183, 1178, 1184, 1177, 1179, 1182, 1183, 1184, 1185, 1180, - 1186, 1187, 1188, 1190, 1185, 1189, 1189, 1192, 1193, 1186, - 1194, 1195, 1196, 1188, 1199, 1198, 1194, 1195, 1196, 1200, - 1187, 1198, 1205, 1190, 1201, 1203, 1202, 1192, 1199, 1204, - 1204, 1193, 1206, 1207, 1199, 1210, 1201, 1209, 1209, 1200, - 1202, 1208, 1205, 1203, 1211, 1213, 1208, 1214, 1215, 1211, - 1216, 1207, 1214, 1214, 1217, 1218, 1219, 1206, 1210, 1216, + 1166, 1165, 1167, 1160, 1167, 1162, 1165, 1168, 1170, 1166, + 1172, 1170, 1171, 1182, 1173, 1172, 1174, 1180, 1164, 1176, + 1182, 1174, 1175, 0, 1176, 1168, 1177, 1171, 1173, 1179, + 1175, 1177, 1178, 1178, 1179, 1180, 1181, 1183, 1185, 1186, + 1190, 1187, 1181, 1188, 1185, 1186, 1187, 1189, 1193, 1188, + 1183, 1191, 1192, 1192, 1195, 1196, 1189, 1197, 1198, 1190, + 1199, 1201, 1191, 1197, 1198, 1202, 1199, 1201, 1193, 1203, + 1204, 1209, 1205, 1206, 1195, 1207, 1207, 1208, 1196, 1202, + 1210, 1213, 1204, 1211, 1216, 1202, 1205, 1218, 1211, 1203, + 1214, 1206, 1212, 1212, 1217, 1214, 1209, 1208, 1210, 1217, - 1220, 1222, 1217, 1222, 1213, 1221, 1215, 1223, 1225, 1218, - 1221, 1219, 1226, 1221, 1225, 1220, 1226, 1227, 1220, 1228, - 1229, 1223, 1230, 1231, 1228, 1228, 1232, 1233, 1227, 1234, - 1235, 1232, 1237, 1238, 1234, 1239, 1240, 1240, 1241, 1229, - 1242, 1231, 1241, 1243, 1245, 1233, 1237, 1246, 1230, 1244, - 1235, 1238, 1248, 1239, 1247, 1244, 1245, 1249, 1242, 1250, - 1251, 1254, 1243, 1252, 1253, 1251, 1246, 1248, 1247, 1253, - 1252, 1255, 1249, 1256, 1256, 1257, 1258, 1259, 1250, 1254, - 1255, 1260, 1258, 1261, 1269, 1262, 1260, 1263, 1263, 1261, - 1257, 1262, 1264, 1264, 1266, 1266, 1267, 1268, 1259, 1270, + 1217, 1219, 1221, 1216, 1213, 1218, 1220, 1222, 1223, 1225, + 1219, 1225, 1224, 1226, 1220, 1228, 1221, 1224, 1230, 1232, + 1224, 1228, 1222, 1223, 1229, 1231, 1223, 1226, 1229, 1230, + 1231, 1231, 1233, 1234, 1235, 1236, 1237, 1238, 1232, 1235, + 1240, 1237, 1241, 1242, 1243, 1243, 1244, 1245, 1246, 1247, + 1244, 1234, 1248, 1236, 1240, 1247, 1249, 1238, 1233, 1250, + 1241, 1242, 1251, 1252, 1248, 1245, 1253, 1246, 1257, 1254, + 1262, 1256, 1255, 1250, 1254, 1249, 1256, 1251, 1252, 1255, + 1258, 1259, 1259, 1260, 1261, 1253, 1257, 1263, 1264, 1258, + 1261, 1262, 1263, 1265, 1264, 1266, 1267, 1267, 1260, 1265, - 1267, 1271, 1269, 1272, 1273, 1273, 1268, 1274, 1277, 1275, - 1272, 1278, 1281, 1270, 1276, 1279, 1271, 1275, 1280, 1276, - 1279, 1279, 1277, 1280, 1280, 1282, 1282, 1274, 1283, 1284, - 1278, 1285, 1281, 1286, 1287, 1288, 1289, 1290, 1286, 1291, - 1285, 1292, 1294, 1290, 1291, 1293, 1295, 1283, 1284, 1297, - 1296, 1293, 1295, 1287, 1289, 1288, 1296, 1298, 1299, 1300, - 1301, 1294, 1302, 1306, 1303, 1304, 1304, 1292, 1297, 1305, - 1307, 1307, 1305, 1311, 1301, 1306, 1298, 1299, 1300, 1303, - 1308, 1308, 1309, 1302, 1310, 1312, 1311, 1309, 1310, 1313, - 1314, 1318, 1314, 1316, 1312, 1317, 1314, 1319, 1320, 1325, + 1272, 1266, 1268, 1268, 1270, 1270, 1271, 1273, 1274, 1272, + 1271, 1275, 1276, 1277, 1277, 1278, 1279, 1281, 1280, 1276, + 1282, 1287, 1274, 1280, 1279, 1273, 1275, 1283, 1285, 1286, + 1286, 1281, 1283, 1283, 1288, 1278, 1284, 1289, 1290, 1282, + 1287, 1284, 1284, 1290, 1291, 1292, 1289, 1295, 1285, 1293, + 1294, 1296, 1295, 1288, 1297, 1298, 1294, 1301, 1299, 1302, + 1297, 1303, 1300, 1291, 1299, 1292, 1304, 1293, 1300, 1305, + 1306, 1307, 1308, 1308, 1298, 1310, 1301, 1296, 1302, 1309, + 1303, 0, 1309, 1305, 1315, 1304, 1307, 1310, 1311, 1311, + 1313, 1306, 1312, 1312, 1314, 1313, 1316, 1315, 1314, 1317, - 1317, 1323, 1313, 1321, 1321, 1322, 1318, 1323, 1324, 1314, - 1322, 1316, 1325, 1326, 1320, 1327, 1328, 1319, 1326, 1327, - 1328, 1329, 1330, 1324, 1331, 1332, 1333, 1333, 1335, 1337, - 1338, 1332, 1339, 1339, 1341, 1338, 1340, 1343, 1343, 1347, - 1330, 1329, 1340, 1348, 1331, 1345, 1335, 1351, 1345, 1352, - 1337, 1346, 1346, 1350, 1341, 1347, 1350, 1354, 1352, 1348, - 1353, 1353, 1355, 1356, 1357, 1358, 1360, 1351, 1361, 1357, - 1359, 1359, 1354, 1362, 1363, 1360, 1364, 1364, 1365, 1358, - 1366, 1368, 1356, 1355, 1367, 1371, 1361, 1373, 1362, 1367, - 1369, 1369, 1365, 1370, 1372, 1372, 1368, 1370, 1366, 1363, + 1318, 1322, 1318, 1320, 1321, 1316, 1318, 1323, 1324, 1321, + 1325, 1325, 1317, 1326, 1327, 1328, 1322, 1333, 1326, 1318, + 1327, 1320, 1329, 1330, 1324, 1331, 1334, 1323, 1330, 1331, + 1328, 1335, 1332, 1336, 1339, 1329, 1332, 1333, 1341, 1336, + 1337, 1337, 1342, 1344, 1334, 1343, 1343, 1342, 1345, 1344, + 1351, 1335, 1339, 1347, 1347, 1349, 1350, 1350, 1349, 1341, + 1352, 1354, 1355, 1356, 1354, 1358, 1351, 1359, 1345, 1357, + 1357, 1360, 1356, 1361, 1365, 1362, 1352, 1364, 1361, 1366, + 1358, 1367, 1355, 1363, 1363, 1369, 1364, 1370, 1359, 1362, + 1360, 1375, 1365, 1371, 1366, 1368, 1368, 1372, 1371, 1369, - 1374, 1376, 1375, 1377, 1380, 1371, 1375, 1381, 1377, 1373, - 1382, 1374, 1379, 1379, 1383, 1384, 1385, 1385, 1386, 1387, - 1376, 1381, 1380, 1386, 1388, 1389, 1390, 1391, 1383, 1382, - 1382, 1390, 1393, 1392, 1389, 1392, 1394, 1393, 1395, 1387, - 1384, 1398, 1394, 1396, 1388, 1399, 1399, 1391, 1400, 1396, - 1401, 1404, 1403, 1405, 1405, 1398, 1401, 1403, 1395, 1406, - 1406, 1408, 1407, 1409, 1413, 1410, 1415, 1400, 1410, 1411, - 1411, 1412, 1415, 1421, 1414, 1404, 1407, 1414, 1409, 1408, - 1414, 1416, 1417, 1412, 1413, 1417, 1416, 1419, 1420, 1423, - 1430, 1422, 1414, 1420, 1422, 1423, 1419, 1424, 1421, 1425, + 1373, 1373, 1377, 1374, 1378, 1370, 1367, 1374, 1376, 1376, + 1379, 1375, 1372, 1380, 1379, 1378, 1381, 1383, 1383, 1384, + 1385, 1381, 1386, 1388, 1377, 1387, 1389, 1389, 1390, 1391, + 1392, 1393, 1380, 1390, 1385, 1395, 1399, 1384, 1394, 1387, + 1393, 1386, 1386, 1394, 1396, 1398, 1396, 1397, 1388, 1391, + 1392, 1398, 1397, 1400, 1402, 1395, 1399, 1403, 1403, 1400, + 1404, 1405, 1408, 1411, 1407, 1409, 1409, 1405, 1402, 1407, + 1410, 1410, 1412, 1413, 1423, 1414, 1417, 1411, 1414, 1404, + 1415, 1415, 1416, 1423, 1421, 1419, 1408, 1421, 1413, 1418, + 1412, 1419, 1418, 1420, 1416, 1418, 1417, 1424, 1420, 1425, - 1425, 1417, 1424, 1426, 1426, 1427, 1429, 1428, 1430, 1431, - 1432, 1427, 1428, 1433, 1434, 1435, 1433, 1436, 1437, 1429, - 1434, 1435, 1436, 1438, 1437, 1442, 1439, 1443, 1431, 1441, - 1432, 1439, 1440, 1440, 1441, 1444, 1445, 1446, 1449, 1450, - 1447, 1448, 1451, 1442, 1449, 1453, 1438, 1443, 1456, 1452, - 1445, 1446, 1447, 1457, 1448, 1444, 1455, 1455, 1457, 1450, - 1458, 1458, 1451, 1452, 1459, 1461, 1453, 1460, 1456, 1462, - 1464, 1463, 1467, 1471, 1466, 1465, 1469, 1473, 1473, 1459, - 1463, 1460, 1465, 1466, 1476, 1464, 1466, 1462, 1467, 1461, - 1472, 1469, 1475, 1472, 1474, 1474, 1469, 1477, 1471, 1479, + 1427, 1426, 1424, 1421, 1426, 1428, 1427, 1418, 1429, 1429, + 1428, 1430, 1430, 1431, 1433, 1432, 1434, 1435, 1436, 1431, + 1432, 1442, 1437, 1438, 1425, 1437, 1439, 1433, 1440, 1438, + 1443, 1441, 1439, 1440, 1434, 1443, 1435, 1441, 1436, 1444, + 1444, 1445, 1446, 1447, 1442, 1448, 1445, 1449, 1450, 1453, + 1454, 1455, 1451, 1452, 1456, 1453, 1458, 1457, 1460, 1460, + 1446, 1449, 1450, 1447, 1451, 1448, 1452, 1455, 1461, 1464, + 1454, 1457, 1465, 1462, 1456, 1463, 1463, 1458, 1462, 1466, + 1467, 1468, 1469, 1476, 1464, 1470, 1465, 1471, 1461, 1472, + 1468, 1474, 1470, 1478, 1478, 1480, 1471, 1469, 1467, 1471, - 1477, 1480, 1476, 1481, 1475, 1478, 1478, 1483, 1481, 1482, - 1485, 1484, 1479, 1486, 1482, 1488, 1487, 1489, 1491, 1485, - 1480, 1490, 1490, 1489, 1488, 1487, 1483, 1484, 1487, 1492, - 1493, 1494, 1486, 1495, 1496, 1499, 1500, 1502, 1491, 1501, - 1501, 1503, 1492, 1505, 1505, 1494, 1496, 1504, 1493, 1495, - 1503, 1507, 1504, 1502, 1500, 1506, 1507, 1508, 1505, 1509, - 1499, 1510, 1513, 1511, 1506, 1515, 1514, 1506, 1511, 1511, - 1518, 0, 1516, 1519, 1519, 1508, 1513, 1516, 1517, 1510, - 1509, 1514, 1525, 1520, 1517, 1521, 1522, 1515, 1518, 1520, - 1521, 1523, 1522, 1526, 1527, 1528, 1529, 1523, 1530, 1529, + 1481, 1477, 1485, 1466, 1477, 1472, 1474, 1480, 1476, 1479, + 1479, 1474, 1482, 1483, 1483, 1482, 1484, 1486, 1481, 1487, + 1488, 1485, 1486, 1490, 1487, 1489, 1491, 1493, 1492, 1484, + 1495, 1495, 1490, 1496, 1497, 1499, 1493, 1492, 1494, 1488, + 1492, 1489, 1498, 1500, 1494, 1491, 1501, 1497, 1504, 1499, + 1505, 1506, 1506, 1496, 1507, 1508, 1509, 1511, 1501, 1500, + 1498, 1509, 1510, 1510, 1508, 1513, 1511, 1512, 1505, 1511, + 1507, 1514, 1512, 1504, 1516, 1515, 1518, 1510, 1520, 1516, + 1516, 1519, 1521, 1513, 1523, 1522, 1530, 1521, 1524, 1524, + 1518, 1522, 1514, 1515, 1526, 1525, 1519, 1527, 1528, 1526, - 1527, 1532, 1525, 1534, 1530, 1529, 1535, 1526, 1528, 1532, - 1536, 1537, 1559, 1538, 1539, 1540, 1541, 1559, 1536, 1545, - 1537, 1547, 1534, 1542, 1542, 1535, 1538, 1539, 1543, 1540, - 1541, 1544, 1545, 1548, 1543, 1546, 1546, 1544, 1549, 1550, - 1551, 1547, 1552, 1553, 1554, 1542, 1551, 1556, 1556, 1557, - 1558, 1548, 1550, 1560, 1558, 1561, 1562, 1549, 1560, 1553, - 1561, 1563, 1554, 1565, 1552, 1562, 1566, 1566, 1567, 1557, - 1568, 1569, 1570, 1570, 1571, 1575, 1572, 1573, 1565, 1574, - 1576, 1578, 1568, 1572, 1563, 1579, 1577, 1567, 1571, 1573, - 1569, 1574, 1577, 1578, 1575, 1580, 1581, 1581, 1586, 1582, + 1520, 1525, 1523, 1527, 1528, 1531, 1530, 1532, 1533, 1534, + 1535, 1539, 1534, 1532, 1537, 1540, 1535, 1541, 1534, 1531, + 1542, 1533, 1537, 1543, 1544, 1541, 1545, 1546, 1553, 1542, + 1539, 1547, 1547, 1548, 1540, 1550, 1543, 1544, 1549, 1548, + 1545, 1546, 1551, 1551, 1549, 1552, 1553, 1554, 1550, 1555, + 1556, 1557, 1558, 1547, 1559, 1562, 1556, 1561, 1561, 1563, + 1568, 1567, 1555, 1563, 1564, 1552, 1554, 1570, 1558, 1564, + 1567, 1565, 1559, 1557, 1566, 1562, 1565, 1571, 1571, 1566, + 1572, 1573, 1570, 1568, 1574, 1575, 1575, 1576, 1577, 1580, + 1578, 1581, 1579, 1573, 1582, 1577, 1584, 1583, 1676, 1572, - 1576, 1580, 1582, 1579, 1583, 1583, 1585, 1586, 1587, 1588, - 1588, 1585, 1589, 1590, 1587, 1590, 1591, 1592, 1593, 1591, - 1594, 1595, 1596, 1597, 1589, 1600, 1601, 1596, 1599, 1598, - 1600, 1602, 1597, 1606, 1606, 1601, 1608, 1592, 1594, 1595, - 1593, 1598, 1603, 1599, 1604, 1605, 1607, 1603, 1601, 1604, - 1609, 1602, 1607, 1611, 1603, 1610, 1612, 1608, 1612, 1617, - 1605, 1613, 1614, 1614, 1615, 1615, 1616, 1616, 1620, 1609, - 1621, 1610, 1623, 1611, 0, 1613, 1623, 1613, 1628, 1617, - 1618, 1618, 1619, 1619, 1622, 1622, 1624, 1625, 1627, 1620, - 1625, 1621, 1624, 1629, 1627, 1630, 1628, 1631, 1636, 1629, + 1582, 1576, 1578, 1574, 1579, 1676, 1585, 1587, 1580, 1583, + 1587, 1581, 1585, 1591, 1584, 1586, 1586, 1588, 1588, 1590, + 1592, 1594, 1591, 1595, 1590, 1595, 1592, 1593, 1593, 1596, + 1597, 1598, 1596, 1594, 1599, 1601, 1600, 1602, 1605, 1603, + 1601, 1604, 1607, 1605, 1609, 1613, 1602, 0, 1606, 1609, + 1597, 1603, 1599, 1598, 1600, 1608, 1604, 1606, 1610, 1612, + 1608, 1614, 1607, 1611, 1611, 1612, 1613, 1608, 1615, 1616, + 1606, 1618, 1617, 1610, 1617, 1619, 1619, 1620, 1620, 1622, + 1614, 1621, 1621, 1625, 1615, 1618, 1626, 1618, 1633, 1616, + 1623, 1623, 1624, 1624, 1627, 1627, 1628, 1629, 1630, 1622, - 1631, 1632, 1632, 1633, 1633, 1634, 1637, 1638, 0, 1635, - 1639, 1634, 1643, 1638, 1643, 1642, 1644, 1645, 1636, 1641, - 1630, 1635, 1635, 1635, 1641, 1641, 1637, 1644, 1635, 1642, - 1639, 1646, 1645, 1647, 1648, 1649, 1651, 1646, 1650, 1650, - 1652, 1652, 1647, 1653, 1654, 1655, 1655, 1656, 1656, 1657, - 1660, 1660, 1661, 1665, 1648, 1662, 1649, 1668, 1664, 1666, - 1667, 1667, 1651, 1653, 1662, 1666, 1654, 1664, 1669, 1657, - 1672, 1671, 1670, 1674, 1665, 1673, 1673, 1661, 1668, 1670, - 1671, 1675, 1677, 1669, 1678, 1679, 1680, 1677, 1681, 1682, - 1678, 1683, 1683, 1680, 1681, 1682, 1672, 1675, 1684, 1674, + 1628, 1630, 1632, 1629, 1625, 1634, 1633, 1626, 1632, 1635, + 1636, 1634, 1639, 1636, 1637, 1637, 1638, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 0, 1649, 1648, 1649, 1644, + 1647, 1640, 1640, 1640, 1635, 1647, 1647, 1650, 1640, 1642, + 1641, 1648, 1643, 1651, 1645, 1652, 1653, 1654, 1650, 1655, + 1657, 1652, 1656, 1656, 1659, 1653, 1658, 1658, 1651, 1660, + 1661, 1661, 1662, 1662, 1663, 1666, 1666, 1654, 1667, 1668, + 1655, 1670, 1675, 1671, 1659, 1674, 1657, 1672, 1668, 1677, + 1670, 1660, 1678, 1672, 1663, 1673, 1673, 1675, 1677, 1679, + 1679, 1680, 1683, 1667, 1671, 1681, 1674, 1683, 1684, 1685, - 1685, 1686, 1688, 1684, 1687, 1679, 1690, 1689, 1691, 1685, - 1689, 1692, 1692, 1693, 1688, 1695, 1694, 1696, 1699, 1693, - 1700, 1686, 1694, 1687, 1690, 1697, 1701, 1702, 1702, 1697, - 1703, 1701, 1696, 1704, 1691, 1695, 1706, 1707, 1699, 0, - 1708, 1707, 1700, 1709, 1714, 1697, 1708, 1712, 1704, 1703, - 1710, 1710, 1709, 1711, 1715, 1706, 1716, 1711, 1712, 1713, - 1713, 1717, 1718, 1712, 1719, 1714, 1717, 1720, 1715, 1722, - 1721, 1723, 1723, 1720, 1722, 1716, 1724, 1724, 1727, 1725, - 1728, 1729, 1718, 1725, 1719, 1721, 1736, 1727, 1730, 1730, - 1737, 1728, 1732, 1732, 1733, 1737, 1728, 1734, 1735, 1733, + 1686, 1689, 1689, 1687, 1684, 1690, 1688, 1686, 1678, 1687, + 1690, 1681, 1688, 1691, 1692, 1694, 1693, 1680, 1695, 1685, + 1696, 1695, 1691, 1697, 1698, 1698, 1699, 1694, 1701, 1702, + 1700, 1705, 1699, 1703, 1692, 1693, 1700, 1703, 1696, 1706, + 1707, 1708, 1708, 1709, 1702, 1707, 1715, 1712, 1701, 1697, + 1710, 1705, 1713, 1703, 1714, 1715, 1713, 1716, 1716, 1717, + 1714, 1706, 1709, 1717, 1718, 1710, 1712, 1719, 1719, 1720, + 1721, 1723, 1722, 1724, 1725, 1718, 1723, 1726, 1729, 1729, + 1718, 1727, 1728, 1726, 1721, 1730, 1730, 1728, 1731, 1733, + 1720, 1722, 1731, 1724, 1725, 1734, 1727, 1735, 1733, 1736, - 1733, 1729, 1738, 1734, 1735, 1739, 1741, 1743, 1744, 1742, - 1745, 1739, 1736, 1742, 1738, 1746, 1745, 1747, 1741, 1743, - 1748, 1751, 1750, 1747, 1752, 1754, 1755, 1755, 1754, 1752, - 1756, 1756, 1748, 1744, 1750, 1757, 1757, 1746, 1758, 1759, - 1751, 1760, 1763, 1761, 1762, 1759, 0, 1760, 1761, 1765, - 1762, 1763, 1767, 1768, 1765, 1767, 1769, 1769, 1758, 1771, - 1772, 1773, 1774, 1774, 1775, 1768, 1773, 1778, 1778, 1776, - 1777, 1771, 1772, 1775, 1776, 1777, 1779, 1780, 1783, 1781, - 1782, 1785, 1783, 1784, 1786, 1787, 1780, 1785, 1784, 1788, - 1789, 1791, 1791, 1792, 1787, 1797, 1779, 1781, 0, 1782, + 1736, 1738, 1738, 1739, 1740, 1742, 1734, 1741, 1739, 1739, + 1740, 1734, 1744, 1741, 1743, 1745, 1747, 1735, 1748, 1743, + 1749, 1745, 1748, 1750, 1744, 1752, 1754, 1751, 1747, 1753, + 1756, 1742, 1749, 1751, 1757, 1753, 1758, 1760, 1754, 1764, + 1760, 1758, 1756, 1761, 1761, 1762, 1762, 1752, 1750, 1763, + 1763, 1765, 1766, 1757, 1769, 1767, 1768, 1765, 1766, 1764, + 1767, 1771, 1768, 1769, 1773, 1774, 1771, 1773, 1775, 1775, + 1777, 1778, 1781, 1779, 1780, 1780, 1785, 1774, 1779, 1782, + 1783, 1781, 1777, 1778, 1782, 1783, 1784, 1784, 1786, 1787, + 1788, 1789, 1792, 1790, 1791, 1789, 1785, 1786, 1790, 1793, - 1793, 1795, 1786, 1791, 1789, 1794, 1794, 1788, 1796, 1793, - 1795, 1792, 1798, 1799, 1802, 1802, 1797, 1798, 1804, 1805, - 1796, 1804, 1806, 1809, 1808, 1810, 1799, 1811, 1812, 1812, - 1813, 1810, 1813, 1814, 1814, 1805, 1817, 1809, 1806, 1808, - 1815, 1818, 1820, 1817, 1811, 1819, 1819, 1821, 1815, 1825, - 1822, 1820, 1823, 1824, 1826, 1830, 1832, 1827, 1829, 1831, - 1831, 1818, 1822, 1827, 1823, 1824, 1833, 1830, 1821, 1826, - 1834, 1836, 1835, 1834, 1832, 1825, 1827, 1835, 1829, 1838, - 1839, 1840, 1839, 1841, 1838, 1842, 1833, 1844, 1841, 1846, - 1850, 1836, 1842, 1847, 1848, 1849, 1844, 1849, 1852, 1840, + 1791, 1794, 1795, 1797, 1797, 1798, 1802, 1787, 1793, 1788, + 1792, 1799, 1800, 1800, 1803, 1797, 1795, 1801, 1802, 1794, + 1799, 1805, 1804, 1798, 1808, 1808, 1801, 1804, 1810, 1811, + 1812, 1810, 1814, 1816, 1805, 1803, 1815, 1817, 1824, 1816, + 1818, 1818, 1819, 1821, 1819, 1811, 1812, 1814, 1820, 1820, + 1815, 1821, 1823, 1826, 1817, 1825, 1825, 1827, 1824, 1823, + 1828, 1829, 1826, 1831, 1830, 1832, 1833, 1839, 1834, 1836, + 1837, 0, 1828, 1829, 1834, 1831, 1838, 1838, 1827, 1830, + 1840, 1833, 1837, 1841, 1843, 1839, 1841, 1834, 1842, 1836, + 1845, 1832, 1846, 1842, 1846, 1845, 1847, 1848, 1849, 1851, - 1852, 1853, 1847, 1854, 1854, 1855, 1848, 1846, 1856, 1850, - 1857, 1858, 1857, 1856, 1859, 1853, 1858, 1860, 1861, 1859, - 1862, 1864, 1863, 1867, 1865, 1868, 1862, 1863, 1869, 1869, - 1871, 1855, 1865, 1872, 1864, 1860, 1870, 1870, 1861, 1868, - 1873, 1876, 1867, 1874, 1877, 1871, 1873, 1875, 1874, 1875, - 1878, 1878, 1877, 1872, 1879, 1880, 1880, 1881, 1881, 1876, - 1877, 1882, 1883, 1884, 1886, 1888, 1879, 1883, 1891, 1887, - 1882, 1887, 1889, 1886, 1890, 1893, 1886, 1889, 1889, 1894, - 1891, 1884, 1897, 1890, 1894, 1895, 1888, 1893, 1898, 1899, - 1895, 1900, 1900, 1901, 1902, 1897, 1904, 1903, 1899, 1905, + 1840, 1853, 1848, 1854, 1843, 1849, 1855, 1856, 1851, 1856, + 1857, 1859, 1854, 1859, 1847, 1862, 1860, 1863, 1855, 1853, + 1861, 1861, 1863, 1864, 1867, 1864, 1865, 1866, 1868, 1857, + 1860, 1865, 1866, 1869, 1871, 1870, 1872, 1874, 1875, 1869, + 1870, 1862, 1867, 1878, 1872, 1876, 1876, 1871, 1868, 1877, + 1877, 1879, 1875, 1880, 1883, 1881, 1874, 1884, 1878, 1880, + 1881, 1882, 1886, 1882, 1895, 1884, 1885, 1885, 1887, 1887, + 1889, 1879, 1883, 1884, 1886, 1888, 1888, 1890, 1891, 1889, + 1893, 1894, 1890, 1894, 1904, 1895, 1897, 1898, 1896, 1893, + 1900, 1905, 1893, 1896, 1896, 1897, 1891, 1904, 1901, 1898, - 1909, 1910, 1911, 1907, 1908, 1918, 1910, 1911, 1898, 1912, - 1904, 1901, 1902, 1903, 1905, 1907, 1908, 1915, 1912, 1917, - 1909, 1920, 1919, 1915, 1921, 1917, 1922, 1926, 1918, 1923, - 1923, 1924, 1925, 1925, 1927, 1922, 1915, 1919, 1927, 1920, - 1924, 1929, 1928, 1935, 0, 1930, 1926, 1928, 1934, 1921, - 1930, 1930, 1931, 1932, 1929, 1944, 1934, 1933, 1931, 1932, - 1933, 1938, 1938, 1935, 1939, 1939, 1940, 1941, 1941, 1942, - 1942, 1943, 1945, 1944, 1950, 1940, 1946, 1949, 1945, 1939, - 1950, 1946, 1949, 1943, 1947, 1947, 1948, 1948, 1952, 1953, - 1939, 1954, 1952, 1956, 1957, 1954, 1958, 1959, 1960, 1957, + 1902, 1906, 1900, 1901, 1908, 1902, 1907, 1907, 1909, 1910, + 1906, 1905, 1914, 1911, 1912, 1916, 1915, 1925, 1917, 1926, + 1928, 1919, 1908, 1917, 1914, 1910, 1909, 1911, 1915, 1912, + 1919, 1918, 1922, 1924, 1926, 1916, 1918, 1927, 1922, 1924, + 1925, 1929, 1930, 1930, 1931, 1928, 1932, 1932, 1933, 1935, + 1929, 1922, 1934, 1931, 1935, 1927, 1934, 1936, 1937, 1938, + 1939, 1941, 1942, 1937, 1937, 1938, 1939, 1933, 1940, 1941, + 1936, 1940, 1945, 1945, 1946, 1946, 1947, 1948, 1948, 1949, + 1949, 1950, 1942, 1951, 1952, 1947, 1953, 1954, 1954, 1946, + 1952, 1953, 1956, 1950, 1955, 1955, 1957, 1956, 1960, 1959, - 1962, 1963, 1961, 1960, 1965, 1964, 1966, 1966, 1968, 1953, - 1964, 1967, 1959, 1970, 1972, 1967, 1962, 1969, 1956, 1958, - 1961, 1963, 1969, 1968, 1971, 1973, 1965, 1974, 1975, 1978, - 1973, 1976, 1976, 1972, 1979, 1980, 1971, 1978, 1981, 1970, - 1974, 1982, 1984, 1983, 1985, 1986, 1975, 1989, 1989, 1988, - 1994, 1994, 1990, 1979, 1980, 1990, 1985, 1991, 1992, 2005, - 1993, 1981, 1983, 1984, 1988, 1982, 1986, 1995, 1995, 1997, - 1991, 2000, 1992, 1993, 1996, 1996, 1998, 1999, 1999, 2005, - 2000, 2001, 2001, 2000, 1997, 2002, 2004, 2006, 2007, 1998, - 2002, 2004, 2008, 2008, 2009, 2009, 2010, 2011, 2011, 2012, + 1946, 1951, 1957, 1959, 1961, 1963, 1964, 1966, 1961, 1965, + 1967, 1964, 1969, 1968, 1970, 1967, 1971, 1972, 1960, 1973, + 1973, 1971, 1966, 1974, 1976, 1975, 1977, 1974, 1969, 1976, + 1963, 1968, 1965, 1978, 1970, 1979, 1980, 1981, 1982, 1972, + 1975, 1980, 1983, 1983, 1986, 1978, 1987, 1985, 1988, 1989, + 1981, 1990, 1977, 1991, 1979, 1985, 1982, 1992, 1993, 1998, + 1995, 1996, 1996, 1986, 1997, 1987, 1999, 1997, 2000, 1992, + 1990, 1988, 1998, 1989, 1991, 1995, 2001, 2001, 2005, 1993, + 1999, 2000, 2002, 2002, 2003, 2006, 2003, 2004, 2004, 2007, + 2007, 2008, 2010, 2005, 2009, 2009, 2012, 2010, 2006, 2013, - 2007, 2013, 2013, 2014, 2015, 2016, 2016, 2006, 2018, 2015, - 2017, 2017, 2019, 2020, 2021, 2010, 2025, 2012, 2014, 2023, - 2027, 2019, 2018, 0, 2023, 2024, 2024, 2020, 2026, 2026, - 2028, 2029, 2032, 2021, 2029, 2025, 2028, 2033, 2027, 2030, - 2030, 2031, 2031, 2034, 2035, 2035, 2037, 2038, 2039, 2040, - 2042, 2032, 2033, 2040, 2043, 2030, 2041, 2041, 2044, 2043, - 2045, 2048, 2034, 2039, 2047, 2047, 2037, 2049, 2050, 2042, - 2038, 2051, 2052, 2044, 2049, 2045, 2053, 2054, 2054, 2055, - 2059, 2048, 2050, 2056, 2063, 2056, 2064, 2062, 2055, 2051, - 2052, 2057, 2059, 2060, 2057, 2061, 2065, 2063, 2060, 2066, + 2008, 2012, 2014, 2008, 2015, 2016, 2016, 2017, 2017, 2018, + 2019, 2019, 2020, 2021, 2021, 2023, 2015, 2022, 2027, 2013, + 2023, 2026, 2014, 2024, 2024, 2025, 2025, 2027, 2018, 2028, + 2020, 2029, 2022, 2031, 2033, 2026, 2032, 2032, 2031, 2034, + 2034, 2035, 2036, 2028, 2037, 2038, 2038, 2037, 2036, 2040, + 2029, 2039, 2039, 2033, 2041, 2042, 2043, 2043, 2045, 2035, + 2046, 2038, 2047, 2048, 2049, 2049, 2050, 2048, 2040, 2041, + 2051, 2052, 2053, 2056, 2042, 2051, 2058, 2047, 2045, 2055, + 2055, 2057, 2059, 2046, 2060, 2050, 2052, 2053, 2057, 2061, + 2058, 2062, 2062, 2056, 2063, 2064, 2065, 2064, 2067, 2065, - 2061, 2065, 2053, 2068, 2070, 2069, 2072, 2064, 2068, 2057, - 2069, 2057, 2062, 2074, 2071, 2073, 2076, 2075, 2074, 2070, - 2071, 2073, 2075, 2077, 2079, 2066, 2078, 2072, 2080, 2078, - 2081, 2082, 2083, 2079, 2088, 0, 2077, 2080, 2084, 2081, - 2082, 2076, 2085, 2086, 2084, 2094, 2083, 2086, 2085, 2090, - 2091, 2091, 2096, 2092, 2088, 2093, 2093, 2097, 2090, 2092, - 2098, 2098, 2099, 2100, 2093, 2094, 2102, 2094, 2096, 2103, - 2105, 2104, 2100, 2097, 2109, 2108, 2107, 2099, 2102, 2107, - 2108, 2110, 2105, 2111, 2111, 2103, 2104, 2112, 2112, 2114, - 2114, 2116, 2115, 2110, 2109, 2115, 2116, 2117, 2118, 2119, + 2059, 2068, 2060, 2063, 2069, 2070, 2068, 2071, 2072, 2069, + 2067, 2074, 2073, 2076, 2065, 2061, 2065, 2073, 2076, 2077, + 2071, 2078, 2079, 2080, 2077, 2081, 2084, 2082, 2079, 2072, + 2070, 2081, 2082, 2083, 2085, 0, 2078, 2074, 2083, 2086, + 2087, 2088, 2086, 2089, 2080, 2090, 2091, 2085, 2096, 2087, + 2088, 2084, 2089, 2092, 2090, 2093, 2098, 2102, 2094, 2092, + 2091, 2093, 2094, 2099, 2099, 2098, 2100, 2104, 2096, 2101, + 2101, 2105, 2100, 2106, 2106, 2107, 2108, 2102, 2101, 2102, + 2110, 2111, 2113, 2104, 2112, 2108, 2115, 2105, 2116, 2115, + 2107, 2117, 2110, 2116, 2113, 2118, 2163, 2111, 2163, 2112, - 2119, 2120, 2122, 2117, 2118, 2121, 2121, 2123, 2124, 2125, - 2125, 2126, 2127, 2128, 2122, 2120, 2130, 2126, 2128, 2131, - 2130, 2123, 2131, 2132, 2132, 2133, 2127, 2124, 2134, 2135, - 2133, 2136, 2137, 2137, 2138, 2136, 2140, 2134, 2141, 2142, - 2143, 2140, 2144, 2145, 2149, 2146, 2144, 2138, 2151, 2135, - 2146, 2147, 2159, 2159, 2143, 2148, 2161, 2147, 2141, 2142, - 2152, 2148, 2149, 2145, 2151, 2152, 2153, 2154, 2155, 2158, - 2155, 2160, 2153, 2165, 2160, 2154, 2162, 2162, 2166, 2165, - 2164, 2173, 2161, 2158, 2164, 2167, 2167, 2168, 2171, 2171, - 2166, 2175, 2176, 2179, 2180, 2181, 2168, 2182, 2179, 2173, + 2119, 2119, 2120, 2120, 2122, 2122, 2123, 2118, 2124, 2123, + 2125, 2117, 2126, 2124, 2127, 2127, 2125, 2128, 2126, 2129, + 2129, 2130, 2131, 2132, 2133, 2133, 2134, 2135, 2143, 2136, + 0, 2128, 2134, 2130, 2136, 2138, 2131, 2139, 2142, 2138, + 2139, 2135, 2132, 2140, 2140, 2141, 2146, 2142, 2143, 2144, + 2141, 2145, 2145, 2144, 2149, 2148, 2150, 2151, 2152, 2146, + 2148, 2153, 2152, 2154, 2155, 2157, 2156, 2162, 2154, 2159, + 2155, 2151, 2156, 2160, 2149, 2162, 2150, 2167, 2160, 2165, + 2161, 2153, 2170, 2157, 2169, 2159, 2161, 2169, 2165, 2168, + 2168, 2167, 2171, 2171, 2173, 2174, 2177, 2175, 2173, 2176, - 2181, 2189, 2182, 2183, 2183, 2175, 2185, 2185, 2176, 2187, - 2188, 2188, 2190, 2191, 2193, 2187, 2194, 2189, 2191, 2198, - 2180, 2195, 2195, 2197, 2199, 2198, 2200, 2204, 2194, 2202, - 2202, 2205, 2197, 2193, 2190, 2203, 2207, 2207, 2203, 2208, - 2208, 2200, 2199, 2209, 2210, 2211, 2204, 2212, 2209, 2205, - 2214, 2213, 2212, 2213, 2211, 2215, 2216, 2218, 2217, 0, - 2219, 2225, 2210, 2217, 2214, 2219, 2220, 2220, 2216, 2215, - 2221, 2221, 2222, 2222, 2223, 2223, 2224, 2218, 2226, 2225, - 2227, 2227, 2229, 2226, 2228, 2228, 2230, 2231, 2224, 2232, - 2233, 2233, 2234, 2237, 2229, 2235, 2235, 2238, 2230, 2236, + 2176, 2174, 2180, 2180, 2182, 2177, 2184, 2185, 2170, 2175, + 2188, 2189, 2190, 2191, 2199, 2188, 2198, 2190, 2191, 2203, + 2184, 2202, 2182, 2185, 2192, 2192, 2194, 2194, 2196, 2197, + 2197, 2203, 2198, 2200, 2196, 2206, 2199, 2189, 2200, 2207, + 2202, 2204, 2204, 2208, 2206, 2207, 2213, 2209, 2211, 2211, + 2212, 2214, 2219, 2212, 2216, 2216, 2217, 2217, 2218, 2220, + 0, 2208, 2209, 2218, 2223, 2213, 2221, 2224, 2220, 2214, + 2219, 2221, 2222, 2225, 2222, 2226, 2227, 2228, 2223, 2234, + 2226, 2224, 2228, 2229, 2229, 2225, 2230, 2230, 2231, 2231, + 2232, 2232, 2233, 2235, 2236, 2236, 2227, 2234, 2235, 2237, - 2236, 2239, 2240, 2241, 2237, 2232, 2243, 2231, 2239, 2238, - 2242, 2234, 2244, 2246, 2240, 2242, 2245, 2245, 2247, 2248, - 2249, 2250, 2246, 2241, 2251, 2253, 2243, 2252, 2252, 2257, - 2258, 2254, 2244, 2249, 2253, 2255, 2259, 2260, 2251, 2248, - 2260, 2261, 2272, 2262, 2247, 2250, 2254, 2257, 2262, 2263, - 2255, 2271, 2258, 2272, 2263, 2261, 2264, 2264, 2273, 2259, - 2265, 2265, 2266, 2266, 2268, 2268, 2270, 2270, 2275, 2271, - 2277, 2276, 2279, 2278, 2280, 2282, 2281, 2273, 2281, 2283, - 2284, 2279, 2285, 2285, 2287, 2287, 2288, 2289, 2275, 2276, - 2290, 2290, 2277, 2278, 2280, 2282, 2289, 2283, 2284, 2294, + 2237, 2238, 2239, 2240, 2233, 2241, 2242, 2242, 2243, 2244, + 2244, 2245, 2245, 2238, 2239, 2246, 2247, 2248, 2249, 2250, + 2251, 2241, 2252, 2240, 2248, 2251, 2246, 2243, 2247, 2253, + 2249, 2254, 2254, 2256, 2255, 2257, 2259, 2258, 2260, 2250, + 2261, 2261, 2252, 2255, 2262, 2266, 2263, 2264, 2267, 2253, + 2258, 2268, 2260, 2262, 2269, 2257, 0, 2269, 2270, 2256, + 2259, 2263, 2264, 2266, 2271, 2280, 2272, 2273, 2273, 2271, + 2267, 2272, 2270, 2281, 2268, 2274, 2274, 2275, 2275, 2277, + 2277, 2279, 2279, 2280, 2281, 2282, 2284, 2285, 2286, 2287, + 2288, 2289, 2290, 2291, 2290, 2297, 2292, 2293, 2298, 2288, - 2292, 2293, 2293, 2295, 2296, 2297, 2298, 2299, 2288, 2292, - 2300, 2296, 2301, 2302, 2302, 2303, 2303, 2294, 2305, 2306, - 2297, 2295, 2304, 2307, 2298, 2299, 2300, 2308, 2304, 2309, - 2310, 2301, 2308, 2311, 2306, 2312, 2305, 2312, 2311, 2313, - 2313, 2314, 2307, 2314, 2315, 2315, 2317, 2319, 2320, 2309, - 2310, 2321, 2322, 2323, 2324, 2328, 2319, 2325, 2323, 2329, - 2330, 2330, 2329, 2321, 2331, 2317, 2332, 2320, 2333, 2333, - 2336, 2341, 2322, 2334, 2324, 2328, 2325, 2334, 2337, 2331, - 2338, 2338, 2337, 2339, 2332, 2336, 2341, 2342, 2343, 2344, - 2344, 2346, 2347, 2348, 2349, 2349, 2339, 2348, 2350, 2351, + 2294, 2294, 2296, 2296, 2282, 2285, 2284, 2298, 2303, 2287, + 2286, 2289, 2301, 2291, 2292, 2293, 2304, 2297, 2299, 2299, + 2305, 2301, 2302, 2302, 2306, 2307, 2303, 2305, 2308, 2309, + 2310, 2311, 2311, 2314, 2304, 2312, 2312, 2315, 2313, 2306, + 2316, 2317, 2318, 2307, 2313, 2309, 2308, 2318, 2319, 2310, + 2320, 2314, 2315, 2321, 2322, 2317, 2322, 2327, 2321, 2316, + 2323, 2323, 2324, 2329, 2324, 2325, 2325, 2330, 2319, 2331, + 2320, 2332, 2329, 2333, 2334, 2338, 2327, 2335, 2333, 2339, + 2342, 2331, 2339, 2340, 2340, 2341, 2330, 2343, 2343, 2344, + 2346, 2332, 2351, 2344, 2334, 2338, 2335, 2347, 2342, 2349, - 2351, 2347, 2353, 2346, 2352, 2354, 2355, 2342, 2343, 2352, - 2362, 2353, 2356, 2356, 2361, 2361, 2364, 2350, 2355, 2363, - 2363, 2354, 2365, 2369, 2366, 2367, 2368, 2368, 2379, 2364, - 2371, 2371, 2362, 2366, 2367, 2365, 2374, 2375, 2369, 2376, - 2377, 2374, 2375, 2378, 2381, 2377, 2380, 2379, 2383, 2384, - 2386, 2378, 2381, 2376, 2384, 2380, 2385, 2387, 2387, 2388, - 2388, 2385, 2389, 2383, 2391, 2386, 2390, 2392, 2393, 2389, - 2394, 2390, 2395, 2395, 2393, 2394, 2396, 2402, 2397, 2398, - 2398, 2404, 2391, 2397, 2404, 2392, 2399, 2399, 2403, 2403, - 2402, 2396, 2405, 2414, 2406, 2407, 2408, 2405, 2405, 2406, + 2341, 2347, 2348, 2348, 2352, 2346, 2353, 2351, 2354, 2354, + 2356, 2357, 2349, 2358, 2359, 2359, 2360, 2358, 2361, 2361, + 2357, 2363, 2356, 2362, 2352, 2364, 2353, 2365, 2362, 2372, + 2363, 2366, 2366, 2371, 2371, 2360, 2373, 2373, 2376, 2365, + 2374, 2364, 2375, 2377, 2378, 2378, 2379, 2376, 2381, 2381, + 2386, 2372, 2377, 2374, 2384, 2375, 2389, 2385, 2387, 2384, + 2388, 2379, 2385, 2387, 2386, 2390, 2393, 2394, 2388, 2391, + 2396, 2395, 2394, 2399, 2390, 2389, 2395, 2391, 2397, 2397, + 2399, 2393, 2398, 2398, 2400, 2396, 2401, 2402, 2403, 2400, + 2404, 2405, 2405, 2406, 2403, 2404, 2407, 2408, 2408, 2409, - 2407, 2409, 2408, 2410, 2411, 2409, 2412, 2413, 2410, 0, - 2415, 2416, 2418, 2411, 2414, 2413, 2415, 2416, 2417, 2421, - 2420, 2412, 2421, 2417, 2418, 2420, 2423, 2425, 2426, 2427, - 2428, 2429, 2425, 2426, 2435, 2430, 2431, 2431, 2423, 2432, - 2429, 2436, 2440, 2428, 2430, 2437, 2439, 2427, 2432, 2438, - 2438, 2440, 2441, 2435, 2442, 2442, 2443, 2445, 2447, 2448, - 2450, 2436, 0, 2448, 2437, 2439, 2455, 2441, 2449, 2449, - 2451, 2452, 2445, 2453, 2455, 2443, 2451, 2452, 2447, 2453, - 2454, 2454, 2456, 2458, 2459, 2450, 2461, 2456, 2462, 2463, - 2461, 2466, 2458, 2465, 2465, 2467, 2467, 2459, 2468, 2468, + 2409, 2407, 2412, 0, 2401, 2402, 2413, 2413, 2406, 2414, + 2424, 2415, 2414, 2416, 2417, 2412, 2415, 2415, 2416, 2417, + 2418, 2419, 2420, 2421, 2422, 2419, 2418, 2420, 2423, 2425, + 2428, 2424, 2421, 2427, 2426, 2425, 2423, 2433, 2427, 2422, + 2426, 2430, 2428, 2435, 2431, 2436, 2430, 2431, 2435, 2433, + 2436, 2437, 2438, 2439, 2440, 2441, 2441, 2442, 2445, 2446, + 2452, 2447, 2439, 2440, 2449, 2438, 2442, 2448, 2448, 2437, + 2450, 2449, 2451, 2453, 2453, 2452, 2454, 2445, 2456, 2446, + 2447, 2451, 2458, 2459, 2460, 2460, 2461, 2459, 2462, 2450, + 2463, 2464, 2466, 2456, 2462, 2454, 2463, 2464, 2465, 2465, - 2470, 2470, 2462, 2471, 2463, 2472, 2476, 2471, 2477, 2466, - 2472, 2474, 2474, 2477, 2479, 2478, 2481, 2482, 2482, 2479, - 2479, 2484, 2484, 2485, 2485, 2486, 2476, 2478, 2486, 2487, - 2489, 2491, 2492, 2492, 2493, 2493, 2481, 2494, 2494, 2495, - 2496, 2496, 2487, 2497, 2498, 2499, 2500, 2506, 2489, 2501, - 2501, 2491, 2500, 2502, 2495, 2505, 2497, 2502, 2507, 2499, - 2505, 2505, 2498, 2508, 2511, 2509, 2510, 2513, 2513, 2512, - 2506, 2509, 2510, 2512, 2516, 2521, 2518, 2519, 2507, 2516, - 2519, 2523, 2522, 2508, 2518, 2522, 2524, 2525, 2526, 2511, - 2527, 2524, 2528, 2528, 2532, 2529, 2531, 2542, 2523, 2523, + 2466, 2467, 2458, 2469, 2470, 2472, 2467, 2473, 2474, 2472, + 2477, 2461, 2469, 2476, 2476, 2478, 2478, 2470, 2479, 2479, + 2487, 2473, 2482, 2474, 2481, 2481, 2482, 2483, 2477, 2485, + 2485, 2488, 2483, 2489, 2492, 2500, 2488, 2490, 2493, 2493, + 2487, 2497, 2490, 2490, 2497, 2489, 2495, 2495, 2496, 2496, + 2498, 2502, 2506, 2500, 2492, 2503, 2503, 2504, 2504, 2505, + 2505, 2507, 2507, 2498, 2508, 2509, 2510, 2506, 2511, 2512, + 2512, 2502, 2513, 2516, 2511, 2517, 2513, 2508, 2516, 2516, + 2510, 2518, 2519, 2509, 2520, 2521, 2522, 2532, 2523, 2529, + 2520, 2521, 2523, 2524, 2524, 2527, 2530, 2529, 2517, 2530, - 2521, 2535, 2542, 2530, 2527, 2525, 2530, 2533, 2526, 2529, - 2531, 2534, 2543, 2532, 2530, 2533, 2534, 2534, 2536, 2536, - 2535, 2537, 2537, 2538, 2538, 2539, 2539, 2540, 2540, 2541, - 2544, 2545, 2543, 2546, 2547, 2549, 2549, 2551, 2550, 2554, - 2545, 2550, 2553, 2553, 2556, 2541, 2554, 2555, 2555, 2556, - 2558, 2558, 2559, 2546, 2547, 2551, 2544, 2560, 2561, 2563, - 2565, 2559, 2564, 2564, 2565, 2566, 2560, 2561, 2567, 2569, - 2568, 2570, 2580, 2575, 2566, 2568, 2568, 2563, 2575, 2579, - 2570, 2571, 2569, 2567, 2581, 2571, 2576, 2576, 2578, 2578, - 2583, 2584, 2587, 2579, 2589, 2588, 2592, 2580, 2594, 2583, + 2527, 2518, 2519, 2533, 2534, 2535, 2533, 2536, 2537, 2538, + 2535, 2522, 2532, 2539, 2539, 2540, 2541, 2542, 2543, 2541, + 2546, 2534, 2534, 2538, 2544, 2536, 2555, 2541, 2537, 2540, + 2545, 2542, 2544, 2547, 2547, 2545, 2545, 2543, 2552, 2546, + 2548, 2548, 2549, 2549, 2550, 2550, 2551, 2551, 2553, 2554, + 2556, 2557, 2555, 2553, 2552, 2558, 2560, 2560, 2563, 2556, + 2561, 2561, 2562, 2565, 2565, 2562, 2566, 2567, 2567, 2554, + 2575, 2557, 2568, 2566, 2571, 2558, 2563, 2568, 2570, 2570, + 2572, 2573, 2577, 2571, 2576, 2576, 2577, 2578, 2575, 2572, + 2573, 2579, 2580, 2582, 2581, 2583, 2578, 2580, 2580, 2583, - 2590, 2608, 2581, 2584, 2588, 2596, 2590, 2597, 2592, 2599, - 2596, 2907, 2597, 2907, 2589, 2598, 2598, 2587, 2599, 2594, - 2601, 2608, 2602, 2602, 2607, 2601, 2602, 2604, 2604, 2605, - 2605, 2606, 2606, 2607, 2609, 2610, 2612, 2616, 2613, 2614, - 2610, 2617, 2612, 2613, 2614, 2615, 2615, 2618, 2619, 2621, - 2620, 2628, 2618, 2609, 0, 2616, 2620, 2622, 2622, 2624, - 2625, 2629, 2617, 2624, 2626, 2625, 2619, 2627, 2627, 2626, - 2628, 2630, 2632, 2632, 2621, 2634, 2629, 2635, 2636, 2638, - 2637, 2639, 2636, 2642, 2640, 2643, 2643, 2644, 2634, 2637, - 2635, 2630, 2640, 2641, 2649, 2638, 2646, 2646, 2641, 2659, + 2587, 2591, 2582, 2588, 2588, 2587, 2579, 2581, 2590, 2590, + 2592, 2593, 2595, 2596, 2599, 2591, 2601, 2600, 2602, 2604, + 2606, 2595, 2608, 2609, 2602, 2596, 2600, 2608, 2609, 2593, + 0, 2604, 2610, 2610, 2611, 2592, 2601, 2613, 2620, 2599, + 2621, 2606, 2613, 2611, 2614, 2614, 2616, 2616, 2614, 2617, + 2617, 2618, 2618, 2619, 2628, 2622, 2625, 2624, 2620, 2621, + 2622, 2625, 2619, 2624, 2626, 2627, 2627, 2629, 2630, 2626, + 2632, 2631, 2628, 2630, 2633, 2636, 2632, 2634, 2634, 2636, + 2637, 2638, 2639, 2639, 2640, 2637, 2638, 2641, 2629, 2631, + 2642, 2644, 2644, 2646, 2647, 2649, 2648, 2650, 2651, 2633, - 2639, 2647, 2647, 2651, 2651, 2653, 2644, 2654, 2655, 2642, - 2660, 2656, 2658, 2658, 2664, 2649, 2656, 2661, 2665, 2659, - 2669, 2653, 2671, 2654, 2655, 2663, 2663, 2671, 2664, 2666, - 2666, 2672, 2670, 2660, 2673, 2673, 2661, 2665, 2670, 2675, - 2669, 2674, 2674, 2676, 2676, 2677, 2678, 2679, 2680, 2681, - 2682, 2683, 0, 2672, 2680, 2678, 2677, 2684, 2684, 2675, - 2690, 2685, 2682, 2676, 2685, 2686, 2686, 2679, 2681, 2691, - 2692, 2683, 2690, 2693, 2693, 2694, 2692, 2695, 2694, 2696, - 2698, 2699, 2700, 2695, 2701, 2698, 2699, 2702, 2705, 2691, - 2701, 2703, 2703, 2706, 2707, 2708, 2710, 2696, 2709, 2709, + 2648, 2652, 2641, 2640, 2649, 2654, 2646, 2647, 2656, 2652, + 2642, 2653, 2662, 2650, 2655, 2655, 2653, 2651, 2659, 2659, + 2660, 2660, 2664, 2664, 2666, 2667, 2668, 2656, 2672, 2669, + 2673, 2654, 2674, 2662, 2669, 2671, 2671, 2676, 2676, 2678, + 2666, 2667, 2668, 2677, 2679, 2679, 2682, 2684, 2672, 2683, + 2685, 2674, 2684, 2673, 2688, 2683, 2690, 2677, 2678, 2686, + 2686, 2687, 2687, 2689, 2689, 2692, 2682, 2690, 2691, 2693, + 2694, 2696, 2685, 2704, 2688, 2693, 2695, 2691, 2697, 2697, + 2703, 2698, 0, 2689, 2698, 2692, 2699, 2699, 2695, 2694, + 2705, 2696, 2703, 2704, 2706, 2706, 2705, 2707, 2708, 2709, - 2705, 2700, 2716, 2711, 2702, 2702, 2713, 2713, 2708, 2714, - 2714, 2706, 2711, 2715, 2726, 2710, 2716, 2717, 2715, 2707, - 2718, 2718, 2717, 2719, 2719, 2720, 2720, 2721, 2723, 2723, - 2728, 2729, 2721, 2726, 2730, 2731, 2731, 2733, 2733, 2735, - 2734, 2736, 2737, 2737, 2738, 2738, 2741, 2784, 2742, 2740, - 2736, 2784, 2728, 2729, 2734, 2740, 2730, 2743, 2750, 2735, - 2746, 2746, 2743, 2748, 2748, 2749, 2741, 2742, 2751, 2752, - 2749, 2753, 2750, 2755, 2751, 2754, 2754, 2757, 2755, 2753, - 2758, 2752, 2759, 2760, 2761, 2763, 2764, 2759, 2765, 2766, - 2761, 2768, 2767, 2763, 2769, 2760, 2770, 2757, 2771, 2773, + 2707, 2711, 2712, 2713, 2708, 2714, 2711, 2712, 2715, 2716, + 2716, 2714, 2718, 2719, 2720, 2721, 2723, 2709, 2722, 2722, + 2724, 2749, 2713, 2739, 2718, 2715, 2715, 2729, 2721, 2724, + 2749, 2719, 2726, 2726, 2741, 2723, 2727, 2727, 2728, 2720, + 2730, 2729, 2739, 2728, 2742, 2730, 2731, 2731, 2732, 2732, + 2733, 2733, 2734, 2736, 2736, 2743, 2741, 2734, 2744, 2744, + 2746, 2746, 2747, 2748, 2750, 2750, 2742, 2751, 2751, 2753, + 2754, 2763, 2755, 2756, 0, 2753, 2747, 2743, 2756, 2759, + 2759, 2761, 2761, 2748, 2762, 2763, 2764, 2765, 2766, 2762, + 2754, 2755, 2764, 2767, 2767, 2768, 2766, 2770, 2771, 2765, - 2758, 2774, 2778, 2771, 2773, 2764, 2851, 2768, 2765, 2766, - 2767, 2769, 2769, 2775, 2779, 2776, 0, 2770, 2851, 2775, - 2776, 2774, 2778, 2782, 2782, 2783, 2783, 2779, 2788, 2788, - 2790, 2790, 2791, 2791, 2794, 2791, 2792, 2792, 2794, 2792, - 2793, 2793, 2797, 2793, 2796, 2796, 2801, 2798, 2802, 2803, - 2804, 2804, 2807, 2809, 2803, 2808, 2810, 2809, 2811, 0, - 2797, 2798, 2808, 2813, 2818, 2810, 2801, 2814, 2802, 2815, - 2815, 2816, 2816, 2811, 2817, 2817, 2814, 2807, 2819, 2818, - 2820, 2813, 2821, 2819, 2822, 2823, 2824, 2821, 2821, 2820, - 2822, 2825, 2820, 2826, 2827, 2828, 2829, 2829, 2826, 2827, + 2768, 2772, 2773, 2774, 2776, 2777, 2772, 2778, 2779, 2774, + 2781, 2780, 2776, 2782, 2773, 2783, 2784, 2770, 2771, 2787, + 2786, 2784, 2791, 2918, 2777, 2786, 2781, 2778, 2779, 2780, + 2782, 2782, 2788, 2792, 2918, 2789, 2783, 2797, 2788, 2787, + 2789, 2797, 2791, 2795, 2795, 2810, 2792, 2796, 2796, 2801, + 2801, 2803, 2803, 2804, 2804, 2807, 2804, 2805, 2805, 2807, + 2805, 2806, 2806, 2810, 2806, 2809, 2809, 2811, 2814, 2815, + 2816, 2817, 2817, 2820, 2822, 2816, 2821, 2823, 2822, 2824, + 2832, 2811, 2826, 2821, 2827, 2832, 2823, 2836, 2814, 2815, + 2828, 2828, 2831, 2827, 2824, 2829, 2829, 2833, 2820, 2834, - 2830, 2824, 2831, 2832, 2832, 2858, 2830, 2900, 2831, 0, - 2823, 2900, 2825, 2834, 2828, 2833, 2833, 2858, 2834, 2837, - 2837, 2840, 2840, 2841, 2841, 2842, 2842, 2843, 2843, 2844, - 2844, 2845, 2845, 2846, 2846, 2848, 2849, 2849, 2850, 2852, - 2856, 2854, 2855, 2855, 2848, 2857, 2860, 2850, 2859, 2859, - 2861, 2861, 2864, 2865, 2866, 2856, 2865, 2868, 2857, 2852, - 2854, 2860, 2867, 2867, 2870, 2871, 2874, 2870, 2872, 2873, - 2864, 2871, 2875, 2876, 2873, 2868, 2882, 2878, 2879, 2893, - 2866, 2891, 2872, 2878, 2891, 2874, 2898, 2879, 2902, 2876, - 2875, 2882, 2893, 2894, 2894, 2895, 2895, 2896, 2896, 2899, + 2826, 2830, 2830, 2837, 2834, 2834, 2833, 2831, 2835, 2833, + 2838, 2839, 2836, 2841, 2835, 2840, 2839, 2843, 2837, 2844, + 2840, 2842, 2842, 2843, 0, 2844, 2845, 2845, 2846, 2846, + 2847, 2838, 2841, 2850, 2850, 2847, 2853, 2853, 2854, 2854, + 2855, 2855, 2856, 2856, 2857, 2857, 2858, 2858, 2859, 2859, + 2861, 2862, 2862, 2863, 2864, 2865, 2869, 2867, 2871, 2861, + 2868, 2868, 2863, 2873, 2870, 2877, 2864, 2872, 2872, 2879, + 2871, 2869, 2874, 2874, 2881, 2865, 2867, 2870, 2873, 2878, + 2880, 2880, 2878, 2877, 2883, 2884, 2885, 2883, 2886, 2887, + 2889, 2884, 2881, 2886, 2888, 2879, 2891, 2906, 2892, 2895, - 2901, 2904, 2902, 2905, 2908, 2906, 2909, 2909, 2899, 2898, - 2906, 2911, 2910, 2912, 2905, 2914, 2913, 2916, 2915, 2908, - 2901, 2918, 2917, 2919, 2904, 2910, 2916, 2925, 2926, 2926, - 2911, 2912, 2913, 2915, 2917, 2924, 2920, 2927, 2928, 2928, - 2914, 2920, 2918, 2919, 2929, 2929, 2927, 2925, 2932, 2924, - 2930, 2930, 2931, 2931, 2933, 2934, 2935, 2936, 2934, 2937, - 2938, 2935, 2936, 2939, 2940, 2941, 2942, 2932, 2943, 2939, - 2945, 2942, 2944, 2944, 2933, 2938, 2946, 2941, 2940, 2947, - 2947, 2949, 2951, 2956, 2937, 2945, 2954, 2954, 2943, 2955, - 2955, 2956, 2957, 2958, 2960, 2946, 2949, 2959, 2962, 2958, + 2885, 2904, 2891, 2911, 2904, 2913, 2889, 2892, 2887, 2913, + 2906, 2914, 2888, 2912, 2895, 2907, 2907, 2908, 2908, 2909, + 2909, 2915, 2912, 2917, 2919, 2920, 2911, 2920, 2921, 2919, + 2924, 2914, 2922, 2922, 2923, 2915, 2925, 2926, 2927, 2929, + 2928, 2931, 2945, 2921, 2930, 2932, 2917, 2923, 2929, 2924, + 2937, 2938, 2933, 2926, 2925, 2928, 2930, 2933, 2939, 2939, + 2940, 2945, 2931, 2927, 2937, 2932, 2941, 2941, 2946, 2940, + 2950, 2938, 2942, 2942, 2943, 2943, 2944, 2944, 2947, 2948, + 2949, 2947, 2951, 2952, 2948, 2949, 2953, 2954, 2946, 2952, + 2956, 2955, 2957, 2957, 2958, 2950, 2955, 2951, 2959, 2954, - 2951, 2961, 2963, 2959, 2964, 2964, 2967, 2963, 2960, 2965, - 2965, 2957, 2968, 2973, 2961, 2970, 2971, 2962, 2974, 2975, - 2971, 2976, 2977, 2974, 2978, 2979, 2980, 2967, 2984, 2970, - 2979, 2980, 2968, 2973, 2976, 2977, 2981, 2981, 2975, 2985, - 2986, 2987, 2987, 2978, 2988, 2989, 2990, 2990, 2984, 2988, - 2991, 2989, 2994, 2992, 2995, 2991, 2993, 2985, 2992, 2986, - 2995, 2993, 2997, 2997, 2998, 2999, 2999, 3002, 3001, 2998, - 3003, 2994, 3001, 3004, 3005, 3006, 3007, 3003, 3008, 3010, - 3010, 3006, 3012, 3012, 3014, 3013, 3002, 3015, 3016, 3014, - 3017, 3008, 3004, 3005, 3013, 3007, 3019, 3013, 3018, 3018, + 2953, 2960, 2960, 2962, 2964, 2967, 2967, 2968, 2968, 2958, + 2956, 2969, 2970, 2973, 2971, 2972, 2974, 2959, 2962, 2969, + 2971, 2972, 2964, 2975, 2980, 2976, 2981, 2973, 2986, 2974, + 2976, 2970, 2977, 2977, 2978, 2978, 2983, 2984, 2987, 2988, + 2989, 2984, 2975, 2987, 2990, 2980, 2981, 2991, 2986, 2992, + 2983, 2993, 2997, 2989, 2992, 2998, 2993, 2990, 2988, 2994, + 2994, 2999, 3000, 3000, 3001, 3002, 2991, 3003, 3003, 3001, + 3004, 3002, 2997, 2998, 3005, 3004, 3006, 3007, 3008, 3005, + 2999, 3006, 3010, 3010, 3008, 3011, 3012, 3012, 3014, 3015, + 3011, 3016, 3014, 3017, 3018, 3019, 3007, 3020, 3016, 3023, - 3020, 3019, 3022, 3017, 3023, 3023, 3015, 3016, 3024, 3025, - 3025, 3026, 3026, 3020, 3027, 3028, 3029, 3030, 3030, 3027, - 3031, 3032, 3028, 3032, 3034, 3031, 3035, 3024, 3022, 3033, - 3033, 3034, 3036, 3035, 3037, 3029, 3038, 3040, 3040, 3037, - 3041, 3043, 3044, 3045, 3046, 3050, 3043, 3044, 3047, 3047, - 3051, 3036, 3049, 3049, 0, 3038, 3052, 3052, 3054, 3041, - 3053, 3053, 3045, 3046, 3050, 3054, 3056, 3056, 3058, 3051, - 3057, 3057, 3060, 3063, 3064, 3058, 3065, 3060, 3063, 3066, - 3066, 3067, 3067, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3064, 0, 3065, 3071, 3071, 3071, 3071, + 3023, 3019, 3021, 3025, 3025, 3026, 3027, 3028, 3015, 3029, + 3030, 3027, 3017, 3018, 3026, 3021, 3020, 3026, 3031, 3031, + 3032, 3033, 3035, 3030, 3037, 3032, 3028, 3042, 3029, 3036, + 3036, 3038, 3038, 3040, 3033, 3039, 3039, 3041, 3040, 3043, + 3043, 3049, 3044, 3037, 3041, 3051, 3042, 3044, 3035, 3045, + 3047, 3045, 3046, 3046, 3048, 3053, 3053, 3047, 3050, 3054, + 3049, 3048, 3056, 3050, 3051, 3057, 3058, 3056, 3059, 3063, + 3057, 3060, 3060, 3062, 3062, 3064, 3065, 3065, 3054, 3066, + 3066, 0, 3067, 3069, 3069, 3058, 3071, 3059, 3063, 3067, + 3070, 3070, 3073, 3071, 3064, 3076, 3077, 3073, 3078, 0, - 3071, 3071, 3071, 3072, 3072, 3072, 3072, 3072, 3072, 3072, - 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3074, 3074, 3074, - 3074, 3074, 3074, 3074, 3075, 3075, 3075, 3075, 3075, 3075, - 3075, 3077, 3077, 0, 3077, 3077, 3077, 3077, 3078, 3078, - 0, 0, 0, 3078, 3078, 3079, 3079, 0, 0, 3079, - 0, 3079, 3080, 0, 0, 0, 0, 0, 3080, 3081, - 3081, 0, 0, 0, 3081, 3081, 3082, 0, 0, 0, - 0, 0, 3082, 3083, 3083, 0, 3083, 3083, 3083, 3083, - 3084, 3084, 0, 3084, 3084, 3084, 3084, 3070, 3070, 3070, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, + 3076, 3079, 3079, 3080, 3080, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3077, 0, 3078, 3084, 3084, + 3084, 3084, 3084, 3084, 3084, 3085, 3085, 3085, 3085, 3085, + 3085, 3085, 3086, 3086, 3086, 3086, 3086, 3086, 3086, 3087, + 3087, 3087, 3087, 3087, 3087, 3087, 3088, 3088, 3088, 3088, + 3088, 3088, 3088, 3090, 3090, 0, 3090, 3090, 3090, 3090, + 3091, 3091, 0, 0, 0, 3091, 3091, 3092, 3092, 0, + 0, 3092, 0, 3092, 3093, 0, 0, 0, 0, 0, + 3093, 3094, 3094, 0, 0, 0, 3094, 3094, 3095, 0, + 0, 0, 0, 0, 3095, 3096, 3096, 0, 3096, 3096, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070, - 3070, 3070, 3070, 3070, 3070, 3070, 3070, 3070 + 3096, 3096, 3097, 3097, 0, 3097, 3097, 3097, 3097, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, + 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083 } ; static yy_state_type yy_last_accepting_state; @@ -2960,7 +2970,7 @@ static void config_end_include(void) } #endif -#line 2961 "" +#line 2971 "" #define YY_NO_INPUT 1 #line 184 "./util/configlexer.lex" #ifndef YY_NO_UNPUT @@ -2969,9 +2979,9 @@ static void config_end_include(void) #ifndef YY_NO_INPUT #define YY_NO_INPUT 1 #endif -#line 2970 "" +#line 2980 "" -#line 2972 "" +#line 2982 "" #define INITIAL 0 #define quotedstring 1 @@ -3193,7 +3203,7 @@ YY_DECL { #line 204 "./util/configlexer.lex" -#line 3194 "" +#line 3204 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3226,13 +3236,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 >= 3071 ) + if ( yy_current_state >= 3084 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 5988 ); + while ( yy_base[yy_current_state] != 6010 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3652,137 +3662,137 @@ YY_RULE_SETUP case 79: YY_RULE_SETUP #line 286 "./util/configlexer.lex" -{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } +{ YDVAR(1, VAR_INFRA_KEEP_PROBING) } YY_BREAK case 80: YY_RULE_SETUP #line 287 "./util/configlexer.lex" -{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } +{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } YY_BREAK case 81: YY_RULE_SETUP #line 288 "./util/configlexer.lex" -{ YDVAR(1, VAR_DELAY_CLOSE) } +{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } YY_BREAK case 82: YY_RULE_SETUP #line 289 "./util/configlexer.lex" -{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } +{ YDVAR(1, VAR_DELAY_CLOSE) } YY_BREAK case 83: YY_RULE_SETUP #line 290 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } +{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } YY_BREAK case 84: YY_RULE_SETUP #line 291 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } +{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } YY_BREAK case 85: YY_RULE_SETUP #line 292 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_GLUE) } +{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } YY_BREAK case 86: YY_RULE_SETUP #line 293 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } +{ YDVAR(1, VAR_HARDEN_GLUE) } YY_BREAK case 87: YY_RULE_SETUP #line 294 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } +{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } YY_BREAK case 88: YY_RULE_SETUP #line 295 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } +{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } YY_BREAK case 89: YY_RULE_SETUP #line 296 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } +{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } YY_BREAK case 90: YY_RULE_SETUP #line 297 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } +{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } YY_BREAK case 91: YY_RULE_SETUP #line 298 "./util/configlexer.lex" -{ YDVAR(1, VAR_CAPS_WHITELIST) } +{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } YY_BREAK case 92: YY_RULE_SETUP #line 299 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } +{ YDVAR(1, VAR_CAPS_WHITELIST) } YY_BREAK case 93: YY_RULE_SETUP #line 300 "./util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_ADDRESS) } +{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } YY_BREAK case 94: YY_RULE_SETUP #line 301 "./util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_DOMAIN) } +{ YDVAR(1, VAR_PRIVATE_ADDRESS) } YY_BREAK case 95: YY_RULE_SETUP #line 302 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH_KEY) } +{ YDVAR(1, VAR_PRIVATE_DOMAIN) } YY_BREAK case 96: YY_RULE_SETUP #line 303 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH) } +{ YDVAR(1, VAR_PREFETCH_KEY) } YY_BREAK case 97: YY_RULE_SETUP #line 304 "./util/configlexer.lex" -{ YDVAR(1, VAR_DENY_ANY) } +{ YDVAR(1, VAR_PREFETCH) } YY_BREAK case 98: YY_RULE_SETUP #line 305 "./util/configlexer.lex" -{ YDVAR(0, VAR_STUB_ZONE) } +{ YDVAR(1, VAR_DENY_ANY) } YY_BREAK case 99: YY_RULE_SETUP #line 306 "./util/configlexer.lex" -{ YDVAR(1, VAR_NAME) } +{ YDVAR(0, VAR_STUB_ZONE) } YY_BREAK case 100: YY_RULE_SETUP #line 307 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_ADDR) } +{ YDVAR(1, VAR_NAME) } YY_BREAK case 101: YY_RULE_SETUP #line 308 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_HOST) } +{ YDVAR(1, VAR_STUB_ADDR) } YY_BREAK case 102: YY_RULE_SETUP #line 309 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_PRIME) } +{ YDVAR(1, VAR_STUB_HOST) } YY_BREAK case 103: YY_RULE_SETUP #line 310 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_FIRST) } +{ YDVAR(1, VAR_STUB_PRIME) } YY_BREAK case 104: YY_RULE_SETUP #line 311 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_NO_CACHE) } +{ YDVAR(1, VAR_STUB_FIRST) } YY_BREAK case 105: YY_RULE_SETUP #line 312 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } +{ YDVAR(1, VAR_STUB_NO_CACHE) } YY_BREAK case 106: YY_RULE_SETUP @@ -3792,32 +3802,32 @@ YY_RULE_SETUP case 107: YY_RULE_SETUP #line 314 "./util/configlexer.lex" -{ YDVAR(0, VAR_FORWARD_ZONE) } +{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } YY_BREAK case 108: YY_RULE_SETUP #line 315 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_ADDR) } +{ YDVAR(0, VAR_FORWARD_ZONE) } YY_BREAK case 109: YY_RULE_SETUP #line 316 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_HOST) } +{ YDVAR(1, VAR_FORWARD_ADDR) } YY_BREAK case 110: YY_RULE_SETUP #line 317 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_FIRST) } +{ YDVAR(1, VAR_FORWARD_HOST) } YY_BREAK case 111: YY_RULE_SETUP #line 318 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_NO_CACHE) } +{ YDVAR(1, VAR_FORWARD_FIRST) } YY_BREAK case 112: YY_RULE_SETUP #line 319 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } +{ YDVAR(1, VAR_FORWARD_NO_CACHE) } YY_BREAK case 113: YY_RULE_SETUP @@ -3827,731 +3837,731 @@ YY_RULE_SETUP case 114: YY_RULE_SETUP #line 321 "./util/configlexer.lex" -{ YDVAR(0, VAR_AUTH_ZONE) } +{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } YY_BREAK case 115: YY_RULE_SETUP #line 322 "./util/configlexer.lex" -{ YDVAR(0, VAR_RPZ) } +{ YDVAR(0, VAR_AUTH_ZONE) } YY_BREAK case 116: YY_RULE_SETUP #line 323 "./util/configlexer.lex" -{ YDVAR(1, VAR_TAGS) } +{ YDVAR(0, VAR_RPZ) } YY_BREAK case 117: YY_RULE_SETUP #line 324 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } +{ YDVAR(1, VAR_TAGS) } YY_BREAK case 118: YY_RULE_SETUP #line 325 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } +{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } YY_BREAK case 119: YY_RULE_SETUP #line 326 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG) } +{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } YY_BREAK case 120: YY_RULE_SETUP #line 327 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG_NAME) } +{ YDVAR(1, VAR_RPZ_LOG) } YY_BREAK case 121: YY_RULE_SETUP #line 328 "./util/configlexer.lex" -{ YDVAR(1, VAR_ZONEFILE) } +{ YDVAR(1, VAR_RPZ_LOG_NAME) } YY_BREAK case 122: YY_RULE_SETUP #line 329 "./util/configlexer.lex" -{ YDVAR(1, VAR_MASTER) } +{ YDVAR(1, VAR_ZONEFILE) } YY_BREAK case 123: YY_RULE_SETUP #line 330 "./util/configlexer.lex" -{ YDVAR(1, VAR_URL) } +{ YDVAR(1, VAR_MASTER) } YY_BREAK case 124: YY_RULE_SETUP #line 331 "./util/configlexer.lex" -{ YDVAR(1, VAR_ALLOW_NOTIFY) } +{ YDVAR(1, VAR_URL) } YY_BREAK case 125: YY_RULE_SETUP #line 332 "./util/configlexer.lex" -{ YDVAR(1, VAR_FOR_DOWNSTREAM) } +{ YDVAR(1, VAR_ALLOW_NOTIFY) } YY_BREAK case 126: YY_RULE_SETUP #line 333 "./util/configlexer.lex" -{ YDVAR(1, VAR_FOR_UPSTREAM) } +{ YDVAR(1, VAR_FOR_DOWNSTREAM) } YY_BREAK case 127: YY_RULE_SETUP #line 334 "./util/configlexer.lex" -{ YDVAR(1, VAR_FALLBACK_ENABLED) } +{ YDVAR(1, VAR_FOR_UPSTREAM) } YY_BREAK case 128: YY_RULE_SETUP #line 335 "./util/configlexer.lex" -{ YDVAR(0, VAR_VIEW) } +{ YDVAR(1, VAR_FALLBACK_ENABLED) } YY_BREAK case 129: YY_RULE_SETUP #line 336 "./util/configlexer.lex" -{ YDVAR(1, VAR_VIEW_FIRST) } +{ YDVAR(0, VAR_VIEW) } YY_BREAK case 130: YY_RULE_SETUP #line 337 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } +{ YDVAR(1, VAR_VIEW_FIRST) } YY_BREAK case 131: YY_RULE_SETUP #line 338 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } +{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } YY_BREAK case 132: YY_RULE_SETUP #line 339 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL) } +{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } YY_BREAK case 133: YY_RULE_SETUP #line 340 "./util/configlexer.lex" -{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } +{ YDVAR(2, VAR_ACCESS_CONTROL) } YY_BREAK case 134: YY_RULE_SETUP #line 341 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } +{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } YY_BREAK case 135: YY_RULE_SETUP #line 342 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } +{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } YY_BREAK case 136: YY_RULE_SETUP #line 343 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } +{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } YY_BREAK case 137: YY_RULE_SETUP #line 344 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } +{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } YY_BREAK case 138: YY_RULE_SETUP #line 345 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } +{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } YY_BREAK case 139: YY_RULE_SETUP #line 346 "./util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } +{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } YY_BREAK case 140: YY_RULE_SETUP #line 347 "./util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } +{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } YY_BREAK case 141: YY_RULE_SETUP #line 348 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } +{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } YY_BREAK case 142: YY_RULE_SETUP #line 349 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } +{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } YY_BREAK case 143: YY_RULE_SETUP #line 350 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_IDENTITY) } +{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } YY_BREAK case 144: YY_RULE_SETUP #line 351 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_VERSION) } +{ YDVAR(1, VAR_HIDE_IDENTITY) } YY_BREAK case 145: YY_RULE_SETUP #line 352 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } +{ YDVAR(1, VAR_HIDE_VERSION) } YY_BREAK case 146: YY_RULE_SETUP #line 353 "./util/configlexer.lex" -{ YDVAR(1, VAR_IDENTITY) } +{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } YY_BREAK case 147: YY_RULE_SETUP #line 354 "./util/configlexer.lex" -{ YDVAR(1, VAR_VERSION) } +{ YDVAR(1, VAR_IDENTITY) } YY_BREAK case 148: YY_RULE_SETUP #line 355 "./util/configlexer.lex" -{ YDVAR(1, VAR_MODULE_CONF) } +{ YDVAR(1, VAR_VERSION) } YY_BREAK case 149: YY_RULE_SETUP #line 356 "./util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR) } +{ YDVAR(1, VAR_MODULE_CONF) } YY_BREAK case 150: YY_RULE_SETUP #line 357 "./util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } +{ YDVAR(1, VAR_DLV_ANCHOR) } YY_BREAK case 151: YY_RULE_SETUP #line 358 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } +{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } YY_BREAK case 152: YY_RULE_SETUP #line 359 "./util/configlexer.lex" -{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } +{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } YY_BREAK case 153: YY_RULE_SETUP #line 360 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } +{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } YY_BREAK case 154: YY_RULE_SETUP #line 361 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR) } +{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } YY_BREAK case 155: YY_RULE_SETUP #line 362 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } +{ YDVAR(1, VAR_TRUST_ANCHOR) } YY_BREAK case 156: YY_RULE_SETUP #line 363 "./util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } +{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } YY_BREAK case 157: YY_RULE_SETUP #line 364 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } +{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } YY_BREAK case 158: YY_RULE_SETUP #line 365 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } +{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } YY_BREAK case 159: YY_RULE_SETUP #line 366 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } +{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } YY_BREAK case 160: YY_RULE_SETUP #line 367 "./util/configlexer.lex" -{ YDVAR(1, VAR_BOGUS_TTL) } +{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } YY_BREAK case 161: YY_RULE_SETUP #line 368 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } +{ YDVAR(1, VAR_BOGUS_TTL) } YY_BREAK case 162: YY_RULE_SETUP #line 369 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } +{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } YY_BREAK case 163: YY_RULE_SETUP #line 370 "./util/configlexer.lex" -{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } +{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } YY_BREAK case 164: YY_RULE_SETUP #line 371 "./util/configlexer.lex" -{ YDVAR(1, VAR_IGNORE_CD_FLAG) } +{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } YY_BREAK case 165: YY_RULE_SETUP #line 372 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED) } +{ YDVAR(1, VAR_IGNORE_CD_FLAG) } YY_BREAK case 166: YY_RULE_SETUP #line 373 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED) } YY_BREAK case 167: YY_RULE_SETUP #line 374 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } +{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } YY_BREAK case 168: YY_RULE_SETUP #line 375 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } YY_BREAK case 169: YY_RULE_SETUP #line 376 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } +{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } YY_BREAK case 170: YY_RULE_SETUP #line 377 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_DSA) } +{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } YY_BREAK case 171: YY_RULE_SETUP #line 378 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_SHA1) } +{ YDVAR(1, VAR_FAKE_DSA) } YY_BREAK case 172: YY_RULE_SETUP #line 379 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_LOG_LEVEL) } +{ YDVAR(1, VAR_FAKE_SHA1) } YY_BREAK case 173: YY_RULE_SETUP #line 380 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SIZE) } +{ YDVAR(1, VAR_VAL_LOG_LEVEL) } YY_BREAK case 174: YY_RULE_SETUP #line 381 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SLABS) } +{ YDVAR(1, VAR_KEY_CACHE_SIZE) } YY_BREAK case 175: YY_RULE_SETUP #line 382 "./util/configlexer.lex" -{ YDVAR(1, VAR_NEG_CACHE_SIZE) } +{ YDVAR(1, VAR_KEY_CACHE_SLABS) } YY_BREAK case 176: YY_RULE_SETUP #line 383 "./util/configlexer.lex" -{ - YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } +{ YDVAR(1, VAR_NEG_CACHE_SIZE) } YY_BREAK case 177: YY_RULE_SETUP -#line 385 "./util/configlexer.lex" -{ YDVAR(1, VAR_ADD_HOLDDOWN) } +#line 384 "./util/configlexer.lex" +{ + YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } YY_BREAK case 178: YY_RULE_SETUP #line 386 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEL_HOLDDOWN) } +{ YDVAR(1, VAR_ADD_HOLDDOWN) } YY_BREAK case 179: YY_RULE_SETUP #line 387 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEEP_MISSING) } +{ YDVAR(1, VAR_DEL_HOLDDOWN) } YY_BREAK case 180: YY_RULE_SETUP #line 388 "./util/configlexer.lex" -{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } +{ YDVAR(1, VAR_KEEP_MISSING) } YY_BREAK case 181: YY_RULE_SETUP #line 389 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSLOG) } +{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } YY_BREAK case 182: YY_RULE_SETUP #line 390 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_IDENTITY) } +{ YDVAR(1, VAR_USE_SYSLOG) } YY_BREAK case 183: YY_RULE_SETUP #line 391 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TIME_ASCII) } +{ YDVAR(1, VAR_LOG_IDENTITY) } YY_BREAK case 184: YY_RULE_SETUP #line 392 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_QUERIES) } +{ YDVAR(1, VAR_LOG_TIME_ASCII) } YY_BREAK case 185: YY_RULE_SETUP #line 393 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_REPLIES) } +{ YDVAR(1, VAR_LOG_QUERIES) } YY_BREAK case 186: YY_RULE_SETUP #line 394 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } +{ YDVAR(1, VAR_LOG_REPLIES) } YY_BREAK case 187: YY_RULE_SETUP #line 395 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } +{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } YY_BREAK case 188: YY_RULE_SETUP #line 396 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_SERVFAIL) } +{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } YY_BREAK case 189: YY_RULE_SETUP #line 397 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } +{ YDVAR(1, VAR_LOG_SERVFAIL) } YY_BREAK case 190: YY_RULE_SETUP #line 398 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } +{ YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 191: YY_RULE_SETUP #line 399 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } +{ YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 192: YY_RULE_SETUP #line 400 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } +{ YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 193: YY_RULE_SETUP #line 401 "./util/configlexer.lex" -{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } +{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } YY_BREAK case 194: YY_RULE_SETUP #line 402 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } +{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } YY_BREAK case 195: YY_RULE_SETUP #line 403 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } +{ YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 196: YY_RULE_SETUP #line 404 "./util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } +{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 197: YY_RULE_SETUP #line 405 "./util/configlexer.lex" -{ YDVAR(1, VAR_SHM_ENABLE) } +{ YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 198: YY_RULE_SETUP #line 406 "./util/configlexer.lex" -{ YDVAR(1, VAR_SHM_KEY) } +{ YDVAR(1, VAR_SHM_ENABLE) } YY_BREAK case 199: YY_RULE_SETUP #line 407 "./util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } +{ YDVAR(1, VAR_SHM_KEY) } YY_BREAK case 200: YY_RULE_SETUP #line 408 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } +{ YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 201: YY_RULE_SETUP #line 409 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } +{ YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 202: YY_RULE_SETUP #line 410 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } +{ YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 203: YY_RULE_SETUP #line 411 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_USE_CERT) } +{ YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 204: YY_RULE_SETUP #line 412 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } +{ YDVAR(1, VAR_CONTROL_USE_CERT) } YY_BREAK case 205: YY_RULE_SETUP #line 413 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } +{ YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 206: YY_RULE_SETUP #line 414 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } +{ YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 207: YY_RULE_SETUP #line 415 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } +{ YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 208: YY_RULE_SETUP #line 416 "./util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } +{ YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 209: YY_RULE_SETUP #line 417 "./util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } +{ YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 210: YY_RULE_SETUP #line 418 "./util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } +{ YDVAR(0, VAR_PYTHON) } YY_BREAK case 211: YY_RULE_SETUP #line 419 "./util/configlexer.lex" -{ YDVAR(1, VAR_MINIMAL_RESPONSES) } +{ YDVAR(1, VAR_DOMAIN_INSECURE) } YY_BREAK case 212: YY_RULE_SETUP #line 420 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } +{ YDVAR(1, VAR_MINIMAL_RESPONSES) } YY_BREAK case 213: YY_RULE_SETUP #line 421 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } +{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } YY_BREAK case 214: YY_RULE_SETUP #line 422 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_UDP_SIZE) } +{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } YY_BREAK case 215: YY_RULE_SETUP #line 423 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_PREFIX) } +{ YDVAR(1, VAR_MAX_UDP_SIZE) } YY_BREAK case 216: YY_RULE_SETUP #line 424 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_SYNTHALL) } +{ YDVAR(1, VAR_DNS64_PREFIX) } YY_BREAK case 217: YY_RULE_SETUP #line 425 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } +{ YDVAR(1, VAR_DNS64_SYNTHALL) } YY_BREAK case 218: YY_RULE_SETUP #line 426 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEFINE_TAG) } +{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } YY_BREAK case 219: YY_RULE_SETUP #line 427 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } +{ YDVAR(1, VAR_DEFINE_TAG) } YY_BREAK case 220: YY_RULE_SETUP #line 428 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } +{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } YY_BREAK case 221: YY_RULE_SETUP #line 429 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } +{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } YY_BREAK case 222: YY_RULE_SETUP #line 430 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } YY_BREAK case 223: YY_RULE_SETUP #line 431 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } YY_BREAK case 224: YY_RULE_SETUP #line 432 "./util/configlexer.lex" -{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } +{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } YY_BREAK case 225: YY_RULE_SETUP #line 433 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSTAP) } +{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } YY_BREAK case 226: YY_RULE_SETUP #line 434 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_ENABLE) } +{ YDVAR(0, VAR_DNSTAP) } YY_BREAK case 227: YY_RULE_SETUP #line 435 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } +{ YDVAR(1, VAR_DNSTAP_ENABLE) } YY_BREAK case 228: YY_RULE_SETUP #line 436 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IP) } +{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } YY_BREAK case 229: YY_RULE_SETUP #line 437 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS) } +{ YDVAR(1, VAR_DNSTAP_IP) } YY_BREAK case 230: YY_RULE_SETUP #line 438 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) } +{ YDVAR(1, VAR_DNSTAP_TLS) } YY_BREAK case 231: YY_RULE_SETUP #line 439 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) } +{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) } YY_BREAK case 232: YY_RULE_SETUP #line 440 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) } +{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) } YY_BREAK case 233: YY_RULE_SETUP -#line 442 "./util/configlexer.lex" +#line 441 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) } + YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) } YY_BREAK case 234: YY_RULE_SETUP -#line 444 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } +#line 443 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) } YY_BREAK case 235: YY_RULE_SETUP #line 445 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } +{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } YY_BREAK case 236: YY_RULE_SETUP #line 446 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IDENTITY) } +{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } YY_BREAK case 237: YY_RULE_SETUP #line 447 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_VERSION) } +{ YDVAR(1, VAR_DNSTAP_IDENTITY) } YY_BREAK case 238: YY_RULE_SETUP #line 448 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } +{ YDVAR(1, VAR_DNSTAP_VERSION) } YY_BREAK case 239: YY_RULE_SETUP -#line 450 "./util/configlexer.lex" +#line 449 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } YY_BREAK case 240: YY_RULE_SETUP -#line 452 "./util/configlexer.lex" +#line 451 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } YY_BREAK case 241: YY_RULE_SETUP -#line 454 "./util/configlexer.lex" +#line 453 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } YY_BREAK case 242: YY_RULE_SETUP -#line 456 "./util/configlexer.lex" +#line 455 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } YY_BREAK case 243: YY_RULE_SETUP -#line 458 "./util/configlexer.lex" +#line 457 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } YY_BREAK case 244: YY_RULE_SETUP -#line 460 "./util/configlexer.lex" -{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } +#line 459 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } YY_BREAK case 245: YY_RULE_SETUP #line 461 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT) } +{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } YY_BREAK case 246: YY_RULE_SETUP #line 462 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT) } +{ YDVAR(1, VAR_IP_RATELIMIT) } YY_BREAK case 247: YY_RULE_SETUP #line 463 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_RATELIMIT) } YY_BREAK case 248: YY_RULE_SETUP #line 464 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } YY_BREAK case 249: YY_RULE_SETUP #line 465 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_RATELIMIT_SLABS) } YY_BREAK case 250: YY_RULE_SETUP #line 466 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } YY_BREAK case 251: YY_RULE_SETUP #line 467 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } +{ YDVAR(1, VAR_RATELIMIT_SIZE) } YY_BREAK case 252: YY_RULE_SETUP #line 468 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } +{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } YY_BREAK case 253: YY_RULE_SETUP #line 469 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } +{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } YY_BREAK case 254: YY_RULE_SETUP #line 470 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_FACTOR) } +{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } YY_BREAK case 255: YY_RULE_SETUP #line 471 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOW_RTT) } +{ YDVAR(1, VAR_RATELIMIT_FACTOR) } YY_BREAK case 256: YY_RULE_SETUP #line 472 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_NUM) } +{ YDVAR(1, VAR_LOW_RTT) } YY_BREAK case 257: YY_RULE_SETUP #line 473 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } +{ YDVAR(1, VAR_FAST_SERVER_NUM) } YY_BREAK case 258: YY_RULE_SETUP @@ -4566,200 +4576,205 @@ YY_RULE_SETUP case 260: YY_RULE_SETUP #line 476 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_TAG) } +{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } YY_BREAK case 261: YY_RULE_SETUP #line 477 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP) } +{ YDVAR(2, VAR_RESPONSE_IP_TAG) } YY_BREAK case 262: YY_RULE_SETUP #line 478 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_DATA) } +{ YDVAR(2, VAR_RESPONSE_IP) } YY_BREAK case 263: YY_RULE_SETUP #line 479 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSCRYPT) } +{ YDVAR(2, VAR_RESPONSE_IP_DATA) } YY_BREAK case 264: YY_RULE_SETUP #line 480 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } +{ YDVAR(0, VAR_DNSCRYPT) } YY_BREAK case 265: YY_RULE_SETUP #line 481 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PORT) } +{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } YY_BREAK case 266: YY_RULE_SETUP #line 482 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } +{ YDVAR(1, VAR_DNSCRYPT_PORT) } YY_BREAK case 267: YY_RULE_SETUP #line 483 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } YY_BREAK case 268: YY_RULE_SETUP #line 484 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } +{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } YY_BREAK case 269: YY_RULE_SETUP #line 485 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } YY_BREAK case 270: YY_RULE_SETUP #line 486 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } YY_BREAK case 271: YY_RULE_SETUP -#line 488 "./util/configlexer.lex" +#line 487 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } + YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } YY_BREAK case 272: YY_RULE_SETUP -#line 490 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } +#line 489 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } YY_BREAK case 273: YY_RULE_SETUP #line 491 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } +{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } YY_BREAK case 274: YY_RULE_SETUP #line 492 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_ENABLED) } +{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } YY_BREAK case 275: YY_RULE_SETUP #line 493 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } +{ YDVAR(1, VAR_IPSECMOD_ENABLED) } YY_BREAK case 276: YY_RULE_SETUP #line 494 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_HOOK) } +{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } YY_BREAK case 277: YY_RULE_SETUP #line 495 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } +{ YDVAR(1, VAR_IPSECMOD_HOOK) } YY_BREAK case 278: YY_RULE_SETUP #line 496 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } +{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } YY_BREAK case 279: YY_RULE_SETUP #line 497 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_STRICT) } +{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } YY_BREAK case 280: YY_RULE_SETUP #line 498 "./util/configlexer.lex" -{ YDVAR(0, VAR_CACHEDB) } +{ YDVAR(1, VAR_IPSECMOD_STRICT) } YY_BREAK case 281: YY_RULE_SETUP #line 499 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_BACKEND) } +{ YDVAR(0, VAR_CACHEDB) } YY_BREAK case 282: YY_RULE_SETUP #line 500 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } +{ YDVAR(1, VAR_CACHEDB_BACKEND) } YY_BREAK case 283: YY_RULE_SETUP #line 501 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISHOST) } +{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } YY_BREAK case 284: YY_RULE_SETUP #line 502 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISPORT) } +{ YDVAR(1, VAR_CACHEDB_REDISHOST) } YY_BREAK case 285: YY_RULE_SETUP #line 503 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } +{ YDVAR(1, VAR_CACHEDB_REDISPORT) } YY_BREAK case 286: YY_RULE_SETUP #line 504 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) } +{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } YY_BREAK case 287: YY_RULE_SETUP #line 505 "./util/configlexer.lex" -{ YDVAR(0, VAR_IPSET) } +{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) } YY_BREAK case 288: YY_RULE_SETUP #line 506 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V4) } +{ YDVAR(0, VAR_IPSET) } YY_BREAK case 289: YY_RULE_SETUP #line 507 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V6) } +{ YDVAR(1, VAR_IPSET_NAME_V4) } YY_BREAK case 290: YY_RULE_SETUP #line 508 "./util/configlexer.lex" -{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } +{ YDVAR(1, VAR_IPSET_NAME_V6) } YY_BREAK case 291: YY_RULE_SETUP #line 509 "./util/configlexer.lex" -{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } +{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } YY_BREAK case 292: -/* rule 292 can match eol */ YY_RULE_SETUP #line 510 "./util/configlexer.lex" +{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } + YY_BREAK +case 293: +/* rule 293 can match eol */ +YY_RULE_SETUP +#line 511 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 293: +case 294: YY_RULE_SETUP -#line 513 "./util/configlexer.lex" +#line 514 "./util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 514 "./util/configlexer.lex" +#line 515 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 294: -YY_RULE_SETUP -#line 519 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 295: -/* rule 295 can match eol */ YY_RULE_SETUP #line 520 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 296: +/* rule 296 can match eol */ +YY_RULE_SETUP +#line 521 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 296: +case 297: YY_RULE_SETUP -#line 522 "./util/configlexer.lex" +#line 523 "./util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4772,34 +4787,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 297: +case 298: YY_RULE_SETUP -#line 534 "./util/configlexer.lex" +#line 535 "./util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 535 "./util/configlexer.lex" +#line 536 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 298: -YY_RULE_SETUP -#line 540 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 299: -/* rule 299 can match eol */ YY_RULE_SETUP #line 541 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 300: +/* rule 300 can match eol */ +YY_RULE_SETUP +#line 542 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 300: +case 301: YY_RULE_SETUP -#line 543 "./util/configlexer.lex" +#line 544 "./util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4812,38 +4827,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 301: +case 302: YY_RULE_SETUP -#line 555 "./util/configlexer.lex" +#line 556 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 557 "./util/configlexer.lex" +#line 558 "./util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 302: -YY_RULE_SETUP -#line 561 "./util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK case 303: -/* rule 303 can match eol */ YY_RULE_SETUP #line 562 "./util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 304: +/* rule 304 can match eol */ YY_RULE_SETUP #line 563 "./util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 305: YY_RULE_SETUP #line 564 "./util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 306: +YY_RULE_SETUP +#line 565 "./util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext); @@ -4851,27 +4866,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 569 "./util/configlexer.lex" +#line 570 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 306: -YY_RULE_SETUP -#line 573 "./util/configlexer.lex" -{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } - YY_BREAK case 307: -/* rule 307 can match eol */ YY_RULE_SETUP #line 574 "./util/configlexer.lex" +{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } + YY_BREAK +case 308: +/* rule 308 can match eol */ +YY_RULE_SETUP +#line 575 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 308: +case 309: YY_RULE_SETUP -#line 576 "./util/configlexer.lex" +#line 577 "./util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -4881,7 +4896,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 582 "./util/configlexer.lex" +#line 583 "./util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -4893,33 +4908,33 @@ case YY_STATE_EOF(val): } } YY_BREAK -case 309: +case 310: YY_RULE_SETUP -#line 593 "./util/configlexer.lex" +#line 594 "./util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 310: +case 311: YY_RULE_SETUP -#line 597 "./util/configlexer.lex" +#line 598 "./util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 311: +case 312: YY_RULE_SETUP -#line 601 "./util/configlexer.lex" +#line 602 "./util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 312: +case 313: YY_RULE_SETUP -#line 605 "./util/configlexer.lex" +#line 606 "./util/configlexer.lex" ECHO; YY_BREAK -#line 4920 "" +#line 4935 "" case YY_END_OF_BUFFER: { @@ -5214,7 +5229,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 >= 3071 ) + if ( yy_current_state >= 3084 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5242,11 +5257,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 >= 3071 ) + if ( yy_current_state >= 3084 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 3070); + yy_is_jam = (yy_current_state == 3083); return yy_is_jam ? 0 : yy_current_state; } @@ -5885,6 +5900,6 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 605 "./util/configlexer.lex" +#line 606 "./util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index d60eb147a..a2f7333e0 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -283,6 +283,7 @@ infra-cache-slabs{COLON} { YDVAR(1, VAR_INFRA_CACHE_SLABS) } infra-cache-numhosts{COLON} { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } infra-cache-lame-size{COLON} { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } infra-cache-min-rtt{COLON} { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } +infra-keep-probing{COLON} { YDVAR(1, VAR_INFRA_KEEP_PROBING) } num-queries-per-thread{COLON} { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } jostle-timeout{COLON} { YDVAR(1, VAR_JOSTLE_TIMEOUT) } delay-close{COLON} { YDVAR(1, VAR_DELAY_CLOSE) } diff --git a/util/configparser.c b/util/configparser.c index 66f34071a..940e46e30 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -280,145 +280,146 @@ extern int yydebug; VAR_UNBLOCK_LAN_ZONES = 401, VAR_INSECURE_LAN_ZONES = 402, VAR_INFRA_CACHE_MIN_RTT = 403, - VAR_DNS64_PREFIX = 404, - VAR_DNS64_SYNTHALL = 405, - VAR_DNS64_IGNORE_AAAA = 406, - VAR_DNSTAP = 407, - VAR_DNSTAP_ENABLE = 408, - VAR_DNSTAP_SOCKET_PATH = 409, - VAR_DNSTAP_IP = 410, - VAR_DNSTAP_TLS = 411, - VAR_DNSTAP_TLS_SERVER_NAME = 412, - VAR_DNSTAP_TLS_CERT_BUNDLE = 413, - VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 414, - VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 415, - VAR_DNSTAP_SEND_IDENTITY = 416, - VAR_DNSTAP_SEND_VERSION = 417, - VAR_DNSTAP_IDENTITY = 418, - VAR_DNSTAP_VERSION = 419, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 420, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 421, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 422, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 423, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 424, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 425, - VAR_RESPONSE_IP_TAG = 426, - VAR_RESPONSE_IP = 427, - VAR_RESPONSE_IP_DATA = 428, - VAR_HARDEN_ALGO_DOWNGRADE = 429, - VAR_IP_TRANSPARENT = 430, - VAR_IP_DSCP = 431, - VAR_DISABLE_DNSSEC_LAME_CHECK = 432, - VAR_IP_RATELIMIT = 433, - VAR_IP_RATELIMIT_SLABS = 434, - VAR_IP_RATELIMIT_SIZE = 435, - VAR_RATELIMIT = 436, - VAR_RATELIMIT_SLABS = 437, - VAR_RATELIMIT_SIZE = 438, - VAR_RATELIMIT_FOR_DOMAIN = 439, - VAR_RATELIMIT_BELOW_DOMAIN = 440, - VAR_IP_RATELIMIT_FACTOR = 441, - VAR_RATELIMIT_FACTOR = 442, - VAR_SEND_CLIENT_SUBNET = 443, - VAR_CLIENT_SUBNET_ZONE = 444, - VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 445, - VAR_CLIENT_SUBNET_OPCODE = 446, - VAR_MAX_CLIENT_SUBNET_IPV4 = 447, - VAR_MAX_CLIENT_SUBNET_IPV6 = 448, - VAR_MIN_CLIENT_SUBNET_IPV4 = 449, - VAR_MIN_CLIENT_SUBNET_IPV6 = 450, - VAR_MAX_ECS_TREE_SIZE_IPV4 = 451, - VAR_MAX_ECS_TREE_SIZE_IPV6 = 452, - VAR_CAPS_WHITELIST = 453, - VAR_CACHE_MAX_NEGATIVE_TTL = 454, - VAR_PERMIT_SMALL_HOLDDOWN = 455, - VAR_QNAME_MINIMISATION = 456, - VAR_QNAME_MINIMISATION_STRICT = 457, - VAR_IP_FREEBIND = 458, - VAR_DEFINE_TAG = 459, - VAR_LOCAL_ZONE_TAG = 460, - VAR_ACCESS_CONTROL_TAG = 461, - VAR_LOCAL_ZONE_OVERRIDE = 462, - VAR_ACCESS_CONTROL_TAG_ACTION = 463, - VAR_ACCESS_CONTROL_TAG_DATA = 464, - VAR_VIEW = 465, - VAR_ACCESS_CONTROL_VIEW = 466, - VAR_VIEW_FIRST = 467, - VAR_SERVE_EXPIRED = 468, - VAR_SERVE_EXPIRED_TTL = 469, - VAR_SERVE_EXPIRED_TTL_RESET = 470, - VAR_SERVE_EXPIRED_REPLY_TTL = 471, - VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 472, - VAR_FAKE_DSA = 473, - VAR_FAKE_SHA1 = 474, - VAR_LOG_IDENTITY = 475, - VAR_HIDE_TRUSTANCHOR = 476, - VAR_TRUST_ANCHOR_SIGNALING = 477, - VAR_AGGRESSIVE_NSEC = 478, - VAR_USE_SYSTEMD = 479, - VAR_SHM_ENABLE = 480, - VAR_SHM_KEY = 481, - VAR_ROOT_KEY_SENTINEL = 482, - VAR_DNSCRYPT = 483, - VAR_DNSCRYPT_ENABLE = 484, - VAR_DNSCRYPT_PORT = 485, - VAR_DNSCRYPT_PROVIDER = 486, - VAR_DNSCRYPT_SECRET_KEY = 487, - VAR_DNSCRYPT_PROVIDER_CERT = 488, - VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 489, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 490, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 491, - VAR_DNSCRYPT_NONCE_CACHE_SIZE = 492, - VAR_DNSCRYPT_NONCE_CACHE_SLABS = 493, - VAR_IPSECMOD_ENABLED = 494, - VAR_IPSECMOD_HOOK = 495, - VAR_IPSECMOD_IGNORE_BOGUS = 496, - VAR_IPSECMOD_MAX_TTL = 497, - VAR_IPSECMOD_WHITELIST = 498, - VAR_IPSECMOD_STRICT = 499, - VAR_CACHEDB = 500, - VAR_CACHEDB_BACKEND = 501, - VAR_CACHEDB_SECRETSEED = 502, - VAR_CACHEDB_REDISHOST = 503, - VAR_CACHEDB_REDISPORT = 504, - VAR_CACHEDB_REDISTIMEOUT = 505, - VAR_CACHEDB_REDISEXPIRERECORDS = 506, - VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 507, - VAR_FOR_UPSTREAM = 508, - VAR_AUTH_ZONE = 509, - VAR_ZONEFILE = 510, - VAR_MASTER = 511, - VAR_URL = 512, - VAR_FOR_DOWNSTREAM = 513, - VAR_FALLBACK_ENABLED = 514, - VAR_TLS_ADDITIONAL_PORT = 515, - VAR_LOW_RTT = 516, - VAR_LOW_RTT_PERMIL = 517, - VAR_FAST_SERVER_PERMIL = 518, - VAR_FAST_SERVER_NUM = 519, - VAR_ALLOW_NOTIFY = 520, - VAR_TLS_WIN_CERT = 521, - VAR_TCP_CONNECTION_LIMIT = 522, - VAR_FORWARD_NO_CACHE = 523, - VAR_STUB_NO_CACHE = 524, - VAR_LOG_SERVFAIL = 525, - VAR_DENY_ANY = 526, - VAR_UNKNOWN_SERVER_TIME_LIMIT = 527, - VAR_LOG_TAG_QUERYREPLY = 528, - VAR_STREAM_WAIT_SIZE = 529, - VAR_TLS_CIPHERS = 530, - VAR_TLS_CIPHERSUITES = 531, - VAR_TLS_USE_SNI = 532, - VAR_IPSET = 533, - VAR_IPSET_NAME_V4 = 534, - VAR_IPSET_NAME_V6 = 535, - VAR_TLS_SESSION_TICKET_KEYS = 536, - VAR_RPZ = 537, - VAR_TAGS = 538, - VAR_RPZ_ACTION_OVERRIDE = 539, - VAR_RPZ_CNAME_OVERRIDE = 540, - VAR_RPZ_LOG = 541, - VAR_RPZ_LOG_NAME = 542 + VAR_INFRA_KEEP_PROBING = 404, + VAR_DNS64_PREFIX = 405, + VAR_DNS64_SYNTHALL = 406, + VAR_DNS64_IGNORE_AAAA = 407, + VAR_DNSTAP = 408, + VAR_DNSTAP_ENABLE = 409, + VAR_DNSTAP_SOCKET_PATH = 410, + VAR_DNSTAP_IP = 411, + VAR_DNSTAP_TLS = 412, + VAR_DNSTAP_TLS_SERVER_NAME = 413, + VAR_DNSTAP_TLS_CERT_BUNDLE = 414, + VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 415, + VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 416, + VAR_DNSTAP_SEND_IDENTITY = 417, + VAR_DNSTAP_SEND_VERSION = 418, + VAR_DNSTAP_IDENTITY = 419, + VAR_DNSTAP_VERSION = 420, + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 421, + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 422, + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 423, + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 424, + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 425, + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 426, + VAR_RESPONSE_IP_TAG = 427, + VAR_RESPONSE_IP = 428, + VAR_RESPONSE_IP_DATA = 429, + VAR_HARDEN_ALGO_DOWNGRADE = 430, + VAR_IP_TRANSPARENT = 431, + VAR_IP_DSCP = 432, + VAR_DISABLE_DNSSEC_LAME_CHECK = 433, + VAR_IP_RATELIMIT = 434, + VAR_IP_RATELIMIT_SLABS = 435, + VAR_IP_RATELIMIT_SIZE = 436, + VAR_RATELIMIT = 437, + VAR_RATELIMIT_SLABS = 438, + VAR_RATELIMIT_SIZE = 439, + VAR_RATELIMIT_FOR_DOMAIN = 440, + VAR_RATELIMIT_BELOW_DOMAIN = 441, + VAR_IP_RATELIMIT_FACTOR = 442, + VAR_RATELIMIT_FACTOR = 443, + VAR_SEND_CLIENT_SUBNET = 444, + VAR_CLIENT_SUBNET_ZONE = 445, + VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 446, + VAR_CLIENT_SUBNET_OPCODE = 447, + VAR_MAX_CLIENT_SUBNET_IPV4 = 448, + VAR_MAX_CLIENT_SUBNET_IPV6 = 449, + VAR_MIN_CLIENT_SUBNET_IPV4 = 450, + VAR_MIN_CLIENT_SUBNET_IPV6 = 451, + VAR_MAX_ECS_TREE_SIZE_IPV4 = 452, + VAR_MAX_ECS_TREE_SIZE_IPV6 = 453, + VAR_CAPS_WHITELIST = 454, + VAR_CACHE_MAX_NEGATIVE_TTL = 455, + VAR_PERMIT_SMALL_HOLDDOWN = 456, + VAR_QNAME_MINIMISATION = 457, + VAR_QNAME_MINIMISATION_STRICT = 458, + VAR_IP_FREEBIND = 459, + VAR_DEFINE_TAG = 460, + VAR_LOCAL_ZONE_TAG = 461, + VAR_ACCESS_CONTROL_TAG = 462, + VAR_LOCAL_ZONE_OVERRIDE = 463, + VAR_ACCESS_CONTROL_TAG_ACTION = 464, + VAR_ACCESS_CONTROL_TAG_DATA = 465, + VAR_VIEW = 466, + VAR_ACCESS_CONTROL_VIEW = 467, + VAR_VIEW_FIRST = 468, + VAR_SERVE_EXPIRED = 469, + VAR_SERVE_EXPIRED_TTL = 470, + VAR_SERVE_EXPIRED_TTL_RESET = 471, + VAR_SERVE_EXPIRED_REPLY_TTL = 472, + VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 473, + VAR_FAKE_DSA = 474, + VAR_FAKE_SHA1 = 475, + VAR_LOG_IDENTITY = 476, + VAR_HIDE_TRUSTANCHOR = 477, + VAR_TRUST_ANCHOR_SIGNALING = 478, + VAR_AGGRESSIVE_NSEC = 479, + VAR_USE_SYSTEMD = 480, + VAR_SHM_ENABLE = 481, + VAR_SHM_KEY = 482, + VAR_ROOT_KEY_SENTINEL = 483, + VAR_DNSCRYPT = 484, + VAR_DNSCRYPT_ENABLE = 485, + VAR_DNSCRYPT_PORT = 486, + VAR_DNSCRYPT_PROVIDER = 487, + VAR_DNSCRYPT_SECRET_KEY = 488, + VAR_DNSCRYPT_PROVIDER_CERT = 489, + VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 490, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 491, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 492, + VAR_DNSCRYPT_NONCE_CACHE_SIZE = 493, + VAR_DNSCRYPT_NONCE_CACHE_SLABS = 494, + VAR_IPSECMOD_ENABLED = 495, + VAR_IPSECMOD_HOOK = 496, + VAR_IPSECMOD_IGNORE_BOGUS = 497, + VAR_IPSECMOD_MAX_TTL = 498, + VAR_IPSECMOD_WHITELIST = 499, + VAR_IPSECMOD_STRICT = 500, + VAR_CACHEDB = 501, + VAR_CACHEDB_BACKEND = 502, + VAR_CACHEDB_SECRETSEED = 503, + VAR_CACHEDB_REDISHOST = 504, + VAR_CACHEDB_REDISPORT = 505, + VAR_CACHEDB_REDISTIMEOUT = 506, + VAR_CACHEDB_REDISEXPIRERECORDS = 507, + VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 508, + VAR_FOR_UPSTREAM = 509, + VAR_AUTH_ZONE = 510, + VAR_ZONEFILE = 511, + VAR_MASTER = 512, + VAR_URL = 513, + VAR_FOR_DOWNSTREAM = 514, + VAR_FALLBACK_ENABLED = 515, + VAR_TLS_ADDITIONAL_PORT = 516, + VAR_LOW_RTT = 517, + VAR_LOW_RTT_PERMIL = 518, + VAR_FAST_SERVER_PERMIL = 519, + VAR_FAST_SERVER_NUM = 520, + VAR_ALLOW_NOTIFY = 521, + VAR_TLS_WIN_CERT = 522, + VAR_TCP_CONNECTION_LIMIT = 523, + VAR_FORWARD_NO_CACHE = 524, + VAR_STUB_NO_CACHE = 525, + VAR_LOG_SERVFAIL = 526, + VAR_DENY_ANY = 527, + VAR_UNKNOWN_SERVER_TIME_LIMIT = 528, + VAR_LOG_TAG_QUERYREPLY = 529, + VAR_STREAM_WAIT_SIZE = 530, + VAR_TLS_CIPHERS = 531, + VAR_TLS_CIPHERSUITES = 532, + VAR_TLS_USE_SNI = 533, + VAR_IPSET = 534, + VAR_IPSET_NAME_V4 = 535, + VAR_IPSET_NAME_V6 = 536, + VAR_TLS_SESSION_TICKET_KEYS = 537, + VAR_RPZ = 538, + VAR_TAGS = 539, + VAR_RPZ_ACTION_OVERRIDE = 540, + VAR_RPZ_CNAME_OVERRIDE = 541, + VAR_RPZ_LOG = 542, + VAR_RPZ_LOG_NAME = 543 }; #endif /* Tokens. */ @@ -568,145 +569,146 @@ extern int yydebug; #define VAR_UNBLOCK_LAN_ZONES 401 #define VAR_INSECURE_LAN_ZONES 402 #define VAR_INFRA_CACHE_MIN_RTT 403 -#define VAR_DNS64_PREFIX 404 -#define VAR_DNS64_SYNTHALL 405 -#define VAR_DNS64_IGNORE_AAAA 406 -#define VAR_DNSTAP 407 -#define VAR_DNSTAP_ENABLE 408 -#define VAR_DNSTAP_SOCKET_PATH 409 -#define VAR_DNSTAP_IP 410 -#define VAR_DNSTAP_TLS 411 -#define VAR_DNSTAP_TLS_SERVER_NAME 412 -#define VAR_DNSTAP_TLS_CERT_BUNDLE 413 -#define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 414 -#define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 415 -#define VAR_DNSTAP_SEND_IDENTITY 416 -#define VAR_DNSTAP_SEND_VERSION 417 -#define VAR_DNSTAP_IDENTITY 418 -#define VAR_DNSTAP_VERSION 419 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 420 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 421 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 422 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 423 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 424 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 425 -#define VAR_RESPONSE_IP_TAG 426 -#define VAR_RESPONSE_IP 427 -#define VAR_RESPONSE_IP_DATA 428 -#define VAR_HARDEN_ALGO_DOWNGRADE 429 -#define VAR_IP_TRANSPARENT 430 -#define VAR_IP_DSCP 431 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 432 -#define VAR_IP_RATELIMIT 433 -#define VAR_IP_RATELIMIT_SLABS 434 -#define VAR_IP_RATELIMIT_SIZE 435 -#define VAR_RATELIMIT 436 -#define VAR_RATELIMIT_SLABS 437 -#define VAR_RATELIMIT_SIZE 438 -#define VAR_RATELIMIT_FOR_DOMAIN 439 -#define VAR_RATELIMIT_BELOW_DOMAIN 440 -#define VAR_IP_RATELIMIT_FACTOR 441 -#define VAR_RATELIMIT_FACTOR 442 -#define VAR_SEND_CLIENT_SUBNET 443 -#define VAR_CLIENT_SUBNET_ZONE 444 -#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 445 -#define VAR_CLIENT_SUBNET_OPCODE 446 -#define VAR_MAX_CLIENT_SUBNET_IPV4 447 -#define VAR_MAX_CLIENT_SUBNET_IPV6 448 -#define VAR_MIN_CLIENT_SUBNET_IPV4 449 -#define VAR_MIN_CLIENT_SUBNET_IPV6 450 -#define VAR_MAX_ECS_TREE_SIZE_IPV4 451 -#define VAR_MAX_ECS_TREE_SIZE_IPV6 452 -#define VAR_CAPS_WHITELIST 453 -#define VAR_CACHE_MAX_NEGATIVE_TTL 454 -#define VAR_PERMIT_SMALL_HOLDDOWN 455 -#define VAR_QNAME_MINIMISATION 456 -#define VAR_QNAME_MINIMISATION_STRICT 457 -#define VAR_IP_FREEBIND 458 -#define VAR_DEFINE_TAG 459 -#define VAR_LOCAL_ZONE_TAG 460 -#define VAR_ACCESS_CONTROL_TAG 461 -#define VAR_LOCAL_ZONE_OVERRIDE 462 -#define VAR_ACCESS_CONTROL_TAG_ACTION 463 -#define VAR_ACCESS_CONTROL_TAG_DATA 464 -#define VAR_VIEW 465 -#define VAR_ACCESS_CONTROL_VIEW 466 -#define VAR_VIEW_FIRST 467 -#define VAR_SERVE_EXPIRED 468 -#define VAR_SERVE_EXPIRED_TTL 469 -#define VAR_SERVE_EXPIRED_TTL_RESET 470 -#define VAR_SERVE_EXPIRED_REPLY_TTL 471 -#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 472 -#define VAR_FAKE_DSA 473 -#define VAR_FAKE_SHA1 474 -#define VAR_LOG_IDENTITY 475 -#define VAR_HIDE_TRUSTANCHOR 476 -#define VAR_TRUST_ANCHOR_SIGNALING 477 -#define VAR_AGGRESSIVE_NSEC 478 -#define VAR_USE_SYSTEMD 479 -#define VAR_SHM_ENABLE 480 -#define VAR_SHM_KEY 481 -#define VAR_ROOT_KEY_SENTINEL 482 -#define VAR_DNSCRYPT 483 -#define VAR_DNSCRYPT_ENABLE 484 -#define VAR_DNSCRYPT_PORT 485 -#define VAR_DNSCRYPT_PROVIDER 486 -#define VAR_DNSCRYPT_SECRET_KEY 487 -#define VAR_DNSCRYPT_PROVIDER_CERT 488 -#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 489 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 490 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 491 -#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 492 -#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 493 -#define VAR_IPSECMOD_ENABLED 494 -#define VAR_IPSECMOD_HOOK 495 -#define VAR_IPSECMOD_IGNORE_BOGUS 496 -#define VAR_IPSECMOD_MAX_TTL 497 -#define VAR_IPSECMOD_WHITELIST 498 -#define VAR_IPSECMOD_STRICT 499 -#define VAR_CACHEDB 500 -#define VAR_CACHEDB_BACKEND 501 -#define VAR_CACHEDB_SECRETSEED 502 -#define VAR_CACHEDB_REDISHOST 503 -#define VAR_CACHEDB_REDISPORT 504 -#define VAR_CACHEDB_REDISTIMEOUT 505 -#define VAR_CACHEDB_REDISEXPIRERECORDS 506 -#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 507 -#define VAR_FOR_UPSTREAM 508 -#define VAR_AUTH_ZONE 509 -#define VAR_ZONEFILE 510 -#define VAR_MASTER 511 -#define VAR_URL 512 -#define VAR_FOR_DOWNSTREAM 513 -#define VAR_FALLBACK_ENABLED 514 -#define VAR_TLS_ADDITIONAL_PORT 515 -#define VAR_LOW_RTT 516 -#define VAR_LOW_RTT_PERMIL 517 -#define VAR_FAST_SERVER_PERMIL 518 -#define VAR_FAST_SERVER_NUM 519 -#define VAR_ALLOW_NOTIFY 520 -#define VAR_TLS_WIN_CERT 521 -#define VAR_TCP_CONNECTION_LIMIT 522 -#define VAR_FORWARD_NO_CACHE 523 -#define VAR_STUB_NO_CACHE 524 -#define VAR_LOG_SERVFAIL 525 -#define VAR_DENY_ANY 526 -#define VAR_UNKNOWN_SERVER_TIME_LIMIT 527 -#define VAR_LOG_TAG_QUERYREPLY 528 -#define VAR_STREAM_WAIT_SIZE 529 -#define VAR_TLS_CIPHERS 530 -#define VAR_TLS_CIPHERSUITES 531 -#define VAR_TLS_USE_SNI 532 -#define VAR_IPSET 533 -#define VAR_IPSET_NAME_V4 534 -#define VAR_IPSET_NAME_V6 535 -#define VAR_TLS_SESSION_TICKET_KEYS 536 -#define VAR_RPZ 537 -#define VAR_TAGS 538 -#define VAR_RPZ_ACTION_OVERRIDE 539 -#define VAR_RPZ_CNAME_OVERRIDE 540 -#define VAR_RPZ_LOG 541 -#define VAR_RPZ_LOG_NAME 542 +#define VAR_INFRA_KEEP_PROBING 404 +#define VAR_DNS64_PREFIX 405 +#define VAR_DNS64_SYNTHALL 406 +#define VAR_DNS64_IGNORE_AAAA 407 +#define VAR_DNSTAP 408 +#define VAR_DNSTAP_ENABLE 409 +#define VAR_DNSTAP_SOCKET_PATH 410 +#define VAR_DNSTAP_IP 411 +#define VAR_DNSTAP_TLS 412 +#define VAR_DNSTAP_TLS_SERVER_NAME 413 +#define VAR_DNSTAP_TLS_CERT_BUNDLE 414 +#define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 415 +#define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 416 +#define VAR_DNSTAP_SEND_IDENTITY 417 +#define VAR_DNSTAP_SEND_VERSION 418 +#define VAR_DNSTAP_IDENTITY 419 +#define VAR_DNSTAP_VERSION 420 +#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 421 +#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 422 +#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 423 +#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 424 +#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 425 +#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 426 +#define VAR_RESPONSE_IP_TAG 427 +#define VAR_RESPONSE_IP 428 +#define VAR_RESPONSE_IP_DATA 429 +#define VAR_HARDEN_ALGO_DOWNGRADE 430 +#define VAR_IP_TRANSPARENT 431 +#define VAR_IP_DSCP 432 +#define VAR_DISABLE_DNSSEC_LAME_CHECK 433 +#define VAR_IP_RATELIMIT 434 +#define VAR_IP_RATELIMIT_SLABS 435 +#define VAR_IP_RATELIMIT_SIZE 436 +#define VAR_RATELIMIT 437 +#define VAR_RATELIMIT_SLABS 438 +#define VAR_RATELIMIT_SIZE 439 +#define VAR_RATELIMIT_FOR_DOMAIN 440 +#define VAR_RATELIMIT_BELOW_DOMAIN 441 +#define VAR_IP_RATELIMIT_FACTOR 442 +#define VAR_RATELIMIT_FACTOR 443 +#define VAR_SEND_CLIENT_SUBNET 444 +#define VAR_CLIENT_SUBNET_ZONE 445 +#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 446 +#define VAR_CLIENT_SUBNET_OPCODE 447 +#define VAR_MAX_CLIENT_SUBNET_IPV4 448 +#define VAR_MAX_CLIENT_SUBNET_IPV6 449 +#define VAR_MIN_CLIENT_SUBNET_IPV4 450 +#define VAR_MIN_CLIENT_SUBNET_IPV6 451 +#define VAR_MAX_ECS_TREE_SIZE_IPV4 452 +#define VAR_MAX_ECS_TREE_SIZE_IPV6 453 +#define VAR_CAPS_WHITELIST 454 +#define VAR_CACHE_MAX_NEGATIVE_TTL 455 +#define VAR_PERMIT_SMALL_HOLDDOWN 456 +#define VAR_QNAME_MINIMISATION 457 +#define VAR_QNAME_MINIMISATION_STRICT 458 +#define VAR_IP_FREEBIND 459 +#define VAR_DEFINE_TAG 460 +#define VAR_LOCAL_ZONE_TAG 461 +#define VAR_ACCESS_CONTROL_TAG 462 +#define VAR_LOCAL_ZONE_OVERRIDE 463 +#define VAR_ACCESS_CONTROL_TAG_ACTION 464 +#define VAR_ACCESS_CONTROL_TAG_DATA 465 +#define VAR_VIEW 466 +#define VAR_ACCESS_CONTROL_VIEW 467 +#define VAR_VIEW_FIRST 468 +#define VAR_SERVE_EXPIRED 469 +#define VAR_SERVE_EXPIRED_TTL 470 +#define VAR_SERVE_EXPIRED_TTL_RESET 471 +#define VAR_SERVE_EXPIRED_REPLY_TTL 472 +#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 473 +#define VAR_FAKE_DSA 474 +#define VAR_FAKE_SHA1 475 +#define VAR_LOG_IDENTITY 476 +#define VAR_HIDE_TRUSTANCHOR 477 +#define VAR_TRUST_ANCHOR_SIGNALING 478 +#define VAR_AGGRESSIVE_NSEC 479 +#define VAR_USE_SYSTEMD 480 +#define VAR_SHM_ENABLE 481 +#define VAR_SHM_KEY 482 +#define VAR_ROOT_KEY_SENTINEL 483 +#define VAR_DNSCRYPT 484 +#define VAR_DNSCRYPT_ENABLE 485 +#define VAR_DNSCRYPT_PORT 486 +#define VAR_DNSCRYPT_PROVIDER 487 +#define VAR_DNSCRYPT_SECRET_KEY 488 +#define VAR_DNSCRYPT_PROVIDER_CERT 489 +#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 490 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 491 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 492 +#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 493 +#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 494 +#define VAR_IPSECMOD_ENABLED 495 +#define VAR_IPSECMOD_HOOK 496 +#define VAR_IPSECMOD_IGNORE_BOGUS 497 +#define VAR_IPSECMOD_MAX_TTL 498 +#define VAR_IPSECMOD_WHITELIST 499 +#define VAR_IPSECMOD_STRICT 500 +#define VAR_CACHEDB 501 +#define VAR_CACHEDB_BACKEND 502 +#define VAR_CACHEDB_SECRETSEED 503 +#define VAR_CACHEDB_REDISHOST 504 +#define VAR_CACHEDB_REDISPORT 505 +#define VAR_CACHEDB_REDISTIMEOUT 506 +#define VAR_CACHEDB_REDISEXPIRERECORDS 507 +#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 508 +#define VAR_FOR_UPSTREAM 509 +#define VAR_AUTH_ZONE 510 +#define VAR_ZONEFILE 511 +#define VAR_MASTER 512 +#define VAR_URL 513 +#define VAR_FOR_DOWNSTREAM 514 +#define VAR_FALLBACK_ENABLED 515 +#define VAR_TLS_ADDITIONAL_PORT 516 +#define VAR_LOW_RTT 517 +#define VAR_LOW_RTT_PERMIL 518 +#define VAR_FAST_SERVER_PERMIL 519 +#define VAR_FAST_SERVER_NUM 520 +#define VAR_ALLOW_NOTIFY 521 +#define VAR_TLS_WIN_CERT 522 +#define VAR_TCP_CONNECTION_LIMIT 523 +#define VAR_FORWARD_NO_CACHE 524 +#define VAR_STUB_NO_CACHE 525 +#define VAR_LOG_SERVFAIL 526 +#define VAR_DENY_ANY 527 +#define VAR_UNKNOWN_SERVER_TIME_LIMIT 528 +#define VAR_LOG_TAG_QUERYREPLY 529 +#define VAR_STREAM_WAIT_SIZE 530 +#define VAR_TLS_CIPHERS 531 +#define VAR_TLS_CIPHERSUITES 532 +#define VAR_TLS_USE_SNI 533 +#define VAR_IPSET 534 +#define VAR_IPSET_NAME_V4 535 +#define VAR_IPSET_NAME_V6 536 +#define VAR_TLS_SESSION_TICKET_KEYS 537 +#define VAR_RPZ 538 +#define VAR_TAGS 539 +#define VAR_RPZ_ACTION_OVERRIDE 540 +#define VAR_RPZ_CNAME_OVERRIDE 541 +#define VAR_RPZ_LOG 542 +#define VAR_RPZ_LOG_NAME 543 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -716,7 +718,7 @@ union YYSTYPE char* str; -#line 720 "util/configparser.c" +#line 722 "util/configparser.c" }; typedef union YYSTYPE YYSTYPE; @@ -966,19 +968,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 609 +#define YYLAST 611 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 288 +#define YYNTOKENS 289 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 311 +#define YYNNTS 312 /* YYNRULES -- Number of rules. */ -#define YYNRULES 600 +#define YYNRULES 602 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 893 +#define YYNSTATES 896 #define YYUNDEFTOK 2 -#define YYMAXUTOK 542 +#define YYMAXUTOK 543 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ @@ -1043,7 +1045,7 @@ static const yytype_uint16 yytranslate[] = 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, 280, 281, 282, 283, 284, - 285, 286, 287 + 285, 286, 287, 288 }; #if YYDEBUG @@ -1064,53 +1066,53 @@ static const yytype_uint16 yyrline[] = 235, 235, 235, 236, 236, 236, 237, 237, 237, 237, 238, 239, 239, 239, 240, 240, 240, 241, 241, 242, 242, 243, 243, 243, 244, 244, 245, 245, 245, 246, - 247, 247, 248, 248, 249, 250, 250, 251, 251, 252, - 252, 253, 254, 254, 255, 255, 256, 256, 257, 257, - 258, 258, 259, 259, 259, 260, 260, 261, 261, 262, - 262, 263, 263, 264, 264, 265, 265, 266, 266, 266, - 267, 267, 267, 268, 268, 268, 269, 269, 270, 271, - 271, 272, 272, 273, 273, 274, 274, 275, 275, 275, - 276, 276, 276, 277, 277, 277, 278, 278, 279, 279, - 280, 280, 281, 283, 295, 296, 297, 297, 297, 297, - 297, 298, 298, 300, 312, 313, 314, 314, 314, 314, - 315, 315, 317, 331, 332, 333, 333, 333, 333, 334, - 334, 334, 336, 353, 354, 355, 355, 355, 355, 356, - 356, 356, 357, 360, 379, 396, 404, 414, 422, 439, - 440, 441, 441, 441, 441, 441, 442, 442, 442, 443, - 443, 445, 454, 463, 474, 483, 492, 501, 512, 521, - 533, 547, 562, 573, 590, 607, 624, 641, 656, 671, - 684, 699, 708, 717, 726, 735, 744, 753, 762, 771, - 780, 789, 798, 807, 816, 825, 838, 847, 860, 869, - 878, 887, 894, 901, 910, 917, 926, 934, 941, 948, - 956, 965, 974, 983, 997, 1006, 1015, 1024, 1033, 1042, - 1051, 1058, 1065, 1091, 1099, 1106, 1113, 1120, 1127, 1135, - 1143, 1151, 1158, 1169, 1180, 1187, 1196, 1205, 1214, 1221, - 1228, 1236, 1244, 1254, 1264, 1274, 1288, 1296, 1309, 1320, - 1328, 1341, 1350, 1359, 1368, 1378, 1388, 1396, 1409, 1418, - 1426, 1435, 1443, 1456, 1465, 1472, 1482, 1492, 1502, 1512, - 1522, 1532, 1542, 1552, 1559, 1566, 1573, 1582, 1591, 1600, - 1609, 1616, 1626, 1646, 1653, 1671, 1684, 1697, 1706, 1715, - 1724, 1733, 1743, 1753, 1764, 1773, 1782, 1791, 1800, 1809, - 1818, 1831, 1844, 1853, 1860, 1869, 1878, 1887, 1896, 1904, - 1917, 1925, 1966, 1973, 1988, 1998, 2008, 2015, 2022, 2029, - 2038, 2046, 2060, 2081, 2102, 2114, 2126, 2138, 2147, 2168, - 2178, 2187, 2195, 2203, 2216, 2229, 2244, 2259, 2268, 2277, - 2283, 2292, 2301, 2311, 2321, 2334, 2347, 2359, 2373, 2385, - 2399, 2409, 2416, 2423, 2432, 2441, 2451, 2461, 2471, 2478, - 2485, 2494, 2503, 2513, 2523, 2530, 2537, 2544, 2552, 2562, - 2572, 2582, 2592, 2631, 2641, 2649, 2657, 2672, 2681, 2686, - 2687, 2688, 2688, 2688, 2689, 2689, 2689, 2690, 2690, 2692, - 2702, 2711, 2718, 2725, 2732, 2739, 2746, 2753, 2758, 2759, - 2760, 2760, 2761, 2761, 2761, 2762, 2763, 2763, 2764, 2764, - 2765, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2773, 2782, - 2789, 2796, 2805, 2812, 2819, 2826, 2833, 2842, 2851, 2858, - 2865, 2875, 2885, 2895, 2905, 2915, 2925, 2930, 2931, 2932, - 2934, 2940, 2950, 2957, 2966, 2974, 2979, 2980, 2982, 2982, - 2982, 2983, 2983, 2984, 2985, 2986, 2987, 2988, 2990, 3000, - 3009, 3016, 3025, 3032, 3041, 3049, 3062, 3070, 3083, 3088, - 3089, 3090, 3090, 3091, 3091, 3091, 3092, 3094, 3106, 3118, - 3130, 3145, 3158, 3171, 3182, 3187, 3188, 3189, 3189, 3191, - 3206 + 246, 247, 247, 248, 248, 249, 250, 250, 251, 251, + 252, 252, 253, 254, 254, 255, 255, 256, 256, 257, + 257, 258, 258, 259, 259, 259, 260, 260, 261, 261, + 262, 262, 263, 263, 264, 264, 265, 265, 266, 266, + 266, 267, 267, 267, 268, 268, 268, 269, 269, 270, + 271, 271, 272, 272, 273, 273, 274, 274, 275, 275, + 275, 276, 276, 276, 277, 277, 277, 278, 278, 279, + 279, 280, 280, 281, 283, 295, 296, 297, 297, 297, + 297, 297, 298, 298, 300, 312, 313, 314, 314, 314, + 314, 315, 315, 317, 331, 332, 333, 333, 333, 333, + 334, 334, 334, 336, 353, 354, 355, 355, 355, 355, + 356, 356, 356, 357, 360, 379, 396, 404, 414, 422, + 439, 440, 441, 441, 441, 441, 441, 442, 442, 442, + 443, 443, 445, 454, 463, 474, 483, 492, 501, 512, + 521, 533, 547, 562, 573, 590, 607, 624, 641, 656, + 671, 684, 699, 708, 717, 726, 735, 744, 753, 762, + 771, 780, 789, 798, 807, 816, 825, 838, 847, 860, + 869, 878, 887, 894, 901, 910, 917, 926, 934, 941, + 948, 956, 965, 974, 983, 997, 1006, 1015, 1024, 1033, + 1042, 1051, 1058, 1065, 1091, 1099, 1106, 1113, 1120, 1127, + 1135, 1143, 1151, 1158, 1169, 1180, 1187, 1196, 1205, 1214, + 1221, 1228, 1236, 1244, 1254, 1264, 1274, 1288, 1296, 1309, + 1320, 1328, 1341, 1350, 1359, 1368, 1378, 1388, 1396, 1409, + 1418, 1426, 1435, 1443, 1456, 1465, 1475, 1482, 1492, 1502, + 1512, 1522, 1532, 1542, 1552, 1562, 1569, 1576, 1583, 1592, + 1601, 1610, 1619, 1626, 1636, 1656, 1663, 1681, 1694, 1707, + 1716, 1725, 1734, 1743, 1753, 1763, 1774, 1783, 1792, 1801, + 1810, 1819, 1828, 1841, 1854, 1863, 1870, 1879, 1888, 1897, + 1906, 1914, 1927, 1935, 1976, 1983, 1998, 2008, 2018, 2025, + 2032, 2039, 2048, 2056, 2070, 2091, 2112, 2124, 2136, 2148, + 2157, 2178, 2188, 2197, 2205, 2213, 2226, 2239, 2254, 2269, + 2278, 2287, 2293, 2302, 2311, 2321, 2331, 2344, 2357, 2369, + 2383, 2395, 2409, 2419, 2426, 2433, 2442, 2451, 2461, 2471, + 2481, 2488, 2495, 2504, 2513, 2523, 2533, 2540, 2547, 2554, + 2562, 2572, 2582, 2592, 2602, 2641, 2651, 2659, 2667, 2682, + 2691, 2696, 2697, 2698, 2698, 2698, 2699, 2699, 2699, 2700, + 2700, 2702, 2712, 2721, 2728, 2735, 2742, 2749, 2756, 2763, + 2768, 2769, 2770, 2770, 2771, 2771, 2771, 2772, 2773, 2773, + 2774, 2774, 2775, 2775, 2776, 2777, 2778, 2779, 2780, 2781, + 2783, 2792, 2799, 2806, 2815, 2822, 2829, 2836, 2843, 2852, + 2861, 2868, 2875, 2885, 2895, 2905, 2915, 2925, 2935, 2940, + 2941, 2942, 2944, 2950, 2960, 2967, 2976, 2984, 2989, 2990, + 2992, 2992, 2992, 2993, 2993, 2994, 2995, 2996, 2997, 2998, + 3000, 3010, 3019, 3026, 3035, 3042, 3051, 3059, 3072, 3080, + 3093, 3098, 3099, 3100, 3100, 3101, 3101, 3101, 3102, 3104, + 3116, 3128, 3140, 3155, 3168, 3181, 3192, 3197, 3198, 3199, + 3199, 3201, 3216 }; #endif @@ -1166,13 +1168,13 @@ static const char *const yytname[] = "VAR_FORWARD_SSL_UPSTREAM", "VAR_TLS_CERT_BUNDLE", "VAR_STUB_FIRST", "VAR_MINIMAL_RESPONSES", "VAR_RRSET_ROUNDROBIN", "VAR_MAX_UDP_SIZE", "VAR_DELAY_CLOSE", "VAR_UNBLOCK_LAN_ZONES", "VAR_INSECURE_LAN_ZONES", - "VAR_INFRA_CACHE_MIN_RTT", "VAR_DNS64_PREFIX", "VAR_DNS64_SYNTHALL", - "VAR_DNS64_IGNORE_AAAA", "VAR_DNSTAP", "VAR_DNSTAP_ENABLE", - "VAR_DNSTAP_SOCKET_PATH", "VAR_DNSTAP_IP", "VAR_DNSTAP_TLS", - "VAR_DNSTAP_TLS_SERVER_NAME", "VAR_DNSTAP_TLS_CERT_BUNDLE", - "VAR_DNSTAP_TLS_CLIENT_KEY_FILE", "VAR_DNSTAP_TLS_CLIENT_CERT_FILE", - "VAR_DNSTAP_SEND_IDENTITY", "VAR_DNSTAP_SEND_VERSION", - "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION", + "VAR_INFRA_CACHE_MIN_RTT", "VAR_INFRA_KEEP_PROBING", "VAR_DNS64_PREFIX", + "VAR_DNS64_SYNTHALL", "VAR_DNS64_IGNORE_AAAA", "VAR_DNSTAP", + "VAR_DNSTAP_ENABLE", "VAR_DNSTAP_SOCKET_PATH", "VAR_DNSTAP_IP", + "VAR_DNSTAP_TLS", "VAR_DNSTAP_TLS_SERVER_NAME", + "VAR_DNSTAP_TLS_CERT_BUNDLE", "VAR_DNSTAP_TLS_CLIENT_KEY_FILE", + "VAR_DNSTAP_TLS_CLIENT_CERT_FILE", "VAR_DNSTAP_SEND_IDENTITY", + "VAR_DNSTAP_SEND_VERSION", "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION", "VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES", "VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES", "VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES", @@ -1274,25 +1276,25 @@ static const char *const yytname[] = "server_infra_host_ttl", "server_infra_lame_ttl", "server_infra_cache_numhosts", "server_infra_cache_lame_size", "server_infra_cache_slabs", "server_infra_cache_min_rtt", - "server_target_fetch_policy", "server_harden_short_bufsize", - "server_harden_large_queries", "server_harden_glue", - "server_harden_dnssec_stripped", "server_harden_below_nxdomain", - "server_harden_referral_path", "server_harden_algo_downgrade", - "server_use_caps_for_id", "server_caps_whitelist", - "server_private_address", "server_private_domain", "server_prefetch", - "server_prefetch_key", "server_deny_any", - "server_unwanted_reply_threshold", "server_do_not_query_address", - "server_do_not_query_localhost", "server_access_control", - "server_module_conf", "server_val_override_date", - "server_val_sig_skew_min", "server_val_sig_skew_max", - "server_cache_max_ttl", "server_cache_max_negative_ttl", - "server_cache_min_ttl", "server_bogus_ttl", - "server_val_clean_additional", "server_val_permissive_mode", - "server_aggressive_nsec", "server_ignore_cd_flag", - "server_serve_expired", "server_serve_expired_ttl", - "server_serve_expired_ttl_reset", "server_serve_expired_reply_ttl", - "server_serve_expired_client_timeout", "server_fake_dsa", - "server_fake_sha1", "server_val_log_level", + "server_infra_keep_probing", "server_target_fetch_policy", + "server_harden_short_bufsize", "server_harden_large_queries", + "server_harden_glue", "server_harden_dnssec_stripped", + "server_harden_below_nxdomain", "server_harden_referral_path", + "server_harden_algo_downgrade", "server_use_caps_for_id", + "server_caps_whitelist", "server_private_address", + "server_private_domain", "server_prefetch", "server_prefetch_key", + "server_deny_any", "server_unwanted_reply_threshold", + "server_do_not_query_address", "server_do_not_query_localhost", + "server_access_control", "server_module_conf", + "server_val_override_date", "server_val_sig_skew_min", + "server_val_sig_skew_max", "server_cache_max_ttl", + "server_cache_max_negative_ttl", "server_cache_min_ttl", + "server_bogus_ttl", "server_val_clean_additional", + "server_val_permissive_mode", "server_aggressive_nsec", + "server_ignore_cd_flag", "server_serve_expired", + "server_serve_expired_ttl", "server_serve_expired_ttl_reset", + "server_serve_expired_reply_ttl", "server_serve_expired_client_timeout", + "server_fake_dsa", "server_fake_sha1", "server_val_log_level", "server_val_nsec3_keysize_iterations", "server_add_holddown", "server_del_holddown", "server_keep_missing", "server_permit_small_holddown", "server_key_cache_size", @@ -1386,14 +1388,14 @@ static const yytype_uint16 yytoknum[] = 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542 + 535, 536, 537, 538, 539, 540, 541, 542, 543 }; # endif -#define YYPACT_NINF -272 +#define YYPACT_NINF -273 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-272))) + (!!((Yystate) == (-273))) #define YYTABLE_NINF -1 @@ -1404,96 +1406,96 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -272, 0, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, 271, -42, - -37, -41, -7, -43, -30, -136, -106, -177, -172, -271, + -273, 0, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, 272, -42, + -37, -41, -7, -43, -30, -137, -106, -178, -173, -272, 2, 3, 4, 25, 26, 28, 31, 32, 33, 34, 36, 37, 38, 39, 40, 52, 53, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 88, 91, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 123, 124, 125, 126, 127, 128, 129, 130, + 119, 120, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, + 141, 142, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 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, 201, 205, 206, - 207, 208, 209, 210, 211, 213, 214, 215, 216, 219, - 220, 222, 223, 224, 225, 226, 227, 228, 229, 237, - 243, 245, 246, 247, 249, 250, 251, 252, 253, 254, + 193, 194, 195, 196, 197, 198, 199, 200, 202, 206, + 207, 208, 209, 210, 211, 212, 214, 215, 216, 217, + 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, + 238, 244, 246, 247, 248, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 269, 270, 305, 306, 307, 308, 312, - 313, 314, 356, 357, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, 358, - 359, 360, 361, 362, 363, 364, -272, -272, -272, -272, - -272, -272, -272, -272, 368, 372, 373, 398, 399, 400, - -272, -272, -272, -272, -272, -272, -272, 402, 413, 414, - 415, 416, 417, 418, -272, -272, -272, -272, -272, -272, - -272, -272, 419, 420, 421, 422, 423, 424, 425, 426, - -272, -272, -272, -272, -272, -272, -272, -272, -272, 427, - 428, 429, 430, 431, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, 471, 473, 489, 490, 491, - 492, 493, 494, -272, -272, -272, -272, -272, -272, -272, - -272, -272, 495, 496, 497, 498, 499, 506, 507, 508, - 509, 510, 511, 512, 514, 515, 516, 517, 518, 519, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, 520, - -272, -272, 523, 526, 529, 530, 539, 540, 541, 543, - 544, 545, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, 546, 547, 548, 549, 550, 551, -272, - -272, -272, -272, -272, -272, -272, 552, 553, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, 554, 555, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, 556, 557, - 558, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, 559, 560, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, 561, 562, 563, 564, 565, 566, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, 567, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, 568, - -272, -272, 569, 570, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, 571, 572, 573, -272, -272, -272, -272, -272, - -272, -272, -272 + 265, 266, 267, 268, 270, 271, 306, 307, 308, 309, + 313, 314, 315, 357, 358, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, 359, 360, 361, 362, 363, 364, 365, -273, -273, + -273, -273, -273, -273, -273, -273, 369, 373, 374, 399, + 400, 401, -273, -273, -273, -273, -273, -273, -273, 403, + 415, 416, 417, 418, 419, 420, -273, -273, -273, -273, + -273, -273, -273, -273, 421, 422, 423, 424, 425, 426, + 427, 428, -273, -273, -273, -273, -273, -273, -273, -273, + -273, 429, 430, 431, 432, 433, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, 473, 475, 491, + 492, 493, 494, 495, 496, -273, -273, -273, -273, -273, + -273, -273, -273, -273, 497, 498, 499, 500, 501, 508, + 509, 510, 511, 512, 513, 514, 516, 517, 518, 519, + 520, 521, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, 522, -273, -273, 525, 528, 531, 532, 541, 542, + 543, 545, 546, 547, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, 548, 549, 550, 551, 552, + 553, -273, -273, -273, -273, -273, -273, -273, 554, 555, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, 556, 557, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, 558, 559, 560, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, 561, 562, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, 563, 564, 565, 566, 567, + 568, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, 569, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, 570, -273, -273, 571, 572, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, 573, 574, 575, -273, -273, + -273, -273, -273, -273, -273, -273 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1501,9 +1503,9 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 2, 0, 1, 16, 213, 223, 488, 546, 507, 232, - 555, 578, 242, 594, 258, 3, 18, 215, 225, 234, - 244, 260, 490, 509, 548, 557, 580, 596, 4, 5, + 2, 0, 1, 16, 214, 224, 490, 548, 509, 233, + 557, 580, 243, 596, 259, 3, 18, 216, 226, 235, + 245, 261, 492, 511, 550, 559, 582, 598, 4, 5, 6, 10, 14, 15, 8, 9, 7, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1524,147 +1526,147 @@ 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, - 0, 0, 0, 0, 17, 19, 20, 83, 86, 95, - 183, 184, 21, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 34, 74, 22, 87, 88, 45, 67, - 82, 23, 24, 27, 28, 25, 26, 29, 30, 31, - 32, 33, 118, 195, 119, 121, 122, 123, 197, 202, - 198, 209, 210, 211, 212, 179, 84, 73, 99, 116, - 117, 207, 204, 120, 35, 36, 37, 38, 39, 75, - 89, 90, 105, 61, 71, 62, 187, 188, 100, 55, - 56, 186, 57, 58, 109, 113, 127, 136, 162, 139, - 208, 110, 68, 40, 41, 42, 97, 128, 129, 130, - 43, 44, 46, 47, 49, 50, 48, 134, 51, 52, - 53, 59, 78, 114, 92, 135, 85, 158, 93, 94, - 111, 112, 205, 98, 54, 76, 79, 60, 63, 101, - 102, 77, 159, 103, 64, 65, 66, 196, 115, 172, - 173, 174, 175, 176, 177, 185, 104, 72, 106, 107, - 108, 160, 69, 70, 91, 80, 81, 96, 124, 125, - 206, 126, 131, 132, 133, 163, 164, 166, 168, 169, - 167, 170, 180, 137, 138, 142, 143, 140, 141, 144, - 145, 147, 146, 199, 201, 200, 161, 171, 189, 191, - 190, 192, 193, 194, 165, 178, 181, 182, 203, 0, - 0, 0, 0, 0, 0, 0, 214, 216, 217, 218, - 220, 221, 222, 219, 0, 0, 0, 0, 0, 0, - 224, 226, 227, 228, 229, 230, 231, 0, 0, 0, - 0, 0, 0, 0, 233, 235, 236, 239, 240, 237, - 241, 238, 0, 0, 0, 0, 0, 0, 0, 0, - 243, 245, 246, 247, 248, 252, 249, 250, 251, 0, - 0, 0, 0, 0, 263, 267, 268, 269, 270, 259, - 261, 262, 264, 265, 266, 0, 0, 0, 0, 0, - 0, 0, 0, 489, 491, 493, 492, 498, 494, 495, - 496, 497, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 17, 19, 20, 83, 86, + 95, 184, 185, 21, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 34, 74, 22, 87, 88, 45, + 67, 82, 23, 24, 27, 28, 25, 26, 29, 30, + 31, 32, 33, 118, 196, 119, 121, 122, 123, 198, + 203, 199, 210, 211, 212, 213, 180, 84, 73, 99, + 116, 117, 208, 205, 120, 35, 36, 37, 38, 39, + 75, 89, 90, 105, 61, 71, 62, 188, 189, 100, + 55, 56, 187, 57, 58, 109, 113, 127, 136, 163, + 139, 209, 110, 68, 40, 41, 42, 97, 128, 129, + 130, 43, 44, 46, 47, 49, 50, 48, 134, 140, + 51, 52, 53, 59, 78, 114, 92, 135, 85, 159, + 93, 94, 111, 112, 206, 98, 54, 76, 79, 60, + 63, 101, 102, 77, 160, 103, 64, 65, 66, 197, + 115, 173, 174, 175, 176, 177, 178, 186, 104, 72, + 106, 107, 108, 161, 69, 70, 91, 80, 81, 96, + 124, 125, 207, 126, 131, 132, 133, 164, 165, 167, + 169, 170, 168, 171, 181, 137, 138, 143, 144, 141, + 142, 145, 146, 148, 147, 200, 202, 201, 162, 172, + 190, 192, 191, 193, 194, 195, 166, 179, 182, 183, + 204, 0, 0, 0, 0, 0, 0, 0, 215, 217, + 218, 219, 221, 222, 223, 220, 0, 0, 0, 0, + 0, 0, 225, 227, 228, 229, 230, 231, 232, 0, + 0, 0, 0, 0, 0, 0, 234, 236, 237, 240, + 241, 238, 242, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 244, 246, 247, 248, 249, 253, 250, 251, + 252, 0, 0, 0, 0, 0, 264, 268, 269, 270, + 271, 260, 262, 263, 265, 266, 267, 0, 0, 0, + 0, 0, 0, 0, 0, 491, 493, 495, 494, 500, + 496, 497, 498, 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 508, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, - 547, 549, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 556, 558, 559, 560, 562, 563, 561, 564, - 565, 566, 567, 0, 0, 0, 0, 0, 0, 579, - 581, 582, 583, 584, 585, 586, 0, 0, 595, 597, - 598, 272, 271, 278, 291, 289, 301, 297, 298, 302, - 299, 300, 303, 304, 305, 306, 307, 330, 331, 332, - 333, 334, 359, 360, 361, 366, 367, 294, 368, 369, - 372, 370, 371, 374, 375, 376, 390, 345, 346, 348, - 349, 377, 393, 339, 341, 394, 400, 401, 402, 295, - 358, 418, 419, 340, 413, 323, 290, 335, 391, 397, - 378, 0, 0, 422, 296, 273, 322, 382, 274, 292, - 293, 336, 337, 420, 380, 384, 385, 275, 423, 362, - 389, 324, 344, 395, 396, 399, 412, 338, 416, 414, - 415, 350, 357, 386, 387, 351, 352, 379, 404, 325, - 326, 329, 308, 310, 311, 312, 313, 314, 424, 425, - 427, 363, 364, 365, 373, 428, 429, 430, 0, 0, - 0, 381, 353, 355, 551, 439, 443, 441, 440, 444, - 442, 0, 0, 447, 448, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 383, 398, 417, 452, 453, - 354, 431, 0, 0, 0, 0, 0, 0, 405, 406, - 407, 408, 409, 410, 411, 552, 347, 342, 403, 321, - 276, 277, 343, 454, 456, 455, 457, 458, 459, 309, - 316, 449, 451, 450, 315, 0, 328, 388, 426, 327, - 356, 317, 318, 320, 319, 460, 461, 462, 466, 465, - 463, 464, 467, 468, 469, 470, 472, 471, 481, 0, - 485, 486, 0, 0, 487, 473, 479, 474, 475, 476, - 478, 480, 477, 253, 254, 255, 256, 257, 499, 501, - 500, 503, 504, 505, 506, 502, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 550, 568, 569, 570, 573, 571, - 572, 574, 575, 576, 577, 587, 588, 589, 590, 591, - 592, 599, 600, 392, 421, 438, 553, 554, 445, 446, - 432, 433, 0, 0, 0, 437, 593, 482, 483, 484, - 436, 434, 435 + 0, 0, 510, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 0, 549, 551, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 558, 560, 561, 562, 564, 565, + 563, 566, 567, 568, 569, 0, 0, 0, 0, 0, + 0, 581, 583, 584, 585, 586, 587, 588, 0, 0, + 597, 599, 600, 273, 272, 279, 292, 290, 302, 298, + 299, 303, 300, 301, 304, 305, 306, 307, 308, 331, + 332, 333, 334, 335, 360, 361, 362, 367, 368, 295, + 369, 370, 373, 371, 372, 376, 377, 378, 392, 346, + 347, 349, 350, 379, 395, 340, 342, 396, 402, 403, + 404, 296, 359, 420, 421, 341, 415, 324, 291, 336, + 393, 399, 380, 0, 0, 424, 297, 274, 323, 384, + 275, 293, 294, 337, 338, 422, 382, 386, 387, 276, + 425, 363, 391, 325, 345, 397, 398, 401, 414, 339, + 418, 416, 417, 351, 358, 388, 389, 352, 353, 381, + 406, 326, 327, 330, 309, 311, 312, 313, 314, 315, + 426, 427, 429, 364, 365, 366, 374, 375, 430, 431, + 432, 0, 0, 0, 383, 354, 356, 553, 441, 445, + 443, 442, 446, 444, 0, 0, 449, 450, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 385, 400, + 419, 454, 455, 355, 433, 0, 0, 0, 0, 0, + 0, 407, 408, 409, 410, 411, 412, 413, 554, 348, + 343, 405, 322, 277, 278, 344, 456, 458, 457, 459, + 460, 461, 310, 317, 451, 453, 452, 316, 0, 329, + 390, 428, 328, 357, 318, 319, 321, 320, 462, 463, + 464, 468, 467, 465, 466, 469, 470, 471, 472, 474, + 473, 483, 0, 487, 488, 0, 0, 489, 475, 481, + 476, 477, 478, 480, 482, 479, 254, 255, 256, 257, + 258, 501, 503, 502, 505, 506, 507, 508, 504, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 552, 570, 571, + 572, 575, 573, 574, 576, 577, 578, 579, 589, 590, + 591, 592, 593, 594, 601, 602, 394, 423, 440, 555, + 556, 447, 448, 434, 435, 0, 0, 0, 439, 595, + 484, 485, 486, 438, 436, 437 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -23, 248, - 574, 575, 576, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272 + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -23, + 249, 576, 577, 578, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, + -273, -273 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 15, 16, 28, 234, 17, 29, 436, 18, - 30, 450, 19, 31, 464, 20, 32, 480, 494, 495, - 496, 497, 498, 21, 33, 499, 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, 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, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 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, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 437, 438, 439, 440, 441, - 442, 443, 451, 452, 453, 454, 455, 456, 481, 482, - 483, 484, 485, 486, 487, 488, 465, 466, 467, 468, - 469, 470, 471, 22, 34, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 23, 35, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 24, 36, 560, 561, 424, - 425, 426, 427, 25, 37, 572, 573, 574, 575, 576, - 577, 578, 579, 580, 581, 582, 26, 38, 589, 590, - 591, 592, 593, 594, 595, 428, 27, 39, 598, 599, - 600 + -1, 1, 15, 16, 28, 235, 17, 29, 438, 18, + 30, 452, 19, 31, 466, 20, 32, 482, 496, 497, + 498, 499, 500, 21, 33, 501, 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, + 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, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 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, + 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, 439, 440, 441, 442, + 443, 444, 445, 453, 454, 455, 456, 457, 458, 483, + 484, 485, 486, 487, 488, 489, 490, 467, 468, 469, + 470, 471, 472, 473, 22, 34, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 23, 35, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 24, 36, 562, 563, + 426, 427, 428, 429, 25, 37, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 26, 38, 591, + 592, 593, 594, 595, 596, 597, 430, 27, 39, 600, + 601, 602 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1672,142 +1674,144 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint16 yytable[] = { - 2, 472, 429, 457, 430, 431, 559, 444, 596, 597, - 500, 3, 601, 602, 603, 445, 446, 522, 523, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 604, 605, 472, 606, 458, - 459, 607, 608, 609, 610, 4, 611, 612, 613, 614, - 615, 5, 562, 563, 564, 565, 566, 567, 568, 569, - 570, 571, 616, 617, 460, 432, 505, 506, 507, 508, - 509, 510, 511, 512, 583, 584, 585, 586, 587, 588, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 628, 629, 630, 631, 632, 6, 433, 633, 634, 434, - 447, 635, 448, 636, 637, 638, 639, 640, 641, 642, - 643, 7, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, - 662, 461, 462, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, - 680, 681, 8, 682, 683, 684, 685, 686, 687, 688, - 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, - 699, 463, 700, 701, 702, 703, 704, 705, 706, 707, - 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 9, 738, 474, 475, 476, 739, 740, 741, 742, 743, - 744, 745, 479, 746, 747, 748, 749, 435, 10, 750, - 751, 449, 752, 753, 754, 755, 756, 757, 758, 759, - 489, 490, 491, 492, 493, 11, 473, 760, 474, 475, - 476, 477, 478, 761, 12, 762, 763, 764, 479, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 776, 777, 778, 779, 780, 781, 782, 783, 13, 784, - 785, 501, 14, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 786, 787, 788, 789, 72, - 73, 74, 790, 791, 792, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 793, 794, 795, 796, - 797, 798, 799, 800, 801, 116, 117, 118, 802, 119, - 120, 121, 803, 804, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 805, 806, - 807, 146, 808, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 809, 810, 811, 812, 813, 814, 815, - 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, - 826, 827, 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, 828, 196, 829, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 830, - 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, - 212, 213, 214, 215, 216, 217, 841, 842, 843, 844, - 845, 846, 847, 218, 848, 849, 850, 851, 852, 853, - 854, 219, 220, 855, 221, 222, 856, 223, 224, 857, - 858, 225, 226, 227, 228, 229, 230, 231, 232, 859, - 860, 861, 233, 862, 863, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, - 889, 890, 891, 892, 0, 0, 0, 0, 0, 0, + 2, 474, 431, 459, 432, 433, 561, 446, 598, 599, + 502, 3, 603, 604, 605, 447, 448, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 606, 607, 474, 608, 460, + 461, 609, 610, 611, 612, 4, 613, 614, 615, 616, + 617, 5, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 618, 619, 462, 434, 507, 508, 509, 510, + 511, 512, 513, 514, 585, 586, 587, 588, 589, 590, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 6, 435, 635, 636, 436, + 449, 637, 450, 638, 639, 640, 641, 642, 643, 644, + 645, 7, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 463, 464, 666, 667, 668, 669, 670, 671, + 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 8, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 465, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 9, 741, 476, 477, 478, 742, 743, 744, 745, + 746, 747, 748, 481, 749, 750, 751, 752, 437, 10, + 753, 754, 451, 755, 756, 757, 758, 759, 760, 761, + 762, 491, 492, 493, 494, 495, 11, 475, 763, 476, + 477, 478, 479, 480, 764, 12, 765, 766, 767, 481, + 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 784, 785, 786, 13, + 787, 788, 503, 14, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 789, 790, 791, 792, + 72, 73, 74, 793, 794, 795, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 796, 797, 798, + 799, 800, 801, 802, 803, 804, 116, 117, 118, 805, + 119, 120, 121, 806, 807, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 808, + 809, 810, 146, 811, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 812, 813, 814, 815, 816, + 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, + 827, 828, 829, 830, 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, 831, 197, 832, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 833, 834, 835, 836, 837, 838, 839, 840, 841, + 842, 843, 213, 214, 215, 216, 217, 218, 844, 845, + 846, 847, 848, 849, 850, 219, 851, 852, 853, 854, + 855, 856, 857, 220, 221, 858, 222, 223, 859, 224, + 225, 860, 861, 226, 227, 228, 229, 230, 231, 232, + 233, 862, 863, 864, 234, 865, 866, 867, 868, 869, + 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, + 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, + 890, 891, 892, 893, 894, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 502, 503, 504 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, + 505, 506 }; static const yytype_int16 yycheck[] = { - 0, 44, 44, 44, 46, 47, 112, 44, 279, 280, - 33, 11, 10, 10, 10, 52, 53, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 10, 10, 44, 10, 80, + 0, 44, 44, 44, 46, 47, 112, 44, 280, 281, + 33, 11, 10, 10, 10, 52, 53, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 10, 10, 44, 10, 80, 81, 10, 10, 10, 10, 45, 10, 10, 10, 10, - 10, 51, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 10, 10, 105, 107, 96, 97, 98, 99, - 100, 101, 102, 103, 246, 247, 248, 249, 250, 251, + 10, 51, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 10, 10, 105, 107, 96, 97, 98, 99, + 100, 101, 102, 103, 247, 248, 249, 250, 251, 252, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 95, 138, 10, 10, 141, 137, 10, 139, 10, 10, 10, 10, 10, 10, 10, 10, 111, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 172, 173, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 173, 174, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 152, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 153, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 212, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 213, 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, - 210, 10, 255, 256, 257, 10, 10, 10, 10, 10, - 10, 10, 265, 10, 10, 10, 10, 269, 228, 10, - 10, 268, 10, 10, 10, 10, 10, 10, 10, 10, - 283, 284, 285, 286, 287, 245, 253, 10, 255, 256, - 257, 258, 259, 10, 254, 10, 10, 10, 265, 10, + 10, 211, 10, 256, 257, 258, 10, 10, 10, 10, + 10, 10, 10, 266, 10, 10, 10, 10, 270, 229, + 10, 10, 269, 10, 10, 10, 10, 10, 10, 10, + 10, 284, 285, 286, 287, 288, 246, 254, 10, 256, + 257, 258, 259, 260, 10, 255, 10, 10, 10, 266, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 278, 10, - 10, 33, 282, 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, - 39, 40, 41, 42, 43, 10, 10, 10, 10, 48, - 49, 50, 10, 10, 10, 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, 93, 94, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 104, 105, 106, 10, 108, - 109, 110, 10, 10, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 10, 10, - 10, 140, 10, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 279, + 10, 10, 33, 283, 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, 39, 40, 41, 42, 43, 10, 10, 10, 10, + 48, 49, 50, 10, 10, 10, 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, 93, 94, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 104, 105, 106, 10, + 108, 109, 110, 10, 10, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 10, + 10, 10, 140, 10, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 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, 10, 211, 10, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 239, 240, 241, 242, 243, 244, 10, 10, 10, 10, - 10, 10, 10, 252, 10, 10, 10, 10, 10, 10, - 10, 260, 261, 10, 263, 264, 10, 266, 267, 10, - 10, 270, 271, 272, 273, 274, 275, 276, 277, 10, - 10, 10, 281, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 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, 10, 212, 10, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 240, 241, 242, 243, 244, 245, 10, 10, + 10, 10, 10, 10, 10, 253, 10, 10, 10, 10, + 10, 10, 10, 261, 262, 10, 264, 265, 10, 267, + 268, 10, 10, 271, 272, 273, 274, 275, 276, 277, + 278, 10, 10, 10, 282, 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, -1, -1, -1, -1, -1, -1, + 10, 10, 10, 10, 10, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 33, 33, 33 + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 33, 33 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 289, 0, 11, 45, 51, 95, 111, 152, 210, - 228, 245, 254, 278, 282, 290, 291, 294, 297, 300, - 303, 311, 531, 542, 563, 571, 584, 594, 292, 295, - 298, 301, 304, 312, 532, 543, 564, 572, 585, 595, + 0, 290, 0, 11, 45, 51, 95, 111, 153, 211, + 229, 246, 255, 279, 283, 291, 292, 295, 298, 301, + 304, 312, 533, 544, 565, 573, 586, 596, 293, 296, + 299, 302, 305, 313, 534, 545, 566, 574, 587, 597, 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, 39, 40, 41, @@ -1819,15 +1823,15 @@ static const yytype_uint16 yystos[] = 109, 110, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 140, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 171, 172, 173, + 145, 146, 147, 148, 149, 150, 151, 152, 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, 211, 213, 214, 215, + 204, 205, 206, 207, 208, 209, 210, 212, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 239, 240, 241, 242, 243, 244, 252, 260, - 261, 263, 264, 266, 267, 270, 271, 272, 273, 274, - 275, 276, 277, 281, 293, 314, 315, 316, 317, 318, + 226, 227, 228, 240, 241, 242, 243, 244, 245, 253, + 261, 262, 264, 265, 267, 268, 271, 272, 273, 274, + 275, 276, 277, 278, 282, 294, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, @@ -1846,25 +1850,25 @@ static const yytype_uint16 yystos[] = 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, 567, 568, 569, 570, 593, 44, - 46, 47, 107, 138, 141, 269, 296, 503, 504, 505, - 506, 507, 508, 509, 44, 52, 53, 137, 139, 268, - 299, 510, 511, 512, 513, 514, 515, 44, 80, 81, - 105, 172, 173, 212, 302, 524, 525, 526, 527, 528, - 529, 530, 44, 253, 255, 256, 257, 258, 259, 265, - 305, 516, 517, 518, 519, 520, 521, 522, 523, 283, - 284, 285, 286, 287, 306, 307, 308, 309, 310, 313, - 516, 517, 518, 519, 520, 96, 97, 98, 99, 100, - 101, 102, 103, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 112, - 565, 566, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 573, 574, 575, 576, 577, 578, 579, 580, - 581, 582, 583, 246, 247, 248, 249, 250, 251, 586, - 587, 588, 589, 590, 591, 592, 279, 280, 596, 597, - 598, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 499, 500, 501, 502, 503, 504, 569, 570, 571, 572, + 595, 44, 46, 47, 107, 138, 141, 270, 297, 505, + 506, 507, 508, 509, 510, 511, 44, 52, 53, 137, + 139, 269, 300, 512, 513, 514, 515, 516, 517, 44, + 80, 81, 105, 173, 174, 213, 303, 526, 527, 528, + 529, 530, 531, 532, 44, 254, 256, 257, 258, 259, + 260, 266, 306, 518, 519, 520, 521, 522, 523, 524, + 525, 284, 285, 286, 287, 288, 307, 308, 309, 310, + 311, 314, 518, 519, 520, 521, 522, 96, 97, 98, + 99, 100, 101, 102, 103, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 112, 567, 568, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 247, 248, 249, 250, 251, + 252, 588, 589, 590, 591, 592, 593, 594, 280, 281, + 598, 599, 600, 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, @@ -1893,40 +1897,40 @@ 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 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 288, 289, 289, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 291, 292, 292, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 294, 295, 295, 296, 296, 296, 296, - 296, 296, 296, 297, 298, 298, 299, 299, 299, 299, - 299, 299, 300, 301, 301, 302, 302, 302, 302, 302, - 302, 302, 303, 304, 304, 305, 305, 305, 305, 305, - 305, 305, 305, 306, 307, 308, 309, 310, 311, 312, - 312, 313, 313, 313, 313, 313, 313, 313, 313, 313, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 0, 289, 290, 290, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 292, 293, 293, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 295, 296, 296, 297, 297, 297, + 297, 297, 297, 297, 298, 299, 299, 300, 300, 300, + 300, 300, 300, 301, 302, 302, 303, 303, 303, 303, + 303, 303, 303, 304, 305, 305, 306, 306, 306, 306, + 306, 306, 306, 306, 307, 308, 309, 310, 311, 312, + 313, 313, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, @@ -1948,18 +1952,18 @@ static const yytype_uint16 yyr1[] = 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 532, 533, 533, 533, 533, 533, 533, 533, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 543, - 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, - 544, 544, 544, 544, 544, 544, 544, 544, 545, 546, + 533, 534, 534, 535, 535, 535, 535, 535, 535, 535, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 545, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 564, 564, 565, - 566, 567, 568, 569, 570, 571, 572, 572, 573, 573, - 573, 573, 573, 573, 573, 573, 573, 573, 574, 575, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 574, + 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, - 585, 586, 586, 586, 586, 586, 586, 587, 588, 589, - 590, 591, 592, 593, 594, 595, 595, 596, 596, 597, - 598 + 586, 587, 587, 588, 588, 588, 588, 588, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 597, 598, + 598, 599, 600 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1986,13 +1990,13 @@ 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, 1, 1, 1, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, - 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, + 2, 0, 1, 1, 1, 1, 1, 1, 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, @@ -2004,28 +2008,28 @@ 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, 3, 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, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 3, 4, 4, 4, 3, 3, 2, - 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, + 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 3, 3, 4, 4, 4, 3, + 3, 2, 2, 2, 2, 2, 2, 3, 3, 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, 3, 3, 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, + 2, 2, 2, 2, 3, 3, 3, 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, 1, 1, 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, 2, 2, 2, 2, 1, 2, 0, 1, - 2, 2, 2, 3, 3, 1, 2, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, - 2, 2, 2, 3, 1, 2, 0, 1, 1, 2, - 2 + 0, 1, 2, 2, 2, 3, 3, 1, 2, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 2, 0, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 3, 1, 2, 0, 1, + 1, 2, 2 }; @@ -2714,10 +2718,10 @@ yyreduce: { OUTYY(("\nP(server:)\n")); } -#line 2718 "util/configparser.c" +#line 2722 "util/configparser.c" break; - case 213: + case 214: #line 284 "./util/configparser.y" { struct config_stub* s; @@ -2729,10 +2733,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2733 "util/configparser.c" +#line 2737 "util/configparser.c" break; - case 223: + case 224: #line 301 "./util/configparser.y" { struct config_stub* s; @@ -2744,10 +2748,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2748 "util/configparser.c" +#line 2752 "util/configparser.c" break; - case 232: + case 233: #line 318 "./util/configparser.y" { struct config_view* s; @@ -2761,10 +2765,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2765 "util/configparser.c" +#line 2769 "util/configparser.c" break; - case 242: + case 243: #line 337 "./util/configparser.y" { struct config_auth* s; @@ -2781,10 +2785,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2785 "util/configparser.c" +#line 2789 "util/configparser.c" break; - case 253: + case 254: #line 361 "./util/configparser.y" { uint8_t* bitlist; @@ -2802,10 +2806,10 @@ yyreduce: } } -#line 2806 "util/configparser.c" +#line 2810 "util/configparser.c" break; - case 254: + case 255: #line 380 "./util/configparser.y" { OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str))); @@ -2821,20 +2825,20 @@ yyreduce: cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str); } } -#line 2825 "util/configparser.c" +#line 2829 "util/configparser.c" break; - case 255: + case 256: #line 397 "./util/configparser.y" { OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_cname); cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str); } -#line 2835 "util/configparser.c" +#line 2839 "util/configparser.c" break; - case 256: + case 257: #line 405 "./util/configparser.y" { OUTYY(("P(rpz_log:%s)\n", (yyvsp[0].str))); @@ -2843,20 +2847,20 @@ yyreduce: else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2847 "util/configparser.c" +#line 2851 "util/configparser.c" break; - case 257: + case 258: #line 415 "./util/configparser.y" { OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_log_name); cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str); } -#line 2857 "util/configparser.c" +#line 2861 "util/configparser.c" break; - case 258: + case 259: #line 423 "./util/configparser.y" { struct config_auth* s; @@ -2873,10 +2877,10 @@ yyreduce: } else yyerror("out of memory"); } -#line 2877 "util/configparser.c" +#line 2881 "util/configparser.c" break; - case 271: + case 272: #line 446 "./util/configparser.y" { OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); @@ -2885,10 +2889,10 @@ yyreduce: else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2889 "util/configparser.c" +#line 2893 "util/configparser.c" break; - case 272: + case 273: #line 455 "./util/configparser.y" { OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); @@ -2897,10 +2901,10 @@ yyreduce: else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2901 "util/configparser.c" +#line 2905 "util/configparser.c" break; - case 273: + case 274: #line 464 "./util/configparser.y" { OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); @@ -2911,10 +2915,10 @@ yyreduce: else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2915 "util/configparser.c" +#line 2919 "util/configparser.c" break; - case 274: + case 275: #line 475 "./util/configparser.y" { OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); @@ -2923,10 +2927,10 @@ yyreduce: else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2927 "util/configparser.c" +#line 2931 "util/configparser.c" break; - case 275: + case 276: #line 484 "./util/configparser.y" { OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); @@ -2935,10 +2939,10 @@ yyreduce: else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2939 "util/configparser.c" +#line 2943 "util/configparser.c" break; - case 276: + case 277: #line 493 "./util/configparser.y" { OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str))); @@ -2947,10 +2951,10 @@ yyreduce: else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2951 "util/configparser.c" +#line 2955 "util/configparser.c" break; - case 277: + case 278: #line 502 "./util/configparser.y" { OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str))); @@ -2961,10 +2965,10 @@ yyreduce: else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2965 "util/configparser.c" +#line 2969 "util/configparser.c" break; - case 278: + case 279: #line 513 "./util/configparser.y" { OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); @@ -2973,10 +2977,10 @@ yyreduce: else cfg_parser->cfg->port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2977 "util/configparser.c" +#line 2981 "util/configparser.c" break; - case 279: + case 280: #line 522 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -2988,10 +2992,10 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 2992 "util/configparser.c" +#line 2996 "util/configparser.c" break; - case 280: + case 281: #line 534 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3004,10 +3008,10 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 3008 "util/configparser.c" +#line 3012 "util/configparser.c" break; - case 281: + case 282: #line 548 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3022,10 +3026,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3026 "util/configparser.c" +#line 3030 "util/configparser.c" break; - case 282: + case 283: #line 563 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3036,10 +3040,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3040 "util/configparser.c" +#line 3044 "util/configparser.c" break; - case 283: + case 284: #line 574 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3056,10 +3060,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3060 "util/configparser.c" +#line 3064 "util/configparser.c" break; - case 284: + case 285: #line 591 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3076,10 +3080,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3080 "util/configparser.c" +#line 3084 "util/configparser.c" break; - case 285: + case 286: #line 608 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3096,10 +3100,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3100 "util/configparser.c" +#line 3104 "util/configparser.c" break; - case 286: + case 287: #line 625 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3116,10 +3120,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3120 "util/configparser.c" +#line 3124 "util/configparser.c" break; - case 287: + case 288: #line 642 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3134,10 +3138,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3138 "util/configparser.c" +#line 3142 "util/configparser.c" break; - case 288: + case 289: #line 657 "./util/configparser.y" { #ifdef CLIENT_SUBNET @@ -3152,10 +3156,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3156 "util/configparser.c" +#line 3160 "util/configparser.c" break; - case 289: + case 290: #line 672 "./util/configparser.y" { OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); @@ -3168,10 +3172,10 @@ yyreduce: else cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); } -#line 3172 "util/configparser.c" +#line 3176 "util/configparser.c" break; - case 290: + case 291: #line 685 "./util/configparser.y" { OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); @@ -3186,10 +3190,10 @@ yyreduce: cfg_parser->cfg->out_ifs[ cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); } -#line 3190 "util/configparser.c" +#line 3194 "util/configparser.c" break; - case 291: + case 292: #line 700 "./util/configparser.y" { OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); @@ -3198,10 +3202,10 @@ yyreduce: else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3202 "util/configparser.c" +#line 3206 "util/configparser.c" break; - case 292: + case 293: #line 709 "./util/configparser.y" { OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); @@ -3210,10 +3214,10 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 3214 "util/configparser.c" +#line 3218 "util/configparser.c" break; - case 293: + case 294: #line 718 "./util/configparser.y" { OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); @@ -3222,10 +3226,10 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 3226 "util/configparser.c" +#line 3230 "util/configparser.c" break; - case 294: + case 295: #line 727 "./util/configparser.y" { OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); @@ -3234,10 +3238,10 @@ yyreduce: else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3238 "util/configparser.c" +#line 3242 "util/configparser.c" break; - case 295: + case 296: #line 736 "./util/configparser.y" { OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); @@ -3246,10 +3250,10 @@ yyreduce: else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3250 "util/configparser.c" +#line 3254 "util/configparser.c" break; - case 296: + case 297: #line 745 "./util/configparser.y" { OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); @@ -3258,10 +3262,10 @@ yyreduce: else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3262 "util/configparser.c" +#line 3266 "util/configparser.c" break; - case 297: + case 298: #line 754 "./util/configparser.y" { OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); @@ -3270,10 +3274,10 @@ yyreduce: else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3274 "util/configparser.c" +#line 3278 "util/configparser.c" break; - case 298: + case 299: #line 763 "./util/configparser.y" { OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); @@ -3282,10 +3286,10 @@ yyreduce: else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3286 "util/configparser.c" +#line 3290 "util/configparser.c" break; - case 299: + case 300: #line 772 "./util/configparser.y" { OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); @@ -3294,10 +3298,10 @@ yyreduce: else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3298 "util/configparser.c" +#line 3302 "util/configparser.c" break; - case 300: + case 301: #line 781 "./util/configparser.y" { OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); @@ -3306,10 +3310,10 @@ yyreduce: else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3310 "util/configparser.c" +#line 3314 "util/configparser.c" break; - case 301: + case 302: #line 790 "./util/configparser.y" { OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[0].str))); @@ -3318,10 +3322,10 @@ yyreduce: else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3322 "util/configparser.c" +#line 3326 "util/configparser.c" break; - case 302: + case 303: #line 799 "./util/configparser.y" { OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); @@ -3330,10 +3334,10 @@ yyreduce: else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3334 "util/configparser.c" +#line 3338 "util/configparser.c" break; - case 303: + case 304: #line 808 "./util/configparser.y" { OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); @@ -3342,10 +3346,10 @@ yyreduce: else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3346 "util/configparser.c" +#line 3350 "util/configparser.c" break; - case 304: + case 305: #line 817 "./util/configparser.y" { OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); @@ -3354,10 +3358,10 @@ yyreduce: else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3358 "util/configparser.c" +#line 3362 "util/configparser.c" break; - case 305: + case 306: #line 826 "./util/configparser.y" { OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str))); @@ -3370,10 +3374,10 @@ yyreduce: else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3374 "util/configparser.c" +#line 3378 "util/configparser.c" break; - case 306: + case 307: #line 839 "./util/configparser.y" { OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[0].str))); @@ -3382,10 +3386,10 @@ yyreduce: else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3386 "util/configparser.c" +#line 3390 "util/configparser.c" break; - case 307: + case 308: #line 848 "./util/configparser.y" { OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str))); @@ -3398,10 +3402,10 @@ yyreduce: else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3402 "util/configparser.c" +#line 3406 "util/configparser.c" break; - case 308: + case 309: #line 861 "./util/configparser.y" { OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); @@ -3410,10 +3414,10 @@ yyreduce: else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3414 "util/configparser.c" +#line 3418 "util/configparser.c" break; - case 309: + case 310: #line 870 "./util/configparser.y" { OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[0].str))); @@ -3422,10 +3426,10 @@ yyreduce: else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3426 "util/configparser.c" +#line 3430 "util/configparser.c" break; - case 310: + case 311: #line 879 "./util/configparser.y" { OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); @@ -3434,30 +3438,30 @@ yyreduce: else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3438 "util/configparser.c" +#line 3442 "util/configparser.c" break; - case 311: + case 312: #line 888 "./util/configparser.y" { 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 3448 "util/configparser.c" +#line 3452 "util/configparser.c" break; - case 312: + case 313: #line 895 "./util/configparser.y" { 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 3458 "util/configparser.c" +#line 3462 "util/configparser.c" break; - case 313: + case 314: #line 902 "./util/configparser.y" { OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); @@ -3466,20 +3470,20 @@ yyreduce: else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3470 "util/configparser.c" +#line 3474 "util/configparser.c" break; - case 314: + case 315: #line 911 "./util/configparser.y" { OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_cert_bundle); cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str); } -#line 3480 "util/configparser.c" +#line 3484 "util/configparser.c" break; - case 315: + case 316: #line 918 "./util/configparser.y" { OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[0].str))); @@ -3488,10 +3492,10 @@ yyreduce: else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3492 "util/configparser.c" +#line 3496 "util/configparser.c" break; - case 316: + case 317: #line 927 "./util/configparser.y" { OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str))); @@ -3499,30 +3503,30 @@ yyreduce: (yyvsp[0].str))) yyerror("out of memory"); } -#line 3503 "util/configparser.c" +#line 3507 "util/configparser.c" break; - case 317: + case 318: #line 935 "./util/configparser.y" { OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphers); cfg_parser->cfg->tls_ciphers = (yyvsp[0].str); } -#line 3513 "util/configparser.c" +#line 3517 "util/configparser.c" break; - case 318: + case 319: #line 942 "./util/configparser.y" { OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphersuites); cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str); } -#line 3523 "util/configparser.c" +#line 3527 "util/configparser.c" break; - case 319: + case 320: #line 949 "./util/configparser.y" { OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str))); @@ -3530,10 +3534,10 @@ yyreduce: (yyvsp[0].str))) yyerror("out of memory"); } -#line 3534 "util/configparser.c" +#line 3538 "util/configparser.c" break; - case 320: + case 321: #line 957 "./util/configparser.y" { OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[0].str))); @@ -3542,10 +3546,10 @@ yyreduce: else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3546 "util/configparser.c" +#line 3550 "util/configparser.c" break; - case 321: + case 322: #line 966 "./util/configparser.y" { OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); @@ -3554,10 +3558,10 @@ yyreduce: else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3558 "util/configparser.c" +#line 3562 "util/configparser.c" break; - case 322: + case 323: #line 975 "./util/configparser.y" { OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); @@ -3566,10 +3570,10 @@ yyreduce: else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3570 "util/configparser.c" +#line 3574 "util/configparser.c" break; - case 323: + case 324: #line 984 "./util/configparser.y" { OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); @@ -3583,10 +3587,10 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3587 "util/configparser.c" +#line 3591 "util/configparser.c" break; - case 324: + case 325: #line 998 "./util/configparser.y" { OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); @@ -3595,10 +3599,10 @@ yyreduce: else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3599 "util/configparser.c" +#line 3603 "util/configparser.c" break; - case 325: + case 326: #line 1007 "./util/configparser.y" { OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); @@ -3607,10 +3611,10 @@ yyreduce: else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3611 "util/configparser.c" +#line 3615 "util/configparser.c" break; - case 326: + case 327: #line 1016 "./util/configparser.y" { OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); @@ -3619,10 +3623,10 @@ yyreduce: else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3623 "util/configparser.c" +#line 3627 "util/configparser.c" break; - case 327: + case 328: #line 1025 "./util/configparser.y" { OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[0].str))); @@ -3631,10 +3635,10 @@ yyreduce: else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3635 "util/configparser.c" +#line 3639 "util/configparser.c" break; - case 328: + case 329: #line 1034 "./util/configparser.y" { OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[0].str))); @@ -3643,10 +3647,10 @@ yyreduce: else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3647 "util/configparser.c" +#line 3651 "util/configparser.c" break; - case 329: + case 330: #line 1043 "./util/configparser.y" { OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[0].str))); @@ -3655,30 +3659,30 @@ yyreduce: else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3659 "util/configparser.c" +#line 3663 "util/configparser.c" break; - case 330: + case 331: #line 1052 "./util/configparser.y" { OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->chrootdir); cfg_parser->cfg->chrootdir = (yyvsp[0].str); } -#line 3669 "util/configparser.c" +#line 3673 "util/configparser.c" break; - case 331: + case 332: #line 1059 "./util/configparser.y" { OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->username); cfg_parser->cfg->username = (yyvsp[0].str); } -#line 3679 "util/configparser.c" +#line 3683 "util/configparser.c" break; - case 332: + case 333: #line 1066 "./util/configparser.y" { OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); @@ -3704,10 +3708,10 @@ yyreduce: } } } -#line 3708 "util/configparser.c" +#line 3712 "util/configparser.c" break; - case 333: + case 334: #line 1092 "./util/configparser.y" { OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); @@ -3715,50 +3719,50 @@ yyreduce: cfg_parser->cfg->logfile = (yyvsp[0].str); cfg_parser->cfg->use_syslog = 0; } -#line 3719 "util/configparser.c" +#line 3723 "util/configparser.c" break; - case 334: + case 335: #line 1100 "./util/configparser.y" { OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->pidfile); cfg_parser->cfg->pidfile = (yyvsp[0].str); } -#line 3729 "util/configparser.c" +#line 3733 "util/configparser.c" break; - case 335: + case 336: #line 1107 "./util/configparser.y" { 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 3739 "util/configparser.c" +#line 3743 "util/configparser.c" break; - case 336: + case 337: #line 1114 "./util/configparser.y" { 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 3749 "util/configparser.c" +#line 3753 "util/configparser.c" break; - case 337: + case 338: #line 1121 "./util/configparser.y" { 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 3759 "util/configparser.c" +#line 3763 "util/configparser.c" break; - case 338: + case 339: #line 1128 "./util/configparser.y" { OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str))); @@ -3766,10 +3770,10 @@ yyreduce: auto_trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3770 "util/configparser.c" +#line 3774 "util/configparser.c" break; - case 339: + case 340: #line 1136 "./util/configparser.y" { OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); @@ -3777,10 +3781,10 @@ yyreduce: trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3781 "util/configparser.c" +#line 3785 "util/configparser.c" break; - case 340: + case 341: #line 1144 "./util/configparser.y" { OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); @@ -3788,20 +3792,20 @@ yyreduce: trusted_keys_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3792 "util/configparser.c" +#line 3796 "util/configparser.c" break; - case 341: + case 342: #line 1152 "./util/configparser.y" { 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 3802 "util/configparser.c" +#line 3806 "util/configparser.c" break; - case 342: + case 343: #line 1159 "./util/configparser.y" { OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str))); @@ -3812,10 +3816,10 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3816 "util/configparser.c" +#line 3820 "util/configparser.c" break; - case 343: + case 344: #line 1170 "./util/configparser.y" { OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[0].str))); @@ -3826,20 +3830,20 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3830 "util/configparser.c" +#line 3834 "util/configparser.c" break; - case 344: + case 345: #line 1181 "./util/configparser.y" { 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 3840 "util/configparser.c" +#line 3844 "util/configparser.c" break; - case 345: + case 346: #line 1188 "./util/configparser.y" { OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); @@ -3848,10 +3852,10 @@ yyreduce: else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3852 "util/configparser.c" +#line 3856 "util/configparser.c" break; - case 346: + case 347: #line 1197 "./util/configparser.y" { OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); @@ -3860,10 +3864,10 @@ yyreduce: else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3864 "util/configparser.c" +#line 3868 "util/configparser.c" break; - case 347: + case 348: #line 1206 "./util/configparser.y" { OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str))); @@ -3872,30 +3876,30 @@ yyreduce: else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3876 "util/configparser.c" +#line 3880 "util/configparser.c" break; - case 348: + case 349: #line 1215 "./util/configparser.y" { OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->identity); cfg_parser->cfg->identity = (yyvsp[0].str); } -#line 3886 "util/configparser.c" +#line 3890 "util/configparser.c" break; - case 349: + case 350: #line 1222 "./util/configparser.y" { OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->version); cfg_parser->cfg->version = (yyvsp[0].str); } -#line 3896 "util/configparser.c" +#line 3900 "util/configparser.c" break; - case 350: + case 351: #line 1229 "./util/configparser.y" { OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str))); @@ -3903,10 +3907,10 @@ yyreduce: yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 3907 "util/configparser.c" +#line 3911 "util/configparser.c" break; - case 351: + case 352: #line 1237 "./util/configparser.y" { OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str))); @@ -3914,10 +3918,10 @@ yyreduce: yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 3918 "util/configparser.c" +#line 3922 "util/configparser.c" break; - case 352: + case 353: #line 1245 "./util/configparser.y" { OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); @@ -3927,10 +3931,10 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3931 "util/configparser.c" +#line 3935 "util/configparser.c" break; - case 353: + case 354: #line 1255 "./util/configparser.y" { OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); @@ -3940,10 +3944,10 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3944 "util/configparser.c" +#line 3948 "util/configparser.c" break; - case 354: + case 355: #line 1265 "./util/configparser.y" { OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); @@ -3953,10 +3957,10 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3957 "util/configparser.c" +#line 3961 "util/configparser.c" break; - case 355: + case 356: #line 1275 "./util/configparser.y" { OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[0].str))); @@ -3970,10 +3974,10 @@ yyreduce: cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3974 "util/configparser.c" +#line 3978 "util/configparser.c" break; - case 356: + case 357: #line 1289 "./util/configparser.y" { OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str))); @@ -3981,10 +3985,10 @@ yyreduce: yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 3985 "util/configparser.c" +#line 3989 "util/configparser.c" break; - case 357: + case 358: #line 1297 "./util/configparser.y" { OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); @@ -3997,10 +4001,10 @@ yyreduce: else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4001 "util/configparser.c" +#line 4005 "util/configparser.c" break; - case 358: + case 359: #line 1310 "./util/configparser.y" { OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); @@ -4011,10 +4015,10 @@ yyreduce: else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4015 "util/configparser.c" +#line 4019 "util/configparser.c" break; - case 359: + case 360: #line 1321 "./util/configparser.y" { OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str))); @@ -4022,10 +4026,10 @@ yyreduce: yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4026 "util/configparser.c" +#line 4030 "util/configparser.c" break; - case 360: + case 361: #line 1329 "./util/configparser.y" { OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); @@ -4038,10 +4042,10 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4042 "util/configparser.c" +#line 4046 "util/configparser.c" break; - case 361: + case 362: #line 1342 "./util/configparser.y" { OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); @@ -4050,10 +4054,10 @@ yyreduce: else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4054 "util/configparser.c" +#line 4058 "util/configparser.c" break; - case 362: + case 363: #line 1351 "./util/configparser.y" { OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); @@ -4062,10 +4066,10 @@ yyreduce: else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4066 "util/configparser.c" +#line 4070 "util/configparser.c" break; - case 363: + case 364: #line 1360 "./util/configparser.y" { OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); @@ -4074,10 +4078,10 @@ yyreduce: else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4078 "util/configparser.c" +#line 4082 "util/configparser.c" break; - case 364: + case 365: #line 1369 "./util/configparser.y" { OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); @@ -4087,10 +4091,10 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4091 "util/configparser.c" +#line 4095 "util/configparser.c" break; - case 365: + case 366: #line 1379 "./util/configparser.y" { OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); @@ -4100,10 +4104,10 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4104 "util/configparser.c" +#line 4108 "util/configparser.c" break; - case 366: + case 367: #line 1389 "./util/configparser.y" { OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str))); @@ -4111,10 +4115,10 @@ yyreduce: yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4115 "util/configparser.c" +#line 4119 "util/configparser.c" break; - case 367: + case 368: #line 1397 "./util/configparser.y" { OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); @@ -4127,10 +4131,10 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4131 "util/configparser.c" +#line 4135 "util/configparser.c" break; - case 368: + case 369: #line 1410 "./util/configparser.y" { OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); @@ -4139,10 +4143,10 @@ yyreduce: else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4143 "util/configparser.c" +#line 4147 "util/configparser.c" break; - case 369: + case 370: #line 1419 "./util/configparser.y" { OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str))); @@ -4150,10 +4154,10 @@ yyreduce: "removed, use infra-host-ttl)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4154 "util/configparser.c" +#line 4158 "util/configparser.c" break; - case 370: + case 371: #line 1427 "./util/configparser.y" { OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); @@ -4162,10 +4166,10 @@ yyreduce: else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4166 "util/configparser.c" +#line 4170 "util/configparser.c" break; - case 371: + case 372: #line 1436 "./util/configparser.y" { OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str))); @@ -4173,10 +4177,10 @@ yyreduce: "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4177 "util/configparser.c" +#line 4181 "util/configparser.c" break; - case 372: + case 373: #line 1444 "./util/configparser.y" { OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); @@ -4189,10 +4193,10 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4193 "util/configparser.c" +#line 4197 "util/configparser.c" break; - case 373: + case 374: #line 1457 "./util/configparser.y" { OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); @@ -4201,21 +4205,34 @@ yyreduce: else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4205 "util/configparser.c" +#line 4209 "util/configparser.c" break; - case 374: + case 375: #line 1466 "./util/configparser.y" + { + OUTYY(("P(server_infra_keep_probing:%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->infra_keep_probing = + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); + } +#line 4222 "util/configparser.c" + break; + + case 376: +#line 1476 "./util/configparser.y" { 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 4215 "util/configparser.c" +#line 4232 "util/configparser.c" break; - case 375: -#line 1473 "./util/configparser.y" + case 377: +#line 1483 "./util/configparser.y" { OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4224,11 +4241,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4228 "util/configparser.c" +#line 4245 "util/configparser.c" break; - case 376: -#line 1483 "./util/configparser.y" + case 378: +#line 1493 "./util/configparser.y" { OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4237,11 +4254,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4241 "util/configparser.c" +#line 4258 "util/configparser.c" break; - case 377: -#line 1493 "./util/configparser.y" + case 379: +#line 1503 "./util/configparser.y" { OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4250,11 +4267,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4254 "util/configparser.c" +#line 4271 "util/configparser.c" break; - case 378: -#line 1503 "./util/configparser.y" + case 380: +#line 1513 "./util/configparser.y" { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4263,11 +4280,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4267 "util/configparser.c" +#line 4284 "util/configparser.c" break; - case 379: -#line 1513 "./util/configparser.y" + case 381: +#line 1523 "./util/configparser.y" { OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4276,11 +4293,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4280 "util/configparser.c" +#line 4297 "util/configparser.c" break; - case 380: -#line 1523 "./util/configparser.y" + case 382: +#line 1533 "./util/configparser.y" { OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4289,11 +4306,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4293 "util/configparser.c" +#line 4310 "util/configparser.c" break; - case 381: -#line 1533 "./util/configparser.y" + case 383: +#line 1543 "./util/configparser.y" { OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4302,11 +4319,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4306 "util/configparser.c" +#line 4323 "util/configparser.c" break; - case 382: -#line 1543 "./util/configparser.y" + case 384: +#line 1553 "./util/configparser.y" { 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) @@ -4315,41 +4332,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4319 "util/configparser.c" +#line 4336 "util/configparser.c" break; - case 383: -#line 1553 "./util/configparser.y" + case 385: +#line 1563 "./util/configparser.y" { 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 4329 "util/configparser.c" +#line 4346 "util/configparser.c" break; - case 384: -#line 1560 "./util/configparser.y" + case 386: +#line 1570 "./util/configparser.y" { 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 4339 "util/configparser.c" +#line 4356 "util/configparser.c" break; - case 385: -#line 1567 "./util/configparser.y" + case 387: +#line 1577 "./util/configparser.y" { 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 4349 "util/configparser.c" +#line 4366 "util/configparser.c" break; - case 386: -#line 1574 "./util/configparser.y" + case 388: +#line 1584 "./util/configparser.y" { OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4357,11 +4374,11 @@ yyreduce: else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4361 "util/configparser.c" +#line 4378 "util/configparser.c" break; - case 387: -#line 1583 "./util/configparser.y" + case 389: +#line 1593 "./util/configparser.y" { OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4369,11 +4386,11 @@ yyreduce: else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4373 "util/configparser.c" +#line 4390 "util/configparser.c" break; - case 388: -#line 1592 "./util/configparser.y" + case 390: +#line 1602 "./util/configparser.y" { OUTYY(("P(server_deny_any:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4381,11 +4398,11 @@ yyreduce: else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4385 "util/configparser.c" +#line 4402 "util/configparser.c" break; - case 389: -#line 1601 "./util/configparser.y" + case 391: +#line 1611 "./util/configparser.y" { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4393,21 +4410,21 @@ yyreduce: else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4397 "util/configparser.c" +#line 4414 "util/configparser.c" break; - case 390: -#line 1610 "./util/configparser.y" + case 392: +#line 1620 "./util/configparser.y" { 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 4407 "util/configparser.c" +#line 4424 "util/configparser.c" break; - case 391: -#line 1617 "./util/configparser.y" + case 393: +#line 1627 "./util/configparser.y" { 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) @@ -4416,11 +4433,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4420 "util/configparser.c" +#line 4437 "util/configparser.c" break; - case 392: -#line 1627 "./util/configparser.y" + case 394: +#line 1637 "./util/configparser.y" { 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 && @@ -4439,21 +4456,21 @@ yyreduce: fatal_exit("out of memory adding acl"); } } -#line 4443 "util/configparser.c" +#line 4460 "util/configparser.c" break; - case 393: -#line 1647 "./util/configparser.y" + case 395: +#line 1657 "./util/configparser.y" { 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 4453 "util/configparser.c" +#line 4470 "util/configparser.c" break; - case 394: -#line 1654 "./util/configparser.y" + case 396: +#line 1664 "./util/configparser.y" { OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -4470,11 +4487,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4474 "util/configparser.c" +#line 4491 "util/configparser.c" break; - case 395: -#line 1672 "./util/configparser.y" + case 397: +#line 1682 "./util/configparser.y" { OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -4486,11 +4503,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4490 "util/configparser.c" +#line 4507 "util/configparser.c" break; - case 396: -#line 1685 "./util/configparser.y" + case 398: +#line 1695 "./util/configparser.y" { OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -4502,11 +4519,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4506 "util/configparser.c" +#line 4523 "util/configparser.c" break; - case 397: -#line 1698 "./util/configparser.y" + case 399: +#line 1708 "./util/configparser.y" { OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4514,11 +4531,11 @@ yyreduce: else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4518 "util/configparser.c" +#line 4535 "util/configparser.c" break; - case 398: -#line 1707 "./util/configparser.y" + case 400: +#line 1717 "./util/configparser.y" { OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4526,11 +4543,11 @@ yyreduce: else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4530 "util/configparser.c" +#line 4547 "util/configparser.c" break; - case 399: -#line 1716 "./util/configparser.y" + case 401: +#line 1726 "./util/configparser.y" { OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4538,11 +4555,11 @@ yyreduce: else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4542 "util/configparser.c" +#line 4559 "util/configparser.c" break; - case 400: -#line 1725 "./util/configparser.y" + case 402: +#line 1735 "./util/configparser.y" { OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4550,11 +4567,11 @@ yyreduce: else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4554 "util/configparser.c" +#line 4571 "util/configparser.c" break; - case 401: -#line 1734 "./util/configparser.y" + case 403: +#line 1744 "./util/configparser.y" { OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4563,11 +4580,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4567 "util/configparser.c" +#line 4584 "util/configparser.c" break; - case 402: -#line 1744 "./util/configparser.y" + case 404: +#line 1754 "./util/configparser.y" { OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4576,11 +4593,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4580 "util/configparser.c" +#line 4597 "util/configparser.c" break; - case 403: -#line 1754 "./util/configparser.y" + case 405: +#line 1764 "./util/configparser.y" { OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4590,11 +4607,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4594 "util/configparser.c" +#line 4611 "util/configparser.c" break; - case 404: -#line 1765 "./util/configparser.y" + case 406: +#line 1775 "./util/configparser.y" { OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4602,11 +4619,11 @@ yyreduce: else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4606 "util/configparser.c" +#line 4623 "util/configparser.c" break; - case 405: -#line 1774 "./util/configparser.y" + case 407: +#line 1784 "./util/configparser.y" { OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4614,11 +4631,11 @@ yyreduce: else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4618 "util/configparser.c" +#line 4635 "util/configparser.c" break; - case 406: -#line 1783 "./util/configparser.y" + case 408: +#line 1793 "./util/configparser.y" { OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4626,11 +4643,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4630 "util/configparser.c" +#line 4647 "util/configparser.c" break; - case 407: -#line 1792 "./util/configparser.y" + case 409: +#line 1802 "./util/configparser.y" { OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4638,11 +4655,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4642 "util/configparser.c" +#line 4659 "util/configparser.c" break; - case 408: -#line 1801 "./util/configparser.y" + case 410: +#line 1811 "./util/configparser.y" { OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4650,11 +4667,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4654 "util/configparser.c" +#line 4671 "util/configparser.c" break; - case 409: -#line 1810 "./util/configparser.y" + case 411: +#line 1820 "./util/configparser.y" { OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4662,11 +4679,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4666 "util/configparser.c" +#line 4683 "util/configparser.c" break; - case 410: -#line 1819 "./util/configparser.y" + case 412: +#line 1829 "./util/configparser.y" { OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4678,11 +4695,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 4682 "util/configparser.c" +#line 4699 "util/configparser.c" break; - case 411: -#line 1832 "./util/configparser.y" + case 413: +#line 1842 "./util/configparser.y" { OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4694,11 +4711,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 4698 "util/configparser.c" +#line 4715 "util/configparser.c" break; - case 412: -#line 1845 "./util/configparser.y" + case 414: +#line 1855 "./util/configparser.y" { OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4706,21 +4723,21 @@ yyreduce: else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4710 "util/configparser.c" +#line 4727 "util/configparser.c" break; - case 413: -#line 1854 "./util/configparser.y" + case 415: +#line 1864 "./util/configparser.y" { 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 4720 "util/configparser.c" +#line 4737 "util/configparser.c" break; - case 414: -#line 1861 "./util/configparser.y" + case 416: +#line 1871 "./util/configparser.y" { OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4728,11 +4745,11 @@ yyreduce: else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4732 "util/configparser.c" +#line 4749 "util/configparser.c" break; - case 415: -#line 1870 "./util/configparser.y" + case 417: +#line 1880 "./util/configparser.y" { OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4740,11 +4757,11 @@ yyreduce: else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4744 "util/configparser.c" +#line 4761 "util/configparser.c" break; - case 416: -#line 1879 "./util/configparser.y" + case 418: +#line 1889 "./util/configparser.y" { OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4752,11 +4769,11 @@ yyreduce: else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4756 "util/configparser.c" +#line 4773 "util/configparser.c" break; - case 417: -#line 1888 "./util/configparser.y" + case 419: +#line 1898 "./util/configparser.y" { OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4765,22 +4782,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4769 "util/configparser.c" +#line 4786 "util/configparser.c" break; - case 418: -#line 1897 "./util/configparser.y" + case 420: +#line 1907 "./util/configparser.y" { 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 4780 "util/configparser.c" +#line 4797 "util/configparser.c" break; - case 419: -#line 1905 "./util/configparser.y" + case 421: +#line 1915 "./util/configparser.y" { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4792,22 +4809,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4796 "util/configparser.c" +#line 4813 "util/configparser.c" break; - case 420: -#line 1918 "./util/configparser.y" + case 422: +#line 1928 "./util/configparser.y" { 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 4807 "util/configparser.c" +#line 4824 "util/configparser.c" break; - case 421: -#line 1926 "./util/configparser.y" + case 423: +#line 1936 "./util/configparser.y" { 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 && @@ -4847,21 +4864,21 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 4851 "util/configparser.c" +#line 4868 "util/configparser.c" break; - case 422: -#line 1967 "./util/configparser.y" + case 424: +#line 1977 "./util/configparser.y" { 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 4861 "util/configparser.c" +#line 4878 "util/configparser.c" break; - case 423: -#line 1974 "./util/configparser.y" + case 425: +#line 1984 "./util/configparser.y" { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -4875,11 +4892,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 4879 "util/configparser.c" +#line 4896 "util/configparser.c" break; - case 424: -#line 1989 "./util/configparser.y" + case 426: +#line 1999 "./util/configparser.y" { OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4888,11 +4905,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4892 "util/configparser.c" +#line 4909 "util/configparser.c" break; - case 425: -#line 1999 "./util/configparser.y" + case 427: +#line 2009 "./util/configparser.y" { OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4901,41 +4918,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4905 "util/configparser.c" +#line 4922 "util/configparser.c" break; - case 426: -#line 2009 "./util/configparser.y" + case 428: +#line 2019 "./util/configparser.y" { OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4915 "util/configparser.c" +#line 4932 "util/configparser.c" break; - case 427: -#line 2016 "./util/configparser.y" + case 429: +#line 2026 "./util/configparser.y" { 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 4925 "util/configparser.c" +#line 4942 "util/configparser.c" break; - case 428: -#line 2023 "./util/configparser.y" + case 430: +#line 2033 "./util/configparser.y" { OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dns64_prefix); cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); } -#line 4935 "util/configparser.c" +#line 4952 "util/configparser.c" break; - case 429: -#line 2030 "./util/configparser.y" + case 431: +#line 2040 "./util/configparser.y" { OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4943,22 +4960,22 @@ yyreduce: else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4947 "util/configparser.c" +#line 4964 "util/configparser.c" break; - case 430: -#line 2039 "./util/configparser.y" + case 432: +#line 2049 "./util/configparser.y" { OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa, (yyvsp[0].str))) fatal_exit("out of memory adding dns64-ignore-aaaa"); } -#line 4958 "util/configparser.c" +#line 4975 "util/configparser.c" break; - case 431: -#line 2047 "./util/configparser.y" + case 433: +#line 2057 "./util/configparser.y" { char* p, *s = (yyvsp[0].str); OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); @@ -4971,11 +4988,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4975 "util/configparser.c" +#line 4992 "util/configparser.c" break; - case 432: -#line 2061 "./util/configparser.y" + case 434: +#line 2071 "./util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -4995,11 +5012,11 @@ yyreduce: } } } -#line 4999 "util/configparser.c" +#line 5016 "util/configparser.c" break; - case 433: -#line 2082 "./util/configparser.y" + case 435: +#line 2092 "./util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -5019,11 +5036,11 @@ yyreduce: } } } -#line 5023 "util/configparser.c" +#line 5040 "util/configparser.c" break; - case 434: -#line 2103 "./util/configparser.y" + case 436: +#line 2113 "./util/configparser.y" { 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, @@ -5034,11 +5051,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 5038 "util/configparser.c" +#line 5055 "util/configparser.c" break; - case 435: -#line 2115 "./util/configparser.y" + case 437: +#line 2125 "./util/configparser.y" { 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, @@ -5049,11 +5066,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 5053 "util/configparser.c" +#line 5070 "util/configparser.c" break; - case 436: -#line 2127 "./util/configparser.y" + case 438: +#line 2137 "./util/configparser.y" { 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, @@ -5064,11 +5081,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 5068 "util/configparser.c" +#line 5085 "util/configparser.c" break; - case 437: -#line 2139 "./util/configparser.y" + case 439: +#line 2149 "./util/configparser.y" { OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, @@ -5076,11 +5093,11 @@ yyreduce: yyerror("out of memory"); } } -#line 5080 "util/configparser.c" +#line 5097 "util/configparser.c" break; - case 438: -#line 2148 "./util/configparser.y" + case 440: +#line 2158 "./util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -5100,11 +5117,11 @@ yyreduce: } } } -#line 5104 "util/configparser.c" +#line 5121 "util/configparser.c" break; - case 439: -#line 2169 "./util/configparser.y" + case 441: +#line 2179 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5112,11 +5129,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5116 "util/configparser.c" +#line 5133 "util/configparser.c" break; - case 440: -#line 2179 "./util/configparser.y" + case 442: +#line 2189 "./util/configparser.y" { OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5124,33 +5141,33 @@ yyreduce: else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5128 "util/configparser.c" +#line 5145 "util/configparser.c" break; - case 441: -#line 2188 "./util/configparser.y" + case 443: +#line 2198 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 5139 "util/configparser.c" +#line 5156 "util/configparser.c" break; - case 442: -#line 2196 "./util/configparser.y" + case 444: +#line 2206 "./util/configparser.y" { 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 5150 "util/configparser.c" +#line 5167 "util/configparser.c" break; - case 443: -#line 2204 "./util/configparser.y" + case 445: +#line 2214 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -5162,11 +5179,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5166 "util/configparser.c" +#line 5183 "util/configparser.c" break; - case 444: -#line 2217 "./util/configparser.y" + case 446: +#line 2227 "./util/configparser.y" { OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -5178,11 +5195,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5182 "util/configparser.c" +#line 5199 "util/configparser.c" break; - case 445: -#line 2230 "./util/configparser.y" + case 447: +#line 2240 "./util/configparser.y" { 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) { @@ -5196,11 +5213,11 @@ yyreduce: "ratelimit-for-domain"); } } -#line 5200 "util/configparser.c" +#line 5217 "util/configparser.c" break; - case 446: -#line 2245 "./util/configparser.y" + case 448: +#line 2255 "./util/configparser.y" { 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) { @@ -5214,11 +5231,11 @@ yyreduce: "ratelimit-below-domain"); } } -#line 5218 "util/configparser.c" +#line 5235 "util/configparser.c" break; - case 447: -#line 2260 "./util/configparser.y" + case 449: +#line 2270 "./util/configparser.y" { OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5226,11 +5243,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5230 "util/configparser.c" +#line 5247 "util/configparser.c" break; - case 448: -#line 2269 "./util/configparser.y" + case 450: +#line 2279 "./util/configparser.y" { OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5238,20 +5255,20 @@ yyreduce: else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5242 "util/configparser.c" +#line 5259 "util/configparser.c" break; - case 449: -#line 2278 "./util/configparser.y" + case 451: +#line 2288 "./util/configparser.y" { OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n")); free((yyvsp[0].str)); } -#line 5251 "util/configparser.c" +#line 5268 "util/configparser.c" break; - case 450: -#line 2284 "./util/configparser.y" + case 452: +#line 2294 "./util/configparser.y" { OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) <= 0) @@ -5259,11 +5276,11 @@ yyreduce: else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5263 "util/configparser.c" +#line 5280 "util/configparser.c" break; - case 451: -#line 2293 "./util/configparser.y" + case 453: +#line 2303 "./util/configparser.y" { OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5271,11 +5288,11 @@ yyreduce: else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5275 "util/configparser.c" +#line 5292 "util/configparser.c" break; - case 452: -#line 2302 "./util/configparser.y" + case 454: +#line 2312 "./util/configparser.y" { OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5284,11 +5301,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5288 "util/configparser.c" +#line 5305 "util/configparser.c" break; - case 453: -#line 2312 "./util/configparser.y" + case 455: +#line 2322 "./util/configparser.y" { OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5297,11 +5314,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5301 "util/configparser.c" +#line 5318 "util/configparser.c" break; - case 454: -#line 2322 "./util/configparser.y" + case 456: +#line 2332 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str))); @@ -5313,11 +5330,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 5317 "util/configparser.c" +#line 5334 "util/configparser.c" break; - case 455: -#line 2335 "./util/configparser.y" + case 457: +#line 2345 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str))); @@ -5329,11 +5346,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 5333 "util/configparser.c" +#line 5350 "util/configparser.c" break; - case 456: -#line 2348 "./util/configparser.y" + case 458: +#line 2358 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str))); @@ -5344,11 +5361,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5348 "util/configparser.c" +#line 5365 "util/configparser.c" break; - case 457: -#line 2360 "./util/configparser.y" + case 459: +#line 2370 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str))); @@ -5361,11 +5378,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5365 "util/configparser.c" +#line 5382 "util/configparser.c" break; - case 458: -#line 2374 "./util/configparser.y" + case 460: +#line 2384 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str))); @@ -5376,11 +5393,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5380 "util/configparser.c" +#line 5397 "util/configparser.c" break; - case 459: -#line 2386 "./util/configparser.y" + case 461: +#line 2396 "./util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str))); @@ -5393,11 +5410,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 5397 "util/configparser.c" +#line 5414 "util/configparser.c" break; - case 460: -#line 2400 "./util/configparser.y" + case 462: +#line 2410 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->stubs->name) @@ -5406,31 +5423,31 @@ yyreduce: free(cfg_parser->cfg->stubs->name); cfg_parser->cfg->stubs->name = (yyvsp[0].str); } -#line 5410 "util/configparser.c" +#line 5427 "util/configparser.c" break; - case 461: -#line 2410 "./util/configparser.y" + case 463: +#line 2420 "./util/configparser.y" { 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 5420 "util/configparser.c" +#line 5437 "util/configparser.c" break; - case 462: -#line 2417 "./util/configparser.y" + case 464: +#line 2427 "./util/configparser.y" { 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 5430 "util/configparser.c" +#line 5447 "util/configparser.c" break; - case 463: -#line 2424 "./util/configparser.y" + case 465: +#line 2434 "./util/configparser.y" { OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5438,11 +5455,11 @@ yyreduce: else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5442 "util/configparser.c" +#line 5459 "util/configparser.c" break; - case 464: -#line 2433 "./util/configparser.y" + case 466: +#line 2443 "./util/configparser.y" { OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5450,11 +5467,11 @@ yyreduce: else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5454 "util/configparser.c" +#line 5471 "util/configparser.c" break; - case 465: -#line 2442 "./util/configparser.y" + case 467: +#line 2452 "./util/configparser.y" { OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5463,11 +5480,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5467 "util/configparser.c" +#line 5484 "util/configparser.c" break; - case 466: -#line 2452 "./util/configparser.y" + case 468: +#line 2462 "./util/configparser.y" { OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5476,11 +5493,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5480 "util/configparser.c" +#line 5497 "util/configparser.c" break; - case 467: -#line 2462 "./util/configparser.y" + case 469: +#line 2472 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->forwards->name) @@ -5489,31 +5506,31 @@ yyreduce: free(cfg_parser->cfg->forwards->name); cfg_parser->cfg->forwards->name = (yyvsp[0].str); } -#line 5493 "util/configparser.c" +#line 5510 "util/configparser.c" break; - case 468: -#line 2472 "./util/configparser.y" + case 470: +#line 2482 "./util/configparser.y" { 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 5503 "util/configparser.c" +#line 5520 "util/configparser.c" break; - case 469: -#line 2479 "./util/configparser.y" + case 471: +#line 2489 "./util/configparser.y" { 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 5513 "util/configparser.c" +#line 5530 "util/configparser.c" break; - case 470: -#line 2486 "./util/configparser.y" + case 472: +#line 2496 "./util/configparser.y" { OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5521,11 +5538,11 @@ yyreduce: else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5525 "util/configparser.c" +#line 5542 "util/configparser.c" break; - case 471: -#line 2495 "./util/configparser.y" + case 473: +#line 2505 "./util/configparser.y" { OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5533,11 +5550,11 @@ yyreduce: else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5537 "util/configparser.c" +#line 5554 "util/configparser.c" break; - case 472: -#line 2504 "./util/configparser.y" + case 474: +#line 2514 "./util/configparser.y" { OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5546,11 +5563,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5550 "util/configparser.c" +#line 5567 "util/configparser.c" break; - case 473: -#line 2514 "./util/configparser.y" + case 475: +#line 2524 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->auths->name) @@ -5559,52 +5576,52 @@ yyreduce: free(cfg_parser->cfg->auths->name); cfg_parser->cfg->auths->name = (yyvsp[0].str); } -#line 5563 "util/configparser.c" +#line 5580 "util/configparser.c" break; - case 474: -#line 2524 "./util/configparser.y" + case 476: +#line 2534 "./util/configparser.y" { OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->zonefile); cfg_parser->cfg->auths->zonefile = (yyvsp[0].str); } -#line 5573 "util/configparser.c" +#line 5590 "util/configparser.c" break; - case 475: -#line 2531 "./util/configparser.y" + case 477: +#line 2541 "./util/configparser.y" { OUTYY(("P(master:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5583 "util/configparser.c" +#line 5600 "util/configparser.c" break; - case 476: -#line 2538 "./util/configparser.y" + case 478: +#line 2548 "./util/configparser.y" { OUTYY(("P(url:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5593 "util/configparser.c" +#line 5610 "util/configparser.c" break; - case 477: -#line 2545 "./util/configparser.y" + case 479: +#line 2555 "./util/configparser.y" { OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5604 "util/configparser.c" +#line 5621 "util/configparser.c" break; - case 478: -#line 2553 "./util/configparser.y" + case 480: +#line 2563 "./util/configparser.y" { OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5613,11 +5630,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5617 "util/configparser.c" +#line 5634 "util/configparser.c" break; - case 479: -#line 2563 "./util/configparser.y" + case 481: +#line 2573 "./util/configparser.y" { OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5626,11 +5643,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5630 "util/configparser.c" +#line 5647 "util/configparser.c" break; - case 480: -#line 2573 "./util/configparser.y" + case 482: +#line 2583 "./util/configparser.y" { OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5639,11 +5656,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5643 "util/configparser.c" +#line 5660 "util/configparser.c" break; - case 481: -#line 2583 "./util/configparser.y" + case 483: +#line 2593 "./util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->views->name) @@ -5652,11 +5669,11 @@ yyreduce: free(cfg_parser->cfg->views->name); cfg_parser->cfg->views->name = (yyvsp[0].str); } -#line 5656 "util/configparser.c" +#line 5673 "util/configparser.c" break; - case 482: -#line 2593 "./util/configparser.y" + case 484: +#line 2603 "./util/configparser.y" { OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -5694,11 +5711,11 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 5698 "util/configparser.c" +#line 5715 "util/configparser.c" break; - case 483: -#line 2632 "./util/configparser.y" + case 485: +#line 2642 "./util/configparser.y" { OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -5707,33 +5724,33 @@ yyreduce: fatal_exit("out of memory adding per-view " "response-ip action"); } -#line 5711 "util/configparser.c" +#line 5728 "util/configparser.c" break; - case 484: -#line 2642 "./util/configparser.y" + case 486: +#line 2652 "./util/configparser.y" { OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert( &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } -#line 5722 "util/configparser.c" +#line 5739 "util/configparser.c" break; - case 485: -#line 2650 "./util/configparser.y" + case 487: +#line 2660 "./util/configparser.y" { OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { fatal_exit("out of memory adding local-data"); } } -#line 5733 "util/configparser.c" +#line 5750 "util/configparser.c" break; - case 486: -#line 2658 "./util/configparser.y" + case 488: +#line 2668 "./util/configparser.y" { char* ptr; OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -5747,11 +5764,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 5751 "util/configparser.c" +#line 5768 "util/configparser.c" break; - case 487: -#line 2673 "./util/configparser.y" + case 489: +#line 2683 "./util/configparser.y" { OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5759,19 +5776,19 @@ yyreduce: else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5763 "util/configparser.c" +#line 5780 "util/configparser.c" break; - case 488: -#line 2682 "./util/configparser.y" + case 490: +#line 2692 "./util/configparser.y" { OUTYY(("\nP(remote-control:)\n")); } -#line 5771 "util/configparser.c" +#line 5788 "util/configparser.c" break; - case 499: -#line 2693 "./util/configparser.y" + case 501: +#line 2703 "./util/configparser.y" { OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5780,11 +5797,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5784 "util/configparser.c" +#line 5801 "util/configparser.c" break; - case 500: -#line 2703 "./util/configparser.y" + case 502: +#line 2713 "./util/configparser.y" { OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -5792,79 +5809,79 @@ yyreduce: else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5796 "util/configparser.c" +#line 5813 "util/configparser.c" break; - case 501: -#line 2712 "./util/configparser.y" + case 503: +#line 2722 "./util/configparser.y" { OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5806 "util/configparser.c" +#line 5823 "util/configparser.c" break; - case 502: -#line 2719 "./util/configparser.y" + case 504: +#line 2729 "./util/configparser.y" { OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5816 "util/configparser.c" +#line 5833 "util/configparser.c" break; - case 503: -#line 2726 "./util/configparser.y" + case 505: +#line 2736 "./util/configparser.y" { 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 5826 "util/configparser.c" +#line 5843 "util/configparser.c" break; - case 504: -#line 2733 "./util/configparser.y" + case 506: +#line 2743 "./util/configparser.y" { 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 5836 "util/configparser.c" +#line 5853 "util/configparser.c" break; - case 505: -#line 2740 "./util/configparser.y" + case 507: +#line 2750 "./util/configparser.y" { 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 5846 "util/configparser.c" +#line 5863 "util/configparser.c" break; - case 506: -#line 2747 "./util/configparser.y" + case 508: +#line 2757 "./util/configparser.y" { 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 5856 "util/configparser.c" +#line 5873 "util/configparser.c" break; - case 507: -#line 2754 "./util/configparser.y" + case 509: +#line 2764 "./util/configparser.y" { OUTYY(("\nP(dnstap:)\n")); } -#line 5864 "util/configparser.c" +#line 5881 "util/configparser.c" break; - case 528: -#line 2774 "./util/configparser.y" + case 530: +#line 2784 "./util/configparser.y" { OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5872,31 +5889,31 @@ yyreduce: else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5876 "util/configparser.c" +#line 5893 "util/configparser.c" break; - case 529: -#line 2783 "./util/configparser.y" + case 531: +#line 2793 "./util/configparser.y" { 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 5886 "util/configparser.c" +#line 5903 "util/configparser.c" break; - case 530: -#line 2790 "./util/configparser.y" + case 532: +#line 2800 "./util/configparser.y" { OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_ip); cfg_parser->cfg->dnstap_ip = (yyvsp[0].str); } -#line 5896 "util/configparser.c" +#line 5913 "util/configparser.c" break; - case 531: -#line 2797 "./util/configparser.y" + case 533: +#line 2807 "./util/configparser.y" { OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5904,51 +5921,51 @@ yyreduce: else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5908 "util/configparser.c" +#line 5925 "util/configparser.c" break; - case 532: -#line 2806 "./util/configparser.y" + case 534: +#line 2816 "./util/configparser.y" { OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_server_name); cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str); } -#line 5918 "util/configparser.c" +#line 5935 "util/configparser.c" break; - case 533: -#line 2813 "./util/configparser.y" + case 535: +#line 2823 "./util/configparser.y" { OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_cert_bundle); cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str); } -#line 5928 "util/configparser.c" +#line 5945 "util/configparser.c" break; - case 534: -#line 2820 "./util/configparser.y" + case 536: +#line 2830 "./util/configparser.y" { OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_client_key_file); cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str); } -#line 5938 "util/configparser.c" +#line 5955 "util/configparser.c" break; - case 535: -#line 2827 "./util/configparser.y" + case 537: +#line 2837 "./util/configparser.y" { OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_client_cert_file); cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str); } -#line 5948 "util/configparser.c" +#line 5965 "util/configparser.c" break; - case 536: -#line 2834 "./util/configparser.y" + case 538: +#line 2844 "./util/configparser.y" { OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5956,11 +5973,11 @@ yyreduce: else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5960 "util/configparser.c" +#line 5977 "util/configparser.c" break; - case 537: -#line 2843 "./util/configparser.y" + case 539: +#line 2853 "./util/configparser.y" { OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5968,31 +5985,31 @@ yyreduce: else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5972 "util/configparser.c" +#line 5989 "util/configparser.c" break; - case 538: -#line 2852 "./util/configparser.y" + case 540: +#line 2862 "./util/configparser.y" { 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 5982 "util/configparser.c" +#line 5999 "util/configparser.c" break; - case 539: -#line 2859 "./util/configparser.y" + case 541: +#line 2869 "./util/configparser.y" { 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 5992 "util/configparser.c" +#line 6009 "util/configparser.c" break; - case 540: -#line 2866 "./util/configparser.y" + case 542: +#line 2876 "./util/configparser.y" { 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) @@ -6001,11 +6018,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6005 "util/configparser.c" +#line 6022 "util/configparser.c" break; - case 541: -#line 2876 "./util/configparser.y" + case 543: +#line 2886 "./util/configparser.y" { 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) @@ -6014,11 +6031,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6018 "util/configparser.c" +#line 6035 "util/configparser.c" break; - case 542: -#line 2886 "./util/configparser.y" + case 544: +#line 2896 "./util/configparser.y" { 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) @@ -6027,11 +6044,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6031 "util/configparser.c" +#line 6048 "util/configparser.c" break; - case 543: -#line 2896 "./util/configparser.y" + case 545: +#line 2906 "./util/configparser.y" { 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) @@ -6040,11 +6057,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6044 "util/configparser.c" +#line 6061 "util/configparser.c" break; - case 544: -#line 2906 "./util/configparser.y" + case 546: +#line 2916 "./util/configparser.y" { 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) @@ -6053,11 +6070,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6057 "util/configparser.c" +#line 6074 "util/configparser.c" break; - case 545: -#line 2916 "./util/configparser.y" + case 547: +#line 2926 "./util/configparser.y" { 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) @@ -6066,29 +6083,29 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6070 "util/configparser.c" +#line 6087 "util/configparser.c" break; - case 546: -#line 2926 "./util/configparser.y" + case 548: +#line 2936 "./util/configparser.y" { OUTYY(("\nP(python:)\n")); } -#line 6078 "util/configparser.c" +#line 6095 "util/configparser.c" break; - case 550: -#line 2935 "./util/configparser.y" + case 552: +#line 2945 "./util/configparser.y" { OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6088 "util/configparser.c" +#line 6105 "util/configparser.c" break; - case 551: -#line 2941 "./util/configparser.y" + case 553: +#line 2951 "./util/configparser.y" { OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6097,21 +6114,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6101 "util/configparser.c" +#line 6118 "util/configparser.c" break; - case 552: -#line 2951 "./util/configparser.y" + case 554: +#line 2961 "./util/configparser.y" { OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->log_identity); cfg_parser->cfg->log_identity = (yyvsp[0].str); } -#line 6111 "util/configparser.c" +#line 6128 "util/configparser.c" break; - case 553: -#line 2958 "./util/configparser.y" + case 555: +#line 2968 "./util/configparser.y" { OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -6119,30 +6136,30 @@ yyreduce: (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip"); } -#line 6123 "util/configparser.c" +#line 6140 "util/configparser.c" break; - case 554: -#line 2967 "./util/configparser.y" + case 556: +#line 2977 "./util/configparser.y" { OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } -#line 6134 "util/configparser.c" +#line 6151 "util/configparser.c" break; - case 555: -#line 2975 "./util/configparser.y" + case 557: +#line 2985 "./util/configparser.y" { OUTYY(("\nP(dnscrypt:)\n")); } -#line 6142 "util/configparser.c" +#line 6159 "util/configparser.c" break; - case 568: -#line 2991 "./util/configparser.y" + case 570: +#line 3001 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6150,11 +6167,11 @@ yyreduce: else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6154 "util/configparser.c" +#line 6171 "util/configparser.c" break; - case 569: -#line 3001 "./util/configparser.y" + case 571: +#line 3011 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6162,21 +6179,21 @@ yyreduce: else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6166 "util/configparser.c" +#line 6183 "util/configparser.c" break; - case 570: -#line 3010 "./util/configparser.y" + case 572: +#line 3020 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnscrypt_provider); cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); } -#line 6176 "util/configparser.c" +#line 6193 "util/configparser.c" break; - case 571: -#line 3017 "./util/configparser.y" + case 573: +#line 3027 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str))); if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) @@ -6184,21 +6201,21 @@ yyreduce: if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-provider-cert"); } -#line 6188 "util/configparser.c" +#line 6205 "util/configparser.c" break; - case 572: -#line 3026 "./util/configparser.y" + case 574: +#line 3036 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-provider-cert-rotated"); } -#line 6198 "util/configparser.c" +#line 6215 "util/configparser.c" break; - case 573: -#line 3033 "./util/configparser.y" + case 575: +#line 3043 "./util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str))); if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) @@ -6206,22 +6223,22 @@ yyreduce: if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-secret-key"); } -#line 6210 "util/configparser.c" +#line 6227 "util/configparser.c" break; - case 574: -#line 3042 "./util/configparser.y" + case 576: +#line 3052 "./util/configparser.y" { OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6221 "util/configparser.c" +#line 6238 "util/configparser.c" break; - case 575: -#line 3050 "./util/configparser.y" + case 577: +#line 3060 "./util/configparser.y" { OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6233,22 +6250,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 6237 "util/configparser.c" +#line 6254 "util/configparser.c" break; - case 576: -#line 3063 "./util/configparser.y" + case 578: +#line 3073 "./util/configparser.y" { OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6248 "util/configparser.c" +#line 6265 "util/configparser.c" break; - case 577: -#line 3071 "./util/configparser.y" + case 579: +#line 3081 "./util/configparser.y" { OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6260,19 +6277,19 @@ yyreduce: } free((yyvsp[0].str)); } -#line 6264 "util/configparser.c" +#line 6281 "util/configparser.c" break; - case 578: -#line 3084 "./util/configparser.y" + case 580: +#line 3094 "./util/configparser.y" { OUTYY(("\nP(cachedb:)\n")); } -#line 6272 "util/configparser.c" +#line 6289 "util/configparser.c" break; - case 587: -#line 3095 "./util/configparser.y" + case 589: +#line 3105 "./util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(backend:%s)\n", (yyvsp[0].str))); @@ -6283,11 +6300,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6287 "util/configparser.c" +#line 6304 "util/configparser.c" break; - case 588: -#line 3107 "./util/configparser.y" + case 590: +#line 3117 "./util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str))); @@ -6298,11 +6315,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6302 "util/configparser.c" +#line 6319 "util/configparser.c" break; - case 589: -#line 3119 "./util/configparser.y" + case 591: +#line 3129 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str))); @@ -6313,11 +6330,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6317 "util/configparser.c" +#line 6334 "util/configparser.c" break; - case 590: -#line 3131 "./util/configparser.y" + case 592: +#line 3141 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) int port; @@ -6331,11 +6348,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6335 "util/configparser.c" +#line 6352 "util/configparser.c" break; - case 591: -#line 3146 "./util/configparser.y" + case 593: +#line 3156 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str))); @@ -6347,11 +6364,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6351 "util/configparser.c" +#line 6368 "util/configparser.c" break; - case 592: -#line 3159 "./util/configparser.y" + case 594: +#line 3169 "./util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[0].str))); @@ -6363,11 +6380,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6367 "util/configparser.c" +#line 6384 "util/configparser.c" break; - case 593: -#line 3172 "./util/configparser.y" + case 595: +#line 3182 "./util/configparser.y" { OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if (atoi((yyvsp[0].str)) < 0) @@ -6377,19 +6394,19 @@ yyreduce: fatal_exit("out of memory adding tcp connection limit"); } } -#line 6381 "util/configparser.c" +#line 6398 "util/configparser.c" break; - case 594: -#line 3183 "./util/configparser.y" + case 596: +#line 3193 "./util/configparser.y" { OUTYY(("\nP(ipset:)\n")); } -#line 6389 "util/configparser.c" +#line 6406 "util/configparser.c" break; - case 599: -#line 3192 "./util/configparser.y" + case 601: +#line 3202 "./util/configparser.y" { #ifdef USE_IPSET OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str))); @@ -6403,11 +6420,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6407 "util/configparser.c" +#line 6424 "util/configparser.c" break; - case 600: -#line 3207 "./util/configparser.y" + case 602: +#line 3217 "./util/configparser.y" { #ifdef USE_IPSET OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str))); @@ -6421,11 +6438,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6425 "util/configparser.c" +#line 6442 "util/configparser.c" break; -#line 6429 "util/configparser.c" +#line 6446 "util/configparser.c" default: break; } @@ -6657,7 +6674,7 @@ yyreturn: #endif return yyresult; } -#line 3221 "./util/configparser.y" +#line 3231 "./util/configparser.y" /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index 184810a2a..571c76c4e 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -195,145 +195,146 @@ extern int yydebug; VAR_UNBLOCK_LAN_ZONES = 401, VAR_INSECURE_LAN_ZONES = 402, VAR_INFRA_CACHE_MIN_RTT = 403, - VAR_DNS64_PREFIX = 404, - VAR_DNS64_SYNTHALL = 405, - VAR_DNS64_IGNORE_AAAA = 406, - VAR_DNSTAP = 407, - VAR_DNSTAP_ENABLE = 408, - VAR_DNSTAP_SOCKET_PATH = 409, - VAR_DNSTAP_IP = 410, - VAR_DNSTAP_TLS = 411, - VAR_DNSTAP_TLS_SERVER_NAME = 412, - VAR_DNSTAP_TLS_CERT_BUNDLE = 413, - VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 414, - VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 415, - VAR_DNSTAP_SEND_IDENTITY = 416, - VAR_DNSTAP_SEND_VERSION = 417, - VAR_DNSTAP_IDENTITY = 418, - VAR_DNSTAP_VERSION = 419, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 420, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 421, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 422, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 423, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 424, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 425, - VAR_RESPONSE_IP_TAG = 426, - VAR_RESPONSE_IP = 427, - VAR_RESPONSE_IP_DATA = 428, - VAR_HARDEN_ALGO_DOWNGRADE = 429, - VAR_IP_TRANSPARENT = 430, - VAR_IP_DSCP = 431, - VAR_DISABLE_DNSSEC_LAME_CHECK = 432, - VAR_IP_RATELIMIT = 433, - VAR_IP_RATELIMIT_SLABS = 434, - VAR_IP_RATELIMIT_SIZE = 435, - VAR_RATELIMIT = 436, - VAR_RATELIMIT_SLABS = 437, - VAR_RATELIMIT_SIZE = 438, - VAR_RATELIMIT_FOR_DOMAIN = 439, - VAR_RATELIMIT_BELOW_DOMAIN = 440, - VAR_IP_RATELIMIT_FACTOR = 441, - VAR_RATELIMIT_FACTOR = 442, - VAR_SEND_CLIENT_SUBNET = 443, - VAR_CLIENT_SUBNET_ZONE = 444, - VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 445, - VAR_CLIENT_SUBNET_OPCODE = 446, - VAR_MAX_CLIENT_SUBNET_IPV4 = 447, - VAR_MAX_CLIENT_SUBNET_IPV6 = 448, - VAR_MIN_CLIENT_SUBNET_IPV4 = 449, - VAR_MIN_CLIENT_SUBNET_IPV6 = 450, - VAR_MAX_ECS_TREE_SIZE_IPV4 = 451, - VAR_MAX_ECS_TREE_SIZE_IPV6 = 452, - VAR_CAPS_WHITELIST = 453, - VAR_CACHE_MAX_NEGATIVE_TTL = 454, - VAR_PERMIT_SMALL_HOLDDOWN = 455, - VAR_QNAME_MINIMISATION = 456, - VAR_QNAME_MINIMISATION_STRICT = 457, - VAR_IP_FREEBIND = 458, - VAR_DEFINE_TAG = 459, - VAR_LOCAL_ZONE_TAG = 460, - VAR_ACCESS_CONTROL_TAG = 461, - VAR_LOCAL_ZONE_OVERRIDE = 462, - VAR_ACCESS_CONTROL_TAG_ACTION = 463, - VAR_ACCESS_CONTROL_TAG_DATA = 464, - VAR_VIEW = 465, - VAR_ACCESS_CONTROL_VIEW = 466, - VAR_VIEW_FIRST = 467, - VAR_SERVE_EXPIRED = 468, - VAR_SERVE_EXPIRED_TTL = 469, - VAR_SERVE_EXPIRED_TTL_RESET = 470, - VAR_SERVE_EXPIRED_REPLY_TTL = 471, - VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 472, - VAR_FAKE_DSA = 473, - VAR_FAKE_SHA1 = 474, - VAR_LOG_IDENTITY = 475, - VAR_HIDE_TRUSTANCHOR = 476, - VAR_TRUST_ANCHOR_SIGNALING = 477, - VAR_AGGRESSIVE_NSEC = 478, - VAR_USE_SYSTEMD = 479, - VAR_SHM_ENABLE = 480, - VAR_SHM_KEY = 481, - VAR_ROOT_KEY_SENTINEL = 482, - VAR_DNSCRYPT = 483, - VAR_DNSCRYPT_ENABLE = 484, - VAR_DNSCRYPT_PORT = 485, - VAR_DNSCRYPT_PROVIDER = 486, - VAR_DNSCRYPT_SECRET_KEY = 487, - VAR_DNSCRYPT_PROVIDER_CERT = 488, - VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 489, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 490, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 491, - VAR_DNSCRYPT_NONCE_CACHE_SIZE = 492, - VAR_DNSCRYPT_NONCE_CACHE_SLABS = 493, - VAR_IPSECMOD_ENABLED = 494, - VAR_IPSECMOD_HOOK = 495, - VAR_IPSECMOD_IGNORE_BOGUS = 496, - VAR_IPSECMOD_MAX_TTL = 497, - VAR_IPSECMOD_WHITELIST = 498, - VAR_IPSECMOD_STRICT = 499, - VAR_CACHEDB = 500, - VAR_CACHEDB_BACKEND = 501, - VAR_CACHEDB_SECRETSEED = 502, - VAR_CACHEDB_REDISHOST = 503, - VAR_CACHEDB_REDISPORT = 504, - VAR_CACHEDB_REDISTIMEOUT = 505, - VAR_CACHEDB_REDISEXPIRERECORDS = 506, - VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 507, - VAR_FOR_UPSTREAM = 508, - VAR_AUTH_ZONE = 509, - VAR_ZONEFILE = 510, - VAR_MASTER = 511, - VAR_URL = 512, - VAR_FOR_DOWNSTREAM = 513, - VAR_FALLBACK_ENABLED = 514, - VAR_TLS_ADDITIONAL_PORT = 515, - VAR_LOW_RTT = 516, - VAR_LOW_RTT_PERMIL = 517, - VAR_FAST_SERVER_PERMIL = 518, - VAR_FAST_SERVER_NUM = 519, - VAR_ALLOW_NOTIFY = 520, - VAR_TLS_WIN_CERT = 521, - VAR_TCP_CONNECTION_LIMIT = 522, - VAR_FORWARD_NO_CACHE = 523, - VAR_STUB_NO_CACHE = 524, - VAR_LOG_SERVFAIL = 525, - VAR_DENY_ANY = 526, - VAR_UNKNOWN_SERVER_TIME_LIMIT = 527, - VAR_LOG_TAG_QUERYREPLY = 528, - VAR_STREAM_WAIT_SIZE = 529, - VAR_TLS_CIPHERS = 530, - VAR_TLS_CIPHERSUITES = 531, - VAR_TLS_USE_SNI = 532, - VAR_IPSET = 533, - VAR_IPSET_NAME_V4 = 534, - VAR_IPSET_NAME_V6 = 535, - VAR_TLS_SESSION_TICKET_KEYS = 536, - VAR_RPZ = 537, - VAR_TAGS = 538, - VAR_RPZ_ACTION_OVERRIDE = 539, - VAR_RPZ_CNAME_OVERRIDE = 540, - VAR_RPZ_LOG = 541, - VAR_RPZ_LOG_NAME = 542 + VAR_INFRA_KEEP_PROBING = 404, + VAR_DNS64_PREFIX = 405, + VAR_DNS64_SYNTHALL = 406, + VAR_DNS64_IGNORE_AAAA = 407, + VAR_DNSTAP = 408, + VAR_DNSTAP_ENABLE = 409, + VAR_DNSTAP_SOCKET_PATH = 410, + VAR_DNSTAP_IP = 411, + VAR_DNSTAP_TLS = 412, + VAR_DNSTAP_TLS_SERVER_NAME = 413, + VAR_DNSTAP_TLS_CERT_BUNDLE = 414, + VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 415, + VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 416, + VAR_DNSTAP_SEND_IDENTITY = 417, + VAR_DNSTAP_SEND_VERSION = 418, + VAR_DNSTAP_IDENTITY = 419, + VAR_DNSTAP_VERSION = 420, + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 421, + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 422, + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 423, + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 424, + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 425, + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 426, + VAR_RESPONSE_IP_TAG = 427, + VAR_RESPONSE_IP = 428, + VAR_RESPONSE_IP_DATA = 429, + VAR_HARDEN_ALGO_DOWNGRADE = 430, + VAR_IP_TRANSPARENT = 431, + VAR_IP_DSCP = 432, + VAR_DISABLE_DNSSEC_LAME_CHECK = 433, + VAR_IP_RATELIMIT = 434, + VAR_IP_RATELIMIT_SLABS = 435, + VAR_IP_RATELIMIT_SIZE = 436, + VAR_RATELIMIT = 437, + VAR_RATELIMIT_SLABS = 438, + VAR_RATELIMIT_SIZE = 439, + VAR_RATELIMIT_FOR_DOMAIN = 440, + VAR_RATELIMIT_BELOW_DOMAIN = 441, + VAR_IP_RATELIMIT_FACTOR = 442, + VAR_RATELIMIT_FACTOR = 443, + VAR_SEND_CLIENT_SUBNET = 444, + VAR_CLIENT_SUBNET_ZONE = 445, + VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 446, + VAR_CLIENT_SUBNET_OPCODE = 447, + VAR_MAX_CLIENT_SUBNET_IPV4 = 448, + VAR_MAX_CLIENT_SUBNET_IPV6 = 449, + VAR_MIN_CLIENT_SUBNET_IPV4 = 450, + VAR_MIN_CLIENT_SUBNET_IPV6 = 451, + VAR_MAX_ECS_TREE_SIZE_IPV4 = 452, + VAR_MAX_ECS_TREE_SIZE_IPV6 = 453, + VAR_CAPS_WHITELIST = 454, + VAR_CACHE_MAX_NEGATIVE_TTL = 455, + VAR_PERMIT_SMALL_HOLDDOWN = 456, + VAR_QNAME_MINIMISATION = 457, + VAR_QNAME_MINIMISATION_STRICT = 458, + VAR_IP_FREEBIND = 459, + VAR_DEFINE_TAG = 460, + VAR_LOCAL_ZONE_TAG = 461, + VAR_ACCESS_CONTROL_TAG = 462, + VAR_LOCAL_ZONE_OVERRIDE = 463, + VAR_ACCESS_CONTROL_TAG_ACTION = 464, + VAR_ACCESS_CONTROL_TAG_DATA = 465, + VAR_VIEW = 466, + VAR_ACCESS_CONTROL_VIEW = 467, + VAR_VIEW_FIRST = 468, + VAR_SERVE_EXPIRED = 469, + VAR_SERVE_EXPIRED_TTL = 470, + VAR_SERVE_EXPIRED_TTL_RESET = 471, + VAR_SERVE_EXPIRED_REPLY_TTL = 472, + VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 473, + VAR_FAKE_DSA = 474, + VAR_FAKE_SHA1 = 475, + VAR_LOG_IDENTITY = 476, + VAR_HIDE_TRUSTANCHOR = 477, + VAR_TRUST_ANCHOR_SIGNALING = 478, + VAR_AGGRESSIVE_NSEC = 479, + VAR_USE_SYSTEMD = 480, + VAR_SHM_ENABLE = 481, + VAR_SHM_KEY = 482, + VAR_ROOT_KEY_SENTINEL = 483, + VAR_DNSCRYPT = 484, + VAR_DNSCRYPT_ENABLE = 485, + VAR_DNSCRYPT_PORT = 486, + VAR_DNSCRYPT_PROVIDER = 487, + VAR_DNSCRYPT_SECRET_KEY = 488, + VAR_DNSCRYPT_PROVIDER_CERT = 489, + VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 490, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 491, + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 492, + VAR_DNSCRYPT_NONCE_CACHE_SIZE = 493, + VAR_DNSCRYPT_NONCE_CACHE_SLABS = 494, + VAR_IPSECMOD_ENABLED = 495, + VAR_IPSECMOD_HOOK = 496, + VAR_IPSECMOD_IGNORE_BOGUS = 497, + VAR_IPSECMOD_MAX_TTL = 498, + VAR_IPSECMOD_WHITELIST = 499, + VAR_IPSECMOD_STRICT = 500, + VAR_CACHEDB = 501, + VAR_CACHEDB_BACKEND = 502, + VAR_CACHEDB_SECRETSEED = 503, + VAR_CACHEDB_REDISHOST = 504, + VAR_CACHEDB_REDISPORT = 505, + VAR_CACHEDB_REDISTIMEOUT = 506, + VAR_CACHEDB_REDISEXPIRERECORDS = 507, + VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 508, + VAR_FOR_UPSTREAM = 509, + VAR_AUTH_ZONE = 510, + VAR_ZONEFILE = 511, + VAR_MASTER = 512, + VAR_URL = 513, + VAR_FOR_DOWNSTREAM = 514, + VAR_FALLBACK_ENABLED = 515, + VAR_TLS_ADDITIONAL_PORT = 516, + VAR_LOW_RTT = 517, + VAR_LOW_RTT_PERMIL = 518, + VAR_FAST_SERVER_PERMIL = 519, + VAR_FAST_SERVER_NUM = 520, + VAR_ALLOW_NOTIFY = 521, + VAR_TLS_WIN_CERT = 522, + VAR_TCP_CONNECTION_LIMIT = 523, + VAR_FORWARD_NO_CACHE = 524, + VAR_STUB_NO_CACHE = 525, + VAR_LOG_SERVFAIL = 526, + VAR_DENY_ANY = 527, + VAR_UNKNOWN_SERVER_TIME_LIMIT = 528, + VAR_LOG_TAG_QUERYREPLY = 529, + VAR_STREAM_WAIT_SIZE = 530, + VAR_TLS_CIPHERS = 531, + VAR_TLS_CIPHERSUITES = 532, + VAR_TLS_USE_SNI = 533, + VAR_IPSET = 534, + VAR_IPSET_NAME_V4 = 535, + VAR_IPSET_NAME_V6 = 536, + VAR_TLS_SESSION_TICKET_KEYS = 537, + VAR_RPZ = 538, + VAR_TAGS = 539, + VAR_RPZ_ACTION_OVERRIDE = 540, + VAR_RPZ_CNAME_OVERRIDE = 541, + VAR_RPZ_LOG = 542, + VAR_RPZ_LOG_NAME = 543 }; #endif /* Tokens. */ @@ -483,145 +484,146 @@ extern int yydebug; #define VAR_UNBLOCK_LAN_ZONES 401 #define VAR_INSECURE_LAN_ZONES 402 #define VAR_INFRA_CACHE_MIN_RTT 403 -#define VAR_DNS64_PREFIX 404 -#define VAR_DNS64_SYNTHALL 405 -#define VAR_DNS64_IGNORE_AAAA 406 -#define VAR_DNSTAP 407 -#define VAR_DNSTAP_ENABLE 408 -#define VAR_DNSTAP_SOCKET_PATH 409 -#define VAR_DNSTAP_IP 410 -#define VAR_DNSTAP_TLS 411 -#define VAR_DNSTAP_TLS_SERVER_NAME 412 -#define VAR_DNSTAP_TLS_CERT_BUNDLE 413 -#define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 414 -#define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 415 -#define VAR_DNSTAP_SEND_IDENTITY 416 -#define VAR_DNSTAP_SEND_VERSION 417 -#define VAR_DNSTAP_IDENTITY 418 -#define VAR_DNSTAP_VERSION 419 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 420 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 421 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 422 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 423 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 424 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 425 -#define VAR_RESPONSE_IP_TAG 426 -#define VAR_RESPONSE_IP 427 -#define VAR_RESPONSE_IP_DATA 428 -#define VAR_HARDEN_ALGO_DOWNGRADE 429 -#define VAR_IP_TRANSPARENT 430 -#define VAR_IP_DSCP 431 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 432 -#define VAR_IP_RATELIMIT 433 -#define VAR_IP_RATELIMIT_SLABS 434 -#define VAR_IP_RATELIMIT_SIZE 435 -#define VAR_RATELIMIT 436 -#define VAR_RATELIMIT_SLABS 437 -#define VAR_RATELIMIT_SIZE 438 -#define VAR_RATELIMIT_FOR_DOMAIN 439 -#define VAR_RATELIMIT_BELOW_DOMAIN 440 -#define VAR_IP_RATELIMIT_FACTOR 441 -#define VAR_RATELIMIT_FACTOR 442 -#define VAR_SEND_CLIENT_SUBNET 443 -#define VAR_CLIENT_SUBNET_ZONE 444 -#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 445 -#define VAR_CLIENT_SUBNET_OPCODE 446 -#define VAR_MAX_CLIENT_SUBNET_IPV4 447 -#define VAR_MAX_CLIENT_SUBNET_IPV6 448 -#define VAR_MIN_CLIENT_SUBNET_IPV4 449 -#define VAR_MIN_CLIENT_SUBNET_IPV6 450 -#define VAR_MAX_ECS_TREE_SIZE_IPV4 451 -#define VAR_MAX_ECS_TREE_SIZE_IPV6 452 -#define VAR_CAPS_WHITELIST 453 -#define VAR_CACHE_MAX_NEGATIVE_TTL 454 -#define VAR_PERMIT_SMALL_HOLDDOWN 455 -#define VAR_QNAME_MINIMISATION 456 -#define VAR_QNAME_MINIMISATION_STRICT 457 -#define VAR_IP_FREEBIND 458 -#define VAR_DEFINE_TAG 459 -#define VAR_LOCAL_ZONE_TAG 460 -#define VAR_ACCESS_CONTROL_TAG 461 -#define VAR_LOCAL_ZONE_OVERRIDE 462 -#define VAR_ACCESS_CONTROL_TAG_ACTION 463 -#define VAR_ACCESS_CONTROL_TAG_DATA 464 -#define VAR_VIEW 465 -#define VAR_ACCESS_CONTROL_VIEW 466 -#define VAR_VIEW_FIRST 467 -#define VAR_SERVE_EXPIRED 468 -#define VAR_SERVE_EXPIRED_TTL 469 -#define VAR_SERVE_EXPIRED_TTL_RESET 470 -#define VAR_SERVE_EXPIRED_REPLY_TTL 471 -#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 472 -#define VAR_FAKE_DSA 473 -#define VAR_FAKE_SHA1 474 -#define VAR_LOG_IDENTITY 475 -#define VAR_HIDE_TRUSTANCHOR 476 -#define VAR_TRUST_ANCHOR_SIGNALING 477 -#define VAR_AGGRESSIVE_NSEC 478 -#define VAR_USE_SYSTEMD 479 -#define VAR_SHM_ENABLE 480 -#define VAR_SHM_KEY 481 -#define VAR_ROOT_KEY_SENTINEL 482 -#define VAR_DNSCRYPT 483 -#define VAR_DNSCRYPT_ENABLE 484 -#define VAR_DNSCRYPT_PORT 485 -#define VAR_DNSCRYPT_PROVIDER 486 -#define VAR_DNSCRYPT_SECRET_KEY 487 -#define VAR_DNSCRYPT_PROVIDER_CERT 488 -#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 489 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 490 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 491 -#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 492 -#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 493 -#define VAR_IPSECMOD_ENABLED 494 -#define VAR_IPSECMOD_HOOK 495 -#define VAR_IPSECMOD_IGNORE_BOGUS 496 -#define VAR_IPSECMOD_MAX_TTL 497 -#define VAR_IPSECMOD_WHITELIST 498 -#define VAR_IPSECMOD_STRICT 499 -#define VAR_CACHEDB 500 -#define VAR_CACHEDB_BACKEND 501 -#define VAR_CACHEDB_SECRETSEED 502 -#define VAR_CACHEDB_REDISHOST 503 -#define VAR_CACHEDB_REDISPORT 504 -#define VAR_CACHEDB_REDISTIMEOUT 505 -#define VAR_CACHEDB_REDISEXPIRERECORDS 506 -#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 507 -#define VAR_FOR_UPSTREAM 508 -#define VAR_AUTH_ZONE 509 -#define VAR_ZONEFILE 510 -#define VAR_MASTER 511 -#define VAR_URL 512 -#define VAR_FOR_DOWNSTREAM 513 -#define VAR_FALLBACK_ENABLED 514 -#define VAR_TLS_ADDITIONAL_PORT 515 -#define VAR_LOW_RTT 516 -#define VAR_LOW_RTT_PERMIL 517 -#define VAR_FAST_SERVER_PERMIL 518 -#define VAR_FAST_SERVER_NUM 519 -#define VAR_ALLOW_NOTIFY 520 -#define VAR_TLS_WIN_CERT 521 -#define VAR_TCP_CONNECTION_LIMIT 522 -#define VAR_FORWARD_NO_CACHE 523 -#define VAR_STUB_NO_CACHE 524 -#define VAR_LOG_SERVFAIL 525 -#define VAR_DENY_ANY 526 -#define VAR_UNKNOWN_SERVER_TIME_LIMIT 527 -#define VAR_LOG_TAG_QUERYREPLY 528 -#define VAR_STREAM_WAIT_SIZE 529 -#define VAR_TLS_CIPHERS 530 -#define VAR_TLS_CIPHERSUITES 531 -#define VAR_TLS_USE_SNI 532 -#define VAR_IPSET 533 -#define VAR_IPSET_NAME_V4 534 -#define VAR_IPSET_NAME_V6 535 -#define VAR_TLS_SESSION_TICKET_KEYS 536 -#define VAR_RPZ 537 -#define VAR_TAGS 538 -#define VAR_RPZ_ACTION_OVERRIDE 539 -#define VAR_RPZ_CNAME_OVERRIDE 540 -#define VAR_RPZ_LOG 541 -#define VAR_RPZ_LOG_NAME 542 +#define VAR_INFRA_KEEP_PROBING 404 +#define VAR_DNS64_PREFIX 405 +#define VAR_DNS64_SYNTHALL 406 +#define VAR_DNS64_IGNORE_AAAA 407 +#define VAR_DNSTAP 408 +#define VAR_DNSTAP_ENABLE 409 +#define VAR_DNSTAP_SOCKET_PATH 410 +#define VAR_DNSTAP_IP 411 +#define VAR_DNSTAP_TLS 412 +#define VAR_DNSTAP_TLS_SERVER_NAME 413 +#define VAR_DNSTAP_TLS_CERT_BUNDLE 414 +#define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 415 +#define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 416 +#define VAR_DNSTAP_SEND_IDENTITY 417 +#define VAR_DNSTAP_SEND_VERSION 418 +#define VAR_DNSTAP_IDENTITY 419 +#define VAR_DNSTAP_VERSION 420 +#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 421 +#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 422 +#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 423 +#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 424 +#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 425 +#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 426 +#define VAR_RESPONSE_IP_TAG 427 +#define VAR_RESPONSE_IP 428 +#define VAR_RESPONSE_IP_DATA 429 +#define VAR_HARDEN_ALGO_DOWNGRADE 430 +#define VAR_IP_TRANSPARENT 431 +#define VAR_IP_DSCP 432 +#define VAR_DISABLE_DNSSEC_LAME_CHECK 433 +#define VAR_IP_RATELIMIT 434 +#define VAR_IP_RATELIMIT_SLABS 435 +#define VAR_IP_RATELIMIT_SIZE 436 +#define VAR_RATELIMIT 437 +#define VAR_RATELIMIT_SLABS 438 +#define VAR_RATELIMIT_SIZE 439 +#define VAR_RATELIMIT_FOR_DOMAIN 440 +#define VAR_RATELIMIT_BELOW_DOMAIN 441 +#define VAR_IP_RATELIMIT_FACTOR 442 +#define VAR_RATELIMIT_FACTOR 443 +#define VAR_SEND_CLIENT_SUBNET 444 +#define VAR_CLIENT_SUBNET_ZONE 445 +#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 446 +#define VAR_CLIENT_SUBNET_OPCODE 447 +#define VAR_MAX_CLIENT_SUBNET_IPV4 448 +#define VAR_MAX_CLIENT_SUBNET_IPV6 449 +#define VAR_MIN_CLIENT_SUBNET_IPV4 450 +#define VAR_MIN_CLIENT_SUBNET_IPV6 451 +#define VAR_MAX_ECS_TREE_SIZE_IPV4 452 +#define VAR_MAX_ECS_TREE_SIZE_IPV6 453 +#define VAR_CAPS_WHITELIST 454 +#define VAR_CACHE_MAX_NEGATIVE_TTL 455 +#define VAR_PERMIT_SMALL_HOLDDOWN 456 +#define VAR_QNAME_MINIMISATION 457 +#define VAR_QNAME_MINIMISATION_STRICT 458 +#define VAR_IP_FREEBIND 459 +#define VAR_DEFINE_TAG 460 +#define VAR_LOCAL_ZONE_TAG 461 +#define VAR_ACCESS_CONTROL_TAG 462 +#define VAR_LOCAL_ZONE_OVERRIDE 463 +#define VAR_ACCESS_CONTROL_TAG_ACTION 464 +#define VAR_ACCESS_CONTROL_TAG_DATA 465 +#define VAR_VIEW 466 +#define VAR_ACCESS_CONTROL_VIEW 467 +#define VAR_VIEW_FIRST 468 +#define VAR_SERVE_EXPIRED 469 +#define VAR_SERVE_EXPIRED_TTL 470 +#define VAR_SERVE_EXPIRED_TTL_RESET 471 +#define VAR_SERVE_EXPIRED_REPLY_TTL 472 +#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 473 +#define VAR_FAKE_DSA 474 +#define VAR_FAKE_SHA1 475 +#define VAR_LOG_IDENTITY 476 +#define VAR_HIDE_TRUSTANCHOR 477 +#define VAR_TRUST_ANCHOR_SIGNALING 478 +#define VAR_AGGRESSIVE_NSEC 479 +#define VAR_USE_SYSTEMD 480 +#define VAR_SHM_ENABLE 481 +#define VAR_SHM_KEY 482 +#define VAR_ROOT_KEY_SENTINEL 483 +#define VAR_DNSCRYPT 484 +#define VAR_DNSCRYPT_ENABLE 485 +#define VAR_DNSCRYPT_PORT 486 +#define VAR_DNSCRYPT_PROVIDER 487 +#define VAR_DNSCRYPT_SECRET_KEY 488 +#define VAR_DNSCRYPT_PROVIDER_CERT 489 +#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 490 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 491 +#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 492 +#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 493 +#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 494 +#define VAR_IPSECMOD_ENABLED 495 +#define VAR_IPSECMOD_HOOK 496 +#define VAR_IPSECMOD_IGNORE_BOGUS 497 +#define VAR_IPSECMOD_MAX_TTL 498 +#define VAR_IPSECMOD_WHITELIST 499 +#define VAR_IPSECMOD_STRICT 500 +#define VAR_CACHEDB 501 +#define VAR_CACHEDB_BACKEND 502 +#define VAR_CACHEDB_SECRETSEED 503 +#define VAR_CACHEDB_REDISHOST 504 +#define VAR_CACHEDB_REDISPORT 505 +#define VAR_CACHEDB_REDISTIMEOUT 506 +#define VAR_CACHEDB_REDISEXPIRERECORDS 507 +#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 508 +#define VAR_FOR_UPSTREAM 509 +#define VAR_AUTH_ZONE 510 +#define VAR_ZONEFILE 511 +#define VAR_MASTER 512 +#define VAR_URL 513 +#define VAR_FOR_DOWNSTREAM 514 +#define VAR_FALLBACK_ENABLED 515 +#define VAR_TLS_ADDITIONAL_PORT 516 +#define VAR_LOW_RTT 517 +#define VAR_LOW_RTT_PERMIL 518 +#define VAR_FAST_SERVER_PERMIL 519 +#define VAR_FAST_SERVER_NUM 520 +#define VAR_ALLOW_NOTIFY 521 +#define VAR_TLS_WIN_CERT 522 +#define VAR_TCP_CONNECTION_LIMIT 523 +#define VAR_FORWARD_NO_CACHE 524 +#define VAR_STUB_NO_CACHE 525 +#define VAR_LOG_SERVFAIL 526 +#define VAR_DENY_ANY 527 +#define VAR_UNKNOWN_SERVER_TIME_LIMIT 528 +#define VAR_LOG_TAG_QUERYREPLY 529 +#define VAR_STREAM_WAIT_SIZE 530 +#define VAR_TLS_CIPHERS 531 +#define VAR_TLS_CIPHERSUITES 532 +#define VAR_TLS_USE_SNI 533 +#define VAR_IPSET 534 +#define VAR_IPSET_NAME_V4 535 +#define VAR_IPSET_NAME_V6 536 +#define VAR_TLS_SESSION_TICKET_KEYS 537 +#define VAR_RPZ 538 +#define VAR_TAGS 539 +#define VAR_RPZ_ACTION_OVERRIDE 540 +#define VAR_RPZ_CNAME_OVERRIDE 541 +#define VAR_RPZ_LOG 542 +#define VAR_RPZ_LOG_NAME 543 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -631,7 +633,7 @@ union YYSTYPE char* str; -#line 635 "util/configparser.h" +#line 637 "util/configparser.h" }; typedef union YYSTYPE YYSTYPE; diff --git a/util/configparser.y b/util/configparser.y index c72a89135..feb798a3e 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -114,7 +114,7 @@ extern struct config_parser_state* cfg_parser; %token VAR_STUB_FIRST VAR_MINIMAL_RESPONSES VAR_RRSET_ROUNDROBIN %token VAR_MAX_UDP_SIZE VAR_DELAY_CLOSE %token VAR_UNBLOCK_LAN_ZONES VAR_INSECURE_LAN_ZONES -%token VAR_INFRA_CACHE_MIN_RTT +%token VAR_INFRA_CACHE_MIN_RTT VAR_INFRA_KEEP_PROBING %token VAR_DNS64_PREFIX VAR_DNS64_SYNTHALL VAR_DNS64_IGNORE_AAAA %token VAR_DNSTAP VAR_DNSTAP_ENABLE VAR_DNSTAP_SOCKET_PATH VAR_DNSTAP_IP %token VAR_DNSTAP_TLS VAR_DNSTAP_TLS_SERVER_NAME VAR_DNSTAP_TLS_CERT_BUNDLE @@ -243,7 +243,7 @@ content_server: server_num_threads | server_verbosity | server_port | server_dns64_prefix | server_dns64_synthall | server_dns64_ignore_aaaa | server_infra_cache_min_rtt | server_harden_algo_downgrade | server_ip_transparent | server_ip_ratelimit | server_ratelimit | - server_ip_dscp | + server_ip_dscp | server_infra_keep_probing | server_ip_ratelimit_slabs | server_ratelimit_slabs | server_ip_ratelimit_size | server_ratelimit_size | server_ratelimit_for_domain | @@ -1462,6 +1462,16 @@ server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG free($2); } ; +server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG + { + OUTYY(("P(server_infra_keep_probing:%s)\n", $2)); + if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->infra_keep_probing = + (strcmp($2, "yes")==0); + free($2); + } + ; server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG { OUTYY(("P(server_target_fetch_policy:%s)\n", $2)); From 725d4822e7ba0fbf6c4d07b6e38fc989d03139a5 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Wed, 21 Oct 2020 10:35:47 +0200 Subject: [PATCH 2/2] Changelog note for #228 - Merge PR #228 : infra-keep-probing option to probe hosts that are down. Add infra-keep-probing: yes option. Hosts that are down are probed more frequently. With the option turned on, it probes about every 120 seconds, eventually after exponential backoff, and that keeps that way. If traffic keeps up for the domain. It probes with one at a time, eg. one query is allowed to probe, other queries within that 120 second interval are turned away. --- doc/Changelog | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/Changelog b/doc/Changelog index 61d2d4859..b7e5928ca 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,13 @@ +21 October 2020: Wouter + - Merge PR #228 : infra-keep-probing option to probe hosts that are + down. Add infra-keep-probing: yes option. Hosts that are down are + probed more frequently. + With the option turned on, it probes about every 120 seconds, + eventually after exponential backoff, and that keeps that way. If + traffic keeps up for the domain. It probes with one at a time, eg. + one query is allowed to probe, other queries within that 120 second + interval are turned away. + 19 October 2020: George - Merge PR #324 from James Renken: Add modern X.509v3 extensions to unbound-control TLS certificates.