Codebase list unbound / upstream/1.5.5
Imported Upstream version 1.5.5 Robert Edmonds 8 years ago
41 changed file(s) with 3310 addition(s) and 2859 deletion(s). Raw diff Collapse all Expand all
167167 HOST_OBJ_LINK=$(HOST_OBJ) $(SLDNS_OBJ) $(COMPAT_OBJ_WITHOUT_CTIMEARC4) @WIN_HOST_OBJ_LINK@
168168 UBANCHOR_SRC=smallapp/unbound-anchor.c
169169 UBANCHOR_OBJ=unbound-anchor.lo
170 UBANCHOR_OBJ_LINK=$(UBANCHOR_OBJ) \
170 UBANCHOR_OBJ_LINK=$(UBANCHOR_OBJ) parseutil.lo \
171171 $(COMPAT_OBJ_WITHOUT_CTIME) @WIN_UBANCHOR_OBJ_LINK@
172172 TESTBOUND_SRC=testcode/testbound.c testcode/testpkts.c \
173173 daemon/worker.c daemon/acl_list.c daemon/daemon.c daemon/stats.c \
11741174 unbound-control.lo unbound-control.o: $(srcdir)/smallapp/unbound-control.c config.h \
11751175 $(srcdir)/util/log.h $(srcdir)/util/config_file.h $(srcdir)/util/locks.h $(srcdir)/util/net_help.h
11761176 unbound-anchor.lo unbound-anchor.o: $(srcdir)/smallapp/unbound-anchor.c config.h $(srcdir)/libunbound/unbound.h \
1177 $(srcdir)/sldns/rrdef.h \
1177 $(srcdir)/sldns/rrdef.h $(srcdir)/sldns/parseutil.h \
11781178
11791179 petal.lo petal.o: $(srcdir)/testcode/petal.c config.h \
11801180
11 # Copyright 2009, Wouter Wijngaards, NLnet Labs.
22 # BSD licensed.
33 #
4 # Version 27
4 # Version 28
5 # 2015-08-28 ACX_CHECK_PIE and ACX_CHECK_RELRO_NOW added.
56 # 2015-03-17 AHX_CONFIG_REALLOCARRAY added
67 # 2013-09-19 FLTO help text improved.
78 # 2013-07-18 Enable ACX_CHECK_COMPILER_FLAG to test for -Wstrict-prototypes
9394 # ACX_CHECK_MEMCMP_SIGNED - check if memcmp uses signed characters.
9495 # AHX_MEMCMP_BROKEN - replace memcmp func for CHECK_MEMCMP_SIGNED.
9596 # ACX_CHECK_SS_FAMILY - check for sockaddr_storage.ss_family
97 # ACX_CHECK_PIE - add --enable-pie option and check if works
98 # ACX_CHECK_RELRO_NOW - add --enable-relro-now option and check it
9699 #
97100
98101 dnl Escape backslashes as \\, for C:\ paths, for the C preprocessor defines.
13851388 #endif
13861389 ]) ])
13871390
1391 dnl Check if CC and linker support -fPIE and -pie.
1392 dnl If so, sets them in CFLAGS / LDFLAGS.
1393 AC_DEFUN([ACX_CHECK_PIE], [
1394 AC_ARG_ENABLE([pie], AS_HELP_STRING([--enable-pie], [Enable Position-Independent Executable (eg. to fully benefit from ASLR, small performance penalty)]))
1395 AS_IF([test "x$enable_pie" = "xyes"], [
1396 AC_MSG_CHECKING([if $CC supports PIE])
1397 BAKLDFLAGS="$LDFLAGS"
1398 BAKCFLAGS="$CFLAGS"
1399 LDFLAGS="$LDFLAGS -pie"
1400 CFLAGS="$CFLAGS -fPIE"
1401 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
1402 if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
1403 LDFLAGS="$BAKLDFLAGS"
1404 AC_MSG_RESULT(no)
1405 else
1406 AC_MSG_RESULT(yes)
1407 fi
1408 rm -f conftest conftest.c conftest.o
1409 ], [LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; AC_MSG_RESULT(no)])
1410 ])
1411 ])
1412
1413 dnl Check if linker supports -Wl,-z,relro,-z,now.
1414 dnl If so, adds it to LDFLAGS.
1415 AC_DEFUN([ACX_CHECK_RELRO_NOW], [
1416 AC_ARG_ENABLE([relro_now], AS_HELP_STRING([--enable-relro-now], [Enable full relocation binding at load-time (RELRO NOW, to protect GOT and .dtor areas)]))
1417 AS_IF([test "x$enable_relro_now" = "xyes"], [
1418 AC_MSG_CHECKING([if $CC supports -Wl,-z,relro,-z,now])
1419 BAKLDFLAGS="$LDFLAGS"
1420 LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now"
1421 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
1422 if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
1423 LDFLAGS="$BAKLDFLAGS"
1424 AC_MSG_RESULT(no)
1425 else
1426 AC_MSG_RESULT(yes)
1427 fi
1428 rm -f conftest conftest.c conftest.o
1429 ], [LDFLAGS="$BAKLDFLAGS" ; AC_MSG_RESULT(no)])
1430 ])
1431 ])
1432
13881433 dnl End of file
8080 /* Define to 1 if you have the declaration of
8181 `SSL_COMP_get_compression_methods', and to 0 if you don't. */
8282 #undef HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS
83
84 /* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to
85 0 if you don't. */
86 #undef HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
8387
8488 /* Define to 1 if you have the declaration of `strlcat', and to 0 if you
8589 don't. */
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for unbound 1.5.4.
2 # Generated by GNU Autoconf 2.69 for unbound 1.5.5.
33 #
44 # Report bugs to <unbound-bugs@nlnetlabs.nl>.
55 #
589589 # Identity of this package.
590590 PACKAGE_NAME='unbound'
591591 PACKAGE_TARNAME='unbound'
592 PACKAGE_VERSION='1.5.4'
593 PACKAGE_STRING='unbound 1.5.4'
592 PACKAGE_VERSION='1.5.5'
593 PACKAGE_STRING='unbound 1.5.5'
594594 PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl'
595595 PACKAGE_URL=''
596596
803803 enable_checking
804804 enable_debug
805805 enable_flto
806 enable_pie
807 enable_relro_now
806808 enable_shared
807809 enable_static
808810 with_pic
13881390 # Omit some internal or obsolete options to make the list less imposing.
13891391 # This message is too long to be a string in the A/UX 3.1 sh.
13901392 cat <<_ACEOF
1391 \`configure' configures unbound 1.5.4 to adapt to many kinds of systems.
1393 \`configure' configures unbound 1.5.5 to adapt to many kinds of systems.
13921394
13931395 Usage: $0 [OPTION]... [VAR=VALUE]...
13941396
14531455
14541456 if test -n "$ac_init_help"; then
14551457 case $ac_init_help in
1456 short | recursive ) echo "Configuration of unbound 1.5.4:";;
1458 short | recursive ) echo "Configuration of unbound 1.5.5:";;
14571459 esac
14581460 cat <<\_ACEOF
14591461
14641466 --enable-checking Enable warnings, asserts, makefile-dependencies
14651467 --enable-debug same as enable-checking
14661468 --disable-flto Disable link-time optimization (gcc specific option)
1469 --enable-pie Enable Position-Independent Executable (eg. to fully
1470 benefit from ASLR, small performance penalty)
1471 --enable-relro-now Enable full relocation binding at load-time (RELRO
1472 NOW, to protect GOT and .dtor areas)
14671473 --enable-shared[=PKGS] build shared libraries [default=yes]
14681474 --enable-static[=PKGS] build static libraries [default=yes]
14691475 --enable-fast-install[=PKGS]
16281634 test -n "$ac_init_help" && exit $ac_status
16291635 if $ac_init_version; then
16301636 cat <<\_ACEOF
1631 unbound configure 1.5.4
1637 unbound configure 1.5.5
16321638 generated by GNU Autoconf 2.69
16331639
16341640 Copyright (C) 2012 Free Software Foundation, Inc.
23372343 This file contains any messages produced by compilers while
23382344 running configure, to aid debugging if configure makes a mistake.
23392345
2340 It was created by unbound $as_me 1.5.4, which was
2346 It was created by unbound $as_me 1.5.5, which was
23412347 generated by GNU Autoconf 2.69. Invocation command line was
23422348
23432349 $ $0 $@
26892695
26902696 UNBOUND_VERSION_MINOR=5
26912697
2692 UNBOUND_VERSION_MICRO=4
2698 UNBOUND_VERSION_MICRO=5
26932699
26942700
26952701 LIBUNBOUND_CURRENT=5
2696 LIBUNBOUND_REVISION=7
2702 LIBUNBOUND_REVISION=8
26972703 LIBUNBOUND_AGE=3
26982704 # 1.0.0 had 0:12:0
26992705 # 1.0.1 had 0:13:0
27372743 # 1.5.2 had 5:5:3
27382744 # 1.5.3 had 5:6:3
27392745 # 1.5.4 had 5:7:3
2746 # 1.5.5 had 5:8:3
27402747
27412748 # Current -- the number of the binary API that we're implementing
27422749 # Revision -- which iteration of the implementation of the binary
58705877
58715878 else
58725879 CFLAGS="$BAKCFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5880 $as_echo "no" >&6; }
5881 fi
5882 rm -f core conftest.err conftest.$ac_objext \
5883 conftest$ac_exeext conftest.$ac_ext
5884
5885 fi
5886
5887
5888 # Check whether --enable-pie was given.
5889 if test "${enable_pie+set}" = set; then :
5890 enableval=$enable_pie;
5891 fi
5892
5893 if test "x$enable_pie" = "xyes"; then :
5894
5895 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports PIE" >&5
5896 $as_echo_n "checking if $CC supports PIE... " >&6; }
5897 BAKLDFLAGS="$LDFLAGS"
5898 BAKCFLAGS="$CFLAGS"
5899 LDFLAGS="$LDFLAGS -pie"
5900 CFLAGS="$CFLAGS -fPIE"
5901 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5902 /* end confdefs.h. */
5903
5904 int
5905 main ()
5906 {
5907
5908 ;
5909 return 0;
5910 }
5911 _ACEOF
5912 if ac_fn_c_try_link "$LINENO"; then :
5913
5914 if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
5915 LDFLAGS="$BAKLDFLAGS"
5916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5917 $as_echo "no" >&6; }
5918 else
5919 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5920 $as_echo "yes" >&6; }
5921 fi
5922 rm -f conftest conftest.c conftest.o
5923
5924 else
5925 LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5926 $as_echo "no" >&6; }
5927 fi
5928 rm -f core conftest.err conftest.$ac_objext \
5929 conftest$ac_exeext conftest.$ac_ext
5930
5931 fi
5932
5933
5934 # Check whether --enable-relro_now was given.
5935 if test "${enable_relro_now+set}" = set; then :
5936 enableval=$enable_relro_now;
5937 fi
5938
5939 if test "x$enable_relro_now" = "xyes"; then :
5940
5941 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wl,-z,relro,-z,now" >&5
5942 $as_echo_n "checking if $CC supports -Wl,-z,relro,-z,now... " >&6; }
5943 BAKLDFLAGS="$LDFLAGS"
5944 LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now"
5945 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5946 /* end confdefs.h. */
5947
5948 int
5949 main ()
5950 {
5951
5952 ;
5953 return 0;
5954 }
5955 _ACEOF
5956 if ac_fn_c_try_link "$LINENO"; then :
5957
5958 if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
5959 LDFLAGS="$BAKLDFLAGS"
5960 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5961 $as_echo "no" >&6; }
5962 else
5963 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5964 $as_echo "yes" >&6; }
5965 fi
5966 rm -f conftest conftest.c conftest.o
5967
5968 else
5969 LDFLAGS="$BAKLDFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
58735970 $as_echo "no" >&6; }
58745971 fi
58755972 rm -f core conftest.err conftest.$ac_objext \
1610016197 as_fn_error $? "Python version >= 2.4.0 is required" "$LINENO" 5
1610116198 fi
1610216199
16103 PY_MAJOR_VERSION="`$PYTHON -c "import sys; print(sys.version_info.major)"`"
16200 PY_MAJOR_VERSION="`$PYTHON -c \"import sys; print(sys.version_info[0])\"`"
1610416201
1610516202 # Have Python
1610616203
1668316780 conftest$ac_exeext conftest.$ac_ext
1668416781 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LibreSSL" >&5
1668516782 $as_echo_n "checking for LibreSSL... " >&6; }
16686 if grep OPENSSL_VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
16783 if grep VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
1668716784 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
1668816785 $as_echo "yes" >&6; }
1668916786
1684316940
1684416941 cat >>confdefs.h <<_ACEOF
1684516942 #define HAVE_DECL_SK_SSL_COMP_POP_FREE $ac_have_decl
16943 _ACEOF
16944 ac_fn_c_check_decl "$LINENO" "SSL_CTX_set_ecdh_auto" "ac_cv_have_decl_SSL_CTX_set_ecdh_auto" "
16945 $ac_includes_default
16946 #ifdef HAVE_OPENSSL_ERR_H
16947 #include <openssl/err.h>
16948 #endif
16949
16950 #ifdef HAVE_OPENSSL_RAND_H
16951 #include <openssl/rand.h>
16952 #endif
16953
16954 #ifdef HAVE_OPENSSL_CONF_H
16955 #include <openssl/conf.h>
16956 #endif
16957
16958 #ifdef HAVE_OPENSSL_ENGINE_H
16959 #include <openssl/engine.h>
16960 #endif
16961 #include <openssl/ssl.h>
16962 #include <openssl/evp.h>
16963
16964 "
16965 if test "x$ac_cv_have_decl_SSL_CTX_set_ecdh_auto" = xyes; then :
16966 ac_have_decl=1
16967 else
16968 ac_have_decl=0
16969 fi
16970
16971 cat >>confdefs.h <<_ACEOF
16972 #define HAVE_DECL_SSL_CTX_SET_ECDH_AUTO $ac_have_decl
1684616973 _ACEOF
1684716974
1684816975 fi
1888919016
1889019017
1889119018
18892 version=1.5.4
19019 version=1.5.5
1889319020
1889419021 date=`date +'%b %e, %Y'`
1889519022
1940419531 # report actual input values of CONFIG_FILES etc. instead of their
1940519532 # values after options handling.
1940619533 ac_log="
19407 This file was extended by unbound $as_me 1.5.4, which was
19534 This file was extended by unbound $as_me 1.5.5, which was
1940819535 generated by GNU Autoconf 2.69. Invocation command line was
1940919536
1941019537 CONFIG_FILES = $CONFIG_FILES
1947019597 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1947119598 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1947219599 ac_cs_version="\\
19473 unbound config.status 1.5.4
19600 unbound config.status 1.5.5
1947419601 configured by $0, generated by GNU Autoconf 2.69,
1947519602 with options \\"\$ac_cs_config\\"
1947619603
99 # must be numbers. ac_defun because of later processing
1010 m4_define([VERSION_MAJOR],[1])
1111 m4_define([VERSION_MINOR],[5])
12 m4_define([VERSION_MICRO],[4])
12 m4_define([VERSION_MICRO],[5])
1313 AC_INIT(unbound, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), unbound-bugs@nlnetlabs.nl, unbound)
1414 AC_SUBST(UNBOUND_VERSION_MAJOR, [VERSION_MAJOR])
1515 AC_SUBST(UNBOUND_VERSION_MINOR, [VERSION_MINOR])
1616 AC_SUBST(UNBOUND_VERSION_MICRO, [VERSION_MICRO])
1717
1818 LIBUNBOUND_CURRENT=5
19 LIBUNBOUND_REVISION=7
19 LIBUNBOUND_REVISION=8
2020 LIBUNBOUND_AGE=3
2121 # 1.0.0 had 0:12:0
2222 # 1.0.1 had 0:13:0
6060 # 1.5.2 had 5:5:3
6161 # 1.5.3 had 5:6:3
6262 # 1.5.4 had 5:7:3
63 # 1.5.5 had 5:8:3
6364
6465 # Current -- the number of the binary API that we're implementing
6566 # Revision -- which iteration of the implementation of the binary
245246 ;;
246247 esac
247248 ACX_CHECK_FLTO
249 ACX_CHECK_PIE
250 ACX_CHECK_RELRO_NOW
248251
249252 AC_C_INLINE
250253 ACX_CHECK_FORMAT_ATTRIBUTE
474477 AC_ERROR([Python version >= 2.4.0 is required])
475478 fi
476479
477 PY_MAJOR_VERSION="`$PYTHON -c "import sys; print(sys.version_info.major)"`"
480 [PY_MAJOR_VERSION="`$PYTHON -c \"import sys; print(sys.version_info[0])\"`"]
478481 AC_SUBST(PY_MAJOR_VERSION)
479482 # Have Python
480483 AC_DEFINE(HAVE_PYTHON,1,[Define if you have Python libraries and header files.])
565568 ACX_WITH_SSL
566569 ACX_LIB_SSL
567570 AC_MSG_CHECKING([for LibreSSL])
568 if grep OPENSSL_VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
571 if grep VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
569572 AC_MSG_RESULT([yes])
570573 AC_DEFINE([HAVE_LIBRESSL], [1], [Define if we have LibreSSL])
571574 # libressl provides these compat functions, but they may also be
577580 AC_CHECK_HEADERS([openssl/conf.h],,, [AC_INCLUDES_DEFAULT])
578581 AC_CHECK_HEADERS([openssl/engine.h],,, [AC_INCLUDES_DEFAULT])
579582 AC_CHECK_FUNCS([OPENSSL_config EVP_sha1 EVP_sha256 EVP_sha512 FIPS_mode])
580 AC_CHECK_DECLS([SSL_COMP_get_compression_methods,sk_SSL_COMP_pop_free], [], [], [
583 AC_CHECK_DECLS([SSL_COMP_get_compression_methods,sk_SSL_COMP_pop_free,SSL_CTX_set_ecdh_auto], [], [], [
581584 AC_INCLUDES_DEFAULT
582585 #ifdef HAVE_OPENSSL_ERR_H
583586 #include <openssl/err.h>
398398 verbose(VERB_ALGO, "total of %d outgoing ports available", numport);
399399
400400 daemon->num = (daemon->cfg->num_threads?daemon->cfg->num_threads:1);
401 if(daemon->reuseport && (int)daemon->num < (int)daemon->num_ports) {
402 log_warn("cannot reduce num-threads to %d because so-reuseport "
403 "so continuing with %d threads.", (int)daemon->num,
404 (int)daemon->num_ports);
405 daemon->num = (int)daemon->num_ports;
406 }
401407 daemon->workers = (struct worker**)calloc((size_t)daemon->num,
402408 sizeof(struct worker*));
403409 if(daemon->cfg->dnstap) {
463469 #endif
464470 #ifdef SO_REUSEPORT
465471 if(worker->daemon->cfg->so_reuseport)
466 port_num = worker->thread_num;
472 port_num = worker->thread_num % worker->daemon->num_ports;
467473 else
468474 port_num = 0;
469475 #endif
242242 goto setup_error;
243243 }
244244 verbose(VERB_ALGO, "setup SSL certificates");
245 if (!SSL_CTX_use_certificate_file(rc->ctx,s_cert,SSL_FILETYPE_PEM)) {
245 if (!SSL_CTX_use_certificate_chain_file(rc->ctx,s_cert)) {
246246 log_err("Error for server-cert-file: %s", s_cert);
247 log_crypto_err("Error in SSL_CTX use_certificate_file");
247 log_crypto_err("Error in SSL_CTX use_certificate_chain_file");
248248 goto setup_error;
249249 }
250250 if(!SSL_CTX_use_PrivateKey_file(rc->ctx,s_key,SSL_FILETYPE_PEM)) {
257257 log_crypto_err("Error in SSL_CTX check_private_key");
258258 goto setup_error;
259259 }
260 #if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
261 if(!SSL_CTX_set_ecdh_auto(rc->ctx,1)) {
262 log_crypto_err("Error in SSL_CTX_ecdh_auto, not enabling ECDHE");
263 }
264 #elif defined(USE_ECDSA)
265 if(1) {
266 EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1);
267 if (!ecdh) {
268 log_crypto_err("could not find p256, not enabling ECDHE");
269 } else {
270 if (1 != SSL_CTX_set_tmp_ecdh (rc->ctx, ecdh)) {
271 log_crypto_err("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE");
272 }
273 EC_KEY_free (ecdh);
274 }
275 }
276 #endif
260277 if(!SSL_CTX_load_verify_locations(rc->ctx, s_cert, NULL)) {
261278 log_crypto_err("Error setting up SSL_CTX verify locations");
262279 setup_error:
12411258 size_t len;
12421259 /** labels */
12431260 int labs;
1244 /** now */
1245 time_t now;
12461261 /** time to invalidate to */
12471262 time_t expired;
12481263 /** number of rrsets removed */
12711286 d->timeout_AAAA = 0;
12721287 d->timeout_other = 0;
12731288 rtt_init(&d->rtt);
1274 if(d->ttl >= inf->now) {
1289 if(d->ttl > inf->expired) {
12751290 d->ttl = inf->expired;
12761291 inf->num_keys++;
12771292 }
13001315 inf.name = 0;
13011316 inf.len = 0;
13021317 inf.labs = 0;
1303 inf.now = *worker->env.now;
13041318 inf.expired = *worker->env.now;
13051319 inf.expired -= 3; /* handle 3 seconds skew between threads */
13061320 inf.num_rrsets = 0;
13311345 if(dname_subdomain_c(k->rk.dname, inf->name)) {
13321346 struct packed_rrset_data* d =
13331347 (struct packed_rrset_data*)e->data;
1334 if(d->ttl >= inf->now) {
1348 if(d->ttl > inf->expired) {
13351349 d->ttl = inf->expired;
13361350 inf->num_rrsets++;
13371351 }
13471361 struct msgreply_entry* k = (struct msgreply_entry*)e->key;
13481362 if(dname_subdomain_c(k->key.qname, inf->name)) {
13491363 struct reply_info* d = (struct reply_info*)e->data;
1350 if(d->ttl >= inf->now) {
1364 if(d->ttl > inf->expired) {
13511365 d->ttl = inf->expired;
13521366 inf->num_msgs++;
13531367 }
13631377 struct key_entry_key* k = (struct key_entry_key*)e->key;
13641378 if(dname_subdomain_c(k->name, inf->name)) {
13651379 struct key_entry_data* d = (struct key_entry_data*)e->data;
1366 if(d->ttl >= inf->now) {
1380 if(d->ttl > inf->expired) {
13671381 d->ttl = inf->expired;
13681382 inf->num_keys++;
13691383 }
13861400 inf.name = nm;
13871401 inf.len = nmlen;
13881402 inf.labs = nmlabs;
1389 inf.now = *worker->env.now;
13901403 inf.expired = *worker->env.now;
13911404 inf.expired -= 3; /* handle 3 seconds skew between threads */
13921405 inf.num_rrsets = 0;
14561469 struct del_info inf;
14571470 /* what we do is to set them all expired */
14581471 inf.worker = worker;
1459 inf.now = *worker->env.now;
14601472 inf.expired = *worker->env.now;
14611473 inf.expired -= 3; /* handle 3 seconds skew between threads */
14621474 inf.num_rrsets = 0;
15321544 struct del_info inf;
15331545 /* what we do is to set them all expired */
15341546 inf.worker = worker;
1535 inf.now = *worker->env.now;
15361547 inf.expired = *worker->env.now;
15371548 inf.expired -= 3; /* handle 3 seconds skew between threads */
15381549 inf.num_rrsets = 0;
16821693 }
16831694 }
16841695 }
1696 dp->has_parent_side_NS = 1;
16851697 return dp;
16861698 }
16871699
22642276 for(i=0; i<d->count + d->rrsig_count; i++) {
22652277 if(!packed_rr_to_string(p->rrset, i,
22662278 0, s, slen)) {
2267 if(!ssl_printf(ssl, "BADRR\n"))
2279 if(!ssl_printf(ssl, "BADRR\n")) {
2280 lock_rw_unlock(&z->lock);
2281 lock_rw_unlock(&zones->lock);
22682282 return;
2283 }
22692284 }
2270 if(!ssl_printf(ssl, "%s\n", s))
2285 if(!ssl_printf(ssl, "%s\n", s)) {
2286 lock_rw_unlock(&z->lock);
2287 lock_rw_unlock(&zones->lock);
22712288 return;
2289 }
22722290 }
22732291 }
22742292 }
0 28 September 2015: Wouter
1 - MAX_TARGET_COUNT increased to 64, to fix up sporadic resolution
2 failures.
3 - tag for 1.5.5rc1 release.
4 - makedist.sh: pgp sig echo commands.
5
6 25 September 2015: Wouter
7 - Fix unbound-control flush that does not succeed in removing data.
8
9 22 September 2015: Wouter
10 - Fix config globbed include chroot treatment, this fixes reload of
11 globs (patch from Dag-Erling Smørgrav).
12 - iana portlist update.
13 - Fix #702: New IPs for for h.root-servers.net.
14 - Remove confusion comment from canonical_compare() function.
15 - Fix #705: ub_ctx_set_fwd() return value mishandled on windows.
16 - testbound selftest also works in non-debug mode.
17 - Fix minor error in unbound.conf.5.in
18 - Fix unbound.conf(5) access-control description for precedence
19 and default.
20
21 31 August 2015: Wouter
22 - changed windows setup compression to be more transparent.
23
24 28 August 2015: Wouter
25 - Fix #697: Get PY_MAJOR_VERSION failure at configure for python
26 2.4 to 2.6.
27 - Feature #699: --enable-pie option to that builds PIE binary.
28 - Feature #700: --enable-relro-now option that enables full read-only
29 relocation.
30
31 24 August 2015: Wouter
32 - Fix deadlock for local data add and zone add when unbound-control
33 list_local_data printout is interrupted.
34 - iana portlist update.
35 - Change default of harden-algo-downgrade to off. This is lenient
36 for algorithm rollover.
37
38 13 August 2015: Wouter
39 - 5011 implementation does not insist on all algorithms, when
40 harden-algo-downgrade is turned off.
41 - Reap the child process that libunbound spawns.
42
43 11 August 2015: Wouter
44 - Fix #694: configure script does not detect LibreSSL 2.2.2
45
46 4 August 2015: Wouter
47 - Document that local-zone nodefault matches exactly and transparent
48 can be used to release a subzone.
49
50 3 August 2015: Wouter
51 - Document in the manual more text about configuring locally served
52 zones.
53 - Fix 5011 anchor update timer after reload.
54 - Fix mktime in unbound-anchor not using UTC.
55
56 30 July 2015: Wouter
57 - please afl-gcc (llvm) for uninitialised variable warning.
58 - Added permit-small-holddown config to debug fast 5011 rollover.
59
60 24 July 2015: Wouter
61 - Fix #690: Reload fails when so-reuseport is yes after changing
62 num-threads.
63 - iana portlist update.
64
65 21 July 2015: Wouter
66 - Fix configure to detect SSL_CTX_set_ecdh_auto.
67 - iana portlist update.
68
69 20 July 2015: Wouter
70 - Enable ECDHE for servers. Where available, use
71 SSL_CTX_set_ecdh_auto() for TLS-wrapped server configurations to
72 enable ECDHE. Otherwise, manually offer curve p256.
73 Client connections should automatically use ECDHE when available.
74 (thanks Daniel Kahn Gillmor)
75
76 18 July 2015: Willem
77 - Allow certificate chain files to allow for intermediate certificates.
78 (thanks Daniel Kahn Gillmor)
79
80 13 July 2015: Wouter
81 - makedist produces sha1 and sha256 files for created binaries too.
82
83 9 July 2015: Wouter
84 - 1.5.4 release tag
85 - trunk has 1.5.5 in development.
86 - Fix #681: Setting forwarders with unbound-control forward
87 implicitly turns on forward-first.
88
089 29 June 2015: Wouter
190 - iana portlist update.
291 - Fix alloc with log for allocation size checks.
0 README for Unbound 1.5.4
0 README for Unbound 1.5.5
11 Copyright 2007 NLnet Labs
22 http://unbound.net
33
00 #
11 # Example configuration file.
22 #
3 # See unbound.conf(5) man page, version 1.5.4.
3 # See unbound.conf(5) man page, version 1.5.5.
44 #
55 # this is a comment.
66
293293 # Harden against algorithm downgrade when multiple algorithms are
294294 # advertised in the DS record. If no, allows the weakest algorithm
295295 # to validate the zone.
296 # harden-algo-downgrade: yes
296 # harden-algo-downgrade: no
297297
298298 # Use 0x20-encoded random bits in the query to foil spoof attempts.
299299 # This feature is an experimental implementation of draft dns-0x20.
442442 # auto-trust-anchor-file probing removes missing anchors after ttl.
443443 # If the value 0 is given, missing anchors are not removed.
444444 # keep-missing: 31622400 # 366 days
445
446 # debug option that allows very small holddown times for key rollover
447 # permit-small-holddown: no
445448
446449 # the amount of memory to use for the key cache.
447450 # plain value in bytes or you can append k, m or G. default is "4Mb".
622625 # nameservers by hostname or by ipaddress. If you set stub-prime to yes,
623626 # the list is treated as priming hints (default is no).
624627 # With stub-first yes, it attempts without the stub if it fails.
628 # Consider adding domain-insecure: name and local-zone: name nodefault
629 # to the server: section if the stub is a locally served zone.
625630 # stub-zone:
626631 # name: "example.com"
627632 # stub-addr: 192.0.2.68
0 .TH "libunbound" "3" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "libunbound" "3" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" libunbound.3 -- unbound library functions manual
33 .\"
4141 .B ub_ctx_zone_remove,
4242 .B ub_ctx_data_add,
4343 .B ub_ctx_data_remove
44 \- Unbound DNS validating resolver 1.5.4 functions.
44 \- Unbound DNS validating resolver 1.5.5 functions.
4545 .SH "SYNOPSIS"
4646 .B #include <unbound.h>
4747 .LP
0 .TH "unbound-anchor" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "unbound-anchor" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" unbound-anchor.8 -- unbound anchor maintenance utility manual
33 .\"
0 .TH "unbound-checkconf" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "unbound-checkconf" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" unbound-checkconf.8 -- unbound configuration checker manual
33 .\"
0 .TH "unbound-control" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "unbound-control" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" unbound-control.8 -- unbound remote control manual
33 .\"
0 .TH "unbound\-host" "1" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "unbound\-host" "1" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" unbound-host.1 -- unbound DNS lookup utility
33 .\"
0 .TH "unbound" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "unbound" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" unbound.8 -- unbound manual
33 .\"
88 .\"
99 .SH "NAME"
1010 .B unbound
11 \- Unbound DNS validating resolver 1.5.4.
11 \- Unbound DNS validating resolver 1.5.5.
1212 .SH "SYNOPSIS"
1313 .B unbound
1414 .RB [ \-h ]
0 .TH "unbound.conf" "5" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
0 .TH "unbound.conf" "5" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
11 .\"
22 .\" unbound.conf.5 -- unbound.conf manual
33 .\"
295295 .TP
296296 .B cache\-min\-ttl: \fI<seconds>
297297 Time to live minimum for RRsets and messages in the cache. Default is 0.
298 If the the minimum kicks in, the data is cached for longer than the domain
298 If the minimum kicks in, the data is cached for longer than the domain
299299 owner intended, and thus less queries are made to look up the data.
300300 Zero makes sure the data in the cache is as the domain owner intended,
301301 higher values, especially more than an hour or so, can lead to trouble as
372372 The netblock is given as an IP4 or IP6 address with /size appended for a
373373 classless network block. The action can be \fIdeny\fR, \fIrefuse\fR,
374374 \fIallow\fR, \fIallow_snoop\fR, \fIdeny_non_local\fR or \fIrefuse_non_local\fR.
375 The most specific netblock match is used, if none match \fIdeny\fR is used.
375376 .IP
376377 The action \fIdeny\fR stops queries from hosts from that netblock.
377378 .IP
566567 .B harden\-algo\-downgrade: \fI<yes or no>
567568 Harden against algorithm downgrade when multiple algorithms are
568569 advertised in the DS record. If no, allows the weakest algorithm to
569 validate the zone. Default is yes. Zone signers must produce zones
570 validate the zone. Default is no. Zone signers must produce zones
570571 that allow this feature to work, but sometimes they do not, and turning
571572 this option off avoids that validation failure.
572573 .TP
800801 The default is 366 days. The value 0 does not remove missing anchors,
801802 as per the RFC.
802803 .TP
804 .B permit\-small\-holddown: \fI<yes or no>
805 Debug option that allows the autotrust 5011 rollover timers to assume
806 very small values. Default is no.
807 .TP
803808 .B key\-cache\-size: \fI<number>
804809 Number of bytes size of the key cache. Default is 4 megabytes.
805810 A plain number is in bytes, append 'k', 'm' or 'g' for kilobytes, megabytes
894899 Used to turn off default contents for AS112 zones. The other types
895900 also turn off default contents for the zone. The 'nodefault' option
896901 has no other effect than turning off default contents for the
897 given zone.
902 given zone. Use \fInodefault\fR if you use exactly that zone, if you want to
903 use a subzone, use \fItransparent\fR.
898904 .P
899905 The default zones are localhost, reverse 127.0.0.1 and ::1, and the AS112
900906 zones. The AS112 zones are reverse DNS zones for private use and reserved
11231129 AD bit). This setup makes unbound capable of answering queries for the
11241130 private zone, and can even set the AD bit ('authentic'), but the AA
11251131 ('authoritative') bit is not set on these replies.
1132 .P
1133 Consider adding \fBserver:\fR statements for \fBdomain\-insecure:\fR and
1134 for \fBlocal\-zone:\fI name nodefault\fR for the zone if it is a locally
1135 served zone. The insecure clause stops DNSSEC from invalidating the
1136 zone. The local zone nodefault (or \fItransparent\fR) clause makes the
1137 (reverse\-) zone bypass unbound's filtering of RFC1918 zones.
11261138 .TP
11271139 .B name: \fI<domain name>
11281140 Name of the stub zone.
134134 if(!ah(dp, "E.ROOT-SERVERS.NET.", "192.203.230.10")) goto failed;
135135 if(!ah(dp, "F.ROOT-SERVERS.NET.", "192.5.5.241")) goto failed;
136136 if(!ah(dp, "G.ROOT-SERVERS.NET.", "192.112.36.4")) goto failed;
137 if(!ah(dp, "H.ROOT-SERVERS.NET.", "128.63.2.53")) goto failed;
137 if(!ah(dp, "H.ROOT-SERVERS.NET.", "198.97.190.53")) goto failed;
138138 if(!ah(dp, "I.ROOT-SERVERS.NET.", "192.36.148.17")) goto failed;
139139 if(!ah(dp, "J.ROOT-SERVERS.NET.", "192.58.128.30")) goto failed;
140140 if(!ah(dp, "K.ROOT-SERVERS.NET.", "193.0.14.129")) goto failed;
147147 if(!ah(dp, "C.ROOT-SERVERS.NET.", "2001:500:2::c")) goto failed;
148148 if(!ah(dp, "D.ROOT-SERVERS.NET.", "2001:500:2d::d")) goto failed;
149149 if(!ah(dp, "F.ROOT-SERVERS.NET.", "2001:500:2f::f")) goto failed;
150 if(!ah(dp, "H.ROOT-SERVERS.NET.", "2001:500:1::803f:235")) goto failed;
150 if(!ah(dp, "H.ROOT-SERVERS.NET.", "2001:500:1::53")) goto failed;
151151 if(!ah(dp, "I.ROOT-SERVERS.NET.", "2001:7fe::53")) goto failed;
152152 if(!ah(dp, "J.ROOT-SERVERS.NET.", "2001:503:c27::2:30")) goto failed;
153153 if(!ah(dp, "K.ROOT-SERVERS.NET.", "2001:7fd::1")) goto failed;
5353 struct rbtree_t;
5454
5555 /** max number of targets spawned for a query and its subqueries */
56 #define MAX_TARGET_COUNT 32
56 #define MAX_TARGET_COUNT 64
5757 /** max number of query restarts. Determines max number of CNAME chain. */
5858 #define MAX_RESTART_COUNT 8
5959 /** max number of referrals. Makes sure resolver does not run away */
6464 #ifdef HAVE_PTHREAD
6565 #include <signal.h>
6666 #endif
67 #ifdef HAVE_SYS_WAIT_H
68 #include <sys/wait.h>
69 #endif
6770
6871 #if defined(UB_ON_WINDOWS) && defined (HAVE_WINDOWS_H)
6972 #include <windows.h>
217220 ub_thread_join(ctx->bg_tid);
218221 } else {
219222 lock_basic_unlock(&ctx->cfglock);
223 #ifndef UB_ON_WINDOWS
224 if(waitpid(ctx->bg_pid, NULL, 0) == -1) {
225 if(verbosity > 2)
226 log_err("waitpid: %s", strerror(errno));
227 }
228 #endif
220229 }
221230 }
222231 else {
945954 while (ptr) {
946955 numserv++;
947956 if((retval=ub_ctx_set_fwd(ctx,
948 ptr->IpAddress.String)!=0)) {
957 ptr->IpAddress.String))!=0) {
949958 free(info);
950959 return retval;
951960 }
341341
342342 /** A <character-string> encoding of the value field as specified
343343 * [RFC1035], Section 5.1., encoded as remaining rdata.
344 * For CAA.
344 * For CAA, URI.
345345 */
346346 LDNS_RDF_TYPE_LONG_STR,
347347
116116 #include "config.h"
117117 #include "libunbound/unbound.h"
118118 #include "sldns/rrdef.h"
119 #include "sldns/parseutil.h"
119120 #include <expat.h>
120121 #ifndef HAVE_EXPAT_H
121122 #error "need libexpat to parse root-anchors.xml file."
13271328 /* but ignore, (lenient) */
13281329 }
13291330
1330 t = mktime(&tm);
1331 t = sldns_mktime_from_utc(&tm);
13311332 if(t == (time_t)-1) {
13321333 if(verb) printf("xml_convertdate mktime failure\n");
13331334 return 0;
160160 if(cfg->remote_control_use_cert) {
161161 if(!(SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3) & SSL_OP_NO_SSLv3))
162162 ssl_err("could not set SSL_OP_NO_SSLv3");
163 if(!SSL_CTX_use_certificate_file(ctx,c_cert,SSL_FILETYPE_PEM) ||
163 if(!SSL_CTX_use_certificate_chain_file(ctx,c_cert) ||
164164 !SSL_CTX_use_PrivateKey_file(ctx,c_key,SSL_FILETYPE_PEM)
165165 || !SSL_CTX_check_private_key(ctx))
166166 ssl_err("Error setting up SSL_CTX client key and cert");
235235 if(!ctx) print_exit("out of memory");
236236 (void)SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
237237 (void)SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3);
238 if(!SSL_CTX_use_certificate_file(ctx, cert, SSL_FILETYPE_PEM))
238 if(!SSL_CTX_use_certificate_chain_file(ctx, cert))
239239 print_exit("cannot read cert");
240240 if(!SSL_CTX_use_PrivateKey_file(ctx, key, SSL_FILETYPE_PEM))
241241 print_exit("cannot read key");
242242 if(!SSL_CTX_check_private_key(ctx))
243243 print_exit("private key is not correct");
244 #if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
245 if (!SSL_CTX_set_ecdh_auto(ctx,1))
246 if(verb>=1) printf("failed to set_ecdh_auto, not enabling ECDHE\n");
247 #elif defined(USE_ECDSA)
248 if(1) {
249 EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1);
250 if (!ecdh) {
251 if(verb>=1) printf("could not find p256, not enabling ECDHE\n");
252 } else {
253 if (1 != SSL_CTX_set_tmp_ecdh (ctx, ecdh)) {
254 if(verb>=1) printf("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE\n");
255 }
256 EC_KEY_free(ecdh);
257 }
258 }
259 #endif
244260 if(!SSL_CTX_load_verify_locations(ctx, cert, NULL))
245261 print_exit("cannot load cert verify locations");
246262 return ctx;
908908 return x->value != NULL;
909909 }
910910
911 /* testbound assert function for selftest. counts the number of tests */
912 #define tb_assert(x) \
913 do { if(!(x)) fatal_exit("%s:%d: %s: assertion %s failed", \
914 __FILE__, __LINE__, __func__, #x); \
915 num_asserts++; \
916 } while(0);
917
911918 void testbound_selftest(void)
912919 {
913920 /* test the macro store */
914921 rbtree_t* store = macro_store_create();
915922 char* v;
916923 int r;
917 log_assert(store);
924 int num_asserts = 0;
925 tb_assert(store);
918926
919927 v = macro_lookup(store, "bla");
920 log_assert(strcmp(v, "") == 0);
928 tb_assert(strcmp(v, "") == 0);
921929 free(v);
922930
923931 v = macro_lookup(store, "vlerk");
924 log_assert(strcmp(v, "") == 0);
932 tb_assert(strcmp(v, "") == 0);
925933 free(v);
926934
927935 r = macro_assign(store, "bla", "waarde1");
928 log_assert(r);
936 tb_assert(r);
929937
930938 v = macro_lookup(store, "vlerk");
931 log_assert(strcmp(v, "") == 0);
939 tb_assert(strcmp(v, "") == 0);
932940 free(v);
933941
934942 v = macro_lookup(store, "bla");
935 log_assert(strcmp(v, "waarde1") == 0);
943 tb_assert(strcmp(v, "waarde1") == 0);
936944 free(v);
937945
938946 r = macro_assign(store, "vlerk", "kanteel");
939 log_assert(r);
947 tb_assert(r);
940948
941949 v = macro_lookup(store, "bla");
942 log_assert(strcmp(v, "waarde1") == 0);
950 tb_assert(strcmp(v, "waarde1") == 0);
943951 free(v);
944952
945953 v = macro_lookup(store, "vlerk");
946 log_assert(strcmp(v, "kanteel") == 0);
954 tb_assert(strcmp(v, "kanteel") == 0);
947955 free(v);
948956
949957 r = macro_assign(store, "bla", "ww");
950 log_assert(r);
958 tb_assert(r);
951959
952960 v = macro_lookup(store, "bla");
953 log_assert(strcmp(v, "ww") == 0);
954 free(v);
955
956 log_assert( macro_length("}") == 1);
957 log_assert( macro_length("blabla}") == 7);
958 log_assert( macro_length("bla${zoink}bla}") == 7+8);
959 log_assert( macro_length("bla${zoink}${bla}bla}") == 7+8+6);
961 tb_assert(strcmp(v, "ww") == 0);
962 free(v);
963
964 tb_assert( macro_length("}") == 1);
965 tb_assert( macro_length("blabla}") == 7);
966 tb_assert( macro_length("bla${zoink}bla}") == 7+8);
967 tb_assert( macro_length("bla${zoink}${bla}bla}") == 7+8+6);
960968
961969 v = macro_process(store, NULL, "");
962 log_assert( v && strcmp(v, "") == 0);
970 tb_assert( v && strcmp(v, "") == 0);
963971 free(v);
964972
965973 v = macro_process(store, NULL, "${}");
966 log_assert( v && strcmp(v, "") == 0);
974 tb_assert( v && strcmp(v, "") == 0);
967975 free(v);
968976
969977 v = macro_process(store, NULL, "blabla ${} dinges");
970 log_assert( v && strcmp(v, "blabla dinges") == 0);
978 tb_assert( v && strcmp(v, "blabla dinges") == 0);
971979 free(v);
972980
973981 v = macro_process(store, NULL, "1${$bla}2${$bla}3");
974 log_assert( v && strcmp(v, "1ww2ww3") == 0);
982 tb_assert( v && strcmp(v, "1ww2ww3") == 0);
975983 free(v);
976984
977985 v = macro_process(store, NULL, "it is ${ctime 123456}");
978 log_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
986 tb_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
979987 free(v);
980988
981989 r = macro_assign(store, "t1", "123456");
982 log_assert(r);
990 tb_assert(r);
983991 v = macro_process(store, NULL, "it is ${ctime ${$t1}}");
984 log_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
992 tb_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
985993 free(v);
986994
987995 v = macro_process(store, NULL, "it is ${ctime $t1}");
988 log_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
996 tb_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
989997 free(v);
990998
991999 r = macro_assign(store, "x", "1");
992 log_assert(r);
1000 tb_assert(r);
9931001 r = macro_assign(store, "y", "2");
994 log_assert(r);
1002 tb_assert(r);
9951003 v = macro_process(store, NULL, "${$x + $x}");
996 log_assert( v && strcmp(v, "2") == 0);
1004 tb_assert( v && strcmp(v, "2") == 0);
9971005 free(v);
9981006 v = macro_process(store, NULL, "${$x - $x}");
999 log_assert( v && strcmp(v, "0") == 0);
1007 tb_assert( v && strcmp(v, "0") == 0);
10001008 free(v);
10011009 v = macro_process(store, NULL, "${$y * $y}");
1002 log_assert( v && strcmp(v, "4") == 0);
1010 tb_assert( v && strcmp(v, "4") == 0);
10031011 free(v);
10041012 v = macro_process(store, NULL, "${32 / $y + $x + $y}");
1005 log_assert( v && strcmp(v, "19") == 0);
1013 tb_assert( v && strcmp(v, "19") == 0);
10061014 free(v);
10071015
10081016 v = macro_process(store, NULL, "${32 / ${$y+$y} + ${${100*3}/3}}");
1009 log_assert( v && strcmp(v, "108") == 0);
1017 tb_assert( v && strcmp(v, "108") == 0);
10101018 free(v);
10111019
10121020 v = macro_process(store, NULL, "${1 2 33 2 1}");
1013 log_assert( v && strcmp(v, "1 2 33 2 1") == 0);
1021 tb_assert( v && strcmp(v, "1 2 33 2 1") == 0);
10141022 free(v);
10151023
10161024 v = macro_process(store, NULL, "${123 3 + 5}");
1017 log_assert( v && strcmp(v, "123 8") == 0);
1025 tb_assert( v && strcmp(v, "123 8") == 0);
10181026 free(v);
10191027
10201028 v = macro_process(store, NULL, "${123 glug 3 + 5}");
1021 log_assert( v && strcmp(v, "123 glug 8") == 0);
1029 tb_assert( v && strcmp(v, "123 glug 8") == 0);
10221030 free(v);
10231031
10241032 macro_store_delete(store);
1025 }
1033 printf("selftest successful (%d checks).\n", num_asserts);
1034 }
283283 case 's':
284284 free(pass_argv[1]);
285285 testbound_selftest();
286 printf("selftest successful\n");
287286 exit(0);
288287 case '2':
289288 #if (defined(HAVE_EVP_SHA256) || defined(HAVE_NSS)) && defined(USE_SHA2)
55 trust-anchor: "example.com. 3600 IN DS 30899 7 1 d4bf9d2e10f6d76840d42ef5913022abcd0bf512"
66 val-override-date: "20070916134226"
77 target-fetch-policy: "0 0 0 0 0"
8 harden-algo-downgrade: yes
89
910 stub-zone:
1011 name: "."
6969 uid_t cfg_uid = (uid_t)-1;
7070 /** from cfg username, after daemonise setup performed */
7171 gid_t cfg_gid = (gid_t)-1;
72 /** for debug allow small timeout values for fast rollovers */
73 int autr_permit_small_holddown = 0;
7274
7375 /** global config during parsing */
7476 struct config_parser_state* cfg_parser = 0;
171173 cfg->harden_dnssec_stripped = 1;
172174 cfg->harden_below_nxdomain = 0;
173175 cfg->harden_referral_path = 0;
174 cfg->harden_algo_downgrade = 1;
176 cfg->harden_algo_downgrade = 0;
175177 cfg->use_caps_bits_for_id = 0;
176178 cfg->caps_whitelist = NULL;
177179 cfg->private_address = NULL;
199201 cfg->add_holddown = 30*24*3600;
200202 cfg->del_holddown = 30*24*3600;
201203 cfg->keep_missing = 366*24*3600; /* one year plus a little leeway */
204 cfg->permit_small_holddown = 0;
202205 cfg->key_cache_size = 4 * 1024 * 1024;
203206 cfg->key_cache_slabs = 4;
204207 cfg->neg_cache_size = 1 * 1024 * 1024;
443446 else S_UNSIGNED_OR_ZERO("add-holddown:", add_holddown)
444447 else S_UNSIGNED_OR_ZERO("del-holddown:", del_holddown)
445448 else S_UNSIGNED_OR_ZERO("keep-missing:", keep_missing)
449 else if(strcmp(opt, "permit-small-holddown:") == 0)
450 { IS_YES_OR_NO; cfg->permit_small_holddown = (strcmp(val, "yes") == 0);
451 autr_permit_small_holddown = cfg->permit_small_holddown; }
446452 else S_MEMSIZE("key-cache-size:", key_cache_size)
447453 else S_POW2("key-cache-slabs:", key_cache_slabs)
448454 else S_MEMSIZE("neg-cache-size:", neg_cache_size)
704710 else O_UNS(opt, "add-holddown", add_holddown)
705711 else O_UNS(opt, "del-holddown", del_holddown)
706712 else O_UNS(opt, "keep-missing", keep_missing)
713 else O_YNO(opt, "permit-small-holddown", permit_small_holddown)
707714 else O_MEM(opt, "key-cache-size", key_cache_size)
708715 else O_DEC(opt, "key-cache-slabs", key_cache_slabs)
709716 else O_MEM(opt, "neg-cache-size", neg_cache_size)
12421249 MINIMAL_RESPONSES = config->minimal_responses;
12431250 RRSET_ROUNDROBIN = config->rrset_roundrobin;
12441251 log_set_time_asc(config->log_time_ascii);
1252 autr_permit_small_holddown = config->permit_small_holddown;
12451253 }
12461254
12471255 void config_lookup_uid(struct config_file* cfg)
268268 unsigned int del_holddown;
269269 /** autotrust keep_missing time, in seconds. 0 is forever. */
270270 unsigned int keep_missing;
271 /** permit small holddown values, allowing 5011 rollover very fast */
272 int permit_small_holddown;
271273
272274 /** size of the key cache */
273275 size_t key_cache_size;
367369 extern uid_t cfg_uid;
368370 /** from cfg username, after daemonise setup performed */
369371 extern gid_t cfg_gid;
372 /** debug and enable small timeouts */
373 extern int autr_permit_small_holddown;
370374
371375 /**
372376 * Stub config options
362362 *yy_cp = '\0'; \
363363 (yy_c_buf_p) = yy_cp;
364364
365 #define YY_NUM_RULES 174
366 #define YY_END_OF_BUFFER 175
365 #define YY_NUM_RULES 175
366 #define YY_END_OF_BUFFER 176
367367 /* This struct is not used in this scanner,
368368 but its presence is necessary. */
369369 struct yy_trans_info
371371 flex_int32_t yy_verify;
372372 flex_int32_t yy_nxt;
373373 };
374 static yyconst flex_int16_t yy_accept[1731] =
374 static yyconst flex_int16_t yy_accept[1752] =
375375 { 0,
376 1, 1, 156, 156, 160, 160, 164, 164, 168, 168,
377 1, 1, 175, 172, 1, 154, 154, 173, 2, 172,
378 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
379 172, 172, 172, 172, 172, 172, 172, 172, 173, 156,
380 157, 157, 158, 173, 160, 161, 161, 162, 173, 167,
381 164, 165, 165, 166, 173, 168, 169, 169, 170, 173,
382 171, 155, 2, 159, 171, 173, 172, 0, 1, 2,
383 2, 2, 2, 172, 172, 172, 172, 172, 172, 172,
384 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
385 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
386
387 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
388 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
389 172, 172, 172, 156, 0, 160, 0, 167, 0, 164,
390 168, 0, 171, 0, 2, 2, 171, 172, 172, 172,
391 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
392 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
393 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
394 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
395 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
396 172, 172, 172, 172, 172, 172, 171, 172, 172, 172,
397
398 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
399 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
400 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
401 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
402 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
403 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
404 172, 172, 172, 172, 172, 172, 172, 172, 171, 172,
405 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
406 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
407 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
408
409 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
410 172, 172, 172, 70, 172, 172, 172, 172, 172, 6,
411 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
412 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
413 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
414 172, 172, 172, 171, 172, 172, 172, 172, 172, 172,
415 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
416 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
417 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
418 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
419
420 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
421 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
422 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
423 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
424 172, 172, 172, 171, 172, 172, 172, 172, 172, 30,
425 172, 172, 172, 172, 172, 172, 172, 172, 135, 172,
426 12, 13, 172, 15, 14, 172, 172, 172, 172, 172,
427 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
428 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
429 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
430
431 172, 172, 172, 128, 172, 172, 172, 172, 172, 172,
432 3, 172, 172, 172, 172, 172, 172, 172, 172, 172,
433 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
434 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
435 172, 171, 172, 172, 172, 172, 172, 172, 172, 172,
436 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
437 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
438 172, 172, 172, 172, 172, 172, 172, 163, 172, 172,
439 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
440 172, 172, 33, 172, 172, 172, 172, 172, 172, 172,
441
442 172, 172, 34, 172, 172, 172, 172, 172, 172, 172,
443 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
444 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
445 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
446 172, 172, 85, 163, 172, 172, 172, 172, 172, 172,
447 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
448 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
449 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
450 172, 172, 172, 172, 172, 172, 84, 172, 172, 172,
451 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
452
453 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
454 172, 172, 68, 172, 172, 172, 172, 172, 172, 172,
455 172, 172, 172, 172, 172, 172, 20, 172, 172, 172,
456 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
457 172, 172, 172, 31, 172, 172, 172, 172, 172, 172,
458 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
459 172, 172, 172, 172, 172, 172, 32, 172, 172, 172,
460 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
461 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
462 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
463
464 22, 172, 172, 172, 172, 172, 172, 172, 172, 172,
465 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
466 172, 172, 172, 172, 172, 172, 172, 148, 172, 172,
467 172, 172, 172, 172, 26, 172, 27, 172, 172, 172,
468 71, 172, 72, 172, 69, 172, 172, 172, 172, 172,
469 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
470 5, 172, 172, 172, 172, 172, 172, 172, 172, 172,
471 172, 172, 172, 172, 172, 172, 172, 87, 172, 172,
472 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
473 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
474
475 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
476 23, 172, 172, 172, 172, 172, 112, 111, 172, 172,
477 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
478 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
479 35, 172, 172, 172, 172, 172, 172, 172, 172, 74,
480 73, 172, 172, 172, 172, 172, 172, 172, 108, 172,
481 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
482 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
483 53, 172, 172, 172, 172, 172, 172, 172, 172, 172,
484 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
485
486 172, 172, 172, 172, 57, 172, 172, 172, 172, 172,
487 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
488 172, 172, 110, 172, 172, 172, 172, 172, 172, 172,
489 172, 172, 4, 172, 172, 172, 172, 172, 172, 172,
490 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
491 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
492 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
493 172, 105, 172, 172, 172, 172, 172, 172, 172, 172,
494 172, 121, 172, 106, 172, 133, 172, 172, 172, 172,
495 172, 172, 172, 172, 172, 172, 21, 172, 172, 172,
496
497 172, 76, 172, 77, 75, 172, 172, 172, 172, 172,
498 172, 172, 83, 172, 172, 172, 172, 172, 172, 172,
499 172, 172, 172, 172, 107, 172, 172, 172, 172, 132,
500 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
501 172, 67, 172, 172, 172, 172, 172, 172, 172, 172,
502 172, 172, 172, 172, 172, 28, 172, 172, 17, 172,
503 172, 172, 16, 172, 92, 172, 172, 172, 172, 172,
504 172, 172, 172, 172, 172, 172, 172, 172, 172, 42,
505 44, 172, 172, 172, 172, 172, 172, 172, 172, 136,
506 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
507
508 172, 172, 172, 78, 172, 172, 172, 172, 172, 172,
509 82, 172, 172, 172, 172, 172, 172, 172, 172, 172,
510 172, 172, 172, 172, 172, 172, 172, 86, 172, 172,
511 172, 172, 172, 172, 172, 172, 172, 172, 172, 127,
512 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
513 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
514 172, 96, 172, 100, 172, 172, 172, 172, 81, 172,
515 172, 63, 172, 119, 172, 172, 172, 172, 134, 172,
516 172, 172, 172, 172, 172, 172, 141, 172, 172, 172,
517 172, 172, 172, 172, 172, 172, 172, 172, 99, 172,
518
519 172, 172, 172, 172, 45, 46, 172, 29, 52, 101,
520 172, 113, 109, 172, 172, 38, 172, 103, 172, 172,
521 172, 172, 172, 7, 172, 66, 172, 172, 172, 150,
522 172, 118, 172, 172, 172, 172, 172, 172, 172, 172,
523 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
524 172, 172, 172, 172, 172, 172, 172, 172, 172, 88,
525 140, 172, 172, 172, 172, 172, 172, 172, 172, 129,
526 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
527 172, 172, 172, 172, 102, 172, 37, 39, 172, 172,
528 172, 172, 172, 65, 172, 172, 172, 149, 172, 172,
529
530 172, 172, 123, 18, 19, 172, 172, 172, 172, 172,
531 172, 172, 62, 172, 172, 172, 172, 172, 172, 172,
532 172, 172, 172, 125, 122, 172, 172, 172, 172, 172,
533 172, 172, 172, 36, 172, 172, 172, 172, 172, 172,
534 172, 11, 172, 172, 172, 172, 172, 172, 172, 172,
535 10, 172, 172, 172, 153, 172, 40, 172, 131, 124,
536 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
537 172, 95, 94, 172, 172, 126, 120, 172, 172, 172,
538 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
539 172, 172, 172, 172, 172, 47, 172, 130, 172, 172,
540
541 172, 172, 172, 172, 41, 172, 172, 172, 89, 91,
542 114, 172, 172, 172, 93, 172, 172, 172, 172, 172,
543 172, 172, 172, 172, 137, 172, 172, 172, 172, 172,
544 172, 172, 172, 172, 172, 172, 172, 172, 172, 24,
545 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
546 172, 172, 172, 172, 172, 172, 172, 172, 139, 172,
547 172, 117, 172, 172, 172, 172, 172, 172, 172, 50,
548 172, 25, 172, 9, 172, 172, 172, 172, 115, 54,
549 172, 172, 172, 98, 172, 172, 172, 172, 172, 172,
550 172, 138, 79, 172, 172, 172, 172, 56, 60, 55,
551
552 172, 48, 172, 8, 172, 151, 172, 172, 97, 172,
553 172, 172, 172, 172, 172, 172, 172, 172, 172, 61,
554 59, 172, 49, 172, 172, 116, 172, 172, 90, 43,
555 172, 172, 172, 172, 172, 172, 80, 58, 51, 152,
556 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
557 172, 172, 172, 172, 172, 172, 64, 172, 172, 172,
558 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
559 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
560 172, 172, 172, 172, 172, 104, 172, 172, 172, 172,
561 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
562
563 172, 172, 172, 172, 144, 172, 172, 172, 172, 172,
564 172, 172, 172, 172, 172, 172, 172, 172, 142, 172,
565 145, 146, 172, 172, 172, 172, 172, 143, 147, 0
376 1, 1, 157, 157, 161, 161, 165, 165, 169, 169,
377 1, 1, 176, 173, 1, 155, 155, 174, 2, 173,
378 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
379 173, 173, 173, 173, 173, 173, 173, 173, 174, 157,
380 158, 158, 159, 174, 161, 162, 162, 163, 174, 168,
381 165, 166, 166, 167, 174, 169, 170, 170, 171, 174,
382 172, 156, 2, 160, 172, 174, 173, 0, 1, 2,
383 2, 2, 2, 173, 173, 173, 173, 173, 173, 173,
384 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
385 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
386
387 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
388 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
389 173, 173, 173, 173, 157, 0, 161, 0, 168, 0,
390 165, 169, 0, 172, 0, 2, 2, 172, 173, 173,
391 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
392 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
393 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
394 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
395 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
396 173, 173, 173, 173, 173, 173, 173, 173, 172, 173,
397
398 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
399 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
400 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
401 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
402 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
403 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
404 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
405 173, 172, 173, 173, 173, 173, 173, 173, 173, 173,
406 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
407 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
408
409 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
410 173, 173, 173, 173, 173, 173, 70, 173, 173, 173,
411 173, 173, 173, 6, 173, 173, 173, 173, 173, 173,
412 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
413 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
414 173, 173, 173, 173, 173, 173, 173, 172, 173, 173,
415 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
416 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
417 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
418 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
419
420 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
421 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
422 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
423 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
424 173, 173, 173, 173, 173, 173, 173, 173, 172, 173,
425 173, 173, 173, 173, 30, 173, 173, 173, 173, 173,
426 173, 173, 173, 136, 173, 12, 13, 173, 15, 14,
427 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
428 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
429 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
430
431 173, 173, 173, 173, 173, 173, 173, 173, 173, 129,
432 173, 173, 173, 173, 173, 173, 3, 173, 173, 173,
433 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
434 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
435 173, 173, 173, 173, 173, 173, 173, 172, 173, 173,
436 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
437 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
438 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
439 173, 173, 173, 164, 173, 173, 173, 173, 173, 173,
440 173, 173, 173, 173, 173, 173, 173, 173, 33, 173,
441
442 173, 173, 173, 173, 173, 173, 173, 173, 173, 34,
443 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
444 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
445 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
446 173, 173, 173, 173, 173, 173, 173, 173, 173, 85,
447 164, 173, 173, 173, 173, 173, 173, 173, 173, 173,
448 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
449 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
450 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
451 173, 173, 173, 84, 173, 173, 173, 173, 173, 173,
452
453 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
454 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
455 68, 173, 173, 173, 173, 173, 173, 173, 173, 173,
456 173, 173, 173, 173, 20, 173, 173, 173, 173, 173,
457 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
458 173, 31, 173, 173, 173, 173, 173, 173, 173, 173,
459 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
460 173, 173, 173, 173, 32, 173, 173, 173, 173, 173,
461 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
462 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
463
464 173, 173, 173, 173, 173, 173, 173, 173, 22, 173,
465 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
466 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
467 173, 173, 173, 173, 173, 173, 149, 173, 173, 173,
468 173, 173, 173, 26, 173, 27, 173, 173, 173, 71,
469 173, 72, 173, 69, 173, 173, 173, 173, 173, 173,
470 173, 173, 173, 173, 173, 173, 173, 173, 173, 5,
471 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
472 173, 173, 173, 173, 173, 173, 87, 173, 173, 173,
473 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
474
475 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
476 173, 173, 173, 173, 173, 173, 173, 173, 173, 23,
477 173, 173, 173, 173, 173, 113, 112, 173, 173, 173,
478 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
479 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
480 35, 173, 173, 173, 173, 173, 173, 173, 173, 74,
481 73, 173, 173, 173, 173, 173, 173, 173, 109, 173,
482 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
483 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
484 53, 173, 173, 173, 173, 173, 173, 173, 173, 173,
485
486 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
487 173, 173, 173, 173, 57, 173, 173, 173, 173, 173,
488 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
489 173, 173, 111, 173, 173, 173, 173, 173, 173, 173,
490 173, 173, 4, 173, 173, 173, 173, 173, 173, 173,
491 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
492 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
493 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
494 173, 173, 105, 173, 173, 173, 173, 173, 173, 173,
495 173, 173, 122, 173, 106, 173, 134, 173, 173, 173,
496
497 173, 173, 173, 173, 173, 173, 173, 21, 173, 173,
498 173, 173, 76, 173, 77, 75, 173, 173, 173, 173,
499 173, 173, 173, 83, 173, 173, 173, 173, 173, 173,
500 173, 173, 173, 173, 173, 107, 173, 173, 173, 173,
501 133, 173, 173, 173, 173, 173, 173, 173, 173, 173,
502 173, 173, 173, 67, 173, 173, 173, 173, 173, 173,
503 173, 173, 173, 173, 173, 173, 173, 28, 173, 173,
504 17, 173, 173, 173, 16, 173, 92, 173, 173, 173,
505 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
506 173, 42, 44, 173, 173, 173, 173, 173, 173, 173,
507
508 173, 137, 173, 173, 173, 173, 173, 173, 173, 173,
509 173, 173, 173, 173, 173, 78, 173, 173, 173, 173,
510 173, 173, 82, 173, 173, 173, 173, 173, 173, 173,
511 173, 173, 173, 173, 173, 173, 173, 173, 173, 86,
512 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
513 173, 173, 128, 173, 173, 173, 173, 173, 173, 173,
514 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
515 173, 173, 173, 173, 96, 173, 100, 173, 173, 173,
516 173, 81, 173, 173, 63, 173, 120, 173, 173, 173,
517 173, 135, 173, 173, 173, 173, 173, 173, 173, 142,
518
519 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
520 173, 99, 173, 173, 173, 173, 173, 45, 46, 173,
521 29, 52, 101, 173, 114, 110, 173, 173, 38, 173,
522 103, 173, 173, 173, 173, 173, 7, 173, 173, 66,
523 173, 173, 173, 151, 173, 119, 173, 173, 173, 173,
524 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
525 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
526 173, 173, 173, 88, 141, 173, 173, 173, 173, 173,
527 173, 173, 173, 130, 173, 173, 173, 173, 173, 173,
528 173, 173, 173, 173, 173, 173, 173, 173, 102, 173,
529
530 37, 39, 173, 173, 173, 173, 173, 173, 65, 173,
531 173, 173, 150, 173, 173, 173, 173, 124, 18, 19,
532 173, 173, 173, 173, 173, 173, 173, 62, 173, 173,
533 173, 173, 173, 173, 173, 173, 173, 173, 126, 123,
534 173, 173, 173, 173, 173, 173, 173, 173, 36, 173,
535 173, 173, 173, 173, 173, 173, 11, 173, 173, 173,
536 173, 173, 173, 173, 173, 10, 173, 173, 173, 173,
537 154, 173, 40, 173, 132, 125, 173, 173, 173, 173,
538 173, 173, 173, 173, 173, 173, 173, 95, 94, 173,
539 173, 127, 121, 173, 173, 173, 173, 173, 173, 173,
540
541 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
542 173, 47, 173, 131, 173, 173, 173, 173, 173, 173,
543 173, 41, 173, 173, 173, 89, 91, 115, 173, 173,
544 173, 93, 173, 173, 173, 173, 173, 173, 173, 173,
545 173, 138, 173, 173, 173, 173, 173, 173, 173, 173,
546 173, 173, 173, 173, 173, 173, 24, 173, 173, 173,
547 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
548 173, 173, 173, 173, 173, 173, 140, 173, 173, 118,
549 173, 173, 173, 173, 173, 173, 173, 50, 173, 25,
550 173, 9, 173, 173, 173, 173, 173, 116, 54, 173,
551
552 173, 173, 98, 173, 173, 173, 173, 173, 173, 173,
553 139, 79, 173, 173, 173, 173, 56, 60, 55, 173,
554 48, 173, 8, 173, 173, 152, 173, 173, 97, 173,
555 173, 173, 173, 173, 173, 173, 173, 173, 173, 61,
556 59, 173, 49, 173, 108, 173, 117, 173, 173, 90,
557 43, 173, 173, 173, 173, 173, 173, 80, 58, 51,
558 153, 173, 173, 173, 173, 173, 173, 173, 173, 173,
559 173, 173, 173, 173, 173, 173, 173, 64, 173, 173,
560 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
561 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
562
563 173, 173, 173, 173, 173, 173, 104, 173, 173, 173,
564 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
565 173, 173, 173, 173, 173, 145, 173, 173, 173, 173,
566 173, 173, 173, 173, 173, 173, 173, 173, 173, 143,
567 173, 146, 147, 173, 173, 173, 173, 173, 144, 148,
568 0
566569 } ;
567570
568571 static yyconst flex_int32_t yy_ec[256] =
608611 1, 1, 1, 1, 1
609612 } ;
610613
611 static yyconst flex_int16_t yy_base[1745] =
614 static yyconst flex_int16_t yy_base[1766] =
612615 { 0,
613616 0, 0, 63, 66, 69, 71, 77, 83, 88, 91,
614 129, 135, 378, 309, 95, 5006, 5006, 5006, 107, 110,
617 129, 135, 393, 348, 95, 5065, 5065, 5065, 107, 110,
615618 142, 180, 108, 50, 145, 172, 118, 148, 121, 181,
616 197, 166, 217, 233, 252, 236, 164, 269, 116, 298,
617 5006, 5006, 5006, 94, 295, 5006, 5006, 5006, 96, 249,
618 265, 5006, 5006, 5006, 238, 216, 5006, 5006, 5006, 102,
619 214, 5006, 290, 5006, 259, 257, 209, 312, 111, 0,
620 316, 0, 0, 265, 170, 283, 310, 296, 301, 306,
621 302, 297, 308, 325, 317, 312, 330, 333, 345, 329,
622 336, 361, 250, 343, 368, 376, 347, 341, 365, 377,
623
624 372, 380, 388, 370, 382, 398, 413, 399, 403, 408,
625 409, 410, 414, 260, 415, 437, 426, 436, 412, 445,
626 450, 449, 439, 193, 159, 177, 169, 141, 298, 165,
627 122, 174, 115, 488, 497, 0, 464, 470, 262, 471,
628 485, 477, 484, 480, 505, 498, 435, 509, 553, 513,
629 491, 511, 492, 517, 523, 508, 519, 539, 541, 526,
630 544, 543, 549, 556, 568, 579, 581, 578, 561, 583,
631 588, 601, 602, 592, 597, 584, 607, 594, 609, 618,
632 610, 612, 622, 611, 628, 626, 615, 639, 644, 652,
633 637, 645, 660, 662, 667, 663, 658, 650, 668, 671,
634
635 681, 679, 678, 673, 694, 674, 701, 709, 213, 711,
636 713, 700, 707, 720, 715, 708, 728, 718, 724, 743,
637 734, 733, 736, 735, 744, 763, 740, 761, 750, 760,
638 770, 766, 762, 759, 773, 777, 781, 790, 808, 778,
639 804, 795, 799, 809, 813, 819, 822, 801, 820, 828,
640 831, 833, 825, 851, 847, 846, 855, 870, 858, 850,
641 849, 857, 873, 876, 888, 928, 878, 877, 880, 889,
642 894, 890, 922, 896, 905, 897, 911, 937, 907, 934,
643 945, 935, 954, 967, 936, 952, 957, 962, 958, 978,
644 970, 963, 971, 983, 986, 995, 987, 1005, 1000, 998,
645
646 1007, 1011, 1004, 1020, 1015, 1003, 1019, 1025, 1032, 1038,
647 1035, 1029, 1044, 5006, 1048, 1033, 1053, 1059, 1046, 5006,
648 1062, 1063, 1043, 1060, 1073, 1066, 1095, 1076, 1070, 1077,
649 1075, 1084, 1102, 1096, 1089, 1139, 1097, 1111, 1132, 1130,
650 1116, 1114, 1121, 1148, 1135, 1141, 1143, 1142, 1129, 1166,
651 1170, 1162, 1168, 1180, 1190, 1175, 1173, 1186, 1188, 1194,
652 1189, 1192, 1200, 1197, 1202, 1206, 1238, 1223, 1220, 1235,
653 1213, 1237, 1241, 1246, 1224, 1239, 1249, 1247, 1250, 1243,
654 1240, 1259, 1251, 1255, 1276, 1289, 1267, 1277, 1262, 1283,
655 1294, 1296, 1293, 1286, 1302, 1312, 1318, 1305, 1308, 1306,
656
657 1334, 1326, 1320, 1329, 1335, 1339, 1341, 1348, 1347, 1354,
658 1350, 1373, 1382, 1361, 1352, 1370, 1362, 1365, 1366, 1374,
659 1392, 1375, 1389, 1387, 1393, 1399, 1398, 1412, 1402, 1411,
660 1410, 1414, 1409, 1421, 1420, 1419, 1436, 1440, 1447, 1432,
661 1446, 1449, 1442, 1455, 1459, 1461, 1454, 1489, 1457, 5006,
662 1468, 1474, 1479, 1476, 1488, 1481, 1482, 1530, 5006, 1485,
663 5006, 5006, 1487, 5006, 5006, 1501, 1505, 1493, 1517, 1579,
664 1514, 1518, 1523, 1526, 1533, 1540, 1550, 1528, 1557, 1562,
665 1563, 1569, 1567, 1574, 1592, 1601, 1584, 1585, 1577, 1605,
666 1534, 1544, 1613, 1611, 1614, 1615, 1618, 1626, 1627, 1621,
667
668 1625, 1639, 1628, 5006, 1637, 1648, 1642, 1658, 1650, 1668,
669 5006, 1641, 1667, 1649, 1660, 1666, 1664, 1673, 1677, 1678,
670 1683, 1692, 1676, 1706, 1693, 1700, 1720, 1722, 1717, 1705,
671 1718, 1726, 1715, 1733, 1729, 1732, 1719, 1725, 1747, 1746,
672 1750, 1754, 1740, 1764, 1751, 1745, 1757, 1756, 1801, 1782,
673 1760, 1763, 1765, 1784, 1791, 1794, 1796, 1799, 1815, 1819,
674 1811, 1813, 1829, 1839, 1823, 1847, 1842, 1831, 1850, 1856,
675 1858, 1857, 1852, 1851, 1869, 1867, 1872, 5006, 1875, 1887,
676 1874, 1884, 1899, 1879, 1889, 1900, 1891, 1902, 1892, 1894,
677 1913, 1917, 5006, 1911, 1915, 1926, 1918, 1938, 1942, 1919,
678
679 1950, 1952, 5006, 1956, 1957, 1959, 1944, 1939, 1953, 1960,
680 1955, 1967, 1970, 1986, 1977, 1989, 1996, 1997, 1980, 2002,
681 1983, 1990, 1988, 1999, 2013, 2016, 2019, 2011, 2020, 2015,
682 2034, 2038, 2029, 2049, 2032, 2036, 2040, 120, 2035, 2046,
683 2041, 2045, 5006, 76, 2061, 2042, 2054, 2087, 2089, 2081,
684 2085, 2077, 2078, 2088, 2079, 2076, 2083, 2080, 2096, 2082,
685 2105, 2104, 2127, 2125, 2122, 2119, 2131, 2117, 2132, 2137,
686 2120, 2138, 2121, 2146, 2136, 2156, 2159, 2168, 2164, 2160,
687 2157, 2162, 2182, 2166, 2165, 2187, 5006, 2186, 2183, 2191,
688 2184, 2189, 2229, 2200, 2216, 2207, 2213, 2232, 2234, 2225,
689
690 2228, 2236, 2239, 2240, 2224, 2223, 2243, 2246, 2249, 2265,
691 2268, 2247, 5006, 2267, 2263, 2261, 2287, 2266, 2270, 2283,
692 2285, 2290, 2275, 2301, 2288, 2319, 5006, 2317, 2316, 2304,
693 2322, 2305, 2324, 2328, 2329, 2314, 2331, 2330, 2332, 2339,
694 2327, 2347, 2335, 5006, 2343, 2372, 2366, 2377, 2367, 2356,
695 2368, 2378, 2361, 2359, 2388, 2387, 2365, 2384, 2373, 2389,
696 2393, 2394, 2404, 2405, 2402, 2421, 5006, 2439, 2415, 2428,
697 2431, 2416, 2442, 2423, 2434, 2437, 2441, 2444, 2454, 2447,
698 2450, 2469, 2457, 2460, 2464, 2461, 2480, 2463, 2488, 2491,
699 2494, 2483, 2502, 2489, 2506, 2487, 2514, 2517, 2521, 2522,
700
701 5006, 2524, 2509, 2525, 2518, 2515, 2547, 2537, 2536, 2539,
702 2541, 2543, 2550, 2544, 2546, 2553, 2557, 2559, 2561, 2560,
703 2564, 2568, 2585, 2589, 2584, 2591, 2607, 5006, 2594, 2598,
704 2596, 2606, 2595, 2608, 5006, 2611, 5006, 2625, 2618, 2635,
705 5006, 2632, 5006, 2639, 5006, 2640, 2646, 2633, 2624, 2636,
706 2653, 2654, 2644, 2641, 2663, 2656, 2668, 2680, 2667, 2660,
707 5006, 2671, 2683, 2681, 2688, 2692, 2694, 2690, 2698, 2700,
708 2696, 2676, 2710, 2704, 2708, 2732, 2727, 5006, 2716, 2735,
709 2726, 2724, 2752, 2746, 2729, 2739, 2742, 2725, 2761, 2772,
710 2775, 2760, 2762, 2763, 2779, 2790, 2769, 2788, 2780, 2789,
711
712 2777, 2798, 2803, 2786, 2797, 2799, 2802, 2808, 2811, 2813,
713 5006, 2827, 2822, 2826, 2835, 2825, 5006, 5006, 2842, 2840,
714 2846, 2849, 2839, 2853, 2870, 2854, 2850, 2856, 2864, 2873,
715 2867, 2874, 2862, 2875, 2894, 2880, 2898, 2904, 2915, 2890,
716 5006, 2902, 2910, 2914, 2912, 2906, 2920, 2921, 2935, 5006,
717 5006, 2932, 2923, 2925, 2930, 2960, 2942, 2946, 5006, 2948,
718 2962, 2967, 2969, 2973, 2970, 2954, 2965, 2982, 2976, 2981,
719 2971, 2999, 2993, 3006, 3001, 2996, 3010, 3018, 3019, 3021,
720 5006, 3015, 3025, 3017, 3026, 3023, 3035, 3039, 3050, 3048,
721 3040, 3046, 3036, 3038, 3051, 3049, 3044, 3069, 3059, 3080,
722
723 3083, 3081, 3093, 3087, 5006, 3096, 3076, 3097, 3073, 3101,
724 3103, 3106, 3122, 3091, 3095, 3099, 3102, 3118, 3105, 3121,
725 3126, 3117, 5006, 3131, 3150, 3142, 3144, 3143, 3129, 3158,
726 3146, 3149, 5006, 3170, 3164, 3160, 3174, 3183, 3184, 3179,
727 3173, 3178, 3191, 3177, 3186, 3197, 3199, 3200, 3208, 3203,
728 3220, 3228, 3221, 3231, 3213, 3224, 3246, 3233, 3249, 3247,
729 3226, 3242, 3248, 3245, 3258, 3251, 3241, 3271, 3255, 3274,
730 3268, 5006, 3283, 3287, 3291, 3292, 3276, 3293, 3289, 3300,
731 3302, 5006, 3303, 5006, 3285, 5006, 3305, 3309, 3314, 3313,
732 3310, 3312, 3321, 3337, 3275, 3329, 5006, 3345, 3332, 3338,
733
734 3344, 5006, 3351, 5006, 5006, 3339, 3348, 3349, 3365, 3359,
735 3361, 3367, 5006, 3372, 3371, 3384, 3374, 3375, 3381, 3388,
736 3392, 3380, 3394, 3397, 5006, 3398, 3411, 3408, 3407, 5006,
737 3415, 3405, 3410, 3423, 3431, 3434, 3440, 3430, 3427, 3450,
738 3444, 5006, 3432, 3438, 3462, 3453, 3461, 3473, 3459, 3480,
739 3458, 3475, 3488, 3474, 3486, 5006, 3489, 3491, 5006, 3479,
740 3485, 3477, 5006, 3497, 5006, 3516, 3511, 3502, 3519, 3531,
741 3524, 3534, 3517, 3535, 3532, 3529, 3540, 3544, 3521, 5006,
742 5006, 3545, 3538, 3550, 3556, 3558, 3555, 3571, 3575, 5006,
743 3553, 3581, 3564, 3574, 3583, 3572, 3577, 3592, 3591, 3579,
744
745 3602, 3585, 3604, 5006, 3601, 3603, 3606, 3605, 3628, 3614,
746 5006, 3609, 3634, 3629, 3630, 3632, 3638, 3643, 3646, 3636,
747 3647, 3648, 3658, 3641, 3677, 3678, 3661, 5006, 3674, 3681,
748 3663, 3683, 3666, 3685, 3686, 3698, 3692, 3675, 3695, 5006,
749 3673, 3688, 3693, 3717, 3708, 3728, 3705, 3732, 3720, 3722,
750 3735, 3711, 3724, 3718, 3738, 3742, 3741, 3744, 3758, 3746,
751 3748, 5006, 3754, 5006, 3767, 3777, 3786, 3782, 5006, 3773,
752 3780, 5006, 3775, 5006, 3790, 3792, 3801, 3795, 5006, 3796,
753 3784, 3805, 3800, 3815, 3807, 3830, 5006, 3832, 3834, 3808,
754 3833, 3820, 3827, 3839, 3824, 3845, 3849, 3846, 5006, 3853,
755
756 3857, 3859, 3866, 3873, 5006, 5006, 3877, 5006, 5006, 5006,
757 3881, 5006, 5006, 3880, 3882, 5006, 3883, 5006, 3891, 3887,
758 3876, 3868, 3889, 5006, 3897, 5006, 3895, 3893, 3898, 5006,
759 3899, 5006, 3901, 3921, 3915, 3922, 3930, 3931, 3932, 3924,
760 3916, 3925, 3933, 3935, 3939, 3926, 3941, 3956, 3943, 3955,
761 3954, 3952, 3963, 3960, 3958, 3979, 3981, 3988, 3989, 5006,
762 5006, 3971, 3982, 3990, 3994, 3992, 4002, 4005, 3998, 5006,
763 3993, 4015, 4003, 4016, 4017, 4018, 4030, 4021, 4033, 4038,
764 4029, 4037, 4034, 4039, 5006, 4049, 5006, 5006, 4050, 4051,
765 4055, 4056, 4057, 5006, 4065, 4072, 4074, 5006, 4085, 4081,
766
767 4088, 4089, 5006, 5006, 5006, 4090, 4082, 4084, 4098, 4101,
768 4086, 4099, 5006, 4095, 4114, 4116, 4108, 4124, 4129, 4140,
769 4133, 4139, 4142, 5006, 5006, 4144, 4141, 4147, 4146, 4134,
770 4150, 4148, 4151, 5006, 4154, 4165, 4173, 4161, 4178, 4188,
771 4182, 5006, 4174, 4175, 4177, 4194, 4190, 4198, 4200, 4201,
772 5006, 4202, 4217, 4192, 5006, 4223, 5006, 4212, 5006, 5006,
773 4216, 4231, 4234, 4240, 4241, 4242, 4227, 4233, 4235, 4246,
774 4244, 5006, 5006, 4243, 4256, 5006, 5006, 4260, 4261, 4262,
775 4259, 4267, 4255, 4265, 4282, 4272, 4294, 4296, 4269, 4293,
776 4283, 4274, 4304, 4299, 4308, 5006, 4311, 5006, 4315, 4302,
777
778 4312, 4323, 4321, 4327, 5006, 4335, 4325, 4320, 5006, 5006,
779 5006, 4346, 4348, 4347, 5006, 4352, 4358, 4350, 4359, 4360,
780 4363, 4362, 4341, 4369, 5006, 4372, 4373, 4382, 4394, 4386,
781 4385, 4383, 4396, 4400, 4390, 4403, 4387, 4411, 4414, 5006,
782 4420, 4415, 4423, 4412, 4418, 4434, 4436, 4425, 4437, 4428,
783 4454, 4445, 4438, 4451, 4441, 4463, 4452, 4466, 5006, 4473,
784 4455, 5006, 4472, 4475, 4481, 4480, 4488, 4491, 4487, 5006,
785 4494, 5006, 4497, 5006, 4495, 4496, 4503, 4501, 5006, 5006,
786 4502, 4509, 4507, 5006, 4515, 4499, 4513, 4519, 4526, 4524,
787 4522, 5006, 5006, 4521, 4550, 4552, 4551, 5006, 5006, 5006,
788
789 4556, 5006, 4553, 5006, 4546, 5006, 4559, 4548, 5006, 4547,
790 4561, 4564, 4542, 4566, 4568, 4571, 4580, 4577, 4597, 5006,
791 5006, 4599, 5006, 4600, 4601, 5006, 4590, 4604, 5006, 5006,
792 4610, 4595, 4606, 4594, 4607, 4603, 5006, 5006, 5006, 5006,
793 4614, 4615, 4626, 4624, 4629, 4628, 4623, 4634, 4654, 4650,
794 4652, 4653, 4638, 4645, 4668, 4655, 5006, 4673, 4664, 4671,
795 4672, 4675, 4665, 4674, 4680, 4684, 4691, 4695, 4687, 4692,
796 4707, 4690, 4722, 4720, 4721, 4724, 4713, 4717, 4727, 4730,
797 4719, 4736, 4745, 4739, 4747, 5006, 4756, 4743, 4748, 4763,
798 4741, 4766, 4754, 4777, 4779, 4781, 4784, 4782, 4792, 4788,
799
800 4789, 4783, 4794, 4793, 5006, 4809, 4819, 4798, 4808, 4829,
801 4813, 4815, 4836, 4831, 4826, 4838, 4843, 4840, 5006, 4844,
802 5006, 5006, 4845, 4854, 4856, 4852, 4855, 5006, 5006, 5006,
803 4914, 4921, 4928, 4935, 4942, 82, 4949, 4956, 4963, 4970,
804 4977, 4984, 4991, 4998
619 197, 166, 241, 225, 260, 233, 164, 257, 116, 343,
620 5065, 5065, 5065, 94, 331, 5065, 5065, 5065, 96, 329,
621 301, 5065, 5065, 5065, 249, 263, 5065, 5065, 5065, 102,
622 254, 5065, 304, 5065, 206, 279, 221, 308, 111, 0,
623 319, 0, 0, 201, 170, 268, 302, 237, 296, 301,
624 298, 227, 303, 308, 306, 297, 309, 323, 330, 333,
625 312, 349, 346, 332, 358, 359, 340, 357, 368, 367,
626
627 375, 370, 379, 360, 382, 399, 387, 407, 391, 393,
628 395, 402, 404, 406, 425, 429, 427, 418, 426, 437,
629 444, 452, 435, 443, 210, 159, 205, 169, 141, 488,
630 165, 122, 174, 115, 497, 503, 0, 208, 472, 464,
631 482, 478, 481, 487, 490, 505, 507, 476, 508, 552,
632 514, 492, 513, 493, 517, 520, 509, 536, 542, 504,
633 548, 567, 538, 543, 550, 563, 586, 571, 580, 575,
634 578, 598, 601, 605, 597, 593, 602, 590, 609, 599,
635 614, 607, 623, 620, 639, 624, 634, 631, 635, 616,
636 647, 660, 645, 651, 656, 674, 672, 667, 673, 670,
637
638 668, 679, 683, 681, 678, 680, 694, 684, 701, 713,
639 439, 716, 721, 707, 703, 724, 728, 726, 730, 719,
640 736, 734, 742, 738, 729, 746, 755, 751, 753, 766,
641 754, 763, 780, 774, 776, 769, 778, 779, 795, 797,
642 815, 449, 807, 803, 804, 802, 812, 825, 827, 839,
643 826, 816, 829, 830, 831, 855, 858, 848, 853, 856,
644 837, 866, 852, 850, 876, 867, 883, 890, 930, 880,
645 900, 893, 892, 897, 896, 888, 898, 908, 925, 935,
646 910, 927, 937, 934, 952, 948, 785, 936, 954, 966,
647 971, 963, 980, 969, 972, 979, 991, 989, 998, 995,
648
649 962, 997, 1006, 1007, 1012, 992, 1019, 1027, 1015, 1029,
650 1014, 1039, 1044, 1035, 1028, 1047, 5065, 1050, 1031, 1053,
651 1055, 1063, 1057, 5065, 1065, 1066, 1046, 1072, 1084, 1087,
652 1098, 1079, 1078, 1080, 1099, 1094, 1110, 1102, 1104, 1150,
653 1112, 1117, 1138, 1137, 1121, 1119, 1127, 1134, 1142, 1159,
654 1148, 1153, 1160, 1168, 1165, 1162, 1179, 1184, 1195, 1185,
655 1178, 1189, 1199, 1204, 1198, 1201, 1211, 1203, 1216, 1217,
656 1239, 1229, 1220, 1227, 1221, 1232, 1249, 1254, 1230, 1247,
657 1257, 1259, 1258, 1248, 1244, 1269, 1263, 1256, 1290, 1272,
658 1274, 1280, 1276, 1278, 1279, 1300, 1303, 1297, 1306, 1296,
659
660 1301, 1319, 1316, 1315, 1329, 1331, 1323, 1320, 1348, 1346,
661 1349, 1350, 1364, 1344, 1358, 1353, 1363, 1369, 1365, 1368,
662 1370, 1356, 1380, 1383, 1384, 1382, 1379, 1385, 1399, 1401,
663 1407, 1403, 1418, 1420, 1394, 1428, 1421, 1423, 1425, 1429,
664 1430, 1432, 1448, 1449, 1440, 1434, 1461, 1457, 1467, 1474,
665 1469, 1462, 1478, 1481, 5065, 1482, 1488, 1491, 1468, 1485,
666 1484, 1496, 1544, 5065, 1501, 5065, 5065, 1507, 5065, 5065,
667 1518, 1519, 1528, 1495, 1593, 1530, 1513, 1512, 1538, 1533,
668 1540, 1560, 1554, 1571, 1574, 1581, 1583, 1562, 1587, 1599,
669 1590, 1588, 1598, 1614, 1623, 1511, 1546, 1625, 1629, 1632,
670
671 1634, 1618, 1626, 1630, 1641, 1644, 1639, 1548, 1646, 5065,
672 1645, 1648, 1656, 1675, 1662, 1679, 5065, 1659, 1683, 1664,
673 1673, 1672, 1678, 1686, 1692, 1700, 1689, 1702, 1687, 1720,
674 1704, 1716, 1652, 1736, 1729, 1715, 1725, 1735, 1723, 1738,
675 1745, 1743, 1731, 1741, 1752, 1755, 1759, 1769, 1762, 1770,
676 1761, 1760, 1764, 1763, 1809, 1788, 1779, 1797, 1801, 1808,
677 1815, 1817, 1796, 1811, 1845, 1827, 1834, 1841, 1837, 1840,
678 1807, 1868, 1843, 1858, 1852, 1853, 1870, 1878, 1873, 1872,
679 1885, 1884, 1887, 5065, 1892, 1899, 1888, 1893, 1911, 1890,
680 1908, 1913, 1918, 1920, 1903, 1914, 1930, 1931, 5065, 1927,
681
682 1926, 1933, 1951, 1954, 1957, 1952, 1941, 1936, 1963, 5065,
683 1974, 1981, 1964, 1945, 1972, 1973, 1977, 1975, 1990, 1992,
684 1999, 1994, 2000, 1998, 2002, 2012, 2013, 2017, 2009, 2014,
685 2018, 2037, 2041, 2029, 2045, 2038, 2039, 2054, 2056, 2044,
686 2053, 2058, 2065, 2055, 120, 2066, 2061, 2068, 2064, 5065,
687 76, 2076, 2081, 2078, 2103, 2104, 2097, 2105, 2093, 2095,
688 2108, 2100, 2099, 2106, 2119, 2101, 2123, 2133, 2124, 2142,
689 2147, 2146, 2135, 2151, 2137, 2148, 2156, 2140, 2158, 2168,
690 2173, 2180, 2176, 2178, 2165, 2182, 2179, 2175, 2183, 2202,
691 2197, 2195, 2204, 5065, 2221, 2205, 2203, 2206, 2222, 2241,
692
693 2217, 2233, 2230, 2238, 2249, 2250, 2253, 2254, 2255, 2257,
694 2262, 2261, 2246, 2273, 2276, 2274, 2283, 2281, 2291, 2285,
695 5065, 2294, 2289, 2293, 2309, 2301, 2308, 2305, 2316, 2319,
696 2314, 2307, 2318, 2329, 5065, 2341, 2342, 2331, 2348, 2332,
697 2349, 2346, 2353, 2335, 2356, 2357, 2358, 2366, 2354, 2364,
698 2379, 5065, 2391, 2393, 2390, 2400, 2389, 2382, 2392, 2402,
699 2384, 2385, 2409, 2412, 2387, 2411, 2397, 2420, 2413, 2416,
700 2419, 2439, 2422, 2446, 5065, 2456, 2448, 2447, 2452, 2449,
701 2462, 2461, 2458, 2467, 2471, 2473, 2472, 2475, 2460, 2499,
702 2483, 2487, 2481, 2490, 2494, 2492, 2507, 2508, 2518, 2498,
703
704 2520, 2522, 2521, 2519, 2526, 2545, 2548, 2550, 5065, 2552,
705 2539, 2554, 2541, 2542, 2574, 2560, 2544, 2546, 2567, 2564,
706 2570, 2584, 2577, 2579, 2580, 2581, 2575, 2588, 2590, 2594,
707 2601, 2607, 2610, 2606, 2615, 2629, 5065, 2618, 2630, 2639,
708 2643, 2632, 2622, 5065, 2636, 5065, 2645, 2659, 2657, 5065,
709 2655, 5065, 2661, 5065, 2664, 2668, 2658, 2651, 2666, 2678,
710 2674, 2690, 2672, 2696, 2682, 2687, 2702, 2693, 2703, 5065,
711 2695, 2701, 2710, 2716, 2707, 2724, 2709, 2726, 2730, 2736,
712 2751, 2729, 2754, 2738, 2755, 2756, 5065, 2734, 2759, 2757,
713 2747, 2774, 2768, 2761, 2763, 2770, 2773, 2788, 2807, 2804,
714
715 2790, 2787, 2789, 2815, 2814, 2799, 2816, 2811, 2818, 2810,
716 2819, 2824, 2813, 2840, 2843, 2833, 2837, 2838, 2832, 5065,
717 2863, 2846, 2855, 2860, 2859, 5065, 5065, 2874, 2873, 2886,
718 2865, 2884, 2878, 2895, 2885, 2882, 2898, 2890, 2901, 2888,
719 2902, 2911, 2905, 2908, 2918, 2920, 2922, 2941, 2939, 2934,
720 5065, 2943, 2937, 2944, 2953, 2938, 2964, 2949, 2978, 5065,
721 5065, 2965, 2961, 2966, 2971, 2976, 2979, 2986, 5065, 2982,
722 2992, 2989, 3005, 3007, 2988, 3003, 3013, 3018, 3006, 3029,
723 3015, 3023, 3019, 3045, 3031, 3030, 3046, 3044, 3056, 3049,
724 5065, 3042, 3060, 3054, 3062, 3055, 3065, 3053, 3069, 3075,
725
726 3078, 3073, 3085, 3094, 3082, 3080, 3086, 3108, 3090, 3114,
727 3116, 3115, 3122, 3117, 5065, 3126, 3105, 3131, 3104, 3128,
728 3133, 3140, 3150, 3118, 3132, 3146, 3143, 3127, 3151, 3145,
729 3167, 3154, 5065, 3173, 3176, 3165, 3178, 3177, 3161, 3196,
730 3184, 3190, 5065, 3194, 3212, 3195, 3209, 3222, 3202, 3214,
731 3211, 3205, 3218, 3224, 3213, 3208, 3243, 3233, 3236, 3235,
732 3247, 3256, 3259, 3257, 3264, 3245, 3262, 3260, 3267, 3285,
733 3282, 3270, 3278, 3283, 3286, 3284, 3287, 3277, 3305, 3294,
734 3310, 3295, 5065, 3315, 3319, 3308, 3324, 3311, 3321, 3323,
735 3330, 3332, 5065, 3334, 5065, 3337, 5065, 3340, 3333, 3342,
736
737 3344, 3338, 3351, 3368, 3369, 3348, 3359, 5065, 3376, 3363,
738 3375, 3378, 5065, 3382, 5065, 5065, 3379, 3371, 3395, 3390,
739 3391, 3408, 3393, 5065, 3406, 3396, 3423, 3417, 3404, 3415,
740 3418, 3420, 3414, 3419, 3428, 5065, 3431, 3447, 3442, 3452,
741 5065, 3450, 3438, 3441, 3457, 3468, 3466, 3473, 3454, 3463,
742 3477, 3475, 3474, 5065, 3484, 3492, 3485, 3481, 3493, 3490,
743 3509, 3516, 3510, 3512, 3523, 3517, 3515, 5065, 3529, 3530,
744 5065, 3519, 3511, 3539, 5065, 3541, 5065, 3554, 3548, 3540,
745 3561, 3564, 3562, 3569, 3553, 3573, 3574, 3580, 3576, 3575,
746 3558, 5065, 5065, 3584, 3585, 3586, 3607, 3597, 3596, 3590,
747
748 3615, 5065, 3591, 3620, 3603, 3604, 3622, 3610, 3613, 3632,
749 3634, 3618, 3639, 3624, 3643, 5065, 3640, 3645, 3649, 3637,
750 3661, 3653, 5065, 3648, 3654, 3665, 3672, 3666, 3681, 3683,
751 3687, 3684, 3691, 3694, 3698, 3685, 3702, 3703, 3688, 5065,
752 3711, 3717, 3700, 3720, 3705, 3722, 3730, 3725, 3735, 3721,
753 3718, 3739, 5065, 3731, 3744, 3738, 3740, 3751, 3756, 3746,
754 3760, 3765, 3763, 3771, 3752, 3767, 3764, 3779, 3778, 3773,
755 3786, 3794, 3800, 3806, 5065, 3796, 5065, 3805, 3817, 3819,
756 3825, 5065, 3809, 3820, 5065, 3827, 5065, 3828, 3833, 3822,
757 3830, 5065, 3840, 3836, 3847, 3852, 3845, 3843, 3867, 5065,
758
759 3869, 3875, 3871, 3876, 3860, 3870, 3879, 3865, 3877, 3892,
760 3887, 5065, 3874, 3894, 3917, 3907, 3914, 5065, 5065, 3921,
761 5065, 5065, 5065, 3918, 5065, 5065, 3919, 3923, 5065, 3925,
762 5065, 3931, 3927, 3913, 3908, 3932, 5065, 3926, 3933, 5065,
763 3935, 3943, 3948, 5065, 3939, 5065, 3942, 3965, 3954, 3966,
764 3972, 3973, 3976, 3970, 3959, 3975, 3979, 3984, 3978, 3981,
765 3980, 4003, 3989, 3993, 4004, 3995, 4007, 4006, 4005, 4020,
766 4030, 4026, 4029, 5065, 5065, 4016, 4023, 4033, 4018, 4040,
767 4039, 4043, 4057, 5065, 4037, 4060, 4064, 4062, 4054, 4056,
768 4063, 4073, 4075, 4082, 4076, 4078, 4088, 4090, 5065, 4089,
769
770 5065, 5065, 4091, 4109, 4095, 4098, 4096, 4120, 5065, 4122,
771 4127, 4115, 5065, 4129, 4125, 4130, 4131, 5065, 5065, 5065,
772 4132, 4121, 4136, 4141, 4156, 4147, 4142, 5065, 4149, 4157,
773 4160, 4152, 4175, 4178, 4184, 4176, 4182, 4185, 5065, 5065,
774 4190, 4191, 4192, 4187, 4183, 4193, 4194, 4188, 5065, 4203,
775 4186, 4216, 4223, 4225, 4235, 4228, 5065, 4219, 4220, 4222,
776 4239, 4233, 4244, 4243, 4248, 5065, 4245, 4260, 4270, 4261,
777 5065, 4256, 5065, 4258, 5065, 5065, 4259, 4281, 4286, 4277,
778 4290, 4291, 4275, 4278, 4298, 4295, 4303, 5065, 5065, 4304,
779 4300, 5065, 5065, 4294, 4309, 4297, 4306, 4318, 4323, 4316,
780
781 4320, 4321, 4343, 4345, 4333, 4324, 4334, 4331, 4355, 4348,
782 4358, 5065, 4360, 5065, 4347, 4352, 4362, 4371, 4373, 4356,
783 4377, 5065, 4385, 4387, 4376, 5065, 5065, 5065, 4392, 4405,
784 4393, 5065, 4403, 4400, 4390, 4395, 4413, 4407, 4415, 4414,
785 4423, 5065, 4419, 4429, 4431, 4443, 4440, 4432, 4434, 4446,
786 4450, 4436, 4451, 4441, 4457, 4459, 5065, 4469, 4452, 4465,
787 4482, 4471, 4468, 4493, 4494, 4478, 4489, 4480, 4502, 4491,
788 4484, 4508, 4487, 4512, 4505, 4519, 5065, 4525, 4507, 5065,
789 4531, 4524, 4532, 4541, 4542, 4543, 4539, 5065, 4545, 5065,
790 4546, 5065, 4548, 4540, 4551, 4555, 4552, 5065, 5065, 4553,
791
792 4556, 4571, 5065, 4572, 4573, 4568, 4574, 4575, 4570, 4584,
793 5065, 5065, 4587, 4594, 4596, 4601, 5065, 5065, 5065, 4606,
794 5065, 4604, 5065, 4609, 4610, 5065, 4615, 4611, 5065, 4612,
795 4622, 4625, 4602, 4628, 4619, 4636, 4639, 4629, 4645, 5065,
796 5065, 4647, 5065, 4650, 5065, 4658, 5065, 4649, 4659, 5065,
797 5065, 4663, 4651, 4657, 4654, 4664, 4653, 5065, 5065, 5065,
798 5065, 4675, 4674, 4670, 4676, 4680, 4677, 4686, 4690, 4699,
799 4703, 4709, 4710, 4691, 4704, 4727, 4720, 5065, 4713, 4725,
800 4731, 4733, 4721, 4732, 4730, 4736, 4737, 4738, 4740, 4747,
801 4763, 4764, 4754, 4774, 4765, 4777, 4779, 4767, 4783, 4785,
802
803 4780, 4789, 4796, 4792, 4798, 4805, 5065, 4794, 4801, 4803,
804 4811, 4826, 4828, 4810, 4830, 4835, 4834, 4841, 4840, 4843,
805 4845, 4857, 4846, 4866, 4850, 5065, 4873, 4875, 4855, 4862,
806 4882, 4868, 4884, 4889, 4885, 4892, 4888, 4894, 4897, 5065,
807 4901, 5065, 5065, 4908, 4910, 4915, 4918, 4920, 5065, 5065,
808 5065, 4973, 4980, 4987, 4994, 5001, 82, 5008, 5015, 5022,
809 5029, 5036, 5043, 5050, 5057
805810 } ;
806811
807 static yyconst flex_int16_t yy_def[1745] =
812 static yyconst flex_int16_t yy_def[1766] =
808813 { 0,
809 1730, 1, 1731, 1731, 1732, 1732, 1733, 1733, 1734, 1734,
810 1735, 1735, 1730, 1736, 1730, 1730, 1730, 1730, 1737, 1736,
811 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
812 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1738,
813 1730, 1730, 1730, 1738, 1739, 1730, 1730, 1730, 1739, 1740,
814 1730, 1730, 1730, 1730, 1740, 1741, 1730, 1730, 1730, 1741,
815 1742, 1730, 1743, 1730, 1742, 1742, 1736, 1736, 1730, 1744,
816 1737, 1744, 1737, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
817 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
818 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
819
820 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
821 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
822 1736, 1736, 1736, 1738, 1738, 1739, 1739, 1740, 1740, 1730,
823 1741, 1741, 1742, 1742, 1743, 1743, 1742, 1736, 1736, 1736,
824 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
825 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
826 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
827 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
828 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
829 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1736, 1736, 1736,
830
831 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
832 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
833 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
834 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
835 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
836 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
837 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1736,
838 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
839 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
840 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
841
842 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
843 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1730,
844 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
845 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
846 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
847 1736, 1736, 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1736,
848 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
849 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
850 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
851 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
852
853 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
854 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
855 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
856 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
857 1736, 1736, 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1730,
858 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
859 1730, 1730, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
860 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
861 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
862 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
863
864 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
865 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
866 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
867 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
868 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
869 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
870 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
871 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
872 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
873 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
874
875 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
876 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
877 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
878 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
879 1736, 1736, 1730, 1742, 1736, 1736, 1736, 1736, 1736, 1736,
880 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
881 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
882 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
883 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
884 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
885
886 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
887 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
888 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
889 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
890 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
891 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
892 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
893 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
894 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
895 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
896
897 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
898 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
899 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
900 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736,
901 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
902 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
903 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
904 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
905 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
906 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
907
908 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
909 1730, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 1736, 1736,
910 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
911 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
912 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
913 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
914 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
915 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
916 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
917 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
918
919 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
920 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
921 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
922 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
923 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
924 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
925 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
926 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
927 1736, 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736,
928 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
929
930 1736, 1730, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
931 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
932 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1730,
933 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
934 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
935 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1730, 1736,
936 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
937 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
938 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
939 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
940
941 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
942 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
943 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
944 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
945 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
946 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
947 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1736,
948 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1736,
949 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
950 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
951
952 1736, 1736, 1736, 1736, 1730, 1730, 1736, 1730, 1730, 1730,
953 1736, 1730, 1730, 1736, 1736, 1730, 1736, 1730, 1736, 1736,
954 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1730,
955 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
956 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
957 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
958 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
959 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
960 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1730, 1736, 1736,
961 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1730, 1736, 1736,
962
963 1736, 1736, 1730, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
964 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
965 1736, 1736, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
966 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
967 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
968 1730, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1730, 1730,
969 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
970 1736, 1730, 1730, 1736, 1736, 1730, 1730, 1736, 1736, 1736,
971 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
972 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736,
973
974 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1730, 1730,
975 1730, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
976 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
977 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
978 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
979 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
980 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
981 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1730,
982 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
983 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1730, 1730, 1730,
984
985 1736, 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1730, 1736,
986 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
987 1730, 1736, 1730, 1736, 1736, 1730, 1736, 1736, 1730, 1730,
988 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 1730, 1730,
989 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
990 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
991 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
992 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
993 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736,
994 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
995
996 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
997 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
998 1730, 1730, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 0,
999 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1000 1730, 1730, 1730, 1730
814 1751, 1, 1752, 1752, 1753, 1753, 1754, 1754, 1755, 1755,
815 1756, 1756, 1751, 1757, 1751, 1751, 1751, 1751, 1758, 1757,
816 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
817 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1759,
818 1751, 1751, 1751, 1759, 1760, 1751, 1751, 1751, 1760, 1761,
819 1751, 1751, 1751, 1751, 1761, 1762, 1751, 1751, 1751, 1762,
820 1763, 1751, 1764, 1751, 1763, 1763, 1757, 1757, 1751, 1765,
821 1758, 1765, 1758, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
822 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
823 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
824
825 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
826 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
827 1757, 1757, 1757, 1757, 1759, 1759, 1760, 1760, 1761, 1761,
828 1751, 1762, 1762, 1763, 1763, 1764, 1764, 1763, 1757, 1757,
829 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
830 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
831 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
832 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
833 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
834 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757,
835
836 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
837 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
838 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
839 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
840 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
841 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
842 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
843 1757, 1763, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
844 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
845 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
846
847 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
848 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
849 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
850 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
851 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
852 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757, 1757,
853 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
854 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
855 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
856 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
857
858 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
859 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
860 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
861 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
862 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757,
863 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
864 1757, 1757, 1757, 1751, 1757, 1751, 1751, 1757, 1751, 1751,
865 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
866 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
867 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
868
869 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
870 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
871 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
872 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
873 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757, 1757,
874 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
875 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
876 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
877 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
878 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
879
880 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
881 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
882 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
883 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
884 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
885 1763, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
886 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
887 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
888 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
889 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
890
891 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
892 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
893 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
894 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
895 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
896 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
897 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
898 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
899 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
900 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
901
902 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
903 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
904 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
905 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
906 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1751,
907 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
908 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
909 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
910 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
911 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
912
913 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
914 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
915 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757, 1757, 1757,
916 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
917 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
918 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
919 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
920 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
921 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
922 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
923
924 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
925 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
926 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
927 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
928 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
929 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
930 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
931 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
932 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
933 1757, 1757, 1751, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
934
935 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
936 1757, 1757, 1751, 1757, 1751, 1751, 1757, 1757, 1757, 1757,
937 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
938 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
939 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
940 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
941 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
942 1751, 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
943 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
944 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
945
946 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
947 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
948 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
949 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
950 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
951 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
952 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
953 1757, 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
954 1757, 1751, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
955 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
956
957 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
958 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757,
959 1751, 1751, 1751, 1757, 1751, 1751, 1757, 1757, 1751, 1757,
960 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1751,
961 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1757,
962 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
963 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
964 1757, 1757, 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757,
965 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
966 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
967
968 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
969 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1751, 1751, 1751,
970 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
971 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1751,
972 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
973 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
974 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
975 1751, 1757, 1751, 1757, 1751, 1751, 1757, 1757, 1757, 1757,
976 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757,
977 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
978
979 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
980 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
981 1757, 1751, 1757, 1757, 1757, 1751, 1751, 1751, 1757, 1757,
982 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
983 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
984 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
985 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
986 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1751,
987 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1751,
988 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757,
989
990 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
991 1751, 1751, 1757, 1757, 1757, 1757, 1751, 1751, 1751, 1757,
992 1751, 1757, 1751, 1757, 1757, 1751, 1757, 1757, 1751, 1757,
993 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
994 1751, 1757, 1751, 1757, 1751, 1757, 1751, 1757, 1757, 1751,
995 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1751,
996 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
997 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
998 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
999 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
1000
1001 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
1002 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
1003 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
1004 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
1005 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1751,
1006 0, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
1007 1751, 1751, 1751, 1751, 1751
10011008 } ;
10021009
1003 static yyconst flex_int16_t yy_nxt[5072] =
1010 static yyconst flex_int16_t yy_nxt[5131] =
10041011 { 0,
10051012 14, 15, 16, 17, 18, 19, 18, 14, 14, 14,
10061013 14, 18, 20, 14, 21, 22, 23, 24, 14, 25,
10111018 38, 14, 14, 14, 14, 41, 42, 43, 41, 42,
10121019 43, 46, 47, 46, 47, 48, 87, 48, 51, 52,
10131020 53, 54, 67, 18, 51, 52, 53, 54, 68, 18,
1014 57, 58, 59, 57, 58, 59, 69, 124, 124, 126,
1015
1016 70, 44, 126, 87, 44, 131, 131, 49, 72, 49,
1017 72, 72, 69, 72, 134, 55, 70, 67, 72, 67,
1018 67, 55, 67, 85, 74, 75, 60, 67, 748, 60,
1021 57, 58, 59, 57, 58, 59, 69, 125, 125, 127,
1022
1023 70, 44, 127, 87, 44, 132, 132, 49, 72, 49,
1024 72, 72, 69, 72, 135, 55, 70, 67, 72, 67,
1025 67, 55, 67, 85, 74, 75, 60, 67, 756, 60,
10191026 15, 16, 17, 62, 63, 64, 15, 16, 17, 62,
10201027 63, 64, 76, 86, 94, 73, 68, 96, 68, 65,
1021 85, 74, 75, 134, 77, 65, 68, 88, 68, 68,
1022 132, 78, 124, 124, 95, 89, 130, 66, 79, 76,
1023 86, 94, 126, 66, 96, 126, 65, 131, 131, 129,
1024 68, 77, 65, 68, 88, 139, 68, 90, 78, 120,
1025 91, 95, 89, 97, 121, 79, 80, 92, 104, 93,
1028 85, 74, 75, 135, 77, 65, 68, 88, 68, 68,
1029 133, 78, 125, 125, 95, 89, 131, 66, 79, 76,
1030 86, 94, 127, 66, 96, 127, 65, 132, 132, 130,
1031 68, 77, 65, 68, 88, 140, 68, 90, 78, 121,
1032 91, 95, 89, 97, 122, 79, 80, 92, 104, 93,
10261033
10271034 81, 98, 68, 82, 68, 83, 84, 99, 68, 101,
1028 68, 100, 139, 102, 90, 127, 120, 91, 68, 68,
1029 97, 121, 281, 80, 92, 104, 93, 81, 98, 103,
1030 82, 125, 83, 84, 99, 68, 101, 105, 100, 128,
1031 102, 128, 128, 106, 128, 109, 107, 68, 117, 110,
1032 118, 68, 134, 108, 132, 68, 103, 161, 133, 111,
1033 133, 133, 112, 133, 105, 119, 130, 185, 113, 199,
1034 106, 68, 109, 107, 68, 117, 110, 118, 114, 138,
1035 108, 122, 115, 116, 137, 123, 111, 129, 68, 112,
1036 68, 72, 119, 72, 72, 113, 72, 134, 68, 128,
1037
1038 68, 128, 128, 68, 128, 114, 138, 68, 122, 115,
1039 116, 137, 123, 67, 140, 67, 67, 72, 67, 72,
1040 72, 68, 72, 67, 141, 143, 144, 72, 136, 145,
1041 147, 146, 149, 127, 68, 68, 125, 142, 148, 68,
1042 68, 140, 151, 152, 68, 156, 68, 68, 68, 150,
1043 68, 141, 143, 144, 73, 68, 145, 147, 146, 153,
1044 155, 157, 154, 68, 142, 148, 168, 68, 68, 151,
1045 152, 68, 156, 162, 68, 158, 150, 1730, 159, 68,
1046 169, 68, 167, 68, 163, 68, 153, 155, 157, 154,
1047 165, 1730, 160, 168, 166, 170, 171, 175, 172, 68,
1048
1049 162, 174, 158, 68, 164, 159, 68, 169, 68, 167,
1050 68, 163, 173, 1730, 68, 68, 1730, 165, 68, 160,
1051 68, 166, 170, 171, 175, 172, 68, 176, 174, 177,
1052 179, 164, 181, 178, 180, 182, 68, 68, 186, 173,
1053 183, 68, 208, 184, 191, 1730, 68, 68, 68, 187,
1054 68, 68, 68, 68, 176, 189, 177, 179, 192, 181,
1055 178, 180, 182, 190, 68, 186, 194, 183, 196, 188,
1056 184, 191, 195, 68, 68, 68, 187, 68, 197, 193,
1057 1730, 1730, 189, 68, 1730, 192, 198, 68, 68, 133,
1058 190, 133, 133, 194, 133, 196, 188, 200, 72, 195,
1059
1060 72, 72, 134, 72, 201, 197, 193, 202, 68, 68,
1061 203, 204, 205, 198, 207, 68, 1730, 206, 68, 209,
1062 1730, 217, 68, 68, 200, 216, 219, 218, 1730, 68,
1063 68, 201, 220, 222, 202, 136, 68, 203, 204, 221,
1064 210, 207, 227, 68, 206, 223, 68, 68, 217, 68,
1065 1730, 68, 216, 219, 218, 68, 228, 68, 1730, 220,
1066 222, 68, 224, 232, 68, 225, 221, 210, 211, 227,
1067 226, 1730, 223, 212, 230, 229, 231, 68, 213, 68,
1068 233, 68, 68, 228, 214, 215, 234, 68, 236, 224,
1069 239, 68, 225, 238, 68, 211, 235, 226, 237, 68,
1070
1071 212, 230, 229, 231, 240, 213, 68, 233, 241, 242,
1072 243, 214, 215, 1730, 244, 245, 68, 68, 1730, 68,
1073 238, 68, 68, 235, 246, 237, 68, 247, 248, 1730,
1074 68, 240, 68, 256, 249, 68, 250, 243, 252, 68,
1075 68, 244, 245, 251, 253, 68, 257, 68, 68, 68,
1076 68, 246, 258, 68, 247, 248, 68, 254, 255, 260,
1077 68, 249, 259, 250, 68, 252, 68, 261, 262, 264,
1078 251, 253, 263, 257, 266, 68, 267, 68, 272, 258,
1079 270, 269, 68, 68, 254, 255, 274, 271, 68, 259,
1080 68, 265, 1730, 268, 261, 262, 134, 273, 68, 263,
1081
1082 68, 68, 276, 267, 275, 68, 68, 270, 269, 68,
1083 278, 68, 68, 277, 271, 279, 68, 68, 265, 68,
1084 268, 280, 1730, 282, 273, 283, 1730, 284, 288, 276,
1085 287, 275, 68, 285, 286, 289, 291, 278, 68, 68,
1086 277, 293, 279, 290, 1730, 68, 68, 68, 280, 68,
1087 282, 68, 283, 68, 284, 288, 68, 287, 68, 292,
1088 285, 286, 68, 291, 294, 295, 68, 296, 297, 299,
1089 290, 68, 68, 68, 68, 298, 300, 303, 68, 301,
1090 304, 68, 68, 302, 1730, 305, 292, 306, 68, 314,
1091 307, 294, 295, 308, 296, 297, 299, 68, 68, 68,
1092
1093 68, 68, 298, 300, 68, 310, 301, 304, 68, 309,
1094 302, 68, 305, 311, 306, 68, 68, 307, 315, 68,
1095 308, 312, 313, 316, 320, 318, 317, 323, 68, 319,
1096 1730, 1730, 310, 68, 322, 321, 309, 68, 326, 68,
1097 311, 328, 68, 324, 1730, 315, 68, 68, 312, 313,
1098 316, 68, 318, 317, 323, 1730, 319, 68, 68, 325,
1099 68, 322, 321, 68, 327, 329, 68, 330, 328, 68,
1100 324, 68, 331, 332, 337, 335, 333, 336, 334, 1730,
1101 339, 1730, 338, 340, 68, 68, 325, 68, 68, 68,
1102 342, 327, 329, 68, 330, 68, 68, 353, 341, 331,
1103
1104 332, 337, 335, 333, 352, 334, 343, 339, 68, 338,
1105 340, 68, 354, 344, 68, 68, 68, 342, 134, 355,
1106 356, 357, 1730, 361, 353, 341, 68, 68, 68, 358,
1107 359, 352, 68, 343, 68, 68, 360, 362, 364, 354,
1108 344, 345, 346, 68, 363, 68, 355, 356, 357, 68,
1109 361, 347, 366, 348, 349, 350, 1730, 359, 351, 365,
1110 68, 1730, 367, 360, 362, 364, 68, 371, 345, 346,
1111 368, 375, 68, 68, 68, 68, 369, 370, 347, 372,
1112 348, 349, 350, 68, 373, 351, 365, 374, 378, 367,
1113 68, 379, 68, 376, 371, 68, 68, 368, 375, 377,
1114
1115 68, 68, 382, 381, 380, 68, 372, 384, 68, 68,
1116 383, 373, 385, 387, 374, 378, 68, 386, 379, 388,
1117 376, 68, 392, 1730, 68, 68, 377, 389, 390, 382,
1118 381, 380, 391, 68, 384, 393, 68, 383, 68, 394,
1119 387, 68, 68, 68, 386, 68, 388, 396, 395, 68,
1120 397, 398, 1730, 68, 389, 390, 400, 68, 68, 391,
1121 401, 399, 393, 68, 1730, 402, 394, 68, 408, 405,
1122 68, 68, 403, 68, 396, 395, 68, 397, 398, 404,
1123 409, 68, 68, 400, 68, 411, 68, 401, 399, 410,
1124 416, 68, 402, 406, 407, 408, 405, 68, 68, 403,
1125
1126 68, 68, 412, 414, 68, 413, 404, 409, 68, 415,
1127 417, 68, 411, 68, 68, 68, 410, 416, 418, 420,
1128 406, 407, 68, 419, 1730, 1730, 432, 68, 426, 1730,
1129 414, 1730, 413, 68, 68, 68, 415, 417, 427, 428,
1130 68, 1730, 1730, 1730, 430, 418, 420, 431, 429, 68,
1131 419, 421, 68, 432, 68, 426, 422, 433, 423, 68,
1132 434, 435, 439, 1730, 436, 427, 424, 68, 68, 437,
1133 68, 430, 438, 68, 431, 429, 425, 68, 421, 68,
1134 68, 68, 440, 422, 433, 423, 68, 434, 435, 439,
1135 441, 436, 442, 424, 443, 444, 437, 445, 446, 438,
1136
1137 68, 1730, 447, 425, 68, 450, 68, 449, 68, 440,
1138 448, 68, 451, 68, 453, 452, 455, 441, 134, 442,
1139 463, 443, 444, 454, 68, 446, 68, 68, 68, 447,
1140 68, 461, 68, 456, 449, 68, 457, 448, 68, 451,
1141 68, 453, 452, 455, 68, 458, 462, 460, 464, 459,
1142 454, 68, 465, 466, 470, 468, 467, 1730, 68, 472,
1143 456, 68, 68, 457, 469, 471, 474, 475, 1730, 483,
1144 1730, 473, 1730, 68, 460, 68, 68, 68, 68, 68,
1145 476, 68, 468, 467, 68, 68, 472, 68, 68, 68,
1146 477, 469, 471, 68, 475, 478, 481, 68, 473, 479,
1147
1148 68, 480, 482, 484, 1730, 68, 1730, 476, 485, 488,
1149 489, 486, 493, 1730, 68, 68, 1730, 477, 490, 1730,
1150 495, 68, 478, 481, 68, 494, 479, 68, 480, 482,
1151 484, 68, 68, 487, 68, 485, 488, 489, 486, 491,
1152 68, 492, 497, 68, 68, 490, 68, 495, 496, 498,
1153 68, 500, 494, 501, 499, 503, 68, 502, 68, 504,
1154 487, 506, 1730, 1730, 68, 1730, 491, 68, 492, 497,
1155 507, 505, 68, 68, 512, 496, 498, 68, 500, 68,
1156 501, 499, 513, 514, 502, 68, 68, 508, 68, 510,
1157 68, 515, 68, 511, 516, 520, 517, 507, 505, 68,
1158
1159 68, 512, 509, 68, 68, 518, 524, 519, 68, 513,
1160 514, 68, 68, 68, 508, 521, 522, 527, 515, 523,
1161 68, 516, 520, 517, 526, 68, 529, 68, 525, 509,
1162 68, 68, 518, 528, 519, 534, 68, 68, 533, 531,
1163 68, 530, 521, 522, 527, 532, 523, 68, 68, 68,
1164 68, 526, 68, 529, 535, 525, 536, 68, 68, 68,
1165 528, 538, 534, 537, 539, 533, 531, 541, 530, 540,
1166 68, 542, 532, 543, 68, 549, 544, 548, 68, 1730,
1167 68, 535, 1730, 536, 68, 68, 545, 68, 538, 550,
1168 537, 539, 68, 134, 541, 68, 540, 68, 542, 68,
1169
1170 543, 546, 551, 544, 548, 552, 68, 553, 565, 547,
1171 554, 561, 68, 545, 68, 562, 550, 68, 555, 68,
1172 68, 563, 564, 68, 566, 68, 68, 68, 546, 551,
1173 574, 68, 552, 1730, 553, 565, 547, 554, 561, 68,
1174 577, 594, 562, 68, 578, 555, 556, 575, 563, 564,
1175 557, 595, 68, 558, 581, 68, 68, 574, 579, 576,
1176 559, 68, 580, 560, 68, 1730, 68, 577, 68, 582,
1177 1730, 68, 68, 556, 575, 1730, 583, 557, 68, 584,
1178 558, 581, 68, 1730, 1730, 579, 576, 559, 68, 580,
1179 560, 567, 568, 592, 569, 68, 582, 570, 586, 585,
1180
1181 68, 68, 571, 583, 587, 68, 584, 68, 572, 573,
1182 590, 588, 68, 589, 591, 68, 593, 68, 567, 568,
1183 592, 569, 68, 68, 570, 586, 585, 596, 597, 571,
1184 68, 587, 603, 598, 599, 572, 573, 590, 588, 68,
1185 589, 591, 601, 68, 604, 602, 605, 600, 1730, 68,
1186 1730, 68, 68, 68, 596, 597, 68, 607, 606, 68,
1187 598, 599, 608, 68, 68, 68, 68, 609, 1730, 601,
1188 610, 604, 602, 614, 600, 68, 611, 68, 1730, 68,
1189 68, 616, 612, 615, 607, 606, 68, 68, 68, 608,
1190 613, 617, 621, 620, 609, 619, 68, 610, 68, 618,
1191
1192 614, 625, 68, 611, 68, 68, 68, 622, 616, 612,
1193 615, 68, 624, 623, 68, 68, 68, 613, 617, 621,
1194 620, 68, 619, 626, 627, 628, 618, 629, 625, 630,
1195 68, 68, 631, 1730, 622, 632, 637, 1730, 68, 624,
1196 623, 633, 634, 68, 68, 636, 638, 635, 639, 640,
1197 626, 627, 628, 68, 641, 68, 68, 68, 68, 631,
1198 68, 643, 632, 68, 68, 644, 645, 68, 633, 634,
1199 68, 68, 636, 638, 635, 639, 640, 642, 68, 646,
1200 648, 647, 649, 68, 68, 68, 658, 650, 68, 68,
1201 1730, 660, 134, 645, 68, 68, 1730, 657, 68, 659,
1202
1203 661, 68, 68, 68, 642, 1730, 646, 648, 647, 649,
1204 1730, 664, 1730, 658, 650, 651, 662, 652, 660, 663,
1205 68, 653, 68, 654, 657, 665, 659, 661, 655, 68,
1206 673, 666, 68, 656, 68, 668, 669, 68, 664, 68,
1207 1730, 667, 651, 662, 652, 670, 663, 679, 653, 68,
1208 654, 68, 665, 68, 671, 655, 672, 68, 666, 674,
1209 656, 68, 668, 669, 675, 678, 676, 68, 667, 68,
1210 682, 684, 670, 683, 679, 680, 685, 68, 687, 681,
1211 68, 671, 689, 672, 677, 68, 674, 688, 68, 68,
1212 68, 675, 678, 676, 68, 68, 68, 682, 684, 686,
1213
1214 683, 690, 680, 685, 691, 68, 681, 68, 692, 694,
1215 68, 677, 68, 68, 688, 693, 695, 68, 698, 700,
1216 696, 697, 68, 699, 702, 68, 686, 68, 690, 68,
1217 68, 691, 68, 701, 706, 692, 694, 68, 68, 709,
1218 68, 703, 693, 695, 704, 698, 700, 696, 697, 68,
1219 699, 68, 705, 68, 707, 68, 68, 68, 708, 711,
1220 701, 706, 710, 712, 68, 718, 709, 713, 703, 714,
1221 1730, 704, 715, 716, 720, 717, 68, 68, 1730, 705,
1222 68, 707, 68, 722, 719, 708, 723, 721, 68, 710,
1223 68, 68, 718, 68, 68, 68, 714, 68, 68, 715,
1224
1225 716, 720, 717, 724, 725, 68, 726, 727, 68, 729,
1226 722, 719, 731, 723, 721, 68, 730, 728, 68, 733,
1227 732, 68, 1730, 734, 68, 738, 68, 68, 68, 735,
1228 724, 725, 736, 726, 68, 68, 729, 68, 740, 731,
1229 68, 741, 739, 730, 728, 742, 733, 732, 737, 68,
1230 734, 68, 738, 68, 68, 743, 735, 68, 68, 736,
1231 744, 746, 745, 747, 749, 740, 750, 68, 754, 739,
1232 68, 751, 68, 68, 68, 737, 68, 1730, 68, 68,
1233 68, 752, 743, 68, 68, 755, 753, 68, 746, 745,
1234 747, 749, 68, 750, 756, 754, 757, 758, 751, 68,
1235
1236 1730, 759, 760, 761, 762, 763, 764, 767, 752, 765,
1237 766, 768, 755, 753, 68, 68, 68, 68, 68, 68,
1238 68, 68, 769, 68, 758, 68, 68, 68, 759, 760,
1239 761, 762, 763, 764, 68, 770, 765, 766, 768, 771,
1240 773, 772, 68, 68, 774, 775, 776, 1730, 1730, 769,
1241 779, 781, 777, 778, 780, 68, 783, 68, 68, 68,
1242 68, 782, 770, 68, 1730, 68, 771, 773, 772, 68,
1243 68, 774, 775, 776, 68, 68, 68, 779, 781, 777,
1244 778, 780, 784, 783, 68, 785, 786, 787, 782, 789,
1245 788, 790, 792, 795, 68, 68, 793, 68, 68, 791,
1246
1247 68, 1730, 68, 68, 68, 799, 68, 794, 796, 784,
1248 797, 1730, 785, 786, 787, 798, 789, 788, 790, 792,
1249 68, 68, 68, 793, 68, 68, 791, 68, 803, 68,
1250 802, 804, 799, 805, 794, 796, 800, 797, 68, 806,
1251 801, 808, 798, 1730, 809, 68, 807, 1730, 810, 813,
1252 815, 68, 814, 816, 68, 803, 812, 802, 804, 811,
1253 805, 68, 68, 68, 1730, 817, 68, 68, 808, 823,
1254 68, 809, 68, 807, 68, 810, 813, 68, 68, 814,
1255 818, 68, 824, 812, 68, 68, 811, 68, 819, 825,
1256 826, 829, 817, 820, 827, 821, 823, 822, 828, 68,
1257
1258 830, 68, 831, 68, 68, 68, 68, 818, 68, 824,
1259 832, 834, 835, 68, 836, 819, 825, 826, 829, 833,
1260 820, 68, 821, 68, 822, 68, 68, 830, 68, 831,
1261 837, 838, 839, 841, 840, 843, 842, 832, 834, 68,
1262 845, 836, 68, 68, 844, 846, 833, 847, 849, 848,
1263 854, 850, 68, 853, 68, 68, 851, 68, 838, 839,
1264 68, 840, 68, 842, 852, 68, 68, 68, 68, 68,
1265 68, 844, 846, 68, 847, 849, 848, 68, 850, 855,
1266 853, 68, 856, 851, 857, 68, 859, 858, 1730, 861,
1267 860, 852, 862, 863, 68, 864, 867, 68, 1730, 68,
1268
1269 1730, 870, 869, 68, 68, 68, 68, 868, 1730, 856,
1270 68, 68, 865, 859, 858, 68, 68, 860, 866, 862,
1271 863, 874, 68, 867, 871, 68, 68, 68, 870, 869,
1272 872, 68, 68, 873, 868, 879, 875, 876, 884, 865,
1273 68, 882, 68, 68, 881, 866, 877, 880, 874, 883,
1274 878, 871, 1730, 68, 68, 1730, 885, 872, 1730, 68,
1275 873, 68, 879, 875, 876, 884, 68, 886, 882, 68,
1276 889, 881, 68, 888, 880, 68, 890, 68, 887, 68,
1277 68, 891, 68, 885, 892, 68, 893, 896, 68, 895,
1278 894, 1730, 68, 898, 886, 68, 1730, 889, 68, 68,
1279
1280 888, 68, 68, 890, 899, 887, 897, 68, 891, 900,
1281 901, 892, 902, 893, 896, 904, 895, 894, 68, 906,
1282 898, 68, 903, 905, 908, 68, 68, 68, 909, 68,
1283 907, 899, 68, 897, 910, 911, 900, 901, 912, 902,
1284 68, 913, 904, 914, 68, 915, 906, 68, 918, 903,
1285 905, 924, 68, 68, 916, 68, 68, 907, 917, 68,
1286 68, 910, 68, 68, 1730, 912, 919, 923, 913, 920,
1287 914, 1730, 915, 922, 68, 68, 925, 68, 921, 68,
1288 932, 68, 68, 926, 68, 68, 929, 927, 68, 928,
1289 931, 68, 930, 919, 923, 68, 920, 68, 68, 68,
1290
1291 922, 933, 68, 925, 934, 921, 68, 932, 935, 941,
1292 926, 936, 942, 929, 927, 945, 928, 931, 1730, 930,
1293 937, 943, 68, 68, 938, 940, 944, 68, 933, 68,
1294 948, 934, 68, 68, 68, 935, 68, 939, 936, 942,
1295 946, 947, 949, 950, 68, 68, 68, 937, 943, 68,
1296 951, 938, 940, 944, 952, 959, 68, 948, 953, 954,
1297 955, 956, 68, 68, 939, 1730, 1730, 946, 947, 957,
1298 68, 68, 960, 68, 68, 961, 966, 68, 68, 68,
1299 958, 952, 68, 977, 68, 953, 954, 955, 956, 962,
1300 963, 68, 68, 969, 68, 964, 957, 965, 68, 960,
1301
1302 967, 68, 961, 966, 970, 68, 68, 958, 968, 68,
1303 973, 979, 976, 975, 68, 1730, 962, 963, 68, 68,
1304 969, 68, 964, 971, 965, 972, 68, 967, 68, 974,
1305 68, 970, 68, 980, 68, 968, 68, 973, 68, 976,
1306 975, 978, 68, 981, 982, 991, 68, 984, 68, 985,
1307 971, 983, 972, 990, 68, 986, 974, 1730, 993, 992,
1308 980, 994, 68, 68, 68, 68, 987, 68, 978, 988,
1309 68, 982, 991, 68, 984, 995, 985, 68, 983, 996,
1310 68, 989, 986, 1730, 68, 993, 992, 997, 994, 998,
1311 68, 1005, 999, 987, 1000, 1001, 988, 1002, 68, 68,
1312
1313 68, 68, 995, 1003, 1004, 1006, 1007, 68, 989, 1013,
1314 68, 1010, 1730, 68, 997, 68, 998, 68, 68, 999,
1315 1011, 1000, 1001, 1012, 68, 1730, 68, 68, 68, 1008,
1316 1003, 1004, 1006, 1007, 1009, 68, 68, 68, 1010, 1014,
1317 68, 68, 1015, 1017, 1019, 1016, 68, 1011, 1018, 68,
1318 1012, 68, 1022, 1023, 1024, 1020, 1008, 1032, 1021, 1027,
1319 68, 1009, 1025, 68, 68, 68, 1014, 1033, 1730, 1015,
1320 1017, 1019, 1016, 68, 1031, 1018, 1026, 68, 68, 1022,
1321 68, 1024, 1020, 1028, 68, 1021, 1027, 68, 68, 1025,
1322 1029, 68, 68, 1030, 68, 1034, 1036, 1035, 1038, 1037,
1323
1324 68, 1031, 68, 1026, 1039, 68, 1040, 1041, 68, 1048,
1325 1028, 68, 68, 68, 1042, 1730, 1043, 1029, 68, 1047,
1326 1030, 1050, 1034, 1036, 1035, 1038, 1037, 1053, 68, 1051,
1327 1044, 1039, 68, 1040, 1041, 1045, 68, 1052, 1046, 1049,
1328 68, 1042, 68, 1043, 68, 1054, 1047, 1058, 68, 1055,
1329 68, 1057, 68, 68, 1059, 1056, 1051, 1044, 68, 68,
1330 1060, 68, 1045, 68, 1052, 1046, 1049, 1061, 68, 1062,
1331 68, 1730, 1054, 68, 1058, 1063, 1055, 1065, 1057, 1064,
1332 68, 1059, 1056, 1066, 68, 1067, 68, 1060, 1070, 1068,
1333 1069, 1071, 68, 1072, 1075, 1730, 1062, 1730, 68, 1074,
1334
1335 68, 1073, 1063, 68, 1065, 68, 1064, 68, 68, 68,
1336 1066, 68, 1067, 1078, 68, 1070, 1068, 1069, 1071, 68,
1337 68, 1075, 1076, 1077, 1079, 1080, 1074, 1081, 1073, 1082,
1338 1730, 68, 1084, 1083, 68, 1085, 1086, 68, 1730, 68,
1339 1087, 1730, 1088, 1089, 68, 1098, 1730, 1097, 68, 1076,
1340 1077, 1079, 1080, 68, 1081, 68, 68, 68, 1090, 68,
1341 1083, 68, 1085, 68, 68, 1091, 1092, 1087, 1093, 1088,
1342 1089, 1095, 1096, 68, 68, 1101, 68, 68, 68, 1100,
1343 1102, 1094, 68, 1099, 68, 1090, 68, 68, 68, 68,
1344 1103, 1104, 1091, 1092, 1105, 1093, 1106, 68, 1095, 1096,
1345
1346 1107, 1108, 1101, 1109, 1111, 1110, 1100, 68, 1094, 1112,
1347 1099, 68, 1113, 1115, 68, 1114, 1125, 1103, 68, 68,
1348 1730, 68, 1120, 1106, 1730, 68, 1121, 1123, 1108, 68,
1349 1122, 68, 1110, 68, 68, 68, 1112, 68, 1127, 68,
1350 68, 68, 1114, 68, 68, 1116, 1117, 1118, 1128, 1120,
1351 1124, 1129, 1119, 1121, 1123, 68, 68, 1122, 1126, 68,
1352 68, 1130, 1132, 1133, 68, 1127, 1134, 68, 1131, 68,
1353 1135, 1139, 1116, 1117, 1118, 1128, 1137, 1124, 1129, 1119,
1354 68, 68, 68, 1136, 68, 1126, 1138, 68, 68, 1132,
1355 1133, 1140, 1141, 1134, 1142, 1131, 68, 1135, 68, 1144,
1356
1357 1143, 1146, 68, 1137, 1145, 1147, 1148, 1730, 68, 1150,
1358 1136, 68, 68, 1138, 1730, 68, 68, 68, 1140, 1141,
1359 1154, 68, 68, 1149, 68, 1151, 1144, 1143, 1146, 68,
1360 1152, 1145, 1147, 1148, 1153, 68, 1150, 68, 68, 1156,
1361 1155, 68, 1159, 1157, 1163, 1160, 68, 1154, 1158, 1161,
1362 1149, 68, 1151, 1162, 1166, 1169, 1164, 1152, 68, 68,
1363 1165, 1153, 68, 1167, 68, 1168, 68, 1155, 1170, 68,
1364 1157, 68, 1160, 1171, 1172, 1158, 1161, 1173, 1174, 68,
1365 68, 1176, 1197, 68, 68, 68, 68, 68, 1175, 68,
1366 1167, 1177, 1168, 68, 1730, 1170, 68, 1178, 1730, 1179,
1367
1368 1171, 1172, 1180, 1181, 1173, 1184, 68, 1182, 1188, 68,
1369 1183, 1730, 68, 68, 68, 1175, 1730, 1185, 1177, 1187,
1370 1190, 68, 1186, 68, 1178, 68, 1179, 68, 1189, 68,
1371 68, 68, 1184, 1192, 1182, 1188, 1195, 1183, 68, 1193,
1372 68, 68, 1194, 68, 1185, 1191, 1187, 68, 68, 1186,
1373 68, 68, 68, 1196, 1198, 1189, 1207, 1199, 1202, 68,
1374 1192, 1201, 1204, 1195, 1203, 1205, 1193, 68, 1200, 1194,
1375 68, 1209, 1191, 1206, 1210, 68, 68, 68, 1211, 1730,
1376 1196, 1198, 68, 68, 1199, 1202, 68, 68, 1201, 68,
1377 1212, 1203, 1205, 1208, 1215, 1200, 1214, 68, 1209, 68,
1378
1379 1206, 1210, 1213, 68, 1217, 68, 1220, 1216, 1730, 68,
1380 68, 1218, 68, 68, 1223, 1219, 1228, 1212, 68, 68,
1381 1208, 1215, 68, 1214, 1224, 1221, 68, 1226, 1222, 1213,
1382 68, 1217, 68, 1220, 1216, 68, 68, 1225, 1218, 1230,
1383 1227, 1223, 1219, 68, 1231, 68, 68, 1229, 68, 68,
1384 1232, 1224, 1221, 68, 1226, 1222, 1233, 1236, 1235, 1234,
1385 1237, 68, 1238, 1239, 1225, 68, 1230, 1227, 68, 68,
1386 68, 1231, 68, 1240, 1229, 1244, 68, 1232, 68, 1241,
1387 1243, 1246, 68, 1233, 1730, 1235, 1234, 1237, 68, 1238,
1388 1239, 68, 1242, 1245, 1250, 1247, 68, 68, 1248, 68,
1389
1390 68, 1249, 1244, 1254, 1256, 1252, 1241, 1253, 1246, 1251,
1391 1730, 68, 68, 68, 1257, 68, 1255, 68, 68, 1242,
1392 1245, 1250, 1247, 68, 68, 1248, 68, 68, 1249, 68,
1393 1254, 1256, 1252, 1258, 1253, 68, 1251, 1259, 1260, 1261,
1394 68, 1257, 1262, 1255, 1263, 1264, 1730, 1265, 1267, 68,
1395 1266, 1269, 1271, 1268, 68, 68, 1272, 68, 1273, 68,
1396 1258, 1274, 68, 1270, 1259, 1260, 1261, 68, 1275, 68,
1397 68, 1263, 68, 68, 1265, 1267, 68, 1266, 68, 1271,
1398 1268, 1276, 68, 68, 1277, 1273, 1279, 1278, 68, 1280,
1399 1270, 68, 1730, 68, 68, 1275, 68, 1281, 1282, 1284,
1400
1401 1283, 1285, 68, 1287, 1286, 1289, 1288, 1730, 1276, 68,
1402 68, 1277, 68, 68, 1278, 68, 1280, 68, 1290, 68,
1403 1299, 68, 1291, 68, 1281, 1282, 1284, 1283, 1285, 68,
1404 68, 1286, 1289, 1288, 1292, 1293, 1295, 1296, 1294, 68,
1405 68, 68, 68, 68, 68, 1290, 1298, 68, 1300, 1291,
1406 1304, 1297, 68, 1301, 1305, 1302, 1303, 1306, 1308, 1309,
1407 1307, 1292, 1293, 1295, 1296, 1294, 68, 68, 68, 1310,
1408 68, 1311, 68, 1298, 68, 1300, 68, 1304, 1297, 68,
1409 1301, 68, 1302, 1303, 68, 68, 68, 1307, 1312, 1313,
1410 1315, 1314, 1316, 1317, 1318, 1319, 68, 1730, 1311, 68,
1411
1412 1321, 68, 1320, 1324, 68, 1325, 1326, 1327, 1329, 1730,
1413 1322, 68, 68, 68, 1328, 68, 68, 1315, 1314, 68,
1414 1317, 68, 1319, 68, 68, 1323, 68, 1321, 1330, 1320,
1415 68, 68, 1325, 68, 1327, 1329, 68, 1322, 1331, 1332,
1416 1335, 1328, 1333, 68, 1334, 1336, 68, 1338, 1339, 68,
1417 1340, 1337, 1323, 1346, 1341, 68, 68, 1730, 68, 1730,
1418 68, 1343, 68, 1347, 1344, 1331, 68, 1335, 1342, 1333,
1419 68, 1334, 1336, 68, 1338, 1339, 68, 1340, 1337, 68,
1420 68, 1341, 68, 1345, 68, 1348, 68, 1349, 1343, 1350,
1421 1347, 1344, 68, 1351, 1352, 1342, 68, 1730, 1356, 1354,
1422
1423 1355, 1730, 1353, 1730, 1357, 68, 1360, 1361, 1358, 1362,
1424 1345, 68, 1348, 68, 1349, 68, 1350, 1363, 68, 1370,
1425 68, 1352, 68, 1364, 68, 1356, 1354, 1355, 68, 1353,
1426 68, 1357, 1359, 68, 68, 1358, 1362, 1366, 68, 68,
1427 1365, 1730, 1367, 68, 1363, 68, 68, 1368, 1369, 1371,
1428 1364, 1372, 1373, 68, 1374, 1375, 1377, 1730, 68, 1359,
1429 1730, 1376, 68, 1378, 1366, 68, 1381, 1365, 68, 1367,
1430 68, 68, 68, 1380, 1368, 1369, 1371, 68, 1372, 1373,
1431 1379, 1374, 1375, 68, 68, 1382, 1383, 68, 1376, 1384,
1432 1378, 68, 1385, 1387, 1388, 68, 1386, 68, 1389, 1390,
1433
1434 1380, 1392, 1395, 1391, 68, 1393, 68, 1379, 1394, 1730,
1435 1398, 68, 1382, 1383, 68, 68, 1384, 1399, 68, 68,
1436 68, 68, 1396, 1386, 1397, 68, 1390, 68, 1392, 68,
1437 1391, 68, 1393, 68, 1400, 68, 68, 68, 1402, 68,
1438 1401, 1403, 1404, 1405, 1399, 1407, 1730, 1406, 1408, 1396,
1439 1730, 1397, 1413, 68, 68, 1411, 1409, 1412, 1410, 68,
1440 68, 1400, 68, 68, 68, 1402, 1730, 1401, 68, 68,
1441 68, 68, 1407, 68, 1406, 1408, 1414, 68, 1417, 68,
1442 1415, 68, 1411, 1409, 1412, 1410, 1416, 1418, 1419, 1420,
1443 68, 1421, 68, 68, 68, 1422, 68, 1423, 68, 1424,
1444
1445 1425, 68, 1426, 1414, 1434, 1417, 1730, 1415, 1730, 68,
1446 1433, 1427, 1430, 1416, 1418, 1419, 1420, 68, 1421, 68,
1447 68, 1436, 1422, 1428, 1423, 1429, 68, 68, 68, 1426,
1448 68, 68, 68, 1431, 1432, 1435, 68, 1433, 1427, 1430,
1449 68, 68, 1437, 68, 1442, 1443, 1438, 1439, 1436, 1730,
1450 1428, 1441, 1429, 68, 68, 68, 68, 1440, 1444, 68,
1451 1431, 1432, 1435, 1445, 1446, 1450, 1451, 68, 68, 1437,
1452 1447, 68, 68, 1438, 1439, 68, 68, 68, 1441, 1448,
1453 1454, 1449, 1452, 1455, 1440, 1444, 1453, 68, 68, 68,
1454 1445, 1446, 1450, 68, 68, 68, 1457, 1447, 1456, 1459,
1455
1456 1460, 1730, 1461, 68, 1463, 1730, 1448, 1454, 1449, 1452,
1457 68, 1458, 68, 1453, 1464, 1462, 1466, 1465, 1467, 68,
1458 68, 1468, 68, 68, 68, 1456, 68, 68, 68, 1461,
1459 1469, 1463, 1470, 68, 1471, 1472, 68, 68, 1458, 68,
1460 1473, 1464, 1462, 1466, 1465, 1467, 68, 1474, 1468, 1475,
1461 1476, 1478, 68, 1477, 68, 1730, 1479, 1469, 1730, 1470,
1462 1482, 1471, 68, 1480, 1484, 1730, 1481, 68, 1486, 1483,
1463 1730, 68, 68, 1730, 1485, 1730, 1475, 68, 68, 68,
1464 68, 1489, 68, 1479, 68, 68, 68, 1482, 68, 68,
1465 1480, 1484, 68, 1481, 1487, 1486, 1483, 1488, 1490, 68,
1466
1467 1491, 1485, 1492, 68, 1493, 1496, 1494, 1495, 1489, 1498,
1468 1497, 68, 68, 68, 1730, 68, 68, 1500, 1503, 1499,
1469 68, 1487, 1501, 1505, 1488, 1490, 68, 1491, 68, 1492,
1470 68, 1493, 68, 1494, 1495, 1504, 68, 1497, 68, 68,
1471 68, 1502, 1514, 1507, 1500, 1503, 1499, 1506, 1508, 1501,
1472 68, 1509, 1510, 1511, 68, 68, 1512, 1515, 1513, 1516,
1473 1517, 68, 1504, 1518, 1730, 68, 1525, 1730, 1502, 68,
1474 1507, 68, 68, 68, 1506, 1508, 1730, 1521, 68, 68,
1475 68, 68, 68, 1512, 68, 1513, 1516, 1517, 1519, 1520,
1476 1523, 1522, 1524, 68, 68, 1526, 1531, 68, 68, 68,
1477
1478 68, 1527, 1528, 68, 1521, 68, 1529, 68, 1530, 1532,
1479 68, 1534, 68, 1540, 1533, 1519, 1520, 1523, 1522, 1524,
1480 68, 68, 1526, 1531, 1535, 1538, 1730, 1541, 1527, 1528,
1481 1536, 68, 68, 1529, 68, 1530, 1532, 68, 1534, 1537,
1482 68, 1533, 68, 1542, 1539, 1543, 68, 1544, 1546, 68,
1483 68, 1535, 1538, 68, 1541, 1545, 1547, 1536, 68, 68,
1484 1549, 68, 1548, 68, 1730, 68, 1537, 1550, 1551, 1557,
1485 1542, 1539, 1543, 68, 1544, 1546, 1555, 1558, 1552, 68,
1486 1559, 1553, 1545, 1547, 68, 68, 68, 1549, 68, 1548,
1487 68, 1554, 1556, 1562, 1550, 1551, 68, 68, 68, 1561,
1488
1489 68, 68, 1560, 1555, 1558, 1552, 1564, 68, 1553, 1563,
1490 68, 68, 1565, 1566, 1570, 1567, 1568, 1571, 1554, 1556,
1491 68, 68, 1572, 68, 68, 68, 1561, 1569, 68, 1560,
1492 1573, 1574, 68, 1564, 68, 1576, 1563, 1577, 68, 1565,
1493 1566, 68, 1567, 1568, 1571, 1579, 1575, 1580, 1730, 68,
1494 68, 1578, 68, 68, 1569, 1581, 68, 1573, 68, 1583,
1495 1582, 68, 1576, 68, 1577, 1584, 68, 1587, 1585, 1586,
1496 1589, 1588, 68, 1575, 68, 68, 68, 1592, 1578, 68,
1497 1590, 1591, 1581, 68, 1593, 1594, 1583, 1582, 1595, 68,
1498 68, 1598, 68, 68, 1587, 1585, 1586, 1597, 1588, 1599,
1499
1500 1596, 68, 1600, 1601, 68, 1602, 1604, 1590, 1591, 1603,
1501 68, 68, 1594, 68, 1606, 1595, 1605, 1607, 68, 68,
1502 1609, 1608, 1612, 1610, 1597, 68, 68, 1596, 1730, 68,
1503 1601, 1611, 68, 68, 68, 68, 1603, 68, 1618, 68,
1504 68, 68, 1613, 1605, 1607, 68, 1614, 68, 1608, 1612,
1505 1610, 68, 1619, 68, 1615, 1616, 1617, 68, 1611, 68,
1506 68, 1620, 68, 1621, 68, 1618, 1622, 1623, 1624, 1613,
1507 1626, 1625, 1629, 1614, 1627, 1630, 1628, 1730, 1631, 1619,
1508 68, 1615, 1616, 1617, 68, 68, 68, 1634, 68, 68,
1509 68, 68, 1632, 1622, 68, 1624, 1635, 68, 1625, 68,
1510
1511 1633, 1627, 68, 1628, 68, 1631, 68, 1636, 1637, 68,
1512 1638, 1639, 1640, 1641, 1634, 68, 1642, 1643, 68, 1632,
1513 1644, 1730, 1645, 1635, 1646, 1730, 1730, 1633, 68, 1649,
1514 1648, 1730, 68, 68, 1636, 68, 1647, 68, 68, 68,
1515 1641, 68, 68, 1642, 68, 68, 1650, 1644, 68, 1645,
1516 1651, 1646, 68, 68, 1652, 1654, 1649, 1648, 1653, 1655,
1517 1656, 68, 68, 1647, 68, 1657, 68, 68, 1659, 1660,
1518 1658, 1662, 68, 1650, 1661, 1663, 68, 1651, 1667, 1668,
1519 1664, 1652, 1654, 68, 1730, 1653, 1655, 1656, 68, 1670,
1520 68, 68, 68, 68, 1666, 1659, 1660, 1658, 1662, 1665,
1521
1522 1669, 1661, 68, 68, 1671, 1672, 68, 1664, 1677, 68,
1523 68, 68, 68, 68, 1673, 1674, 1670, 1676, 68, 1675,
1524 1679, 1666, 68, 1678, 1685, 68, 1665, 1669, 68, 68,
1525 68, 1671, 1672, 68, 1680, 1677, 1681, 1682, 1686, 1730,
1526 1683, 1673, 1674, 1684, 1676, 68, 1675, 1679, 1687, 1688,
1527 1678, 68, 1690, 1697, 1730, 68, 1730, 68, 68, 68,
1528 68, 1680, 68, 1681, 1682, 68, 1689, 1683, 68, 1691,
1529 1684, 1692, 1693, 1694, 68, 1687, 1688, 68, 1695, 68,
1530 1697, 68, 1698, 68, 1699, 68, 68, 1696, 1730, 1700,
1531 1730, 1701, 68, 1689, 68, 1730, 1691, 1702, 1692, 1693,
1532
1533 1694, 68, 1703, 1705, 68, 1695, 1706, 1707, 1730, 1698,
1534 1709, 1699, 1704, 1708, 1696, 68, 1700, 68, 1701, 68,
1535 68, 68, 68, 1710, 1702, 1711, 68, 68, 1713, 1703,
1536 68, 68, 68, 1706, 1707, 1712, 68, 1709, 1714, 1704,
1537 1708, 1715, 1719, 1716, 1720, 1717, 68, 68, 1718, 1721,
1538 1710, 68, 1711, 68, 1722, 1713, 1730, 68, 1723, 1730,
1539 1724, 1725, 1712, 1728, 68, 1714, 1729, 68, 1715, 68,
1540 1716, 1720, 1717, 1730, 68, 1718, 68, 1730, 68, 1730,
1541 1730, 68, 68, 68, 1726, 1723, 1727, 1724, 1725, 1730,
1542 68, 1730, 68, 68, 68, 1730, 1730, 1730, 1730, 1730,
1543
1544 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1545 1730, 1726, 1730, 1727, 40, 40, 40, 40, 40, 40,
1546 40, 45, 45, 45, 45, 45, 45, 45, 50, 50,
1547 50, 50, 50, 50, 50, 56, 56, 56, 56, 56,
1548 56, 56, 61, 61, 61, 61, 61, 61, 61, 71,
1549 71, 1730, 71, 71, 71, 71, 124, 124, 1730, 1730,
1550 1730, 124, 124, 126, 126, 1730, 1730, 126, 1730, 126,
1551 128, 1730, 1730, 1730, 1730, 1730, 128, 131, 131, 1730,
1552 1730, 1730, 131, 131, 133, 1730, 1730, 1730, 1730, 1730,
1553 133, 135, 135, 1730, 135, 135, 135, 135, 72, 72,
1554
1555 1730, 72, 72, 72, 72, 13, 1730, 1730, 1730, 1730,
1556 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1557 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1558 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1559 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1560 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1561 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
1562 1730
1035 68, 100, 140, 102, 90, 139, 121, 91, 68, 68,
1036 97, 122, 199, 80, 92, 104, 93, 81, 98, 103,
1037 82, 138, 83, 84, 99, 68, 101, 110, 100, 68,
1038 102, 111, 139, 128, 135, 118, 135, 119, 126, 199,
1039 129, 112, 129, 129, 113, 129, 103, 105, 138, 68,
1040 148, 106, 120, 68, 110, 68, 144, 107, 111, 123,
1041 108, 68, 118, 124, 119, 68, 114, 109, 112, 68,
1042 134, 113, 134, 134, 105, 134, 115, 148, 106, 120,
1043 116, 117, 135, 144, 107, 68, 123, 108, 68, 141,
1044
1045 124, 133, 131, 114, 109, 72, 68, 72, 72, 67,
1046 72, 67, 67, 115, 67, 150, 142, 116, 117, 67,
1047 72, 145, 72, 72, 146, 72, 141, 147, 153, 143,
1048 72, 152, 151, 149, 68, 68, 68, 158, 154, 68,
1049 68, 68, 137, 142, 68, 156, 68, 68, 145, 157,
1050 68, 146, 155, 162, 147, 153, 143, 73, 152, 151,
1051 149, 68, 163, 159, 158, 154, 160, 130, 68, 128,
1052 68, 68, 156, 166, 164, 168, 157, 167, 68, 155,
1053 161, 126, 169, 170, 68, 171, 68, 68, 173, 163,
1054 159, 175, 1751, 160, 165, 68, 68, 68, 68, 172,
1055
1056 166, 164, 168, 174, 167, 68, 68, 161, 68, 169,
1057 170, 176, 171, 68, 177, 173, 178, 68, 175, 183,
1058 68, 165, 181, 179, 182, 68, 172, 180, 184, 68,
1059 174, 68, 187, 68, 185, 186, 1751, 68, 176, 189,
1060 68, 177, 68, 178, 68, 68, 183, 191, 284, 181,
1061 179, 182, 188, 192, 180, 184, 68, 194, 197, 190,
1062 317, 185, 186, 68, 68, 68, 189, 68, 196, 193,
1063 1751, 201, 198, 68, 191, 68, 1751, 68, 195, 188,
1064 192, 68, 68, 210, 194, 197, 190, 68, 200, 129,
1065 68, 129, 129, 1751, 129, 196, 193, 203, 134, 198,
1066
1067 134, 134, 68, 134, 72, 195, 72, 72, 202, 72,
1068 68, 204, 207, 205, 68, 200, 68, 208, 211, 68,
1069 68, 206, 219, 209, 203, 68, 218, 221, 68, 220,
1070 68, 68, 222, 228, 224, 202, 223, 1751, 204, 212,
1071 205, 137, 68, 68, 208, 68, 68, 68, 206, 219,
1072 209, 68, 68, 218, 221, 68, 220, 234, 68, 222,
1073 228, 224, 225, 223, 229, 226, 212, 213, 227, 232,
1074 233, 1751, 214, 1751, 68, 235, 68, 215, 238, 230,
1075 68, 68, 1751, 216, 217, 241, 68, 1751, 68, 225,
1076 68, 229, 226, 236, 213, 227, 232, 233, 231, 214,
1077
1078 239, 68, 235, 237, 215, 68, 230, 240, 243, 68,
1079 216, 217, 244, 68, 242, 245, 68, 246, 68, 247,
1080 1751, 248, 1751, 252, 68, 231, 249, 239, 68, 261,
1081 237, 68, 250, 251, 240, 68, 68, 68, 259, 68,
1082 68, 242, 245, 68, 246, 68, 247, 68, 248, 253,
1083 252, 254, 68, 249, 68, 255, 261, 256, 68, 250,
1084 251, 68, 68, 257, 258, 262, 260, 263, 266, 68,
1085 1751, 1751, 68, 68, 265, 264, 253, 68, 254, 269,
1086 270, 267, 255, 68, 256, 68, 275, 274, 277, 68,
1087 257, 258, 262, 260, 68, 266, 272, 271, 68, 276,
1088
1089 273, 265, 264, 268, 278, 68, 68, 270, 68, 279,
1090 68, 135, 68, 280, 274, 282, 68, 68, 68, 68,
1091 281, 68, 68, 272, 271, 283, 276, 273, 285, 288,
1092 268, 278, 68, 286, 287, 1751, 279, 292, 289, 68,
1093 280, 68, 282, 290, 293, 68, 291, 281, 294, 296,
1094 295, 68, 283, 1751, 68, 285, 288, 68, 298, 68,
1095 286, 287, 68, 301, 68, 289, 68, 68, 68, 297,
1096 290, 293, 68, 291, 68, 294, 68, 295, 299, 300,
1097 68, 303, 302, 304, 68, 298, 305, 306, 307, 68,
1098 301, 68, 68, 68, 373, 374, 297, 309, 311, 308,
1099
1100 310, 68, 1751, 1751, 68, 299, 300, 68, 303, 302,
1101 304, 312, 68, 305, 68, 307, 68, 68, 68, 313,
1102 314, 318, 322, 68, 309, 311, 308, 310, 315, 316,
1103 321, 319, 323, 68, 320, 68, 324, 330, 312, 328,
1104 68, 68, 68, 325, 340, 68, 313, 314, 318, 322,
1105 68, 326, 327, 68, 68, 315, 316, 321, 319, 323,
1106 329, 320, 331, 68, 68, 68, 328, 68, 68, 68,
1107 325, 332, 333, 335, 334, 68, 339, 68, 326, 327,
1108 336, 343, 341, 337, 342, 338, 68, 329, 68, 331,
1109 68, 68, 345, 68, 68, 362, 68, 346, 332, 333,
1110
1111 335, 334, 344, 339, 68, 68, 356, 336, 343, 341,
1112 337, 342, 338, 347, 68, 348, 1751, 367, 68, 345,
1113 357, 68, 359, 360, 346, 358, 68, 361, 68, 344,
1114 68, 135, 363, 356, 68, 68, 68, 1751, 68, 364,
1115 347, 370, 348, 349, 350, 1751, 68, 357, 68, 359,
1116 360, 365, 358, 351, 361, 352, 353, 354, 368, 363,
1117 355, 366, 369, 68, 372, 68, 364, 375, 68, 389,
1118 349, 350, 68, 68, 68, 68, 379, 1751, 365, 371,
1119 351, 376, 352, 353, 354, 368, 68, 355, 366, 369,
1120 68, 372, 68, 377, 375, 380, 378, 382, 381, 383,
1121
1122 68, 68, 1751, 379, 68, 386, 371, 68, 376, 68,
1123 68, 385, 384, 387, 390, 388, 394, 68, 68, 392,
1124 377, 391, 380, 378, 382, 381, 383, 68, 393, 68,
1125 68, 395, 386, 68, 396, 68, 68, 399, 385, 384,
1126 387, 390, 388, 394, 68, 68, 392, 397, 391, 398,
1127 68, 402, 68, 68, 400, 393, 401, 68, 395, 404,
1128 403, 1751, 405, 406, 399, 68, 68, 68, 1751, 68,
1129 1751, 413, 407, 68, 397, 408, 398, 68, 402, 1751,
1130 410, 400, 68, 401, 68, 68, 404, 403, 68, 405,
1131 406, 68, 414, 68, 409, 68, 411, 412, 413, 407,
1132
1133 415, 68, 408, 68, 68, 417, 416, 410, 418, 1751,
1134 68, 419, 420, 1751, 421, 1751, 68, 68, 68, 414,
1135 422, 409, 68, 411, 412, 68, 423, 415, 1751, 424,
1136 1751, 437, 68, 416, 425, 418, 68, 68, 419, 420,
1137 68, 421, 68, 431, 432, 433, 439, 422, 68, 1751,
1138 68, 435, 436, 423, 434, 68, 424, 68, 437, 68,
1139 1751, 425, 426, 438, 1751, 68, 1751, 427, 440, 428,
1140 431, 432, 68, 439, 442, 68, 68, 429, 435, 436,
1141 68, 434, 441, 443, 445, 446, 68, 430, 68, 426,
1142 438, 68, 447, 444, 427, 440, 428, 68, 68, 449,
1143
1144 68, 442, 450, 68, 429, 448, 68, 452, 451, 441,
1145 443, 445, 446, 453, 430, 455, 68, 68, 454, 447,
1146 444, 456, 135, 68, 457, 458, 449, 68, 468, 459,
1147 460, 466, 448, 68, 452, 451, 68, 68, 467, 68,
1148 453, 68, 68, 469, 461, 454, 463, 462, 456, 68,
1149 464, 457, 458, 465, 68, 68, 459, 460, 68, 68,
1150 470, 471, 472, 473, 477, 68, 475, 68, 68, 1751,
1151 68, 461, 474, 476, 462, 478, 479, 68, 1751, 480,
1152 465, 481, 68, 488, 485, 68, 68, 68, 1751, 472,
1153 473, 477, 68, 490, 68, 68, 68, 68, 489, 474,
1154
1155 476, 68, 478, 486, 482, 487, 480, 68, 481, 483,
1156 68, 485, 68, 484, 68, 491, 68, 68, 68, 493,
1157 490, 494, 495, 496, 497, 489, 498, 1751, 68, 500,
1158 486, 482, 487, 499, 68, 68, 483, 492, 68, 68,
1159 484, 68, 491, 501, 68, 504, 493, 502, 494, 495,
1160 496, 497, 503, 68, 68, 505, 500, 68, 68, 1751,
1161 499, 68, 506, 507, 492, 512, 508, 68, 511, 68,
1162 501, 509, 504, 513, 502, 510, 516, 514, 518, 503,
1163 517, 1751, 68, 520, 68, 521, 68, 68, 68, 506,
1164 507, 68, 515, 508, 68, 511, 68, 525, 519, 526,
1165
1166 513, 68, 68, 68, 514, 518, 68, 68, 68, 522,
1167 520, 527, 521, 523, 530, 524, 534, 68, 68, 515,
1168 68, 68, 68, 68, 525, 519, 526, 529, 528, 1751,
1169 532, 1751, 68, 531, 1751, 533, 522, 68, 527, 68,
1170 523, 68, 524, 534, 535, 68, 540, 539, 536, 538,
1171 541, 1751, 545, 537, 529, 528, 68, 532, 68, 68,
1172 531, 68, 533, 68, 542, 543, 68, 68, 68, 544,
1173 68, 535, 68, 540, 539, 536, 538, 541, 68, 545,
1174 537, 546, 547, 548, 550, 1751, 68, 68, 549, 555,
1175 552, 542, 543, 1751, 551, 68, 544, 558, 553, 68,
1176
1177 68, 554, 572, 556, 559, 135, 68, 68, 546, 547,
1178 548, 550, 68, 560, 557, 549, 68, 552, 600, 68,
1179 68, 551, 68, 68, 558, 553, 68, 567, 554, 68,
1180 556, 559, 561, 68, 68, 568, 570, 1751, 569, 68,
1181 560, 557, 581, 571, 584, 68, 580, 1751, 582, 68,
1182 68, 68, 583, 601, 567, 612, 68, 68, 585, 561,
1183 562, 1751, 568, 570, 563, 569, 68, 564, 68, 581,
1184 571, 68, 586, 580, 565, 582, 68, 566, 68, 583,
1185 587, 1751, 68, 588, 68, 585, 68, 562, 589, 1751,
1186 1751, 563, 68, 592, 564, 1751, 1751, 590, 68, 586,
1187
1188 68, 565, 595, 1751, 566, 573, 574, 587, 575, 68,
1189 588, 576, 68, 591, 596, 589, 577, 593, 594, 68,
1190 592, 68, 578, 579, 590, 68, 68, 597, 68, 595,
1191 598, 68, 573, 574, 599, 575, 68, 68, 576, 602,
1192 591, 596, 607, 577, 593, 594, 603, 606, 608, 578,
1193 579, 604, 68, 605, 597, 610, 68, 598, 611, 636,
1194 1751, 68, 615, 68, 68, 614, 602, 68, 68, 607,
1195 68, 609, 68, 603, 606, 608, 613, 68, 604, 68,
1196 605, 616, 68, 68, 68, 611, 68, 617, 618, 615,
1197 68, 621, 614, 619, 68, 1751, 623, 68, 609, 622,
1198
1199 68, 620, 68, 613, 624, 625, 627, 628, 616, 626,
1200 68, 68, 632, 68, 617, 618, 68, 68, 621, 630,
1201 619, 68, 631, 623, 68, 68, 622, 68, 620, 629,
1202 68, 624, 625, 627, 628, 634, 626, 633, 68, 632,
1203 68, 635, 68, 637, 638, 639, 630, 1751, 640, 631,
1204 643, 641, 644, 68, 68, 642, 629, 645, 68, 648,
1205 646, 68, 634, 68, 633, 647, 1751, 68, 635, 68,
1206 650, 638, 639, 68, 68, 640, 68, 643, 641, 68,
1207 651, 68, 642, 68, 645, 653, 649, 646, 652, 656,
1208 68, 654, 647, 68, 657, 655, 1751, 68, 68, 68,
1209
1210 68, 68, 68, 664, 1751, 665, 1751, 135, 68, 1751,
1211 1751, 671, 653, 649, 680, 652, 656, 68, 654, 1751,
1212 1751, 657, 655, 658, 668, 659, 68, 667, 1751, 660,
1213 664, 661, 665, 666, 68, 68, 662, 672, 671, 68,
1214 669, 663, 670, 675, 1751, 68, 68, 68, 1751, 68,
1215 658, 668, 659, 68, 667, 68, 660, 679, 661, 676,
1216 666, 673, 678, 662, 672, 68, 685, 669, 663, 670,
1217 675, 674, 68, 677, 686, 68, 688, 687, 68, 68,
1218 681, 68, 689, 68, 679, 682, 676, 683, 673, 678,
1219 68, 68, 691, 685, 690, 694, 68, 692, 674, 696,
1220
1221 677, 686, 695, 688, 687, 684, 68, 681, 68, 689,
1222 68, 68, 682, 697, 683, 693, 68, 699, 698, 691,
1223 701, 690, 68, 68, 692, 68, 68, 700, 68, 695,
1224 68, 68, 684, 703, 706, 702, 705, 68, 709, 707,
1225 697, 68, 693, 718, 699, 698, 68, 701, 704, 68,
1226 708, 68, 68, 717, 700, 711, 68, 710, 68, 712,
1227 703, 706, 702, 705, 68, 68, 707, 713, 68, 68,
1228 714, 68, 716, 715, 68, 704, 725, 708, 724, 68,
1229 717, 720, 711, 68, 710, 721, 712, 719, 1751, 68,
1230 68, 728, 68, 722, 713, 68, 723, 714, 726, 716,
1231
1232 715, 68, 68, 725, 727, 724, 730, 729, 731, 735,
1233 68, 68, 68, 68, 719, 68, 732, 734, 728, 68,
1234 722, 733, 736, 723, 1751, 726, 1751, 738, 68, 1751,
1235 68, 727, 68, 730, 729, 731, 68, 68, 68, 740,
1236 68, 737, 742, 732, 734, 741, 739, 68, 733, 736,
1237 68, 68, 68, 743, 738, 68, 68, 744, 745, 746,
1238 747, 749, 748, 750, 752, 1751, 740, 68, 737, 742,
1239 751, 1751, 741, 739, 1751, 68, 68, 68, 755, 68,
1240 743, 758, 68, 68, 744, 745, 746, 747, 753, 748,
1241 754, 68, 68, 68, 68, 757, 68, 751, 759, 68,
1242
1243 760, 761, 68, 68, 68, 755, 68, 762, 758, 763,
1244 764, 765, 775, 766, 68, 753, 68, 754, 768, 68,
1245 769, 767, 757, 1751, 770, 759, 771, 760, 761, 772,
1246 1751, 68, 773, 68, 762, 68, 763, 68, 68, 68,
1247 766, 68, 68, 68, 68, 768, 68, 769, 767, 774,
1248 777, 770, 776, 771, 779, 778, 772, 68, 1751, 773,
1249 782, 68, 68, 780, 781, 783, 784, 1751, 785, 1751,
1250 787, 68, 786, 68, 788, 68, 774, 777, 68, 776,
1251 68, 779, 778, 794, 68, 68, 68, 782, 790, 68,
1252 780, 781, 783, 784, 68, 785, 68, 787, 789, 786,
1253
1254 791, 788, 792, 68, 793, 795, 68, 797, 1751, 796,
1255 794, 68, 798, 68, 68, 790, 68, 68, 68, 799,
1256 68, 68, 805, 800, 802, 789, 801, 791, 803, 792,
1257 804, 793, 795, 68, 797, 68, 796, 806, 807, 798,
1258 68, 68, 68, 68, 68, 811, 799, 810, 808, 805,
1259 800, 802, 809, 801, 812, 68, 814, 804, 813, 68,
1260 68, 1751, 815, 1751, 806, 807, 1751, 818, 68, 816,
1261 817, 68, 811, 1751, 810, 822, 68, 819, 820, 68,
1262 823, 812, 1751, 824, 68, 813, 821, 68, 68, 815,
1263 825, 68, 68, 68, 818, 68, 816, 817, 826, 68,
1264
1265 68, 827, 822, 831, 819, 820, 828, 832, 829, 833,
1266 830, 68, 68, 821, 68, 834, 836, 825, 844, 68,
1267 837, 68, 835, 68, 840, 826, 838, 68, 827, 68,
1268 831, 68, 68, 828, 832, 829, 833, 830, 839, 68,
1269 846, 841, 834, 68, 845, 68, 68, 68, 842, 835,
1270 843, 840, 68, 838, 68, 847, 68, 68, 848, 850,
1271 852, 849, 853, 851, 854, 839, 855, 68, 841, 68,
1272 68, 845, 856, 68, 858, 842, 857, 843, 859, 68,
1273 68, 861, 847, 860, 68, 848, 68, 68, 849, 853,
1274 851, 68, 68, 855, 68, 68, 68, 862, 863, 856,
1275
1276 864, 858, 68, 857, 68, 859, 865, 866, 861, 867,
1277 860, 1751, 868, 870, 869, 871, 873, 68, 876, 872,
1278 68, 1751, 68, 68, 862, 68, 878, 68, 68, 68,
1279 68, 68, 879, 865, 877, 68, 867, 874, 68, 868,
1280 68, 869, 871, 875, 880, 876, 872, 68, 882, 68,
1281 68, 68, 881, 878, 68, 883, 884, 68, 68, 879,
1282 68, 877, 885, 886, 874, 890, 889, 887, 888, 892,
1283 875, 880, 1751, 1751, 891, 882, 893, 68, 1751, 881,
1284 894, 1751, 883, 884, 68, 68, 68, 68, 898, 885,
1285 68, 900, 890, 889, 68, 888, 68, 895, 68, 68,
1286
1287 68, 891, 897, 893, 899, 68, 904, 894, 896, 68,
1288 68, 68, 902, 68, 901, 898, 905, 903, 900, 68,
1289 906, 68, 907, 908, 895, 68, 909, 911, 68, 897,
1290 68, 899, 68, 904, 910, 896, 68, 68, 914, 902,
1291 912, 901, 916, 905, 903, 68, 68, 906, 913, 907,
1292 908, 915, 917, 909, 911, 918, 68, 68, 68, 68,
1293 68, 910, 919, 920, 68, 914, 923, 912, 921, 916,
1294 922, 927, 924, 1751, 928, 913, 929, 68, 915, 68,
1295 68, 925, 68, 68, 68, 926, 68, 932, 68, 919,
1296 68, 933, 68, 923, 931, 921, 1751, 922, 68, 924,
1297
1298 938, 928, 68, 929, 930, 68, 941, 934, 68, 935,
1299 936, 937, 68, 68, 932, 68, 940, 68, 68, 68,
1300 939, 931, 68, 943, 942, 944, 68, 938, 68, 955,
1301 945, 930, 68, 941, 934, 946, 935, 936, 937, 68,
1302 1751, 951, 947, 940, 68, 68, 948, 939, 68, 950,
1303 943, 942, 944, 68, 1751, 952, 68, 945, 953, 949,
1304 68, 957, 946, 954, 959, 956, 960, 68, 68, 947,
1305 68, 958, 961, 948, 68, 1751, 950, 68, 962, 1751,
1306 963, 68, 952, 68, 964, 953, 949, 965, 957, 68,
1307 954, 966, 956, 68, 967, 68, 68, 68, 958, 68,
1308
1309 968, 969, 68, 970, 68, 962, 68, 963, 971, 973,
1310 68, 964, 68, 1751, 965, 972, 68, 974, 966, 976,
1311 68, 967, 979, 975, 977, 68, 978, 968, 68, 983,
1312 970, 68, 980, 68, 68, 971, 973, 1751, 981, 68,
1313 68, 68, 972, 985, 974, 68, 976, 68, 68, 979,
1314 975, 977, 986, 978, 68, 982, 983, 984, 987, 980,
1315 988, 989, 68, 990, 68, 981, 991, 68, 68, 993,
1316 985, 994, 68, 992, 68, 1000, 68, 1001, 996, 986,
1317 995, 1751, 982, 1002, 984, 68, 1003, 988, 997, 68,
1318 990, 998, 68, 68, 68, 68, 993, 68, 994, 68,
1319
1320 992, 68, 1005, 999, 1001, 996, 68, 995, 68, 1004,
1321 1002, 68, 68, 1003, 1006, 997, 1007, 1009, 998, 1008,
1322 1010, 1012, 1015, 1751, 1751, 68, 68, 68, 68, 1005,
1323 999, 1011, 1014, 1013, 1016, 1751, 1004, 68, 1020, 1017,
1324 1023, 1751, 68, 1007, 1009, 68, 1008, 1010, 68, 68,
1325 1018, 68, 68, 68, 68, 1019, 68, 68, 1011, 1014,
1326 1013, 1016, 68, 1021, 1026, 1020, 1017, 1022, 1024, 1025,
1327 68, 68, 1028, 1029, 1751, 68, 68, 1018, 68, 1027,
1328 1030, 68, 1019, 1031, 68, 1033, 1032, 1034, 1751, 1042,
1329 1021, 1026, 1036, 68, 1022, 1024, 1025, 68, 68, 1028,
1330
1331 1029, 68, 1035, 68, 1037, 1041, 1027, 1030, 1038, 1043,
1332 1031, 68, 68, 1032, 1034, 1039, 68, 1046, 1040, 1036,
1333 68, 1044, 68, 68, 68, 1045, 68, 1047, 68, 1035,
1334 1051, 1037, 1041, 68, 1048, 1038, 68, 1050, 1053, 68,
1335 68, 1049, 1039, 68, 1046, 1040, 68, 1052, 1044, 68,
1336 1059, 1061, 1045, 1054, 1047, 1751, 68, 1051, 68, 1056,
1337 68, 1048, 1057, 1058, 1050, 1053, 1060, 1055, 1049, 1063,
1338 1062, 1064, 68, 1065, 1052, 68, 68, 68, 1751, 68,
1339 1054, 68, 68, 1072, 1068, 1069, 1056, 68, 1751, 1057,
1340 1058, 68, 1066, 1060, 1055, 1070, 1063, 1062, 1067, 68,
1341
1342 1065, 1071, 68, 68, 68, 1077, 1073, 1076, 1080, 68,
1343 1751, 1068, 1069, 1075, 68, 1074, 68, 68, 1751, 1066,
1344 68, 1078, 1070, 1079, 68, 1067, 68, 68, 1071, 1083,
1345 68, 1084, 1077, 1073, 1076, 1080, 1751, 1081, 1086, 1082,
1346 1075, 68, 1074, 68, 68, 68, 1087, 1085, 1078, 1088,
1347 1079, 68, 1089, 68, 1090, 1093, 68, 68, 1084, 1091,
1348 1095, 68, 1096, 1092, 1081, 1086, 1082, 68, 68, 68,
1349 1094, 1097, 1751, 1087, 1085, 1100, 1088, 1098, 1099, 1102,
1350 68, 1090, 68, 68, 68, 1103, 1091, 68, 1101, 1096,
1351 1092, 68, 68, 68, 68, 1104, 1108, 1094, 68, 1107,
1352
1353 68, 1109, 1100, 68, 1098, 1099, 1102, 68, 1105, 1106,
1354 1111, 68, 1103, 68, 1110, 1101, 68, 1112, 68, 1113,
1355 68, 1114, 1104, 68, 68, 1115, 1107, 1116, 68, 1118,
1356 1117, 1119, 68, 1120, 1121, 1105, 1106, 1111, 1122, 1124,
1357 1123, 1110, 68, 68, 1112, 1125, 68, 1126, 1114, 1131,
1358 1751, 1751, 68, 68, 68, 68, 68, 1117, 1119, 1135,
1359 68, 1121, 1136, 1132, 68, 68, 68, 1123, 1134, 68,
1360 68, 68, 1125, 1127, 1128, 1129, 1131, 1133, 68, 1138,
1361 1130, 68, 1137, 68, 68, 1139, 1135, 1141, 68, 68,
1362 1132, 1142, 68, 1140, 1751, 1134, 1143, 1144, 1145, 68,
1363
1364 1127, 1128, 1129, 68, 1133, 68, 1138, 1130, 1146, 1137,
1365 1149, 68, 1139, 1154, 68, 68, 68, 1148, 1142, 1150,
1366 1140, 1147, 68, 1143, 1144, 1145, 1151, 1152, 68, 1153,
1367 1155, 1156, 68, 68, 68, 1146, 1157, 1149, 1159, 1751,
1368 68, 1158, 1160, 68, 1148, 1161, 68, 68, 1147, 68,
1369 68, 68, 68, 1151, 1152, 1162, 68, 1155, 1156, 1163,
1370 68, 1165, 68, 1157, 1166, 1159, 1164, 1174, 1158, 1160,
1371 1168, 68, 1161, 68, 68, 1171, 1167, 1172, 1175, 1169,
1372 1751, 68, 1162, 68, 1170, 68, 1163, 1173, 1165, 1178,
1373 1181, 1166, 1176, 1164, 68, 68, 1177, 68, 68, 1183,
1374
1375 68, 1180, 68, 1167, 1172, 68, 1169, 1179, 68, 1182,
1376 1184, 1170, 1186, 1185, 1173, 68, 68, 1188, 1189, 1192,
1377 68, 68, 68, 68, 68, 68, 1183, 1187, 1180, 1190,
1378 1751, 1191, 68, 68, 1179, 1193, 1182, 1184, 1195, 1196,
1379 1185, 1751, 1194, 68, 1202, 1189, 68, 1197, 68, 68,
1380 1199, 1751, 1198, 68, 1187, 1209, 1190, 68, 1191, 68,
1381 1200, 68, 68, 1201, 1204, 1195, 1196, 1205, 68, 1194,
1382 68, 68, 68, 1203, 1197, 68, 68, 1199, 68, 1198,
1383 68, 1206, 68, 1207, 1210, 1208, 68, 1200, 1211, 68,
1384 1201, 1204, 1213, 1216, 1205, 1214, 1218, 68, 1215, 1212,
1385
1386 1203, 68, 1219, 1221, 1223, 1217, 68, 68, 1206, 68,
1387 1207, 1210, 1208, 68, 68, 1211, 68, 68, 1220, 1213,
1388 68, 1222, 1214, 1218, 1224, 1215, 1212, 1225, 68, 68,
1389 1221, 68, 1217, 68, 68, 1226, 1228, 1227, 1229, 1751,
1390 1232, 1230, 68, 1231, 68, 1220, 68, 1235, 1222, 1240,
1391 1233, 1224, 68, 68, 1225, 68, 68, 68, 68, 1234,
1392 1236, 68, 1226, 1228, 1227, 1229, 68, 1232, 1230, 68,
1393 1231, 1237, 1238, 1242, 1235, 1239, 68, 1233, 1241, 68,
1394 68, 1243, 1244, 1246, 1248, 68, 1234, 1236, 68, 1245,
1395 68, 1249, 68, 1250, 1247, 68, 1253, 1256, 1237, 1238,
1396
1397 1242, 68, 1239, 1751, 68, 1241, 68, 1254, 1243, 1244,
1398 1246, 68, 68, 68, 1251, 68, 1245, 1252, 1249, 68,
1399 1250, 1247, 68, 68, 1255, 1257, 1751, 1751, 68, 1258,
1400 68, 68, 1260, 1259, 1254, 1261, 1262, 1263, 1264, 1751,
1401 1751, 1251, 1268, 1267, 1252, 1265, 1266, 68, 68, 68,
1402 68, 1255, 1257, 68, 68, 68, 1258, 68, 1270, 1260,
1403 1259, 68, 1261, 1262, 1263, 1264, 1269, 68, 68, 1268,
1404 1267, 1271, 1265, 1266, 1272, 1275, 1273, 68, 68, 68,
1405 1277, 1274, 1276, 1278, 1751, 1270, 68, 1282, 1279, 1284,
1406 1280, 68, 68, 1269, 1283, 1285, 68, 1287, 1271, 68,
1407
1408 68, 1272, 68, 1273, 1281, 1286, 1291, 68, 1274, 1276,
1409 1278, 68, 68, 68, 68, 1279, 1284, 1280, 68, 1288,
1410 1289, 1283, 68, 68, 68, 1290, 1292, 1293, 68, 68,
1411 1296, 1281, 1286, 1291, 68, 68, 1294, 1295, 1297, 1298,
1412 1299, 68, 68, 1300, 1302, 68, 1288, 1289, 68, 1301,
1413 1751, 68, 1290, 68, 1293, 1303, 68, 1296, 68, 1312,
1414 68, 1304, 68, 1294, 1295, 1297, 1298, 1299, 1313, 1309,
1415 68, 1302, 68, 1305, 1306, 68, 1301, 68, 68, 1308,
1416 1307, 68, 1303, 68, 1310, 1311, 68, 68, 1304, 1314,
1417 1316, 68, 68, 1317, 1318, 1313, 1309, 1315, 1319, 68,
1418
1419 1305, 1306, 1321, 68, 68, 1322, 1308, 1307, 1320, 1323,
1420 68, 1310, 1311, 1325, 1326, 1324, 1314, 1316, 1327, 68,
1421 1317, 68, 68, 68, 1315, 68, 68, 1328, 1329, 68,
1422 1330, 1331, 68, 1751, 1332, 1320, 68, 1335, 68, 1333,
1423 68, 68, 1324, 68, 1334, 1327, 1337, 1338, 1339, 68,
1424 1340, 1344, 1336, 1343, 1328, 68, 68, 1330, 68, 68,
1425 68, 1332, 1751, 68, 1335, 1341, 1333, 1346, 68, 68,
1426 1342, 1334, 1348, 68, 1338, 1339, 68, 68, 68, 1336,
1427 1343, 1345, 68, 1347, 68, 1349, 1350, 1351, 1352, 68,
1428 68, 1353, 1341, 1357, 68, 1355, 1354, 1342, 68, 1348,
1429
1430 1751, 68, 68, 68, 1356, 68, 1358, 1360, 1345, 68,
1431 1347, 68, 1349, 1350, 1351, 1352, 68, 68, 1353, 1359,
1432 1357, 1361, 1355, 1354, 68, 1363, 1365, 1362, 1751, 1364,
1433 1751, 1356, 68, 1358, 68, 1368, 1751, 1366, 68, 1751,
1434 1369, 1374, 1371, 68, 68, 1367, 1359, 68, 1361, 1372,
1435 1370, 1375, 1363, 1373, 1362, 68, 1364, 68, 68, 1377,
1436 68, 1376, 1368, 68, 1366, 68, 68, 1369, 68, 1371,
1437 1379, 68, 1367, 1380, 68, 1378, 1372, 1370, 68, 1381,
1438 1373, 68, 1384, 68, 1382, 68, 1377, 1751, 1376, 1383,
1439 68, 1386, 1385, 1390, 1388, 1387, 1389, 1379, 68, 1391,
1440
1441 1380, 1393, 1378, 68, 1392, 68, 1381, 68, 68, 68,
1442 1394, 1382, 68, 68, 68, 68, 1383, 68, 1386, 1385,
1443 1390, 1388, 1387, 1389, 1395, 68, 1396, 1397, 1393, 1399,
1444 68, 1392, 68, 1398, 1401, 1400, 1402, 1394, 1403, 1404,
1445 1405, 1406, 1410, 1751, 1409, 68, 68, 1751, 1407, 1408,
1446 1413, 68, 68, 1396, 1397, 68, 68, 68, 1414, 68,
1447 1398, 68, 1400, 68, 68, 68, 1404, 1405, 1406, 68,
1448 68, 68, 1411, 68, 1412, 1407, 1408, 68, 1415, 1416,
1449 68, 68, 1417, 1418, 1419, 1414, 68, 1420, 1422, 1751,
1450 1751, 1428, 68, 1421, 1426, 1751, 1751, 68, 1423, 1411,
1451
1452 1751, 1412, 1424, 68, 68, 1415, 1416, 1425, 68, 1417,
1453 68, 68, 1427, 68, 68, 1422, 68, 68, 68, 68,
1454 1421, 1426, 68, 1429, 1431, 1423, 1430, 68, 1432, 1424,
1455 1433, 68, 1434, 68, 1425, 1435, 1437, 1439, 1436, 1427,
1456 1440, 68, 68, 68, 68, 68, 1438, 1441, 1449, 1444,
1457 1429, 1431, 1442, 1430, 68, 1432, 68, 1433, 68, 1434,
1458 1445, 68, 1435, 1437, 68, 1436, 1443, 68, 68, 1448,
1459 1446, 68, 1447, 1438, 1441, 68, 1444, 68, 68, 1442,
1460 1450, 68, 1451, 1453, 1751, 1454, 1457, 1445, 1452, 1458,
1461 1455, 1751, 68, 1443, 68, 68, 1448, 1446, 68, 1447,
1462
1463 68, 68, 68, 1456, 1460, 1459, 1466, 1450, 1751, 1451,
1464 1453, 68, 1454, 68, 68, 1452, 68, 1455, 1461, 1463,
1465 68, 1462, 1464, 1465, 1467, 1468, 68, 68, 68, 68,
1466 1456, 1460, 1459, 68, 68, 1469, 68, 1470, 1471, 1472,
1467 1473, 1475, 1476, 1751, 1477, 1461, 1463, 68, 1462, 1464,
1468 1465, 1467, 1468, 68, 1478, 1474, 1479, 1480, 68, 68,
1469 68, 1483, 1469, 68, 1470, 68, 1472, 68, 68, 68,
1470 68, 1477, 1481, 1485, 68, 1484, 1486, 1482, 1487, 68,
1471 68, 1478, 1474, 1479, 1480, 68, 1488, 68, 1483, 1489,
1472 68, 1490, 1491, 1492, 68, 68, 1493, 1494, 68, 1481,
1473
1474 1485, 1751, 1484, 1486, 1482, 1487, 1495, 1497, 1496, 1498,
1475 1500, 1501, 1499, 68, 68, 1503, 68, 1502, 1751, 1491,
1476 68, 68, 68, 68, 68, 68, 68, 1751, 68, 68,
1477 68, 68, 68, 1495, 1497, 1496, 1498, 1500, 1501, 1499,
1478 1504, 68, 1503, 1505, 1502, 1506, 1751, 1507, 1508, 1509,
1479 1512, 1510, 1511, 1513, 68, 1514, 1751, 68, 68, 1751,
1480 68, 68, 1515, 68, 1516, 1517, 68, 1504, 1521, 1522,
1481 1505, 68, 1506, 68, 1507, 1508, 1509, 68, 1510, 1511,
1482 1513, 68, 68, 68, 1518, 1519, 68, 1520, 1526, 1515,
1483 1523, 1516, 1517, 1524, 68, 1521, 68, 68, 68, 68,
1484
1485 1525, 1527, 1528, 1530, 1529, 1531, 1532, 1535, 68, 1751,
1486 1751, 1518, 1519, 68, 1520, 68, 68, 1523, 1533, 68,
1487 1524, 1534, 1536, 1537, 68, 1538, 1539, 1525, 68, 68,
1488 1530, 1529, 68, 68, 1542, 68, 68, 1540, 68, 1544,
1489 1549, 68, 68, 1541, 68, 1533, 1543, 68, 1534, 1536,
1490 1537, 1545, 1538, 1539, 68, 1546, 68, 1547, 68, 68,
1491 1548, 68, 68, 1557, 1540, 1550, 1544, 1549, 1551, 68,
1492 1541, 68, 68, 1543, 1555, 1552, 1556, 1558, 1545, 1553,
1493 1561, 68, 1546, 68, 1547, 68, 68, 1548, 1751, 1554,
1494 68, 1559, 1550, 68, 68, 1551, 68, 1562, 68, 1560,
1495
1496 68, 1555, 1552, 1556, 1558, 1563, 1553, 1561, 1566, 68,
1497 1564, 68, 1565, 1568, 68, 68, 1554, 1567, 1559, 1569,
1498 1570, 1571, 1575, 68, 1562, 68, 1560, 1572, 68, 1573,
1499 68, 68, 1563, 68, 1577, 1566, 1574, 1564, 68, 1565,
1500 1568, 68, 1580, 68, 1567, 68, 1569, 1570, 1571, 1578,
1501 1576, 68, 68, 68, 1572, 1579, 1573, 68, 1581, 1583,
1502 1582, 68, 1588, 1574, 1584, 1585, 1586, 68, 1590, 68,
1503 68, 1589, 68, 1587, 68, 1591, 1578, 1576, 68, 68,
1504 1592, 68, 1579, 1593, 68, 1581, 1583, 1582, 68, 68,
1505 68, 1584, 1585, 1586, 1595, 68, 1596, 68, 1589, 1594,
1506
1507 1587, 1597, 1591, 68, 1598, 1599, 68, 68, 1600, 68,
1508 1593, 1602, 1601, 1603, 1604, 1605, 68, 1607, 68, 1608,
1509 68, 1595, 68, 1596, 1606, 68, 1594, 68, 1597, 68,
1510 1611, 68, 68, 1609, 1610, 1600, 1612, 1613, 1602, 1601,
1511 68, 1604, 1605, 68, 1607, 68, 68, 1614, 1616, 1615,
1512 68, 1606, 1617, 1618, 1619, 1620, 1621, 68, 1622, 1623,
1513 1609, 1610, 68, 68, 1613, 1624, 1626, 1629, 1627, 68,
1514 68, 1625, 1628, 1751, 1614, 1616, 1615, 68, 68, 68,
1515 68, 68, 1620, 68, 68, 1622, 68, 1630, 1631, 68,
1516 68, 68, 1624, 68, 68, 1627, 1632, 1633, 1625, 1628,
1517
1518 1638, 1634, 1637, 1635, 1636, 1640, 68, 1641, 68, 68,
1519 68, 68, 68, 68, 1630, 1631, 1642, 1643, 1639, 1644,
1520 1645, 1751, 68, 1632, 1633, 68, 1647, 1638, 1634, 1637,
1521 1635, 1636, 68, 1650, 68, 1646, 1651, 1648, 1652, 68,
1522 68, 1649, 68, 1642, 68, 1639, 1644, 68, 68, 68,
1523 68, 1654, 1655, 68, 1653, 1656, 1658, 68, 1659, 1657,
1524 68, 1660, 1646, 68, 1648, 1652, 68, 68, 1649, 1661,
1525 1664, 1663, 1662, 1666, 68, 1751, 1665, 68, 1654, 1655,
1526 1669, 1653, 1656, 68, 1667, 68, 1657, 68, 68, 68,
1527 1670, 68, 68, 1668, 1672, 68, 68, 68, 1663, 1662,
1528
1529 1666, 68, 68, 1665, 1675, 1671, 1673, 1669, 68, 1674,
1530 1678, 1667, 68, 68, 68, 68, 1677, 1670, 68, 1751,
1531 1668, 1672, 1676, 1679, 68, 1680, 1681, 1682, 68, 68,
1532 1683, 1675, 1671, 1673, 1684, 1751, 1674, 68, 1688, 1686,
1533 1689, 68, 68, 1677, 1751, 1685, 1690, 68, 68, 1676,
1534 1679, 68, 1680, 1681, 1682, 1687, 1691, 1683, 68, 68,
1535 1692, 1693, 1695, 68, 1696, 68, 1686, 1694, 68, 68,
1536 68, 68, 1685, 1690, 68, 68, 68, 1697, 68, 1698,
1537 1699, 1702, 1687, 1691, 1700, 68, 1701, 1692, 1693, 1695,
1538 1706, 1696, 68, 1703, 1694, 1704, 1707, 1705, 1708, 1711,
1539
1540 1751, 68, 68, 68, 1697, 68, 1698, 1699, 1702, 1751,
1541 1714, 1700, 68, 1701, 1751, 68, 1751, 68, 68, 1709,
1542 1703, 68, 1704, 68, 1705, 1708, 1710, 68, 1712, 1713,
1543 68, 1715, 68, 1716, 68, 1717, 68, 1714, 1718, 68,
1544 1720, 68, 1721, 68, 1719, 1751, 1709, 1722, 68, 68,
1545 1723, 1751, 1751, 1710, 1726, 1712, 1713, 1751, 1715, 1724,
1546 1716, 1751, 1717, 1727, 68, 1718, 68, 1720, 68, 1721,
1547 1725, 1719, 68, 68, 1722, 1728, 1729, 1723, 68, 68,
1548 1731, 68, 1730, 68, 68, 1734, 1724, 1751, 68, 1732,
1549 1727, 1733, 1735, 68, 1736, 68, 1740, 1725, 1737, 1742,
1550
1551 68, 1739, 1728, 1729, 68, 1743, 68, 1731, 1751, 1730,
1552 1741, 68, 1734, 68, 1738, 1744, 1732, 1745, 1733, 1735,
1553 68, 1736, 68, 68, 1746, 1737, 68, 68, 1739, 1749,
1554 68, 1750, 68, 1751, 1751, 68, 1751, 1741, 1751, 68,
1555 1747, 1738, 1744, 1751, 1745, 1748, 68, 1751, 68, 1751,
1556 1751, 1746, 1751, 68, 1751, 1751, 68, 1751, 68, 1751,
1557 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1747, 1751, 1751,
1558 1751, 1751, 1748, 40, 40, 40, 40, 40, 40, 40,
1559 45, 45, 45, 45, 45, 45, 45, 50, 50, 50,
1560 50, 50, 50, 50, 56, 56, 56, 56, 56, 56,
1561
1562 56, 61, 61, 61, 61, 61, 61, 61, 71, 71,
1563 1751, 71, 71, 71, 71, 125, 125, 1751, 1751, 1751,
1564 125, 125, 127, 127, 1751, 1751, 127, 1751, 127, 129,
1565 1751, 1751, 1751, 1751, 1751, 129, 132, 132, 1751, 1751,
1566 1751, 132, 132, 134, 1751, 1751, 1751, 1751, 1751, 134,
1567 136, 136, 1751, 136, 136, 136, 136, 72, 72, 1751,
1568 72, 72, 72, 72, 13, 1751, 1751, 1751, 1751, 1751,
1569 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
1570 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
1571 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
1572
1573 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
1574 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
1575 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751
15631576 } ;
15641577
1565 static yyconst flex_int16_t yy_chk[5072] =
1578 static yyconst flex_int16_t yy_chk[5131] =
15661579 { 0,
15671580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
15681581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
15721585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
15731586 1, 1, 1, 1, 1, 3, 3, 3, 4, 4,
15741587 4, 5, 5, 6, 6, 5, 24, 6, 7, 7,
1575 7, 7, 1736, 7, 8, 8, 8, 8, 24, 8,
1588 7, 7, 1757, 7, 8, 8, 8, 8, 24, 8,
15761589 9, 9, 9, 10, 10, 10, 15, 44, 44, 49,
15771590
15781591 15, 3, 49, 24, 4, 60, 60, 5, 19, 6,
1579 19, 19, 69, 19, 644, 7, 69, 39, 19, 39,
1580 39, 8, 39, 23, 20, 20, 9, 39, 638, 10,
1592 19, 19, 69, 19, 651, 7, 69, 39, 19, 39,
1593 39, 8, 39, 23, 20, 20, 9, 39, 645, 10,
15811594 11, 11, 11, 11, 11, 11, 12, 12, 12, 12,
15821595 12, 12, 20, 23, 27, 19, 23, 29, 20, 11,
1583 23, 20, 20, 133, 21, 12, 27, 25, 638, 29,
1584 131, 21, 125, 125, 28, 25, 130, 11, 21, 20,
1585 23, 27, 127, 12, 29, 127, 11, 132, 132, 128,
1596 23, 20, 20, 134, 21, 12, 27, 25, 645, 29,
1597 132, 21, 126, 126, 28, 25, 131, 11, 21, 20,
1598 23, 27, 128, 12, 29, 128, 11, 133, 133, 129,
15861599 21, 21, 12, 25, 25, 75, 28, 26, 21, 37,
15871600 26, 28, 25, 30, 37, 21, 22, 26, 32, 26,
15881601
15891602 22, 30, 37, 22, 32, 22, 22, 30, 75, 31,
1590 26, 30, 75, 31, 26, 126, 37, 26, 22, 30,
1591 30, 37, 209, 22, 26, 32, 26, 22, 30, 31,
1592 22, 124, 22, 22, 30, 31, 31, 33, 30, 55,
1593 31, 55, 55, 33, 55, 34, 33, 67, 36, 34,
1594 36, 209, 61, 33, 56, 33, 31, 93, 66, 34,
1595 66, 66, 34, 66, 33, 36, 51, 114, 35, 139,
1596 33, 34, 34, 33, 36, 36, 34, 36, 35, 74,
1597 33, 38, 35, 35, 65, 38, 34, 50, 93, 34,
1598 35, 63, 36, 63, 63, 35, 63, 65, 114, 129,
1599
1600 139, 129, 129, 74, 129, 35, 74, 38, 38, 35,
1601 35, 65, 38, 68, 76, 68, 68, 71, 68, 71,
1602 71, 76, 71, 68, 77, 78, 79, 71, 63, 80,
1603 82, 81, 84, 45, 78, 82, 40, 77, 83, 79,
1604 81, 76, 85, 86, 80, 90, 83, 14, 77, 84,
1605 86, 77, 78, 79, 71, 85, 80, 82, 81, 87,
1606 89, 91, 88, 84, 77, 83, 98, 90, 87, 85,
1607 86, 88, 90, 94, 91, 92, 84, 13, 92, 98,
1608 99, 94, 97, 89, 95, 97, 87, 89, 91, 88,
1609 96, 0, 92, 98, 96, 100, 101, 105, 102, 92,
1610
1611 94, 104, 92, 99, 95, 92, 95, 99, 104, 97,
1612 101, 95, 103, 0, 96, 100, 0, 96, 102, 92,
1613 105, 96, 100, 101, 105, 102, 103, 106, 104, 107,
1614 108, 95, 110, 107, 109, 111, 106, 108, 115, 103,
1615 112, 109, 147, 113, 119, 0, 110, 111, 112, 116,
1616 119, 107, 113, 115, 106, 117, 107, 108, 120, 110,
1617 107, 109, 111, 118, 117, 115, 121, 112, 123, 116,
1618 113, 119, 122, 147, 118, 116, 116, 123, 137, 120,
1619 0, 0, 117, 120, 0, 120, 138, 122, 121, 134,
1620 118, 134, 134, 121, 134, 123, 116, 140, 135, 122,
1621
1622 135, 135, 137, 135, 141, 137, 120, 142, 138, 140,
1623 143, 144, 145, 138, 146, 142, 0, 145, 144, 148,
1624 0, 151, 143, 141, 140, 150, 153, 152, 0, 151,
1625 153, 141, 154, 156, 142, 135, 146, 143, 144, 155,
1626 148, 146, 160, 145, 145, 157, 156, 148, 151, 152,
1627 0, 150, 150, 153, 152, 154, 161, 157, 0, 154,
1628 156, 155, 158, 164, 160, 158, 155, 148, 149, 160,
1629 159, 0, 157, 149, 162, 161, 163, 158, 149, 159,
1630 165, 162, 161, 161, 149, 149, 166, 163, 167, 158,
1631 170, 149, 158, 169, 164, 149, 166, 159, 168, 169,
1632
1633 149, 162, 161, 163, 171, 149, 165, 165, 172, 173,
1634 174, 149, 149, 0, 175, 176, 168, 166, 0, 167,
1635 169, 170, 176, 166, 177, 168, 171, 178, 179, 0,
1636 174, 171, 178, 186, 180, 175, 181, 174, 183, 172,
1637 173, 175, 176, 182, 184, 177, 187, 179, 181, 184,
1638 182, 177, 188, 187, 178, 179, 180, 185, 185, 190,
1639 183, 180, 189, 181, 186, 183, 185, 191, 192, 194,
1640 182, 184, 193, 187, 195, 191, 196, 188, 200, 188,
1641 198, 197, 189, 192, 185, 185, 202, 199, 198, 189,
1642 190, 194, 0, 196, 191, 192, 197, 201, 193, 193,
1643
1644 194, 196, 204, 196, 203, 195, 199, 198, 197, 200,
1645 206, 204, 206, 205, 199, 207, 203, 202, 194, 201,
1646 196, 208, 0, 210, 201, 211, 0, 212, 216, 204,
1647 215, 203, 205, 213, 214, 217, 219, 206, 212, 207,
1648 205, 221, 207, 218, 0, 213, 216, 208, 208, 210,
1649 210, 211, 211, 215, 212, 216, 218, 215, 214, 220,
1650 213, 214, 219, 219, 222, 223, 217, 224, 225, 227,
1651 218, 222, 221, 224, 223, 226, 228, 231, 227, 229,
1652 232, 220, 225, 230, 0, 233, 220, 234, 229, 240,
1653 234, 222, 223, 235, 224, 225, 227, 234, 230, 228,
1654
1655 233, 226, 226, 228, 232, 237, 229, 232, 231, 236,
1656 230, 235, 233, 238, 234, 236, 240, 234, 241, 237,
1657 235, 239, 239, 242, 245, 243, 242, 248, 238, 244,
1658 0, 0, 237, 242, 247, 246, 236, 243, 251, 248,
1659 238, 253, 241, 249, 0, 241, 239, 244, 239, 239,
1660 242, 245, 243, 242, 248, 0, 244, 246, 249, 250,
1661 247, 247, 246, 253, 252, 254, 250, 254, 253, 251,
1662 249, 252, 255, 256, 259, 257, 256, 258, 256, 0,
1663 261, 0, 260, 262, 256, 255, 250, 261, 260, 254,
1664 264, 252, 254, 257, 254, 262, 259, 268, 263, 255,
1665
1666 256, 259, 257, 256, 267, 256, 264, 261, 258, 260,
1667 262, 263, 269, 265, 264, 268, 267, 264, 269, 270,
1668 271, 272, 0, 276, 268, 263, 265, 270, 272, 273,
1669 274, 267, 271, 264, 274, 276, 275, 277, 279, 269,
1670 265, 266, 266, 275, 278, 279, 270, 271, 272, 277,
1671 276, 266, 281, 266, 266, 266, 0, 274, 266, 280,
1672 273, 0, 282, 275, 277, 279, 266, 285, 266, 266,
1673 283, 289, 280, 282, 285, 278, 284, 284, 266, 286,
1674 266, 266, 266, 281, 287, 266, 280, 288, 292, 282,
1675 286, 293, 283, 290, 285, 287, 289, 283, 289, 291,
1676
1677 288, 292, 295, 294, 293, 284, 286, 297, 291, 293,
1678 296, 287, 298, 300, 288, 292, 290, 299, 293, 301,
1679 290, 294, 305, 0, 295, 297, 291, 302, 303, 295,
1680 294, 293, 304, 296, 297, 306, 300, 296, 299, 307,
1681 300, 306, 303, 298, 299, 301, 301, 309, 308, 302,
1682 310, 311, 0, 305, 302, 303, 313, 307, 304, 304,
1683 315, 312, 306, 308, 0, 316, 307, 312, 323, 319,
1684 309, 316, 317, 311, 309, 308, 310, 310, 311, 318,
1685 324, 323, 313, 313, 319, 326, 315, 315, 312, 325,
1686 331, 317, 316, 321, 322, 323, 319, 318, 324, 317,
1687
1688 321, 322, 327, 329, 326, 328, 318, 324, 329, 330,
1689 332, 325, 326, 331, 328, 330, 325, 331, 333, 335,
1690 321, 322, 332, 334, 0, 0, 342, 335, 337, 0,
1691 329, 0, 328, 327, 334, 337, 330, 332, 338, 339,
1692 333, 0, 0, 0, 340, 333, 335, 341, 339, 338,
1693 334, 336, 342, 342, 341, 337, 336, 343, 336, 343,
1694 344, 345, 349, 0, 346, 338, 336, 349, 340, 347,
1695 339, 340, 348, 345, 341, 339, 336, 336, 336, 346,
1696 348, 347, 350, 336, 343, 336, 344, 344, 345, 349,
1697 351, 346, 352, 336, 353, 354, 347, 355, 356, 348,
1698
1699 352, 0, 357, 336, 350, 360, 353, 359, 351, 350,
1700 358, 357, 361, 356, 363, 362, 365, 351, 354, 352,
1701 371, 353, 354, 364, 358, 356, 359, 361, 355, 357,
1702 362, 369, 360, 366, 359, 364, 366, 358, 363, 361,
1703 365, 363, 362, 365, 366, 367, 370, 368, 372, 367,
1704 364, 371, 373, 374, 378, 376, 375, 0, 369, 380,
1705 366, 368, 375, 366, 377, 379, 382, 383, 0, 389,
1706 0, 381, 0, 370, 368, 372, 367, 376, 381, 373,
1707 384, 380, 376, 375, 374, 378, 380, 377, 379, 383,
1708 385, 377, 379, 384, 383, 385, 387, 382, 381, 385,
1709
1710 389, 386, 388, 390, 0, 387, 0, 384, 391, 393,
1711 394, 392, 398, 0, 385, 388, 0, 385, 395, 0,
1712 400, 390, 385, 387, 394, 399, 385, 386, 386, 388,
1713 390, 393, 391, 392, 392, 391, 393, 394, 392, 396,
1714 395, 397, 402, 398, 400, 395, 399, 400, 401, 403,
1715 396, 405, 399, 406, 404, 408, 397, 407, 403, 408,
1716 392, 410, 0, 0, 402, 0, 396, 404, 397, 402,
1717 411, 409, 401, 405, 414, 401, 403, 406, 405, 407,
1718 406, 404, 415, 416, 407, 409, 408, 412, 411, 413,
1719 415, 417, 410, 413, 418, 422, 419, 411, 409, 414,
1720
1721 417, 414, 412, 418, 419, 420, 426, 421, 416, 415,
1722 416, 412, 420, 422, 412, 423, 424, 429, 417, 425,
1723 413, 418, 422, 419, 428, 424, 431, 423, 427, 412,
1724 421, 425, 420, 430, 421, 436, 427, 426, 435, 433,
1725 429, 432, 423, 424, 429, 434, 425, 433, 431, 430,
1726 428, 428, 432, 431, 437, 427, 438, 436, 435, 434,
1727 430, 440, 436, 439, 441, 435, 433, 443, 432, 442,
1728 440, 444, 434, 445, 437, 451, 446, 449, 438, 0,
1729 443, 437, 0, 438, 441, 439, 447, 442, 440, 452,
1730 439, 441, 447, 444, 443, 449, 442, 445, 444, 446,
1731
1732 445, 448, 453, 446, 449, 454, 451, 455, 468, 448,
1733 456, 460, 452, 447, 454, 463, 452, 453, 457, 456,
1734 457, 466, 467, 460, 469, 463, 455, 448, 448, 453,
1735 471, 468, 454, 0, 455, 468, 448, 456, 460, 466,
1736 474, 491, 463, 467, 475, 457, 458, 472, 466, 467,
1737 458, 492, 471, 458, 478, 469, 472, 471, 476, 473,
1738 458, 473, 477, 458, 474, 0, 478, 474, 458, 479,
1739 0, 475, 491, 458, 472, 0, 480, 458, 476, 481,
1740 458, 478, 492, 0, 0, 476, 473, 458, 477, 477,
1741 458, 470, 470, 489, 470, 479, 479, 470, 483, 482,
1742
1743 480, 481, 470, 480, 484, 483, 481, 482, 470, 470,
1744 487, 485, 484, 486, 488, 489, 490, 470, 470, 470,
1745 489, 470, 487, 488, 470, 483, 482, 493, 494, 470,
1746 485, 484, 500, 495, 496, 470, 470, 487, 485, 486,
1747 486, 488, 498, 490, 501, 499, 502, 497, 0, 494,
1748 0, 493, 495, 496, 493, 494, 497, 505, 503, 500,
1749 495, 496, 506, 501, 498, 499, 503, 507, 0, 498,
1750 508, 501, 499, 512, 497, 505, 509, 502, 0, 512,
1751 507, 514, 510, 513, 505, 503, 506, 514, 509, 506,
1752 510, 515, 519, 518, 507, 517, 508, 508, 515, 516,
1753
1754 512, 523, 517, 509, 516, 513, 510, 520, 514, 510,
1755 513, 518, 522, 521, 523, 519, 520, 510, 515, 519,
1756 518, 521, 517, 524, 525, 526, 516, 527, 523, 528,
1757 522, 525, 529, 0, 520, 530, 535, 0, 526, 522,
1758 521, 531, 532, 530, 524, 534, 536, 533, 537, 538,
1759 524, 525, 526, 533, 539, 529, 531, 537, 527, 529,
1760 528, 541, 530, 538, 532, 542, 543, 535, 531, 532,
1761 536, 534, 534, 536, 533, 537, 538, 540, 543, 544,
1762 546, 545, 547, 546, 540, 539, 551, 548, 541, 545,
1763 0, 553, 542, 543, 548, 547, 0, 550, 551, 552,
1764
1765 554, 552, 544, 553, 540, 0, 544, 546, 545, 547,
1766 0, 557, 0, 551, 548, 549, 555, 549, 553, 556,
1767 550, 549, 554, 549, 550, 558, 552, 554, 549, 555,
1768 565, 559, 556, 549, 557, 560, 561, 558, 557, 549,
1769 0, 559, 549, 555, 549, 562, 556, 568, 549, 561,
1770 549, 562, 558, 559, 563, 549, 564, 560, 559, 566,
1771 549, 565, 560, 561, 566, 567, 566, 563, 559, 568,
1772 571, 573, 562, 572, 568, 569, 574, 564, 576, 570,
1773 567, 563, 579, 564, 566, 566, 566, 577, 569, 574,
1774 573, 566, 567, 566, 570, 572, 571, 571, 573, 575,
1775
1776 572, 580, 569, 574, 581, 576, 570, 575, 582, 584,
1777 577, 566, 581, 579, 577, 583, 585, 584, 588, 590,
1778 586, 587, 582, 589, 592, 580, 575, 585, 580, 587,
1779 589, 581, 590, 591, 597, 582, 584, 583, 586, 600,
1780 588, 594, 583, 585, 595, 588, 590, 586, 587, 594,
1781 589, 591, 596, 595, 598, 592, 597, 600, 599, 602,
1782 591, 597, 601, 604, 596, 608, 600, 604, 594, 605,
1783 0, 595, 605, 606, 610, 607, 598, 608, 0, 596,
1784 599, 598, 607, 612, 609, 599, 613, 611, 601, 601,
1785 602, 609, 608, 611, 604, 605, 605, 606, 610, 605,
1786
1787 606, 610, 607, 614, 615, 612, 616, 617, 613, 619,
1788 612, 609, 621, 613, 611, 615, 620, 618, 619, 623,
1789 622, 621, 0, 624, 614, 628, 623, 616, 622, 625,
1790 614, 615, 626, 616, 617, 618, 619, 624, 630, 621,
1791 620, 631, 629, 620, 618, 632, 623, 622, 627, 628,
1792 624, 625, 628, 630, 626, 633, 625, 627, 629, 626,
1793 634, 636, 635, 637, 639, 630, 640, 633, 646, 629,
1794 635, 641, 631, 639, 636, 627, 632, 0, 637, 641,
1795 646, 642, 633, 642, 640, 647, 645, 634, 636, 635,
1796 637, 639, 647, 640, 648, 646, 649, 650, 641, 645,
1797
1798 0, 651, 652, 653, 654, 655, 656, 659, 642, 657,
1799 658, 660, 647, 645, 656, 652, 653, 655, 658, 650,
1800 660, 657, 661, 651, 650, 648, 654, 649, 651, 652,
1801 653, 654, 655, 656, 659, 662, 657, 658, 660, 663,
1802 665, 664, 662, 661, 666, 667, 668, 0, 0, 661,
1803 671, 673, 669, 670, 672, 668, 675, 666, 671, 673,
1804 665, 674, 662, 664, 0, 663, 663, 665, 664, 667,
1805 669, 666, 667, 668, 675, 670, 672, 671, 673, 669,
1806 670, 672, 676, 675, 674, 677, 678, 679, 674, 681,
1807 680, 682, 684, 688, 676, 681, 685, 677, 680, 683,
1808
1809 682, 0, 679, 685, 684, 692, 678, 686, 689, 676,
1810 690, 0, 677, 678, 679, 691, 681, 680, 682, 684,
1811 683, 689, 691, 685, 688, 686, 683, 692, 695, 690,
1812 694, 696, 692, 697, 686, 689, 693, 690, 694, 698,
1813 693, 700, 691, 0, 701, 696, 699, 0, 702, 705,
1814 707, 697, 706, 708, 695, 695, 704, 694, 696, 703,
1815 697, 706, 705, 700, 0, 709, 701, 693, 700, 712,
1816 698, 701, 699, 699, 702, 702, 705, 703, 704, 706,
1817 710, 707, 714, 704, 708, 712, 703, 709, 711, 715,
1818 716, 718, 709, 711, 717, 711, 712, 711, 717, 716,
1819
1820 719, 715, 720, 710, 718, 714, 711, 710, 719, 714,
1821 721, 723, 724, 723, 725, 711, 715, 716, 718, 722,
1822 711, 720, 711, 721, 711, 717, 725, 719, 722, 720,
1823 726, 728, 729, 731, 730, 733, 732, 721, 723, 724,
1824 735, 725, 730, 732, 734, 736, 722, 737, 739, 738,
1825 745, 740, 736, 743, 729, 728, 741, 726, 728, 729,
1826 731, 730, 733, 732, 742, 741, 734, 735, 738, 737,
1827 739, 734, 736, 743, 737, 739, 738, 740, 740, 746,
1828 743, 745, 747, 741, 748, 742, 750, 749, 0, 752,
1829 751, 742, 753, 754, 750, 755, 757, 754, 0, 753,
1830
1831 0, 760, 759, 757, 747, 749, 751, 758, 0, 747,
1832 746, 759, 756, 750, 749, 748, 752, 751, 756, 753,
1833 754, 764, 758, 757, 761, 756, 755, 760, 760, 759,
1834 762, 761, 762, 763, 758, 769, 765, 766, 774, 756,
1835 765, 772, 763, 764, 771, 756, 768, 770, 764, 773,
1836 768, 761, 0, 769, 772, 0, 775, 762, 0, 766,
1837 763, 774, 769, 765, 766, 774, 770, 776, 772, 771,
1838 779, 771, 775, 778, 770, 776, 780, 768, 777, 777,
1839 773, 781, 778, 775, 782, 780, 783, 786, 781, 785,
1840 784, 0, 779, 788, 776, 783, 0, 779, 784, 786,
1841
1842 778, 788, 785, 780, 789, 777, 787, 782, 781, 790,
1843 791, 782, 792, 783, 786, 794, 785, 784, 787, 796,
1844 788, 792, 793, 795, 798, 796, 789, 794, 799, 790,
1845 797, 789, 791, 787, 800, 802, 790, 791, 803, 792,
1846 793, 804, 794, 805, 795, 806, 796, 803, 808, 793,
1847 795, 814, 797, 806, 807, 798, 805, 797, 807, 799,
1848 800, 800, 802, 804, 0, 803, 809, 813, 804, 810,
1849 805, 0, 806, 812, 809, 808, 815, 810, 811, 811,
1850 822, 812, 814, 816, 815, 807, 819, 817, 813, 818,
1851 821, 816, 820, 809, 813, 817, 810, 818, 820, 819,
1852
1853 812, 823, 821, 815, 824, 811, 822, 822, 825, 830,
1854 816, 826, 831, 819, 817, 834, 818, 821, 0, 820,
1855 827, 832, 825, 823, 827, 829, 833, 824, 823, 826,
1856 839, 824, 829, 833, 831, 825, 830, 827, 826, 831,
1857 836, 838, 840, 842, 832, 827, 834, 827, 832, 836,
1858 844, 827, 829, 833, 846, 853, 839, 839, 847, 848,
1859 849, 850, 849, 838, 827, 0, 0, 836, 838, 851,
1860 842, 848, 854, 840, 850, 855, 860, 844, 846, 854,
1861 852, 846, 853, 872, 847, 847, 848, 849, 850, 856,
1862 857, 851, 852, 864, 856, 858, 851, 859, 860, 854,
1863
1864 862, 855, 855, 860, 865, 859, 857, 852, 863, 862,
1865 868, 874, 871, 870, 872, 0, 856, 857, 858, 864,
1866 864, 863, 858, 866, 859, 867, 865, 862, 868, 869,
1867 866, 865, 867, 875, 871, 863, 869, 868, 870, 871,
1868 870, 873, 874, 876, 877, 885, 875, 880, 873, 881,
1869 866, 879, 867, 884, 879, 882, 869, 0, 887, 886,
1870 875, 888, 882, 888, 881, 877, 883, 885, 873, 883,
1871 876, 877, 885, 880, 880, 889, 881, 886, 879, 890,
1872 887, 883, 882, 0, 884, 887, 886, 891, 888, 892,
1873 883, 899, 893, 883, 894, 895, 883, 896, 892, 889,
1874
1875 893, 894, 889, 897, 898, 900, 901, 897, 883, 907,
1876 890, 904, 0, 891, 891, 901, 892, 895, 899, 893,
1877 905, 894, 895, 906, 904, 0, 898, 900, 896, 902,
1878 897, 898, 900, 901, 903, 905, 902, 906, 904, 908,
1879 907, 903, 909, 912, 914, 910, 908, 905, 913, 909,
1880 906, 910, 916, 919, 920, 915, 902, 927, 915, 923,
1881 913, 903, 921, 916, 914, 912, 908, 928, 0, 909,
1882 912, 914, 910, 915, 926, 913, 922, 923, 920, 916,
1883 919, 920, 915, 924, 921, 915, 923, 922, 927, 921,
1884 925, 924, 926, 925, 928, 929, 931, 930, 933, 932,
1885
1886 933, 926, 929, 922, 934, 931, 935, 936, 925, 942,
1887 924, 930, 932, 934, 937, 0, 938, 925, 936, 940,
1888 925, 944, 929, 931, 930, 933, 932, 947, 940, 945,
1889 938, 934, 935, 935, 936, 939, 937, 946, 939, 943,
1890 942, 937, 938, 938, 946, 948, 940, 953, 943, 949,
1891 945, 952, 944, 939, 954, 949, 945, 938, 947, 948,
1892 955, 953, 939, 954, 946, 939, 943, 956, 955, 957,
1893 952, 0, 948, 949, 953, 958, 949, 961, 952, 960,
1894 957, 954, 949, 962, 958, 963, 960, 955, 966, 964,
1895 965, 967, 966, 968, 971, 0, 957, 0, 956, 970,
1896
1897 961, 969, 958, 967, 961, 962, 960, 963, 965, 971,
1898 962, 964, 963, 974, 969, 966, 964, 965, 967, 970,
1899 968, 971, 972, 973, 975, 976, 970, 977, 969, 978,
1900 0, 973, 980, 979, 976, 982, 983, 972, 0, 975,
1901 984, 0, 985, 986, 974, 994, 0, 993, 977, 972,
1902 973, 975, 976, 982, 977, 984, 978, 979, 987, 980,
1903 979, 986, 982, 983, 985, 988, 989, 984, 990, 985,
1904 986, 991, 992, 987, 993, 997, 994, 988, 991, 996,
1905 998, 990, 997, 995, 992, 987, 990, 996, 989, 995,
1906 999, 1000, 988, 989, 1001, 990, 1002, 999, 991, 992,
1907
1908 1003, 1004, 997, 1006, 1008, 1007, 996, 998, 990, 1009,
1909 995, 1009, 1010, 1012, 1007, 1011, 1019, 999, 1000, 1002,
1910 0, 1001, 1014, 1002, 0, 1004, 1015, 1017, 1004, 1014,
1911 1016, 1003, 1007, 1015, 1006, 1008, 1009, 1016, 1021, 1010,
1912 1017, 1011, 1011, 1019, 1012, 1013, 1013, 1013, 1022, 1014,
1913 1018, 1024, 1013, 1015, 1017, 1022, 1018, 1016, 1020, 1020,
1914 1013, 1025, 1027, 1028, 1021, 1021, 1029, 1029, 1026, 1024,
1915 1030, 1035, 1013, 1013, 1013, 1022, 1032, 1018, 1024, 1013,
1916 1026, 1028, 1027, 1031, 1031, 1020, 1034, 1032, 1025, 1027,
1917 1028, 1036, 1037, 1029, 1038, 1026, 1030, 1030, 1036, 1040,
1918
1919 1039, 1042, 1035, 1032, 1041, 1043, 1044, 0, 1034, 1046,
1920 1031, 1041, 1037, 1034, 0, 1044, 1042, 1040, 1036, 1037,
1921 1050, 1038, 1039, 1045, 1045, 1047, 1040, 1039, 1042, 1043,
1922 1048, 1041, 1043, 1044, 1049, 1046, 1046, 1047, 1048, 1052,
1923 1051, 1050, 1054, 1053, 1058, 1055, 1049, 1050, 1053, 1056,
1924 1045, 1055, 1047, 1057, 1060, 1063, 1059, 1048, 1051, 1053,
1925 1059, 1049, 1056, 1061, 1061, 1062, 1052, 1051, 1064, 1054,
1926 1053, 1058, 1055, 1065, 1066, 1053, 1056, 1067, 1068, 1067,
1927 1062, 1070, 1095, 1064, 1057, 1060, 1063, 1059, 1069, 1066,
1928 1061, 1071, 1062, 1069, 0, 1064, 1065, 1073, 0, 1074,
1929
1930 1065, 1066, 1075, 1076, 1067, 1079, 1071, 1077, 1085, 1068,
1931 1078, 0, 1070, 1095, 1077, 1069, 0, 1080, 1071, 1083,
1932 1088, 1073, 1081, 1085, 1073, 1074, 1074, 1079, 1087, 1075,
1933 1076, 1078, 1079, 1090, 1077, 1085, 1093, 1078, 1080, 1091,
1934 1081, 1083, 1092, 1087, 1080, 1089, 1083, 1088, 1091, 1081,
1935 1092, 1090, 1089, 1094, 1096, 1087, 1108, 1098, 1100, 1093,
1936 1090, 1099, 1103, 1093, 1101, 1106, 1091, 1096, 1098, 1092,
1937 1099, 1110, 1089, 1107, 1111, 1094, 1100, 1106, 1112, 0,
1938 1094, 1096, 1101, 1098, 1098, 1100, 1107, 1108, 1099, 1103,
1939 1114, 1101, 1106, 1109, 1117, 1098, 1116, 1110, 1110, 1111,
1940
1941 1107, 1111, 1115, 1109, 1119, 1112, 1122, 1118, 0, 1115,
1942 1114, 1120, 1117, 1118, 1126, 1121, 1132, 1114, 1122, 1119,
1943 1109, 1117, 1116, 1116, 1127, 1123, 1120, 1129, 1124, 1115,
1944 1121, 1119, 1123, 1122, 1118, 1124, 1126, 1128, 1120, 1134,
1945 1131, 1126, 1121, 1132, 1135, 1129, 1128, 1133, 1133, 1127,
1946 1136, 1127, 1123, 1131, 1129, 1124, 1137, 1140, 1139, 1138,
1947 1141, 1134, 1143, 1144, 1128, 1139, 1134, 1131, 1138, 1135,
1948 1143, 1135, 1136, 1145, 1133, 1149, 1144, 1136, 1137, 1146,
1949 1148, 1151, 1141, 1137, 0, 1139, 1138, 1141, 1140, 1143,
1950 1144, 1146, 1147, 1150, 1154, 1152, 1151, 1149, 1152, 1147,
1951
1952 1145, 1153, 1149, 1160, 1162, 1157, 1146, 1158, 1151, 1155,
1953 0, 1148, 1154, 1152, 1164, 1162, 1161, 1160, 1150, 1147,
1954 1150, 1154, 1152, 1161, 1155, 1152, 1153, 1157, 1153, 1158,
1955 1160, 1162, 1157, 1166, 1158, 1164, 1155, 1167, 1168, 1169,
1956 1168, 1164, 1170, 1161, 1171, 1172, 0, 1173, 1175, 1167,
1957 1174, 1177, 1179, 1176, 1166, 1173, 1182, 1169, 1183, 1179,
1958 1166, 1184, 1171, 1178, 1167, 1168, 1169, 1176, 1185, 1170,
1959 1175, 1171, 1172, 1174, 1173, 1175, 1183, 1174, 1177, 1179,
1960 1176, 1186, 1178, 1182, 1187, 1183, 1189, 1188, 1184, 1191,
1961 1178, 1191, 0, 1187, 1185, 1185, 1186, 1192, 1193, 1195,
1962
1963 1194, 1196, 1193, 1198, 1197, 1200, 1199, 0, 1186, 1188,
1964 1196, 1187, 1194, 1189, 1188, 1197, 1191, 1200, 1201, 1192,
1965 1212, 1195, 1202, 1202, 1192, 1193, 1195, 1194, 1196, 1199,
1966 1198, 1197, 1200, 1199, 1203, 1205, 1207, 1208, 1206, 1205,
1967 1201, 1206, 1203, 1208, 1207, 1201, 1210, 1212, 1213, 1202,
1968 1217, 1209, 1210, 1214, 1218, 1215, 1216, 1219, 1221, 1222,
1969 1220, 1203, 1205, 1207, 1208, 1206, 1209, 1214, 1215, 1223,
1970 1216, 1224, 1213, 1210, 1220, 1213, 1217, 1217, 1209, 1224,
1971 1214, 1218, 1215, 1216, 1219, 1221, 1222, 1220, 1225, 1226,
1972 1229, 1227, 1230, 1231, 1232, 1233, 1223, 0, 1224, 1227,
1973
1974 1235, 1231, 1234, 1237, 1233, 1238, 1239, 1241, 1243, 0,
1975 1236, 1241, 1229, 1238, 1242, 1225, 1226, 1229, 1227, 1230,
1976 1231, 1232, 1233, 1234, 1235, 1236, 1242, 1235, 1244, 1234,
1977 1237, 1243, 1238, 1239, 1241, 1243, 1236, 1236, 1245, 1246,
1978 1249, 1242, 1247, 1247, 1248, 1250, 1245, 1252, 1253, 1252,
1979 1254, 1251, 1236, 1260, 1255, 1244, 1254, 0, 1249, 0,
1980 1250, 1257, 1253, 1261, 1258, 1245, 1246, 1249, 1256, 1247,
1981 1248, 1248, 1250, 1251, 1252, 1253, 1255, 1254, 1251, 1257,
1982 1256, 1255, 1258, 1259, 1260, 1263, 1261, 1265, 1257, 1266,
1983 1261, 1258, 1263, 1267, 1268, 1256, 1259, 0, 1273, 1270,
1984
1985 1271, 0, 1268, 0, 1275, 1265, 1278, 1280, 1276, 1281,
1986 1259, 1270, 1263, 1273, 1265, 1266, 1266, 1282, 1271, 1290,
1987 1268, 1268, 1281, 1283, 1267, 1273, 1270, 1271, 1275, 1268,
1988 1276, 1275, 1277, 1278, 1280, 1276, 1281, 1285, 1283, 1277,
1989 1284, 0, 1286, 1282, 1282, 1285, 1290, 1288, 1289, 1291,
1990 1283, 1292, 1293, 1284, 1294, 1295, 1297, 0, 1292, 1277,
1991 0, 1296, 1295, 1298, 1285, 1293, 1302, 1284, 1286, 1286,
1992 1288, 1291, 1289, 1301, 1288, 1289, 1291, 1294, 1292, 1293,
1993 1300, 1294, 1295, 1296, 1298, 1303, 1304, 1297, 1296, 1307,
1994 1298, 1300, 1311, 1315, 1317, 1301, 1314, 1302, 1319, 1320,
1995
1996 1301, 1322, 1327, 1321, 1303, 1323, 1322, 1300, 1325, 0,
1997 1331, 1304, 1303, 1304, 1321, 1307, 1307, 1333, 1314, 1311,
1998 1315, 1317, 1328, 1314, 1329, 1320, 1320, 1323, 1322, 1319,
1999 1321, 1328, 1323, 1327, 1334, 1325, 1329, 1331, 1336, 1333,
2000 1335, 1337, 1338, 1339, 1333, 1341, 0, 1340, 1342, 1328,
2001 0, 1329, 1347, 1335, 1341, 1345, 1343, 1346, 1344, 1334,
2002 1336, 1334, 1340, 1342, 1346, 1336, 0, 1335, 1337, 1338,
2003 1339, 1343, 1341, 1344, 1340, 1342, 1348, 1345, 1351, 1347,
2004 1349, 1349, 1345, 1343, 1346, 1344, 1350, 1352, 1353, 1354,
2005 1352, 1355, 1351, 1350, 1348, 1356, 1355, 1357, 1354, 1358,
2006
2007 1359, 1353, 1362, 1348, 1371, 1351, 0, 1349, 0, 1362,
2008 1369, 1363, 1366, 1350, 1352, 1353, 1354, 1356, 1355, 1357,
2009 1363, 1373, 1356, 1364, 1357, 1365, 1358, 1359, 1364, 1362,
2010 1366, 1371, 1365, 1367, 1368, 1372, 1369, 1369, 1363, 1366,
2011 1367, 1373, 1374, 1368, 1379, 1380, 1375, 1376, 1373, 0,
2012 1364, 1378, 1365, 1372, 1374, 1375, 1376, 1377, 1381, 1378,
2013 1367, 1368, 1372, 1382, 1383, 1390, 1391, 1381, 1377, 1374,
2014 1384, 1379, 1383, 1375, 1376, 1382, 1380, 1384, 1378, 1386,
2015 1395, 1389, 1392, 1396, 1377, 1381, 1393, 1386, 1389, 1390,
2016 1382, 1383, 1390, 1391, 1392, 1393, 1399, 1384, 1397, 1401,
2017
2018 1402, 0, 1406, 1395, 1408, 0, 1386, 1395, 1389, 1392,
2019 1396, 1400, 1397, 1393, 1409, 1407, 1411, 1410, 1412, 1400,
2020 1407, 1414, 1408, 1399, 1411, 1397, 1401, 1402, 1406, 1406,
2021 1415, 1408, 1416, 1414, 1417, 1418, 1409, 1412, 1400, 1410,
2022 1419, 1409, 1407, 1411, 1410, 1412, 1417, 1420, 1414, 1421,
2023 1422, 1426, 1415, 1423, 1416, 0, 1427, 1415, 0, 1416,
2024 1430, 1417, 1418, 1428, 1432, 0, 1429, 1419, 1435, 1431,
2025 0, 1421, 1430, 0, 1433, 0, 1421, 1422, 1420, 1427,
2026 1423, 1438, 1426, 1427, 1429, 1428, 1432, 1430, 1431, 1433,
2027 1428, 1432, 1435, 1429, 1436, 1435, 1431, 1437, 1439, 1438,
2028
2029 1440, 1433, 1441, 1436, 1443, 1446, 1444, 1445, 1438, 1448,
2030 1447, 1437, 1443, 1444, 0, 1445, 1439, 1450, 1454, 1449,
2031 1441, 1436, 1452, 1458, 1437, 1439, 1440, 1440, 1447, 1441,
2032 1454, 1443, 1446, 1444, 1445, 1456, 1448, 1447, 1449, 1450,
2033 1452, 1453, 1469, 1462, 1450, 1454, 1449, 1461, 1463, 1452,
2034 1458, 1464, 1465, 1466, 1461, 1453, 1467, 1470, 1468, 1471,
2035 1474, 1456, 1456, 1475, 0, 1467, 1483, 0, 1453, 1462,
2036 1462, 1468, 1463, 1469, 1461, 1463, 0, 1479, 1464, 1465,
2037 1466, 1474, 1471, 1467, 1470, 1468, 1471, 1474, 1478, 1478,
2038 1481, 1480, 1482, 1483, 1475, 1484, 1489, 1481, 1478, 1479,
2039
2040 1480, 1485, 1486, 1484, 1479, 1482, 1487, 1489, 1488, 1490,
2041 1486, 1492, 1492, 1500, 1491, 1478, 1478, 1481, 1480, 1482,
2042 1485, 1491, 1484, 1489, 1493, 1497, 0, 1501, 1485, 1486,
2043 1494, 1490, 1487, 1487, 1488, 1488, 1490, 1494, 1492, 1495,
2044 1500, 1491, 1493, 1502, 1499, 1503, 1495, 1504, 1507, 1497,
2045 1501, 1493, 1497, 1499, 1501, 1506, 1508, 1494, 1508, 1503,
2046 1513, 1502, 1512, 1507, 0, 1504, 1495, 1514, 1516, 1522,
2047 1502, 1499, 1503, 1506, 1504, 1507, 1520, 1523, 1517, 1523,
2048 1524, 1518, 1506, 1508, 1512, 1514, 1513, 1513, 1518, 1512,
2049 1516, 1519, 1521, 1528, 1514, 1516, 1517, 1519, 1520, 1527,
2050
2051 1522, 1521, 1526, 1520, 1523, 1517, 1530, 1524, 1518, 1529,
2052 1526, 1527, 1531, 1532, 1536, 1533, 1534, 1537, 1519, 1521,
2053 1528, 1532, 1538, 1531, 1530, 1537, 1527, 1535, 1535, 1526,
2054 1539, 1541, 1529, 1530, 1533, 1543, 1529, 1544, 1534, 1531,
2055 1532, 1536, 1533, 1534, 1537, 1546, 1542, 1547, 0, 1538,
2056 1544, 1545, 1539, 1542, 1535, 1548, 1545, 1539, 1541, 1550,
2057 1549, 1543, 1543, 1548, 1544, 1551, 1550, 1554, 1552, 1553,
2058 1556, 1555, 1546, 1542, 1547, 1549, 1553, 1558, 1545, 1555,
2059 1557, 1557, 1548, 1552, 1560, 1561, 1550, 1549, 1563, 1554,
2060 1557, 1566, 1551, 1561, 1554, 1552, 1553, 1565, 1555, 1567,
2061
2062 1564, 1556, 1568, 1569, 1558, 1571, 1575, 1557, 1557, 1573,
2063 1563, 1560, 1561, 1564, 1577, 1563, 1576, 1578, 1566, 1565,
2064 1582, 1581, 1586, 1583, 1565, 1569, 1567, 1564, 0, 1568,
2065 1569, 1585, 1571, 1575, 1576, 1573, 1573, 1586, 1591, 1578,
2066 1581, 1577, 1587, 1576, 1578, 1583, 1588, 1582, 1581, 1586,
2067 1583, 1587, 1594, 1585, 1589, 1589, 1590, 1588, 1585, 1594,
2068 1591, 1595, 1590, 1596, 1589, 1591, 1597, 1601, 1603, 1587,
2069 1607, 1605, 1611, 1588, 1608, 1612, 1610, 0, 1613, 1594,
2070 1613, 1589, 1589, 1590, 1605, 1610, 1608, 1616, 1595, 1597,
2071 1596, 1603, 1614, 1597, 1601, 1603, 1617, 1607, 1605, 1611,
2072
2073 1615, 1608, 1612, 1610, 1614, 1613, 1615, 1618, 1619, 1616,
2074 1622, 1624, 1625, 1627, 1616, 1618, 1628, 1631, 1617, 1614,
2075 1632, 0, 1633, 1617, 1634, 0, 0, 1615, 1627, 1641,
2076 1636, 0, 1634, 1632, 1618, 1619, 1635, 1622, 1624, 1625,
2077 1627, 1636, 1628, 1628, 1633, 1635, 1642, 1632, 1631, 1633,
2078 1643, 1634, 1641, 1642, 1644, 1646, 1641, 1636, 1645, 1647,
2079 1648, 1647, 1644, 1635, 1643, 1649, 1646, 1645, 1651, 1652,
2080 1650, 1654, 1648, 1642, 1653, 1655, 1653, 1643, 1660, 1661,
2081 1656, 1644, 1646, 1654, 0, 1645, 1647, 1648, 1650, 1663,
2082 1651, 1652, 1649, 1656, 1659, 1651, 1652, 1650, 1654, 1658,
2083
2084 1662, 1653, 1659, 1663, 1664, 1665, 1655, 1656, 1670, 1660,
2085 1661, 1658, 1664, 1662, 1666, 1667, 1663, 1669, 1665, 1668,
2086 1672, 1659, 1666, 1671, 1678, 1669, 1658, 1662, 1672, 1667,
2087 1670, 1664, 1665, 1668, 1673, 1670, 1674, 1675, 1679, 0,
2088 1676, 1666, 1667, 1677, 1669, 1671, 1668, 1672, 1680, 1681,
2089 1671, 1677, 1683, 1691, 0, 1678, 0, 1681, 1674, 1675,
2090 1673, 1673, 1676, 1674, 1675, 1679, 1682, 1676, 1680, 1684,
2091 1677, 1685, 1687, 1688, 1682, 1680, 1681, 1684, 1689, 1691,
2092 1691, 1688, 1692, 1683, 1693, 1685, 1689, 1690, 0, 1694,
2093 0, 1695, 1693, 1682, 1687, 0, 1684, 1696, 1685, 1687,
2094
2095 1688, 1690, 1697, 1699, 1692, 1689, 1700, 1701, 0, 1692,
2096 1703, 1693, 1698, 1702, 1690, 1694, 1694, 1695, 1695, 1696,
2097 1698, 1702, 1697, 1704, 1696, 1706, 1700, 1701, 1708, 1697,
2098 1699, 1704, 1703, 1700, 1701, 1707, 1708, 1703, 1709, 1698,
2099 1702, 1710, 1714, 1711, 1715, 1712, 1709, 1706, 1713, 1716,
2100 1704, 1711, 1706, 1712, 1717, 1708, 0, 1707, 1718, 0,
2101 1720, 1723, 1707, 1726, 1715, 1709, 1727, 1710, 1710, 1714,
2102 1711, 1715, 1712, 0, 1713, 1713, 1716, 0, 1718, 0,
2103 0, 1717, 1720, 1723, 1724, 1718, 1725, 1720, 1723, 0,
2104 1726, 0, 1724, 1727, 1725, 0, 0, 0, 0, 0,
2105
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 1724, 0, 1725, 1731, 1731, 1731, 1731, 1731, 1731,
2108 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1733, 1733,
2109 1733, 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734,
2110 1734, 1734, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1737,
2111 1737, 0, 1737, 1737, 1737, 1737, 1738, 1738, 0, 0,
2112 0, 1738, 1738, 1739, 1739, 0, 0, 1739, 0, 1739,
2113 1740, 0, 0, 0, 0, 0, 1740, 1741, 1741, 0,
2114 0, 0, 1741, 1741, 1742, 0, 0, 0, 0, 0,
2115 1742, 1743, 1743, 0, 1743, 1743, 1743, 1743, 1744, 1744,
2116
2117 0, 1744, 1744, 1744, 1744, 1730, 1730, 1730, 1730, 1730,
2118 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2119 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2120 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2121 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2122 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2123 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2124 1730
1603 26, 30, 75, 31, 26, 74, 37, 26, 22, 30,
1604 30, 37, 138, 22, 26, 32, 26, 22, 30, 31,
1605 22, 65, 22, 22, 30, 31, 31, 34, 30, 74,
1606 31, 34, 74, 127, 65, 36, 138, 36, 125, 138,
1607 55, 34, 55, 55, 34, 55, 31, 33, 65, 67,
1608 82, 33, 36, 34, 34, 82, 78, 33, 34, 38,
1609 33, 36, 36, 38, 36, 78, 35, 33, 34, 33,
1610 66, 34, 66, 66, 33, 66, 35, 82, 33, 36,
1611 35, 35, 61, 78, 33, 38, 38, 33, 35, 76,
1612
1613 38, 56, 51, 35, 33, 63, 76, 63, 63, 68,
1614 63, 68, 68, 35, 68, 84, 77, 35, 35, 68,
1615 71, 79, 71, 71, 80, 71, 76, 81, 86, 77,
1616 71, 85, 84, 83, 79, 86, 81, 91, 87, 80,
1617 77, 83, 63, 77, 85, 89, 84, 87, 79, 90,
1618 91, 80, 88, 93, 81, 86, 77, 71, 85, 84,
1619 83, 88, 94, 92, 91, 87, 92, 50, 89, 45,
1620 94, 90, 89, 96, 95, 97, 90, 96, 97, 88,
1621 92, 40, 98, 99, 93, 100, 14, 92, 102, 94,
1622 92, 104, 13, 92, 95, 98, 95, 96, 104, 101,
1623
1624 96, 95, 97, 103, 96, 100, 99, 92, 102, 98,
1625 99, 105, 100, 101, 106, 102, 107, 103, 104, 111,
1626 105, 95, 109, 108, 110, 107, 101, 108, 112, 109,
1627 103, 110, 115, 111, 113, 114, 0, 106, 105, 117,
1628 112, 106, 113, 107, 114, 108, 111, 118, 211, 109,
1629 108, 110, 116, 119, 108, 112, 118, 121, 123, 117,
1630 242, 113, 114, 115, 119, 117, 117, 116, 122, 120,
1631 0, 140, 124, 123, 118, 120, 0, 211, 121, 116,
1632 119, 124, 121, 148, 121, 123, 117, 242, 139, 130,
1633 122, 130, 130, 0, 130, 122, 120, 142, 135, 124,
1634
1635 135, 135, 140, 135, 136, 121, 136, 136, 141, 136,
1636 139, 143, 146, 144, 148, 139, 142, 146, 149, 143,
1637 141, 145, 152, 147, 142, 144, 151, 154, 145, 153,
1638 152, 154, 155, 160, 157, 141, 156, 0, 143, 149,
1639 144, 136, 160, 146, 146, 147, 149, 157, 145, 152,
1640 147, 153, 151, 151, 154, 155, 153, 165, 156, 155,
1641 160, 157, 158, 156, 161, 159, 149, 150, 159, 163,
1642 164, 0, 150, 0, 158, 166, 163, 150, 168, 162,
1643 159, 164, 0, 150, 150, 171, 161, 0, 165, 158,
1644 150, 161, 159, 167, 150, 159, 163, 164, 162, 150,
1645
1646 169, 166, 166, 167, 150, 162, 162, 170, 173, 168,
1647 150, 150, 174, 170, 172, 175, 171, 176, 169, 177,
1648 0, 178, 0, 182, 167, 162, 179, 169, 178, 190,
1649 167, 176, 180, 181, 170, 175, 172, 180, 188, 173,
1650 177, 172, 175, 174, 176, 182, 177, 179, 178, 183,
1651 182, 184, 181, 179, 190, 185, 190, 186, 184, 180,
1652 181, 183, 186, 187, 187, 191, 189, 192, 195, 188,
1653 0, 0, 187, 189, 194, 193, 183, 185, 184, 197,
1654 198, 196, 185, 193, 186, 191, 202, 201, 204, 194,
1655 187, 187, 191, 189, 195, 195, 199, 198, 192, 203,
1656
1657 200, 194, 193, 196, 205, 198, 201, 198, 200, 206,
1658 197, 199, 196, 207, 201, 209, 205, 202, 206, 204,
1659 208, 203, 208, 199, 198, 210, 203, 200, 212, 215,
1660 196, 205, 207, 213, 214, 0, 206, 219, 216, 209,
1661 207, 215, 209, 217, 220, 214, 218, 208, 221, 223,
1662 222, 210, 210, 0, 212, 212, 215, 220, 225, 213,
1663 213, 214, 216, 228, 218, 216, 217, 225, 219, 224,
1664 217, 220, 222, 218, 221, 221, 224, 222, 226, 227,
1665 223, 230, 229, 231, 226, 225, 232, 233, 234, 228,
1666 228, 229, 231, 227, 287, 287, 224, 236, 237, 235,
1667
1668 236, 232, 0, 0, 230, 226, 227, 236, 230, 229,
1669 231, 238, 234, 232, 235, 234, 237, 238, 233, 239,
1670 240, 243, 246, 287, 236, 237, 235, 236, 241, 241,
1671 245, 244, 247, 239, 244, 240, 248, 254, 238, 252,
1672 246, 244, 245, 249, 261, 243, 239, 240, 243, 246,
1673 247, 250, 251, 241, 252, 241, 241, 245, 244, 247,
1674 253, 244, 255, 248, 251, 249, 252, 253, 254, 255,
1675 249, 256, 257, 258, 257, 261, 260, 250, 250, 251,
1676 259, 264, 262, 259, 263, 259, 258, 253, 264, 255,
1677 263, 259, 266, 256, 260, 276, 257, 267, 256, 257,
1678
1679 258, 257, 265, 260, 262, 266, 270, 259, 264, 262,
1680 259, 263, 259, 267, 265, 268, 0, 281, 270, 266,
1681 271, 267, 273, 274, 267, 272, 276, 275, 268, 265,
1682 273, 272, 277, 270, 275, 274, 277, 0, 271, 278,
1683 267, 284, 268, 269, 269, 0, 278, 271, 281, 273,
1684 274, 279, 272, 269, 275, 269, 269, 269, 282, 277,
1685 269, 280, 283, 279, 286, 282, 278, 288, 269, 301,
1686 269, 269, 284, 280, 288, 283, 292, 0, 279, 285,
1687 269, 289, 269, 269, 269, 282, 286, 269, 280, 283,
1688 285, 286, 289, 290, 288, 293, 291, 295, 294, 296,
1689
1690 301, 292, 0, 292, 290, 298, 285, 294, 289, 291,
1691 295, 297, 296, 299, 302, 300, 306, 296, 293, 304,
1692 290, 303, 293, 291, 295, 294, 296, 298, 305, 297,
1693 306, 307, 298, 300, 308, 302, 299, 311, 297, 296,
1694 299, 302, 300, 306, 303, 304, 304, 309, 303, 310,
1695 305, 314, 311, 309, 312, 305, 313, 307, 307, 316,
1696 315, 0, 318, 319, 311, 308, 315, 310, 0, 319,
1697 0, 327, 320, 314, 309, 321, 310, 312, 314, 0,
1698 323, 312, 313, 313, 327, 316, 316, 315, 318, 318,
1699 319, 320, 328, 321, 322, 323, 325, 326, 327, 320,
1700
1701 329, 322, 321, 325, 326, 331, 330, 323, 332, 0,
1702 328, 333, 334, 0, 335, 0, 333, 332, 334, 328,
1703 336, 322, 329, 325, 326, 330, 337, 329, 0, 338,
1704 0, 346, 336, 330, 339, 332, 331, 335, 333, 334,
1705 338, 335, 339, 341, 342, 343, 348, 336, 337, 0,
1706 341, 344, 345, 337, 343, 342, 338, 346, 346, 345,
1707 0, 339, 340, 347, 0, 347, 0, 340, 349, 340,
1708 341, 342, 348, 348, 351, 344, 343, 340, 344, 345,
1709 349, 343, 350, 352, 354, 355, 351, 340, 340, 340,
1710 347, 352, 356, 353, 340, 349, 340, 350, 353, 358,
1711
1712 356, 351, 359, 355, 340, 357, 354, 361, 360, 350,
1713 352, 354, 355, 362, 340, 364, 361, 357, 363, 356,
1714 353, 365, 358, 360, 366, 367, 358, 362, 375, 368,
1715 369, 373, 357, 359, 361, 360, 365, 363, 374, 366,
1716 362, 368, 364, 376, 370, 363, 371, 370, 365, 367,
1717 371, 366, 367, 372, 369, 370, 368, 369, 373, 375,
1718 377, 378, 379, 380, 384, 374, 382, 372, 379, 0,
1719 376, 370, 381, 383, 370, 385, 386, 371, 0, 387,
1720 372, 388, 385, 393, 390, 380, 384, 377, 0, 379,
1721 380, 384, 378, 395, 388, 381, 383, 382, 394, 381,
1722
1723 383, 387, 385, 391, 389, 392, 387, 386, 388, 389,
1724 390, 390, 391, 389, 393, 396, 394, 395, 392, 397,
1725 395, 398, 399, 400, 401, 394, 402, 0, 389, 404,
1726 391, 389, 392, 403, 400, 398, 389, 396, 396, 401,
1727 389, 397, 396, 405, 399, 408, 397, 406, 398, 399,
1728 400, 401, 407, 404, 403, 409, 404, 402, 408, 0,
1729 403, 407, 410, 411, 396, 415, 412, 405, 414, 406,
1730 405, 413, 408, 416, 406, 413, 418, 417, 419, 407,
1731 418, 0, 414, 421, 410, 422, 409, 411, 412, 410,
1732 411, 416, 417, 412, 422, 414, 415, 426, 420, 427,
1733
1734 416, 417, 413, 419, 417, 419, 420, 418, 421, 423,
1735 421, 428, 422, 424, 431, 425, 435, 427, 423, 417,
1736 426, 424, 425, 428, 426, 420, 427, 430, 429, 0,
1737 433, 0, 435, 432, 0, 434, 423, 429, 428, 430,
1738 424, 432, 425, 435, 436, 431, 441, 440, 437, 439,
1739 442, 0, 446, 438, 430, 429, 433, 433, 434, 437,
1740 432, 438, 434, 439, 443, 444, 436, 440, 441, 445,
1741 442, 436, 446, 441, 440, 437, 439, 442, 445, 446,
1742 438, 447, 448, 449, 451, 0, 443, 444, 450, 456,
1743 453, 443, 444, 0, 452, 448, 445, 459, 453, 447,
1744
1745 452, 454, 474, 457, 460, 449, 459, 451, 447, 448,
1746 449, 451, 450, 461, 458, 450, 453, 453, 496, 454,
1747 456, 452, 461, 460, 459, 453, 457, 465, 454, 458,
1748 457, 460, 462, 474, 462, 468, 472, 0, 471, 465,
1749 461, 458, 477, 473, 480, 468, 476, 0, 478, 496,
1750 478, 477, 479, 497, 465, 508, 471, 472, 481, 462,
1751 463, 0, 468, 472, 463, 471, 473, 463, 476, 477,
1752 473, 480, 482, 476, 463, 478, 479, 463, 481, 479,
1753 483, 0, 463, 484, 497, 481, 508, 463, 485, 0,
1754 0, 463, 483, 488, 463, 0, 0, 486, 482, 482,
1755
1756 488, 463, 491, 0, 463, 475, 475, 483, 475, 484,
1757 484, 475, 485, 487, 492, 485, 475, 489, 490, 486,
1758 488, 487, 475, 475, 486, 489, 492, 493, 491, 491,
1759 494, 475, 475, 475, 495, 475, 493, 490, 475, 498,
1760 487, 492, 503, 475, 489, 490, 499, 502, 504, 475,
1761 475, 500, 494, 501, 493, 506, 502, 494, 507, 533,
1762 0, 495, 512, 498, 503, 511, 498, 499, 504, 503,
1763 500, 505, 501, 499, 502, 504, 509, 507, 500, 505,
1764 501, 513, 506, 511, 509, 507, 512, 514, 515, 512,
1765 533, 518, 511, 516, 513, 0, 520, 518, 505, 519,
1766
1767 515, 516, 520, 509, 521, 522, 524, 525, 513, 523,
1768 522, 521, 529, 514, 514, 515, 523, 516, 518, 527,
1769 516, 519, 528, 520, 524, 529, 519, 527, 516, 526,
1770 525, 521, 522, 524, 525, 531, 523, 530, 526, 529,
1771 528, 532, 531, 534, 535, 536, 527, 0, 537, 528,
1772 540, 538, 541, 536, 532, 539, 526, 542, 530, 545,
1773 543, 539, 531, 537, 530, 544, 0, 535, 532, 543,
1774 547, 535, 536, 538, 534, 537, 540, 540, 538, 544,
1775 548, 542, 539, 541, 542, 550, 546, 543, 549, 553,
1776 545, 551, 544, 546, 554, 552, 0, 547, 552, 551,
1777
1778 549, 554, 553, 556, 0, 557, 0, 548, 550, 0,
1779 0, 563, 550, 546, 571, 549, 553, 557, 551, 0,
1780 0, 554, 552, 555, 560, 555, 556, 559, 0, 555,
1781 556, 555, 557, 558, 563, 558, 555, 564, 563, 559,
1782 561, 555, 562, 566, 0, 571, 560, 555, 0, 564,
1783 555, 560, 555, 561, 559, 562, 555, 570, 555, 567,
1784 558, 565, 569, 555, 564, 566, 573, 561, 555, 562,
1785 566, 565, 567, 568, 574, 569, 576, 575, 570, 568,
1786 572, 573, 577, 565, 570, 572, 567, 572, 565, 569,
1787 575, 576, 579, 573, 578, 582, 574, 580, 565, 585,
1788
1789 568, 574, 583, 576, 575, 572, 572, 572, 577, 577,
1790 580, 579, 572, 586, 572, 581, 578, 588, 587, 579,
1791 590, 578, 582, 581, 580, 583, 587, 589, 590, 583,
1792 585, 588, 572, 592, 595, 591, 594, 586, 598, 596,
1793 586, 595, 581, 608, 588, 587, 591, 590, 593, 589,
1794 597, 592, 596, 607, 589, 601, 593, 600, 594, 602,
1795 592, 595, 591, 594, 601, 600, 596, 603, 597, 598,
1796 604, 602, 606, 605, 608, 593, 614, 597, 613, 607,
1797 607, 611, 601, 614, 600, 611, 602, 609, 0, 603,
1798 606, 617, 604, 612, 603, 605, 612, 604, 615, 606,
1799
1800 605, 609, 613, 614, 616, 613, 619, 618, 620, 624,
1801 615, 616, 611, 618, 609, 617, 621, 623, 617, 612,
1802 612, 622, 625, 612, 0, 615, 0, 627, 619, 0,
1803 620, 616, 622, 619, 618, 620, 624, 621, 623, 629,
1804 625, 626, 631, 621, 623, 630, 628, 629, 622, 625,
1805 626, 627, 630, 632, 627, 628, 631, 633, 634, 635,
1806 636, 638, 637, 639, 641, 0, 629, 634, 626, 631,
1807 640, 0, 630, 628, 0, 632, 636, 637, 644, 633,
1808 632, 647, 640, 635, 633, 634, 635, 636, 642, 637,
1809 643, 641, 638, 644, 639, 646, 642, 640, 648, 647,
1810
1811 649, 652, 649, 643, 646, 644, 648, 653, 647, 654,
1812 655, 656, 666, 657, 652, 642, 654, 643, 659, 653,
1813 660, 658, 646, 0, 661, 648, 662, 649, 652, 663,
1814 0, 659, 664, 660, 653, 657, 654, 663, 662, 666,
1815 657, 655, 656, 658, 664, 659, 661, 660, 658, 665,
1816 668, 661, 667, 662, 670, 669, 663, 665, 0, 664,
1817 673, 667, 669, 671, 672, 674, 675, 0, 676, 0,
1818 678, 668, 677, 673, 679, 675, 665, 668, 678, 667,
1819 670, 670, 669, 685, 672, 671, 676, 673, 681, 674,
1820 671, 672, 674, 675, 677, 676, 679, 678, 680, 677,
1821
1822 682, 679, 683, 685, 684, 686, 680, 688, 0, 687,
1823 685, 681, 689, 688, 683, 681, 684, 687, 682, 690,
1824 686, 689, 697, 691, 693, 680, 692, 682, 695, 683,
1825 696, 684, 686, 692, 688, 691, 687, 698, 699, 689,
1826 690, 697, 693, 696, 698, 702, 690, 701, 700, 697,
1827 691, 693, 700, 692, 703, 701, 705, 696, 704, 695,
1828 699, 0, 706, 0, 698, 699, 0, 709, 703, 707,
1829 708, 702, 702, 0, 701, 713, 704, 710, 711, 700,
1830 714, 703, 0, 715, 713, 704, 712, 705, 706, 706,
1831 716, 707, 708, 709, 709, 710, 707, 708, 717, 712,
1832
1833 711, 718, 713, 719, 710, 711, 718, 720, 718, 722,
1834 718, 714, 716, 712, 715, 723, 725, 716, 732, 718,
1835 725, 717, 724, 720, 728, 717, 726, 723, 718, 719,
1836 719, 724, 722, 718, 720, 718, 722, 718, 727, 726,
1837 734, 729, 723, 728, 733, 732, 727, 725, 730, 724,
1838 731, 728, 731, 726, 729, 736, 733, 730, 737, 739,
1839 741, 738, 742, 740, 743, 727, 744, 734, 729, 738,
1840 740, 733, 745, 744, 747, 730, 746, 731, 748, 736,
1841 737, 750, 736, 749, 742, 737, 739, 741, 738, 742,
1842 740, 743, 749, 744, 745, 746, 747, 751, 753, 745,
1843
1844 754, 747, 750, 746, 748, 748, 755, 756, 750, 757,
1845 749, 0, 758, 760, 759, 761, 763, 751, 765, 762,
1846 758, 0, 761, 762, 751, 765, 767, 757, 755, 753,
1847 759, 754, 768, 755, 766, 767, 757, 764, 756, 758,
1848 760, 759, 761, 764, 769, 765, 762, 763, 771, 766,
1849 764, 769, 770, 767, 770, 772, 773, 771, 768, 768,
1850 773, 766, 774, 776, 764, 779, 778, 776, 777, 781,
1851 764, 769, 0, 0, 780, 771, 782, 772, 0, 770,
1852 783, 0, 772, 773, 774, 778, 777, 780, 787, 774,
1853 779, 789, 779, 778, 776, 777, 783, 784, 789, 782,
1854
1855 781, 780, 786, 782, 788, 784, 793, 783, 785, 785,
1856 787, 786, 791, 788, 790, 787, 794, 792, 789, 793,
1857 795, 791, 796, 797, 784, 792, 798, 800, 794, 786,
1858 796, 788, 795, 793, 799, 785, 800, 790, 803, 791,
1859 801, 790, 805, 794, 792, 797, 798, 795, 802, 796,
1860 797, 804, 806, 798, 800, 807, 799, 804, 801, 803,
1861 802, 799, 808, 810, 805, 803, 813, 801, 811, 805,
1862 812, 816, 814, 0, 817, 802, 818, 811, 804, 813,
1863 814, 815, 817, 806, 818, 815, 807, 821, 808, 808,
1864 810, 822, 812, 813, 820, 811, 0, 812, 816, 814,
1865
1866 827, 817, 820, 818, 819, 819, 830, 823, 821, 824,
1867 825, 826, 815, 827, 821, 823, 829, 824, 825, 826,
1868 828, 820, 822, 832, 831, 833, 828, 827, 829, 843,
1869 834, 819, 830, 830, 823, 835, 824, 825, 826, 831,
1870 0, 839, 836, 829, 834, 832, 836, 828, 833, 838,
1871 832, 831, 833, 835, 0, 840, 838, 834, 841, 836,
1872 843, 847, 835, 842, 849, 845, 851, 836, 839, 836,
1873 842, 848, 853, 836, 845, 0, 838, 840, 855, 0,
1874 856, 841, 840, 847, 857, 841, 836, 858, 847, 858,
1875 842, 859, 845, 851, 860, 849, 857, 848, 848, 853,
1876
1877 861, 862, 855, 863, 859, 855, 856, 856, 864, 866,
1878 863, 857, 861, 0, 858, 865, 860, 867, 859, 869,
1879 865, 860, 873, 868, 871, 866, 872, 861, 862, 877,
1880 863, 868, 874, 871, 864, 864, 866, 0, 875, 872,
1881 867, 869, 865, 879, 867, 875, 869, 877, 873, 873,
1882 868, 871, 880, 872, 874, 876, 877, 878, 881, 874,
1883 882, 883, 876, 884, 878, 875, 885, 882, 879, 888,
1884 879, 889, 888, 886, 880, 893, 884, 894, 891, 880,
1885 890, 0, 876, 895, 878, 891, 896, 882, 892, 881,
1886 884, 892, 883, 885, 886, 890, 888, 889, 889, 894,
1887
1888 886, 895, 898, 892, 894, 891, 893, 890, 896, 897,
1889 895, 897, 892, 896, 899, 892, 900, 902, 892, 901,
1890 903, 905, 908, 0, 0, 902, 898, 903, 901, 898,
1891 892, 904, 907, 906, 909, 0, 897, 906, 913, 910,
1892 916, 0, 900, 900, 902, 899, 901, 903, 910, 908,
1893 911, 913, 905, 904, 907, 912, 909, 911, 904, 907,
1894 906, 909, 912, 914, 919, 913, 910, 915, 917, 918,
1895 919, 916, 922, 923, 0, 917, 918, 911, 914, 921,
1896 924, 915, 912, 924, 922, 928, 925, 929, 0, 936,
1897 914, 919, 931, 923, 915, 917, 918, 925, 924, 922,
1898
1899 923, 921, 930, 931, 932, 935, 921, 924, 933, 937,
1900 924, 929, 928, 925, 929, 934, 933, 940, 934, 931,
1901 936, 938, 932, 935, 930, 939, 940, 941, 938, 930,
1902 945, 932, 935, 934, 942, 933, 937, 944, 947, 939,
1903 941, 943, 934, 943, 940, 934, 944, 946, 938, 942,
1904 952, 954, 939, 948, 941, 0, 945, 945, 946, 949,
1905 947, 942, 949, 950, 944, 947, 953, 948, 943, 956,
1906 955, 957, 950, 958, 946, 953, 956, 949, 0, 948,
1907 948, 952, 954, 966, 962, 963, 949, 958, 0, 949,
1908 950, 955, 959, 953, 948, 964, 956, 955, 959, 963,
1909
1910 958, 965, 957, 962, 964, 972, 967, 971, 975, 965,
1911 0, 962, 963, 970, 966, 968, 959, 967, 0, 959,
1912 970, 973, 964, 974, 968, 959, 975, 972, 965, 978,
1913 971, 979, 972, 967, 971, 975, 0, 976, 981, 977,
1914 970, 976, 968, 973, 979, 974, 982, 980, 973, 983,
1915 974, 977, 984, 981, 985, 988, 978, 983, 979, 986,
1916 990, 982, 992, 987, 976, 981, 977, 980, 986, 985,
1917 989, 993, 0, 982, 980, 996, 983, 994, 995, 998,
1918 992, 985, 988, 984, 987, 999, 986, 990, 997, 992,
1919 987, 998, 994, 996, 989, 1000, 1003, 989, 993, 1002,
1920
1921 995, 1004, 996, 997, 994, 995, 998, 999, 1000, 1001,
1922 1006, 1002, 999, 1000, 1005, 997, 1001, 1007, 1006, 1008,
1923 1005, 1009, 1000, 1003, 1007, 1010, 1002, 1011, 1009, 1013,
1924 1012, 1014, 1004, 1016, 1017, 1000, 1001, 1006, 1018, 1020,
1925 1019, 1005, 1019, 1017, 1007, 1021, 1008, 1022, 1009, 1024,
1926 0, 0, 1010, 1012, 1011, 1014, 1024, 1012, 1014, 1028,
1927 1013, 1017, 1029, 1025, 1016, 1028, 1020, 1019, 1027, 1018,
1928 1025, 1021, 1021, 1023, 1023, 1023, 1024, 1026, 1022, 1031,
1929 1023, 1027, 1030, 1030, 1026, 1032, 1028, 1035, 1023, 1029,
1930 1025, 1036, 1032, 1034, 0, 1027, 1037, 1038, 1039, 1039,
1931
1932 1023, 1023, 1023, 1036, 1026, 1031, 1031, 1023, 1040, 1030,
1933 1044, 1034, 1032, 1049, 1035, 1038, 1037, 1042, 1036, 1045,
1934 1034, 1041, 1041, 1037, 1038, 1039, 1046, 1047, 1042, 1048,
1935 1050, 1051, 1044, 1046, 1040, 1040, 1052, 1044, 1054, 0,
1936 1049, 1053, 1055, 1052, 1042, 1056, 1056, 1047, 1041, 1051,
1937 1045, 1055, 1050, 1046, 1047, 1057, 1053, 1050, 1051, 1058,
1938 1048, 1060, 1054, 1052, 1061, 1054, 1059, 1068, 1053, 1055,
1939 1063, 1058, 1056, 1060, 1059, 1065, 1062, 1066, 1069, 1064,
1940 0, 1057, 1057, 1066, 1064, 1061, 1058, 1067, 1060, 1071,
1941 1074, 1061, 1070, 1059, 1062, 1064, 1070, 1063, 1068, 1076,
1942
1943 1067, 1073, 1065, 1062, 1066, 1069, 1064, 1072, 1072, 1075,
1944 1077, 1064, 1079, 1078, 1067, 1078, 1073, 1081, 1082, 1086,
1945 1071, 1074, 1076, 1070, 1075, 1077, 1076, 1080, 1073, 1084,
1946 0, 1085, 1080, 1082, 1072, 1087, 1075, 1077, 1089, 1090,
1947 1078, 0, 1088, 1079, 1099, 1082, 1086, 1091, 1081, 1088,
1948 1094, 0, 1092, 1084, 1080, 1106, 1084, 1085, 1085, 1089,
1949 1096, 1090, 1087, 1098, 1101, 1089, 1090, 1102, 1091, 1088,
1950 1092, 1099, 1094, 1100, 1091, 1096, 1102, 1094, 1098, 1092,
1951 1100, 1103, 1101, 1104, 1107, 1105, 1106, 1096, 1109, 1103,
1952 1098, 1101, 1110, 1114, 1102, 1111, 1118, 1107, 1112, 1109,
1953
1954 1100, 1110, 1119, 1121, 1123, 1117, 1104, 1105, 1103, 1118,
1955 1104, 1107, 1105, 1111, 1109, 1109, 1112, 1117, 1120, 1110,
1956 1114, 1122, 1111, 1118, 1125, 1112, 1109, 1126, 1120, 1121,
1957 1121, 1123, 1117, 1119, 1126, 1127, 1129, 1128, 1130, 0,
1958 1133, 1131, 1129, 1132, 1125, 1120, 1122, 1137, 1122, 1143,
1959 1134, 1125, 1133, 1130, 1126, 1128, 1131, 1134, 1132, 1135,
1960 1138, 1127, 1127, 1129, 1128, 1130, 1135, 1133, 1131, 1137,
1961 1132, 1139, 1140, 1145, 1137, 1142, 1143, 1134, 1144, 1144,
1962 1139, 1146, 1147, 1149, 1151, 1138, 1135, 1138, 1142, 1148,
1963 1140, 1152, 1149, 1153, 1150, 1145, 1157, 1160, 1139, 1140,
1964
1965 1145, 1150, 1142, 0, 1147, 1144, 1146, 1158, 1146, 1147,
1966 1149, 1148, 1153, 1152, 1155, 1151, 1148, 1156, 1152, 1158,
1967 1153, 1150, 1155, 1157, 1159, 1161, 0, 0, 1160, 1162,
1968 1156, 1159, 1164, 1163, 1158, 1164, 1165, 1166, 1167, 0,
1969 0, 1155, 1173, 1172, 1156, 1169, 1170, 1161, 1163, 1173,
1970 1164, 1159, 1161, 1167, 1162, 1166, 1162, 1172, 1176, 1164,
1971 1163, 1165, 1164, 1165, 1166, 1167, 1174, 1169, 1170, 1173,
1972 1172, 1178, 1169, 1170, 1179, 1182, 1180, 1174, 1180, 1176,
1973 1184, 1181, 1183, 1185, 0, 1176, 1179, 1189, 1186, 1191,
1974 1187, 1185, 1178, 1174, 1190, 1194, 1191, 1196, 1178, 1181,
1975
1976 1183, 1179, 1182, 1180, 1188, 1195, 1200, 1184, 1181, 1183,
1977 1185, 1186, 1187, 1190, 1189, 1186, 1191, 1187, 1188, 1197,
1978 1198, 1190, 1194, 1195, 1196, 1199, 1201, 1203, 1200, 1203,
1979 1206, 1188, 1195, 1200, 1199, 1198, 1204, 1205, 1207, 1208,
1980 1209, 1205, 1206, 1210, 1212, 1197, 1197, 1198, 1208, 1211,
1981 0, 1209, 1199, 1201, 1203, 1213, 1212, 1206, 1204, 1224,
1982 1207, 1214, 1214, 1204, 1205, 1207, 1208, 1209, 1225, 1220,
1983 1210, 1212, 1211, 1215, 1217, 1220, 1211, 1213, 1217, 1219,
1984 1218, 1215, 1213, 1218, 1221, 1222, 1224, 1219, 1214, 1226,
1985 1228, 1222, 1225, 1229, 1230, 1225, 1220, 1227, 1231, 1221,
1986
1987 1215, 1217, 1233, 1226, 1228, 1234, 1219, 1218, 1232, 1235,
1988 1227, 1221, 1222, 1237, 1238, 1236, 1226, 1228, 1239, 1229,
1989 1229, 1230, 1232, 1236, 1227, 1231, 1239, 1241, 1242, 1233,
1990 1243, 1244, 1234, 0, 1245, 1232, 1235, 1248, 1243, 1246,
1991 1237, 1238, 1236, 1245, 1247, 1239, 1249, 1250, 1251, 1241,
1992 1252, 1257, 1248, 1256, 1241, 1242, 1251, 1243, 1244, 1250,
1993 1246, 1245, 0, 1248, 1248, 1254, 1246, 1259, 1247, 1254,
1994 1255, 1247, 1261, 1249, 1250, 1251, 1256, 1252, 1257, 1248,
1995 1256, 1258, 1255, 1260, 1260, 1262, 1263, 1264, 1265, 1258,
1996 1265, 1266, 1254, 1270, 1259, 1268, 1267, 1255, 1261, 1261,
1997
1998 0, 1263, 1267, 1262, 1269, 1266, 1271, 1273, 1258, 1264,
1999 1260, 1270, 1262, 1263, 1264, 1265, 1269, 1268, 1266, 1272,
2000 1270, 1274, 1268, 1267, 1271, 1278, 1280, 1276, 0, 1279,
2001 0, 1269, 1272, 1271, 1276, 1283, 0, 1281, 1273, 0,
2002 1284, 1291, 1288, 1278, 1274, 1281, 1272, 1283, 1274, 1289,
2003 1286, 1293, 1278, 1290, 1276, 1279, 1279, 1280, 1284, 1295,
2004 1290, 1294, 1283, 1281, 1281, 1286, 1288, 1284, 1291, 1288,
2005 1297, 1289, 1281, 1298, 1294, 1296, 1289, 1286, 1293, 1299,
2006 1290, 1298, 1303, 1297, 1301, 1295, 1295, 0, 1294, 1302,
2007 1296, 1305, 1304, 1309, 1307, 1306, 1308, 1297, 1305, 1310,
2008
2009 1298, 1313, 1296, 1308, 1311, 1299, 1299, 1301, 1306, 1303,
2010 1314, 1301, 1313, 1302, 1304, 1309, 1302, 1307, 1305, 1304,
2011 1309, 1307, 1306, 1308, 1315, 1311, 1316, 1317, 1313, 1324,
2012 1310, 1311, 1314, 1320, 1328, 1327, 1330, 1314, 1332, 1333,
2013 1334, 1335, 1341, 0, 1339, 1316, 1335, 0, 1336, 1338,
2014 1345, 1334, 1317, 1316, 1317, 1315, 1324, 1327, 1347, 1320,
2015 1320, 1328, 1327, 1330, 1338, 1333, 1333, 1334, 1335, 1332,
2016 1336, 1339, 1342, 1341, 1343, 1336, 1338, 1345, 1348, 1349,
2017 1347, 1342, 1350, 1351, 1352, 1347, 1343, 1353, 1355, 0,
2018 0, 1361, 1349, 1354, 1359, 0, 0, 1355, 1356, 1342,
2019
2020 0, 1343, 1357, 1348, 1350, 1348, 1349, 1358, 1354, 1350,
2021 1351, 1352, 1360, 1356, 1353, 1355, 1359, 1357, 1361, 1360,
2022 1354, 1359, 1358, 1362, 1364, 1356, 1363, 1363, 1365, 1357,
2023 1366, 1364, 1367, 1366, 1358, 1368, 1370, 1372, 1369, 1360,
2024 1373, 1362, 1365, 1369, 1368, 1367, 1371, 1376, 1385, 1379,
2025 1362, 1364, 1377, 1363, 1376, 1365, 1379, 1366, 1370, 1367,
2026 1380, 1377, 1368, 1370, 1372, 1369, 1378, 1373, 1371, 1383,
2027 1381, 1378, 1382, 1371, 1376, 1385, 1379, 1381, 1380, 1377,
2028 1386, 1382, 1387, 1389, 0, 1390, 1393, 1380, 1388, 1394,
2029 1391, 0, 1389, 1378, 1390, 1383, 1383, 1381, 1386, 1382,
2030
2031 1388, 1391, 1387, 1392, 1396, 1395, 1405, 1386, 0, 1387,
2032 1389, 1392, 1390, 1393, 1395, 1388, 1396, 1391, 1397, 1400,
2033 1394, 1398, 1403, 1404, 1406, 1407, 1397, 1400, 1398, 1403,
2034 1392, 1396, 1395, 1405, 1407, 1408, 1406, 1410, 1411, 1412,
2035 1414, 1416, 1417, 0, 1421, 1397, 1400, 1404, 1398, 1403,
2036 1404, 1406, 1407, 1412, 1422, 1415, 1423, 1424, 1408, 1422,
2037 1410, 1427, 1408, 1415, 1410, 1411, 1412, 1414, 1416, 1417,
2038 1421, 1421, 1425, 1430, 1423, 1429, 1431, 1426, 1432, 1424,
2039 1427, 1422, 1415, 1423, 1424, 1426, 1433, 1429, 1427, 1434,
2040 1432, 1435, 1436, 1437, 1425, 1430, 1438, 1441, 1431, 1425,
2041
2042 1430, 0, 1429, 1431, 1426, 1432, 1442, 1444, 1443, 1445,
2043 1447, 1448, 1446, 1433, 1436, 1451, 1434, 1450, 0, 1436,
2044 1437, 1445, 1435, 1438, 1451, 1444, 1448, 0, 1441, 1442,
2045 1443, 1446, 1447, 1442, 1444, 1443, 1445, 1447, 1448, 1446,
2046 1452, 1450, 1451, 1453, 1450, 1454, 0, 1455, 1456, 1458,
2047 1461, 1459, 1460, 1462, 1452, 1463, 0, 1458, 1459, 0,
2048 1460, 1453, 1464, 1454, 1465, 1467, 1456, 1452, 1472, 1474,
2049 1453, 1462, 1454, 1455, 1455, 1456, 1458, 1461, 1459, 1460,
2050 1462, 1464, 1463, 1467, 1468, 1469, 1465, 1470, 1480, 1464,
2051 1477, 1465, 1467, 1478, 1472, 1472, 1474, 1477, 1468, 1470,
2052
2053 1479, 1481, 1482, 1484, 1483, 1485, 1486, 1491, 1469, 0,
2054 0, 1468, 1469, 1483, 1470, 1480, 1484, 1477, 1487, 1478,
2055 1478, 1490, 1494, 1494, 1479, 1495, 1496, 1479, 1481, 1482,
2056 1484, 1483, 1494, 1486, 1499, 1496, 1485, 1497, 1491, 1501,
2057 1506, 1487, 1490, 1498, 1497, 1487, 1500, 1495, 1490, 1494,
2058 1494, 1502, 1495, 1496, 1500, 1503, 1498, 1504, 1501, 1502,
2059 1505, 1499, 1506, 1516, 1497, 1507, 1501, 1506, 1508, 1508,
2060 1498, 1505, 1507, 1500, 1513, 1509, 1515, 1517, 1502, 1510,
2061 1520, 1503, 1503, 1504, 1504, 1515, 1510, 1505, 0, 1511,
2062 1516, 1518, 1507, 1509, 1520, 1508, 1511, 1521, 1513, 1519,
2063
2064 1517, 1513, 1509, 1515, 1517, 1523, 1510, 1520, 1529, 1518,
2065 1524, 1519, 1525, 1531, 1525, 1521, 1511, 1530, 1518, 1533,
2066 1534, 1535, 1539, 1523, 1521, 1524, 1519, 1536, 1535, 1537,
2067 1529, 1531, 1523, 1536, 1541, 1529, 1538, 1524, 1534, 1525,
2068 1531, 1533, 1545, 1530, 1530, 1538, 1533, 1534, 1535, 1543,
2069 1540, 1537, 1540, 1539, 1536, 1544, 1537, 1543, 1546, 1548,
2070 1547, 1541, 1553, 1538, 1549, 1550, 1551, 1544, 1555, 1545,
2071 1548, 1554, 1549, 1552, 1552, 1556, 1543, 1540, 1547, 1554,
2072 1558, 1546, 1544, 1559, 1550, 1546, 1548, 1547, 1551, 1553,
2073 1559, 1549, 1550, 1551, 1561, 1555, 1562, 1556, 1554, 1560,
2074
2075 1552, 1563, 1556, 1560, 1564, 1565, 1563, 1558, 1566, 1562,
2076 1559, 1568, 1567, 1569, 1570, 1571, 1566, 1573, 1568, 1574,
2077 1561, 1561, 1571, 1562, 1572, 1573, 1560, 1567, 1563, 1570,
2078 1576, 1564, 1565, 1575, 1575, 1566, 1578, 1579, 1568, 1567,
2079 1569, 1570, 1571, 1575, 1573, 1579, 1572, 1581, 1583, 1582,
2080 1574, 1572, 1584, 1585, 1586, 1587, 1589, 1576, 1591, 1593,
2081 1575, 1575, 1582, 1578, 1579, 1594, 1596, 1601, 1597, 1581,
2082 1583, 1595, 1600, 0, 1581, 1583, 1582, 1587, 1594, 1584,
2083 1585, 1586, 1587, 1589, 1591, 1591, 1593, 1602, 1604, 1595,
2084 1597, 1600, 1594, 1596, 1601, 1597, 1605, 1606, 1595, 1600,
2085
2086 1610, 1607, 1609, 1608, 1608, 1614, 1606, 1615, 1609, 1602,
2087 1604, 1605, 1607, 1608, 1602, 1604, 1616, 1620, 1613, 1622,
2088 1624, 0, 1610, 1605, 1606, 1613, 1627, 1610, 1607, 1609,
2089 1608, 1608, 1614, 1631, 1615, 1625, 1632, 1628, 1633, 1616,
2090 1633, 1630, 1622, 1616, 1620, 1613, 1622, 1624, 1625, 1628,
2091 1630, 1635, 1636, 1627, 1634, 1637, 1639, 1635, 1642, 1638,
2092 1631, 1644, 1625, 1632, 1628, 1633, 1634, 1638, 1630, 1646,
2093 1652, 1649, 1648, 1654, 1636, 0, 1653, 1637, 1635, 1636,
2094 1657, 1634, 1637, 1639, 1655, 1642, 1638, 1648, 1644, 1653,
2095 1662, 1657, 1655, 1656, 1664, 1654, 1646, 1649, 1649, 1648,
2096
2097 1654, 1652, 1656, 1653, 1667, 1663, 1665, 1657, 1664, 1666,
2098 1670, 1655, 1663, 1662, 1665, 1667, 1669, 1662, 1666, 0,
2099 1656, 1664, 1668, 1671, 1668, 1672, 1673, 1674, 1669, 1674,
2100 1675, 1667, 1663, 1665, 1676, 0, 1666, 1670, 1681, 1679,
2101 1682, 1671, 1675, 1669, 0, 1677, 1683, 1672, 1673, 1668,
2102 1671, 1679, 1672, 1673, 1674, 1680, 1684, 1675, 1677, 1683,
2103 1685, 1686, 1688, 1680, 1689, 1676, 1679, 1687, 1685, 1681,
2104 1684, 1682, 1677, 1683, 1686, 1687, 1688, 1690, 1689, 1691,
2105 1692, 1695, 1680, 1684, 1693, 1690, 1694, 1685, 1686, 1688,
2106 1699, 1689, 1693, 1696, 1687, 1697, 1700, 1698, 1701, 1704,
2107
2108 0, 1691, 1692, 1695, 1690, 1698, 1691, 1692, 1695, 0,
2109 1708, 1693, 1694, 1694, 0, 1696, 0, 1697, 1701, 1702,
2110 1696, 1699, 1697, 1700, 1698, 1701, 1703, 1702, 1705, 1706,
2111 1704, 1709, 1708, 1710, 1703, 1711, 1705, 1708, 1712, 1709,
2112 1714, 1710, 1715, 1706, 1713, 0, 1702, 1716, 1714, 1711,
2113 1717, 0, 0, 1703, 1720, 1705, 1706, 0, 1709, 1718,
2114 1710, 0, 1711, 1721, 1712, 1712, 1713, 1714, 1715, 1715,
2115 1719, 1713, 1717, 1716, 1716, 1722, 1723, 1717, 1719, 1718,
2116 1725, 1720, 1724, 1721, 1723, 1729, 1718, 0, 1725, 1727,
2117 1721, 1728, 1730, 1729, 1731, 1722, 1735, 1719, 1732, 1737,
2118
2119 1730, 1734, 1722, 1723, 1724, 1738, 1732, 1725, 0, 1724,
2120 1736, 1727, 1729, 1728, 1733, 1739, 1727, 1741, 1728, 1730,
2121 1731, 1731, 1733, 1735, 1744, 1732, 1737, 1734, 1734, 1747,
2122 1736, 1748, 1738, 0, 0, 1739, 0, 1736, 0, 1741,
2123 1745, 1733, 1739, 0, 1741, 1746, 1744, 0, 1745, 0,
2124 0, 1744, 0, 1746, 0, 0, 1747, 0, 1748, 0,
2125 0, 0, 0, 0, 0, 0, 0, 1745, 0, 0,
2126 0, 0, 1746, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
2127 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754,
2128 1754, 1754, 1754, 1754, 1755, 1755, 1755, 1755, 1755, 1755,
2129
2130 1755, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1758, 1758,
2131 0, 1758, 1758, 1758, 1758, 1759, 1759, 0, 0, 0,
2132 1759, 1759, 1760, 1760, 0, 0, 1760, 0, 1760, 1761,
2133 0, 0, 0, 0, 0, 1761, 1762, 1762, 0, 0,
2134 0, 1762, 1762, 1763, 0, 0, 0, 0, 0, 1763,
2135 1764, 1764, 0, 1764, 1764, 1764, 1764, 1765, 1765, 0,
2136 1765, 1765, 1765, 1765, 1751, 1751, 1751, 1751, 1751, 1751,
2137 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2138 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2139 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2140
2141 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2142 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2143 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751
21252144 } ;
21262145
21272146 static yy_state_type yy_last_accepting_state;
22692288 #endif
22702289 ;
22712290 memset(&g, 0, sizeof(g));
2291 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
2292 strlen(cfg_parser->chroot)) == 0) {
2293 filename += strlen(cfg_parser->chroot);
2294 }
22722295 r = glob(filename, flags, NULL, &g);
22732296 if(r) {
22742297 /* some error */
23142337 #endif
23152338
23162339 #define YY_NO_INPUT 1
2317 #line 177 "util/configlexer.lex"
2340 #line 181 "util/configlexer.lex"
23182341 #ifndef YY_NO_UNPUT
23192342 #define YY_NO_UNPUT 1
23202343 #endif
23222345 #define YY_NO_INPUT 1
23232346 #endif
23242347
2325 #line 2325 "<stdout>"
2348 #line 2348 "<stdout>"
23262349
23272350 #define INITIAL 0
23282351 #define quotedstring 1
25072530 register char *yy_cp, *yy_bp;
25082531 register int yy_act;
25092532
2510 #line 197 "util/configlexer.lex"
2511
2512 #line 2512 "<stdout>"
2533 #line 201 "util/configlexer.lex"
2534
2535 #line 2535 "<stdout>"
25132536
25142537 if ( !(yy_init) )
25152538 {
25682591 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
25692592 {
25702593 yy_current_state = (int) yy_def[yy_current_state];
2571 if ( yy_current_state >= 1731 )
2594 if ( yy_current_state >= 1752 )
25722595 yy_c = yy_meta[(unsigned int) yy_c];
25732596 }
25742597 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
25752598 ++yy_cp;
25762599 }
2577 while ( yy_base[yy_current_state] != 5006 );
2600 while ( yy_base[yy_current_state] != 5065 );
25782601
25792602 yy_find_action:
25802603 yy_act = yy_accept[yy_current_state];
26002623
26012624 case 1:
26022625 YY_RULE_SETUP
2603 #line 198 "util/configlexer.lex"
2626 #line 202 "util/configlexer.lex"
26042627 {
26052628 LEXOUT(("SP ")); /* ignore */ }
26062629 YY_BREAK
26072630 case 2:
26082631 YY_RULE_SETUP
2609 #line 200 "util/configlexer.lex"
2632 #line 204 "util/configlexer.lex"
26102633 {
26112634 /* note that flex makes the longest match and '.' is any but not nl */
26122635 LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
26132636 YY_BREAK
26142637 case 3:
26152638 YY_RULE_SETUP
2616 #line 203 "util/configlexer.lex"
2639 #line 207 "util/configlexer.lex"
26172640 { YDVAR(0, VAR_SERVER) }
26182641 YY_BREAK
26192642 case 4:
26202643 YY_RULE_SETUP
2621 #line 204 "util/configlexer.lex"
2644 #line 208 "util/configlexer.lex"
26222645 { YDVAR(1, VAR_NUM_THREADS) }
26232646 YY_BREAK
26242647 case 5:
26252648 YY_RULE_SETUP
2626 #line 205 "util/configlexer.lex"
2649 #line 209 "util/configlexer.lex"
26272650 { YDVAR(1, VAR_VERBOSITY) }
26282651 YY_BREAK
26292652 case 6:
26302653 YY_RULE_SETUP
2631 #line 206 "util/configlexer.lex"
2654 #line 210 "util/configlexer.lex"
26322655 { YDVAR(1, VAR_PORT) }
26332656 YY_BREAK
26342657 case 7:
26352658 YY_RULE_SETUP
2636 #line 207 "util/configlexer.lex"
2659 #line 211 "util/configlexer.lex"
26372660 { YDVAR(1, VAR_OUTGOING_RANGE) }
26382661 YY_BREAK
26392662 case 8:
26402663 YY_RULE_SETUP
2641 #line 208 "util/configlexer.lex"
2664 #line 212 "util/configlexer.lex"
26422665 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
26432666 YY_BREAK
26442667 case 9:
26452668 YY_RULE_SETUP
2646 #line 209 "util/configlexer.lex"
2669 #line 213 "util/configlexer.lex"
26472670 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
26482671 YY_BREAK
26492672 case 10:
26502673 YY_RULE_SETUP
2651 #line 210 "util/configlexer.lex"
2674 #line 214 "util/configlexer.lex"
26522675 { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
26532676 YY_BREAK
26542677 case 11:
26552678 YY_RULE_SETUP
2656 #line 211 "util/configlexer.lex"
2679 #line 215 "util/configlexer.lex"
26572680 { YDVAR(1, VAR_INCOMING_NUM_TCP) }
26582681 YY_BREAK
26592682 case 12:
26602683 YY_RULE_SETUP
2661 #line 212 "util/configlexer.lex"
2684 #line 216 "util/configlexer.lex"
26622685 { YDVAR(1, VAR_DO_IP4) }
26632686 YY_BREAK
26642687 case 13:
26652688 YY_RULE_SETUP
2666 #line 213 "util/configlexer.lex"
2689 #line 217 "util/configlexer.lex"
26672690 { YDVAR(1, VAR_DO_IP6) }
26682691 YY_BREAK
26692692 case 14:
26702693 YY_RULE_SETUP
2671 #line 214 "util/configlexer.lex"
2694 #line 218 "util/configlexer.lex"
26722695 { YDVAR(1, VAR_DO_UDP) }
26732696 YY_BREAK
26742697 case 15:
26752698 YY_RULE_SETUP
2676 #line 215 "util/configlexer.lex"
2699 #line 219 "util/configlexer.lex"
26772700 { YDVAR(1, VAR_DO_TCP) }
26782701 YY_BREAK
26792702 case 16:
26802703 YY_RULE_SETUP
2681 #line 216 "util/configlexer.lex"
2704 #line 220 "util/configlexer.lex"
26822705 { YDVAR(1, VAR_TCP_UPSTREAM) }
26832706 YY_BREAK
26842707 case 17:
26852708 YY_RULE_SETUP
2686 #line 217 "util/configlexer.lex"
2709 #line 221 "util/configlexer.lex"
26872710 { YDVAR(1, VAR_SSL_UPSTREAM) }
26882711 YY_BREAK
26892712 case 18:
26902713 YY_RULE_SETUP
2691 #line 218 "util/configlexer.lex"
2714 #line 222 "util/configlexer.lex"
26922715 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
26932716 YY_BREAK
26942717 case 19:
26952718 YY_RULE_SETUP
2696 #line 219 "util/configlexer.lex"
2719 #line 223 "util/configlexer.lex"
26972720 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
26982721 YY_BREAK
26992722 case 20:
27002723 YY_RULE_SETUP
2701 #line 220 "util/configlexer.lex"
2724 #line 224 "util/configlexer.lex"
27022725 { YDVAR(1, VAR_SSL_PORT) }
27032726 YY_BREAK
27042727 case 21:
27052728 YY_RULE_SETUP
2706 #line 221 "util/configlexer.lex"
2729 #line 225 "util/configlexer.lex"
27072730 { YDVAR(1, VAR_DO_DAEMONIZE) }
27082731 YY_BREAK
27092732 case 22:
27102733 YY_RULE_SETUP
2711 #line 222 "util/configlexer.lex"
2734 #line 226 "util/configlexer.lex"
27122735 { YDVAR(1, VAR_INTERFACE) }
27132736 YY_BREAK
27142737 case 23:
27152738 YY_RULE_SETUP
2716 #line 223 "util/configlexer.lex"
2739 #line 227 "util/configlexer.lex"
27172740 { YDVAR(1, VAR_INTERFACE) }
27182741 YY_BREAK
27192742 case 24:
27202743 YY_RULE_SETUP
2721 #line 224 "util/configlexer.lex"
2744 #line 228 "util/configlexer.lex"
27222745 { YDVAR(1, VAR_OUTGOING_INTERFACE) }
27232746 YY_BREAK
27242747 case 25:
27252748 YY_RULE_SETUP
2726 #line 225 "util/configlexer.lex"
2749 #line 229 "util/configlexer.lex"
27272750 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
27282751 YY_BREAK
27292752 case 26:
27302753 YY_RULE_SETUP
2731 #line 226 "util/configlexer.lex"
2754 #line 230 "util/configlexer.lex"
27322755 { YDVAR(1, VAR_SO_RCVBUF) }
27332756 YY_BREAK
27342757 case 27:
27352758 YY_RULE_SETUP
2736 #line 227 "util/configlexer.lex"
2759 #line 231 "util/configlexer.lex"
27372760 { YDVAR(1, VAR_SO_SNDBUF) }
27382761 YY_BREAK
27392762 case 28:
27402763 YY_RULE_SETUP
2741 #line 228 "util/configlexer.lex"
2764 #line 232 "util/configlexer.lex"
27422765 { YDVAR(1, VAR_SO_REUSEPORT) }
27432766 YY_BREAK
27442767 case 29:
27452768 YY_RULE_SETUP
2746 #line 229 "util/configlexer.lex"
2769 #line 233 "util/configlexer.lex"
27472770 { YDVAR(1, VAR_IP_TRANSPARENT) }
27482771 YY_BREAK
27492772 case 30:
27502773 YY_RULE_SETUP
2751 #line 230 "util/configlexer.lex"
2774 #line 234 "util/configlexer.lex"
27522775 { YDVAR(1, VAR_CHROOT) }
27532776 YY_BREAK
27542777 case 31:
27552778 YY_RULE_SETUP
2756 #line 231 "util/configlexer.lex"
2779 #line 235 "util/configlexer.lex"
27572780 { YDVAR(1, VAR_USERNAME) }
27582781 YY_BREAK
27592782 case 32:
27602783 YY_RULE_SETUP
2761 #line 232 "util/configlexer.lex"
2784 #line 236 "util/configlexer.lex"
27622785 { YDVAR(1, VAR_DIRECTORY) }
27632786 YY_BREAK
27642787 case 33:
27652788 YY_RULE_SETUP
2766 #line 233 "util/configlexer.lex"
2789 #line 237 "util/configlexer.lex"
27672790 { YDVAR(1, VAR_LOGFILE) }
27682791 YY_BREAK
27692792 case 34:
27702793 YY_RULE_SETUP
2771 #line 234 "util/configlexer.lex"
2794 #line 238 "util/configlexer.lex"
27722795 { YDVAR(1, VAR_PIDFILE) }
27732796 YY_BREAK
27742797 case 35:
27752798 YY_RULE_SETUP
2776 #line 235 "util/configlexer.lex"
2799 #line 239 "util/configlexer.lex"
27772800 { YDVAR(1, VAR_ROOT_HINTS) }
27782801 YY_BREAK
27792802 case 36:
27802803 YY_RULE_SETUP
2781 #line 236 "util/configlexer.lex"
2804 #line 240 "util/configlexer.lex"
27822805 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
27832806 YY_BREAK
27842807 case 37:
27852808 YY_RULE_SETUP
2786 #line 237 "util/configlexer.lex"
2809 #line 241 "util/configlexer.lex"
27872810 { YDVAR(1, VAR_MSG_BUFFER_SIZE) }
27882811 YY_BREAK
27892812 case 38:
27902813 YY_RULE_SETUP
2791 #line 238 "util/configlexer.lex"
2814 #line 242 "util/configlexer.lex"
27922815 { YDVAR(1, VAR_MSG_CACHE_SIZE) }
27932816 YY_BREAK
27942817 case 39:
27952818 YY_RULE_SETUP
2796 #line 239 "util/configlexer.lex"
2819 #line 243 "util/configlexer.lex"
27972820 { YDVAR(1, VAR_MSG_CACHE_SLABS) }
27982821 YY_BREAK
27992822 case 40:
28002823 YY_RULE_SETUP
2801 #line 240 "util/configlexer.lex"
2824 #line 244 "util/configlexer.lex"
28022825 { YDVAR(1, VAR_RRSET_CACHE_SIZE) }
28032826 YY_BREAK
28042827 case 41:
28052828 YY_RULE_SETUP
2806 #line 241 "util/configlexer.lex"
2829 #line 245 "util/configlexer.lex"
28072830 { YDVAR(1, VAR_RRSET_CACHE_SLABS) }
28082831 YY_BREAK
28092832 case 42:
28102833 YY_RULE_SETUP
2811 #line 242 "util/configlexer.lex"
2834 #line 246 "util/configlexer.lex"
28122835 { YDVAR(1, VAR_CACHE_MAX_TTL) }
28132836 YY_BREAK
28142837 case 43:
28152838 YY_RULE_SETUP
2816 #line 243 "util/configlexer.lex"
2839 #line 247 "util/configlexer.lex"
28172840 { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
28182841 YY_BREAK
28192842 case 44:
28202843 YY_RULE_SETUP
2821 #line 244 "util/configlexer.lex"
2844 #line 248 "util/configlexer.lex"
28222845 { YDVAR(1, VAR_CACHE_MIN_TTL) }
28232846 YY_BREAK
28242847 case 45:
28252848 YY_RULE_SETUP
2826 #line 245 "util/configlexer.lex"
2849 #line 249 "util/configlexer.lex"
28272850 { YDVAR(1, VAR_INFRA_HOST_TTL) }
28282851 YY_BREAK
28292852 case 46:
28302853 YY_RULE_SETUP
2831 #line 246 "util/configlexer.lex"
2854 #line 250 "util/configlexer.lex"
28322855 { YDVAR(1, VAR_INFRA_LAME_TTL) }
28332856 YY_BREAK
28342857 case 47:
28352858 YY_RULE_SETUP
2836 #line 247 "util/configlexer.lex"
2859 #line 251 "util/configlexer.lex"
28372860 { YDVAR(1, VAR_INFRA_CACHE_SLABS) }
28382861 YY_BREAK
28392862 case 48:
28402863 YY_RULE_SETUP
2841 #line 248 "util/configlexer.lex"
2864 #line 252 "util/configlexer.lex"
28422865 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
28432866 YY_BREAK
28442867 case 49:
28452868 YY_RULE_SETUP
2846 #line 249 "util/configlexer.lex"
2869 #line 253 "util/configlexer.lex"
28472870 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
28482871 YY_BREAK
28492872 case 50:
28502873 YY_RULE_SETUP
2851 #line 250 "util/configlexer.lex"
2874 #line 254 "util/configlexer.lex"
28522875 { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
28532876 YY_BREAK
28542877 case 51:
28552878 YY_RULE_SETUP
2856 #line 251 "util/configlexer.lex"
2879 #line 255 "util/configlexer.lex"
28572880 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
28582881 YY_BREAK
28592882 case 52:
28602883 YY_RULE_SETUP
2861 #line 252 "util/configlexer.lex"
2884 #line 256 "util/configlexer.lex"
28622885 { YDVAR(1, VAR_JOSTLE_TIMEOUT) }
28632886 YY_BREAK
28642887 case 53:
28652888 YY_RULE_SETUP
2866 #line 253 "util/configlexer.lex"
2889 #line 257 "util/configlexer.lex"
28672890 { YDVAR(1, VAR_DELAY_CLOSE) }
28682891 YY_BREAK
28692892 case 54:
28702893 YY_RULE_SETUP
2871 #line 254 "util/configlexer.lex"
2894 #line 258 "util/configlexer.lex"
28722895 { YDVAR(1, VAR_TARGET_FETCH_POLICY) }
28732896 YY_BREAK
28742897 case 55:
28752898 YY_RULE_SETUP
2876 #line 255 "util/configlexer.lex"
2899 #line 259 "util/configlexer.lex"
28772900 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
28782901 YY_BREAK
28792902 case 56:
28802903 YY_RULE_SETUP
2881 #line 256 "util/configlexer.lex"
2904 #line 260 "util/configlexer.lex"
28822905 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
28832906 YY_BREAK
28842907 case 57:
28852908 YY_RULE_SETUP
2886 #line 257 "util/configlexer.lex"
2909 #line 261 "util/configlexer.lex"
28872910 { YDVAR(1, VAR_HARDEN_GLUE) }
28882911 YY_BREAK
28892912 case 58:
28902913 YY_RULE_SETUP
2891 #line 258 "util/configlexer.lex"
2914 #line 262 "util/configlexer.lex"
28922915 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
28932916 YY_BREAK
28942917 case 59:
28952918 YY_RULE_SETUP
2896 #line 259 "util/configlexer.lex"
2919 #line 263 "util/configlexer.lex"
28972920 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
28982921 YY_BREAK
28992922 case 60:
29002923 YY_RULE_SETUP
2901 #line 260 "util/configlexer.lex"
2924 #line 264 "util/configlexer.lex"
29022925 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
29032926 YY_BREAK
29042927 case 61:
29052928 YY_RULE_SETUP
2906 #line 261 "util/configlexer.lex"
2929 #line 265 "util/configlexer.lex"
29072930 { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
29082931 YY_BREAK
29092932 case 62:
29102933 YY_RULE_SETUP
2911 #line 262 "util/configlexer.lex"
2934 #line 266 "util/configlexer.lex"
29122935 { YDVAR(1, VAR_USE_CAPS_FOR_ID) }
29132936 YY_BREAK
29142937 case 63:
29152938 YY_RULE_SETUP
2916 #line 263 "util/configlexer.lex"
2939 #line 267 "util/configlexer.lex"
29172940 { YDVAR(1, VAR_CAPS_WHITELIST) }
29182941 YY_BREAK
29192942 case 64:
29202943 YY_RULE_SETUP
2921 #line 264 "util/configlexer.lex"
2944 #line 268 "util/configlexer.lex"
29222945 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
29232946 YY_BREAK
29242947 case 65:
29252948 YY_RULE_SETUP
2926 #line 265 "util/configlexer.lex"
2949 #line 269 "util/configlexer.lex"
29272950 { YDVAR(1, VAR_PRIVATE_ADDRESS) }
29282951 YY_BREAK
29292952 case 66:
29302953 YY_RULE_SETUP
2931 #line 266 "util/configlexer.lex"
2954 #line 270 "util/configlexer.lex"
29322955 { YDVAR(1, VAR_PRIVATE_DOMAIN) }
29332956 YY_BREAK
29342957 case 67:
29352958 YY_RULE_SETUP
2936 #line 267 "util/configlexer.lex"
2959 #line 271 "util/configlexer.lex"
29372960 { YDVAR(1, VAR_PREFETCH_KEY) }
29382961 YY_BREAK
29392962 case 68:
29402963 YY_RULE_SETUP
2941 #line 268 "util/configlexer.lex"
2964 #line 272 "util/configlexer.lex"
29422965 { YDVAR(1, VAR_PREFETCH) }
29432966 YY_BREAK
29442967 case 69:
29452968 YY_RULE_SETUP
2946 #line 269 "util/configlexer.lex"
2969 #line 273 "util/configlexer.lex"
29472970 { YDVAR(0, VAR_STUB_ZONE) }
29482971 YY_BREAK
29492972 case 70:
29502973 YY_RULE_SETUP
2951 #line 270 "util/configlexer.lex"
2974 #line 274 "util/configlexer.lex"
29522975 { YDVAR(1, VAR_NAME) }
29532976 YY_BREAK
29542977 case 71:
29552978 YY_RULE_SETUP
2956 #line 271 "util/configlexer.lex"
2979 #line 275 "util/configlexer.lex"
29572980 { YDVAR(1, VAR_STUB_ADDR) }
29582981 YY_BREAK
29592982 case 72:
29602983 YY_RULE_SETUP
2961 #line 272 "util/configlexer.lex"
2984 #line 276 "util/configlexer.lex"
29622985 { YDVAR(1, VAR_STUB_HOST) }
29632986 YY_BREAK
29642987 case 73:
29652988 YY_RULE_SETUP
2966 #line 273 "util/configlexer.lex"
2989 #line 277 "util/configlexer.lex"
29672990 { YDVAR(1, VAR_STUB_PRIME) }
29682991 YY_BREAK
29692992 case 74:
29702993 YY_RULE_SETUP
2971 #line 274 "util/configlexer.lex"
2994 #line 278 "util/configlexer.lex"
29722995 { YDVAR(1, VAR_STUB_FIRST) }
29732996 YY_BREAK
29742997 case 75:
29752998 YY_RULE_SETUP
2976 #line 275 "util/configlexer.lex"
2999 #line 279 "util/configlexer.lex"
29773000 { YDVAR(0, VAR_FORWARD_ZONE) }
29783001 YY_BREAK
29793002 case 76:
29803003 YY_RULE_SETUP
2981 #line 276 "util/configlexer.lex"
3004 #line 280 "util/configlexer.lex"
29823005 { YDVAR(1, VAR_FORWARD_ADDR) }
29833006 YY_BREAK
29843007 case 77:
29853008 YY_RULE_SETUP
2986 #line 277 "util/configlexer.lex"
3009 #line 281 "util/configlexer.lex"
29873010 { YDVAR(1, VAR_FORWARD_HOST) }
29883011 YY_BREAK
29893012 case 78:
29903013 YY_RULE_SETUP
2991 #line 278 "util/configlexer.lex"
3014 #line 282 "util/configlexer.lex"
29923015 { YDVAR(1, VAR_FORWARD_FIRST) }
29933016 YY_BREAK
29943017 case 79:
29953018 YY_RULE_SETUP
2996 #line 279 "util/configlexer.lex"
3019 #line 283 "util/configlexer.lex"
29973020 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
29983021 YY_BREAK
29993022 case 80:
30003023 YY_RULE_SETUP
3001 #line 280 "util/configlexer.lex"
3024 #line 284 "util/configlexer.lex"
30023025 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
30033026 YY_BREAK
30043027 case 81:
30053028 YY_RULE_SETUP
3006 #line 281 "util/configlexer.lex"
3029 #line 285 "util/configlexer.lex"
30073030 { YDVAR(2, VAR_ACCESS_CONTROL) }
30083031 YY_BREAK
30093032 case 82:
30103033 YY_RULE_SETUP
3011 #line 282 "util/configlexer.lex"
3034 #line 286 "util/configlexer.lex"
30123035 { YDVAR(1, VAR_HIDE_IDENTITY) }
30133036 YY_BREAK
30143037 case 83:
30153038 YY_RULE_SETUP
3016 #line 283 "util/configlexer.lex"
3039 #line 287 "util/configlexer.lex"
30173040 { YDVAR(1, VAR_HIDE_VERSION) }
30183041 YY_BREAK
30193042 case 84:
30203043 YY_RULE_SETUP
3021 #line 284 "util/configlexer.lex"
3044 #line 288 "util/configlexer.lex"
30223045 { YDVAR(1, VAR_IDENTITY) }
30233046 YY_BREAK
30243047 case 85:
30253048 YY_RULE_SETUP
3026 #line 285 "util/configlexer.lex"
3049 #line 289 "util/configlexer.lex"
30273050 { YDVAR(1, VAR_VERSION) }
30283051 YY_BREAK
30293052 case 86:
30303053 YY_RULE_SETUP
3031 #line 286 "util/configlexer.lex"
3054 #line 290 "util/configlexer.lex"
30323055 { YDVAR(1, VAR_MODULE_CONF) }
30333056 YY_BREAK
30343057 case 87:
30353058 YY_RULE_SETUP
3036 #line 287 "util/configlexer.lex"
3059 #line 291 "util/configlexer.lex"
30373060 { YDVAR(1, VAR_DLV_ANCHOR) }
30383061 YY_BREAK
30393062 case 88:
30403063 YY_RULE_SETUP
3041 #line 288 "util/configlexer.lex"
3064 #line 292 "util/configlexer.lex"
30423065 { YDVAR(1, VAR_DLV_ANCHOR_FILE) }
30433066 YY_BREAK
30443067 case 89:
30453068 YY_RULE_SETUP
3046 #line 289 "util/configlexer.lex"
3069 #line 293 "util/configlexer.lex"
30473070 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
30483071 YY_BREAK
30493072 case 90:
30503073 YY_RULE_SETUP
3051 #line 290 "util/configlexer.lex"
3074 #line 294 "util/configlexer.lex"
30523075 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
30533076 YY_BREAK
30543077 case 91:
30553078 YY_RULE_SETUP
3056 #line 291 "util/configlexer.lex"
3079 #line 295 "util/configlexer.lex"
30573080 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
30583081 YY_BREAK
30593082 case 92:
30603083 YY_RULE_SETUP
3061 #line 292 "util/configlexer.lex"
3084 #line 296 "util/configlexer.lex"
30623085 { YDVAR(1, VAR_TRUST_ANCHOR) }
30633086 YY_BREAK
30643087 case 93:
30653088 YY_RULE_SETUP
3066 #line 293 "util/configlexer.lex"
3089 #line 297 "util/configlexer.lex"
30673090 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
30683091 YY_BREAK
30693092 case 94:
30703093 YY_RULE_SETUP
3071 #line 294 "util/configlexer.lex"
3094 #line 298 "util/configlexer.lex"
30723095 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
30733096 YY_BREAK
30743097 case 95:
30753098 YY_RULE_SETUP
3076 #line 295 "util/configlexer.lex"
3099 #line 299 "util/configlexer.lex"
30773100 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
30783101 YY_BREAK
30793102 case 96:
30803103 YY_RULE_SETUP
3081 #line 296 "util/configlexer.lex"
3104 #line 300 "util/configlexer.lex"
30823105 { YDVAR(1, VAR_BOGUS_TTL) }
30833106 YY_BREAK
30843107 case 97:
30853108 YY_RULE_SETUP
3086 #line 297 "util/configlexer.lex"
3109 #line 301 "util/configlexer.lex"
30873110 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
30883111 YY_BREAK
30893112 case 98:
30903113 YY_RULE_SETUP
3091 #line 298 "util/configlexer.lex"
3114 #line 302 "util/configlexer.lex"
30923115 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
30933116 YY_BREAK
30943117 case 99:
30953118 YY_RULE_SETUP
3096 #line 299 "util/configlexer.lex"
3119 #line 303 "util/configlexer.lex"
30973120 { YDVAR(1, VAR_IGNORE_CD_FLAG) }
30983121 YY_BREAK
30993122 case 100:
31003123 YY_RULE_SETUP
3101 #line 300 "util/configlexer.lex"
3124 #line 304 "util/configlexer.lex"
31023125 { YDVAR(1, VAR_VAL_LOG_LEVEL) }
31033126 YY_BREAK
31043127 case 101:
31053128 YY_RULE_SETUP
3106 #line 301 "util/configlexer.lex"
3129 #line 305 "util/configlexer.lex"
31073130 { YDVAR(1, VAR_KEY_CACHE_SIZE) }
31083131 YY_BREAK
31093132 case 102:
31103133 YY_RULE_SETUP
3111 #line 302 "util/configlexer.lex"
3134 #line 306 "util/configlexer.lex"
31123135 { YDVAR(1, VAR_KEY_CACHE_SLABS) }
31133136 YY_BREAK
31143137 case 103:
31153138 YY_RULE_SETUP
3116 #line 303 "util/configlexer.lex"
3139 #line 307 "util/configlexer.lex"
31173140 { YDVAR(1, VAR_NEG_CACHE_SIZE) }
31183141 YY_BREAK
31193142 case 104:
31203143 YY_RULE_SETUP
3121 #line 304 "util/configlexer.lex"
3144 #line 308 "util/configlexer.lex"
31223145 {
31233146 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
31243147 YY_BREAK
31253148 case 105:
31263149 YY_RULE_SETUP
3127 #line 306 "util/configlexer.lex"
3150 #line 310 "util/configlexer.lex"
31283151 { YDVAR(1, VAR_ADD_HOLDDOWN) }
31293152 YY_BREAK
31303153 case 106:
31313154 YY_RULE_SETUP
3132 #line 307 "util/configlexer.lex"
3155 #line 311 "util/configlexer.lex"
31333156 { YDVAR(1, VAR_DEL_HOLDDOWN) }
31343157 YY_BREAK
31353158 case 107:
31363159 YY_RULE_SETUP
3137 #line 308 "util/configlexer.lex"
3160 #line 312 "util/configlexer.lex"
31383161 { YDVAR(1, VAR_KEEP_MISSING) }
31393162 YY_BREAK
31403163 case 108:
31413164 YY_RULE_SETUP
3142 #line 309 "util/configlexer.lex"
3165 #line 313 "util/configlexer.lex"
3166 { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
3167 YY_BREAK
3168 case 109:
3169 YY_RULE_SETUP
3170 #line 314 "util/configlexer.lex"
31433171 { YDVAR(1, VAR_USE_SYSLOG) }
31443172 YY_BREAK
3145 case 109:
3146 YY_RULE_SETUP
3147 #line 310 "util/configlexer.lex"
3173 case 110:
3174 YY_RULE_SETUP
3175 #line 315 "util/configlexer.lex"
31483176 { YDVAR(1, VAR_LOG_TIME_ASCII) }
31493177 YY_BREAK
3150 case 110:
3151 YY_RULE_SETUP
3152 #line 311 "util/configlexer.lex"
3178 case 111:
3179 YY_RULE_SETUP
3180 #line 316 "util/configlexer.lex"
31533181 { YDVAR(1, VAR_LOG_QUERIES) }
31543182 YY_BREAK
3155 case 111:
3156 YY_RULE_SETUP
3157 #line 312 "util/configlexer.lex"
3183 case 112:
3184 YY_RULE_SETUP
3185 #line 317 "util/configlexer.lex"
31583186 { YDVAR(2, VAR_LOCAL_ZONE) }
31593187 YY_BREAK
3160 case 112:
3161 YY_RULE_SETUP
3162 #line 313 "util/configlexer.lex"
3188 case 113:
3189 YY_RULE_SETUP
3190 #line 318 "util/configlexer.lex"
31633191 { YDVAR(1, VAR_LOCAL_DATA) }
31643192 YY_BREAK
3165 case 113:
3166 YY_RULE_SETUP
3167 #line 314 "util/configlexer.lex"
3193 case 114:
3194 YY_RULE_SETUP
3195 #line 319 "util/configlexer.lex"
31683196 { YDVAR(1, VAR_LOCAL_DATA_PTR) }
31693197 YY_BREAK
3170 case 114:
3171 YY_RULE_SETUP
3172 #line 315 "util/configlexer.lex"
3198 case 115:
3199 YY_RULE_SETUP
3200 #line 320 "util/configlexer.lex"
31733201 { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
31743202 YY_BREAK
3175 case 115:
3176 YY_RULE_SETUP
3177 #line 316 "util/configlexer.lex"
3203 case 116:
3204 YY_RULE_SETUP
3205 #line 321 "util/configlexer.lex"
31783206 { YDVAR(1, VAR_STATISTICS_INTERVAL) }
31793207 YY_BREAK
3180 case 116:
3181 YY_RULE_SETUP
3182 #line 317 "util/configlexer.lex"
3208 case 117:
3209 YY_RULE_SETUP
3210 #line 322 "util/configlexer.lex"
31833211 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
31843212 YY_BREAK
3185 case 117:
3186 YY_RULE_SETUP
3187 #line 318 "util/configlexer.lex"
3213 case 118:
3214 YY_RULE_SETUP
3215 #line 323 "util/configlexer.lex"
31883216 { YDVAR(1, VAR_EXTENDED_STATISTICS) }
31893217 YY_BREAK
3190 case 118:
3191 YY_RULE_SETUP
3192 #line 319 "util/configlexer.lex"
3218 case 119:
3219 YY_RULE_SETUP
3220 #line 324 "util/configlexer.lex"
31933221 { YDVAR(0, VAR_REMOTE_CONTROL) }
31943222 YY_BREAK
3195 case 119:
3196 YY_RULE_SETUP
3197 #line 320 "util/configlexer.lex"
3223 case 120:
3224 YY_RULE_SETUP
3225 #line 325 "util/configlexer.lex"
31983226 { YDVAR(1, VAR_CONTROL_ENABLE) }
31993227 YY_BREAK
3200 case 120:
3201 YY_RULE_SETUP
3202 #line 321 "util/configlexer.lex"
3228 case 121:
3229 YY_RULE_SETUP
3230 #line 326 "util/configlexer.lex"
32033231 { YDVAR(1, VAR_CONTROL_INTERFACE) }
32043232 YY_BREAK
3205 case 121:
3206 YY_RULE_SETUP
3207 #line 322 "util/configlexer.lex"
3233 case 122:
3234 YY_RULE_SETUP
3235 #line 327 "util/configlexer.lex"
32083236 { YDVAR(1, VAR_CONTROL_PORT) }
32093237 YY_BREAK
3210 case 122:
3211 YY_RULE_SETUP
3212 #line 323 "util/configlexer.lex"
3238 case 123:
3239 YY_RULE_SETUP
3240 #line 328 "util/configlexer.lex"
32133241 { YDVAR(1, VAR_CONTROL_USE_CERT) }
32143242 YY_BREAK
3215 case 123:
3216 YY_RULE_SETUP
3217 #line 324 "util/configlexer.lex"
3243 case 124:
3244 YY_RULE_SETUP
3245 #line 329 "util/configlexer.lex"
32183246 { YDVAR(1, VAR_SERVER_KEY_FILE) }
32193247 YY_BREAK
3220 case 124:
3221 YY_RULE_SETUP
3222 #line 325 "util/configlexer.lex"
3248 case 125:
3249 YY_RULE_SETUP
3250 #line 330 "util/configlexer.lex"
32233251 { YDVAR(1, VAR_SERVER_CERT_FILE) }
32243252 YY_BREAK
3225 case 125:
3226 YY_RULE_SETUP
3227 #line 326 "util/configlexer.lex"
3253 case 126:
3254 YY_RULE_SETUP
3255 #line 331 "util/configlexer.lex"
32283256 { YDVAR(1, VAR_CONTROL_KEY_FILE) }
32293257 YY_BREAK
3230 case 126:
3231 YY_RULE_SETUP
3232 #line 327 "util/configlexer.lex"
3258 case 127:
3259 YY_RULE_SETUP
3260 #line 332 "util/configlexer.lex"
32333261 { YDVAR(1, VAR_CONTROL_CERT_FILE) }
32343262 YY_BREAK
3235 case 127:
3236 YY_RULE_SETUP
3237 #line 328 "util/configlexer.lex"
3263 case 128:
3264 YY_RULE_SETUP
3265 #line 333 "util/configlexer.lex"
32383266 { YDVAR(1, VAR_PYTHON_SCRIPT) }
32393267 YY_BREAK
3240 case 128:
3241 YY_RULE_SETUP
3242 #line 329 "util/configlexer.lex"
3268 case 129:
3269 YY_RULE_SETUP
3270 #line 334 "util/configlexer.lex"
32433271 { YDVAR(0, VAR_PYTHON) }
32443272 YY_BREAK
3245 case 129:
3246 YY_RULE_SETUP
3247 #line 330 "util/configlexer.lex"
3273 case 130:
3274 YY_RULE_SETUP
3275 #line 335 "util/configlexer.lex"
32483276 { YDVAR(1, VAR_DOMAIN_INSECURE) }
32493277 YY_BREAK
3250 case 130:
3251 YY_RULE_SETUP
3252 #line 331 "util/configlexer.lex"
3278 case 131:
3279 YY_RULE_SETUP
3280 #line 336 "util/configlexer.lex"
32533281 { YDVAR(1, VAR_MINIMAL_RESPONSES) }
32543282 YY_BREAK
3255 case 131:
3256 YY_RULE_SETUP
3257 #line 332 "util/configlexer.lex"
3283 case 132:
3284 YY_RULE_SETUP
3285 #line 337 "util/configlexer.lex"
32583286 { YDVAR(1, VAR_RRSET_ROUNDROBIN) }
32593287 YY_BREAK
3260 case 132:
3261 YY_RULE_SETUP
3262 #line 333 "util/configlexer.lex"
3288 case 133:
3289 YY_RULE_SETUP
3290 #line 338 "util/configlexer.lex"
32633291 { YDVAR(1, VAR_MAX_UDP_SIZE) }
32643292 YY_BREAK
3265 case 133:
3266 YY_RULE_SETUP
3267 #line 334 "util/configlexer.lex"
3293 case 134:
3294 YY_RULE_SETUP
3295 #line 339 "util/configlexer.lex"
32683296 { YDVAR(1, VAR_DNS64_PREFIX) }
32693297 YY_BREAK
3270 case 134:
3271 YY_RULE_SETUP
3272 #line 335 "util/configlexer.lex"
3298 case 135:
3299 YY_RULE_SETUP
3300 #line 340 "util/configlexer.lex"
32733301 { YDVAR(1, VAR_DNS64_SYNTHALL) }
32743302 YY_BREAK
3275 case 135:
3276 YY_RULE_SETUP
3277 #line 336 "util/configlexer.lex"
3303 case 136:
3304 YY_RULE_SETUP
3305 #line 341 "util/configlexer.lex"
32783306 { YDVAR(0, VAR_DNSTAP) }
32793307 YY_BREAK
3280 case 136:
3281 YY_RULE_SETUP
3282 #line 337 "util/configlexer.lex"
3308 case 137:
3309 YY_RULE_SETUP
3310 #line 342 "util/configlexer.lex"
32833311 { YDVAR(1, VAR_DNSTAP_ENABLE) }
32843312 YY_BREAK
3285 case 137:
3286 YY_RULE_SETUP
3287 #line 338 "util/configlexer.lex"
3313 case 138:
3314 YY_RULE_SETUP
3315 #line 343 "util/configlexer.lex"
32883316 { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
32893317 YY_BREAK
3290 case 138:
3291 YY_RULE_SETUP
3292 #line 339 "util/configlexer.lex"
3318 case 139:
3319 YY_RULE_SETUP
3320 #line 344 "util/configlexer.lex"
32933321 { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
32943322 YY_BREAK
3295 case 139:
3296 YY_RULE_SETUP
3297 #line 340 "util/configlexer.lex"
3323 case 140:
3324 YY_RULE_SETUP
3325 #line 345 "util/configlexer.lex"
32983326 { YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
32993327 YY_BREAK
3300 case 140:
3301 YY_RULE_SETUP
3302 #line 341 "util/configlexer.lex"
3328 case 141:
3329 YY_RULE_SETUP
3330 #line 346 "util/configlexer.lex"
33033331 { YDVAR(1, VAR_DNSTAP_IDENTITY) }
33043332 YY_BREAK
3305 case 141:
3306 YY_RULE_SETUP
3307 #line 342 "util/configlexer.lex"
3333 case 142:
3334 YY_RULE_SETUP
3335 #line 347 "util/configlexer.lex"
33083336 { YDVAR(1, VAR_DNSTAP_VERSION) }
33093337 YY_BREAK
3310 case 142:
3311 YY_RULE_SETUP
3312 #line 343 "util/configlexer.lex"
3338 case 143:
3339 YY_RULE_SETUP
3340 #line 348 "util/configlexer.lex"
33133341 {
33143342 YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
33153343 YY_BREAK
3316 case 143:
3317 YY_RULE_SETUP
3318 #line 345 "util/configlexer.lex"
3344 case 144:
3345 YY_RULE_SETUP
3346 #line 350 "util/configlexer.lex"
33193347 {
33203348 YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
33213349 YY_BREAK
3322 case 144:
3323 YY_RULE_SETUP
3324 #line 347 "util/configlexer.lex"
3350 case 145:
3351 YY_RULE_SETUP
3352 #line 352 "util/configlexer.lex"
33253353 {
33263354 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
33273355 YY_BREAK
3328 case 145:
3329 YY_RULE_SETUP
3330 #line 349 "util/configlexer.lex"
3356 case 146:
3357 YY_RULE_SETUP
3358 #line 354 "util/configlexer.lex"
33313359 {
33323360 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
33333361 YY_BREAK
3334 case 146:
3335 YY_RULE_SETUP
3336 #line 351 "util/configlexer.lex"
3362 case 147:
3363 YY_RULE_SETUP
3364 #line 356 "util/configlexer.lex"
33373365 {
33383366 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
33393367 YY_BREAK
3340 case 147:
3341 YY_RULE_SETUP
3342 #line 353 "util/configlexer.lex"
3368 case 148:
3369 YY_RULE_SETUP
3370 #line 358 "util/configlexer.lex"
33433371 {
33443372 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
33453373 YY_BREAK
3346 case 148:
3347 YY_RULE_SETUP
3348 #line 355 "util/configlexer.lex"
3374 case 149:
3375 YY_RULE_SETUP
3376 #line 360 "util/configlexer.lex"
33493377 { YDVAR(1, VAR_RATELIMIT) }
33503378 YY_BREAK
3351 case 149:
3352 YY_RULE_SETUP
3353 #line 356 "util/configlexer.lex"
3379 case 150:
3380 YY_RULE_SETUP
3381 #line 361 "util/configlexer.lex"
33543382 { YDVAR(1, VAR_RATELIMIT_SLABS) }
33553383 YY_BREAK
3356 case 150:
3357 YY_RULE_SETUP
3358 #line 357 "util/configlexer.lex"
3384 case 151:
3385 YY_RULE_SETUP
3386 #line 362 "util/configlexer.lex"
33593387 { YDVAR(1, VAR_RATELIMIT_SIZE) }
33603388 YY_BREAK
3361 case 151:
3362 YY_RULE_SETUP
3363 #line 358 "util/configlexer.lex"
3389 case 152:
3390 YY_RULE_SETUP
3391 #line 363 "util/configlexer.lex"
33643392 { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
33653393 YY_BREAK
3366 case 152:
3367 YY_RULE_SETUP
3368 #line 359 "util/configlexer.lex"
3394 case 153:
3395 YY_RULE_SETUP
3396 #line 364 "util/configlexer.lex"
33693397 { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
33703398 YY_BREAK
3371 case 153:
3372 YY_RULE_SETUP
3373 #line 360 "util/configlexer.lex"
3399 case 154:
3400 YY_RULE_SETUP
3401 #line 365 "util/configlexer.lex"
33743402 { YDVAR(1, VAR_RATELIMIT_FACTOR) }
33753403 YY_BREAK
3376 case 154:
3377 /* rule 154 can match eol */
3378 YY_RULE_SETUP
3379 #line 361 "util/configlexer.lex"
3404 case 155:
3405 /* rule 155 can match eol */
3406 YY_RULE_SETUP
3407 #line 366 "util/configlexer.lex"
33803408 { LEXOUT(("NL\n")); cfg_parser->line++; }
33813409 YY_BREAK
33823410 /* Quoted strings. Strip leading and ending quotes */
3383 case 155:
3384 YY_RULE_SETUP
3385 #line 364 "util/configlexer.lex"
3411 case 156:
3412 YY_RULE_SETUP
3413 #line 369 "util/configlexer.lex"
33863414 { BEGIN(quotedstring); LEXOUT(("QS ")); }
33873415 YY_BREAK
33883416 case YY_STATE_EOF(quotedstring):
3389 #line 365 "util/configlexer.lex"
3417 #line 370 "util/configlexer.lex"
33903418 {
33913419 yyerror("EOF inside quoted string");
33923420 if(--num_args == 0) { BEGIN(INITIAL); }
33933421 else { BEGIN(val); }
33943422 }
33953423 YY_BREAK
3396 case 156:
3397 YY_RULE_SETUP
3398 #line 370 "util/configlexer.lex"
3424 case 157:
3425 YY_RULE_SETUP
3426 #line 375 "util/configlexer.lex"
33993427 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
34003428 YY_BREAK
3401 case 157:
3402 /* rule 157 can match eol */
3403 YY_RULE_SETUP
3404 #line 371 "util/configlexer.lex"
3429 case 158:
3430 /* rule 158 can match eol */
3431 YY_RULE_SETUP
3432 #line 376 "util/configlexer.lex"
34053433 { yyerror("newline inside quoted string, no end \"");
34063434 cfg_parser->line++; BEGIN(INITIAL); }
34073435 YY_BREAK
3408 case 158:
3409 YY_RULE_SETUP
3410 #line 373 "util/configlexer.lex"
3436 case 159:
3437 YY_RULE_SETUP
3438 #line 378 "util/configlexer.lex"
34113439 {
34123440 LEXOUT(("QE "));
34133441 if(--num_args == 0) { BEGIN(INITIAL); }
34203448 }
34213449 YY_BREAK
34223450 /* Single Quoted strings. Strip leading and ending quotes */
3423 case 159:
3424 YY_RULE_SETUP
3425 #line 385 "util/configlexer.lex"
3451 case 160:
3452 YY_RULE_SETUP
3453 #line 390 "util/configlexer.lex"
34263454 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
34273455 YY_BREAK
34283456 case YY_STATE_EOF(singlequotedstr):
3429 #line 386 "util/configlexer.lex"
3457 #line 391 "util/configlexer.lex"
34303458 {
34313459 yyerror("EOF inside quoted string");
34323460 if(--num_args == 0) { BEGIN(INITIAL); }
34333461 else { BEGIN(val); }
34343462 }
34353463 YY_BREAK
3436 case 160:
3437 YY_RULE_SETUP
3438 #line 391 "util/configlexer.lex"
3464 case 161:
3465 YY_RULE_SETUP
3466 #line 396 "util/configlexer.lex"
34393467 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
34403468 YY_BREAK
3441 case 161:
3442 /* rule 161 can match eol */
3443 YY_RULE_SETUP
3444 #line 392 "util/configlexer.lex"
3469 case 162:
3470 /* rule 162 can match eol */
3471 YY_RULE_SETUP
3472 #line 397 "util/configlexer.lex"
34453473 { yyerror("newline inside quoted string, no end '");
34463474 cfg_parser->line++; BEGIN(INITIAL); }
34473475 YY_BREAK
3448 case 162:
3449 YY_RULE_SETUP
3450 #line 394 "util/configlexer.lex"
3476 case 163:
3477 YY_RULE_SETUP
3478 #line 399 "util/configlexer.lex"
34513479 {
34523480 LEXOUT(("SQE "));
34533481 if(--num_args == 0) { BEGIN(INITIAL); }
34603488 }
34613489 YY_BREAK
34623490 /* include: directive */
3463 case 163:
3464 YY_RULE_SETUP
3465 #line 406 "util/configlexer.lex"
3491 case 164:
3492 YY_RULE_SETUP
3493 #line 411 "util/configlexer.lex"
34663494 {
34673495 LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
34683496 YY_BREAK
34693497 case YY_STATE_EOF(include):
3470 #line 408 "util/configlexer.lex"
3498 #line 413 "util/configlexer.lex"
34713499 {
34723500 yyerror("EOF inside include directive");
34733501 BEGIN(inc_prev);
34743502 }
34753503 YY_BREAK
3476 case 164:
3477 YY_RULE_SETUP
3478 #line 412 "util/configlexer.lex"
3504 case 165:
3505 YY_RULE_SETUP
3506 #line 417 "util/configlexer.lex"
34793507 { LEXOUT(("ISP ")); /* ignore */ }
34803508 YY_BREAK
3481 case 165:
3482 /* rule 165 can match eol */
3483 YY_RULE_SETUP
3484 #line 413 "util/configlexer.lex"
3509 case 166:
3510 /* rule 166 can match eol */
3511 YY_RULE_SETUP
3512 #line 418 "util/configlexer.lex"
34853513 { LEXOUT(("NL\n")); cfg_parser->line++;}
34863514 YY_BREAK
3487 case 166:
3488 YY_RULE_SETUP
3489 #line 414 "util/configlexer.lex"
3515 case 167:
3516 YY_RULE_SETUP
3517 #line 419 "util/configlexer.lex"
34903518 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
34913519 YY_BREAK
3492 case 167:
3493 YY_RULE_SETUP
3494 #line 415 "util/configlexer.lex"
3520 case 168:
3521 YY_RULE_SETUP
3522 #line 420 "util/configlexer.lex"
34953523 {
34963524 LEXOUT(("Iunquotedstr(%s) ", yytext));
34973525 config_start_include_glob(yytext);
34993527 }
35003528 YY_BREAK
35013529 case YY_STATE_EOF(include_quoted):
3502 #line 420 "util/configlexer.lex"
3530 #line 425 "util/configlexer.lex"
35033531 {
35043532 yyerror("EOF inside quoted string");
35053533 BEGIN(inc_prev);
35063534 }
35073535 YY_BREAK
3508 case 168:
3509 YY_RULE_SETUP
3510 #line 424 "util/configlexer.lex"
3536 case 169:
3537 YY_RULE_SETUP
3538 #line 429 "util/configlexer.lex"
35113539 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
35123540 YY_BREAK
3513 case 169:
3514 /* rule 169 can match eol */
3515 YY_RULE_SETUP
3516 #line 425 "util/configlexer.lex"
3541 case 170:
3542 /* rule 170 can match eol */
3543 YY_RULE_SETUP
3544 #line 430 "util/configlexer.lex"
35173545 { yyerror("newline before \" in include name");
35183546 cfg_parser->line++; BEGIN(inc_prev); }
35193547 YY_BREAK
3520 case 170:
3521 YY_RULE_SETUP
3522 #line 427 "util/configlexer.lex"
3548 case 171:
3549 YY_RULE_SETUP
3550 #line 432 "util/configlexer.lex"
35233551 {
35243552 LEXOUT(("IQE "));
35253553 yytext[yyleng - 1] = '\0';
35293557 YY_BREAK
35303558 case YY_STATE_EOF(INITIAL):
35313559 case YY_STATE_EOF(val):
3532 #line 433 "util/configlexer.lex"
3560 #line 438 "util/configlexer.lex"
35333561 {
35343562 LEXOUT(("LEXEOF "));
35353563 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
35413569 }
35423570 }
35433571 YY_BREAK
3544 case 171:
3545 YY_RULE_SETUP
3546 #line 444 "util/configlexer.lex"
3572 case 172:
3573 YY_RULE_SETUP
3574 #line 449 "util/configlexer.lex"
35473575 { LEXOUT(("unquotedstr(%s) ", yytext));
35483576 if(--num_args == 0) { BEGIN(INITIAL); }
35493577 yylval.str = strdup(yytext); return STRING_ARG; }
35503578 YY_BREAK
3551 case 172:
3552 YY_RULE_SETUP
3553 #line 448 "util/configlexer.lex"
3579 case 173:
3580 YY_RULE_SETUP
3581 #line 453 "util/configlexer.lex"
35543582 {
35553583 ub_c_error_msg("unknown keyword '%s'", yytext);
35563584 }
35573585 YY_BREAK
3558 case 173:
3559 YY_RULE_SETUP
3560 #line 452 "util/configlexer.lex"
3586 case 174:
3587 YY_RULE_SETUP
3588 #line 457 "util/configlexer.lex"
35613589 {
35623590 ub_c_error_msg("stray '%s'", yytext);
35633591 }
35643592 YY_BREAK
3565 case 174:
3566 YY_RULE_SETUP
3567 #line 456 "util/configlexer.lex"
3593 case 175:
3594 YY_RULE_SETUP
3595 #line 461 "util/configlexer.lex"
35683596 ECHO;
35693597 YY_BREAK
3570 #line 3570 "<stdout>"
3598 #line 3598 "<stdout>"
35713599
35723600 case YY_END_OF_BUFFER:
35733601 {
38573885 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
38583886 {
38593887 yy_current_state = (int) yy_def[yy_current_state];
3860 if ( yy_current_state >= 1731 )
3888 if ( yy_current_state >= 1752 )
38613889 yy_c = yy_meta[(unsigned int) yy_c];
38623890 }
38633891 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
38853913 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
38863914 {
38873915 yy_current_state = (int) yy_def[yy_current_state];
3888 if ( yy_current_state >= 1731 )
3916 if ( yy_current_state >= 1752 )
38893917 yy_c = yy_meta[(unsigned int) yy_c];
38903918 }
38913919 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3892 yy_is_jam = (yy_current_state == 1730);
3920 yy_is_jam = (yy_current_state == 1751);
38933921
38943922 return yy_is_jam ? 0 : yy_current_state;
38953923 }
45224550
45234551 #define YYTABLES_NAME "yytables"
45244552
4525 #line 456 "util/configlexer.lex"
4526
4527
4528
4553 #line 461 "util/configlexer.lex"
4554
4555
4556
125125 #endif
126126 ;
127127 memset(&g, 0, sizeof(g));
128 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
129 strlen(cfg_parser->chroot)) == 0) {
130 filename += strlen(cfg_parser->chroot);
131 }
128132 r = glob(filename, flags, NULL, &g);
129133 if(r) {
130134 /* some error */
305309 add-holddown{COLON} { YDVAR(1, VAR_ADD_HOLDDOWN) }
306310 del-holddown{COLON} { YDVAR(1, VAR_DEL_HOLDDOWN) }
307311 keep-missing{COLON} { YDVAR(1, VAR_KEEP_MISSING) }
312 permit-small-holddown{COLON} { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
308313 use-syslog{COLON} { YDVAR(1, VAR_USE_SYSLOG) }
309314 log-time-ascii{COLON} { YDVAR(1, VAR_LOG_TIME_ASCII) }
310315 log-queries{COLON} { YDVAR(1, VAR_LOG_QUERIES) }
283283 VAR_RATELIMIT_BELOW_DOMAIN = 412,
284284 VAR_RATELIMIT_FACTOR = 413,
285285 VAR_CAPS_WHITELIST = 414,
286 VAR_CACHE_MAX_NEGATIVE_TTL = 415
286 VAR_CACHE_MAX_NEGATIVE_TTL = 415,
287 VAR_PERMIT_SMALL_HOLDDOWN = 416
287288 };
288289 #endif
289290 /* Tokens. */
445446 #define VAR_RATELIMIT_FACTOR 413
446447 #define VAR_CAPS_WHITELIST 414
447448 #define VAR_CACHE_MAX_NEGATIVE_TTL 415
449 #define VAR_PERMIT_SMALL_HOLDDOWN 416
448450
449451
450452
458460
459461
460462 /* Line 387 of yacc.c */
461 #line 463 "util/configparser.c"
463 #line 465 "util/configparser.c"
462464 } YYSTYPE;
463465 # define YYSTYPE_IS_TRIVIAL 1
464466 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
486488 /* Copy the second part of user declarations. */
487489
488490 /* Line 390 of yacc.c */
489 #line 491 "util/configparser.c"
491 #line 493 "util/configparser.c"
490492
491493 #ifdef short
492494 # undef short
706708 /* YYFINAL -- State number of the termination state. */
707709 #define YYFINAL 2
708710 /* YYLAST -- Last index in YYTABLE. */
709 #define YYLAST 301
711 #define YYLAST 303
710712
711713 /* YYNTOKENS -- Number of terminals. */
712 #define YYNTOKENS 161
714 #define YYNTOKENS 162
713715 /* YYNNTS -- Number of nonterminals. */
714 #define YYNNTS 166
716 #define YYNNTS 167
715717 /* YYNRULES -- Number of rules. */
716 #define YYNRULES 317
718 #define YYNRULES 319
717719 /* YYNRULES -- Number of states. */
718 #define YYNSTATES 467
720 #define YYNSTATES 470
719721
720722 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
721723 #define YYUNDEFTOK 2
722 #define YYMAXUTOK 415
724 #define YYMAXUTOK 416
723725
724726 #define YYTRANSLATE(YYX) \
725727 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
768770 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
769771 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
770772 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
771 155, 156, 157, 158, 159, 160
773 155, 156, 157, 158, 159, 160, 161
772774 };
773775
774776 #if YYDEBUG
789791 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
790792 225, 227, 229, 231, 233, 235, 237, 239, 241, 243,
791793 245, 247, 249, 251, 253, 255, 257, 259, 261, 263,
792 266, 267, 269, 271, 273, 275, 277, 279, 282, 283,
793 285, 287, 289, 291, 294, 297, 300, 303, 306, 309,
794 312, 315, 318, 321, 324, 327, 330, 333, 336, 339,
795 342, 345, 348, 351, 354, 357, 360, 363, 366, 369,
796 372, 375, 378, 381, 384, 387, 390, 393, 396, 399,
797 402, 405, 408, 411, 414, 417, 420, 423, 426, 429,
798 432, 435, 438, 441, 444, 447, 450, 453, 456, 459,
799 462, 465, 468, 471, 474, 477, 480, 483, 486, 489,
800 492, 495, 498, 501, 504, 507, 510, 513, 516, 519,
801 522, 525, 528, 531, 534, 538, 541, 544, 547, 550,
802 553, 556, 559, 562, 565, 568, 571, 574, 577, 580,
803 583, 586, 589, 592, 595, 599, 602, 605, 608, 611,
804 614, 617, 620, 623, 626, 629, 633, 637, 640, 643,
805 646, 649, 652, 655, 658, 661, 664, 667, 669, 672,
806 673, 675, 677, 679, 681, 683, 685, 687, 689, 692,
807 695, 698, 701, 704, 707, 710, 713, 715, 718, 719,
808 721, 723, 725, 727, 729, 731, 733, 735, 737, 739,
809 741, 743, 746, 749, 752, 755, 758, 761, 764, 767,
810 770, 773, 776, 779, 781, 784, 785, 787
794 265, 268, 269, 271, 273, 275, 277, 279, 281, 284,
795 285, 287, 289, 291, 293, 296, 299, 302, 305, 308,
796 311, 314, 317, 320, 323, 326, 329, 332, 335, 338,
797 341, 344, 347, 350, 353, 356, 359, 362, 365, 368,
798 371, 374, 377, 380, 383, 386, 389, 392, 395, 398,
799 401, 404, 407, 410, 413, 416, 419, 422, 425, 428,
800 431, 434, 437, 440, 443, 446, 449, 452, 455, 458,
801 461, 464, 467, 470, 473, 476, 479, 482, 485, 488,
802 491, 494, 497, 500, 503, 506, 509, 512, 515, 518,
803 521, 524, 527, 530, 533, 536, 540, 543, 546, 549,
804 552, 555, 558, 561, 564, 567, 570, 573, 576, 579,
805 582, 585, 588, 591, 594, 597, 600, 604, 607, 610,
806 613, 616, 619, 622, 625, 628, 631, 634, 638, 642,
807 645, 648, 651, 654, 657, 660, 663, 666, 669, 672,
808 674, 677, 678, 680, 682, 684, 686, 688, 690, 692,
809 694, 697, 700, 703, 706, 709, 712, 715, 718, 720,
810 723, 724, 726, 728, 730, 732, 734, 736, 738, 740,
811 742, 744, 746, 748, 751, 754, 757, 760, 763, 766,
812 769, 772, 775, 778, 781, 784, 786, 789, 790, 792
811813 };
812814
813815 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
814816 static const yytype_int16 yyrhs[] =
815817 {
816 162, 0, -1, -1, 162, 163, -1, 164, 165, -1,
817 167, 168, -1, 170, 171, -1, 323, 324, -1, 297,
818 298, -1, 308, 309, -1, 11, -1, 165, 166, -1,
819 -1, 173, -1, 174, -1, 178, -1, 181, -1, 187,
820 -1, 188, -1, 189, -1, 190, -1, 179, -1, 200,
821 -1, 201, -1, 202, -1, 203, -1, 204, -1, 223,
822 -1, 224, -1, 225, -1, 229, -1, 230, -1, 184,
823 -1, 231, -1, 232, -1, 235, -1, 233, -1, 234,
824 -1, 237, -1, 238, -1, 239, -1, 252, -1, 213,
825 -1, 214, -1, 215, -1, 216, -1, 240, -1, 255,
826 -1, 209, -1, 211, -1, 256, -1, 262, -1, 263,
827 -1, 264, -1, 185, -1, 222, -1, 271, -1, 272,
828 -1, 210, -1, 267, -1, 197, -1, 180, -1, 205,
829 -1, 253, -1, 259, -1, 241, -1, 254, -1, 274,
830 -1, 275, -1, 186, -1, 175, -1, 196, -1, 245,
831 -1, 176, -1, 182, -1, 183, -1, 206, -1, 207,
832 -1, 273, -1, 243, -1, 247, -1, 248, -1, 177,
833 -1, 276, -1, 226, -1, 251, -1, 198, -1, 212,
834 -1, 257, -1, 258, -1, 261, -1, 266, -1, 208,
835 -1, 268, -1, 269, -1, 270, -1, 217, -1, 221,
836 -1, 249, -1, 250, -1, 218, -1, 242, -1, 265,
837 -1, 199, -1, 191, -1, 192, -1, 193, -1, 194,
838 -1, 195, -1, 277, -1, 278, -1, 279, -1, 219,
839 -1, 227, -1, 228, -1, 280, -1, 281, -1, 236,
840 -1, 244, -1, 220, -1, 282, -1, 284, -1, 283,
841 -1, 285, -1, 286, -1, 287, -1, 246, -1, 260,
842 -1, 38, -1, 168, 169, -1, -1, 288, -1, 289,
843 -1, 290, -1, 292, -1, 291, -1, 44, -1, 171,
844 172, -1, -1, 293, -1, 294, -1, 295, -1, 296,
845 -1, 13, 10, -1, 12, 10, -1, 76, 10, -1,
846 79, 10, -1, 97, 10, -1, 14, 10, -1, 16,
847 10, -1, 67, 10, -1, 15, 10, -1, 80, 10,
848 -1, 81, 10, -1, 31, 10, -1, 60, 10, -1,
849 75, 10, -1, 17, 10, -1, 18, 10, -1, 19,
850 10, -1, 20, 10, -1, 123, 10, -1, 124, 10,
851 -1, 125, 10, -1, 126, 10, -1, 127, 10, -1,
852 77, 10, -1, 66, 10, -1, 102, 10, -1, 122,
853 10, -1, 21, 10, -1, 22, 10, -1, 23, 10,
854 -1, 24, 10, -1, 25, 10, -1, 68, 10, -1,
855 82, 10, -1, 83, 10, -1, 110, 10, -1, 54,
856 10, -1, 64, 10, -1, 55, 10, -1, 103, 10,
857 -1, 48, 10, -1, 49, 10, -1, 50, 10, -1,
858 51, 10, -1, 114, 10, -1, 118, 10, -1, 119,
859 10, -1, 152, 10, -1, 115, 10, -1, 61, 10,
860 -1, 26, 10, -1, 27, 10, -1, 28, 10, -1,
861 99, 10, -1, 133, 10, -1, 134, 10, -1, 29,
862 10, -1, 30, 10, -1, 32, 10, -1, 33, 10,
863 -1, 35, 10, -1, 36, 10, -1, 34, 10, -1,
864 135, 10, -1, 41, 10, -1, 42, 10, -1, 43,
865 10, -1, 52, 10, -1, 71, 10, -1, 120, 10,
866 -1, 85, 10, -1, 151, 10, -1, 78, 10, -1,
867 159, 10, -1, 86, 10, -1, 87, 10, -1, 116,
868 10, -1, 117, 10, -1, 101, 10, -1, 47, 10,
869 -1, 69, 10, -1, 72, 10, 10, -1, 53, 10,
870 -1, 56, 10, -1, 106, 10, -1, 107, 10, -1,
871 70, 10, -1, 160, 10, -1, 108, 10, -1, 57,
872 10, -1, 58, 10, -1, 59, 10, -1, 121, 10,
873 -1, 109, 10, -1, 65, 10, -1, 112, 10, -1,
874 113, 10, -1, 111, 10, -1, 62, 10, -1, 63,
875 10, -1, 84, 10, -1, 73, 10, 10, -1, 74,
876 10, -1, 98, 10, -1, 130, 10, -1, 131, 10,
877 -1, 132, 10, -1, 136, 10, -1, 137, 10, -1,
878 153, 10, -1, 155, 10, -1, 154, 10, -1, 156,
879 10, 10, -1, 157, 10, 10, -1, 158, 10, -1,
880 37, 10, -1, 39, 10, -1, 40, 10, -1, 129,
881 10, -1, 100, 10, -1, 37, 10, -1, 45, 10,
882 -1, 46, 10, -1, 128, 10, -1, 88, -1, 298,
883 299, -1, -1, 300, -1, 302, -1, 301, -1, 304,
884 -1, 305, -1, 306, -1, 307, -1, 303, -1, 89,
885 10, -1, 91, 10, -1, 90, 10, -1, 96, 10,
886 -1, 92, 10, -1, 93, 10, -1, 94, 10, -1,
887 95, 10, -1, 138, -1, 309, 310, -1, -1, 311,
888 -1, 312, -1, 313, -1, 314, -1, 315, -1, 316,
889 -1, 317, -1, 318, -1, 319, -1, 320, -1, 321,
890 -1, 322, -1, 139, 10, -1, 140, 10, -1, 141,
891 10, -1, 142, 10, -1, 143, 10, -1, 144, 10,
892 -1, 145, 10, -1, 146, 10, -1, 147, 10, -1,
893 148, 10, -1, 149, 10, -1, 150, 10, -1, 104,
894 -1, 324, 325, -1, -1, 326, -1, 105, 10, -1
818 163, 0, -1, -1, 163, 164, -1, 165, 166, -1,
819 168, 169, -1, 171, 172, -1, 325, 326, -1, 299,
820 300, -1, 310, 311, -1, 11, -1, 166, 167, -1,
821 -1, 174, -1, 175, -1, 179, -1, 182, -1, 188,
822 -1, 189, -1, 190, -1, 191, -1, 180, -1, 201,
823 -1, 202, -1, 203, -1, 204, -1, 205, -1, 224,
824 -1, 225, -1, 226, -1, 230, -1, 231, -1, 185,
825 -1, 232, -1, 233, -1, 236, -1, 234, -1, 235,
826 -1, 238, -1, 239, -1, 240, -1, 253, -1, 214,
827 -1, 215, -1, 216, -1, 217, -1, 241, -1, 256,
828 -1, 210, -1, 212, -1, 257, -1, 263, -1, 264,
829 -1, 265, -1, 186, -1, 223, -1, 273, -1, 274,
830 -1, 211, -1, 268, -1, 198, -1, 181, -1, 206,
831 -1, 254, -1, 260, -1, 242, -1, 255, -1, 276,
832 -1, 277, -1, 187, -1, 176, -1, 197, -1, 246,
833 -1, 177, -1, 183, -1, 184, -1, 207, -1, 208,
834 -1, 275, -1, 244, -1, 248, -1, 249, -1, 178,
835 -1, 278, -1, 227, -1, 252, -1, 199, -1, 213,
836 -1, 258, -1, 259, -1, 262, -1, 267, -1, 209,
837 -1, 269, -1, 270, -1, 271, -1, 218, -1, 222,
838 -1, 250, -1, 251, -1, 219, -1, 243, -1, 266,
839 -1, 200, -1, 192, -1, 193, -1, 194, -1, 195,
840 -1, 196, -1, 279, -1, 280, -1, 281, -1, 220,
841 -1, 228, -1, 229, -1, 282, -1, 283, -1, 237,
842 -1, 245, -1, 221, -1, 284, -1, 286, -1, 285,
843 -1, 287, -1, 288, -1, 289, -1, 247, -1, 261,
844 -1, 272, -1, 38, -1, 169, 170, -1, -1, 290,
845 -1, 291, -1, 292, -1, 294, -1, 293, -1, 44,
846 -1, 172, 173, -1, -1, 295, -1, 296, -1, 297,
847 -1, 298, -1, 13, 10, -1, 12, 10, -1, 76,
848 10, -1, 79, 10, -1, 97, 10, -1, 14, 10,
849 -1, 16, 10, -1, 67, 10, -1, 15, 10, -1,
850 80, 10, -1, 81, 10, -1, 31, 10, -1, 60,
851 10, -1, 75, 10, -1, 17, 10, -1, 18, 10,
852 -1, 19, 10, -1, 20, 10, -1, 123, 10, -1,
853 124, 10, -1, 125, 10, -1, 126, 10, -1, 127,
854 10, -1, 77, 10, -1, 66, 10, -1, 102, 10,
855 -1, 122, 10, -1, 21, 10, -1, 22, 10, -1,
856 23, 10, -1, 24, 10, -1, 25, 10, -1, 68,
857 10, -1, 82, 10, -1, 83, 10, -1, 110, 10,
858 -1, 54, 10, -1, 64, 10, -1, 55, 10, -1,
859 103, 10, -1, 48, 10, -1, 49, 10, -1, 50,
860 10, -1, 51, 10, -1, 114, 10, -1, 118, 10,
861 -1, 119, 10, -1, 152, 10, -1, 115, 10, -1,
862 61, 10, -1, 26, 10, -1, 27, 10, -1, 28,
863 10, -1, 99, 10, -1, 133, 10, -1, 134, 10,
864 -1, 29, 10, -1, 30, 10, -1, 32, 10, -1,
865 33, 10, -1, 35, 10, -1, 36, 10, -1, 34,
866 10, -1, 135, 10, -1, 41, 10, -1, 42, 10,
867 -1, 43, 10, -1, 52, 10, -1, 71, 10, -1,
868 120, 10, -1, 85, 10, -1, 151, 10, -1, 78,
869 10, -1, 159, 10, -1, 86, 10, -1, 87, 10,
870 -1, 116, 10, -1, 117, 10, -1, 101, 10, -1,
871 47, 10, -1, 69, 10, -1, 72, 10, 10, -1,
872 53, 10, -1, 56, 10, -1, 106, 10, -1, 107,
873 10, -1, 70, 10, -1, 160, 10, -1, 108, 10,
874 -1, 57, 10, -1, 58, 10, -1, 59, 10, -1,
875 121, 10, -1, 109, 10, -1, 65, 10, -1, 112,
876 10, -1, 113, 10, -1, 111, 10, -1, 161, 10,
877 -1, 62, 10, -1, 63, 10, -1, 84, 10, -1,
878 73, 10, 10, -1, 74, 10, -1, 98, 10, -1,
879 130, 10, -1, 131, 10, -1, 132, 10, -1, 136,
880 10, -1, 137, 10, -1, 153, 10, -1, 155, 10,
881 -1, 154, 10, -1, 156, 10, 10, -1, 157, 10,
882 10, -1, 158, 10, -1, 37, 10, -1, 39, 10,
883 -1, 40, 10, -1, 129, 10, -1, 100, 10, -1,
884 37, 10, -1, 45, 10, -1, 46, 10, -1, 128,
885 10, -1, 88, -1, 300, 301, -1, -1, 302, -1,
886 304, -1, 303, -1, 306, -1, 307, -1, 308, -1,
887 309, -1, 305, -1, 89, 10, -1, 91, 10, -1,
888 90, 10, -1, 96, 10, -1, 92, 10, -1, 93,
889 10, -1, 94, 10, -1, 95, 10, -1, 138, -1,
890 311, 312, -1, -1, 313, -1, 314, -1, 315, -1,
891 316, -1, 317, -1, 318, -1, 319, -1, 320, -1,
892 321, -1, 322, -1, 323, -1, 324, -1, 139, 10,
893 -1, 140, 10, -1, 141, 10, -1, 142, 10, -1,
894 143, 10, -1, 144, 10, -1, 145, 10, -1, 146,
895 10, -1, 147, 10, -1, 148, 10, -1, 149, 10,
896 -1, 150, 10, -1, 104, -1, 326, 327, -1, -1,
897 328, -1, 105, 10, -1
895898 };
896899
897900 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
909912 174, 174, 175, 175, 176, 176, 176, 177, 177, 177,
910913 178, 178, 178, 179, 179, 179, 180, 180, 180, 181,
911914 181, 181, 182, 182, 182, 183, 183, 184, 184, 185,
912 185, 185, 186, 186, 187, 187, 188, 188, 190, 202,
913 203, 204, 204, 204, 204, 204, 206, 218, 219, 220,
914 220, 220, 220, 222, 231, 240, 251, 260, 269, 278,
915 291, 306, 315, 324, 333, 342, 351, 360, 369, 378,
916 387, 396, 405, 414, 421, 428, 437, 446, 460, 469,
917 478, 485, 492, 499, 507, 514, 521, 528, 535, 543,
918 551, 559, 566, 573, 582, 591, 598, 605, 613, 621,
919 631, 641, 654, 665, 673, 686, 695, 704, 713, 723,
920 731, 744, 753, 761, 770, 778, 791, 800, 807, 817,
921 827, 837, 847, 857, 867, 877, 887, 894, 901, 908,
922 917, 926, 935, 942, 952, 969, 976, 994, 1007, 1020,
923 1029, 1038, 1047, 1056, 1066, 1076, 1085, 1094, 1101, 1110,
924 1119, 1128, 1136, 1149, 1157, 1181, 1188, 1203, 1213, 1223,
925 1230, 1237, 1246, 1255, 1263, 1276, 1289, 1302, 1311, 1321,
926 1328, 1335, 1344, 1354, 1364, 1371, 1378, 1387, 1392, 1393,
927 1394, 1394, 1394, 1395, 1395, 1395, 1396, 1396, 1398, 1408,
928 1417, 1424, 1434, 1441, 1448, 1455, 1462, 1467, 1468, 1469,
929 1469, 1470, 1470, 1471, 1471, 1472, 1473, 1474, 1475, 1476,
930 1477, 1479, 1487, 1494, 1502, 1510, 1517, 1524, 1533, 1542,
931 1551, 1560, 1569, 1578, 1583, 1584, 1585, 1587
915 185, 185, 186, 186, 187, 187, 188, 188, 189, 191,
916 203, 204, 205, 205, 205, 205, 205, 207, 219, 220,
917 221, 221, 221, 221, 223, 232, 241, 252, 261, 270,
918 279, 292, 307, 316, 325, 334, 343, 352, 361, 370,
919 379, 388, 397, 406, 415, 422, 429, 438, 447, 461,
920 470, 479, 486, 493, 500, 508, 515, 522, 529, 536,
921 544, 552, 560, 567, 574, 583, 592, 599, 606, 614,
922 622, 632, 642, 655, 666, 674, 687, 696, 705, 714,
923 724, 732, 745, 754, 762, 771, 779, 792, 801, 808,
924 818, 828, 838, 848, 858, 868, 878, 888, 895, 902,
925 909, 918, 927, 936, 943, 953, 970, 977, 995, 1008,
926 1021, 1030, 1039, 1048, 1057, 1067, 1077, 1086, 1095, 1102,
927 1111, 1120, 1129, 1138, 1146, 1159, 1167, 1191, 1198, 1213,
928 1223, 1233, 1240, 1247, 1256, 1265, 1273, 1286, 1299, 1312,
929 1321, 1331, 1338, 1345, 1354, 1364, 1374, 1381, 1388, 1397,
930 1402, 1403, 1404, 1404, 1404, 1405, 1405, 1405, 1406, 1406,
931 1408, 1418, 1427, 1434, 1444, 1451, 1458, 1465, 1472, 1477,
932 1478, 1479, 1479, 1480, 1480, 1481, 1481, 1482, 1483, 1484,
933 1485, 1486, 1487, 1489, 1497, 1504, 1512, 1520, 1527, 1534,
934 1543, 1552, 1561, 1570, 1579, 1588, 1593, 1594, 1595, 1597
932935 };
933936 #endif
934937
993996 "VAR_HARDEN_ALGO_DOWNGRADE", "VAR_IP_TRANSPARENT", "VAR_RATELIMIT",
994997 "VAR_RATELIMIT_SLABS", "VAR_RATELIMIT_SIZE", "VAR_RATELIMIT_FOR_DOMAIN",
995998 "VAR_RATELIMIT_BELOW_DOMAIN", "VAR_RATELIMIT_FACTOR",
996 "VAR_CAPS_WHITELIST", "VAR_CACHE_MAX_NEGATIVE_TTL", "$accept",
997 "toplevelvars", "toplevelvar", "serverstart", "contents_server",
998 "content_server", "stubstart", "contents_stub", "content_stub",
999 "forwardstart", "contents_forward", "content_forward",
1000 "server_num_threads", "server_verbosity", "server_statistics_interval",
1001 "server_statistics_cumulative", "server_extended_statistics",
1002 "server_port", "server_interface", "server_outgoing_interface",
1003 "server_outgoing_range", "server_outgoing_port_permit",
1004 "server_outgoing_port_avoid", "server_outgoing_num_tcp",
1005 "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4",
1006 "server_do_ip6", "server_do_udp", "server_do_tcp", "server_tcp_upstream",
999 "VAR_CAPS_WHITELIST", "VAR_CACHE_MAX_NEGATIVE_TTL",
1000 "VAR_PERMIT_SMALL_HOLDDOWN", "$accept", "toplevelvars", "toplevelvar",
1001 "serverstart", "contents_server", "content_server", "stubstart",
1002 "contents_stub", "content_stub", "forwardstart", "contents_forward",
1003 "content_forward", "server_num_threads", "server_verbosity",
1004 "server_statistics_interval", "server_statistics_cumulative",
1005 "server_extended_statistics", "server_port", "server_interface",
1006 "server_outgoing_interface", "server_outgoing_range",
1007 "server_outgoing_port_permit", "server_outgoing_port_avoid",
1008 "server_outgoing_num_tcp", "server_incoming_num_tcp",
1009 "server_interface_automatic", "server_do_ip4", "server_do_ip6",
1010 "server_do_udp", "server_do_tcp", "server_tcp_upstream",
10071011 "server_ssl_upstream", "server_ssl_service_key",
10081012 "server_ssl_service_pem", "server_ssl_port", "server_do_daemonize",
10091013 "server_use_syslog", "server_log_time_ascii", "server_log_queries",
10381042 "server_val_clean_additional", "server_val_permissive_mode",
10391043 "server_ignore_cd_flag", "server_val_log_level",
10401044 "server_val_nsec3_keysize_iterations", "server_add_holddown",
1041 "server_del_holddown", "server_keep_missing", "server_key_cache_size",
1045 "server_del_holddown", "server_keep_missing",
1046 "server_permit_small_holddown", "server_key_cache_size",
10421047 "server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
10431048 "server_local_data", "server_local_data_ptr", "server_minimal_responses",
10441049 "server_rrset_roundrobin", "server_max_udp_size", "server_dns64_prefix",
10841089 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
10851090 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
10861091 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1087 415
1092 415, 416
10881093 };
10891094 # endif
10901095
10911096 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
10921097 static const yytype_uint16 yyr1[] =
10931098 {
1094 0, 161, 162, 162, 163, 163, 163, 163, 163, 163,
1095 164, 165, 165, 166, 166, 166, 166, 166, 166, 166,
1096 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1097 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1098 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1099 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1100 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1101 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1102 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1103 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1104 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1105 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1106 166, 166, 166, 166, 166, 166, 166, 166, 167, 168,
1107 168, 169, 169, 169, 169, 169, 170, 171, 171, 172,
1108 172, 172, 172, 173, 174, 175, 176, 177, 178, 179,
1099 0, 162, 163, 163, 164, 164, 164, 164, 164, 164,
1100 165, 166, 166, 167, 167, 167, 167, 167, 167, 167,
1101 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1102 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1103 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1104 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1105 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1106 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1107 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1108 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1109 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1110 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1111 167, 167, 167, 167, 167, 167, 167, 167, 167, 168,
1112 169, 169, 170, 170, 170, 170, 170, 171, 172, 172,
1113 173, 173, 173, 173, 174, 175, 176, 177, 178, 179,
11091114 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
11101115 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
11111116 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
11171122 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
11181123 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
11191124 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1120 290, 291, 292, 293, 294, 295, 296, 297, 298, 298,
1121 299, 299, 299, 299, 299, 299, 299, 299, 300, 301,
1122 302, 303, 304, 305, 306, 307, 308, 309, 309, 310,
1123 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
1124 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1125 320, 321, 322, 323, 324, 324, 325, 326
1125 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1126 300, 300, 301, 301, 301, 301, 301, 301, 301, 301,
1127 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1128 311, 312, 312, 312, 312, 312, 312, 312, 312, 312,
1129 312, 312, 312, 313, 314, 315, 316, 317, 318, 319,
1130 320, 321, 322, 323, 324, 325, 326, 326, 327, 328
11261131 };
11271132
11281133 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
11401145 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
11411146 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
11421147 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1143 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
1144 0, 1, 1, 1, 1, 1, 1, 2, 0, 1,
1145 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
1148 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1149 2, 0, 1, 1, 1, 1, 1, 1, 2, 0,
1150 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
11461151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
11471152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
11481153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
11501155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
11511156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
11521157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
1158 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
11541159 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1155 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
1156 2, 2, 2, 2, 2, 3, 3, 2, 2, 2,
1157 2, 2, 2, 2, 2, 2, 2, 1, 2, 0,
1158 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
1159 2, 2, 2, 2, 2, 2, 1, 2, 0, 1,
1160 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1161 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1162 2, 2, 2, 1, 2, 0, 1, 2
1160 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
1161 2, 2, 2, 2, 2, 2, 2, 3, 3, 2,
1162 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
1163 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
1164 2, 2, 2, 2, 2, 2, 2, 2, 1, 2,
1165 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1166 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
1167 2, 2, 2, 2, 2, 1, 2, 0, 1, 2
11631168 };
11641169
11651170 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
11671172 means the default is an error. */
11681173 static const yytype_uint16 yydefact[] =
11691174 {
1170 2, 0, 1, 10, 128, 136, 267, 313, 286, 3,
1171 12, 130, 138, 269, 288, 315, 4, 5, 6, 8,
1175 2, 0, 1, 10, 129, 137, 269, 315, 288, 3,
1176 12, 131, 139, 271, 290, 317, 4, 5, 6, 8,
11721177 9, 7, 0, 0, 0, 0, 0, 0, 0, 0,
11731178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11741179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11801185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11811186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11821187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, 11, 13, 14,
1184 70, 73, 82, 15, 21, 61, 16, 74, 75, 32,
1185 54, 69, 17, 18, 19, 20, 104, 105, 106, 107,
1186 108, 71, 60, 86, 103, 22, 23, 24, 25, 26,
1187 62, 76, 77, 92, 48, 58, 49, 87, 42, 43,
1188 44, 45, 96, 100, 112, 119, 97, 55, 27, 28,
1189 29, 84, 113, 114, 30, 31, 33, 34, 36, 37,
1190 35, 117, 38, 39, 40, 46, 65, 101, 79, 118,
1191 72, 126, 80, 81, 98, 99, 85, 41, 63, 66,
1192 47, 50, 88, 89, 64, 127, 90, 51, 52, 53,
1193 102, 91, 59, 93, 94, 95, 56, 57, 78, 67,
1194 68, 83, 109, 110, 111, 115, 116, 120, 122, 121,
1195 123, 124, 125, 0, 0, 0, 0, 0, 129, 131,
1196 132, 133, 135, 134, 0, 0, 0, 0, 137, 139,
1197 140, 141, 142, 0, 0, 0, 0, 0, 0, 0,
1198 0, 268, 270, 272, 271, 277, 273, 274, 275, 276,
1199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 287, 289, 290, 291, 292, 293, 294, 295,
1201 296, 297, 298, 299, 300, 0, 314, 316, 144, 143,
1202 148, 151, 149, 157, 158, 159, 160, 170, 171, 172,
1203 173, 174, 193, 194, 195, 199, 200, 154, 201, 202,
1204 205, 203, 204, 207, 208, 209, 222, 183, 184, 185,
1205 186, 210, 225, 179, 181, 226, 232, 233, 234, 155,
1206 192, 241, 242, 180, 237, 167, 150, 175, 223, 229,
1207 211, 0, 0, 245, 156, 145, 166, 215, 146, 152,
1208 153, 176, 177, 243, 213, 217, 218, 147, 246, 196,
1209 221, 168, 182, 227, 228, 231, 236, 178, 240, 238,
1210 239, 187, 191, 219, 220, 188, 189, 212, 235, 169,
1211 161, 162, 163, 164, 165, 247, 248, 249, 197, 198,
1212 206, 250, 251, 214, 190, 252, 254, 253, 0, 0,
1213 257, 216, 230, 258, 259, 260, 262, 261, 263, 264,
1214 265, 266, 278, 280, 279, 282, 283, 284, 285, 281,
1215 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1216 311, 312, 317, 224, 244, 255, 256
1188 0, 0, 0, 0, 0, 0, 0, 0, 11, 13,
1189 14, 70, 73, 82, 15, 21, 61, 16, 74, 75,
1190 32, 54, 69, 17, 18, 19, 20, 104, 105, 106,
1191 107, 108, 71, 60, 86, 103, 22, 23, 24, 25,
1192 26, 62, 76, 77, 92, 48, 58, 49, 87, 42,
1193 43, 44, 45, 96, 100, 112, 119, 97, 55, 27,
1194 28, 29, 84, 113, 114, 30, 31, 33, 34, 36,
1195 37, 35, 117, 38, 39, 40, 46, 65, 101, 79,
1196 118, 72, 126, 80, 81, 98, 99, 85, 41, 63,
1197 66, 47, 50, 88, 89, 64, 127, 90, 51, 52,
1198 53, 102, 91, 59, 93, 94, 95, 128, 56, 57,
1199 78, 67, 68, 83, 109, 110, 111, 115, 116, 120,
1200 122, 121, 123, 124, 125, 0, 0, 0, 0, 0,
1201 130, 132, 133, 134, 136, 135, 0, 0, 0, 0,
1202 138, 140, 141, 142, 143, 0, 0, 0, 0, 0,
1203 0, 0, 0, 270, 272, 274, 273, 279, 275, 276,
1204 277, 278, 0, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, 289, 291, 292, 293, 294, 295,
1206 296, 297, 298, 299, 300, 301, 302, 0, 316, 318,
1207 145, 144, 149, 152, 150, 158, 159, 160, 161, 171,
1208 172, 173, 174, 175, 194, 195, 196, 200, 201, 155,
1209 202, 203, 206, 204, 205, 208, 209, 210, 223, 184,
1210 185, 186, 187, 211, 226, 180, 182, 227, 233, 234,
1211 235, 156, 193, 243, 244, 181, 238, 168, 151, 176,
1212 224, 230, 212, 0, 0, 247, 157, 146, 167, 216,
1213 147, 153, 154, 177, 178, 245, 214, 218, 219, 148,
1214 248, 197, 222, 169, 183, 228, 229, 232, 237, 179,
1215 241, 239, 240, 188, 192, 220, 221, 189, 190, 213,
1216 236, 170, 162, 163, 164, 165, 166, 249, 250, 251,
1217 198, 199, 207, 252, 253, 215, 191, 254, 256, 255,
1218 0, 0, 259, 217, 231, 242, 260, 261, 262, 264,
1219 263, 265, 266, 267, 268, 280, 282, 281, 284, 285,
1220 286, 287, 283, 303, 304, 305, 306, 307, 308, 309,
1221 310, 311, 312, 313, 314, 319, 225, 246, 257, 258
12171222 };
12181223
12191224 /* YYDEFGOTO[NTERM-NUM]. */
12201225 static const yytype_int16 yydefgoto[] =
12211226 {
1222 -1, 1, 9, 10, 16, 137, 11, 17, 258, 12,
1223 18, 268, 138, 139, 140, 141, 142, 143, 144, 145,
1224 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1225 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1226 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1227 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1228 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1229 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1230 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1231 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1232 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1233 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1234 246, 247, 248, 249, 250, 251, 252, 259, 260, 261,
1235 262, 263, 269, 270, 271, 272, 13, 19, 281, 282,
1236 283, 284, 285, 286, 287, 288, 289, 14, 20, 302,
1237 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1238 313, 314, 15, 21, 316, 317
1227 -1, 1, 9, 10, 16, 138, 11, 17, 260, 12,
1228 18, 270, 139, 140, 141, 142, 143, 144, 145, 146,
1229 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1230 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
1231 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1232 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
1233 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1234 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1235 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1236 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1237 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1238 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
1239 247, 248, 249, 250, 251, 252, 253, 254, 261, 262,
1240 263, 264, 265, 271, 272, 273, 274, 13, 19, 283,
1241 284, 285, 286, 287, 288, 289, 290, 291, 14, 20,
1242 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1243 314, 315, 316, 15, 21, 318, 319
12391244 };
12401245
12411246 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
12461251 -81, 116, -81, -81, -81, -81, -81, -81, -81, -81,
12471252 -81, -81, -81, -81, -81, -81, -12, 89, 47, -13,
12481253 22, -80, 16, 17, 18, 23, 24, 78, 107, 120,
1249 121, 122, 123, 124, 125, 126, 127, 128, 139, 140,
1250 141, 142, 143, 145, 146, 147, 148, 149, 163, 164,
1251 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1252 176, 177, 178, 180, 181, 182, 183, 184, 185, 186,
1253 187, 188, 189, 190, 191, 192, 193, 195, 196, 197,
1254 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1255 209, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1256 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1257 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1258 240, 241, 242, 243, 245, 246, 247, 248, 249, 250,
1259 251, 252, 253, 254, 255, 256, 257, -81, -81, -81,
1254 121, 122, 123, 124, 125, 126, 127, 128, 140, 141,
1255 142, 143, 145, 146, 147, 148, 149, 163, 164, 166,
1256 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1257 177, 178, 180, 181, 182, 183, 184, 185, 186, 187,
1258 188, 189, 190, 191, 192, 193, 195, 196, 197, 198,
1259 199, 200, 201, 202, 203, 204, 205, 206, 207, 209,
1260 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1261 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1262 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
1263 241, 242, 243, 245, 246, 247, 248, 249, 250, 251,
1264 252, 253, 254, 255, 256, 257, 258, 259, -81, -81,
12601265 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12611266 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12621267 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12681273 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12691274 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12701275 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1271 -81, -81, -81, 258, 259, 260, 261, 262, -81, -81,
1272 -81, -81, -81, -81, 263, 264, 265, 266, -81, -81,
1273 -81, -81, -81, 267, 268, 269, 270, 271, 272, 273,
1274 274, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1275 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1276 285, 286, -81, -81, -81, -81, -81, -81, -81, -81,
1277 -81, -81, -81, -81, -81, 287, -81, -81, -81, -81,
1276 -81, -81, -81, -81, -81, 260, 261, 262, 263, 264,
1277 -81, -81, -81, -81, -81, -81, 265, 266, 267, 268,
1278 -81, -81, -81, -81, -81, 269, 270, 271, 272, 273,
1279 274, 275, 276, -81, -81, -81, -81, -81, -81, -81,
1280 -81, -81, 277, 278, 279, 280, 281, 282, 283, 284,
1281 285, 286, 287, 288, -81, -81, -81, -81, -81, -81,
1282 -81, -81, -81, -81, -81, -81, -81, 289, -81, -81,
12781283 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12791284 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12801285 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12811286 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12821287 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1283 -81, 288, 289, -81, -81, -81, -81, -81, -81, -81,
1288 -81, -81, -81, 290, 291, -81, -81, -81, -81, -81,
12841289 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12851290 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12861291 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12871292 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1288 -81, -81, -81, -81, -81, -81, -81, -81, 290, 291,
1293 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1294 292, 293, -81, -81, -81, -81, -81, -81, -81, -81,
12891295 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
12901296 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1291 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1292 -81, -81, -81, -81, -81, -81, -81
1297 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81
12931298 };
12941299
12951300 /* YYPGOTO[NTERM-NUM]. */
13111316 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
13121317 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
13131318 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
1314 -81, -81, -81, -81, -81, -81
1319 -81, -81, -81, -81, -81, -81, -81
13151320 };
13161321
13171322 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
13221327 {
13231328 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
13241329 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1325 42, 43, 44, 45, 46, 315, 318, 319, 320, 47,
1326 48, 49, 0, 321, 322, 50, 51, 52, 53, 54,
1330 42, 43, 44, 45, 46, 317, 320, 321, 322, 47,
1331 48, 49, 0, 323, 324, 50, 51, 52, 53, 54,
13271332 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
13281333 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
13291334 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1330 85, 86, 87, 88, 89, 90, 273, 274, 275, 276,
1331 277, 278, 279, 280, 264, 91, 92, 93, 323, 94,
1332 95, 96, 265, 266, 97, 98, 99, 100, 101, 102,
1335 85, 86, 87, 88, 89, 90, 275, 276, 277, 278,
1336 279, 280, 281, 282, 266, 91, 92, 93, 325, 94,
1337 95, 96, 267, 268, 97, 98, 99, 100, 101, 102,
13331338 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1334 113, 114, 115, 116, 117, 118, 2, 324, 119, 120,
1335 121, 122, 123, 124, 125, 126, 253, 3, 254, 255,
1336 325, 326, 327, 328, 329, 330, 331, 332, 333, 127,
1337 128, 129, 130, 131, 132, 133, 134, 135, 136, 334,
1338 335, 336, 337, 338, 4, 339, 340, 341, 342, 343,
1339 5, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1340 299, 300, 301, 344, 345, 267, 346, 347, 348, 349,
1341 350, 351, 352, 353, 354, 355, 356, 357, 358, 256,
1342 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
1343 369, 370, 371, 372, 6, 373, 374, 375, 376, 377,
1344 378, 379, 380, 381, 382, 383, 384, 385, 257, 386,
1345 7, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1346 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
1347 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1348 416, 417, 418, 419, 8, 420, 421, 422, 423, 424,
1349 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1350 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1351 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1352 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1353 465, 466
1339 113, 114, 115, 116, 117, 118, 2, 326, 119, 120,
1340 121, 122, 123, 124, 125, 126, 255, 3, 256, 257,
1341 327, 328, 329, 330, 331, 332, 333, 334, 335, 127,
1342 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1343 336, 337, 338, 339, 4, 340, 341, 342, 343, 344,
1344 5, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1345 301, 302, 303, 345, 346, 269, 347, 348, 349, 350,
1346 351, 352, 353, 354, 355, 356, 357, 358, 359, 258,
1347 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
1348 370, 371, 372, 373, 6, 374, 375, 376, 377, 378,
1349 379, 380, 381, 382, 383, 384, 385, 386, 259, 387,
1350 7, 388, 389, 390, 391, 392, 393, 394, 395, 396,
1351 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
1352 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
1353 417, 418, 419, 420, 8, 421, 422, 423, 424, 425,
1354 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1355 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1356 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
1357 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1358 466, 467, 468, 469
13541359 };
13551360
13561361 #define yypact_value_is_default(Yystate) \
13751380 122, 123, 124, 125, 126, 127, 0, 10, 130, 131,
13761381 132, 133, 134, 135, 136, 137, 37, 11, 39, 40,
13771382 10, 10, 10, 10, 10, 10, 10, 10, 10, 151,
1378 152, 153, 154, 155, 156, 157, 158, 159, 160, 10,
1383 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
13791384 10, 10, 10, 10, 38, 10, 10, 10, 10, 10,
13801385 44, 139, 140, 141, 142, 143, 144, 145, 146, 147,
13811386 148, 149, 150, 10, 10, 128, 10, 10, 10, 10,
13911396 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
13921397 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
13931398 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1394 10, 10
1399 10, 10, 10, 10
13951400 };
13961401
13971402 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
13981403 symbol of state STATE-NUM. */
13991404 static const yytype_uint16 yystos[] =
14001405 {
1401 0, 162, 0, 11, 38, 44, 88, 104, 138, 163,
1402 164, 167, 170, 297, 308, 323, 165, 168, 171, 298,
1403 309, 324, 12, 13, 14, 15, 16, 17, 18, 19,
1406 0, 163, 0, 11, 38, 44, 88, 104, 138, 164,
1407 165, 168, 171, 299, 310, 325, 166, 169, 172, 300,
1408 311, 326, 12, 13, 14, 15, 16, 17, 18, 19,
14041409 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
14051410 30, 31, 32, 33, 34, 35, 36, 41, 42, 43,
14061411 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
14111416 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
14121417 119, 120, 121, 122, 123, 124, 125, 126, 127, 130,
14131418 131, 132, 133, 134, 135, 136, 137, 151, 152, 153,
1414 154, 155, 156, 157, 158, 159, 160, 166, 173, 174,
1419 154, 155, 156, 157, 158, 159, 160, 161, 167, 174,
14151420 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
14161421 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
14171422 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
14231428 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
14241429 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
14251430 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1426 285, 286, 287, 37, 39, 40, 100, 129, 169, 288,
1427 289, 290, 291, 292, 37, 45, 46, 128, 172, 293,
1428 294, 295, 296, 89, 90, 91, 92, 93, 94, 95,
1429 96, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1430 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1431 149, 150, 310, 311, 312, 313, 314, 315, 316, 317,
1432 318, 319, 320, 321, 322, 105, 325, 326, 10, 10,
1431 285, 286, 287, 288, 289, 37, 39, 40, 100, 129,
1432 170, 290, 291, 292, 293, 294, 37, 45, 46, 128,
1433 173, 295, 296, 297, 298, 89, 90, 91, 92, 93,
1434 94, 95, 96, 301, 302, 303, 304, 305, 306, 307,
1435 308, 309, 139, 140, 141, 142, 143, 144, 145, 146,
1436 147, 148, 149, 150, 312, 313, 314, 315, 316, 317,
1437 318, 319, 320, 321, 322, 323, 324, 105, 327, 328,
14331438 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
14341439 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
14351440 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
14441449 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
14451450 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
14461451 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1447 10, 10, 10, 10, 10, 10, 10
1452 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
14481453 };
14491454
14501455 #define yyerrok (yyerrstatus = 0)
22522257 }
22532258 break;
22542259
2255 case 128:
2256 /* Line 1792 of yacc.c */
2257 #line 191 "util/configparser.y"
2260 case 129:
2261 /* Line 1792 of yacc.c */
2262 #line 192 "util/configparser.y"
22582263 {
22592264 struct config_stub* s;
22602265 OUTYY(("\nP(stub_zone:)\n"));
22672272 }
22682273 break;
22692274
2270 case 136:
2271 /* Line 1792 of yacc.c */
2272 #line 207 "util/configparser.y"
2275 case 137:
2276 /* Line 1792 of yacc.c */
2277 #line 208 "util/configparser.y"
22732278 {
22742279 struct config_stub* s;
22752280 OUTYY(("\nP(forward_zone:)\n"));
22822287 }
22832288 break;
22842289
2285 case 143:
2286 /* Line 1792 of yacc.c */
2287 #line 223 "util/configparser.y"
2290 case 144:
2291 /* Line 1792 of yacc.c */
2292 #line 224 "util/configparser.y"
22882293 {
22892294 OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str)));
22902295 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
22942299 }
22952300 break;
22962301
2297 case 144:
2298 /* Line 1792 of yacc.c */
2299 #line 232 "util/configparser.y"
2302 case 145:
2303 /* Line 1792 of yacc.c */
2304 #line 233 "util/configparser.y"
23002305 {
23012306 OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str)));
23022307 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
23062311 }
23072312 break;
23082313
2309 case 145:
2310 /* Line 1792 of yacc.c */
2311 #line 241 "util/configparser.y"
2314 case 146:
2315 /* Line 1792 of yacc.c */
2316 #line 242 "util/configparser.y"
23122317 {
23132318 OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str)));
23142319 if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
23202325 }
23212326 break;
23222327
2323 case 146:
2324 /* Line 1792 of yacc.c */
2325 #line 252 "util/configparser.y"
2328 case 147:
2329 /* Line 1792 of yacc.c */
2330 #line 253 "util/configparser.y"
23262331 {
23272332 OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
23282333 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
23322337 }
23332338 break;
23342339
2335 case 147:
2336 /* Line 1792 of yacc.c */
2337 #line 261 "util/configparser.y"
2340 case 148:
2341 /* Line 1792 of yacc.c */
2342 #line 262 "util/configparser.y"
23382343 {
23392344 OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
23402345 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
23442349 }
23452350 break;
23462351
2347 case 148:
2348 /* Line 1792 of yacc.c */
2349 #line 270 "util/configparser.y"
2352 case 149:
2353 /* Line 1792 of yacc.c */
2354 #line 271 "util/configparser.y"
23502355 {
23512356 OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
23522357 if(atoi((yyvsp[(2) - (2)].str)) == 0)
23562361 }
23572362 break;
23582363
2359 case 149:
2360 /* Line 1792 of yacc.c */
2361 #line 279 "util/configparser.y"
2364 case 150:
2365 /* Line 1792 of yacc.c */
2366 #line 280 "util/configparser.y"
23622367 {
23632368 OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
23642369 if(cfg_parser->cfg->num_ifs == 0)
23722377 }
23732378 break;
23742379
2375 case 150:
2376 /* Line 1792 of yacc.c */
2377 #line 292 "util/configparser.y"
2380 case 151:
2381 /* Line 1792 of yacc.c */
2382 #line 293 "util/configparser.y"
23782383 {
23792384 OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
23802385 if(cfg_parser->cfg->num_out_ifs == 0)
23902395 }
23912396 break;
23922397
2393 case 151:
2394 /* Line 1792 of yacc.c */
2395 #line 307 "util/configparser.y"
2398 case 152:
2399 /* Line 1792 of yacc.c */
2400 #line 308 "util/configparser.y"
23962401 {
23972402 OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
23982403 if(atoi((yyvsp[(2) - (2)].str)) == 0)
24022407 }
24032408 break;
24042409
2405 case 152:
2406 /* Line 1792 of yacc.c */
2407 #line 316 "util/configparser.y"
2410 case 153:
2411 /* Line 1792 of yacc.c */
2412 #line 317 "util/configparser.y"
24082413 {
24092414 OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
24102415 if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
24142419 }
24152420 break;
24162421
2417 case 153:
2418 /* Line 1792 of yacc.c */
2419 #line 325 "util/configparser.y"
2422 case 154:
2423 /* Line 1792 of yacc.c */
2424 #line 326 "util/configparser.y"
24202425 {
24212426 OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
24222427 if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
24262431 }
24272432 break;
24282433
2429 case 154:
2430 /* Line 1792 of yacc.c */
2431 #line 334 "util/configparser.y"
2434 case 155:
2435 /* Line 1792 of yacc.c */
2436 #line 335 "util/configparser.y"
24322437 {
24332438 OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
24342439 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
24382443 }
24392444 break;
24402445
2441 case 155:
2442 /* Line 1792 of yacc.c */
2443 #line 343 "util/configparser.y"
2446 case 156:
2447 /* Line 1792 of yacc.c */
2448 #line 344 "util/configparser.y"
24442449 {
24452450 OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
24462451 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
24502455 }
24512456 break;
24522457
2453 case 156:
2454 /* Line 1792 of yacc.c */
2455 #line 352 "util/configparser.y"
2458 case 157:
2459 /* Line 1792 of yacc.c */
2460 #line 353 "util/configparser.y"
24562461 {
24572462 OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
24582463 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
24622467 }
24632468 break;
24642469
2465 case 157:
2466 /* Line 1792 of yacc.c */
2467 #line 361 "util/configparser.y"
2470 case 158:
2471 /* Line 1792 of yacc.c */
2472 #line 362 "util/configparser.y"
24682473 {
24692474 OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
24702475 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
24742479 }
24752480 break;
24762481
2477 case 158:
2478 /* Line 1792 of yacc.c */
2479 #line 370 "util/configparser.y"
2482 case 159:
2483 /* Line 1792 of yacc.c */
2484 #line 371 "util/configparser.y"
24802485 {
24812486 OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
24822487 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
24862491 }
24872492 break;
24882493
2489 case 159:
2490 /* Line 1792 of yacc.c */
2491 #line 379 "util/configparser.y"
2494 case 160:
2495 /* Line 1792 of yacc.c */
2496 #line 380 "util/configparser.y"
24922497 {
24932498 OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
24942499 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
24982503 }
24992504 break;
25002505
2501 case 160:
2502 /* Line 1792 of yacc.c */
2503 #line 388 "util/configparser.y"
2506 case 161:
2507 /* Line 1792 of yacc.c */
2508 #line 389 "util/configparser.y"
25042509 {
25052510 OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
25062511 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
25102515 }
25112516 break;
25122517
2513 case 161:
2514 /* Line 1792 of yacc.c */
2515 #line 397 "util/configparser.y"
2518 case 162:
2519 /* Line 1792 of yacc.c */
2520 #line 398 "util/configparser.y"
25162521 {
25172522 OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
25182523 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
25222527 }
25232528 break;
25242529
2525 case 162:
2526 /* Line 1792 of yacc.c */
2527 #line 406 "util/configparser.y"
2530 case 163:
2531 /* Line 1792 of yacc.c */
2532 #line 407 "util/configparser.y"
25282533 {
25292534 OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
25302535 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
25342539 }
25352540 break;
25362541
2537 case 163:
2538 /* Line 1792 of yacc.c */
2539 #line 415 "util/configparser.y"
2542 case 164:
2543 /* Line 1792 of yacc.c */
2544 #line 416 "util/configparser.y"
25402545 {
25412546 OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
25422547 free(cfg_parser->cfg->ssl_service_key);
25442549 }
25452550 break;
25462551
2547 case 164:
2548 /* Line 1792 of yacc.c */
2549 #line 422 "util/configparser.y"
2552 case 165:
2553 /* Line 1792 of yacc.c */
2554 #line 423 "util/configparser.y"
25502555 {
25512556 OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
25522557 free(cfg_parser->cfg->ssl_service_pem);
25542559 }
25552560 break;
25562561
2557 case 165:
2558 /* Line 1792 of yacc.c */
2559 #line 429 "util/configparser.y"
2562 case 166:
2563 /* Line 1792 of yacc.c */
2564 #line 430 "util/configparser.y"
25602565 {
25612566 OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
25622567 if(atoi((yyvsp[(2) - (2)].str)) == 0)
25662571 }
25672572 break;
25682573
2569 case 166:
2570 /* Line 1792 of yacc.c */
2571 #line 438 "util/configparser.y"
2574 case 167:
2575 /* Line 1792 of yacc.c */
2576 #line 439 "util/configparser.y"
25722577 {
25732578 OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
25742579 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
25782583 }
25792584 break;
25802585
2581 case 167:
2582 /* Line 1792 of yacc.c */
2583 #line 447 "util/configparser.y"
2586 case 168:
2587 /* Line 1792 of yacc.c */
2588 #line 448 "util/configparser.y"
25842589 {
25852590 OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
25862591 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
25952600 }
25962601 break;
25972602
2598 case 168:
2599 /* Line 1792 of yacc.c */
2600 #line 461 "util/configparser.y"
2603 case 169:
2604 /* Line 1792 of yacc.c */
2605 #line 462 "util/configparser.y"
26012606 {
26022607 OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
26032608 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
26072612 }
26082613 break;
26092614
2610 case 169:
2611 /* Line 1792 of yacc.c */
2612 #line 470 "util/configparser.y"
2615 case 170:
2616 /* Line 1792 of yacc.c */
2617 #line 471 "util/configparser.y"
26132618 {
26142619 OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
26152620 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
26192624 }
26202625 break;
26212626
2622 case 170:
2623 /* Line 1792 of yacc.c */
2624 #line 479 "util/configparser.y"
2627 case 171:
2628 /* Line 1792 of yacc.c */
2629 #line 480 "util/configparser.y"
26252630 {
26262631 OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
26272632 free(cfg_parser->cfg->chrootdir);
26292634 }
26302635 break;
26312636
2632 case 171:
2633 /* Line 1792 of yacc.c */
2634 #line 486 "util/configparser.y"
2637 case 172:
2638 /* Line 1792 of yacc.c */
2639 #line 487 "util/configparser.y"
26352640 {
26362641 OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
26372642 free(cfg_parser->cfg->username);
26392644 }
26402645 break;
26412646
2642 case 172:
2643 /* Line 1792 of yacc.c */
2644 #line 493 "util/configparser.y"
2647 case 173:
2648 /* Line 1792 of yacc.c */
2649 #line 494 "util/configparser.y"
26452650 {
26462651 OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
26472652 free(cfg_parser->cfg->directory);
26492654 }
26502655 break;
26512656
2652 case 173:
2653 /* Line 1792 of yacc.c */
2654 #line 500 "util/configparser.y"
2657 case 174:
2658 /* Line 1792 of yacc.c */
2659 #line 501 "util/configparser.y"
26552660 {
26562661 OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
26572662 free(cfg_parser->cfg->logfile);
26602665 }
26612666 break;
26622667
2663 case 174:
2664 /* Line 1792 of yacc.c */
2665 #line 508 "util/configparser.y"
2668 case 175:
2669 /* Line 1792 of yacc.c */
2670 #line 509 "util/configparser.y"
26662671 {
26672672 OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
26682673 free(cfg_parser->cfg->pidfile);
26702675 }
26712676 break;
26722677
2673 case 175:
2674 /* Line 1792 of yacc.c */
2675 #line 515 "util/configparser.y"
2678 case 176:
2679 /* Line 1792 of yacc.c */
2680 #line 516 "util/configparser.y"
26762681 {
26772682 OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
26782683 if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
26802685 }
26812686 break;
26822687
2683 case 176:
2684 /* Line 1792 of yacc.c */
2685 #line 522 "util/configparser.y"
2688 case 177:
2689 /* Line 1792 of yacc.c */
2690 #line 523 "util/configparser.y"
26862691 {
26872692 OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
26882693 free(cfg_parser->cfg->dlv_anchor_file);
26902695 }
26912696 break;
26922697
2693 case 177:
2694 /* Line 1792 of yacc.c */
2695 #line 529 "util/configparser.y"
2698 case 178:
2699 /* Line 1792 of yacc.c */
2700 #line 530 "util/configparser.y"
26962701 {
26972702 OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
26982703 if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[(2) - (2)].str)))
27002705 }
27012706 break;
27022707
2703 case 178:
2704 /* Line 1792 of yacc.c */
2705 #line 536 "util/configparser.y"
2708 case 179:
2709 /* Line 1792 of yacc.c */
2710 #line 537 "util/configparser.y"
27062711 {
27072712 OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
27082713 if(!cfg_strlist_insert(&cfg_parser->cfg->
27112716 }
27122717 break;
27132718
2714 case 179:
2715 /* Line 1792 of yacc.c */
2716 #line 544 "util/configparser.y"
2719 case 180:
2720 /* Line 1792 of yacc.c */
2721 #line 545 "util/configparser.y"
27172722 {
27182723 OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
27192724 if(!cfg_strlist_insert(&cfg_parser->cfg->
27222727 }
27232728 break;
27242729
2725 case 180:
2726 /* Line 1792 of yacc.c */
2727 #line 552 "util/configparser.y"
2730 case 181:
2731 /* Line 1792 of yacc.c */
2732 #line 553 "util/configparser.y"
27282733 {
27292734 OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
27302735 if(!cfg_strlist_insert(&cfg_parser->cfg->
27332738 }
27342739 break;
27352740
2736 case 181:
2737 /* Line 1792 of yacc.c */
2738 #line 560 "util/configparser.y"
2741 case 182:
2742 /* Line 1792 of yacc.c */
2743 #line 561 "util/configparser.y"
27392744 {
27402745 OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
27412746 if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
27432748 }
27442749 break;
27452750
2746 case 182:
2747 /* Line 1792 of yacc.c */
2748 #line 567 "util/configparser.y"
2751 case 183:
2752 /* Line 1792 of yacc.c */
2753 #line 568 "util/configparser.y"
27492754 {
27502755 OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
27512756 if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
27532758 }
27542759 break;
27552760
2756 case 183:
2757 /* Line 1792 of yacc.c */
2758 #line 574 "util/configparser.y"
2761 case 184:
2762 /* Line 1792 of yacc.c */
2763 #line 575 "util/configparser.y"
27592764 {
27602765 OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
27612766 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
27652770 }
27662771 break;
27672772
2768 case 184:
2769 /* Line 1792 of yacc.c */
2770 #line 583 "util/configparser.y"
2773 case 185:
2774 /* Line 1792 of yacc.c */
2775 #line 584 "util/configparser.y"
27712776 {
27722777 OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
27732778 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
27772782 }
27782783 break;
27792784
2780 case 185:
2781 /* Line 1792 of yacc.c */
2782 #line 592 "util/configparser.y"
2785 case 186:
2786 /* Line 1792 of yacc.c */
2787 #line 593 "util/configparser.y"
27832788 {
27842789 OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
27852790 free(cfg_parser->cfg->identity);
27872792 }
27882793 break;
27892794
2790 case 186:
2791 /* Line 1792 of yacc.c */
2792 #line 599 "util/configparser.y"
2795 case 187:
2796 /* Line 1792 of yacc.c */
2797 #line 600 "util/configparser.y"
27932798 {
27942799 OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
27952800 free(cfg_parser->cfg->version);
27972802 }
27982803 break;
27992804
2800 case 187:
2801 /* Line 1792 of yacc.c */
2802 #line 606 "util/configparser.y"
2805 case 188:
2806 /* Line 1792 of yacc.c */
2807 #line 607 "util/configparser.y"
28032808 {
28042809 OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
28052810 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
28082813 }
28092814 break;
28102815
2811 case 188:
2812 /* Line 1792 of yacc.c */
2813 #line 614 "util/configparser.y"
2816 case 189:
2817 /* Line 1792 of yacc.c */
2818 #line 615 "util/configparser.y"
28142819 {
28152820 OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
28162821 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
28192824 }
28202825 break;
28212826
2822 case 189:
2823 /* Line 1792 of yacc.c */
2824 #line 622 "util/configparser.y"
2827 case 190:
2828 /* Line 1792 of yacc.c */
2829 #line 623 "util/configparser.y"
28252830 {
28262831 OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
28272832 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
28322837 }
28332838 break;
28342839
2835 case 190:
2836 /* Line 1792 of yacc.c */
2837 #line 632 "util/configparser.y"
2840 case 191:
2841 /* Line 1792 of yacc.c */
2842 #line 633 "util/configparser.y"
28382843 {
28392844 OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[(2) - (2)].str)));
28402845 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
28452850 }
28462851 break;
28472852
2848 case 191:
2849 /* Line 1792 of yacc.c */
2850 #line 642 "util/configparser.y"
2853 case 192:
2854 /* Line 1792 of yacc.c */
2855 #line 643 "util/configparser.y"
28512856 {
28522857 OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
28532858 if(atoi((yyvsp[(2) - (2)].str)) == 0)
28612866 }
28622867 break;
28632868
2864 case 192:
2865 /* Line 1792 of yacc.c */
2866 #line 655 "util/configparser.y"
2869 case 193:
2870 /* Line 1792 of yacc.c */
2871 #line 656 "util/configparser.y"
28672872 {
28682873 OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
28692874 if(atoi((yyvsp[(2) - (2)].str)) == 0)
28752880 }
28762881 break;
28772882
2878 case 193:
2879 /* Line 1792 of yacc.c */
2880 #line 666 "util/configparser.y"
2883 case 194:
2884 /* Line 1792 of yacc.c */
2885 #line 667 "util/configparser.y"
28812886 {
28822887 OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
28832888 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
28862891 }
28872892 break;
28882893
2889 case 194:
2890 /* Line 1792 of yacc.c */
2891 #line 674 "util/configparser.y"
2894 case 195:
2895 /* Line 1792 of yacc.c */
2896 #line 675 "util/configparser.y"
28922897 {
28932898 OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
28942899 if(atoi((yyvsp[(2) - (2)].str)) == 0)
29022907 }
29032908 break;
29042909
2905 case 195:
2906 /* Line 1792 of yacc.c */
2907 #line 687 "util/configparser.y"
2910 case 196:
2911 /* Line 1792 of yacc.c */
2912 #line 688 "util/configparser.y"
29082913 {
29092914 OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
29102915 if(atoi((yyvsp[(2) - (2)].str)) == 0)
29142919 }
29152920 break;
29162921
2917 case 196:
2918 /* Line 1792 of yacc.c */
2919 #line 696 "util/configparser.y"
2922 case 197:
2923 /* Line 1792 of yacc.c */
2924 #line 697 "util/configparser.y"
29202925 {
29212926 OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
29222927 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
29262931 }
29272932 break;
29282933
2929 case 197:
2930 /* Line 1792 of yacc.c */
2931 #line 705 "util/configparser.y"
2934 case 198:
2935 /* Line 1792 of yacc.c */
2936 #line 706 "util/configparser.y"
29322937 {
29332938 OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
29342939 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
29382943 }
29392944 break;
29402945
2941 case 198:
2942 /* Line 1792 of yacc.c */
2943 #line 714 "util/configparser.y"
2946 case 199:
2947 /* Line 1792 of yacc.c */
2948 #line 715 "util/configparser.y"
29442949 {
29452950 OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
29462951 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
29512956 }
29522957 break;
29532958
2954 case 199:
2955 /* Line 1792 of yacc.c */
2956 #line 724 "util/configparser.y"
2959 case 200:
2960 /* Line 1792 of yacc.c */
2961 #line 725 "util/configparser.y"
29572962 {
29582963 OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
29592964 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
29622967 }
29632968 break;
29642969
2965 case 200:
2966 /* Line 1792 of yacc.c */
2967 #line 732 "util/configparser.y"
2970 case 201:
2971 /* Line 1792 of yacc.c */
2972 #line 733 "util/configparser.y"
29682973 {
29692974 OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
29702975 if(atoi((yyvsp[(2) - (2)].str)) == 0)
29782983 }
29792984 break;
29802985
2981 case 201:
2982 /* Line 1792 of yacc.c */
2983 #line 745 "util/configparser.y"
2986 case 202:
2987 /* Line 1792 of yacc.c */
2988 #line 746 "util/configparser.y"
29842989 {
29852990 OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
29862991 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
29902995 }
29912996 break;
29922997
2993 case 202:
2994 /* Line 1792 of yacc.c */
2995 #line 754 "util/configparser.y"
2998 case 203:
2999 /* Line 1792 of yacc.c */
3000 #line 755 "util/configparser.y"
29963001 {
29973002 OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
29983003 verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
30013006 }
30023007 break;
30033008
3004 case 203:
3005 /* Line 1792 of yacc.c */
3006 #line 762 "util/configparser.y"
3009 case 204:
3010 /* Line 1792 of yacc.c */
3011 #line 763 "util/configparser.y"
30073012 {
30083013 OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
30093014 if(atoi((yyvsp[(2) - (2)].str)) == 0)
30133018 }
30143019 break;
30153020
3016 case 204:
3017 /* Line 1792 of yacc.c */
3018 #line 771 "util/configparser.y"
3021 case 205:
3022 /* Line 1792 of yacc.c */
3023 #line 772 "util/configparser.y"
30193024 {
30203025 OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
30213026 verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
30243029 }
30253030 break;
30263031
3027 case 205:
3028 /* Line 1792 of yacc.c */
3029 #line 779 "util/configparser.y"
3032 case 206:
3033 /* Line 1792 of yacc.c */
3034 #line 780 "util/configparser.y"
30303035 {
30313036 OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
30323037 if(atoi((yyvsp[(2) - (2)].str)) == 0)
30403045 }
30413046 break;
30423047
3043 case 206:
3044 /* Line 1792 of yacc.c */
3045 #line 792 "util/configparser.y"
3048 case 207:
3049 /* Line 1792 of yacc.c */
3050 #line 793 "util/configparser.y"
30463051 {
30473052 OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[(2) - (2)].str)));
30483053 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
30523057 }
30533058 break;
30543059
3055 case 207:
3056 /* Line 1792 of yacc.c */
3057 #line 801 "util/configparser.y"
3060 case 208:
3061 /* Line 1792 of yacc.c */
3062 #line 802 "util/configparser.y"
30583063 {
30593064 OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
30603065 free(cfg_parser->cfg->target_fetch_policy);
30623067 }
30633068 break;
30643069
3065 case 208:
3066 /* Line 1792 of yacc.c */
3067 #line 808 "util/configparser.y"
3070 case 209:
3071 /* Line 1792 of yacc.c */
3072 #line 809 "util/configparser.y"
30683073 {
30693074 OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
30703075 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
30753080 }
30763081 break;
30773082
3078 case 209:
3079 /* Line 1792 of yacc.c */
3080 #line 818 "util/configparser.y"
3083 case 210:
3084 /* Line 1792 of yacc.c */
3085 #line 819 "util/configparser.y"
30813086 {
30823087 OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
30833088 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
30883093 }
30893094 break;
30903095
3091 case 210:
3092 /* Line 1792 of yacc.c */
3093 #line 828 "util/configparser.y"
3096 case 211:
3097 /* Line 1792 of yacc.c */
3098 #line 829 "util/configparser.y"
30943099 {
30953100 OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
30963101 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
31013106 }
31023107 break;
31033108
3104 case 211:
3105 /* Line 1792 of yacc.c */
3106 #line 838 "util/configparser.y"
3109 case 212:
3110 /* Line 1792 of yacc.c */
3111 #line 839 "util/configparser.y"
31073112 {
31083113 OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
31093114 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
31143119 }
31153120 break;
31163121
3117 case 212:
3118 /* Line 1792 of yacc.c */
3119 #line 848 "util/configparser.y"
3122 case 213:
3123 /* Line 1792 of yacc.c */
3124 #line 849 "util/configparser.y"
31203125 {
31213126 OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
31223127 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
31273132 }
31283133 break;
31293134
3130 case 213:
3131 /* Line 1792 of yacc.c */
3132 #line 858 "util/configparser.y"
3135 case 214:
3136 /* Line 1792 of yacc.c */
3137 #line 859 "util/configparser.y"
31333138 {
31343139 OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
31353140 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
31403145 }
31413146 break;
31423147
3143 case 214:
3144 /* Line 1792 of yacc.c */
3145 #line 868 "util/configparser.y"
3148 case 215:
3149 /* Line 1792 of yacc.c */
3150 #line 869 "util/configparser.y"
31463151 {
31473152 OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[(2) - (2)].str)));
31483153 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
31533158 }
31543159 break;
31553160
3156 case 215:
3157 /* Line 1792 of yacc.c */
3158 #line 878 "util/configparser.y"
3161 case 216:
3162 /* Line 1792 of yacc.c */
3163 #line 879 "util/configparser.y"
31593164 {
31603165 OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
31613166 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
31663171 }
31673172 break;
31683173
3169 case 216:
3170 /* Line 1792 of yacc.c */
3171 #line 888 "util/configparser.y"
3174 case 217:
3175 /* Line 1792 of yacc.c */
3176 #line 889 "util/configparser.y"
31723177 {
31733178 OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
31743179 if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[(2) - (2)].str)))
31763181 }
31773182 break;
31783183
3179 case 217:
3180 /* Line 1792 of yacc.c */
3181 #line 895 "util/configparser.y"
3184 case 218:
3185 /* Line 1792 of yacc.c */
3186 #line 896 "util/configparser.y"
31823187 {
31833188 OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
31843189 if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
31863191 }
31873192 break;
31883193
3189 case 218:
3190 /* Line 1792 of yacc.c */
3191 #line 902 "util/configparser.y"
3194 case 219:
3195 /* Line 1792 of yacc.c */
3196 #line 903 "util/configparser.y"
31923197 {
31933198 OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
31943199 if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
31963201 }
31973202 break;
31983203
3199 case 219:
3200 /* Line 1792 of yacc.c */
3201 #line 909 "util/configparser.y"
3204 case 220:
3205 /* Line 1792 of yacc.c */
3206 #line 910 "util/configparser.y"
32023207 {
32033208 OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
32043209 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
32083213 }
32093214 break;
32103215
3211 case 220:
3212 /* Line 1792 of yacc.c */
3213 #line 918 "util/configparser.y"
3216 case 221:
3217 /* Line 1792 of yacc.c */
3218 #line 919 "util/configparser.y"
32143219 {
32153220 OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
32163221 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
32203225 }
32213226 break;
32223227
3223 case 221:
3224 /* Line 1792 of yacc.c */
3225 #line 927 "util/configparser.y"
3228 case 222:
3229 /* Line 1792 of yacc.c */
3230 #line 928 "util/configparser.y"
32263231 {
32273232 OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
32283233 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
32323237 }
32333238 break;
32343239
3235 case 222:
3236 /* Line 1792 of yacc.c */
3237 #line 936 "util/configparser.y"
3240 case 223:
3241 /* Line 1792 of yacc.c */
3242 #line 937 "util/configparser.y"
32383243 {
32393244 OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
32403245 if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
32423247 }
32433248 break;
32443249
3245 case 223:
3246 /* Line 1792 of yacc.c */
3247 #line 943 "util/configparser.y"
3250 case 224:
3251 /* Line 1792 of yacc.c */
3252 #line 944 "util/configparser.y"
32483253 {
32493254 OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
32503255 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
32553260 }
32563261 break;
32573262
3258 case 224:
3259 /* Line 1792 of yacc.c */
3260 #line 953 "util/configparser.y"
3263 case 225:
3264 /* Line 1792 of yacc.c */
3265 #line 954 "util/configparser.y"
32613266 {
32623267 OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
32633268 if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
32753280 }
32763281 break;
32773282
3278 case 225:
3279 /* Line 1792 of yacc.c */
3280 #line 970 "util/configparser.y"
3283 case 226:
3284 /* Line 1792 of yacc.c */
3285 #line 971 "util/configparser.y"
32813286 {
32823287 OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
32833288 free(cfg_parser->cfg->module_conf);
32853290 }
32863291 break;
32873292
3288 case 226:
3289 /* Line 1792 of yacc.c */
3290 #line 977 "util/configparser.y"
3293 case 227:
3294 /* Line 1792 of yacc.c */
3295 #line 978 "util/configparser.y"
32913296 {
32923297 OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
32933298 if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
33063311 }
33073312 break;
33083313
3309 case 227:
3310 /* Line 1792 of yacc.c */
3311 #line 995 "util/configparser.y"
3314 case 228:
3315 /* Line 1792 of yacc.c */
3316 #line 996 "util/configparser.y"
33123317 {
33133318 OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
33143319 if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
33223327 }
33233328 break;
33243329
3325 case 228:
3326 /* Line 1792 of yacc.c */
3327 #line 1008 "util/configparser.y"
3330 case 229:
3331 /* Line 1792 of yacc.c */
3332 #line 1009 "util/configparser.y"
33283333 {
33293334 OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
33303335 if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
33383343 }
33393344 break;
33403345
3341 case 229:
3342 /* Line 1792 of yacc.c */
3343 #line 1021 "util/configparser.y"
3346 case 230:
3347 /* Line 1792 of yacc.c */
3348 #line 1022 "util/configparser.y"
33443349 {
33453350 OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
33463351 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
33503355 }
33513356 break;
33523357
3353 case 230:
3354 /* Line 1792 of yacc.c */
3355 #line 1030 "util/configparser.y"
3358 case 231:
3359 /* Line 1792 of yacc.c */
3360 #line 1031 "util/configparser.y"
33563361 {
33573362 OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
33583363 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
33623367 }
33633368 break;
33643369
3365 case 231:
3366 /* Line 1792 of yacc.c */
3367 #line 1039 "util/configparser.y"
3370 case 232:
3371 /* Line 1792 of yacc.c */
3372 #line 1040 "util/configparser.y"
33683373 {
33693374 OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
33703375 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
33743379 }
33753380 break;
33763381
3377 case 232:
3378 /* Line 1792 of yacc.c */
3379 #line 1048 "util/configparser.y"
3382 case 233:
3383 /* Line 1792 of yacc.c */
3384 #line 1049 "util/configparser.y"
33803385 {
33813386 OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
33823387 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
33863391 }
33873392 break;
33883393
3389 case 233:
3390 /* Line 1792 of yacc.c */
3391 #line 1057 "util/configparser.y"
3394 case 234:
3395 /* Line 1792 of yacc.c */
3396 #line 1058 "util/configparser.y"
33923397 {
33933398 OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
33943399 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
33993404 }
34003405 break;
34013406
3402 case 234:
3403 /* Line 1792 of yacc.c */
3404 #line 1067 "util/configparser.y"
3407 case 235:
3408 /* Line 1792 of yacc.c */
3409 #line 1068 "util/configparser.y"
34053410 {
34063411 OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
34073412 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
34123417 }
34133418 break;
34143419
3415 case 235:
3416 /* Line 1792 of yacc.c */
3417 #line 1077 "util/configparser.y"
3420 case 236:
3421 /* Line 1792 of yacc.c */
3422 #line 1078 "util/configparser.y"
34183423 {
34193424 OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
34203425 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
34243429 }
34253430 break;
34263431
3427 case 236:
3428 /* Line 1792 of yacc.c */
3429 #line 1086 "util/configparser.y"
3432 case 237:
3433 /* Line 1792 of yacc.c */
3434 #line 1087 "util/configparser.y"
34303435 {
34313436 OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
34323437 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
34363441 }
34373442 break;
34383443
3439 case 237:
3440 /* Line 1792 of yacc.c */
3441 #line 1095 "util/configparser.y"
3444 case 238:
3445 /* Line 1792 of yacc.c */
3446 #line 1096 "util/configparser.y"
34423447 {
34433448 OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
34443449 free(cfg_parser->cfg->val_nsec3_key_iterations);
34463451 }
34473452 break;
34483453
3449 case 238:
3450 /* Line 1792 of yacc.c */
3451 #line 1102 "util/configparser.y"
3454 case 239:
3455 /* Line 1792 of yacc.c */
3456 #line 1103 "util/configparser.y"
34523457 {
34533458 OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
34543459 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
34583463 }
34593464 break;
34603465
3461 case 239:
3462 /* Line 1792 of yacc.c */
3463 #line 1111 "util/configparser.y"
3466 case 240:
3467 /* Line 1792 of yacc.c */
3468 #line 1112 "util/configparser.y"
34643469 {
34653470 OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
34663471 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
34703475 }
34713476 break;
34723477
3473 case 240:
3474 /* Line 1792 of yacc.c */
3475 #line 1120 "util/configparser.y"
3478 case 241:
3479 /* Line 1792 of yacc.c */
3480 #line 1121 "util/configparser.y"
34763481 {
34773482 OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
34783483 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
34823487 }
34833488 break;
34843489
3485 case 241:
3486 /* Line 1792 of yacc.c */
3487 #line 1129 "util/configparser.y"
3490 case 242:
3491 /* Line 1792 of yacc.c */
3492 #line 1130 "util/configparser.y"
3493 {
3494 OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
3495 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
3496 yyerror("expected yes or no.");
3497 else cfg_parser->cfg->permit_small_holddown =
3498 (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
3499 free((yyvsp[(2) - (2)].str));
3500 }
3501 break;
3502
3503 case 243:
3504 /* Line 1792 of yacc.c */
3505 #line 1139 "util/configparser.y"
34883506 {
34893507 OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
34903508 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
34933511 }
34943512 break;
34953513
3496 case 242:
3497 /* Line 1792 of yacc.c */
3498 #line 1137 "util/configparser.y"
3514 case 244:
3515 /* Line 1792 of yacc.c */
3516 #line 1147 "util/configparser.y"
34993517 {
35003518 OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
35013519 if(atoi((yyvsp[(2) - (2)].str)) == 0)
35093527 }
35103528 break;
35113529
3512 case 243:
3513 /* Line 1792 of yacc.c */
3514 #line 1150 "util/configparser.y"
3530 case 245:
3531 /* Line 1792 of yacc.c */
3532 #line 1160 "util/configparser.y"
35153533 {
35163534 OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
35173535 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
35203538 }
35213539 break;
35223540
3523 case 244:
3524 /* Line 1792 of yacc.c */
3525 #line 1158 "util/configparser.y"
3541 case 246:
3542 /* Line 1792 of yacc.c */
3543 #line 1168 "util/configparser.y"
35263544 {
35273545 OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
35283546 if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
35473565 }
35483566 break;
35493567
3550 case 245:
3551 /* Line 1792 of yacc.c */
3552 #line 1182 "util/configparser.y"
3568 case 247:
3569 /* Line 1792 of yacc.c */
3570 #line 1192 "util/configparser.y"
35533571 {
35543572 OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
35553573 if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
35573575 }
35583576 break;
35593577
3560 case 246:
3561 /* Line 1792 of yacc.c */
3562 #line 1189 "util/configparser.y"
3578 case 248:
3579 /* Line 1792 of yacc.c */
3580 #line 1199 "util/configparser.y"
35633581 {
35643582 char* ptr;
35653583 OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
35753593 }
35763594 break;
35773595
3578 case 247:
3579 /* Line 1792 of yacc.c */
3580 #line 1204 "util/configparser.y"
3596 case 249:
3597 /* Line 1792 of yacc.c */
3598 #line 1214 "util/configparser.y"
35813599 {
35823600 OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
35833601 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
35883606 }
35893607 break;
35903608
3591 case 248:
3592 /* Line 1792 of yacc.c */
3593 #line 1214 "util/configparser.y"
3609 case 250:
3610 /* Line 1792 of yacc.c */
3611 #line 1224 "util/configparser.y"
35943612 {
35953613 OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
35963614 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
36013619 }
36023620 break;
36033621
3604 case 249:
3605 /* Line 1792 of yacc.c */
3606 #line 1224 "util/configparser.y"
3622 case 251:
3623 /* Line 1792 of yacc.c */
3624 #line 1234 "util/configparser.y"
36073625 {
36083626 OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
36093627 cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
36113629 }
36123630 break;
36133631
3614 case 250:
3615 /* Line 1792 of yacc.c */
3616 #line 1231 "util/configparser.y"
3632 case 252:
3633 /* Line 1792 of yacc.c */
3634 #line 1241 "util/configparser.y"
36173635 {
36183636 OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
36193637 free(cfg_parser->cfg->dns64_prefix);
36213639 }
36223640 break;
36233641
3624 case 251:
3625 /* Line 1792 of yacc.c */
3626 #line 1238 "util/configparser.y"
3642 case 253:
3643 /* Line 1792 of yacc.c */
3644 #line 1248 "util/configparser.y"
36273645 {
36283646 OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str)));
36293647 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
36333651 }
36343652 break;
36353653
3636 case 252:
3637 /* Line 1792 of yacc.c */
3638 #line 1247 "util/configparser.y"
3654 case 254:
3655 /* Line 1792 of yacc.c */
3656 #line 1257 "util/configparser.y"
36393657 {
36403658 OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
36413659 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
36453663 }
36463664 break;
36473665
3648 case 253:
3649 /* Line 1792 of yacc.c */
3650 #line 1256 "util/configparser.y"
3666 case 255:
3667 /* Line 1792 of yacc.c */
3668 #line 1266 "util/configparser.y"
36513669 {
36523670 OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
36533671 if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ratelimit_size))
36563674 }
36573675 break;
36583676
3659 case 254:
3660 /* Line 1792 of yacc.c */
3661 #line 1264 "util/configparser.y"
3677 case 256:
3678 /* Line 1792 of yacc.c */
3679 #line 1274 "util/configparser.y"
36623680 {
36633681 OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
36643682 if(atoi((yyvsp[(2) - (2)].str)) == 0)
36723690 }
36733691 break;
36743692
3675 case 255:
3676 /* Line 1792 of yacc.c */
3677 #line 1277 "util/configparser.y"
3693 case 257:
3694 /* Line 1792 of yacc.c */
3695 #line 1287 "util/configparser.y"
36783696 {
36793697 OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
36803698 if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
36883706 }
36893707 break;
36903708
3691 case 256:
3692 /* Line 1792 of yacc.c */
3693 #line 1290 "util/configparser.y"
3709 case 258:
3710 /* Line 1792 of yacc.c */
3711 #line 1300 "util/configparser.y"
36943712 {
36953713 OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
36963714 if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
37043722 }
37053723 break;
37063724
3707 case 257:
3708 /* Line 1792 of yacc.c */
3709 #line 1303 "util/configparser.y"
3725 case 259:
3726 /* Line 1792 of yacc.c */
3727 #line 1313 "util/configparser.y"
37103728 {
37113729 OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
37123730 if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
37163734 }
37173735 break;
37183736
3719 case 258:
3720 /* Line 1792 of yacc.c */
3721 #line 1312 "util/configparser.y"
3737 case 260:
3738 /* Line 1792 of yacc.c */
3739 #line 1322 "util/configparser.y"
37223740 {
37233741 OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
37243742 if(cfg_parser->cfg->stubs->name)
37293747 }
37303748 break;
37313749
3732 case 259:
3733 /* Line 1792 of yacc.c */
3734 #line 1322 "util/configparser.y"
3750 case 261:
3751 /* Line 1792 of yacc.c */
3752 #line 1332 "util/configparser.y"
37353753 {
37363754 OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
37373755 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
37393757 }
37403758 break;
37413759
3742 case 260:
3743 /* Line 1792 of yacc.c */
3744 #line 1329 "util/configparser.y"
3760 case 262:
3761 /* Line 1792 of yacc.c */
3762 #line 1339 "util/configparser.y"
37453763 {
37463764 OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
37473765 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
37493767 }
37503768 break;
37513769
3752 case 261:
3753 /* Line 1792 of yacc.c */
3754 #line 1336 "util/configparser.y"
3770 case 263:
3771 /* Line 1792 of yacc.c */
3772 #line 1346 "util/configparser.y"
37553773 {
37563774 OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
37573775 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
37613779 }
37623780 break;
37633781
3764 case 262:
3765 /* Line 1792 of yacc.c */
3766 #line 1345 "util/configparser.y"
3782 case 264:
3783 /* Line 1792 of yacc.c */
3784 #line 1355 "util/configparser.y"
37673785 {
37683786 OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
37693787 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
37743792 }
37753793 break;
37763794
3777 case 263:
3778 /* Line 1792 of yacc.c */
3779 #line 1355 "util/configparser.y"
3795 case 265:
3796 /* Line 1792 of yacc.c */
3797 #line 1365 "util/configparser.y"
37803798 {
37813799 OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
37823800 if(cfg_parser->cfg->forwards->name)
37873805 }
37883806 break;
37893807
3790 case 264:
3791 /* Line 1792 of yacc.c */
3792 #line 1365 "util/configparser.y"
3808 case 266:
3809 /* Line 1792 of yacc.c */
3810 #line 1375 "util/configparser.y"
37933811 {
37943812 OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
37953813 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
37973815 }
37983816 break;
37993817
3800 case 265:
3801 /* Line 1792 of yacc.c */
3802 #line 1372 "util/configparser.y"
3818 case 267:
3819 /* Line 1792 of yacc.c */
3820 #line 1382 "util/configparser.y"
38033821 {
38043822 OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
38053823 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
38073825 }
38083826 break;
38093827
3810 case 266:
3811 /* Line 1792 of yacc.c */
3812 #line 1379 "util/configparser.y"
3828 case 268:
3829 /* Line 1792 of yacc.c */
3830 #line 1389 "util/configparser.y"
38133831 {
38143832 OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
38153833 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
38193837 }
38203838 break;
38213839
3822 case 267:
3823 /* Line 1792 of yacc.c */
3824 #line 1388 "util/configparser.y"
3840 case 269:
3841 /* Line 1792 of yacc.c */
3842 #line 1398 "util/configparser.y"
38253843 {
38263844 OUTYY(("\nP(remote-control:)\n"));
38273845 }
38283846 break;
38293847
3830 case 278:
3831 /* Line 1792 of yacc.c */
3832 #line 1399 "util/configparser.y"
3848 case 280:
3849 /* Line 1792 of yacc.c */
3850 #line 1409 "util/configparser.y"
38333851 {
38343852 OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
38353853 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
38403858 }
38413859 break;
38423860
3843 case 279:
3844 /* Line 1792 of yacc.c */
3845 #line 1409 "util/configparser.y"
3861 case 281:
3862 /* Line 1792 of yacc.c */
3863 #line 1419 "util/configparser.y"
38463864 {
38473865 OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
38483866 if(atoi((yyvsp[(2) - (2)].str)) == 0)
38523870 }
38533871 break;
38543872
3855 case 280:
3856 /* Line 1792 of yacc.c */
3857 #line 1418 "util/configparser.y"
3873 case 282:
3874 /* Line 1792 of yacc.c */
3875 #line 1428 "util/configparser.y"
38583876 {
38593877 OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
38603878 if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
38623880 }
38633881 break;
38643882
3865 case 281:
3866 /* Line 1792 of yacc.c */
3867 #line 1425 "util/configparser.y"
3883 case 283:
3884 /* Line 1792 of yacc.c */
3885 #line 1435 "util/configparser.y"
38683886 {
38693887 OUTYY(("P(control_use_cert:%s)\n", (yyvsp[(2) - (2)].str)));
38703888 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
38753893 }
38763894 break;
38773895
3878 case 282:
3879 /* Line 1792 of yacc.c */
3880 #line 1435 "util/configparser.y"
3896 case 284:
3897 /* Line 1792 of yacc.c */
3898 #line 1445 "util/configparser.y"
38813899 {
38823900 OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
38833901 free(cfg_parser->cfg->server_key_file);
38853903 }
38863904 break;
38873905
3888 case 283:
3889 /* Line 1792 of yacc.c */
3890 #line 1442 "util/configparser.y"
3906 case 285:
3907 /* Line 1792 of yacc.c */
3908 #line 1452 "util/configparser.y"
38913909 {
38923910 OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
38933911 free(cfg_parser->cfg->server_cert_file);
38953913 }
38963914 break;
38973915
3898 case 284:
3899 /* Line 1792 of yacc.c */
3900 #line 1449 "util/configparser.y"
3916 case 286:
3917 /* Line 1792 of yacc.c */
3918 #line 1459 "util/configparser.y"
39013919 {
39023920 OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
39033921 free(cfg_parser->cfg->control_key_file);
39053923 }
39063924 break;
39073925
3908 case 285:
3909 /* Line 1792 of yacc.c */
3910 #line 1456 "util/configparser.y"
3926 case 287:
3927 /* Line 1792 of yacc.c */
3928 #line 1466 "util/configparser.y"
39113929 {
39123930 OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
39133931 free(cfg_parser->cfg->control_cert_file);
39153933 }
39163934 break;
39173935
3918 case 286:
3919 /* Line 1792 of yacc.c */
3920 #line 1463 "util/configparser.y"
3936 case 288:
3937 /* Line 1792 of yacc.c */
3938 #line 1473 "util/configparser.y"
39213939 {
39223940 OUTYY(("\nP(dnstap:)\n"));
39233941 }
39243942 break;
39253943
3926 case 301:
3927 /* Line 1792 of yacc.c */
3928 #line 1480 "util/configparser.y"
3944 case 303:
3945 /* Line 1792 of yacc.c */
3946 #line 1490 "util/configparser.y"
39293947 {
39303948 OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str)));
39313949 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
39343952 }
39353953 break;
39363954
3937 case 302:
3938 /* Line 1792 of yacc.c */
3939 #line 1488 "util/configparser.y"
3955 case 304:
3956 /* Line 1792 of yacc.c */
3957 #line 1498 "util/configparser.y"
39403958 {
39413959 OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
39423960 free(cfg_parser->cfg->dnstap_socket_path);
39443962 }
39453963 break;
39463964
3947 case 303:
3948 /* Line 1792 of yacc.c */
3949 #line 1495 "util/configparser.y"
3965 case 305:
3966 /* Line 1792 of yacc.c */
3967 #line 1505 "util/configparser.y"
39503968 {
39513969 OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str)));
39523970 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
39553973 }
39563974 break;
39573975
3958 case 304:
3959 /* Line 1792 of yacc.c */
3960 #line 1503 "util/configparser.y"
3976 case 306:
3977 /* Line 1792 of yacc.c */
3978 #line 1513 "util/configparser.y"
39613979 {
39623980 OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str)));
39633981 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
39663984 }
39673985 break;
39683986
3969 case 305:
3970 /* Line 1792 of yacc.c */
3971 #line 1511 "util/configparser.y"
3987 case 307:
3988 /* Line 1792 of yacc.c */
3989 #line 1521 "util/configparser.y"
39723990 {
39733991 OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
39743992 free(cfg_parser->cfg->dnstap_identity);
39763994 }
39773995 break;
39783996
3979 case 306:
3980 /* Line 1792 of yacc.c */
3981 #line 1518 "util/configparser.y"
3997 case 308:
3998 /* Line 1792 of yacc.c */
3999 #line 1528 "util/configparser.y"
39824000 {
39834001 OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
39844002 free(cfg_parser->cfg->dnstap_version);
39864004 }
39874005 break;
39884006
3989 case 307:
3990 /* Line 1792 of yacc.c */
3991 #line 1525 "util/configparser.y"
4007 case 309:
4008 /* Line 1792 of yacc.c */
4009 #line 1535 "util/configparser.y"
39924010 {
39934011 OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
39944012 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
39984016 }
39994017 break;
40004018
4001 case 308:
4002 /* Line 1792 of yacc.c */
4003 #line 1534 "util/configparser.y"
4019 case 310:
4020 /* Line 1792 of yacc.c */
4021 #line 1544 "util/configparser.y"
40044022 {
40054023 OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
40064024 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
40104028 }
40114029 break;
40124030
4013 case 309:
4014 /* Line 1792 of yacc.c */
4015 #line 1543 "util/configparser.y"
4031 case 311:
4032 /* Line 1792 of yacc.c */
4033 #line 1553 "util/configparser.y"
40164034 {
40174035 OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
40184036 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
40224040 }
40234041 break;
40244042
4025 case 310:
4026 /* Line 1792 of yacc.c */
4027 #line 1552 "util/configparser.y"
4043 case 312:
4044 /* Line 1792 of yacc.c */
4045 #line 1562 "util/configparser.y"
40284046 {
40294047 OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
40304048 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
40344052 }
40354053 break;
40364054
4037 case 311:
4038 /* Line 1792 of yacc.c */
4039 #line 1561 "util/configparser.y"
4055 case 313:
4056 /* Line 1792 of yacc.c */
4057 #line 1571 "util/configparser.y"
40404058 {
40414059 OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
40424060 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
40464064 }
40474065 break;
40484066
4049 case 312:
4050 /* Line 1792 of yacc.c */
4051 #line 1570 "util/configparser.y"
4067 case 314:
4068 /* Line 1792 of yacc.c */
4069 #line 1580 "util/configparser.y"
40524070 {
40534071 OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
40544072 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
40584076 }
40594077 break;
40604078
4061 case 313:
4062 /* Line 1792 of yacc.c */
4063 #line 1579 "util/configparser.y"
4079 case 315:
4080 /* Line 1792 of yacc.c */
4081 #line 1589 "util/configparser.y"
40644082 {
40654083 OUTYY(("\nP(python:)\n"));
40664084 }
40674085 break;
40684086
4069 case 317:
4070 /* Line 1792 of yacc.c */
4071 #line 1588 "util/configparser.y"
4087 case 319:
4088 /* Line 1792 of yacc.c */
4089 #line 1598 "util/configparser.y"
40724090 {
40734091 OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
40744092 free(cfg_parser->cfg->python_script);
40784096
40794097
40804098 /* Line 1792 of yacc.c */
4081 #line 4083 "util/configparser.c"
4099 #line 4101 "util/configparser.c"
40824100 default: break;
40834101 }
40844102 /* User semantic actions sometimes alter yychar, and that requires
43104328
43114329
43124330 /* Line 2055 of yacc.c */
4313 #line 1593 "util/configparser.y"
4331 #line 1603 "util/configparser.y"
43144332
43154333
43164334 /* parse helper routines could be here */
202202 VAR_RATELIMIT_BELOW_DOMAIN = 412,
203203 VAR_RATELIMIT_FACTOR = 413,
204204 VAR_CAPS_WHITELIST = 414,
205 VAR_CACHE_MAX_NEGATIVE_TTL = 415
205 VAR_CACHE_MAX_NEGATIVE_TTL = 415,
206 VAR_PERMIT_SMALL_HOLDDOWN = 416
206207 };
207208 #endif
208209 /* Tokens. */
364365 #define VAR_RATELIMIT_FACTOR 413
365366 #define VAR_CAPS_WHITELIST 414
366367 #define VAR_CACHE_MAX_NEGATIVE_TTL 415
368 #define VAR_PERMIT_SMALL_HOLDDOWN 416
367369
368370
369371
377379
378380
379381 /* Line 2058 of yacc.c */
380 #line 382 "util/configparser.h"
382 #line 384 "util/configparser.h"
381383 } YYSTYPE;
382384 # define YYSTYPE_IS_TRIVIAL 1
383385 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
120120 %token VAR_HARDEN_ALGO_DOWNGRADE VAR_IP_TRANSPARENT
121121 %token VAR_RATELIMIT VAR_RATELIMIT_SLABS VAR_RATELIMIT_SIZE
122122 %token VAR_RATELIMIT_FOR_DOMAIN VAR_RATELIMIT_BELOW_DOMAIN VAR_RATELIMIT_FACTOR
123 %token VAR_CAPS_WHITELIST VAR_CACHE_MAX_NEGATIVE_TTL
123 %token VAR_CAPS_WHITELIST VAR_CACHE_MAX_NEGATIVE_TTL VAR_PERMIT_SMALL_HOLDDOWN
124124
125125 %%
126126 toplevelvars: /* empty */ | toplevelvars toplevelvar ;
184184 server_ip_transparent | server_ratelimit | server_ratelimit_slabs |
185185 server_ratelimit_size | server_ratelimit_for_domain |
186186 server_ratelimit_below_domain | server_ratelimit_factor |
187 server_caps_whitelist | server_cache_max_negative_ttl
187 server_caps_whitelist | server_cache_max_negative_ttl |
188 server_permit_small_holddown
188189 ;
189190 stubstart: VAR_STUB_ZONE
190191 {
11241125 free($2);
11251126 }
11261127 ;
1128 server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG
1129 {
1130 OUTYY(("P(server_permit_small_holddown:%s)\n", $2));
1131 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1132 yyerror("expected yes or no.");
1133 else cfg_parser->cfg->permit_small_holddown =
1134 (strcmp($2, "yes")==0);
1135 free($2);
1136 }
11271137 server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG
11281138 {
11291139 OUTYY(("P(server_key_cache_size:%s)\n", $2));
282282 size_t owner_pos, uint16_t* owner_ptr, int owner_labs)
283283 {
284284 struct compress_tree_node* p;
285 struct compress_tree_node** insertpt;
285 struct compress_tree_node** insertpt = NULL;
286286 if(!*owner_ptr) {
287287 /* compress first time dname */
288288 if((p = compress_tree_lookup(tree, key->rk.dname,
38393839 4404,
38403840 4405,
38413841 4406,
3842 4412,
3843 4413,
38423844 4425,
38433845 4426,
38443846 4430,
46654667 7725,
46664668 7726,
46674669 7727,
4670 7728,
46684671 7734,
46694672 7738,
46704673 7741,
47794782 8301,
47804783 8320,
47814784 8321,
4785 8322,
47824786 8351,
47834787 8376,
47844788 8377,
51695173 17220,
51705174 17221,
51715175 17222,
5176 17224,
5177 17225,
51725178 17234,
51735179 17235,
51745180 17500,
628628 SSL_CTX_free(ctx);
629629 return NULL;
630630 }
631 if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) {
631 if(!SSL_CTX_use_certificate_chain_file(ctx, pem)) {
632632 log_err("error for cert file: %s", pem);
633 log_crypto_err("error in SSL_CTX use_certificate_file");
633 log_crypto_err("error in SSL_CTX use_certificate_chain_file");
634634 SSL_CTX_free(ctx);
635635 return NULL;
636636 }
646646 SSL_CTX_free(ctx);
647647 return NULL;
648648 }
649 #if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
650 if(!SSL_CTX_set_ecdh_auto(ctx,1)) {
651 log_crypto_err("Error in SSL_CTX_ecdh_auto, not enabling ECDHE");
652 }
653 #elif defined(USE_ECDSA)
654 if(1) {
655 EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1);
656 if (!ecdh) {
657 log_crypto_err("could not find p256, not enabling ECDHE");
658 } else {
659 if (1 != SSL_CTX_set_tmp_ecdh (ctx, ecdh)) {
660 log_crypto_err("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE");
661 }
662 EC_KEY_free (ecdh);
663 }
664 }
665 #endif
649666
650667 if(verifypem && verifypem[0]) {
651668 if(!SSL_CTX_load_verify_locations(ctx, verifypem, NULL)) {
683700 return NULL;
684701 }
685702 if(key && key[0]) {
686 if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) {
703 if(!SSL_CTX_use_certificate_chain_file(ctx, pem)) {
687704 log_err("error in client certificate %s", pem);
688705 log_crypto_err("error in certificate file");
689706 SSL_CTX_free(ctx);
12241224 {
12251225 char* reason = NULL;
12261226 uint8_t sigalg[ALGO_NEEDS_MAX+1];
1227 int downprot = 1;
1227 int downprot = env->cfg->harden_algo_downgrade;
12281228 enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve, rrset,
12291229 tp->ds_rrset, tp->dnskey_rrset, downprot?sigalg:NULL, &reason);
12301230 /* sigalg is ignored, it returns algorithms signalled to exist, but
14461446 if(rrsig_exp_interval/2 < x)
14471447 x = rrsig_exp_interval/2;
14481448 /* MAX(1hr, x) */
1449 if(x < 3600)
1450 tp->autr->query_interval = 3600;
1451 else tp->autr->query_interval = x;
1449 if(!autr_permit_small_holddown) {
1450 if(x < 3600)
1451 tp->autr->query_interval = 3600;
1452 else tp->autr->query_interval = x;
1453 } else tp->autr->query_interval = x;
14521454
14531455 /* x= MIN(1day, ttl/10, expire/10) */
14541456 x = 24 * 3600;
14571459 if(rrsig_exp_interval/10 < x)
14581460 x = rrsig_exp_interval/10;
14591461 /* MAX(1hr, x) */
1460 if(x < 3600)
1461 tp->autr->retry_time = 3600;
1462 else tp->autr->retry_time = x;
1462 if(!autr_permit_small_holddown) {
1463 if(x < 3600)
1464 tp->autr->retry_time = 3600;
1465 else tp->autr->retry_time = x;
1466 } else tp->autr->retry_time = x;
14631467
14641468 if(qi != tp->autr->query_interval || rt != tp->autr->retry_time) {
14651469 *changed = 1;
19581962 {
19591963 /* make it random, 90-100% */
19601964 time_t rnd, rest;
1961 if(wait < 3600)
1962 wait = 3600;
1965 if(!autr_permit_small_holddown) {
1966 if(wait < 3600)
1967 wait = 3600;
1968 } else {
1969 if(wait == 0) wait = 1;
1970 }
19631971 rnd = wait/10;
19641972 rest = wait-rnd;
19651973 rnd = (time_t)ub_random_max(env->rnd, (long int)rnd);
23482356 if( (el=rbtree_first(&env->anchors->autr->probe)) == RBTREE_NULL) {
23492357 /* in case of revoked anchors */
23502358 lock_basic_unlock(&env->anchors->lock);
2359 /* signal that there are no anchors to probe */
2360 *next = 0;
23512361 return NULL;
23522362 }
23532363 tp = (struct trust_anchor*)el->key;
23772387 struct trust_anchor* tp;
23782388 time_t next_probe = 3600;
23792389 int num = 0;
2390 if(autr_permit_small_holddown) next_probe = 1;
23802391 verbose(VERB_ALGO, "autotrust probe timer callback");
23812392 /* while there are still anchors to probe */
23822393 while( (tp = todo_probe(env, &next_probe)) ) {
23852396 num++;
23862397 }
23872398 regional_free_all(env->scratch);
2388 if(num == 0)
2399 if(next_probe == 0)
23892400 return 0; /* no trust points to probe */
23902401 verbose(VERB_ALGO, "autotrust probe timer %d callbacks done", num);
23912402 return next_probe;
794794
795795 if(i==j)
796796 return 0;
797 /* in case rdata-len is to be compared for canonical order
798 c = memcmp(d->rr_data[i], d->rr_data[j], 2);
799 if(c != 0)
800 return c; */
801797
802798 switch(type) {
803799 /* These RR types have only a name as RDATA.
27682768 vq->state = VAL_VALIDATE_STATE;
27692769 return;
27702770 }
2771 downprot = 1;
2771 downprot = qstate->env->cfg->harden_algo_downgrade;
27722772 vq->key_entry = val_verify_new_DNSKEYs(qstate->region, qstate->env,
27732773 ve, dnskey, vq->ds_rrset, downprot, &reason);
27742774
00 # The NSIS (http://nsis.sourceforge.net) install script.
11 # This script is BSD licensed.
2 SetCompressor /solid /final lzma
2
3 # use the default compression to help anti-virus in scanning us
4 #SetCompressor /solid /final lzma
35
46 !include LogicLib.nsh
57 !include MUI2.nsh