diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:33:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:33:12 +0000 |
commit | 36082a2fe36ecd800d784ae44c14f1f18c66a7e9 (patch) | |
tree | 6c68e0c0097987aff85a01dabddd34b862309a7c /fuzz | |
parent | Initial commit. (diff) | |
download | gnutls28-36082a2fe36ecd800d784ae44c14f1f18c66a7e9.tar.xz gnutls28-36082a2fe36ecd800d784ae44c14f1f18c66a7e9.zip |
Adding upstream version 3.7.9.upstream/3.7.9upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fuzz')
49 files changed, 6813 insertions, 0 deletions
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am new file mode 100644 index 0000000..34a8919 --- /dev/null +++ b/fuzz/Makefile.am @@ -0,0 +1,126 @@ +AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) -Wno-unused-parameter -Wno-pedantic +AM_CPPFLAGS = -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes -I$(srcdir) \ + -DSRCDIR=\"$(abs_srcdir)\" -DTEST_RUN + +LDADD = ../gl/libgnu.la ../lib/libgnutls.la \ + $(LIBOBJS) $(GETADDRINFO_LIB) $(HOSTENT_LIB) $(INET_NTOP_LIB)\ + $(LIBSOCKET) $(LIB_CLOCK_GETTIME) $(LIB_NANOSLEEP) $(LIB_POLL) $(LIB_PTHREAD)\ + $(LIB_SELECT) $(LIBTHREAD) $(SERVENT_LIB) \ + $(LIBS) + +FUZZERS = \ + gnutls_x509_verify_fuzzer$(EXEEXT) \ + gnutls_base64_decoder_fuzzer$(EXEEXT) \ + gnutls_base64_encoder_fuzzer$(EXEEXT) \ + gnutls_client_fuzzer$(EXEEXT) \ + gnutls_client_rawpk_fuzzer$(EXEEXT) \ + gnutls_dn_parser_fuzzer$(EXEEXT) \ + gnutls_idna_parser_fuzzer$(EXEEXT) \ + gnutls_ocsp_req_parser_fuzzer$(EXEEXT) \ + gnutls_ocsp_resp_parser_fuzzer$(EXEEXT) \ + gnutls_pkcs12_key_parser_fuzzer$(EXEEXT) \ + gnutls_pkcs7_parser_fuzzer$(EXEEXT) \ + gnutls_pkcs8_key_parser_fuzzer$(EXEEXT) \ + gnutls_private_key_parser_fuzzer$(EXEEXT) \ + gnutls_psk_client_fuzzer$(EXEEXT) \ + gnutls_psk_server_fuzzer$(EXEEXT) \ + gnutls_reverse_idna_parser_fuzzer$(EXEEXT) \ + gnutls_server_fuzzer$(EXEEXT) \ + gnutls_server_rawpk_fuzzer$(EXEEXT) \ + gnutls_srp_client_fuzzer$(EXEEXT) \ + gnutls_srp_server_fuzzer$(EXEEXT) \ + gnutls_set_trust_file_fuzzer$(EXEEXT) \ + gnutls_x509_crl_parser_fuzzer$(EXEEXT) \ + gnutls_x509_crq_parser_fuzzer$(EXEEXT) \ + gnutls_x509_parser_fuzzer$(EXEEXT) \ + gnutls_ext_raw_parse_fuzzer$(EXEEXT) \ + gnutls_handshake_client_fuzzer$(EXEEXT) \ + gnutls_handshake_server_fuzzer$(EXEEXT) + +check_PROGRAMS = $(FUZZERS) + +COMMON_SOURCES = main.c fuzzer.h +gnutls_x509_verify_fuzzer_SOURCES = gnutls_x509_verify_fuzzer.c $(COMMON_SOURCES) +gnutls_base64_decoder_fuzzer_SOURCES = gnutls_base64_decoder_fuzzer.c $(COMMON_SOURCES) +gnutls_base64_encoder_fuzzer_SOURCES = gnutls_base64_encoder_fuzzer.c $(COMMON_SOURCES) +gnutls_client_fuzzer_SOURCES = gnutls_client_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_client_rawpk_fuzzer_SOURCES = gnutls_client_rawpk_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_handshake_client_fuzzer_SOURCES = gnutls_handshake_client_fuzzer.c $(COMMON_SOURCES) handshake.h +gnutls_dn_parser_fuzzer_SOURCES = gnutls_dn_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_idna_parser_fuzzer_SOURCES = gnutls_idna_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_ocsp_req_parser_fuzzer_SOURCES = gnutls_ocsp_req_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_ocsp_resp_parser_fuzzer_SOURCES = gnutls_ocsp_resp_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_pkcs12_key_parser_fuzzer_SOURCES = gnutls_pkcs12_key_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_pkcs7_parser_fuzzer_SOURCES = gnutls_pkcs7_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_pkcs8_key_parser_fuzzer_SOURCES = gnutls_pkcs8_key_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_private_key_parser_fuzzer_SOURCES = gnutls_private_key_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_psk_client_fuzzer_SOURCES = gnutls_psk_client_fuzzer.c $(COMMON_SOURCES) mem.h psk.h +gnutls_psk_server_fuzzer_SOURCES = gnutls_psk_server_fuzzer.c $(COMMON_SOURCES) mem.h psk.h +gnutls_reverse_idna_parser_fuzzer_SOURCES = gnutls_reverse_idna_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_server_fuzzer_SOURCES = gnutls_server_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_server_rawpk_fuzzer_SOURCES = gnutls_server_rawpk_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_handshake_server_fuzzer_SOURCES = gnutls_handshake_server_fuzzer.c $(COMMON_SOURCES) handshake.h certs.h +gnutls_srp_client_fuzzer_SOURCES = gnutls_srp_client_fuzzer.c $(COMMON_SOURCES) mem.h srp.h +gnutls_srp_server_fuzzer_SOURCES = gnutls_srp_server_fuzzer.c $(COMMON_SOURCES) mem.h srp.h +gnutls_set_trust_file_fuzzer_SOURCES = gnutls_set_trust_file_fuzzer.c $(COMMON_SOURCES) +gnutls_x509_crl_parser_fuzzer_SOURCES = gnutls_x509_crq_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_x509_crq_parser_fuzzer_SOURCES = gnutls_x509_crq_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_x509_parser_fuzzer_SOURCES = gnutls_x509_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_ext_raw_parse_fuzzer_SOURCES = gnutls_ext_raw_parse_fuzzer.c $(COMMON_SOURCES) + +gnutls_set_trust_file_fuzzer_LDADD = $(LDADD) $(LIBDL) + + +#EXTRA_DIST = $(wildcard *.options) $(wildcard *.dict) \ +# $(wildcard *.in) $(wildcard *.repro) + +# We don't include the fuzz corpora into the tarball. +# Testing the corpora during dev cycles and in the CI is enough. +dist-hook: + find . -name '*.options' -exec cp -v '{}' $(distdir) ';' + find . -name '*.dict' -exec cp -v '{}' $(distdir) ';' +# find . -name '*.in' -exec cp -vr '{}' $(distdir) ';' + find . -name '*.repro' -exec cp -vr '{}' $(distdir) ';' + +TESTS = $(FUZZERS) + +clean-local: + rm -rf *.gc?? *.log lcov + +oss-fuzz: + if test "$$OUT" != ""; then \ + for ccfile in *_fuzzer.c; do \ + fuzzer=$$(basename $$ccfile .c); \ + XLIBS="-lhogweed -lnettle -ltasn1 -lgmp -lidn2 -lunistring"; \ + $$CC $$CFLAGS -I$(top_srcdir)/lib/includes/ -I$(top_srcdir) \ + -c "$${fuzzer}.c" -o "$${fuzzer}.o" ; \ + $$CXX $$CXXFLAGS "$${fuzzer}.o" -o "$${fuzzer}" \ + $$LDFLAGS ../lib/.libs/libgnutls.a $${LIB_FUZZING_ENGINE} \ + -Wl,-z,muldefs \ + -Wl,-Bstatic \ + $${XLIBS} \ + -Wl,-Bdynamic || exit $?; \ + done; \ + fi + +.PHONY: oss-fuzz + +CFLAGS ?= +LDFLAGS ?= +LCOV_INFO = coverage.info + +coverage-prepare: clean + rm -rf $(LCOV_INFO) ../*/*.gc?? ../*/.libs/*.gc?? lcov/ + lcov --zerocounters --directory ../lib/ + $(MAKE) -C .. clean + $(MAKE) -C ../gl + $(MAKE) -C ../lib CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage" + +coverage: + lcov --capture --initial --directory ../lib/ --output-file $(LCOV_INFO) + $(MAKE) check CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage" + lcov --capture --directory ../lib/ --output-file $(LCOV_INFO) + lcov --remove $(LCOV_INFO) '/usr/include/*' '*/gl/*' -o $(LCOV_INFO) + genhtml --prefix . --ignore-errors source $(LCOV_INFO) --legend --title "gnutls-fuzz" --output-directory=lcov + @echo + @echo "You can now view the coverage report with 'xdg-open lcov/index.html'" diff --git a/fuzz/Makefile.in b/fuzz/Makefile.in new file mode 100644 index 0000000..20132dc --- /dev/null +++ b/fuzz/Makefile.in @@ -0,0 +1,3613 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = fuzz +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/lib/unistring/m4/gnulib-comp.m4 \ + $(top_srcdir)/lib/unistring/m4/inline.m4 \ + $(top_srcdir)/lib/unistring/m4/libunistring-base.m4 \ + $(top_srcdir)/src/gl/m4/atoll.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/calloc.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/codeset.m4 \ + $(top_srcdir)/src/gl/m4/ctype_h.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fdopen.m4 \ + $(top_srcdir)/src/gl/m4/flexmember.m4 \ + $(top_srcdir)/src/gl/m4/fpending.m4 \ + $(top_srcdir)/src/gl/m4/fpieee.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/ftruncate.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getcwd.m4 \ + $(top_srcdir)/src/gl/m4/getpagesize.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/getprogname.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/intl-thread-locale.m4 \ + $(top_srcdir)/src/gl/m4/inttostr.m4 \ + $(top_srcdir)/src/gl/m4/ioctl.m4 \ + $(top_srcdir)/src/gl/m4/isblank.m4 \ + $(top_srcdir)/src/gl/m4/langinfo_h.m4 \ + $(top_srcdir)/src/gl/m4/lcmessage.m4 \ + $(top_srcdir)/src/gl/m4/locale-fr.m4 \ + $(top_srcdir)/src/gl/m4/locale-ja.m4 \ + $(top_srcdir)/src/gl/m4/locale-tr.m4 \ + $(top_srcdir)/src/gl/m4/locale-zh.m4 \ + $(top_srcdir)/src/gl/m4/locale_h.m4 \ + $(top_srcdir)/src/gl/m4/localename.m4 \ + $(top_srcdir)/src/gl/m4/lstat.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/nanosleep.m4 \ + $(top_srcdir)/src/gl/m4/nstrftime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/perror.m4 \ + $(top_srcdir)/src/gl/m4/pipe.m4 \ + $(top_srcdir)/src/gl/m4/pthread-thread.m4 \ + $(top_srcdir)/src/gl/m4/pthread_h.m4 \ + $(top_srcdir)/src/gl/m4/pthread_sigmask.m4 \ + $(top_srcdir)/src/gl/m4/putenv.m4 \ + $(top_srcdir)/src/gl/m4/raise.m4 \ + $(top_srcdir)/src/gl/m4/reallocarray.m4 \ + $(top_srcdir)/src/gl/m4/sched_h.m4 \ + $(top_srcdir)/src/gl/m4/sched_yield.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/semaphore.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/setlocale.m4 \ + $(top_srcdir)/src/gl/m4/setlocale_null.m4 \ + $(top_srcdir)/src/gl/m4/sigaction.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/signalblocking.m4 \ + $(top_srcdir)/src/gl/m4/sleep.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/strerror_r.m4 \ + $(top_srcdir)/src/gl/m4/strtoll.m4 \ + $(top_srcdir)/src/gl/m4/symlink.m4 \ + $(top_srcdir)/src/gl/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/thread.m4 \ + $(top_srcdir)/src/gl/m4/time_rz.m4 \ + $(top_srcdir)/src/gl/m4/timegm.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/tzset.m4 \ + $(top_srcdir)/src/gl/m4/usleep.m4 \ + $(top_srcdir)/src/gl/m4/visibility.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/gl/m4/yield.m4 $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ + $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ + $(top_srcdir)/m4/arpa_inet_h.m4 \ + $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ + $(top_srcdir)/m4/ax_ac_print_to_file.m4 \ + $(top_srcdir)/m4/ax_add_am_macro_static.m4 \ + $(top_srcdir)/m4/ax_am_macros_static.m4 \ + $(top_srcdir)/m4/ax_check_gnu_make.m4 \ + $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_file_escapes.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/close.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ + $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/explicit_bzero.m4 \ + $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \ + $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ + $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fopen.m4 \ + $(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fseeko.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftell.m4 \ + $(top_srcdir)/m4/ftello.m4 $(top_srcdir)/m4/func.m4 \ + $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/gettimeofday.m4 \ + $(top_srcdir)/m4/gnulib-common.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/gtk-doc.m4 \ + $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/hooks.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_ntop.m4 \ + $(top_srcdir)/m4/inet_pton.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/largefile.m4 \ + $(top_srcdir)/m4/ld-output-def.m4 \ + $(top_srcdir)/m4/ld-version-script.m4 $(top_srcdir)/m4/ldd.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/lock.m4 \ + $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memmem.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mmap-anon.m4 \ + $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/open-cloexec.m4 \ + $(top_srcdir)/m4/open-slash.m4 $(top_srcdir)/m4/open.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \ + $(top_srcdir)/m4/read-file.m4 $(top_srcdir)/m4/realloc.m4 \ + $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/size_max.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ + $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \ + $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ + $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.m4 \ + $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ + $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ + $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \ + $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtok_r.m4 \ + $(top_srcdir)/m4/strverscmp.m4 \ + $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \ + $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \ + $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/ungetc.m4 \ + $(top_srcdir)/m4/unistd_h.m4 \ + $(top_srcdir)/m4/valgrind-tests.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/zzgnulib.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__objects_1 = main.$(OBJEXT) +am_gnutls_base64_decoder_fuzzer_OBJECTS = \ + gnutls_base64_decoder_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_base64_decoder_fuzzer_OBJECTS = \ + $(am_gnutls_base64_decoder_fuzzer_OBJECTS) +gnutls_base64_decoder_fuzzer_LDADD = $(LDADD) +am__DEPENDENCIES_1 = +gnutls_base64_decoder_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +am_gnutls_base64_encoder_fuzzer_OBJECTS = \ + gnutls_base64_encoder_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_base64_encoder_fuzzer_OBJECTS = \ + $(am_gnutls_base64_encoder_fuzzer_OBJECTS) +gnutls_base64_encoder_fuzzer_LDADD = $(LDADD) +gnutls_base64_encoder_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_client_fuzzer_OBJECTS = gnutls_client_fuzzer.$(OBJEXT) \ + $(am__objects_1) +gnutls_client_fuzzer_OBJECTS = $(am_gnutls_client_fuzzer_OBJECTS) +gnutls_client_fuzzer_LDADD = $(LDADD) +gnutls_client_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_client_rawpk_fuzzer_OBJECTS = \ + gnutls_client_rawpk_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_client_rawpk_fuzzer_OBJECTS = \ + $(am_gnutls_client_rawpk_fuzzer_OBJECTS) +gnutls_client_rawpk_fuzzer_LDADD = $(LDADD) +gnutls_client_rawpk_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_dn_parser_fuzzer_OBJECTS = \ + gnutls_dn_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_dn_parser_fuzzer_OBJECTS = \ + $(am_gnutls_dn_parser_fuzzer_OBJECTS) +gnutls_dn_parser_fuzzer_LDADD = $(LDADD) +gnutls_dn_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_ext_raw_parse_fuzzer_OBJECTS = \ + gnutls_ext_raw_parse_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_ext_raw_parse_fuzzer_OBJECTS = \ + $(am_gnutls_ext_raw_parse_fuzzer_OBJECTS) +gnutls_ext_raw_parse_fuzzer_LDADD = $(LDADD) +gnutls_ext_raw_parse_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_handshake_client_fuzzer_OBJECTS = \ + gnutls_handshake_client_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_handshake_client_fuzzer_OBJECTS = \ + $(am_gnutls_handshake_client_fuzzer_OBJECTS) +gnutls_handshake_client_fuzzer_LDADD = $(LDADD) +gnutls_handshake_client_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_handshake_server_fuzzer_OBJECTS = \ + gnutls_handshake_server_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_handshake_server_fuzzer_OBJECTS = \ + $(am_gnutls_handshake_server_fuzzer_OBJECTS) +gnutls_handshake_server_fuzzer_LDADD = $(LDADD) +gnutls_handshake_server_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_idna_parser_fuzzer_OBJECTS = \ + gnutls_idna_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_idna_parser_fuzzer_OBJECTS = \ + $(am_gnutls_idna_parser_fuzzer_OBJECTS) +gnutls_idna_parser_fuzzer_LDADD = $(LDADD) +gnutls_idna_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_ocsp_req_parser_fuzzer_OBJECTS = \ + gnutls_ocsp_req_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_ocsp_req_parser_fuzzer_OBJECTS = \ + $(am_gnutls_ocsp_req_parser_fuzzer_OBJECTS) +gnutls_ocsp_req_parser_fuzzer_LDADD = $(LDADD) +gnutls_ocsp_req_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_ocsp_resp_parser_fuzzer_OBJECTS = \ + gnutls_ocsp_resp_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_ocsp_resp_parser_fuzzer_OBJECTS = \ + $(am_gnutls_ocsp_resp_parser_fuzzer_OBJECTS) +gnutls_ocsp_resp_parser_fuzzer_LDADD = $(LDADD) +gnutls_ocsp_resp_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_pkcs12_key_parser_fuzzer_OBJECTS = \ + gnutls_pkcs12_key_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_pkcs12_key_parser_fuzzer_OBJECTS = \ + $(am_gnutls_pkcs12_key_parser_fuzzer_OBJECTS) +gnutls_pkcs12_key_parser_fuzzer_LDADD = $(LDADD) +gnutls_pkcs12_key_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_pkcs7_parser_fuzzer_OBJECTS = \ + gnutls_pkcs7_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_pkcs7_parser_fuzzer_OBJECTS = \ + $(am_gnutls_pkcs7_parser_fuzzer_OBJECTS) +gnutls_pkcs7_parser_fuzzer_LDADD = $(LDADD) +gnutls_pkcs7_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_pkcs8_key_parser_fuzzer_OBJECTS = \ + gnutls_pkcs8_key_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_pkcs8_key_parser_fuzzer_OBJECTS = \ + $(am_gnutls_pkcs8_key_parser_fuzzer_OBJECTS) +gnutls_pkcs8_key_parser_fuzzer_LDADD = $(LDADD) +gnutls_pkcs8_key_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_private_key_parser_fuzzer_OBJECTS = \ + gnutls_private_key_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_private_key_parser_fuzzer_OBJECTS = \ + $(am_gnutls_private_key_parser_fuzzer_OBJECTS) +gnutls_private_key_parser_fuzzer_LDADD = $(LDADD) +gnutls_private_key_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_psk_client_fuzzer_OBJECTS = \ + gnutls_psk_client_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_psk_client_fuzzer_OBJECTS = \ + $(am_gnutls_psk_client_fuzzer_OBJECTS) +gnutls_psk_client_fuzzer_LDADD = $(LDADD) +gnutls_psk_client_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_psk_server_fuzzer_OBJECTS = \ + gnutls_psk_server_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_psk_server_fuzzer_OBJECTS = \ + $(am_gnutls_psk_server_fuzzer_OBJECTS) +gnutls_psk_server_fuzzer_LDADD = $(LDADD) +gnutls_psk_server_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_reverse_idna_parser_fuzzer_OBJECTS = \ + gnutls_reverse_idna_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_reverse_idna_parser_fuzzer_OBJECTS = \ + $(am_gnutls_reverse_idna_parser_fuzzer_OBJECTS) +gnutls_reverse_idna_parser_fuzzer_LDADD = $(LDADD) +gnutls_reverse_idna_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_server_fuzzer_OBJECTS = gnutls_server_fuzzer.$(OBJEXT) \ + $(am__objects_1) +gnutls_server_fuzzer_OBJECTS = $(am_gnutls_server_fuzzer_OBJECTS) +gnutls_server_fuzzer_LDADD = $(LDADD) +gnutls_server_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_server_rawpk_fuzzer_OBJECTS = \ + gnutls_server_rawpk_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_server_rawpk_fuzzer_OBJECTS = \ + $(am_gnutls_server_rawpk_fuzzer_OBJECTS) +gnutls_server_rawpk_fuzzer_LDADD = $(LDADD) +gnutls_server_rawpk_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_set_trust_file_fuzzer_OBJECTS = \ + gnutls_set_trust_file_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_set_trust_file_fuzzer_OBJECTS = \ + $(am_gnutls_set_trust_file_fuzzer_OBJECTS) +am__DEPENDENCIES_2 = ../gl/libgnu.la ../lib/libgnutls.la $(LIBOBJS) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +gnutls_set_trust_file_fuzzer_DEPENDENCIES = $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_1) +am_gnutls_srp_client_fuzzer_OBJECTS = \ + gnutls_srp_client_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_srp_client_fuzzer_OBJECTS = \ + $(am_gnutls_srp_client_fuzzer_OBJECTS) +gnutls_srp_client_fuzzer_LDADD = $(LDADD) +gnutls_srp_client_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_srp_server_fuzzer_OBJECTS = \ + gnutls_srp_server_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_srp_server_fuzzer_OBJECTS = \ + $(am_gnutls_srp_server_fuzzer_OBJECTS) +gnutls_srp_server_fuzzer_LDADD = $(LDADD) +gnutls_srp_server_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_x509_crl_parser_fuzzer_OBJECTS = \ + gnutls_x509_crq_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_x509_crl_parser_fuzzer_OBJECTS = \ + $(am_gnutls_x509_crl_parser_fuzzer_OBJECTS) +gnutls_x509_crl_parser_fuzzer_LDADD = $(LDADD) +gnutls_x509_crl_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_x509_crq_parser_fuzzer_OBJECTS = \ + gnutls_x509_crq_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_x509_crq_parser_fuzzer_OBJECTS = \ + $(am_gnutls_x509_crq_parser_fuzzer_OBJECTS) +gnutls_x509_crq_parser_fuzzer_LDADD = $(LDADD) +gnutls_x509_crq_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_x509_parser_fuzzer_OBJECTS = \ + gnutls_x509_parser_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_x509_parser_fuzzer_OBJECTS = \ + $(am_gnutls_x509_parser_fuzzer_OBJECTS) +gnutls_x509_parser_fuzzer_LDADD = $(LDADD) +gnutls_x509_parser_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_gnutls_x509_verify_fuzzer_OBJECTS = \ + gnutls_x509_verify_fuzzer.$(OBJEXT) $(am__objects_1) +gnutls_x509_verify_fuzzer_OBJECTS = \ + $(am_gnutls_x509_verify_fuzzer_OBJECTS) +gnutls_x509_verify_fuzzer_LDADD = $(LDADD) +gnutls_x509_verify_fuzzer_DEPENDENCIES = ../gl/libgnu.la \ + ../lib/libgnutls.la $(LIBOBJS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/gnutls_base64_decoder_fuzzer.Po \ + ./$(DEPDIR)/gnutls_base64_encoder_fuzzer.Po \ + ./$(DEPDIR)/gnutls_client_fuzzer.Po \ + ./$(DEPDIR)/gnutls_client_rawpk_fuzzer.Po \ + ./$(DEPDIR)/gnutls_dn_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_ext_raw_parse_fuzzer.Po \ + ./$(DEPDIR)/gnutls_handshake_client_fuzzer.Po \ + ./$(DEPDIR)/gnutls_handshake_server_fuzzer.Po \ + ./$(DEPDIR)/gnutls_idna_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_ocsp_req_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_ocsp_resp_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_pkcs12_key_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_pkcs7_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_pkcs8_key_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_private_key_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_psk_client_fuzzer.Po \ + ./$(DEPDIR)/gnutls_psk_server_fuzzer.Po \ + ./$(DEPDIR)/gnutls_reverse_idna_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_server_fuzzer.Po \ + ./$(DEPDIR)/gnutls_server_rawpk_fuzzer.Po \ + ./$(DEPDIR)/gnutls_set_trust_file_fuzzer.Po \ + ./$(DEPDIR)/gnutls_srp_client_fuzzer.Po \ + ./$(DEPDIR)/gnutls_srp_server_fuzzer.Po \ + ./$(DEPDIR)/gnutls_x509_crq_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_x509_parser_fuzzer.Po \ + ./$(DEPDIR)/gnutls_x509_verify_fuzzer.Po ./$(DEPDIR)/main.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(gnutls_base64_decoder_fuzzer_SOURCES) \ + $(gnutls_base64_encoder_fuzzer_SOURCES) \ + $(gnutls_client_fuzzer_SOURCES) \ + $(gnutls_client_rawpk_fuzzer_SOURCES) \ + $(gnutls_dn_parser_fuzzer_SOURCES) \ + $(gnutls_ext_raw_parse_fuzzer_SOURCES) \ + $(gnutls_handshake_client_fuzzer_SOURCES) \ + $(gnutls_handshake_server_fuzzer_SOURCES) \ + $(gnutls_idna_parser_fuzzer_SOURCES) \ + $(gnutls_ocsp_req_parser_fuzzer_SOURCES) \ + $(gnutls_ocsp_resp_parser_fuzzer_SOURCES) \ + $(gnutls_pkcs12_key_parser_fuzzer_SOURCES) \ + $(gnutls_pkcs7_parser_fuzzer_SOURCES) \ + $(gnutls_pkcs8_key_parser_fuzzer_SOURCES) \ + $(gnutls_private_key_parser_fuzzer_SOURCES) \ + $(gnutls_psk_client_fuzzer_SOURCES) \ + $(gnutls_psk_server_fuzzer_SOURCES) \ + $(gnutls_reverse_idna_parser_fuzzer_SOURCES) \ + $(gnutls_server_fuzzer_SOURCES) \ + $(gnutls_server_rawpk_fuzzer_SOURCES) \ + $(gnutls_set_trust_file_fuzzer_SOURCES) \ + $(gnutls_srp_client_fuzzer_SOURCES) \ + $(gnutls_srp_server_fuzzer_SOURCES) \ + $(gnutls_x509_crl_parser_fuzzer_SOURCES) \ + $(gnutls_x509_crq_parser_fuzzer_SOURCES) \ + $(gnutls_x509_parser_fuzzer_SOURCES) \ + $(gnutls_x509_verify_fuzzer_SOURCES) +DIST_SOURCES = $(gnutls_base64_decoder_fuzzer_SOURCES) \ + $(gnutls_base64_encoder_fuzzer_SOURCES) \ + $(gnutls_client_fuzzer_SOURCES) \ + $(gnutls_client_rawpk_fuzzer_SOURCES) \ + $(gnutls_dn_parser_fuzzer_SOURCES) \ + $(gnutls_ext_raw_parse_fuzzer_SOURCES) \ + $(gnutls_handshake_client_fuzzer_SOURCES) \ + $(gnutls_handshake_server_fuzzer_SOURCES) \ + $(gnutls_idna_parser_fuzzer_SOURCES) \ + $(gnutls_ocsp_req_parser_fuzzer_SOURCES) \ + $(gnutls_ocsp_resp_parser_fuzzer_SOURCES) \ + $(gnutls_pkcs12_key_parser_fuzzer_SOURCES) \ + $(gnutls_pkcs7_parser_fuzzer_SOURCES) \ + $(gnutls_pkcs8_key_parser_fuzzer_SOURCES) \ + $(gnutls_private_key_parser_fuzzer_SOURCES) \ + $(gnutls_psk_client_fuzzer_SOURCES) \ + $(gnutls_psk_server_fuzzer_SOURCES) \ + $(gnutls_reverse_idna_parser_fuzzer_SOURCES) \ + $(gnutls_server_fuzzer_SOURCES) \ + $(gnutls_server_rawpk_fuzzer_SOURCES) \ + $(gnutls_set_trust_file_fuzzer_SOURCES) \ + $(gnutls_srp_client_fuzzer_SOURCES) \ + $(gnutls_srp_server_fuzzer_SOURCES) \ + $(gnutls_x509_crl_parser_fuzzer_SOURCES) \ + $(gnutls_x509_crq_parser_fuzzer_SOURCES) \ + $(gnutls_x509_parser_fuzzer_SOURCES) \ + $(gnutls_x509_verify_fuzzer_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red='[0;31m'; \ + grn='[0;32m'; \ + lgn='[1;32m'; \ + blu='[1;34m'; \ + mgn='[0;35m'; \ + brg='[1m'; \ + std='[m'; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp \ + $(top_srcdir)/build-aux/test-driver README.md +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +AARCH64_CCASFLAGS = @AARCH64_CCASFLAGS@ +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +ALLOCA_H = @ALLOCA_H@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +ASN1PARSER = @ASN1PARSER@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +BYTESWAP_H = @BYTESWAP_H@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ +CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ +CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ +CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ +CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ +CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ +CONFIG_INCLUDE = @CONFIG_INCLUDE@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CRYWRAP_PATCHLEVEL = @CRYWRAP_PATCHLEVEL@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CXX_LT_AGE = @CXX_LT_AGE@ +CXX_LT_CURRENT = @CXX_LT_CURRENT@ +CXX_LT_REVISION = @CXX_LT_REVISION@ +CYGPATH_W = @CYGPATH_W@ +DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DLL_SSL_VERSION = @DLL_SSL_VERSION@ +DLL_VERSION = @DLL_VERSION@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ +EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ +ENABLE_PADLOCK = @ENABLE_PADLOCK@ +ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ +ENOLINK_VALUE = @ENOLINK_VALUE@ +EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ +EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ +ERRNO_H = @ERRNO_H@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +FIPS140_LIBS = @FIPS140_LIBS@ +FLOAT_H = @FLOAT_H@ +GCOV = @GCOV@ +GENHTML = @GENHTML@ +GETADDRINFO_LIB = @GETADDRINFO_LIB@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GL_GGL_GNULIB_ACCEPT = @GL_GGL_GNULIB_ACCEPT@ +GL_GGL_GNULIB_ACCEPT4 = @GL_GGL_GNULIB_ACCEPT4@ +GL_GGL_GNULIB_ACCESS = @GL_GGL_GNULIB_ACCESS@ +GL_GGL_GNULIB_ALIGNED_ALLOC = @GL_GGL_GNULIB_ALIGNED_ALLOC@ +GL_GGL_GNULIB_ATOLL = @GL_GGL_GNULIB_ATOLL@ +GL_GGL_GNULIB_BIND = @GL_GGL_GNULIB_BIND@ +GL_GGL_GNULIB_BTOWC = @GL_GGL_GNULIB_BTOWC@ +GL_GGL_GNULIB_CALLOC_POSIX = @GL_GGL_GNULIB_CALLOC_POSIX@ +GL_GGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GGL_GNULIB_CANONICALIZE_FILE_NAME@ +GL_GGL_GNULIB_CHDIR = @GL_GGL_GNULIB_CHDIR@ +GL_GGL_GNULIB_CHOWN = @GL_GGL_GNULIB_CHOWN@ +GL_GGL_GNULIB_CLOSE = @GL_GGL_GNULIB_CLOSE@ +GL_GGL_GNULIB_CONNECT = @GL_GGL_GNULIB_CONNECT@ +GL_GGL_GNULIB_COPY_FILE_RANGE = @GL_GGL_GNULIB_COPY_FILE_RANGE@ +GL_GGL_GNULIB_CREAT = @GL_GGL_GNULIB_CREAT@ +GL_GGL_GNULIB_CTIME = @GL_GGL_GNULIB_CTIME@ +GL_GGL_GNULIB_DPRINTF = @GL_GGL_GNULIB_DPRINTF@ +GL_GGL_GNULIB_DUP = @GL_GGL_GNULIB_DUP@ +GL_GGL_GNULIB_DUP2 = @GL_GGL_GNULIB_DUP2@ +GL_GGL_GNULIB_DUP3 = @GL_GGL_GNULIB_DUP3@ +GL_GGL_GNULIB_DUPLOCALE = @GL_GGL_GNULIB_DUPLOCALE@ +GL_GGL_GNULIB_ENVIRON = @GL_GGL_GNULIB_ENVIRON@ +GL_GGL_GNULIB_EUIDACCESS = @GL_GGL_GNULIB_EUIDACCESS@ +GL_GGL_GNULIB_EXECL = @GL_GGL_GNULIB_EXECL@ +GL_GGL_GNULIB_EXECLE = @GL_GGL_GNULIB_EXECLE@ +GL_GGL_GNULIB_EXECLP = @GL_GGL_GNULIB_EXECLP@ +GL_GGL_GNULIB_EXECV = @GL_GGL_GNULIB_EXECV@ +GL_GGL_GNULIB_EXECVE = @GL_GGL_GNULIB_EXECVE@ +GL_GGL_GNULIB_EXECVP = @GL_GGL_GNULIB_EXECVP@ +GL_GGL_GNULIB_EXECVPE = @GL_GGL_GNULIB_EXECVPE@ +GL_GGL_GNULIB_EXPLICIT_BZERO = @GL_GGL_GNULIB_EXPLICIT_BZERO@ +GL_GGL_GNULIB_FACCESSAT = @GL_GGL_GNULIB_FACCESSAT@ +GL_GGL_GNULIB_FCHDIR = @GL_GGL_GNULIB_FCHDIR@ +GL_GGL_GNULIB_FCHMODAT = @GL_GGL_GNULIB_FCHMODAT@ +GL_GGL_GNULIB_FCHOWNAT = @GL_GGL_GNULIB_FCHOWNAT@ +GL_GGL_GNULIB_FCLOSE = @GL_GGL_GNULIB_FCLOSE@ +GL_GGL_GNULIB_FCNTL = @GL_GGL_GNULIB_FCNTL@ +GL_GGL_GNULIB_FDATASYNC = @GL_GGL_GNULIB_FDATASYNC@ +GL_GGL_GNULIB_FDOPEN = @GL_GGL_GNULIB_FDOPEN@ +GL_GGL_GNULIB_FFLUSH = @GL_GGL_GNULIB_FFLUSH@ +GL_GGL_GNULIB_FFS = @GL_GGL_GNULIB_FFS@ +GL_GGL_GNULIB_FFSL = @GL_GGL_GNULIB_FFSL@ +GL_GGL_GNULIB_FFSLL = @GL_GGL_GNULIB_FFSLL@ +GL_GGL_GNULIB_FGETC = @GL_GGL_GNULIB_FGETC@ +GL_GGL_GNULIB_FGETS = @GL_GGL_GNULIB_FGETS@ +GL_GGL_GNULIB_FOPEN = @GL_GGL_GNULIB_FOPEN@ +GL_GGL_GNULIB_FPRINTF = @GL_GGL_GNULIB_FPRINTF@ +GL_GGL_GNULIB_FPRINTF_POSIX = @GL_GGL_GNULIB_FPRINTF_POSIX@ +GL_GGL_GNULIB_FPURGE = @GL_GGL_GNULIB_FPURGE@ +GL_GGL_GNULIB_FPUTC = @GL_GGL_GNULIB_FPUTC@ +GL_GGL_GNULIB_FPUTS = @GL_GGL_GNULIB_FPUTS@ +GL_GGL_GNULIB_FREAD = @GL_GGL_GNULIB_FREAD@ +GL_GGL_GNULIB_FREE_POSIX = @GL_GGL_GNULIB_FREE_POSIX@ +GL_GGL_GNULIB_FREOPEN = @GL_GGL_GNULIB_FREOPEN@ +GL_GGL_GNULIB_FSCANF = @GL_GGL_GNULIB_FSCANF@ +GL_GGL_GNULIB_FSEEK = @GL_GGL_GNULIB_FSEEK@ +GL_GGL_GNULIB_FSEEKO = @GL_GGL_GNULIB_FSEEKO@ +GL_GGL_GNULIB_FSTAT = @GL_GGL_GNULIB_FSTAT@ +GL_GGL_GNULIB_FSTATAT = @GL_GGL_GNULIB_FSTATAT@ +GL_GGL_GNULIB_FSYNC = @GL_GGL_GNULIB_FSYNC@ +GL_GGL_GNULIB_FTELL = @GL_GGL_GNULIB_FTELL@ +GL_GGL_GNULIB_FTELLO = @GL_GGL_GNULIB_FTELLO@ +GL_GGL_GNULIB_FTRUNCATE = @GL_GGL_GNULIB_FTRUNCATE@ +GL_GGL_GNULIB_FUTIMENS = @GL_GGL_GNULIB_FUTIMENS@ +GL_GGL_GNULIB_FWRITE = @GL_GGL_GNULIB_FWRITE@ +GL_GGL_GNULIB_GETADDRINFO = @GL_GGL_GNULIB_GETADDRINFO@ +GL_GGL_GNULIB_GETC = @GL_GGL_GNULIB_GETC@ +GL_GGL_GNULIB_GETCHAR = @GL_GGL_GNULIB_GETCHAR@ +GL_GGL_GNULIB_GETCWD = @GL_GGL_GNULIB_GETCWD@ +GL_GGL_GNULIB_GETDELIM = @GL_GGL_GNULIB_GETDELIM@ +GL_GGL_GNULIB_GETDOMAINNAME = @GL_GGL_GNULIB_GETDOMAINNAME@ +GL_GGL_GNULIB_GETDTABLESIZE = @GL_GGL_GNULIB_GETDTABLESIZE@ +GL_GGL_GNULIB_GETENTROPY = @GL_GGL_GNULIB_GETENTROPY@ +GL_GGL_GNULIB_GETGROUPS = @GL_GGL_GNULIB_GETGROUPS@ +GL_GGL_GNULIB_GETHOSTNAME = @GL_GGL_GNULIB_GETHOSTNAME@ +GL_GGL_GNULIB_GETLINE = @GL_GGL_GNULIB_GETLINE@ +GL_GGL_GNULIB_GETLOADAVG = @GL_GGL_GNULIB_GETLOADAVG@ +GL_GGL_GNULIB_GETLOGIN = @GL_GGL_GNULIB_GETLOGIN@ +GL_GGL_GNULIB_GETLOGIN_R = @GL_GGL_GNULIB_GETLOGIN_R@ +GL_GGL_GNULIB_GETOPT_POSIX = @GL_GGL_GNULIB_GETOPT_POSIX@ +GL_GGL_GNULIB_GETPAGESIZE = @GL_GGL_GNULIB_GETPAGESIZE@ +GL_GGL_GNULIB_GETPASS = @GL_GGL_GNULIB_GETPASS@ +GL_GGL_GNULIB_GETPEERNAME = @GL_GGL_GNULIB_GETPEERNAME@ +GL_GGL_GNULIB_GETSOCKNAME = @GL_GGL_GNULIB_GETSOCKNAME@ +GL_GGL_GNULIB_GETSOCKOPT = @GL_GGL_GNULIB_GETSOCKOPT@ +GL_GGL_GNULIB_GETSUBOPT = @GL_GGL_GNULIB_GETSUBOPT@ +GL_GGL_GNULIB_GETTIMEOFDAY = @GL_GGL_GNULIB_GETTIMEOFDAY@ +GL_GGL_GNULIB_GETUMASK = @GL_GGL_GNULIB_GETUMASK@ +GL_GGL_GNULIB_GETUSERSHELL = @GL_GGL_GNULIB_GETUSERSHELL@ +GL_GGL_GNULIB_GRANTPT = @GL_GGL_GNULIB_GRANTPT@ +GL_GGL_GNULIB_GROUP_MEMBER = @GL_GGL_GNULIB_GROUP_MEMBER@ +GL_GGL_GNULIB_IMAXABS = @GL_GGL_GNULIB_IMAXABS@ +GL_GGL_GNULIB_IMAXDIV = @GL_GGL_GNULIB_IMAXDIV@ +GL_GGL_GNULIB_INET_NTOP = @GL_GGL_GNULIB_INET_NTOP@ +GL_GGL_GNULIB_INET_PTON = @GL_GGL_GNULIB_INET_PTON@ +GL_GGL_GNULIB_IOCTL = @GL_GGL_GNULIB_IOCTL@ +GL_GGL_GNULIB_ISATTY = @GL_GGL_GNULIB_ISATTY@ +GL_GGL_GNULIB_ISBLANK = @GL_GGL_GNULIB_ISBLANK@ +GL_GGL_GNULIB_LCHMOD = @GL_GGL_GNULIB_LCHMOD@ +GL_GGL_GNULIB_LCHOWN = @GL_GGL_GNULIB_LCHOWN@ +GL_GGL_GNULIB_LINK = @GL_GGL_GNULIB_LINK@ +GL_GGL_GNULIB_LINKAT = @GL_GGL_GNULIB_LINKAT@ +GL_GGL_GNULIB_LISTEN = @GL_GGL_GNULIB_LISTEN@ +GL_GGL_GNULIB_LOCALECONV = @GL_GGL_GNULIB_LOCALECONV@ +GL_GGL_GNULIB_LOCALENAME = @GL_GGL_GNULIB_LOCALENAME@ +GL_GGL_GNULIB_LOCALTIME = @GL_GGL_GNULIB_LOCALTIME@ +GL_GGL_GNULIB_LSEEK = @GL_GGL_GNULIB_LSEEK@ +GL_GGL_GNULIB_LSTAT = @GL_GGL_GNULIB_LSTAT@ +GL_GGL_GNULIB_MALLOC_POSIX = @GL_GGL_GNULIB_MALLOC_POSIX@ +GL_GGL_GNULIB_MBRLEN = @GL_GGL_GNULIB_MBRLEN@ +GL_GGL_GNULIB_MBRTOWC = @GL_GGL_GNULIB_MBRTOWC@ +GL_GGL_GNULIB_MBSCASECMP = @GL_GGL_GNULIB_MBSCASECMP@ +GL_GGL_GNULIB_MBSCASESTR = @GL_GGL_GNULIB_MBSCASESTR@ +GL_GGL_GNULIB_MBSCHR = @GL_GGL_GNULIB_MBSCHR@ +GL_GGL_GNULIB_MBSCSPN = @GL_GGL_GNULIB_MBSCSPN@ +GL_GGL_GNULIB_MBSINIT = @GL_GGL_GNULIB_MBSINIT@ +GL_GGL_GNULIB_MBSLEN = @GL_GGL_GNULIB_MBSLEN@ +GL_GGL_GNULIB_MBSNCASECMP = @GL_GGL_GNULIB_MBSNCASECMP@ +GL_GGL_GNULIB_MBSNLEN = @GL_GGL_GNULIB_MBSNLEN@ +GL_GGL_GNULIB_MBSNRTOWCS = @GL_GGL_GNULIB_MBSNRTOWCS@ +GL_GGL_GNULIB_MBSPBRK = @GL_GGL_GNULIB_MBSPBRK@ +GL_GGL_GNULIB_MBSPCASECMP = @GL_GGL_GNULIB_MBSPCASECMP@ +GL_GGL_GNULIB_MBSRCHR = @GL_GGL_GNULIB_MBSRCHR@ +GL_GGL_GNULIB_MBSRTOWCS = @GL_GGL_GNULIB_MBSRTOWCS@ +GL_GGL_GNULIB_MBSSEP = @GL_GGL_GNULIB_MBSSEP@ +GL_GGL_GNULIB_MBSSPN = @GL_GGL_GNULIB_MBSSPN@ +GL_GGL_GNULIB_MBSSTR = @GL_GGL_GNULIB_MBSSTR@ +GL_GGL_GNULIB_MBSTOK_R = @GL_GGL_GNULIB_MBSTOK_R@ +GL_GGL_GNULIB_MBTOWC = @GL_GGL_GNULIB_MBTOWC@ +GL_GGL_GNULIB_MDA_ACCESS = @GL_GGL_GNULIB_MDA_ACCESS@ +GL_GGL_GNULIB_MDA_CHDIR = @GL_GGL_GNULIB_MDA_CHDIR@ +GL_GGL_GNULIB_MDA_CHMOD = @GL_GGL_GNULIB_MDA_CHMOD@ +GL_GGL_GNULIB_MDA_CLOSE = @GL_GGL_GNULIB_MDA_CLOSE@ +GL_GGL_GNULIB_MDA_CREAT = @GL_GGL_GNULIB_MDA_CREAT@ +GL_GGL_GNULIB_MDA_DUP = @GL_GGL_GNULIB_MDA_DUP@ +GL_GGL_GNULIB_MDA_DUP2 = @GL_GGL_GNULIB_MDA_DUP2@ +GL_GGL_GNULIB_MDA_ECVT = @GL_GGL_GNULIB_MDA_ECVT@ +GL_GGL_GNULIB_MDA_EXECL = @GL_GGL_GNULIB_MDA_EXECL@ +GL_GGL_GNULIB_MDA_EXECLE = @GL_GGL_GNULIB_MDA_EXECLE@ +GL_GGL_GNULIB_MDA_EXECLP = @GL_GGL_GNULIB_MDA_EXECLP@ +GL_GGL_GNULIB_MDA_EXECV = @GL_GGL_GNULIB_MDA_EXECV@ +GL_GGL_GNULIB_MDA_EXECVE = @GL_GGL_GNULIB_MDA_EXECVE@ +GL_GGL_GNULIB_MDA_EXECVP = @GL_GGL_GNULIB_MDA_EXECVP@ +GL_GGL_GNULIB_MDA_EXECVPE = @GL_GGL_GNULIB_MDA_EXECVPE@ +GL_GGL_GNULIB_MDA_FCLOSEALL = @GL_GGL_GNULIB_MDA_FCLOSEALL@ +GL_GGL_GNULIB_MDA_FCVT = @GL_GGL_GNULIB_MDA_FCVT@ +GL_GGL_GNULIB_MDA_FDOPEN = @GL_GGL_GNULIB_MDA_FDOPEN@ +GL_GGL_GNULIB_MDA_FILENO = @GL_GGL_GNULIB_MDA_FILENO@ +GL_GGL_GNULIB_MDA_GCVT = @GL_GGL_GNULIB_MDA_GCVT@ +GL_GGL_GNULIB_MDA_GETCWD = @GL_GGL_GNULIB_MDA_GETCWD@ +GL_GGL_GNULIB_MDA_GETPID = @GL_GGL_GNULIB_MDA_GETPID@ +GL_GGL_GNULIB_MDA_GETW = @GL_GGL_GNULIB_MDA_GETW@ +GL_GGL_GNULIB_MDA_ISATTY = @GL_GGL_GNULIB_MDA_ISATTY@ +GL_GGL_GNULIB_MDA_LSEEK = @GL_GGL_GNULIB_MDA_LSEEK@ +GL_GGL_GNULIB_MDA_MEMCCPY = @GL_GGL_GNULIB_MDA_MEMCCPY@ +GL_GGL_GNULIB_MDA_MKDIR = @GL_GGL_GNULIB_MDA_MKDIR@ +GL_GGL_GNULIB_MDA_MKTEMP = @GL_GGL_GNULIB_MDA_MKTEMP@ +GL_GGL_GNULIB_MDA_OPEN = @GL_GGL_GNULIB_MDA_OPEN@ +GL_GGL_GNULIB_MDA_PUTENV = @GL_GGL_GNULIB_MDA_PUTENV@ +GL_GGL_GNULIB_MDA_PUTW = @GL_GGL_GNULIB_MDA_PUTW@ +GL_GGL_GNULIB_MDA_READ = @GL_GGL_GNULIB_MDA_READ@ +GL_GGL_GNULIB_MDA_RMDIR = @GL_GGL_GNULIB_MDA_RMDIR@ +GL_GGL_GNULIB_MDA_STRDUP = @GL_GGL_GNULIB_MDA_STRDUP@ +GL_GGL_GNULIB_MDA_SWAB = @GL_GGL_GNULIB_MDA_SWAB@ +GL_GGL_GNULIB_MDA_TEMPNAM = @GL_GGL_GNULIB_MDA_TEMPNAM@ +GL_GGL_GNULIB_MDA_TZSET = @GL_GGL_GNULIB_MDA_TZSET@ +GL_GGL_GNULIB_MDA_UMASK = @GL_GGL_GNULIB_MDA_UMASK@ +GL_GGL_GNULIB_MDA_UNLINK = @GL_GGL_GNULIB_MDA_UNLINK@ +GL_GGL_GNULIB_MDA_WCSDUP = @GL_GGL_GNULIB_MDA_WCSDUP@ +GL_GGL_GNULIB_MDA_WRITE = @GL_GGL_GNULIB_MDA_WRITE@ +GL_GGL_GNULIB_MEMCHR = @GL_GGL_GNULIB_MEMCHR@ +GL_GGL_GNULIB_MEMMEM = @GL_GGL_GNULIB_MEMMEM@ +GL_GGL_GNULIB_MEMPCPY = @GL_GGL_GNULIB_MEMPCPY@ +GL_GGL_GNULIB_MEMRCHR = @GL_GGL_GNULIB_MEMRCHR@ +GL_GGL_GNULIB_MKDIR = @GL_GGL_GNULIB_MKDIR@ +GL_GGL_GNULIB_MKDIRAT = @GL_GGL_GNULIB_MKDIRAT@ +GL_GGL_GNULIB_MKDTEMP = @GL_GGL_GNULIB_MKDTEMP@ +GL_GGL_GNULIB_MKFIFO = @GL_GGL_GNULIB_MKFIFO@ +GL_GGL_GNULIB_MKFIFOAT = @GL_GGL_GNULIB_MKFIFOAT@ +GL_GGL_GNULIB_MKNOD = @GL_GGL_GNULIB_MKNOD@ +GL_GGL_GNULIB_MKNODAT = @GL_GGL_GNULIB_MKNODAT@ +GL_GGL_GNULIB_MKOSTEMP = @GL_GGL_GNULIB_MKOSTEMP@ +GL_GGL_GNULIB_MKOSTEMPS = @GL_GGL_GNULIB_MKOSTEMPS@ +GL_GGL_GNULIB_MKSTEMP = @GL_GGL_GNULIB_MKSTEMP@ +GL_GGL_GNULIB_MKSTEMPS = @GL_GGL_GNULIB_MKSTEMPS@ +GL_GGL_GNULIB_MKTIME = @GL_GGL_GNULIB_MKTIME@ +GL_GGL_GNULIB_NANOSLEEP = @GL_GGL_GNULIB_NANOSLEEP@ +GL_GGL_GNULIB_NL_LANGINFO = @GL_GGL_GNULIB_NL_LANGINFO@ +GL_GGL_GNULIB_NONBLOCKING = @GL_GGL_GNULIB_NONBLOCKING@ +GL_GGL_GNULIB_OBSTACK_PRINTF = @GL_GGL_GNULIB_OBSTACK_PRINTF@ +GL_GGL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GGL_GNULIB_OBSTACK_PRINTF_POSIX@ +GL_GGL_GNULIB_OPEN = @GL_GGL_GNULIB_OPEN@ +GL_GGL_GNULIB_OPENAT = @GL_GGL_GNULIB_OPENAT@ +GL_GGL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GGL_GNULIB_OVERRIDES_STRUCT_STAT@ +GL_GGL_GNULIB_PCLOSE = @GL_GGL_GNULIB_PCLOSE@ +GL_GGL_GNULIB_PERROR = @GL_GGL_GNULIB_PERROR@ +GL_GGL_GNULIB_PIPE = @GL_GGL_GNULIB_PIPE@ +GL_GGL_GNULIB_PIPE2 = @GL_GGL_GNULIB_PIPE2@ +GL_GGL_GNULIB_POPEN = @GL_GGL_GNULIB_POPEN@ +GL_GGL_GNULIB_POSIX_MEMALIGN = @GL_GGL_GNULIB_POSIX_MEMALIGN@ +GL_GGL_GNULIB_POSIX_OPENPT = @GL_GGL_GNULIB_POSIX_OPENPT@ +GL_GGL_GNULIB_PREAD = @GL_GGL_GNULIB_PREAD@ +GL_GGL_GNULIB_PRINTF = @GL_GGL_GNULIB_PRINTF@ +GL_GGL_GNULIB_PRINTF_POSIX = @GL_GGL_GNULIB_PRINTF_POSIX@ +GL_GGL_GNULIB_PSELECT = @GL_GGL_GNULIB_PSELECT@ +GL_GGL_GNULIB_PTHREAD_COND = @GL_GGL_GNULIB_PTHREAD_COND@ +GL_GGL_GNULIB_PTHREAD_MUTEX = @GL_GGL_GNULIB_PTHREAD_MUTEX@ +GL_GGL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GL_GGL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK@ +GL_GGL_GNULIB_PTHREAD_ONCE = @GL_GGL_GNULIB_PTHREAD_ONCE@ +GL_GGL_GNULIB_PTHREAD_RWLOCK = @GL_GGL_GNULIB_PTHREAD_RWLOCK@ +GL_GGL_GNULIB_PTHREAD_SIGMASK = @GL_GGL_GNULIB_PTHREAD_SIGMASK@ +GL_GGL_GNULIB_PTHREAD_SPIN = @GL_GGL_GNULIB_PTHREAD_SPIN@ +GL_GGL_GNULIB_PTHREAD_THREAD = @GL_GGL_GNULIB_PTHREAD_THREAD@ +GL_GGL_GNULIB_PTHREAD_TSS = @GL_GGL_GNULIB_PTHREAD_TSS@ +GL_GGL_GNULIB_PTSNAME = @GL_GGL_GNULIB_PTSNAME@ +GL_GGL_GNULIB_PTSNAME_R = @GL_GGL_GNULIB_PTSNAME_R@ +GL_GGL_GNULIB_PUTC = @GL_GGL_GNULIB_PUTC@ +GL_GGL_GNULIB_PUTCHAR = @GL_GGL_GNULIB_PUTCHAR@ +GL_GGL_GNULIB_PUTENV = @GL_GGL_GNULIB_PUTENV@ +GL_GGL_GNULIB_PUTS = @GL_GGL_GNULIB_PUTS@ +GL_GGL_GNULIB_PWRITE = @GL_GGL_GNULIB_PWRITE@ +GL_GGL_GNULIB_QSORT_R = @GL_GGL_GNULIB_QSORT_R@ +GL_GGL_GNULIB_RAISE = @GL_GGL_GNULIB_RAISE@ +GL_GGL_GNULIB_RANDOM = @GL_GGL_GNULIB_RANDOM@ +GL_GGL_GNULIB_RANDOM_R = @GL_GGL_GNULIB_RANDOM_R@ +GL_GGL_GNULIB_RAWMEMCHR = @GL_GGL_GNULIB_RAWMEMCHR@ +GL_GGL_GNULIB_READ = @GL_GGL_GNULIB_READ@ +GL_GGL_GNULIB_READLINK = @GL_GGL_GNULIB_READLINK@ +GL_GGL_GNULIB_READLINKAT = @GL_GGL_GNULIB_READLINKAT@ +GL_GGL_GNULIB_REALLOCARRAY = @GL_GGL_GNULIB_REALLOCARRAY@ +GL_GGL_GNULIB_REALLOC_POSIX = @GL_GGL_GNULIB_REALLOC_POSIX@ +GL_GGL_GNULIB_REALPATH = @GL_GGL_GNULIB_REALPATH@ +GL_GGL_GNULIB_RECV = @GL_GGL_GNULIB_RECV@ +GL_GGL_GNULIB_RECVFROM = @GL_GGL_GNULIB_RECVFROM@ +GL_GGL_GNULIB_REMOVE = @GL_GGL_GNULIB_REMOVE@ +GL_GGL_GNULIB_RENAME = @GL_GGL_GNULIB_RENAME@ +GL_GGL_GNULIB_RENAMEAT = @GL_GGL_GNULIB_RENAMEAT@ +GL_GGL_GNULIB_RMDIR = @GL_GGL_GNULIB_RMDIR@ +GL_GGL_GNULIB_RPMATCH = @GL_GGL_GNULIB_RPMATCH@ +GL_GGL_GNULIB_SCANF = @GL_GGL_GNULIB_SCANF@ +GL_GGL_GNULIB_SCHED_YIELD = @GL_GGL_GNULIB_SCHED_YIELD@ +GL_GGL_GNULIB_SECURE_GETENV = @GL_GGL_GNULIB_SECURE_GETENV@ +GL_GGL_GNULIB_SELECT = @GL_GGL_GNULIB_SELECT@ +GL_GGL_GNULIB_SEND = @GL_GGL_GNULIB_SEND@ +GL_GGL_GNULIB_SENDTO = @GL_GGL_GNULIB_SENDTO@ +GL_GGL_GNULIB_SETENV = @GL_GGL_GNULIB_SETENV@ +GL_GGL_GNULIB_SETHOSTNAME = @GL_GGL_GNULIB_SETHOSTNAME@ +GL_GGL_GNULIB_SETLOCALE = @GL_GGL_GNULIB_SETLOCALE@ +GL_GGL_GNULIB_SETLOCALE_NULL = @GL_GGL_GNULIB_SETLOCALE_NULL@ +GL_GGL_GNULIB_SETSOCKOPT = @GL_GGL_GNULIB_SETSOCKOPT@ +GL_GGL_GNULIB_SHUTDOWN = @GL_GGL_GNULIB_SHUTDOWN@ +GL_GGL_GNULIB_SIGABBREV_NP = @GL_GGL_GNULIB_SIGABBREV_NP@ +GL_GGL_GNULIB_SIGACTION = @GL_GGL_GNULIB_SIGACTION@ +GL_GGL_GNULIB_SIGDESCR_NP = @GL_GGL_GNULIB_SIGDESCR_NP@ +GL_GGL_GNULIB_SIGNAL_H_SIGPIPE = @GL_GGL_GNULIB_SIGNAL_H_SIGPIPE@ +GL_GGL_GNULIB_SIGPROCMASK = @GL_GGL_GNULIB_SIGPROCMASK@ +GL_GGL_GNULIB_SLEEP = @GL_GGL_GNULIB_SLEEP@ +GL_GGL_GNULIB_SNPRINTF = @GL_GGL_GNULIB_SNPRINTF@ +GL_GGL_GNULIB_SOCKET = @GL_GGL_GNULIB_SOCKET@ +GL_GGL_GNULIB_SPRINTF_POSIX = @GL_GGL_GNULIB_SPRINTF_POSIX@ +GL_GGL_GNULIB_STAT = @GL_GGL_GNULIB_STAT@ +GL_GGL_GNULIB_STDIO_H_NONBLOCKING = @GL_GGL_GNULIB_STDIO_H_NONBLOCKING@ +GL_GGL_GNULIB_STDIO_H_SIGPIPE = @GL_GGL_GNULIB_STDIO_H_SIGPIPE@ +GL_GGL_GNULIB_STPCPY = @GL_GGL_GNULIB_STPCPY@ +GL_GGL_GNULIB_STPNCPY = @GL_GGL_GNULIB_STPNCPY@ +GL_GGL_GNULIB_STRCASESTR = @GL_GGL_GNULIB_STRCASESTR@ +GL_GGL_GNULIB_STRCHRNUL = @GL_GGL_GNULIB_STRCHRNUL@ +GL_GGL_GNULIB_STRDUP = @GL_GGL_GNULIB_STRDUP@ +GL_GGL_GNULIB_STRERROR = @GL_GGL_GNULIB_STRERROR@ +GL_GGL_GNULIB_STRERRORNAME_NP = @GL_GGL_GNULIB_STRERRORNAME_NP@ +GL_GGL_GNULIB_STRERROR_R = @GL_GGL_GNULIB_STRERROR_R@ +GL_GGL_GNULIB_STRFTIME = @GL_GGL_GNULIB_STRFTIME@ +GL_GGL_GNULIB_STRNCAT = @GL_GGL_GNULIB_STRNCAT@ +GL_GGL_GNULIB_STRNDUP = @GL_GGL_GNULIB_STRNDUP@ +GL_GGL_GNULIB_STRNLEN = @GL_GGL_GNULIB_STRNLEN@ +GL_GGL_GNULIB_STRPBRK = @GL_GGL_GNULIB_STRPBRK@ +GL_GGL_GNULIB_STRPTIME = @GL_GGL_GNULIB_STRPTIME@ +GL_GGL_GNULIB_STRSEP = @GL_GGL_GNULIB_STRSEP@ +GL_GGL_GNULIB_STRSIGNAL = @GL_GGL_GNULIB_STRSIGNAL@ +GL_GGL_GNULIB_STRSTR = @GL_GGL_GNULIB_STRSTR@ +GL_GGL_GNULIB_STRTOD = @GL_GGL_GNULIB_STRTOD@ +GL_GGL_GNULIB_STRTOIMAX = @GL_GGL_GNULIB_STRTOIMAX@ +GL_GGL_GNULIB_STRTOK_R = @GL_GGL_GNULIB_STRTOK_R@ +GL_GGL_GNULIB_STRTOL = @GL_GGL_GNULIB_STRTOL@ +GL_GGL_GNULIB_STRTOLD = @GL_GGL_GNULIB_STRTOLD@ +GL_GGL_GNULIB_STRTOLL = @GL_GGL_GNULIB_STRTOLL@ +GL_GGL_GNULIB_STRTOUL = @GL_GGL_GNULIB_STRTOUL@ +GL_GGL_GNULIB_STRTOULL = @GL_GGL_GNULIB_STRTOULL@ +GL_GGL_GNULIB_STRTOUMAX = @GL_GGL_GNULIB_STRTOUMAX@ +GL_GGL_GNULIB_STRVERSCMP = @GL_GGL_GNULIB_STRVERSCMP@ +GL_GGL_GNULIB_SYMLINK = @GL_GGL_GNULIB_SYMLINK@ +GL_GGL_GNULIB_SYMLINKAT = @GL_GGL_GNULIB_SYMLINKAT@ +GL_GGL_GNULIB_SYSTEM_POSIX = @GL_GGL_GNULIB_SYSTEM_POSIX@ +GL_GGL_GNULIB_TIMEGM = @GL_GGL_GNULIB_TIMEGM@ +GL_GGL_GNULIB_TIMESPEC_GET = @GL_GGL_GNULIB_TIMESPEC_GET@ +GL_GGL_GNULIB_TIME_R = @GL_GGL_GNULIB_TIME_R@ +GL_GGL_GNULIB_TIME_RZ = @GL_GGL_GNULIB_TIME_RZ@ +GL_GGL_GNULIB_TMPFILE = @GL_GGL_GNULIB_TMPFILE@ +GL_GGL_GNULIB_TRUNCATE = @GL_GGL_GNULIB_TRUNCATE@ +GL_GGL_GNULIB_TTYNAME_R = @GL_GGL_GNULIB_TTYNAME_R@ +GL_GGL_GNULIB_TZSET = @GL_GGL_GNULIB_TZSET@ +GL_GGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GGL_GNULIB_UNISTD_H_NONBLOCKING@ +GL_GGL_GNULIB_UNISTD_H_SIGPIPE = @GL_GGL_GNULIB_UNISTD_H_SIGPIPE@ +GL_GGL_GNULIB_UNLINK = @GL_GGL_GNULIB_UNLINK@ +GL_GGL_GNULIB_UNLINKAT = @GL_GGL_GNULIB_UNLINKAT@ +GL_GGL_GNULIB_UNLOCKPT = @GL_GGL_GNULIB_UNLOCKPT@ +GL_GGL_GNULIB_UNSETENV = @GL_GGL_GNULIB_UNSETENV@ +GL_GGL_GNULIB_USLEEP = @GL_GGL_GNULIB_USLEEP@ +GL_GGL_GNULIB_UTIMENSAT = @GL_GGL_GNULIB_UTIMENSAT@ +GL_GGL_GNULIB_VASPRINTF = @GL_GGL_GNULIB_VASPRINTF@ +GL_GGL_GNULIB_VDPRINTF = @GL_GGL_GNULIB_VDPRINTF@ +GL_GGL_GNULIB_VFPRINTF = @GL_GGL_GNULIB_VFPRINTF@ +GL_GGL_GNULIB_VFPRINTF_POSIX = @GL_GGL_GNULIB_VFPRINTF_POSIX@ +GL_GGL_GNULIB_VFSCANF = @GL_GGL_GNULIB_VFSCANF@ +GL_GGL_GNULIB_VPRINTF = @GL_GGL_GNULIB_VPRINTF@ +GL_GGL_GNULIB_VPRINTF_POSIX = @GL_GGL_GNULIB_VPRINTF_POSIX@ +GL_GGL_GNULIB_VSCANF = @GL_GGL_GNULIB_VSCANF@ +GL_GGL_GNULIB_VSNPRINTF = @GL_GGL_GNULIB_VSNPRINTF@ +GL_GGL_GNULIB_VSPRINTF_POSIX = @GL_GGL_GNULIB_VSPRINTF_POSIX@ +GL_GGL_GNULIB_WCPCPY = @GL_GGL_GNULIB_WCPCPY@ +GL_GGL_GNULIB_WCPNCPY = @GL_GGL_GNULIB_WCPNCPY@ +GL_GGL_GNULIB_WCRTOMB = @GL_GGL_GNULIB_WCRTOMB@ +GL_GGL_GNULIB_WCSCASECMP = @GL_GGL_GNULIB_WCSCASECMP@ +GL_GGL_GNULIB_WCSCAT = @GL_GGL_GNULIB_WCSCAT@ +GL_GGL_GNULIB_WCSCHR = @GL_GGL_GNULIB_WCSCHR@ +GL_GGL_GNULIB_WCSCMP = @GL_GGL_GNULIB_WCSCMP@ +GL_GGL_GNULIB_WCSCOLL = @GL_GGL_GNULIB_WCSCOLL@ +GL_GGL_GNULIB_WCSCPY = @GL_GGL_GNULIB_WCSCPY@ +GL_GGL_GNULIB_WCSCSPN = @GL_GGL_GNULIB_WCSCSPN@ +GL_GGL_GNULIB_WCSDUP = @GL_GGL_GNULIB_WCSDUP@ +GL_GGL_GNULIB_WCSFTIME = @GL_GGL_GNULIB_WCSFTIME@ +GL_GGL_GNULIB_WCSLEN = @GL_GGL_GNULIB_WCSLEN@ +GL_GGL_GNULIB_WCSNCASECMP = @GL_GGL_GNULIB_WCSNCASECMP@ +GL_GGL_GNULIB_WCSNCAT = @GL_GGL_GNULIB_WCSNCAT@ +GL_GGL_GNULIB_WCSNCMP = @GL_GGL_GNULIB_WCSNCMP@ +GL_GGL_GNULIB_WCSNCPY = @GL_GGL_GNULIB_WCSNCPY@ +GL_GGL_GNULIB_WCSNLEN = @GL_GGL_GNULIB_WCSNLEN@ +GL_GGL_GNULIB_WCSNRTOMBS = @GL_GGL_GNULIB_WCSNRTOMBS@ +GL_GGL_GNULIB_WCSPBRK = @GL_GGL_GNULIB_WCSPBRK@ +GL_GGL_GNULIB_WCSRCHR = @GL_GGL_GNULIB_WCSRCHR@ +GL_GGL_GNULIB_WCSRTOMBS = @GL_GGL_GNULIB_WCSRTOMBS@ +GL_GGL_GNULIB_WCSSPN = @GL_GGL_GNULIB_WCSSPN@ +GL_GGL_GNULIB_WCSSTR = @GL_GGL_GNULIB_WCSSTR@ +GL_GGL_GNULIB_WCSTOK = @GL_GGL_GNULIB_WCSTOK@ +GL_GGL_GNULIB_WCSWIDTH = @GL_GGL_GNULIB_WCSWIDTH@ +GL_GGL_GNULIB_WCSXFRM = @GL_GGL_GNULIB_WCSXFRM@ +GL_GGL_GNULIB_WCTOB = @GL_GGL_GNULIB_WCTOB@ +GL_GGL_GNULIB_WCTOMB = @GL_GGL_GNULIB_WCTOMB@ +GL_GGL_GNULIB_WCWIDTH = @GL_GGL_GNULIB_WCWIDTH@ +GL_GGL_GNULIB_WMEMCHR = @GL_GGL_GNULIB_WMEMCHR@ +GL_GGL_GNULIB_WMEMCMP = @GL_GGL_GNULIB_WMEMCMP@ +GL_GGL_GNULIB_WMEMCPY = @GL_GGL_GNULIB_WMEMCPY@ +GL_GGL_GNULIB_WMEMMOVE = @GL_GGL_GNULIB_WMEMMOVE@ +GL_GGL_GNULIB_WMEMPCPY = @GL_GGL_GNULIB_WMEMPCPY@ +GL_GGL_GNULIB_WMEMSET = @GL_GGL_GNULIB_WMEMSET@ +GL_GGL_GNULIB_WRITE = @GL_GGL_GNULIB_WRITE@ +GL_GGL_GNULIB__EXIT = @GL_GGL_GNULIB__EXIT@ +GL_GNULIB_ACCEPT = @GL_GNULIB_ACCEPT@ +GL_GNULIB_ACCEPT4 = @GL_GNULIB_ACCEPT4@ +GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@ +GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@ +GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@ +GL_GNULIB_BIND = @GL_GNULIB_BIND@ +GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@ +GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@ +GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@ +GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@ +GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@ +GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@ +GL_GNULIB_CONNECT = @GL_GNULIB_CONNECT@ +GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@ +GL_GNULIB_CREAT = @GL_GNULIB_CREAT@ +GL_GNULIB_CTIME = @GL_GNULIB_CTIME@ +GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@ +GL_GNULIB_DUP = @GL_GNULIB_DUP@ +GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@ +GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@ +GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@ +GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@ +GL_GNULIB_EXECL = @GL_GNULIB_EXECL@ +GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@ +GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@ +GL_GNULIB_EXECV = @GL_GNULIB_EXECV@ +GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@ +GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@ +GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@ +GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@ +GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@ +GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@ +GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@ +GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@ +GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@ +GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@ +GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@ +GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@ +GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@ +GL_GNULIB_FFS = @GL_GNULIB_FFS@ +GL_GNULIB_FFSL = @GL_GNULIB_FFSL@ +GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@ +GL_GNULIB_FGETC = @GL_GNULIB_FGETC@ +GL_GNULIB_FGETS = @GL_GNULIB_FGETS@ +GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@ +GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@ +GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@ +GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@ +GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@ +GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@ +GL_GNULIB_FREAD = @GL_GNULIB_FREAD@ +GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@ +GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@ +GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@ +GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@ +GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@ +GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@ +GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@ +GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@ +GL_GNULIB_FTELL = @GL_GNULIB_FTELL@ +GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@ +GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@ +GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@ +GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@ +GL_GNULIB_GETADDRINFO = @GL_GNULIB_GETADDRINFO@ +GL_GNULIB_GETC = @GL_GNULIB_GETC@ +GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@ +GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@ +GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@ +GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@ +GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@ +GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@ +GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@ +GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@ +GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@ +GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@ +GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@ +GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@ +GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ +GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ +GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ +GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@ +GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@ +GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@ +GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ +GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ +GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ +GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@ +GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@ +GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@ +GL_GNULIB_IMAXABS = @GL_GNULIB_IMAXABS@ +GL_GNULIB_IMAXDIV = @GL_GNULIB_IMAXDIV@ +GL_GNULIB_INET_NTOP = @GL_GNULIB_INET_NTOP@ +GL_GNULIB_INET_PTON = @GL_GNULIB_INET_PTON@ +GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ +GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ +GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ +GL_GNULIB_LINK = @GL_GNULIB_LINK@ +GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@ +GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@ +GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@ +GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@ +GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@ +GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@ +GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@ +GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@ +GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@ +GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@ +GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@ +GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@ +GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@ +GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@ +GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@ +GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@ +GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@ +GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@ +GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@ +GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@ +GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@ +GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ +GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ +GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ +GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ +GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ +GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ +GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@ +GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@ +GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@ +GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@ +GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@ +GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@ +GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@ +GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@ +GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@ +GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@ +GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@ +GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@ +GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@ +GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@ +GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@ +GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@ +GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@ +GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@ +GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@ +GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@ +GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@ +GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@ +GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@ +GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@ +GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@ +GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@ +GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@ +GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@ +GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@ +GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@ +GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@ +GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@ +GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@ +GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@ +GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@ +GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@ +GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@ +GL_GNULIB_MDA_WCSDUP = @GL_GNULIB_MDA_WCSDUP@ +GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@ +GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ +GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ +GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ +GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ +GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ +GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ +GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@ +GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@ +GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@ +GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@ +GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@ +GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@ +GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@ +GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@ +GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@ +GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@ +GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@ +GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@ +GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@ +GL_GNULIB_OPEN = @GL_GNULIB_OPEN@ +GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@ +GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@ +GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@ +GL_GNULIB_PERROR = @GL_GNULIB_PERROR@ +GL_GNULIB_PIPE = @GL_GNULIB_PIPE@ +GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@ +GL_GNULIB_POPEN = @GL_GNULIB_POPEN@ +GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@ +GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@ +GL_GNULIB_PREAD = @GL_GNULIB_PREAD@ +GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@ +GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@ +GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@ +GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@ +GL_GNULIB_PUTC = @GL_GNULIB_PUTC@ +GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@ +GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ +GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ +GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ +GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ +GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ +GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ +GL_GNULIB_READ = @GL_GNULIB_READ@ +GL_GNULIB_READLINK = @GL_GNULIB_READLINK@ +GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@ +GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@ +GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@ +GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@ +GL_GNULIB_RECV = @GL_GNULIB_RECV@ +GL_GNULIB_RECVFROM = @GL_GNULIB_RECVFROM@ +GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@ +GL_GNULIB_RENAME = @GL_GNULIB_RENAME@ +GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@ +GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@ +GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@ +GL_GNULIB_SCANF = @GL_GNULIB_SCANF@ +GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@ +GL_GNULIB_SEND = @GL_GNULIB_SEND@ +GL_GNULIB_SENDTO = @GL_GNULIB_SENDTO@ +GL_GNULIB_SETENV = @GL_GNULIB_SETENV@ +GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@ +GL_GNULIB_SETSOCKOPT = @GL_GNULIB_SETSOCKOPT@ +GL_GNULIB_SHUTDOWN = @GL_GNULIB_SHUTDOWN@ +GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@ +GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@ +GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@ +GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@ +GL_GNULIB_SOCKET = @GL_GNULIB_SOCKET@ +GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@ +GL_GNULIB_STAT = @GL_GNULIB_STAT@ +GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@ +GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@ +GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@ +GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@ +GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@ +GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@ +GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@ +GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@ +GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@ +GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@ +GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@ +GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@ +GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@ +GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@ +GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@ +GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@ +GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@ +GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@ +GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@ +GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@ +GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@ +GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@ +GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@ +GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@ +GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@ +GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@ +GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@ +GL_GNULIB_STRTOUMAX = @GL_GNULIB_STRTOUMAX@ +GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ +GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ +GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ +GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ +GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ +GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@ +GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@ +GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@ +GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@ +GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@ +GL_GNULIB_TZSET = @GL_GNULIB_TZSET@ +GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@ +GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@ +GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@ +GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@ +GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@ +GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@ +GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@ +GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@ +GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@ +GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@ +GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@ +GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@ +GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@ +GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@ +GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@ +GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@ +GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@ +GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@ +GL_GNULIB_WCPCPY = @GL_GNULIB_WCPCPY@ +GL_GNULIB_WCPNCPY = @GL_GNULIB_WCPNCPY@ +GL_GNULIB_WCRTOMB = @GL_GNULIB_WCRTOMB@ +GL_GNULIB_WCSCASECMP = @GL_GNULIB_WCSCASECMP@ +GL_GNULIB_WCSCAT = @GL_GNULIB_WCSCAT@ +GL_GNULIB_WCSCHR = @GL_GNULIB_WCSCHR@ +GL_GNULIB_WCSCMP = @GL_GNULIB_WCSCMP@ +GL_GNULIB_WCSCOLL = @GL_GNULIB_WCSCOLL@ +GL_GNULIB_WCSCPY = @GL_GNULIB_WCSCPY@ +GL_GNULIB_WCSCSPN = @GL_GNULIB_WCSCSPN@ +GL_GNULIB_WCSDUP = @GL_GNULIB_WCSDUP@ +GL_GNULIB_WCSFTIME = @GL_GNULIB_WCSFTIME@ +GL_GNULIB_WCSLEN = @GL_GNULIB_WCSLEN@ +GL_GNULIB_WCSNCASECMP = @GL_GNULIB_WCSNCASECMP@ +GL_GNULIB_WCSNCAT = @GL_GNULIB_WCSNCAT@ +GL_GNULIB_WCSNCMP = @GL_GNULIB_WCSNCMP@ +GL_GNULIB_WCSNCPY = @GL_GNULIB_WCSNCPY@ +GL_GNULIB_WCSNLEN = @GL_GNULIB_WCSNLEN@ +GL_GNULIB_WCSNRTOMBS = @GL_GNULIB_WCSNRTOMBS@ +GL_GNULIB_WCSPBRK = @GL_GNULIB_WCSPBRK@ +GL_GNULIB_WCSRCHR = @GL_GNULIB_WCSRCHR@ +GL_GNULIB_WCSRTOMBS = @GL_GNULIB_WCSRTOMBS@ +GL_GNULIB_WCSSPN = @GL_GNULIB_WCSSPN@ +GL_GNULIB_WCSSTR = @GL_GNULIB_WCSSTR@ +GL_GNULIB_WCSTOK = @GL_GNULIB_WCSTOK@ +GL_GNULIB_WCSWIDTH = @GL_GNULIB_WCSWIDTH@ +GL_GNULIB_WCSXFRM = @GL_GNULIB_WCSXFRM@ +GL_GNULIB_WCTOB = @GL_GNULIB_WCTOB@ +GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ +GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ +GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ +GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ +GL_GNULIB_WMEMMOVE = @GL_GNULIB_WMEMMOVE@ +GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@ +GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@ +GL_GNULIB_WRITE = @GL_GNULIB_WRITE@ +GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ +GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ +GNUTLS_LIBS_PRIVATE = @GNUTLS_LIBS_PRIVATE@ +GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ +GPERF = @GPERF@ +GREP = @GREP@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ +GTKDOC_MKPDF = @GTKDOC_MKPDF@ +GTKDOC_REBASE = @GTKDOC_REBASE@ +GUILD = @GUILD@ +GUILE = @GUILE@ +GUILE_CFLAGS = @GUILE_CFLAGS@ +GUILE_CONFIG = @GUILE_CONFIG@ +GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ +GUILE_EXTENSION = @GUILE_EXTENSION@ +GUILE_LDFLAGS = @GUILE_LDFLAGS@ +GUILE_LIBS = @GUILE_LIBS@ +GUILE_LTLIBS = @GUILE_LTLIBS@ +GUILE_SITE = @GUILE_SITE@ +GUILE_SITE_CCACHE = @GUILE_SITE_CCACHE@ +GUILE_TOOLS = @GUILE_TOOLS@ +HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ +HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ +HAVE_ATOLL = @HAVE_ATOLL@ +HAVE_BTOWC = @HAVE_BTOWC@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ +HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ +HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ +HAVE_DECL_ECVT = @HAVE_DECL_ECVT@ +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@ +HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@ +HAVE_DECL_FCVT = @HAVE_DECL_FCVT@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ +HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ +HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ +HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ +HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ +HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ +HAVE_DECL_GCVT = @HAVE_DECL_GCVT@ +HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ +HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ +HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ +HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ +HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ +HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ +HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ +HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ +HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ +HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ +HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ +HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ +HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@ +HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DPRINTF = @HAVE_DPRINTF@ +HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ +HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXECVPE = @HAVE_EXECVPE@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ +HAVE_FACCESSAT = @HAVE_FACCESSAT@ +HAVE_FCHDIR = @HAVE_FCHDIR@ +HAVE_FCHMODAT = @HAVE_FCHMODAT@ +HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ +HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ +HAVE_FSEEKO = @HAVE_FSEEKO@ +HAVE_FSTATAT = @HAVE_FSTATAT@ +HAVE_FSYNC = @HAVE_FSYNC@ +HAVE_FTELLO = @HAVE_FTELLO@ +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ +HAVE_FUTIMENS = @HAVE_FUTIMENS@ +HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ +HAVE_GETENTROPY = @HAVE_GETENTROPY@ +HAVE_GETGROUPS = @HAVE_GETGROUPS@ +HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ +HAVE_GETLOGIN = @HAVE_GETLOGIN@ +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ +HAVE_GETUMASK = @HAVE_GETUMASK@ +HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ +HAVE_INITSTATE = @HAVE_INITSTATE@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_ISBLANK = @HAVE_ISBLANK@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ +HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ +HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ +HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ +HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@ +HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@ +HAVE_LCHMOD = @HAVE_LCHMOD@ +HAVE_LCHOWN = @HAVE_LCHOWN@ +HAVE_LIBCRYPTO = @HAVE_LIBCRYPTO@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBEV = @HAVE_LIBEV@ +HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ +HAVE_LIBSECCOMP = @HAVE_LIBSECCOMP@ +HAVE_LIBZ = @HAVE_LIBZ@ +HAVE_LINK = @HAVE_LINK@ +HAVE_LINKAT = @HAVE_LINKAT@ +HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ +HAVE_MBRLEN = @HAVE_MBRLEN@ +HAVE_MBRTOWC = @HAVE_MBRTOWC@ +HAVE_MBSINIT = @HAVE_MBSINIT@ +HAVE_MBSLEN = @HAVE_MBSLEN@ +HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ +HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDIRAT = @HAVE_MKDIRAT@ +HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_MKFIFO = @HAVE_MKFIFO@ +HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ +HAVE_MKNOD = @HAVE_MKNOD@ +HAVE_MKNODAT = @HAVE_MKNODAT@ +HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ +HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ +HAVE_MKSTEMP = @HAVE_MKSTEMP@ +HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ +HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ +HAVE_NETDB_H = @HAVE_NETDB_H@ +HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ +HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ +HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ +HAVE_PIPE = @HAVE_PIPE@ +HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ +HAVE_PREAD = @HAVE_PREAD@ +HAVE_PSELECT = @HAVE_PSELECT@ +HAVE_PTHREAD_ATTR_DESTROY = @HAVE_PTHREAD_ATTR_DESTROY@ +HAVE_PTHREAD_ATTR_GETDETACHSTATE = @HAVE_PTHREAD_ATTR_GETDETACHSTATE@ +HAVE_PTHREAD_ATTR_INIT = @HAVE_PTHREAD_ATTR_INIT@ +HAVE_PTHREAD_ATTR_SETDETACHSTATE = @HAVE_PTHREAD_ATTR_SETDETACHSTATE@ +HAVE_PTHREAD_CONDATTR_DESTROY = @HAVE_PTHREAD_CONDATTR_DESTROY@ +HAVE_PTHREAD_CONDATTR_INIT = @HAVE_PTHREAD_CONDATTR_INIT@ +HAVE_PTHREAD_COND_BROADCAST = @HAVE_PTHREAD_COND_BROADCAST@ +HAVE_PTHREAD_COND_DESTROY = @HAVE_PTHREAD_COND_DESTROY@ +HAVE_PTHREAD_COND_INIT = @HAVE_PTHREAD_COND_INIT@ +HAVE_PTHREAD_COND_SIGNAL = @HAVE_PTHREAD_COND_SIGNAL@ +HAVE_PTHREAD_COND_TIMEDWAIT = @HAVE_PTHREAD_COND_TIMEDWAIT@ +HAVE_PTHREAD_COND_WAIT = @HAVE_PTHREAD_COND_WAIT@ +HAVE_PTHREAD_CREATE = @HAVE_PTHREAD_CREATE@ +HAVE_PTHREAD_CREATE_DETACHED = @HAVE_PTHREAD_CREATE_DETACHED@ +HAVE_PTHREAD_DETACH = @HAVE_PTHREAD_DETACH@ +HAVE_PTHREAD_EQUAL = @HAVE_PTHREAD_EQUAL@ +HAVE_PTHREAD_EXIT = @HAVE_PTHREAD_EXIT@ +HAVE_PTHREAD_GETSPECIFIC = @HAVE_PTHREAD_GETSPECIFIC@ +HAVE_PTHREAD_H = @HAVE_PTHREAD_H@ +HAVE_PTHREAD_JOIN = @HAVE_PTHREAD_JOIN@ +HAVE_PTHREAD_KEY_CREATE = @HAVE_PTHREAD_KEY_CREATE@ +HAVE_PTHREAD_KEY_DELETE = @HAVE_PTHREAD_KEY_DELETE@ +HAVE_PTHREAD_MUTEXATTR_DESTROY = @HAVE_PTHREAD_MUTEXATTR_DESTROY@ +HAVE_PTHREAD_MUTEXATTR_GETROBUST = @HAVE_PTHREAD_MUTEXATTR_GETROBUST@ +HAVE_PTHREAD_MUTEXATTR_GETTYPE = @HAVE_PTHREAD_MUTEXATTR_GETTYPE@ +HAVE_PTHREAD_MUTEXATTR_INIT = @HAVE_PTHREAD_MUTEXATTR_INIT@ +HAVE_PTHREAD_MUTEXATTR_SETROBUST = @HAVE_PTHREAD_MUTEXATTR_SETROBUST@ +HAVE_PTHREAD_MUTEXATTR_SETTYPE = @HAVE_PTHREAD_MUTEXATTR_SETTYPE@ +HAVE_PTHREAD_MUTEX_DESTROY = @HAVE_PTHREAD_MUTEX_DESTROY@ +HAVE_PTHREAD_MUTEX_INIT = @HAVE_PTHREAD_MUTEX_INIT@ +HAVE_PTHREAD_MUTEX_LOCK = @HAVE_PTHREAD_MUTEX_LOCK@ +HAVE_PTHREAD_MUTEX_RECURSIVE = @HAVE_PTHREAD_MUTEX_RECURSIVE@ +HAVE_PTHREAD_MUTEX_ROBUST = @HAVE_PTHREAD_MUTEX_ROBUST@ +HAVE_PTHREAD_MUTEX_TIMEDLOCK = @HAVE_PTHREAD_MUTEX_TIMEDLOCK@ +HAVE_PTHREAD_MUTEX_TRYLOCK = @HAVE_PTHREAD_MUTEX_TRYLOCK@ +HAVE_PTHREAD_MUTEX_UNLOCK = @HAVE_PTHREAD_MUTEX_UNLOCK@ +HAVE_PTHREAD_ONCE = @HAVE_PTHREAD_ONCE@ +HAVE_PTHREAD_PROCESS_SHARED = @HAVE_PTHREAD_PROCESS_SHARED@ +HAVE_PTHREAD_RWLOCKATTR_DESTROY = @HAVE_PTHREAD_RWLOCKATTR_DESTROY@ +HAVE_PTHREAD_RWLOCKATTR_INIT = @HAVE_PTHREAD_RWLOCKATTR_INIT@ +HAVE_PTHREAD_RWLOCK_DESTROY = @HAVE_PTHREAD_RWLOCK_DESTROY@ +HAVE_PTHREAD_RWLOCK_INIT = @HAVE_PTHREAD_RWLOCK_INIT@ +HAVE_PTHREAD_RWLOCK_RDLOCK = @HAVE_PTHREAD_RWLOCK_RDLOCK@ +HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@ +HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK = @HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@ +HAVE_PTHREAD_RWLOCK_TRYRDLOCK = @HAVE_PTHREAD_RWLOCK_TRYRDLOCK@ +HAVE_PTHREAD_RWLOCK_TRYWRLOCK = @HAVE_PTHREAD_RWLOCK_TRYWRLOCK@ +HAVE_PTHREAD_RWLOCK_UNLOCK = @HAVE_PTHREAD_RWLOCK_UNLOCK@ +HAVE_PTHREAD_RWLOCK_WRLOCK = @HAVE_PTHREAD_RWLOCK_WRLOCK@ +HAVE_PTHREAD_SELF = @HAVE_PTHREAD_SELF@ +HAVE_PTHREAD_SETSPECIFIC = @HAVE_PTHREAD_SETSPECIFIC@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ +HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@ +HAVE_PTHREAD_SPIN_DESTROY = @HAVE_PTHREAD_SPIN_DESTROY@ +HAVE_PTHREAD_SPIN_INIT = @HAVE_PTHREAD_SPIN_INIT@ +HAVE_PTHREAD_SPIN_LOCK = @HAVE_PTHREAD_SPIN_LOCK@ +HAVE_PTHREAD_SPIN_TRYLOCK = @HAVE_PTHREAD_SPIN_TRYLOCK@ +HAVE_PTHREAD_SPIN_UNLOCK = @HAVE_PTHREAD_SPIN_UNLOCK@ +HAVE_PTHREAD_T = @HAVE_PTHREAD_T@ +HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ +HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_QSORT_R = @HAVE_QSORT_R@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ +HAVE_RANDOM_H = @HAVE_RANDOM_H@ +HAVE_RANDOM_R = @HAVE_RANDOM_R@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READLINK = @HAVE_READLINK@ +HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ +HAVE_REALPATH = @HAVE_REALPATH@ +HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ +HAVE_SCHED_H = @HAVE_SCHED_H@ +HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ +HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ +HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ +HAVE_SLEEP = @HAVE_SLEEP@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRPTIME = @HAVE_STRPTIME@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOL = @HAVE_STRTOL@ +HAVE_STRTOLD = @HAVE_STRTOLD@ +HAVE_STRTOLL = @HAVE_STRTOLL@ +HAVE_STRTOUL = @HAVE_STRTOUL@ +HAVE_STRTOULL = @HAVE_STRTOULL@ +HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ +HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ +HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ +HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@ +HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ +HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ +HAVE_SYMLINK = @HAVE_SYMLINK@ +HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ +HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ +HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ +HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNLINKAT = @HAVE_UNLINKAT@ +HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ +HAVE_USLEEP = @HAVE_USLEEP@ +HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ +HAVE_VASPRINTF = @HAVE_VASPRINTF@ +HAVE_VDPRINTF = @HAVE_VDPRINTF@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE_WCHAR_T = @HAVE_WCHAR_T@ +HAVE_WCPCPY = @HAVE_WCPCPY@ +HAVE_WCPNCPY = @HAVE_WCPNCPY@ +HAVE_WCRTOMB = @HAVE_WCRTOMB@ +HAVE_WCSCASECMP = @HAVE_WCSCASECMP@ +HAVE_WCSCAT = @HAVE_WCSCAT@ +HAVE_WCSCHR = @HAVE_WCSCHR@ +HAVE_WCSCMP = @HAVE_WCSCMP@ +HAVE_WCSCOLL = @HAVE_WCSCOLL@ +HAVE_WCSCPY = @HAVE_WCSCPY@ +HAVE_WCSCSPN = @HAVE_WCSCSPN@ +HAVE_WCSDUP = @HAVE_WCSDUP@ +HAVE_WCSFTIME = @HAVE_WCSFTIME@ +HAVE_WCSLEN = @HAVE_WCSLEN@ +HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@ +HAVE_WCSNCAT = @HAVE_WCSNCAT@ +HAVE_WCSNCMP = @HAVE_WCSNCMP@ +HAVE_WCSNCPY = @HAVE_WCSNCPY@ +HAVE_WCSNLEN = @HAVE_WCSNLEN@ +HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ +HAVE_WCSPBRK = @HAVE_WCSPBRK@ +HAVE_WCSRCHR = @HAVE_WCSRCHR@ +HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ +HAVE_WCSSPN = @HAVE_WCSSPN@ +HAVE_WCSSTR = @HAVE_WCSSTR@ +HAVE_WCSTOK = @HAVE_WCSTOK@ +HAVE_WCSWIDTH = @HAVE_WCSWIDTH@ +HAVE_WCSXFRM = @HAVE_WCSXFRM@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ +HAVE_WINT_T = @HAVE_WINT_T@ +HAVE_WMEMCHR = @HAVE_WMEMCHR@ +HAVE_WMEMCMP = @HAVE_WMEMCMP@ +HAVE_WMEMCPY = @HAVE_WMEMCPY@ +HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ +HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ +HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ +HAVE__BOOL = @HAVE__BOOL@ +HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ +HOSTENT_LIB = @HOSTENT_LIB@ +HTML_DIR = @HTML_DIR@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INET_NTOP_LIB = @INET_NTOP_LIB@ +INET_PTON_LIB = @INET_PTON_LIB@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ +INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LCOV = @LCOV@ +LD = @LD@ +LDDPOSTPROC = @LDDPOSTPROC@ +LDDPROG = @LDDPROG@ +LDFLAGS = @LDFLAGS@ +LIBATOMIC_LIBS = @LIBATOMIC_LIBS@ +LIBBROTLIDEC_CFLAGS = @LIBBROTLIDEC_CFLAGS@ +LIBBROTLIDEC_LIBS = @LIBBROTLIDEC_LIBS@ +LIBBROTLIENC_CFLAGS = @LIBBROTLIENC_CFLAGS@ +LIBBROTLIENC_LIBS = @LIBBROTLIENC_LIBS@ +LIBCRYPTO = @LIBCRYPTO@ +LIBCRYPTO_PREFIX = @LIBCRYPTO_PREFIX@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ +LIBEV = @LIBEV@ +LIBEV_LIBS = @LIBEV_LIBS@ +LIBEV_PREFIX = @LIBEV_PREFIX@ +LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ +LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ +LIBICONV = @LIBICONV@ +LIBIDN2_CFLAGS = @LIBIDN2_CFLAGS@ +LIBIDN2_LIBS = @LIBIDN2_LIBS@ +LIBINTL = @LIBINTL@ +LIBKCAPI_CFLAGS = @LIBKCAPI_CFLAGS@ +LIBKCAPI_LIBS = @LIBKCAPI_LIBS@ +LIBMULTITHREAD = @LIBMULTITHREAD@ +LIBOBJS = @LIBOBJS@ +LIBPMULTITHREAD = @LIBPMULTITHREAD@ +LIBPTHREAD = @LIBPTHREAD@ +LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ +LIBS = @LIBS@ +LIBSECCOMP = @LIBSECCOMP@ +LIBSECCOMP_PREFIX = @LIBSECCOMP_PREFIX@ +LIBSOCKET = @LIBSOCKET@ +LIBSTDTHREAD = @LIBSTDTHREAD@ +LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ +LIBTASN1_LIBS = @LIBTASN1_LIBS@ +LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ +LIBTHREAD = @LIBTHREAD@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBZ = @LIBZ@ +LIBZSTD_CFLAGS = @LIBZSTD_CFLAGS@ +LIBZSTD_LIBS = @LIBZSTD_LIBS@ +LIBZ_PC = @LIBZ_PC@ +LIBZ_PREFIX = @LIBZ_PREFIX@ +LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_NANOSLEEP = @LIB_NANOSLEEP@ +LIB_PTHREAD = @LIB_PTHREAD@ +LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@ +LIB_SCHED_YIELD = @LIB_SCHED_YIELD@ +LIB_SELECT = @LIB_SELECT@ +LIB_SEMAPHORE = @LIB_SEMAPHORE@ +LIB_SETLOCALE = @LIB_SETLOCALE@ +LIB_SETLOCALE_NULL = @LIB_SETLOCALE_NULL@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOCALENAME_ENHANCE_LOCALE_FUNCS = @LOCALENAME_ENHANCE_LOCALE_FUNCS@ +LOCALE_FR = @LOCALE_FR@ +LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ +LOCALE_JA = @LOCALE_JA@ +LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ +LOCALE_ZH_CN = @LOCALE_ZH_CN@ +LOG_VALGRIND = @LOG_VALGRIND@ +LTALLOCA = @LTALLOCA@ +LTLIBCRYPTO = @LTLIBCRYPTO@ +LTLIBDL = @LTLIBDL@ +LTLIBEV = @LTLIBEV@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTHREAD = @LTLIBPTHREAD@ +LTLIBRT = @LTLIBRT@ +LTLIBSECCOMP = @LTLIBSECCOMP@ +LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBZ = @LTLIBZ@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ +LT_REVISION = @LT_REVISION@ +LT_SSL_AGE = @LT_SSL_AGE@ +LT_SSL_CURRENT = @LT_SSL_CURRENT@ +LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ +NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ +NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ +NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ +NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ +NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ +NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ +NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ +NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ +NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@ +NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ +NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ +NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ +NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ +NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ +NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ +NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ +NEXT_CTYPE_H = @NEXT_CTYPE_H@ +NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NEXT_FCNTL_H = @NEXT_FCNTL_H@ +NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ +NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_NETDB_H = @NEXT_NETDB_H@ +NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ +NEXT_PTHREAD_H = @NEXT_PTHREAD_H@ +NEXT_SCHED_H = @NEXT_SCHED_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ +NEXT_STDDEF_H = @NEXT_STDDEF_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STDIO_H = @NEXT_STDIO_H@ +NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ +NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ +NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@ +NEXT_TIME_H = @NEXT_TIME_H@ +NEXT_UNISTD_H = @NEXT_UNISTD_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NUMBER_VERSION = @NUMBER_VERSION@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +P11_KIT_CFLAGS = @P11_KIT_CFLAGS@ +P11_KIT_LIBS = @P11_KIT_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PARSE_DATETIME_BISON = @PARSE_DATETIME_BISON@ +PATCH_VERSION = @PATCH_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKCS12_ITER_COUNT = @PKCS12_ITER_COUNT@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PMCCABE = @PMCCABE@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PRIPTR_PREFIX = @PRIPTR_PREFIX@ +PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +REPLACE_ACCESS = @REPLACE_ACCESS@ +REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@ +REPLACE_BTOWC = @REPLACE_BTOWC@ +REPLACE_CALLOC = @REPLACE_CALLOC@ +REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ +REPLACE_CHOWN = @REPLACE_CHOWN@ +REPLACE_CLOSE = @REPLACE_CLOSE@ +REPLACE_CREAT = @REPLACE_CREAT@ +REPLACE_CTIME = @REPLACE_CTIME@ +REPLACE_DPRINTF = @REPLACE_DPRINTF@ +REPLACE_DUP = @REPLACE_DUP@ +REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_EXECL = @REPLACE_EXECL@ +REPLACE_EXECLE = @REPLACE_EXECLE@ +REPLACE_EXECLP = @REPLACE_EXECLP@ +REPLACE_EXECV = @REPLACE_EXECV@ +REPLACE_EXECVE = @REPLACE_EXECVE@ +REPLACE_EXECVP = @REPLACE_EXECVP@ +REPLACE_EXECVPE = @REPLACE_EXECVPE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ +REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ +REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ +REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FFSLL = @REPLACE_FFSLL@ +REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FPRINTF = @REPLACE_FPRINTF@ +REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREE = @REPLACE_FREE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ +REPLACE_FREOPEN = @REPLACE_FREOPEN@ +REPLACE_FSEEK = @REPLACE_FSEEK@ +REPLACE_FSEEKO = @REPLACE_FSEEKO@ +REPLACE_FSTAT = @REPLACE_FSTAT@ +REPLACE_FSTATAT = @REPLACE_FSTATAT@ +REPLACE_FTELL = @REPLACE_FTELL@ +REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ +REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ +REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ +REPLACE_GETADDRINFO = @REPLACE_GETADDRINFO@ +REPLACE_GETCWD = @REPLACE_GETCWD@ +REPLACE_GETDELIM = @REPLACE_GETDELIM@ +REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ +REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ +REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ +REPLACE_INET_PTON = @REPLACE_INET_PTON@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ +REPLACE_IOCTL = @REPLACE_IOCTL@ +REPLACE_ISATTY = @REPLACE_ISATTY@ +REPLACE_ITOLD = @REPLACE_ITOLD@ +REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LINK = @REPLACE_LINK@ +REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ +REPLACE_LSEEK = @REPLACE_LSEEK@ +REPLACE_LSTAT = @REPLACE_LSTAT@ +REPLACE_MALLOC = @REPLACE_MALLOC@ +REPLACE_MBRLEN = @REPLACE_MBRLEN@ +REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ +REPLACE_MBSINIT = @REPLACE_MBSINIT@ +REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ +REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ +REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MEMCHR = @REPLACE_MEMCHR@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKDIR = @REPLACE_MKDIR@ +REPLACE_MKFIFO = @REPLACE_MKFIFO@ +REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ +REPLACE_MKNOD = @REPLACE_MKNOD@ +REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_MKTIME = @REPLACE_MKTIME@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ +REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ +REPLACE_NULL = @REPLACE_NULL@ +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_OPEN = @REPLACE_OPEN@ +REPLACE_OPENAT = @REPLACE_OPENAT@ +REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_POPEN = @REPLACE_POPEN@ +REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_PREAD = @REPLACE_PREAD@ +REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PSELECT = @REPLACE_PSELECT@ +REPLACE_PTHREAD_ATTR_DESTROY = @REPLACE_PTHREAD_ATTR_DESTROY@ +REPLACE_PTHREAD_ATTR_GETDETACHSTATE = @REPLACE_PTHREAD_ATTR_GETDETACHSTATE@ +REPLACE_PTHREAD_ATTR_INIT = @REPLACE_PTHREAD_ATTR_INIT@ +REPLACE_PTHREAD_ATTR_SETDETACHSTATE = @REPLACE_PTHREAD_ATTR_SETDETACHSTATE@ +REPLACE_PTHREAD_CONDATTR_DESTROY = @REPLACE_PTHREAD_CONDATTR_DESTROY@ +REPLACE_PTHREAD_CONDATTR_INIT = @REPLACE_PTHREAD_CONDATTR_INIT@ +REPLACE_PTHREAD_COND_BROADCAST = @REPLACE_PTHREAD_COND_BROADCAST@ +REPLACE_PTHREAD_COND_DESTROY = @REPLACE_PTHREAD_COND_DESTROY@ +REPLACE_PTHREAD_COND_INIT = @REPLACE_PTHREAD_COND_INIT@ +REPLACE_PTHREAD_COND_SIGNAL = @REPLACE_PTHREAD_COND_SIGNAL@ +REPLACE_PTHREAD_COND_TIMEDWAIT = @REPLACE_PTHREAD_COND_TIMEDWAIT@ +REPLACE_PTHREAD_COND_WAIT = @REPLACE_PTHREAD_COND_WAIT@ +REPLACE_PTHREAD_CREATE = @REPLACE_PTHREAD_CREATE@ +REPLACE_PTHREAD_DETACH = @REPLACE_PTHREAD_DETACH@ +REPLACE_PTHREAD_EQUAL = @REPLACE_PTHREAD_EQUAL@ +REPLACE_PTHREAD_EXIT = @REPLACE_PTHREAD_EXIT@ +REPLACE_PTHREAD_GETSPECIFIC = @REPLACE_PTHREAD_GETSPECIFIC@ +REPLACE_PTHREAD_JOIN = @REPLACE_PTHREAD_JOIN@ +REPLACE_PTHREAD_KEY_CREATE = @REPLACE_PTHREAD_KEY_CREATE@ +REPLACE_PTHREAD_KEY_DELETE = @REPLACE_PTHREAD_KEY_DELETE@ +REPLACE_PTHREAD_MUTEXATTR_DESTROY = @REPLACE_PTHREAD_MUTEXATTR_DESTROY@ +REPLACE_PTHREAD_MUTEXATTR_GETROBUST = @REPLACE_PTHREAD_MUTEXATTR_GETROBUST@ +REPLACE_PTHREAD_MUTEXATTR_GETTYPE = @REPLACE_PTHREAD_MUTEXATTR_GETTYPE@ +REPLACE_PTHREAD_MUTEXATTR_INIT = @REPLACE_PTHREAD_MUTEXATTR_INIT@ +REPLACE_PTHREAD_MUTEXATTR_SETROBUST = @REPLACE_PTHREAD_MUTEXATTR_SETROBUST@ +REPLACE_PTHREAD_MUTEXATTR_SETTYPE = @REPLACE_PTHREAD_MUTEXATTR_SETTYPE@ +REPLACE_PTHREAD_MUTEX_DESTROY = @REPLACE_PTHREAD_MUTEX_DESTROY@ +REPLACE_PTHREAD_MUTEX_INIT = @REPLACE_PTHREAD_MUTEX_INIT@ +REPLACE_PTHREAD_MUTEX_LOCK = @REPLACE_PTHREAD_MUTEX_LOCK@ +REPLACE_PTHREAD_MUTEX_TIMEDLOCK = @REPLACE_PTHREAD_MUTEX_TIMEDLOCK@ +REPLACE_PTHREAD_MUTEX_TRYLOCK = @REPLACE_PTHREAD_MUTEX_TRYLOCK@ +REPLACE_PTHREAD_MUTEX_UNLOCK = @REPLACE_PTHREAD_MUTEX_UNLOCK@ +REPLACE_PTHREAD_ONCE = @REPLACE_PTHREAD_ONCE@ +REPLACE_PTHREAD_RWLOCKATTR_DESTROY = @REPLACE_PTHREAD_RWLOCKATTR_DESTROY@ +REPLACE_PTHREAD_RWLOCKATTR_INIT = @REPLACE_PTHREAD_RWLOCKATTR_INIT@ +REPLACE_PTHREAD_RWLOCK_DESTROY = @REPLACE_PTHREAD_RWLOCK_DESTROY@ +REPLACE_PTHREAD_RWLOCK_INIT = @REPLACE_PTHREAD_RWLOCK_INIT@ +REPLACE_PTHREAD_RWLOCK_RDLOCK = @REPLACE_PTHREAD_RWLOCK_RDLOCK@ +REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK@ +REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK = @REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK@ +REPLACE_PTHREAD_RWLOCK_TRYRDLOCK = @REPLACE_PTHREAD_RWLOCK_TRYRDLOCK@ +REPLACE_PTHREAD_RWLOCK_TRYWRLOCK = @REPLACE_PTHREAD_RWLOCK_TRYWRLOCK@ +REPLACE_PTHREAD_RWLOCK_UNLOCK = @REPLACE_PTHREAD_RWLOCK_UNLOCK@ +REPLACE_PTHREAD_RWLOCK_WRLOCK = @REPLACE_PTHREAD_RWLOCK_WRLOCK@ +REPLACE_PTHREAD_SELF = @REPLACE_PTHREAD_SELF@ +REPLACE_PTHREAD_SETSPECIFIC = @REPLACE_PTHREAD_SETSPECIFIC@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTHREAD_SPIN_DESTROY = @REPLACE_PTHREAD_SPIN_DESTROY@ +REPLACE_PTHREAD_SPIN_INIT = @REPLACE_PTHREAD_SPIN_INIT@ +REPLACE_PTHREAD_SPIN_LOCK = @REPLACE_PTHREAD_SPIN_LOCK@ +REPLACE_PTHREAD_SPIN_TRYLOCK = @REPLACE_PTHREAD_SPIN_TRYLOCK@ +REPLACE_PTHREAD_SPIN_UNLOCK = @REPLACE_PTHREAD_SPIN_UNLOCK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ +REPLACE_PUTENV = @REPLACE_PUTENV@ +REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ +REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ +REPLACE_REALLOC = @REPLACE_REALLOC@ +REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@ +REPLACE_REALPATH = @REPLACE_REALPATH@ +REPLACE_REMOVE = @REPLACE_REMOVE@ +REPLACE_RENAME = @REPLACE_RENAME@ +REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ +REPLACE_RMDIR = @REPLACE_RMDIR@ +REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@ +REPLACE_SELECT = @REPLACE_SELECT@ +REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ +REPLACE_SLEEP = @REPLACE_SLEEP@ +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ +REPLACE_SPRINTF = @REPLACE_SPRINTF@ +REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ +REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPNCPY = @REPLACE_STPNCPY@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ +REPLACE_STRDUP = @REPLACE_STRDUP@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@ +REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ +REPLACE_STRFTIME = @REPLACE_STRFTIME@ +REPLACE_STRNCAT = @REPLACE_STRNCAT@ +REPLACE_STRNDUP = @REPLACE_STRNDUP@ +REPLACE_STRNLEN = @REPLACE_STRNLEN@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ +REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOL = @REPLACE_STRTOL@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ +REPLACE_STRTOLL = @REPLACE_STRTOLL@ +REPLACE_STRTOUL = @REPLACE_STRTOUL@ +REPLACE_STRTOULL = @REPLACE_STRTOULL@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ +REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ +REPLACE_TZSET = @REPLACE_TZSET@ +REPLACE_UNLINK = @REPLACE_UNLINK@ +REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ +REPLACE_UNSETENV = @REPLACE_UNSETENV@ +REPLACE_USLEEP = @REPLACE_USLEEP@ +REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ +REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ +REPLACE_VPRINTF = @REPLACE_VPRINTF@ +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ +REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ +REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSTOK = @REPLACE_WCSTOK@ +REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ +REPLACE_WCTOB = @REPLACE_WCTOB@ +REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ +SERVENT_LIB = @SERVENT_LIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ +STDBOOL_H = @STDBOOL_H@ +STDDEF_H = @STDDEF_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ +SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@ +TROUSERS_LIB = @TROUSERS_LIB@ +TSS2_CFLAGS = @TSS2_CFLAGS@ +TSS2_LIBS = @TSS2_LIBS@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ +UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ +UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ +UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@ +UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_NLS = @USE_NLS@ +VALGRIND = @VALGRIND@ +VALGRINDFLAGS = @VALGRINDFLAGS@ +VALGRIND_PROGRAM = @VALGRIND_PROGRAM@ +VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +WSTACK_CFLAGS = @WSTACK_CFLAGS@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +YIELD_LIB = @YIELD_LIB@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_cv_sizeof_time_t = @ac_cv_sizeof_time_t@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gnutls_so = @gnutls_so@ +guile_snarf = @guile_snarf@ +guileextensiondir = @guileextensiondir@ +guilesiteccachedir = @guilesiteccachedir@ +guilesitedir = @guilesitedir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +ifGNUmake = @ifGNUmake@ +ifnGNUmake = @ifnGNUmake@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +maybe_guileextensiondir = @maybe_guileextensiondir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +unistring_LIBOBJS = @unistring_LIBOBJS@ +unistring_LTLIBOBJS = @unistring_LTLIBOBJS@ +unistringtests_LIBOBJS = @unistringtests_LIBOBJS@ +unistringtests_LTLIBOBJS = @unistringtests_LTLIBOBJS@ +unistringtests_WITNESS = @unistringtests_WITNESS@ +AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) -Wno-unused-parameter -Wno-pedantic +AM_CPPFLAGS = -I$(top_srcdir)/lib/includes -I$(top_builddir)/lib/includes -I$(srcdir) \ + -DSRCDIR=\"$(abs_srcdir)\" -DTEST_RUN + +LDADD = ../gl/libgnu.la ../lib/libgnutls.la \ + $(LIBOBJS) $(GETADDRINFO_LIB) $(HOSTENT_LIB) $(INET_NTOP_LIB)\ + $(LIBSOCKET) $(LIB_CLOCK_GETTIME) $(LIB_NANOSLEEP) $(LIB_POLL) $(LIB_PTHREAD)\ + $(LIB_SELECT) $(LIBTHREAD) $(SERVENT_LIB) \ + $(LIBS) + +FUZZERS = \ + gnutls_x509_verify_fuzzer$(EXEEXT) \ + gnutls_base64_decoder_fuzzer$(EXEEXT) \ + gnutls_base64_encoder_fuzzer$(EXEEXT) \ + gnutls_client_fuzzer$(EXEEXT) \ + gnutls_client_rawpk_fuzzer$(EXEEXT) \ + gnutls_dn_parser_fuzzer$(EXEEXT) \ + gnutls_idna_parser_fuzzer$(EXEEXT) \ + gnutls_ocsp_req_parser_fuzzer$(EXEEXT) \ + gnutls_ocsp_resp_parser_fuzzer$(EXEEXT) \ + gnutls_pkcs12_key_parser_fuzzer$(EXEEXT) \ + gnutls_pkcs7_parser_fuzzer$(EXEEXT) \ + gnutls_pkcs8_key_parser_fuzzer$(EXEEXT) \ + gnutls_private_key_parser_fuzzer$(EXEEXT) \ + gnutls_psk_client_fuzzer$(EXEEXT) \ + gnutls_psk_server_fuzzer$(EXEEXT) \ + gnutls_reverse_idna_parser_fuzzer$(EXEEXT) \ + gnutls_server_fuzzer$(EXEEXT) \ + gnutls_server_rawpk_fuzzer$(EXEEXT) \ + gnutls_srp_client_fuzzer$(EXEEXT) \ + gnutls_srp_server_fuzzer$(EXEEXT) \ + gnutls_set_trust_file_fuzzer$(EXEEXT) \ + gnutls_x509_crl_parser_fuzzer$(EXEEXT) \ + gnutls_x509_crq_parser_fuzzer$(EXEEXT) \ + gnutls_x509_parser_fuzzer$(EXEEXT) \ + gnutls_ext_raw_parse_fuzzer$(EXEEXT) \ + gnutls_handshake_client_fuzzer$(EXEEXT) \ + gnutls_handshake_server_fuzzer$(EXEEXT) + +check_PROGRAMS = $(FUZZERS) +COMMON_SOURCES = main.c fuzzer.h +gnutls_x509_verify_fuzzer_SOURCES = gnutls_x509_verify_fuzzer.c $(COMMON_SOURCES) +gnutls_base64_decoder_fuzzer_SOURCES = gnutls_base64_decoder_fuzzer.c $(COMMON_SOURCES) +gnutls_base64_encoder_fuzzer_SOURCES = gnutls_base64_encoder_fuzzer.c $(COMMON_SOURCES) +gnutls_client_fuzzer_SOURCES = gnutls_client_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_client_rawpk_fuzzer_SOURCES = gnutls_client_rawpk_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_handshake_client_fuzzer_SOURCES = gnutls_handshake_client_fuzzer.c $(COMMON_SOURCES) handshake.h +gnutls_dn_parser_fuzzer_SOURCES = gnutls_dn_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_idna_parser_fuzzer_SOURCES = gnutls_idna_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_ocsp_req_parser_fuzzer_SOURCES = gnutls_ocsp_req_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_ocsp_resp_parser_fuzzer_SOURCES = gnutls_ocsp_resp_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_pkcs12_key_parser_fuzzer_SOURCES = gnutls_pkcs12_key_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_pkcs7_parser_fuzzer_SOURCES = gnutls_pkcs7_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_pkcs8_key_parser_fuzzer_SOURCES = gnutls_pkcs8_key_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_private_key_parser_fuzzer_SOURCES = gnutls_private_key_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_psk_client_fuzzer_SOURCES = gnutls_psk_client_fuzzer.c $(COMMON_SOURCES) mem.h psk.h +gnutls_psk_server_fuzzer_SOURCES = gnutls_psk_server_fuzzer.c $(COMMON_SOURCES) mem.h psk.h +gnutls_reverse_idna_parser_fuzzer_SOURCES = gnutls_reverse_idna_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_server_fuzzer_SOURCES = gnutls_server_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_server_rawpk_fuzzer_SOURCES = gnutls_server_rawpk_fuzzer.c $(COMMON_SOURCES) mem.h certs.h +gnutls_handshake_server_fuzzer_SOURCES = gnutls_handshake_server_fuzzer.c $(COMMON_SOURCES) handshake.h certs.h +gnutls_srp_client_fuzzer_SOURCES = gnutls_srp_client_fuzzer.c $(COMMON_SOURCES) mem.h srp.h +gnutls_srp_server_fuzzer_SOURCES = gnutls_srp_server_fuzzer.c $(COMMON_SOURCES) mem.h srp.h +gnutls_set_trust_file_fuzzer_SOURCES = gnutls_set_trust_file_fuzzer.c $(COMMON_SOURCES) +gnutls_x509_crl_parser_fuzzer_SOURCES = gnutls_x509_crq_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_x509_crq_parser_fuzzer_SOURCES = gnutls_x509_crq_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_x509_parser_fuzzer_SOURCES = gnutls_x509_parser_fuzzer.c $(COMMON_SOURCES) +gnutls_ext_raw_parse_fuzzer_SOURCES = gnutls_ext_raw_parse_fuzzer.c $(COMMON_SOURCES) +gnutls_set_trust_file_fuzzer_LDADD = $(LDADD) $(LIBDL) +TESTS = $(FUZZERS) +LCOV_INFO = coverage.info +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign fuzz/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign fuzz/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +gnutls_base64_decoder_fuzzer$(EXEEXT): $(gnutls_base64_decoder_fuzzer_OBJECTS) $(gnutls_base64_decoder_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_base64_decoder_fuzzer_DEPENDENCIES) + @rm -f gnutls_base64_decoder_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_base64_decoder_fuzzer_OBJECTS) $(gnutls_base64_decoder_fuzzer_LDADD) $(LIBS) + +gnutls_base64_encoder_fuzzer$(EXEEXT): $(gnutls_base64_encoder_fuzzer_OBJECTS) $(gnutls_base64_encoder_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_base64_encoder_fuzzer_DEPENDENCIES) + @rm -f gnutls_base64_encoder_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_base64_encoder_fuzzer_OBJECTS) $(gnutls_base64_encoder_fuzzer_LDADD) $(LIBS) + +gnutls_client_fuzzer$(EXEEXT): $(gnutls_client_fuzzer_OBJECTS) $(gnutls_client_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_client_fuzzer_DEPENDENCIES) + @rm -f gnutls_client_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_client_fuzzer_OBJECTS) $(gnutls_client_fuzzer_LDADD) $(LIBS) + +gnutls_client_rawpk_fuzzer$(EXEEXT): $(gnutls_client_rawpk_fuzzer_OBJECTS) $(gnutls_client_rawpk_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_client_rawpk_fuzzer_DEPENDENCIES) + @rm -f gnutls_client_rawpk_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_client_rawpk_fuzzer_OBJECTS) $(gnutls_client_rawpk_fuzzer_LDADD) $(LIBS) + +gnutls_dn_parser_fuzzer$(EXEEXT): $(gnutls_dn_parser_fuzzer_OBJECTS) $(gnutls_dn_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_dn_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_dn_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_dn_parser_fuzzer_OBJECTS) $(gnutls_dn_parser_fuzzer_LDADD) $(LIBS) + +gnutls_ext_raw_parse_fuzzer$(EXEEXT): $(gnutls_ext_raw_parse_fuzzer_OBJECTS) $(gnutls_ext_raw_parse_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_ext_raw_parse_fuzzer_DEPENDENCIES) + @rm -f gnutls_ext_raw_parse_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_ext_raw_parse_fuzzer_OBJECTS) $(gnutls_ext_raw_parse_fuzzer_LDADD) $(LIBS) + +gnutls_handshake_client_fuzzer$(EXEEXT): $(gnutls_handshake_client_fuzzer_OBJECTS) $(gnutls_handshake_client_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_handshake_client_fuzzer_DEPENDENCIES) + @rm -f gnutls_handshake_client_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_handshake_client_fuzzer_OBJECTS) $(gnutls_handshake_client_fuzzer_LDADD) $(LIBS) + +gnutls_handshake_server_fuzzer$(EXEEXT): $(gnutls_handshake_server_fuzzer_OBJECTS) $(gnutls_handshake_server_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_handshake_server_fuzzer_DEPENDENCIES) + @rm -f gnutls_handshake_server_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_handshake_server_fuzzer_OBJECTS) $(gnutls_handshake_server_fuzzer_LDADD) $(LIBS) + +gnutls_idna_parser_fuzzer$(EXEEXT): $(gnutls_idna_parser_fuzzer_OBJECTS) $(gnutls_idna_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_idna_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_idna_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_idna_parser_fuzzer_OBJECTS) $(gnutls_idna_parser_fuzzer_LDADD) $(LIBS) + +gnutls_ocsp_req_parser_fuzzer$(EXEEXT): $(gnutls_ocsp_req_parser_fuzzer_OBJECTS) $(gnutls_ocsp_req_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_ocsp_req_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_ocsp_req_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_ocsp_req_parser_fuzzer_OBJECTS) $(gnutls_ocsp_req_parser_fuzzer_LDADD) $(LIBS) + +gnutls_ocsp_resp_parser_fuzzer$(EXEEXT): $(gnutls_ocsp_resp_parser_fuzzer_OBJECTS) $(gnutls_ocsp_resp_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_ocsp_resp_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_ocsp_resp_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_ocsp_resp_parser_fuzzer_OBJECTS) $(gnutls_ocsp_resp_parser_fuzzer_LDADD) $(LIBS) + +gnutls_pkcs12_key_parser_fuzzer$(EXEEXT): $(gnutls_pkcs12_key_parser_fuzzer_OBJECTS) $(gnutls_pkcs12_key_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_pkcs12_key_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_pkcs12_key_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_pkcs12_key_parser_fuzzer_OBJECTS) $(gnutls_pkcs12_key_parser_fuzzer_LDADD) $(LIBS) + +gnutls_pkcs7_parser_fuzzer$(EXEEXT): $(gnutls_pkcs7_parser_fuzzer_OBJECTS) $(gnutls_pkcs7_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_pkcs7_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_pkcs7_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_pkcs7_parser_fuzzer_OBJECTS) $(gnutls_pkcs7_parser_fuzzer_LDADD) $(LIBS) + +gnutls_pkcs8_key_parser_fuzzer$(EXEEXT): $(gnutls_pkcs8_key_parser_fuzzer_OBJECTS) $(gnutls_pkcs8_key_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_pkcs8_key_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_pkcs8_key_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_pkcs8_key_parser_fuzzer_OBJECTS) $(gnutls_pkcs8_key_parser_fuzzer_LDADD) $(LIBS) + +gnutls_private_key_parser_fuzzer$(EXEEXT): $(gnutls_private_key_parser_fuzzer_OBJECTS) $(gnutls_private_key_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_private_key_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_private_key_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_private_key_parser_fuzzer_OBJECTS) $(gnutls_private_key_parser_fuzzer_LDADD) $(LIBS) + +gnutls_psk_client_fuzzer$(EXEEXT): $(gnutls_psk_client_fuzzer_OBJECTS) $(gnutls_psk_client_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_psk_client_fuzzer_DEPENDENCIES) + @rm -f gnutls_psk_client_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_psk_client_fuzzer_OBJECTS) $(gnutls_psk_client_fuzzer_LDADD) $(LIBS) + +gnutls_psk_server_fuzzer$(EXEEXT): $(gnutls_psk_server_fuzzer_OBJECTS) $(gnutls_psk_server_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_psk_server_fuzzer_DEPENDENCIES) + @rm -f gnutls_psk_server_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_psk_server_fuzzer_OBJECTS) $(gnutls_psk_server_fuzzer_LDADD) $(LIBS) + +gnutls_reverse_idna_parser_fuzzer$(EXEEXT): $(gnutls_reverse_idna_parser_fuzzer_OBJECTS) $(gnutls_reverse_idna_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_reverse_idna_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_reverse_idna_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_reverse_idna_parser_fuzzer_OBJECTS) $(gnutls_reverse_idna_parser_fuzzer_LDADD) $(LIBS) + +gnutls_server_fuzzer$(EXEEXT): $(gnutls_server_fuzzer_OBJECTS) $(gnutls_server_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_server_fuzzer_DEPENDENCIES) + @rm -f gnutls_server_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_server_fuzzer_OBJECTS) $(gnutls_server_fuzzer_LDADD) $(LIBS) + +gnutls_server_rawpk_fuzzer$(EXEEXT): $(gnutls_server_rawpk_fuzzer_OBJECTS) $(gnutls_server_rawpk_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_server_rawpk_fuzzer_DEPENDENCIES) + @rm -f gnutls_server_rawpk_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_server_rawpk_fuzzer_OBJECTS) $(gnutls_server_rawpk_fuzzer_LDADD) $(LIBS) + +gnutls_set_trust_file_fuzzer$(EXEEXT): $(gnutls_set_trust_file_fuzzer_OBJECTS) $(gnutls_set_trust_file_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_set_trust_file_fuzzer_DEPENDENCIES) + @rm -f gnutls_set_trust_file_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_set_trust_file_fuzzer_OBJECTS) $(gnutls_set_trust_file_fuzzer_LDADD) $(LIBS) + +gnutls_srp_client_fuzzer$(EXEEXT): $(gnutls_srp_client_fuzzer_OBJECTS) $(gnutls_srp_client_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_srp_client_fuzzer_DEPENDENCIES) + @rm -f gnutls_srp_client_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_srp_client_fuzzer_OBJECTS) $(gnutls_srp_client_fuzzer_LDADD) $(LIBS) + +gnutls_srp_server_fuzzer$(EXEEXT): $(gnutls_srp_server_fuzzer_OBJECTS) $(gnutls_srp_server_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_srp_server_fuzzer_DEPENDENCIES) + @rm -f gnutls_srp_server_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_srp_server_fuzzer_OBJECTS) $(gnutls_srp_server_fuzzer_LDADD) $(LIBS) + +gnutls_x509_crl_parser_fuzzer$(EXEEXT): $(gnutls_x509_crl_parser_fuzzer_OBJECTS) $(gnutls_x509_crl_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_x509_crl_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_x509_crl_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_x509_crl_parser_fuzzer_OBJECTS) $(gnutls_x509_crl_parser_fuzzer_LDADD) $(LIBS) + +gnutls_x509_crq_parser_fuzzer$(EXEEXT): $(gnutls_x509_crq_parser_fuzzer_OBJECTS) $(gnutls_x509_crq_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_x509_crq_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_x509_crq_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_x509_crq_parser_fuzzer_OBJECTS) $(gnutls_x509_crq_parser_fuzzer_LDADD) $(LIBS) + +gnutls_x509_parser_fuzzer$(EXEEXT): $(gnutls_x509_parser_fuzzer_OBJECTS) $(gnutls_x509_parser_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_x509_parser_fuzzer_DEPENDENCIES) + @rm -f gnutls_x509_parser_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_x509_parser_fuzzer_OBJECTS) $(gnutls_x509_parser_fuzzer_LDADD) $(LIBS) + +gnutls_x509_verify_fuzzer$(EXEEXT): $(gnutls_x509_verify_fuzzer_OBJECTS) $(gnutls_x509_verify_fuzzer_DEPENDENCIES) $(EXTRA_gnutls_x509_verify_fuzzer_DEPENDENCIES) + @rm -f gnutls_x509_verify_fuzzer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(gnutls_x509_verify_fuzzer_OBJECTS) $(gnutls_x509_verify_fuzzer_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_base64_decoder_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_base64_encoder_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_client_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_client_rawpk_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_dn_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_ext_raw_parse_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_handshake_client_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_handshake_server_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_idna_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_ocsp_req_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_ocsp_resp_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_pkcs12_key_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_pkcs7_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_pkcs8_key_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_private_key_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_psk_client_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_psk_server_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_reverse_idna_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_server_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_server_rawpk_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_set_trust_file_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_srp_client_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_srp_server_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_x509_crq_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_x509_parser_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_x509_verify_fuzzer.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: $(check_PROGRAMS) + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +gnutls_x509_verify_fuzzer.log: gnutls_x509_verify_fuzzer$(EXEEXT) + @p='gnutls_x509_verify_fuzzer$(EXEEXT)'; \ + b='gnutls_x509_verify_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_base64_decoder_fuzzer.log: gnutls_base64_decoder_fuzzer$(EXEEXT) + @p='gnutls_base64_decoder_fuzzer$(EXEEXT)'; \ + b='gnutls_base64_decoder_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_base64_encoder_fuzzer.log: gnutls_base64_encoder_fuzzer$(EXEEXT) + @p='gnutls_base64_encoder_fuzzer$(EXEEXT)'; \ + b='gnutls_base64_encoder_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_client_fuzzer.log: gnutls_client_fuzzer$(EXEEXT) + @p='gnutls_client_fuzzer$(EXEEXT)'; \ + b='gnutls_client_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_client_rawpk_fuzzer.log: gnutls_client_rawpk_fuzzer$(EXEEXT) + @p='gnutls_client_rawpk_fuzzer$(EXEEXT)'; \ + b='gnutls_client_rawpk_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_dn_parser_fuzzer.log: gnutls_dn_parser_fuzzer$(EXEEXT) + @p='gnutls_dn_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_dn_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_idna_parser_fuzzer.log: gnutls_idna_parser_fuzzer$(EXEEXT) + @p='gnutls_idna_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_idna_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_ocsp_req_parser_fuzzer.log: gnutls_ocsp_req_parser_fuzzer$(EXEEXT) + @p='gnutls_ocsp_req_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_ocsp_req_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_ocsp_resp_parser_fuzzer.log: gnutls_ocsp_resp_parser_fuzzer$(EXEEXT) + @p='gnutls_ocsp_resp_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_ocsp_resp_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_pkcs12_key_parser_fuzzer.log: gnutls_pkcs12_key_parser_fuzzer$(EXEEXT) + @p='gnutls_pkcs12_key_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_pkcs12_key_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_pkcs7_parser_fuzzer.log: gnutls_pkcs7_parser_fuzzer$(EXEEXT) + @p='gnutls_pkcs7_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_pkcs7_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_pkcs8_key_parser_fuzzer.log: gnutls_pkcs8_key_parser_fuzzer$(EXEEXT) + @p='gnutls_pkcs8_key_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_pkcs8_key_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_private_key_parser_fuzzer.log: gnutls_private_key_parser_fuzzer$(EXEEXT) + @p='gnutls_private_key_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_private_key_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_psk_client_fuzzer.log: gnutls_psk_client_fuzzer$(EXEEXT) + @p='gnutls_psk_client_fuzzer$(EXEEXT)'; \ + b='gnutls_psk_client_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_psk_server_fuzzer.log: gnutls_psk_server_fuzzer$(EXEEXT) + @p='gnutls_psk_server_fuzzer$(EXEEXT)'; \ + b='gnutls_psk_server_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_reverse_idna_parser_fuzzer.log: gnutls_reverse_idna_parser_fuzzer$(EXEEXT) + @p='gnutls_reverse_idna_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_reverse_idna_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_server_fuzzer.log: gnutls_server_fuzzer$(EXEEXT) + @p='gnutls_server_fuzzer$(EXEEXT)'; \ + b='gnutls_server_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_server_rawpk_fuzzer.log: gnutls_server_rawpk_fuzzer$(EXEEXT) + @p='gnutls_server_rawpk_fuzzer$(EXEEXT)'; \ + b='gnutls_server_rawpk_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_srp_client_fuzzer.log: gnutls_srp_client_fuzzer$(EXEEXT) + @p='gnutls_srp_client_fuzzer$(EXEEXT)'; \ + b='gnutls_srp_client_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_srp_server_fuzzer.log: gnutls_srp_server_fuzzer$(EXEEXT) + @p='gnutls_srp_server_fuzzer$(EXEEXT)'; \ + b='gnutls_srp_server_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_set_trust_file_fuzzer.log: gnutls_set_trust_file_fuzzer$(EXEEXT) + @p='gnutls_set_trust_file_fuzzer$(EXEEXT)'; \ + b='gnutls_set_trust_file_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_x509_crl_parser_fuzzer.log: gnutls_x509_crl_parser_fuzzer$(EXEEXT) + @p='gnutls_x509_crl_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_x509_crl_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_x509_crq_parser_fuzzer.log: gnutls_x509_crq_parser_fuzzer$(EXEEXT) + @p='gnutls_x509_crq_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_x509_crq_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_x509_parser_fuzzer.log: gnutls_x509_parser_fuzzer$(EXEEXT) + @p='gnutls_x509_parser_fuzzer$(EXEEXT)'; \ + b='gnutls_x509_parser_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_ext_raw_parse_fuzzer.log: gnutls_ext_raw_parse_fuzzer$(EXEEXT) + @p='gnutls_ext_raw_parse_fuzzer$(EXEEXT)'; \ + b='gnutls_ext_raw_parse_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_handshake_client_fuzzer.log: gnutls_handshake_client_fuzzer$(EXEEXT) + @p='gnutls_handshake_client_fuzzer$(EXEEXT)'; \ + b='gnutls_handshake_client_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +gnutls_handshake_server_fuzzer.log: gnutls_handshake_server_fuzzer$(EXEEXT) + @p='gnutls_handshake_server_fuzzer$(EXEEXT)'; \ + b='gnutls_handshake_server_fuzzer'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/gnutls_base64_decoder_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_base64_encoder_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_client_rawpk_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_dn_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_ext_raw_parse_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_handshake_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_handshake_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_idna_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_ocsp_req_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_ocsp_resp_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_pkcs12_key_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_pkcs7_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_pkcs8_key_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_private_key_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_psk_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_psk_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_reverse_idna_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_server_rawpk_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_set_trust_file_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_srp_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_srp_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_x509_crq_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_x509_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_x509_verify_fuzzer.Po + -rm -f ./$(DEPDIR)/main.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/gnutls_base64_decoder_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_base64_encoder_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_client_rawpk_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_dn_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_ext_raw_parse_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_handshake_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_handshake_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_idna_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_ocsp_req_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_ocsp_resp_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_pkcs12_key_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_pkcs7_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_pkcs8_key_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_private_key_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_psk_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_psk_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_reverse_idna_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_server_rawpk_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_set_trust_file_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_srp_client_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_srp_server_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_x509_crq_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_x509_parser_fuzzer.Po + -rm -f ./$(DEPDIR)/gnutls_x509_verify_fuzzer.Po + -rm -f ./$(DEPDIR)/main.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ + clean-local cscopelist-am ctags ctags-am dist-hook distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am recheck tags tags-am uninstall \ + uninstall-am + +.PRECIOUS: Makefile + + +#EXTRA_DIST = $(wildcard *.options) $(wildcard *.dict) \ +# $(wildcard *.in) $(wildcard *.repro) + +# We don't include the fuzz corpora into the tarball. +# Testing the corpora during dev cycles and in the CI is enough. +dist-hook: + find . -name '*.options' -exec cp -v '{}' $(distdir) ';' + find . -name '*.dict' -exec cp -v '{}' $(distdir) ';' +# find . -name '*.in' -exec cp -vr '{}' $(distdir) ';' + find . -name '*.repro' -exec cp -vr '{}' $(distdir) ';' + +clean-local: + rm -rf *.gc?? *.log lcov + +oss-fuzz: + if test "$$OUT" != ""; then \ + for ccfile in *_fuzzer.c; do \ + fuzzer=$$(basename $$ccfile .c); \ + XLIBS="-lhogweed -lnettle -ltasn1 -lgmp -lidn2 -lunistring"; \ + $$CC $$CFLAGS -I$(top_srcdir)/lib/includes/ -I$(top_srcdir) \ + -c "$${fuzzer}.c" -o "$${fuzzer}.o" ; \ + $$CXX $$CXXFLAGS "$${fuzzer}.o" -o "$${fuzzer}" \ + $$LDFLAGS ../lib/.libs/libgnutls.a $${LIB_FUZZING_ENGINE} \ + -Wl,-z,muldefs \ + -Wl,-Bstatic \ + $${XLIBS} \ + -Wl,-Bdynamic || exit $?; \ + done; \ + fi + +.PHONY: oss-fuzz + +CFLAGS ?= +LDFLAGS ?= + +coverage-prepare: clean + rm -rf $(LCOV_INFO) ../*/*.gc?? ../*/.libs/*.gc?? lcov/ + lcov --zerocounters --directory ../lib/ + $(MAKE) -C .. clean + $(MAKE) -C ../gl + $(MAKE) -C ../lib CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage" + +coverage: + lcov --capture --initial --directory ../lib/ --output-file $(LCOV_INFO) + $(MAKE) check CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage" + lcov --capture --directory ../lib/ --output-file $(LCOV_INFO) + lcov --remove $(LCOV_INFO) '/usr/include/*' '*/gl/*' -o $(LCOV_INFO) + genhtml --prefix . --ignore-errors source $(LCOV_INFO) --legend --title "gnutls-fuzz" --output-directory=lcov + @echo + @echo "You can now view the coverage report with 'xdg-open lcov/index.html'" + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/fuzz/README.md b/fuzz/README.md new file mode 100644 index 0000000..189d234 --- /dev/null +++ b/fuzz/README.md @@ -0,0 +1,102 @@ +# Fuzzers + +These are fuzzers designed for use with `libFuzzer` or `afl`. They can +be used to run on Google's OSS-Fuzz (https://github.com/google/oss-fuzz/). + +The convention used here is that the initial values for each parser fuzzer +are taken from the $NAME.in directory ($NAME is the name of the fuzzer, e.g. +'gnutls_x509_parser_fuzzer'). + +Crash reproducers from OSS-Fuzz are put into $NAME.repro directory for +regression testing with top dir 'make check'. + +The script `get_ossfuzz_corpora` downloads the corpora from OSS-Fuzz for +the given fuzzer. It puts those files together with the local ones and performs +a 'merge' step to remove superfluous corpora. The next step would be to add +changed/new corpora to the git repository. + +Example: +``` +./get_ossfuzz_corpora gnutls_x509_parser_fuzzer +git add gnutls_x509_parser_fuzzer.in/* +git commit -a -m "Update OSS-Fuzz corpora" +(create a branch and push if something changed) +(create a MR) +``` + +Since there are quite a few fuzzers now, you can update all their corpora +in one step with `./get_all_corpora`. Do this from time to time to stay +in sync with OSS-Fuzz. Whenever library code or fuzzers change, there might +me new corpora after 1-2 days. + + +# Running a fuzzer using clang and libFuzzer + +Use the following commands on top dir: +``` +export CC=clang +export CXX=clang++ +export CFLAGS="-O1 -g -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined,integer,nullability,bool,alignment,null,enum,address,leak,nonnull-attribute -fno-sanitize-recover=all -fsanitize-recover=unsigned-integer-overflow -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link" +export CXXFLAGS="$CFLAGS" +./configure --disable-guile --enable-fuzzer-target --enable-static --disable-doc --disable-gcc-warnings --disable-hardware-acceleration +make clean +make +cd fuzz + +# build and run gnutls_base64_decode_fuzzer +export UBSAN_OPTIONS=print_stacktrace=1:report_error_type=1 +export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer +./run-clang.sh gnutls_base64_decoder_fuzzer +``` + + +# Running a fuzzer using AFL and clang + +Use the following commands on top dir: + +``` +$ CC=afl-clang-fast ./configure --disable-doc --enable-fuzzer-target --disable-guile +$ make -j$(nproc) clean all +$ cd fuzz +$ ./run-afl.sh gnutls_base64_decoder_fuzzer +``` + +# Running a fuzzer using AFL and gcc + +Use the following commands on top dir: + +``` +$ CC=afl-gcc ./configure --disable-doc --enable-fuzzer-target --disable-guile +$ make -j$(nproc) clean all +$ cd fuzz +$ ./run-afl.sh gnutls_base64_decoder_fuzzer +``` + +# Fuzz code coverage using the corpus directories *.in/ + +Code coverage reports currently work best with gcc+lcov+genhtml. + +In the top directory: +``` +./configure --enable-code-coverage --disable-doc +make clean +make +make -C fuzz check +make code-coverage-capture +xdg-open <URI given by previous command> +# repeat the last three steps after changing *fuzzer.c +``` + +Each fuzzer target has its own files/functions to cover, e.g. +`gnutls_base64_decode_fuzzer` covers lib/x509_b64.c. + +To work on corpora for better coverage, `cd fuzz` and use e.g. +`./view-coverage.sh gnutls_base64_decode_fuzzer`. + + +# Enhancing the testsuite for issues found + +Whenever you fix an issue from OSS-Fuzz (or an issue found via local fuzzing) +please download the corpus (data file) that triggers that issue and put it +into $NAME.repro. 'git add' the file and create a commit, to avoid future +regressions. diff --git a/fuzz/certs.h b/fuzz/certs.h new file mode 100644 index 0000000..de57f9d --- /dev/null +++ b/fuzz/certs.h @@ -0,0 +1,446 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef CERTS_H +# define CERTS_H + +static const uint8_t kRSACertificateDER[] = { + 0x30, 0x82, 0x02, 0xff, 0x30, 0x82, 0x01, 0xe7, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x11, 0x00, 0xb1, 0x84, 0xee, 0x34, 0x99, 0x98, 0x76, 0xfb, + 0x6f, 0xb2, 0x15, 0xc8, 0x47, 0x79, 0x05, 0x9b, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, + 0x12, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, + 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x35, 0x31, 0x31, 0x30, 0x37, 0x30, 0x30, 0x32, 0x34, 0x35, 0x36, 0x5a, + 0x17, 0x0d, 0x31, 0x36, 0x31, 0x31, 0x30, 0x36, 0x30, 0x30, 0x32, 0x34, + 0x35, 0x36, 0x5a, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x04, 0x0a, 0x13, 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xce, 0x47, 0xcb, 0x11, + 0xbb, 0xd2, 0x9d, 0x8e, 0x9e, 0xd2, 0x1e, 0x14, 0xaf, 0xc7, 0xea, 0xb6, + 0xc9, 0x38, 0x2a, 0x6f, 0xb3, 0x7e, 0xfb, 0xbc, 0xfc, 0x59, 0x42, 0xb9, + 0x56, 0xf0, 0x4c, 0x3f, 0xf7, 0x31, 0x84, 0xbe, 0xac, 0x03, 0x9e, 0x71, + 0x91, 0x85, 0xd8, 0x32, 0xbd, 0x00, 0xea, 0xac, 0x65, 0xf6, 0x03, 0xc8, + 0x0f, 0x8b, 0xfd, 0x6e, 0x58, 0x88, 0x04, 0x41, 0x92, 0x74, 0xa6, 0x57, + 0x2e, 0x8e, 0x88, 0xd5, 0x3d, 0xda, 0x14, 0x3e, 0x63, 0x88, 0x22, 0xe3, + 0x53, 0xe9, 0xba, 0x39, 0x09, 0xac, 0xfb, 0xd0, 0x4c, 0xf2, 0x3c, 0x20, + 0xd6, 0x97, 0xe6, 0xed, 0xf1, 0x62, 0x1e, 0xe5, 0xc9, 0x48, 0xa0, 0xca, + 0x2e, 0x3c, 0x14, 0x5a, 0x82, 0xd4, 0xed, 0xb1, 0xe3, 0x43, 0xc1, 0x2a, + 0x59, 0xa5, 0xb9, 0xc8, 0x48, 0xa7, 0x39, 0x23, 0x74, 0xa7, 0x37, 0xb0, + 0x6f, 0xc3, 0x64, 0x99, 0x6c, 0xa2, 0x82, 0xc8, 0xf6, 0xdb, 0x86, 0x40, + 0xce, 0xd1, 0x85, 0x9f, 0xce, 0x69, 0xf4, 0x15, 0x2a, 0x23, 0xca, 0xea, + 0xb7, 0x7b, 0xdf, 0xfb, 0x43, 0x5f, 0xff, 0x7a, 0x49, 0x49, 0x0e, 0xe7, + 0x02, 0x51, 0x45, 0x13, 0xe8, 0x90, 0x64, 0x21, 0x0c, 0x26, 0x2b, 0x5d, + 0xfc, 0xe4, 0xb5, 0x86, 0x89, 0x43, 0x22, 0x4c, 0xf3, 0x3b, 0xf3, 0x09, + 0xc4, 0xa4, 0x10, 0x80, 0xf2, 0x46, 0xe2, 0x46, 0x8f, 0x76, 0x50, 0xbf, + 0xaf, 0x2b, 0x90, 0x1b, 0x78, 0xc7, 0xcf, 0xc1, 0x77, 0xd0, 0xfb, 0xa9, + 0xfb, 0xc9, 0x66, 0x5a, 0xc5, 0x9b, 0x31, 0x41, 0x67, 0x01, 0xbe, 0x33, + 0x10, 0xba, 0x05, 0x58, 0xed, 0x76, 0x53, 0xde, 0x5d, 0xc1, 0xe8, 0xbb, + 0x9f, 0xf1, 0xcd, 0xfb, 0xdf, 0x64, 0x7f, 0xd7, 0x18, 0xab, 0x0f, 0x94, + 0x28, 0x95, 0x4a, 0xcc, 0x6a, 0xa9, 0x50, 0xc7, 0x05, 0x47, 0x10, 0x41, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05, + 0xa0, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30, 0x0a, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0c, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, + 0x30, 0x19, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x12, 0x30, 0x10, 0x82, + 0x0e, 0x66, 0x75, 0x7a, 0x7a, 0x2e, 0x62, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x73, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x92, + 0xde, 0xef, 0x96, 0x06, 0x7b, 0xff, 0x71, 0x7d, 0x4e, 0xa0, 0x7d, 0xae, + 0xb8, 0x22, 0xb4, 0x2c, 0xf7, 0x96, 0x9c, 0x37, 0x1d, 0x8f, 0xe7, 0xd9, + 0x47, 0xff, 0x3f, 0xe9, 0x35, 0x95, 0x0e, 0xdd, 0xdc, 0x7f, 0xc8, 0x8a, + 0x1e, 0x36, 0x1d, 0x38, 0x47, 0xfc, 0x76, 0xd2, 0x1f, 0x98, 0xa1, 0x36, + 0xac, 0xc8, 0x70, 0x38, 0x0a, 0x3d, 0x51, 0x8d, 0x0f, 0x03, 0x1b, 0xef, + 0x62, 0xa1, 0xcb, 0x2b, 0x4a, 0x8c, 0x12, 0x2b, 0x54, 0x50, 0x9a, 0x6b, + 0xfe, 0xaf, 0xd9, 0xf6, 0xbf, 0x58, 0x11, 0x58, 0x5e, 0xe5, 0x86, 0x1e, + 0x3b, 0x6b, 0x30, 0x7e, 0x72, 0x89, 0xe8, 0x6b, 0x7b, 0xb7, 0xaf, 0xef, + 0x8b, 0xa9, 0x3e, 0xb0, 0xcd, 0x0b, 0xef, 0xb0, 0x0c, 0x96, 0x2b, 0xc5, + 0x3b, 0xd5, 0xf1, 0xc2, 0xae, 0x3a, 0x60, 0xd9, 0x0f, 0x75, 0x37, 0x55, + 0x4d, 0x62, 0xd2, 0xed, 0x96, 0xac, 0x30, 0x6b, 0xda, 0xa1, 0x48, 0x17, + 0x96, 0x23, 0x85, 0x9a, 0x57, 0x77, 0xe9, 0x22, 0xa2, 0x37, 0x03, 0xba, + 0x49, 0x77, 0x40, 0x3b, 0x76, 0x4b, 0xda, 0xc1, 0x04, 0x57, 0x55, 0x34, + 0x22, 0x83, 0x45, 0x29, 0xab, 0x2e, 0x11, 0xff, 0x0d, 0xab, 0x55, 0xb1, + 0xa7, 0x58, 0x59, 0x05, 0x25, 0xf9, 0x1e, 0x3d, 0xb7, 0xac, 0x04, 0x39, + 0x2c, 0xf9, 0xaf, 0xb8, 0x68, 0xfb, 0x8e, 0x35, 0x71, 0x32, 0xff, 0x70, + 0xe9, 0x46, 0x6d, 0x5c, 0x06, 0x90, 0x88, 0x23, 0x48, 0x0c, 0x50, 0xeb, + 0x0a, 0xa9, 0xae, 0xe8, 0xfc, 0xbe, 0xa5, 0x76, 0x94, 0xd7, 0x64, 0x22, + 0x38, 0x98, 0x17, 0xa4, 0x3a, 0xa7, 0x59, 0x9f, 0x1d, 0x3b, 0x75, 0x90, + 0x1a, 0x81, 0xef, 0x19, 0xfb, 0x2b, 0xb7, 0xa7, 0x64, 0x61, 0x22, 0xa4, + 0x6f, 0x7b, 0xfa, 0x58, 0xbb, 0x8c, 0x4e, 0x77, 0x67, 0xd0, 0x5d, 0x58, + 0x76, 0x8a, 0xbb, +}; + +static const uint8_t kRSAPrivateKeyDER[] = { + 0x30, 0x82, 0x04, 0xa5, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xce, 0x47, 0xcb, 0x11, 0xbb, 0xd2, 0x9d, 0x8e, 0x9e, 0xd2, 0x1e, 0x14, + 0xaf, 0xc7, 0xea, 0xb6, 0xc9, 0x38, 0x2a, 0x6f, 0xb3, 0x7e, 0xfb, 0xbc, + 0xfc, 0x59, 0x42, 0xb9, 0x56, 0xf0, 0x4c, 0x3f, 0xf7, 0x31, 0x84, 0xbe, + 0xac, 0x03, 0x9e, 0x71, 0x91, 0x85, 0xd8, 0x32, 0xbd, 0x00, 0xea, 0xac, + 0x65, 0xf6, 0x03, 0xc8, 0x0f, 0x8b, 0xfd, 0x6e, 0x58, 0x88, 0x04, 0x41, + 0x92, 0x74, 0xa6, 0x57, 0x2e, 0x8e, 0x88, 0xd5, 0x3d, 0xda, 0x14, 0x3e, + 0x63, 0x88, 0x22, 0xe3, 0x53, 0xe9, 0xba, 0x39, 0x09, 0xac, 0xfb, 0xd0, + 0x4c, 0xf2, 0x3c, 0x20, 0xd6, 0x97, 0xe6, 0xed, 0xf1, 0x62, 0x1e, 0xe5, + 0xc9, 0x48, 0xa0, 0xca, 0x2e, 0x3c, 0x14, 0x5a, 0x82, 0xd4, 0xed, 0xb1, + 0xe3, 0x43, 0xc1, 0x2a, 0x59, 0xa5, 0xb9, 0xc8, 0x48, 0xa7, 0x39, 0x23, + 0x74, 0xa7, 0x37, 0xb0, 0x6f, 0xc3, 0x64, 0x99, 0x6c, 0xa2, 0x82, 0xc8, + 0xf6, 0xdb, 0x86, 0x40, 0xce, 0xd1, 0x85, 0x9f, 0xce, 0x69, 0xf4, 0x15, + 0x2a, 0x23, 0xca, 0xea, 0xb7, 0x7b, 0xdf, 0xfb, 0x43, 0x5f, 0xff, 0x7a, + 0x49, 0x49, 0x0e, 0xe7, 0x02, 0x51, 0x45, 0x13, 0xe8, 0x90, 0x64, 0x21, + 0x0c, 0x26, 0x2b, 0x5d, 0xfc, 0xe4, 0xb5, 0x86, 0x89, 0x43, 0x22, 0x4c, + 0xf3, 0x3b, 0xf3, 0x09, 0xc4, 0xa4, 0x10, 0x80, 0xf2, 0x46, 0xe2, 0x46, + 0x8f, 0x76, 0x50, 0xbf, 0xaf, 0x2b, 0x90, 0x1b, 0x78, 0xc7, 0xcf, 0xc1, + 0x77, 0xd0, 0xfb, 0xa9, 0xfb, 0xc9, 0x66, 0x5a, 0xc5, 0x9b, 0x31, 0x41, + 0x67, 0x01, 0xbe, 0x33, 0x10, 0xba, 0x05, 0x58, 0xed, 0x76, 0x53, 0xde, + 0x5d, 0xc1, 0xe8, 0xbb, 0x9f, 0xf1, 0xcd, 0xfb, 0xdf, 0x64, 0x7f, 0xd7, + 0x18, 0xab, 0x0f, 0x94, 0x28, 0x95, 0x4a, 0xcc, 0x6a, 0xa9, 0x50, 0xc7, + 0x05, 0x47, 0x10, 0x41, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xa8, 0x47, 0xb9, 0x4a, 0x06, 0x47, 0x93, 0x71, 0x3d, 0xef, + 0x7b, 0xca, 0xb4, 0x7c, 0x0a, 0xe6, 0x82, 0xd0, 0xe7, 0x0d, 0xa9, 0x08, + 0xf6, 0xa4, 0xfd, 0xd8, 0x73, 0xae, 0x6f, 0x56, 0x29, 0x5e, 0x25, 0x72, + 0xa8, 0x30, 0x44, 0x73, 0xcf, 0x56, 0x26, 0xb9, 0x61, 0xde, 0x42, 0x81, + 0xf4, 0xf0, 0x1f, 0x5d, 0xcb, 0x47, 0xf2, 0x26, 0xe9, 0xe0, 0x93, 0x28, + 0xa3, 0x10, 0x3b, 0x42, 0x1e, 0x51, 0x11, 0x12, 0x06, 0x5e, 0xaf, 0xce, + 0xb0, 0xa5, 0x14, 0xdd, 0x82, 0x58, 0xa1, 0xa4, 0x12, 0xdf, 0x65, 0x1d, + 0x51, 0x70, 0x64, 0xd5, 0x58, 0x68, 0x11, 0xa8, 0x6a, 0x23, 0xc2, 0xbf, + 0xa1, 0x25, 0x24, 0x47, 0xb3, 0xa4, 0x3c, 0x83, 0x96, 0xb7, 0x1f, 0xf4, + 0x44, 0xd4, 0xd1, 0xe9, 0xfc, 0x33, 0x68, 0x5e, 0xe2, 0x68, 0x99, 0x9c, + 0x91, 0xe8, 0x72, 0xc9, 0xd7, 0x8c, 0x80, 0x20, 0x8e, 0x77, 0x83, 0x4d, + 0xe4, 0xab, 0xf9, 0x74, 0xa1, 0xdf, 0xd3, 0xc0, 0x0d, 0x5b, 0x05, 0x51, + 0xc2, 0x6f, 0xb2, 0x91, 0x02, 0xec, 0xc0, 0x02, 0x1a, 0x5c, 0x91, 0x05, + 0xf1, 0xe3, 0xfa, 0x65, 0xc2, 0xad, 0x24, 0xe6, 0xe5, 0x3c, 0xb6, 0x16, + 0xf1, 0xa1, 0x67, 0x1a, 0x9d, 0x37, 0x56, 0xbf, 0x01, 0xd7, 0x3b, 0x35, + 0x30, 0x57, 0x73, 0xf4, 0xf0, 0x5e, 0xa7, 0xe8, 0x0a, 0xc1, 0x94, 0x17, + 0xcf, 0x0a, 0xbd, 0xf5, 0x31, 0xa7, 0x2d, 0xf7, 0xf5, 0xd9, 0x8c, 0xc2, + 0x01, 0xbd, 0xda, 0x16, 0x8e, 0xb9, 0x30, 0x40, 0xa6, 0x6e, 0xbd, 0xcd, + 0x4d, 0x84, 0x67, 0x4e, 0x0b, 0xce, 0xd5, 0xef, 0xf8, 0x08, 0x63, 0x02, + 0xc6, 0xc7, 0xf7, 0x67, 0x92, 0xe2, 0x23, 0x9d, 0x27, 0x22, 0x1d, 0xc6, + 0x67, 0x5e, 0x66, 0xbf, 0x03, 0xb8, 0xa9, 0x67, 0xd4, 0x39, 0xd8, 0x75, + 0xfa, 0xe8, 0xed, 0x56, 0xb8, 0x81, 0x02, 0x81, 0x81, 0x00, 0xf7, 0x46, + 0x68, 0xc6, 0x13, 0xf8, 0xba, 0x0f, 0x83, 0xdb, 0x05, 0xa8, 0x25, 0x00, + 0x70, 0x9c, 0x9e, 0x8b, 0x12, 0x34, 0x0d, 0x96, 0xcf, 0x0d, 0x98, 0x9b, + 0x8d, 0x9c, 0x96, 0x78, 0xd1, 0x3c, 0x01, 0x8c, 0xb9, 0x35, 0x5c, 0x20, + 0x42, 0xb4, 0x38, 0xe3, 0xd6, 0x54, 0xe7, 0x55, 0xd6, 0x26, 0x8a, 0x0c, + 0xf6, 0x1f, 0xe0, 0x04, 0xc1, 0x22, 0x42, 0x19, 0x61, 0xc4, 0x94, 0x7c, + 0x07, 0x2e, 0x80, 0x52, 0xfe, 0x8d, 0xe6, 0x92, 0x3a, 0x91, 0xfe, 0x72, + 0x99, 0xe1, 0x2a, 0x73, 0x76, 0xb1, 0x24, 0x20, 0x67, 0xde, 0x28, 0xcb, + 0x0e, 0xe6, 0x52, 0xb5, 0xfa, 0xfb, 0x8b, 0x1e, 0x6a, 0x1d, 0x09, 0x26, + 0xb9, 0xa7, 0x61, 0xba, 0xf8, 0x79, 0xd2, 0x66, 0x57, 0x28, 0xd7, 0x31, + 0xb5, 0x0b, 0x27, 0x19, 0x1e, 0x6f, 0x46, 0xfc, 0x54, 0x95, 0xeb, 0x78, + 0x01, 0xb6, 0xd9, 0x79, 0x5a, 0x4d, 0x02, 0x81, 0x81, 0x00, 0xd5, 0x8f, + 0x16, 0x53, 0x2f, 0x57, 0x93, 0xbf, 0x09, 0x75, 0xbf, 0x63, 0x40, 0x3d, + 0x27, 0xfd, 0x23, 0x21, 0xde, 0x9b, 0xe9, 0x73, 0x3f, 0x49, 0x02, 0xd2, + 0x38, 0x96, 0xcf, 0xc3, 0xba, 0x92, 0x07, 0x87, 0x52, 0xa9, 0x35, 0xe3, + 0x0c, 0xe4, 0x2f, 0x05, 0x7b, 0x37, 0xa5, 0x40, 0x9c, 0x3b, 0x94, 0xf7, + 0xad, 0xa0, 0xee, 0x3a, 0xa8, 0xfb, 0x1f, 0x11, 0x1f, 0xd8, 0x9a, 0x80, + 0x42, 0x3d, 0x7f, 0xa4, 0xb8, 0x9a, 0xaa, 0xea, 0x72, 0xc1, 0xe3, 0xed, + 0x06, 0x60, 0x92, 0x37, 0xf9, 0xba, 0xfb, 0x9e, 0xed, 0x05, 0xa6, 0xd4, + 0x72, 0x68, 0x4f, 0x63, 0xfe, 0xd6, 0x10, 0x0d, 0x4f, 0x0a, 0x93, 0xc6, + 0xb9, 0xd7, 0xaf, 0xfd, 0xd9, 0x57, 0x7d, 0xcb, 0x75, 0xe8, 0x93, 0x2b, + 0xae, 0x4f, 0xea, 0xd7, 0x30, 0x0b, 0x58, 0x44, 0x82, 0x0f, 0x84, 0x5d, + 0x62, 0x11, 0x78, 0xea, 0x5f, 0xc5, 0x02, 0x81, 0x81, 0x00, 0x82, 0x0c, + 0xc1, 0xe6, 0x0b, 0x72, 0xf1, 0x48, 0x5f, 0xac, 0xbd, 0x98, 0xe5, 0x7d, + 0x09, 0xbd, 0x15, 0x95, 0x47, 0x09, 0xa1, 0x6c, 0x03, 0x91, 0xbf, 0x05, + 0x70, 0xc1, 0x3e, 0x52, 0x64, 0x99, 0x0e, 0xa7, 0x98, 0x70, 0xfb, 0xf6, + 0xeb, 0x9e, 0x25, 0x9d, 0x8e, 0x88, 0x30, 0xf2, 0xf0, 0x22, 0x6c, 0xd0, + 0xcc, 0x51, 0x8f, 0x5c, 0x70, 0xc7, 0x37, 0xc4, 0x69, 0xab, 0x1d, 0xfc, + 0xed, 0x3a, 0x03, 0xbb, 0xa2, 0xad, 0xb6, 0xea, 0x89, 0x6b, 0x67, 0x4b, + 0x96, 0xaa, 0xd9, 0xcc, 0xc8, 0x4b, 0xfa, 0x18, 0x21, 0x08, 0xb2, 0xa3, + 0xb9, 0x3e, 0x61, 0x99, 0xdc, 0x5a, 0x97, 0x9c, 0x73, 0x6a, 0xb9, 0xf9, + 0x68, 0x03, 0x24, 0x5f, 0x55, 0x77, 0x9c, 0xb4, 0xbe, 0x7a, 0x78, 0x53, + 0x68, 0x48, 0x69, 0x53, 0xc8, 0xb1, 0xf5, 0xbf, 0x98, 0x2d, 0x11, 0x1e, + 0x98, 0xa8, 0x36, 0x50, 0xa0, 0xb1, 0x02, 0x81, 0x81, 0x00, 0x90, 0x88, + 0x30, 0x71, 0xc7, 0xfe, 0x9b, 0x6d, 0x95, 0x37, 0x6d, 0x79, 0xfc, 0x85, + 0xe7, 0x44, 0x78, 0xbc, 0x79, 0x6e, 0x47, 0x86, 0xc9, 0xf3, 0xdd, 0xc6, + 0xec, 0xa9, 0x94, 0x9f, 0x40, 0xeb, 0x87, 0xd0, 0xdb, 0xee, 0xcd, 0x1b, + 0x87, 0x23, 0xff, 0x76, 0xd4, 0x37, 0x8a, 0xcd, 0xb9, 0x6e, 0xd1, 0x98, + 0xf6, 0x97, 0x8d, 0xe3, 0x81, 0x6d, 0xc3, 0x4e, 0xd1, 0xa0, 0xc4, 0x9f, + 0xbd, 0x34, 0xe5, 0xe8, 0x53, 0x4f, 0xca, 0x10, 0xb5, 0xed, 0xe7, 0x16, + 0x09, 0x54, 0xde, 0x60, 0xa7, 0xd1, 0x16, 0x6e, 0x2e, 0xb7, 0xbe, 0x7a, + 0xd5, 0x9b, 0x26, 0xef, 0xe4, 0x0e, 0x77, 0xfa, 0xa9, 0xdd, 0xdc, 0xb9, + 0x88, 0x19, 0x23, 0x70, 0xc7, 0xe1, 0x60, 0xaf, 0x8c, 0x73, 0x04, 0xf7, + 0x71, 0x17, 0x81, 0x36, 0x75, 0xbb, 0x97, 0xd7, 0x75, 0xb6, 0x8e, 0xbc, + 0xac, 0x9c, 0x6a, 0x9b, 0x24, 0x89, 0x02, 0x81, 0x80, 0x5a, 0x2b, 0xc7, + 0x6b, 0x8c, 0x65, 0xdb, 0x04, 0x73, 0xab, 0x25, 0xe1, 0x5b, 0xbc, 0x3c, + 0xcf, 0x5a, 0x3c, 0x04, 0xae, 0x97, 0x2e, 0xfd, 0xa4, 0x97, 0x1f, 0x05, + 0x17, 0x27, 0xac, 0x7c, 0x30, 0x85, 0xb4, 0x82, 0x3f, 0x5b, 0xb7, 0x94, + 0x3b, 0x7f, 0x6c, 0x0c, 0xc7, 0x16, 0xc6, 0xa0, 0xbd, 0x80, 0xb0, 0x81, + 0xde, 0xa0, 0x23, 0xa6, 0xf6, 0x75, 0x33, 0x51, 0x35, 0xa2, 0x75, 0x55, + 0x70, 0x4d, 0x42, 0xbb, 0xcf, 0x54, 0xe4, 0xdb, 0x2d, 0x88, 0xa0, 0x7a, + 0xf2, 0x17, 0xa7, 0xdd, 0x13, 0x44, 0x9f, 0x5f, 0x6b, 0x2c, 0x42, 0x42, + 0x8b, 0x13, 0x4d, 0xf9, 0x5b, 0xf8, 0x33, 0x42, 0xd9, 0x9e, 0x50, 0x1c, + 0x7c, 0xbc, 0xfa, 0x62, 0x85, 0x0b, 0xcf, 0x99, 0xda, 0x9e, 0x04, 0x90, + 0xb2, 0xc6, 0xb2, 0x0a, 0x2a, 0x7c, 0x6d, 0x6a, 0x40, 0xfc, 0xf5, 0x50, + 0x98, 0x46, 0x89, 0x82, 0x40, +}; + +static const uint8_t kECDSACertificateDER[] = { + 0x30, 0x82, 0x02, 0xA6, 0x30, 0x82, 0x01, 0x5E, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x53, + 0x66, 0x2B, 0x39, 0x11, 0xBE, 0x18, 0xCB, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x0E, 0x47, 0x6E, 0x75, 0x54, 0x4C, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x43, + 0x41, 0x30, 0x22, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x34, 0x30, 0x35, 0x30, 0x34, 0x31, 0x31, 0x35, + 0x37, 0x34, 0x36, 0x5A, 0x18, 0x0F, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, + 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x14, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x09, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x68, 0x6F, 0x73, 0x74, 0x30, 0x59, 0x30, 0x13, 0x06, + 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, + 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x4C, 0x54, 0x46, 0xB0, 0x82, 0x30, 0x2F, 0x08, 0x16, 0xB7, + 0x9F, 0x23, 0xFF, 0xCF, 0xBA, 0x05, 0x0D, 0x8B, 0x6D, 0x18, 0x58, 0xAC, 0x46, 0xB9, 0xD0, 0x9E, + 0xAB, 0x72, 0x76, 0xF7, 0xC8, 0x0B, 0x3B, 0xD7, 0x6F, 0x6D, 0xC4, 0x97, 0xFB, 0x0D, 0x88, 0x33, + 0xBD, 0x17, 0xE2, 0xFE, 0x43, 0x8B, 0x48, 0x99, 0x60, 0x24, 0x57, 0x9C, 0xB7, 0x25, 0x6E, 0x71, + 0x4A, 0x3F, 0x03, 0x64, 0xDC, 0xB1, 0xA3, 0x81, 0x8D, 0x30, 0x81, 0x8A, 0x30, 0x0C, 0x06, 0x03, + 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x14, 0x06, 0x03, 0x55, 0x1D, + 0x11, 0x04, 0x0D, 0x30, 0x0B, 0x82, 0x09, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x68, 0x6F, 0x73, 0x74, + 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, + 0x05, 0x03, 0x03, 0x07, 0x80, 0x00, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, + 0x14, 0xBE, 0xF6, 0x00, 0xC6, 0x24, 0x6B, 0x60, 0xEA, 0xB5, 0xF8, 0x13, 0xC9, 0xA5, 0xD5, 0xE0, + 0xC9, 0x29, 0xD5, 0xD7, 0x33, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x4D, 0x56, 0xB7, 0x6A, 0x00, 0x58, 0xF1, 0x67, 0x92, 0xF4, 0xA6, 0x75, 0x55, 0x1B, + 0x8E, 0x53, 0x01, 0x03, 0xEF, 0xCF, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, + 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x31, 0x00, 0x63, 0xCD, 0xAF, 0xA6, 0xFF, 0xCC, + 0x78, 0x47, 0xE5, 0x00, 0xE3, 0x69, 0xF8, 0xC5, 0x19, 0x47, 0xA0, 0xD7, 0x0A, 0x95, 0x95, 0x5C, + 0xC7, 0x88, 0x1C, 0x0A, 0x2A, 0x97, 0x1C, 0x7E, 0xC0, 0x0E, 0xBD, 0x3D, 0xFF, 0x9A, 0xBC, 0x17, + 0x0E, 0xD9, 0xB8, 0x30, 0xDE, 0x84, 0x5F, 0x13, 0xA7, 0xA3, 0xC4, 0xA3, 0x3F, 0x01, 0x4F, 0x48, + 0xBB, 0x8A, 0xD2, 0x59, 0x4F, 0x17, 0x6B, 0x99, 0xD7, 0xD7, 0x26, 0xF7, 0xFB, 0xFB, 0xAB, 0x8F, + 0x79, 0x45, 0x1C, 0x6C, 0x46, 0xD3, 0x4A, 0xB3, 0x39, 0x70, 0xE2, 0x40, 0x12, 0x02, 0x60, 0xCA, + 0xE9, 0x6E, 0xDB, 0x13, 0xC8, 0x24, 0x46, 0x38, 0xAB, 0x4A, 0xBC, 0xCE, 0xFF, 0x3C, 0x2D, 0x99, + 0xDC, 0x53, 0xF5, 0xC2, 0x2D, 0x42, 0x3A, 0xA8, 0xB6, 0x3D, 0x4D, 0x1C, 0x1D, 0x7D, 0xF3, 0x38, + 0x89, 0xC0, 0xDE, 0xCB, 0x90, 0x00, 0x5A, 0x5A, 0xB8, 0xA5, 0x3C, 0x76, 0xD7, 0x1D, 0x60, 0xE9, + 0x12, 0x31, 0x2B, 0x8C, 0xD3, 0xA0, 0xA0, 0x6B, 0x67, 0x17, 0xE8, 0xAD, 0x50, 0x87, 0xCA, 0x24, + 0x74, 0xFD, 0x4E, 0xED, 0x21, 0x10, 0xC1, 0x70, 0x59, 0x7E, 0x2B, 0x9D, 0x8B, 0x0E, 0xCB, 0x03, + 0xEC, 0xE5, 0x75, 0xC8, 0x1E, 0xB4, 0xAA, 0x1F, 0x81, 0x93, 0x1B, 0x8D, 0x77, 0xAF, 0x96, 0x83, + 0xBD, 0x03, 0xEC, 0x68, 0x4D, 0xE5, 0x1A, 0x7E, 0x32, 0x78, 0x85, 0x0D, 0x34, 0xBC, 0x60, 0xE2, + 0xDC, 0x2F, 0x43, 0x42, 0x1D, 0xE5, 0x66, 0xD2, 0x45, 0xAA, 0x86, 0x84, 0x41, 0xB3, 0x31, 0xA9, + 0xC8, 0x2F, 0xA6, 0x79, 0xC6, 0xA2, 0xBB, 0x7E, 0x08, 0x84, 0x43, 0x14, 0xBC, 0xB9, 0x30, 0xCA, + 0xA4, 0x46, 0x51, 0xFA, 0x40, 0xF4, 0x09, 0xAC, 0x03, 0xE0, 0xBC, 0xCE, 0x2C, 0xB3, 0xB4, 0x55, + 0xC7, 0x20, 0x4F, 0xE8, 0xAC, 0xC4, 0x95, 0x81, 0x6B, 0x4B, 0x1C, 0x02, 0x12, 0xB7, 0xA4, 0x1A, + 0x69, 0x69, 0xF1, 0x7D, 0x97, 0x55, 0xB4, 0x53, 0x40, 0x95, 0x10, 0x3A, 0x23, 0xE9, 0x43, 0xD3, + 0x62, 0xB7, 0x07, 0xAF, 0xE0, 0xF6, 0x81, 0x47, 0x93, 0x55, 0x1E, 0xE1, 0x0A, 0x64, 0xAA, 0x62, + 0x1D, 0x8B, 0xEA, 0xFA, 0xC7, 0x15, 0xA0, 0x8F, 0x88, 0xE0 +}; + +static const uint8_t kECDSAPrivateKeyDER[] = { + 0x30, 0x78, 0x02, 0x01, 0x01, 0x04, 0x21, 0x00, 0xDB, 0x98, 0xC6, 0xEB, 0xDB, 0xC9, 0x68, 0x33, + 0x25, 0x2C, 0x0B, 0xA9, 0xEC, 0x0C, 0x98, 0x4A, 0x3A, 0x01, 0x38, 0xB6, 0x10, 0x70, 0x4E, 0x24, + 0x5B, 0xAB, 0xB7, 0xD0, 0xB2, 0xC3, 0x99, 0xAB, 0xA0, 0x0A, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, + 0x3D, 0x03, 0x01, 0x07, 0xA1, 0x44, 0x03, 0x42, 0x00, 0x04, 0x4C, 0x54, 0x46, 0xB0, 0x82, 0x30, + 0x2F, 0x08, 0x16, 0xB7, 0x9F, 0x23, 0xFF, 0xCF, 0xBA, 0x05, 0x0D, 0x8B, 0x6D, 0x18, 0x58, 0xAC, + 0x46, 0xB9, 0xD0, 0x9E, 0xAB, 0x72, 0x76, 0xF7, 0xC8, 0x0B, 0x3B, 0xD7, 0x6F, 0x6D, 0xC4, 0x97, + 0xFB, 0x0D, 0x88, 0x33, 0xBD, 0x17, 0xE2, 0xFE, 0x43, 0x8B, 0x48, 0x99, 0x60, 0x24, 0x57, 0x9C, + 0xB7, 0x25, 0x6E, 0x71, 0x4A, 0x3F, 0x03, 0x64, 0xDC, 0xB1 +}; + +static const uint8_t kEd25519CertificateDER[] = { + 0x30, 0x82, 0x01, 0xc1, 0x30, 0x82, 0x01, 0x66, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x08, 0x59, 0x36, 0x5a, 0xb1, 0x05, 0x86, 0x35, 0x51, 0x30, + 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, + 0x7d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x42, 0x45, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x06, 0x47, 0x6e, 0x75, 0x54, 0x4c, 0x53, 0x31, 0x25, 0x30, 0x23, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1c, 0x47, 0x6e, 0x75, 0x54, 0x4c, 0x53, + 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x0f, + 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x06, 0x4c, 0x65, 0x75, + 0x76, 0x65, 0x6e, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x1c, 0x47, 0x6e, 0x75, 0x54, 0x4c, 0x53, 0x20, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x20, 0x17, 0x0d, 0x31, 0x37, + 0x30, 0x36, 0x30, 0x36, 0x30, 0x37, 0x33, 0x33, 0x30, 0x35, 0x5a, 0x18, + 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, + 0x39, 0x35, 0x39, 0x5a, 0x30, 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x0e, 0x45, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, + 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x30, 0x2a, 0x30, 0x05, 0x06, + 0x03, 0x2b, 0x65, 0x70, 0x03, 0x21, 0x00, 0xf3, 0x05, 0xfb, 0xe9, 0x73, + 0x2c, 0x8c, 0xdf, 0xc8, 0x25, 0xf4, 0xbf, 0x40, 0x7b, 0x2c, 0x86, 0x9b, + 0x65, 0x66, 0x7f, 0x75, 0xe3, 0xd6, 0xf4, 0x77, 0xb1, 0x21, 0xb5, 0xb7, + 0xb5, 0x89, 0x87, 0xa3, 0x61, 0x30, 0x5f, 0x30, 0x0c, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0f, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x05, 0x03, 0x03, 0x07, + 0x80, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xe3, 0x52, 0x4a, 0x73, 0x9d, 0x18, 0xbc, 0xe9, 0xbf, 0x7c, 0x4d, + 0x71, 0xc8, 0xbc, 0x66, 0x22, 0x8a, 0xab, 0x3c, 0xaa, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0xb4, + 0x81, 0xfe, 0x98, 0x12, 0xbf, 0xb5, 0x28, 0xb9, 0x64, 0x40, 0x03, 0xcb, + 0xcc, 0x1f, 0x66, 0x4e, 0x28, 0x03, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, + 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, + 0x21, 0x00, 0xc7, 0x19, 0xf4, 0xa0, 0x33, 0x8e, 0x03, 0x55, 0x97, 0xeb, + 0x3f, 0x90, 0x85, 0xf0, 0xb4, 0x8d, 0x94, 0x53, 0x79, 0xe6, 0xd8, 0xb7, + 0x67, 0xaf, 0x58, 0x27, 0x44, 0x8a, 0xf0, 0x5c, 0xbd, 0x79, 0x02, 0x21, + 0x00, 0xdd, 0x94, 0x29, 0xe5, 0xf7, 0x97, 0xc0, 0x3d, 0x0a, 0x47, 0x26, + 0xed, 0xb6, 0xab, 0x46, 0x88, 0x7e, 0xab, 0x1e, 0xd9, 0x55, 0x8a, 0x5e, + 0xfb, 0x9c, 0x37, 0x25, 0x8b, 0xb1, 0xcb, 0x5e, 0xb0 +}; + +static const uint8_t kEd25519PrivateKeyDER[] = { + 0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x70, + 0x04, 0x22, 0x04, 0x20, 0xe5, 0xc3, 0x25, 0x73, 0x94, 0xe8, 0x9e, 0x97, + 0x75, 0x7c, 0x78, 0x59, 0xf7, 0x32, 0x3c, 0x82, 0xcf, 0x60, 0x90, 0xc7, + 0xe5, 0xb4, 0x5f, 0x9b, 0xd7, 0xa6, 0xf8, 0x36, 0x0c, 0x92, 0x59, 0x70 +}; + +static const uint8_t kEd448PrivateKeyDER[] = { + 0x30, 0x47, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x71, + 0x04, 0x3b, 0x04, 0x39, 0x0c, 0xf8, 0x7e, 0xb0, 0x94, 0xbf, 0x46, 0xd1, + 0x61, 0xbd, 0xe3, 0xb9, 0x9d, 0x1d, 0x32, 0x85, 0x6f, 0xec, 0xfa, 0xe0, + 0x14, 0x23, 0x92, 0xcd, 0x98, 0xc0, 0x91, 0xdb, 0x20, 0x6d, 0x17, 0x4b, + 0xbf, 0x8e, 0xf4, 0x76, 0xa9, 0xcf, 0x74, 0x6d, 0x94, 0x30, 0x6c, 0x56, + 0x5f, 0x97, 0xac, 0x50, 0x79, 0x6f, 0x02, 0x1e, 0xff, 0x8d, 0x77, 0x9c, + 0xa5 +}; + +static const uint8_t kEd448CertificateDER[] = { + 0x30, 0x82, 0x02, 0x86, 0x30, 0x82, 0x01, 0x3e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x14, 0x71, 0x76, 0x43, 0x3c, 0xd1, 0x31, 0x93, 0x61, 0xdd, + 0xf7, 0x39, 0x0e, 0x77, 0xd7, 0x35, 0x41, 0x3b, 0x9d, 0xed, 0x8d, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, + 0x05, 0x00, 0x30, 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x0e, 0x47, 0x6e, 0x75, 0x54, 0x4c, 0x53, 0x20, 0x54, 0x65, + 0x73, 0x74, 0x20, 0x43, 0x41, 0x30, 0x20, 0x17, 0x0d, 0x31, 0x39, 0x30, + 0x34, 0x32, 0x34, 0x31, 0x34, 0x35, 0x36, 0x35, 0x38, 0x5a, 0x18, 0x0f, + 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, + 0x35, 0x39, 0x5a, 0x30, 0x00, 0x30, 0x43, 0x30, 0x05, 0x06, 0x03, 0x2b, + 0x65, 0x71, 0x03, 0x3a, 0x00, 0x9a, 0xdd, 0xde, 0x61, 0xf6, 0x68, 0xf2, + 0xdb, 0xc0, 0xac, 0x24, 0x87, 0x4a, 0xdb, 0x47, 0xa2, 0xaa, 0x6a, 0xd5, + 0x9f, 0xa8, 0x88, 0xbd, 0xc5, 0xd4, 0x30, 0x70, 0x5e, 0xd0, 0x79, 0x6a, + 0x8c, 0x33, 0x07, 0x82, 0xb5, 0x18, 0x60, 0x78, 0x5b, 0xe6, 0x3f, 0xd7, + 0x9b, 0x1c, 0x7c, 0xf5, 0x8f, 0xd7, 0x28, 0xb2, 0xbf, 0x3d, 0x77, 0x39, + 0x51, 0x00, 0xa3, 0x81, 0x8d, 0x30, 0x81, 0x8a, 0x30, 0x0c, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x14, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x0d, 0x30, 0x0b, 0x82, 0x09, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x30, 0x13, 0x06, 0x03, + 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x0f, + 0x01, 0x01, 0xff, 0x04, 0x05, 0x03, 0x03, 0x07, 0x80, 0x00, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x60, 0x1a, 0x34, + 0x07, 0x71, 0x25, 0xec, 0x23, 0x5a, 0xe5, 0x71, 0xbc, 0x95, 0xec, 0x1b, + 0x8b, 0x9a, 0x19, 0xdc, 0xfb, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x4d, 0x56, 0xb7, 0x6a, 0x00, 0x58, + 0xf1, 0x67, 0x92, 0xf4, 0xa6, 0x75, 0x55, 0x1b, 0x8e, 0x53, 0x01, 0x03, + 0xef, 0xcf, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x31, 0x00, 0x2f, 0xec, + 0xc8, 0x85, 0xde, 0x78, 0x08, 0xab, 0x6d, 0x2e, 0xd7, 0xc2, 0x9f, 0x04, + 0xe1, 0xbb, 0x50, 0x73, 0xfc, 0xf5, 0x15, 0xb0, 0x48, 0xa5, 0x39, 0x0c, + 0x9b, 0xe0, 0x6f, 0xf6, 0x7f, 0xfd, 0x4a, 0xb2, 0x08, 0xa2, 0x27, 0xe7, + 0x68, 0x1b, 0x37, 0x28, 0xde, 0xd4, 0x19, 0xa4, 0xd2, 0x76, 0xff, 0x1d, + 0xa6, 0x02, 0x06, 0x87, 0x3d, 0x1e, 0x07, 0xfc, 0x7c, 0x8b, 0xf7, 0xdc, + 0x78, 0x10, 0xc9, 0xc6, 0x66, 0x93, 0xd3, 0x19, 0x3c, 0xa6, 0x77, 0xb7, + 0xee, 0xe3, 0x1d, 0x15, 0xd5, 0x59, 0x28, 0xd9, 0xd9, 0x7f, 0x4c, 0xc2, + 0x6e, 0x79, 0x00, 0xaf, 0xdd, 0xdc, 0x61, 0x68, 0xeb, 0x2e, 0x96, 0x39, + 0xdd, 0xd6, 0x4c, 0x9b, 0x10, 0x69, 0x4d, 0x05, 0x84, 0xd7, 0x5c, 0x03, + 0x63, 0xf1, 0xe3, 0x6d, 0x79, 0xd8, 0x2e, 0xb5, 0x40, 0x27, 0xb8, 0x3f, + 0x97, 0xb5, 0xea, 0x97, 0x5b, 0x78, 0x5d, 0x9f, 0x73, 0x00, 0xf4, 0x93, + 0x63, 0x99, 0x13, 0x36, 0xf9, 0x21, 0xef, 0x82, 0xdc, 0x16, 0xf4, 0x9a, + 0x96, 0x5c, 0xe9, 0xce, 0x78, 0x85, 0x48, 0x7f, 0x5b, 0xff, 0x7d, 0x8e, + 0xde, 0xb5, 0x70, 0x81, 0x24, 0x39, 0x8e, 0xd2, 0xaa, 0x61, 0xf3, 0x6b, + 0x54, 0x61, 0xac, 0x27, 0xf6, 0x1f, 0xec, 0x35, 0xe6, 0x22, 0xd2, 0xb8, + 0xef, 0x1d, 0x94, 0x47, 0x8e, 0x29, 0x70, 0x87, 0x2e, 0x9f, 0x36, 0x53, + 0xba, 0xe8, 0x4f, 0x97, 0xa2, 0xcd, 0x7a, 0x52, 0x27, 0xb8, 0xfa, 0x2f, + 0xa0, 0x9a, 0x7c, 0xce, 0xc1, 0xde, 0x70, 0x0f, 0x2c, 0x7b, 0x6a, 0x18, + 0x3b, 0x72, 0x34, 0x7c, 0x11, 0x77, 0x0a, 0x9c, 0x1d, 0x2c, 0x18, 0xc4, + 0x34, 0xa7, 0x58, 0x5a, 0xb7, 0x58, 0xff, 0x2f, 0x7c, 0xda, 0x70, 0xaa, + 0x78, 0xa4, 0x89, 0x06, 0x55, 0xee, 0xbf, 0x52, 0x89, 0xbf, 0x18, 0x0a, + 0x6f, 0x08, 0x51, 0xa2, 0x47, 0x59, 0x96, 0x06, 0xd9, 0x0e, 0x01, 0x72, + 0x5b, 0x3f, 0x7e, 0x74, 0xe9, 0x6a, 0x2f, 0x54, 0x00, 0xa4, 0x1e, 0x38, + 0x03, 0x6c, 0xa0, 0xb2, 0xb4, 0xf8, 0x33, 0x16, 0x4c, 0x1b, 0x0c, 0x00, + 0xa7, 0x7d, 0x84, 0xa3, 0x33, 0x44, 0x31, 0x96, 0x50, 0x9a, 0x99, 0xf2, + 0x4a, 0xdd +}; + +/* Raw public-key key material for testing */ +static char rawpk_public_key_pem1[] = + "-----BEGIN PUBLIC KEY-----\n" + "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyAeBq7Ti7oVExeVT1PqH\n" + "GBXzC+johdeVnZgZRLhDTIaIGODV5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarN\n" + "H/+AcfV6ZJQSG4SSmhoIGzfdcdjuBmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim\n" + "/LVL/M/1Rd6Urskv/5jXGG4FVUNfhXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdo\n" + "h5oBuxdooaH9/kwphqJAp03LwtaSStX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8s\n" + "ryHXkC8nsdA+h+IRd8bPa/KuWQNfjxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2Nh\n" + "N4V0/7fwFLbZtfUBg4pqUl2ktkdwsNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X\n" + "1qCVmfHzBZCM5OhxoeoauE+xu+5nvYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mE\n" + "VKn9vsQeaVvw9D6PgNQM99HkbGhRMGPOzcHjS/ZeLd1zAgMBAAE=\n" + "-----END PUBLIC KEY-----"; + +const gnutls_datum_t rawpk_public_key1 = { + (unsigned char*)rawpk_public_key_pem1, + sizeof(rawpk_public_key_pem1) - 1 +}; + +static char rawpk_private_key_pem1[] = + "-----BEGIN RSA PRIVATE KEY-----\n" + "MIIG4wIBAAKCAYEAyAeBq7Ti7oVExeVT1PqHGBXzC+johdeVnZgZRLhDTIaIGODV\n" + "5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarNH/+AcfV6ZJQSG4SSmhoIGzfdcdju\n" + "BmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim/LVL/M/1Rd6Urskv/5jXGG4FVUNf\n" + "hXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdoh5oBuxdooaH9/kwphqJAp03LwtaS\n" + "StX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8sryHXkC8nsdA+h+IRd8bPa/KuWQNf\n" + "jxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2NhN4V0/7fwFLbZtfUBg4pqUl2ktkdw\n" + "sNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X1qCVmfHzBZCM5OhxoeoauE+xu+5n\n" + "vYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mEVKn9vsQeaVvw9D6PgNQM99HkbGhR\n" + "MGPOzcHjS/ZeLd1zAgMBAAECggGBALHiAw3Yscqd11gJpbCMDqF7u4VG3alQ26un\n" + "PClhl++w380H/Q62TriK1LKKpHgj8834NpXUsXg2d4jTTDcmCn6/L9GoFOzmxOeV\n" + "0O2b4sOZvaNl397qrwLxDAPhec7z9yL4B4tcBqmJ3b3+izX6cS3gaC/uG9fDpgN9\n" + "xOKPYBFInhOB86twAz9cc9eXysto0nJvlODDBj/xwUjvso9qydl1Or7PhWvf7Ek+\n" + "H9ur5MUjqOWe/b/xaSWsfTrJzF/ovbRnGbXLIpozIx609TZS4wYSqU5FUjkL0zTB\n" + "bTdb3jgFm/5SHnnThD67zbZavCxiN9wiTs3zeGlxYf8hMeaTkOYiAOR4/1bOTe2J\n" + "ttRA1EcY+i6H0+JOtLkqwj5ka0m3lrH2KD3E/mHs1yfERQx7VVjw9IpeAKmi5lzQ\n" + "v1lhIXiv75Mb0NMsCknGYPLHCyOY5aA2dhR8Wnr67gOYu3ssexLzMKczk5OTzl5c\n" + "PRHJRXDpJqgOYWujF99uCYhnxonO4QKBwQDUQB0s4shWTyOylq7j4rCSbHf2zHDf\n" + "HBYC75wyjQECNQXNk6hp5jJz2BC0XvnO7PYSRXaVauMc/S3V7V7GMsry3uugfwLy\n" + "XNnyRVY4voe5SNt/WAArybNsPNPEIPzgkZmeWvcpoY8ESufPfVW54BvGHt3YjPjI\n" + "gYmFUkpPRUWXfji91NpTlIrsP6jtBTYXGV4kVm+TawP06a6FdCjJQaI7Nm2dwUiX\n" + "Cmf4oFSo8mGxi0wimX+BiLJep2bYnUF2gqMCgcEA8UKESDX3jBpyz59vpSjmfpw1\n" + "AnlEfR6s83W92m0HfEYLulfxq9xA2zaQjy4GbaKVRfLrO2Pj3bZWs89RGXTQVGgq\n" + "ztCLIRsL+M1SQ883e8yx4jwFaqIM+pPpvAjOOOTdpgY33h7w20tgrbzVKeOl1ghC\n" + "IZ+K8C/tIGZXI5/TYppl7csIOoYRtzuRpyDE0tmwy658RfyxzEtfLxJoaLiFXOE0\n" + "zFFrEvT/jto4jN+cwsdnHhxrY9+bVNUNyb9ZH7bxAoHARvcIyjEo+nKLZPKsltT8\n" + "ZHiPw5ynQHGLin/CocQzSiGgRxPPg1jMFZ9wNl5q95ySyZkgBOUv+klMQfKTdYEW\n" + "Cg4uigLtYUtaM36rTV2m03RgrzslE37k1pOf2juNUShdTGztpqW1w6Gnz+AAAZ3E\n" + "q4E2e2jm5WMqL8FLxyVKF1TEc/Pu63MG3+aI/HZ5l0+MAmpD8+4b7I8VItmrqV6g\n" + "d1vDWrN9KcL48E/q/nHL6CjC0+6uiwjBWpRt9o7djFoxAoHAJzK/e1wJVGIXtVQa\n" + "N6Nlj7yhgD1ju1B4mTXQGuUMCkz3KtePFHU8tGExK5I2ySlZR3wobAXWx/cQLzbH\n" + "3nL0RkKGcgPAFyjl0Q7LBulsAllHrZJC7whVQ4E0wLBNkUDeIlNwUE6Go5qjopbD\n" + "q4KpNxUwaXYahNvEkzcNgWQ+XA7p8LDELX4K8tJi39ybHgbwiqdW2ags2xyD4ooD\n" + "HMCeKnEMuwWfd/0GaJdcCMdsGNl9D49eg2OZQTc8fkLwoA6BAoHATQdk3VZwGGn/\n" + "93p9vu189alkshTmir+SOo/ufH5U+j7t8cPeT7psuYAPZWS+Z6KEzvHxj54pAvcp\n" + "mlAngD3+AfHDn/VAtYv5HVcpZ+K2K0X4v8N5HGIubgaebs2oVNz+RAWnd8K2drDG\n" + "NcJV3C+zLziTCwvpGCIy3T/lHjKe+YczjGfhg2e6PgfwhTqPAjuhUZ8wScYo7l7V\n" + "zAhlSL0665IXJ32zX+3LyQFDbkB6pbKy5TU+rX3DmDyj3MSbc3kR\n" + "-----END RSA PRIVATE KEY-----\n"; + +const gnutls_datum_t rawpk_private_key1 = { + (unsigned char*)rawpk_private_key_pem1, + sizeof(rawpk_private_key_pem1) - 1 +}; + +#define IGNORE_CERTS \ + (void) kEd25519PrivateKeyDER; \ + (void) kEd25519CertificateDER; \ + (void) kEd448PrivateKeyDER; \ + (void) kEd448CertificateDER; \ + (void) kECDSAPrivateKeyDER; \ + (void) kECDSACertificateDER; \ + (void) kRSAPrivateKeyDER; \ + (void) kRSACertificateDER + +#endif diff --git a/fuzz/fuzzer.h b/fuzz/fuzzer.h new file mode 100644 index 0000000..92ae91e --- /dev/null +++ b/fuzz/fuzzer.h @@ -0,0 +1,42 @@ +/* + * Copyright(c) 2017 Free Software Foundation, Inc. + * + * GnuTLS is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GnuTLS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with gnutls. If not, see <https://www.gnu.org/licenses/>. + */ + +#include <stddef.h> // size_t +#include <stdint.h> // uint8_t +#include <gnutls/gnutls.h> + +#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) + #pragma GCC diagnostic ignored "-Wvla-larger-than=" +#endif + +#ifdef __cplusplus +extern "C" +#endif + +#define VERS_STR "-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +static void __attribute__((constructor)) init(void) +{ + gnutls_global_init(); +} + +static void __attribute__((destructor)) deinit(void) +{ + gnutls_global_deinit(); +} diff --git a/fuzz/gnutls_base64_decoder_fuzzer.c b/fuzz/gnutls_base64_decoder_fuzzer.c new file mode 100644 index 0000000..c53f79d --- /dev/null +++ b/fuzz/gnutls_base64_decoder_fuzzer.c @@ -0,0 +1,43 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw = {.data = (unsigned char *)data, .size = size}; + gnutls_datum_t out; + unsigned char result[50]; + size_t result_size = sizeof(result); + int ret; + + ret = gnutls_pem_base64_decode2(NULL, &raw, &out); + if (ret >= 0) + gnutls_free(out.data); + + gnutls_pem_base64_decode(NULL, &raw, result, &result_size); + + ret = gnutls_base64_decode2(&raw, &out); + if (ret >= 0) + gnutls_free(out.data); + + return 0; +} diff --git a/fuzz/gnutls_base64_decoder_fuzzer.dict b/fuzz/gnutls_base64_decoder_fuzzer.dict new file mode 100644 index 0000000..b5d5c9b --- /dev/null +++ b/fuzz/gnutls_base64_decoder_fuzzer.dict @@ -0,0 +1,2 @@ +"-----BEGIN " +"-----END " diff --git a/fuzz/gnutls_base64_encoder_fuzzer.c b/fuzz/gnutls_base64_encoder_fuzzer.c new file mode 100644 index 0000000..da0c767 --- /dev/null +++ b/fuzz/gnutls_base64_encoder_fuzzer.c @@ -0,0 +1,43 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw = {.data = (unsigned char *)data, .size = size}; + gnutls_datum_t out; + char result[50]; + size_t result_size = sizeof(result); + int ret; + + ret = gnutls_pem_base64_encode2(NULL, &raw, &out); + if (ret >= 0) + gnutls_free(out.data); + + gnutls_pem_base64_encode("x", &raw, result, &result_size); + + ret = gnutls_base64_encode2(&raw, &out); + if (ret >= 0) + gnutls_free(out.data); + + return 0; +} diff --git a/fuzz/gnutls_client_fuzzer.c b/fuzz/gnutls_client_fuzzer.c new file mode 100644 index 0000000..b68cdb6 --- /dev/null +++ b/fuzz/gnutls_client_fuzzer.c @@ -0,0 +1,76 @@ +/* +# Copyright 2016 Google Inc. +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <fcntl.h> +#include <stdint.h> +#include <sys/types.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <stdbool.h> + +#include <gnutls/gnutls.h> +#include "mem.h" +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_session_t session; + gnutls_certificate_credentials_t xcred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_CLIENT); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&xcred); + assert(res >= 0); + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + assert(res >= 0); + + /*res = gnutls_set_default_priority(session);*/ + res = gnutls_priority_set_direct(session, "NORMAL:+SIGN-EDDSA-ED448:"VERS_STR, NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + while (true) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_certificate_free_credentials(xcred); + return 0; +} diff --git a/fuzz/gnutls_client_rawpk_fuzzer.c b/fuzz/gnutls_client_rawpk_fuzzer.c new file mode 100644 index 0000000..52dc5da --- /dev/null +++ b/fuzz/gnutls_client_rawpk_fuzzer.c @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * Copyright (C) 2019 Tom Vrancken (dev@tomvrancken.nl) + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + + +/*** + * This fuzzer tests the behavior of the GnuTLS library in client mode, + * specifically dealing with raw public keys during the handshake. + * + * The fuzzer corpus generated as first input was generated with the + * following parameters for gnutls-serv and gnutls-cli: + * + * gnutls-serv --priority NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK + * gnutls-cli localhost:5556 --priority NORMAL:-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK --no-ca-verification + * + * The above yields a handshake where both the client and server present + * a raw public-key to each other. + */ + +#include <assert.h> +#include <fcntl.h> +#include <stdint.h> +#include <sys/types.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <stdbool.h> + +#include <gnutls/gnutls.h> + +#include "certs.h" +#include "mem.h" +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + IGNORE_CERTS; + int res; + gnutls_session_t session; + gnutls_certificate_credentials_t rawpk_cred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_ENABLE_RAWPK); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&rawpk_cred); + assert(res >= 0); + + res = + gnutls_certificate_set_rawpk_key_mem(rawpk_cred, + &rawpk_public_key1, + &rawpk_private_key1, + GNUTLS_X509_FMT_PEM, + NULL, 0, NULL, 0, 0); + assert(res >= 0); + + gnutls_certificate_set_known_dh_params(rawpk_cred, GNUTLS_SEC_PARAM_MEDIUM); + + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, rawpk_cred); + assert(res >= 0); + + res = gnutls_priority_set_direct(session, "NORMAL:"VERS_STR":-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK", NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + while (true) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_certificate_free_credentials(rawpk_cred); + return 0; +} diff --git a/fuzz/gnutls_dn_parser_fuzzer.c b/fuzz/gnutls_dn_parser_fuzzer.c new file mode 100644 index 0000000..ccaa722 --- /dev/null +++ b/fuzz/gnutls_dn_parser_fuzzer.c @@ -0,0 +1,54 @@ +/* +# Copyright 2016 Nikos Mavrogiannopoulos +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/x509.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t out, raw; + gnutls_x509_dn_t dn; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_x509_dn_init(&dn); + assert(ret >= 0); + + ret = gnutls_x509_dn_import(dn, &raw); + if (ret < 0) + goto cleanup; + + /* If properly loaded, try to re-export in string */ + ret = gnutls_x509_dn_get_str(dn, &out); + if (ret < 0) { + goto cleanup; + } + + gnutls_free(out.data); + +cleanup: + gnutls_x509_dn_deinit(dn); + return 0; +} diff --git a/fuzz/gnutls_ext_raw_parse_fuzzer.c b/fuzz/gnutls_ext_raw_parse_fuzzer.c new file mode 100644 index 0000000..f9c6bec --- /dev/null +++ b/fuzz/gnutls_ext_raw_parse_fuzzer.c @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2019 Red Hat, Inc. + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GnuTLS. + * + * The GnuTLS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/> + * + */ + +#include <stdint.h> + +#include <gnutls/gnutls.h> + +#include "fuzzer.h" + +static +int cb(void *ctx, unsigned tls_id, const unsigned char *data, unsigned data_size) +{ + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + + raw.data = (unsigned char *)data; + raw.size = size; + + gnutls_ext_raw_parse(NULL, cb, &raw, 0); + + gnutls_ext_raw_parse(NULL, cb, &raw, GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO); + + gnutls_ext_raw_parse(NULL, cb, &raw, GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO); + + return 0; +} diff --git a/fuzz/gnutls_handshake_client_fuzzer.c b/fuzz/gnutls_handshake_client_fuzzer.c new file mode 100644 index 0000000..f03b830 --- /dev/null +++ b/fuzz/gnutls_handshake_client_fuzzer.c @@ -0,0 +1,93 @@ +/* +# Copyright 2016 Google Inc. +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <fcntl.h> +#include <stdint.h> +#include <sys/types.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <stdbool.h> + +#include <gnutls/crypto.h> +#include <gnutls/gnutls.h> +#include "handshake.h" +#include "fuzzer.h" + +int __attribute__ ((visibility ("protected"))) +gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len) +{ + memset(data, 0xff, len); + + /* Flip the first byte to avoid infinite loop in the RSA + * blinding code of Nettle */ + if (len > 0) + memset(data, 0x0, 1); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_session_t session; + gnutls_certificate_credentials_t xcred; + struct mem_st memdata; + unsigned int retry; + + res = gnutls_init(&session, GNUTLS_CLIENT); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&xcred); + assert(res >= 0); + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + assert(res >= 0); + + /*res = gnutls_set_default_priority(session);*/ + res = gnutls_priority_set_direct(session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, error_push); + gnutls_transport_set_pull_function(session, error_pull); + gnutls_handshake_set_read_function(session, handshake_discard); + + retry = 0; + do { + res = gnutls_handshake(session); + if (res == GNUTLS_E_AGAIN) { + if (handshake_pull(session, &memdata) < 0) { + res = GNUTLS_E_INTERNAL_ERROR; + break; + } + if (retry > HANDSHAKE_MAX_RETRY_COUNT) { + break; + } + retry++; + } else { + retry = 0; + } + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + + gnutls_deinit(session); + gnutls_certificate_free_credentials(xcred); + return 0; +} diff --git a/fuzz/gnutls_handshake_server_fuzzer.c b/fuzz/gnutls_handshake_server_fuzzer.c new file mode 100644 index 0000000..dd58cec --- /dev/null +++ b/fuzz/gnutls_handshake_server_fuzzer.c @@ -0,0 +1,138 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/crypto.h> +#include <gnutls/gnutls.h> + +#include "certs.h" +#include "handshake.h" +#include "fuzzer.h" + +int __attribute__ ((visibility ("protected"))) +gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len) +{ + memset(data, 0xff, len); + + /* Flip the first byte to avoid infinite loop in the RSA + * blinding code of Nettle */ + if (len > 0) + memset(data, 0x0, 1); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_datum_t rsa_cert, rsa_key; + gnutls_datum_t ecdsa_cert, ecdsa_key; + gnutls_datum_t ed25519_cert, ed25519_key; + gnutls_datum_t ed448_cert, ed448_key; + gnutls_session_t session; + gnutls_certificate_credentials_t xcred; + struct mem_st memdata; + unsigned int retry; + + res = gnutls_init(&session, GNUTLS_SERVER); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&xcred); + assert(res >= 0); + + rsa_cert.data = (unsigned char *)kRSACertificateDER; + rsa_cert.size = sizeof(kRSACertificateDER); + rsa_key.data = (unsigned char *)kRSAPrivateKeyDER; + rsa_key.size = sizeof(kRSAPrivateKeyDER); + + ecdsa_cert.data = (unsigned char *)kECDSACertificateDER; + ecdsa_cert.size = sizeof(kECDSACertificateDER); + ecdsa_key.data = (unsigned char *)kECDSAPrivateKeyDER; + ecdsa_key.size = sizeof(kECDSAPrivateKeyDER); + + ed25519_cert.data = (unsigned char *)kEd25519CertificateDER; + ed25519_cert.size = sizeof(kEd25519CertificateDER); + ed25519_key.data = (unsigned char *)kEd25519PrivateKeyDER; + ed25519_key.size = sizeof(kEd25519PrivateKeyDER); + + ed448_cert.data = (unsigned char *)kEd448CertificateDER; + ed448_cert.size = sizeof(kEd448CertificateDER); + ed448_key.data = (unsigned char *)kEd448PrivateKeyDER; + ed448_key.size = sizeof(kEd448PrivateKeyDER); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert, &ed25519_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed448_cert, &ed448_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM); + + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + assert(res >= 0); + + /*res = gnutls_set_default_priority(session);*/ + res = gnutls_priority_set_direct(session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, error_push); + gnutls_transport_set_pull_function(session, error_pull); + gnutls_handshake_set_read_function(session, handshake_discard); + + retry = 0; + do { + res = gnutls_handshake(session); + if (res == GNUTLS_E_AGAIN) { + if (handshake_pull(session, &memdata) < 0) { + res = GNUTLS_E_INTERNAL_ERROR; + break; + } + if (retry > HANDSHAKE_MAX_RETRY_COUNT) { + break; + } + retry++; + } else { + retry = 0; + } + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + + gnutls_deinit(session); + gnutls_certificate_free_credentials(xcred); + return 0; +} diff --git a/fuzz/gnutls_idna_parser_fuzzer.c b/fuzz/gnutls_idna_parser_fuzzer.c new file mode 100644 index 0000000..ca8dfdc --- /dev/null +++ b/fuzz/gnutls_idna_parser_fuzzer.c @@ -0,0 +1,38 @@ +/* +# Copyright 2016 Nikos Mavrogiannopoulos +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdio.h> +#include <stdint.h> +#include <string.h> + +#include <gnutls/gnutls.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t out; + + if (gnutls_idna_map((const char *) data, size, &out, 0) >= 0) { + assert(out.size == strlen((char *) out.data)); + gnutls_free(out.data); + } + + return 0; +} diff --git a/fuzz/gnutls_ocsp_req_parser_fuzzer.c b/fuzz/gnutls_ocsp_req_parser_fuzzer.c new file mode 100644 index 0000000..17c945d --- /dev/null +++ b/fuzz/gnutls_ocsp_req_parser_fuzzer.c @@ -0,0 +1,49 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/ocsp.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_datum_t out; + gnutls_ocsp_req_t req; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_ocsp_req_init(&req); + assert(ret >= 0); + + ret = gnutls_ocsp_req_import(req, &raw); + if (ret >= 0) { + ret = gnutls_ocsp_req_print(req, GNUTLS_OCSP_PRINT_FULL, &out); + assert(ret >= 0); + gnutls_free(out.data); + } + + gnutls_ocsp_req_deinit(req); + return 0; +} diff --git a/fuzz/gnutls_ocsp_resp_parser_fuzzer.c b/fuzz/gnutls_ocsp_resp_parser_fuzzer.c new file mode 100644 index 0000000..598d9ee --- /dev/null +++ b/fuzz/gnutls_ocsp_resp_parser_fuzzer.c @@ -0,0 +1,49 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/ocsp.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_datum_t out; + gnutls_ocsp_resp_t resp; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_ocsp_resp_init(&resp); + assert(ret >= 0); + + ret = gnutls_ocsp_resp_import(resp, &raw); + if (ret >= 0) { + ret = gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_FULL, &out); + assert(ret >= 0); + gnutls_free(out.data); + } + + gnutls_ocsp_resp_deinit(resp); + return 0; +} diff --git a/fuzz/gnutls_ocsp_resp_parser_fuzzer.repro/0b1ff2feb11e82901e7ba196270fa134e5169364 b/fuzz/gnutls_ocsp_resp_parser_fuzzer.repro/0b1ff2feb11e82901e7ba196270fa134e5169364 Binary files differnew file mode 100644 index 0000000..f454bf4 --- /dev/null +++ b/fuzz/gnutls_ocsp_resp_parser_fuzzer.repro/0b1ff2feb11e82901e7ba196270fa134e5169364 diff --git a/fuzz/gnutls_pkcs12_key_parser_fuzzer.c b/fuzz/gnutls_pkcs12_key_parser_fuzzer.c new file mode 100644 index 0000000..9aaf92f --- /dev/null +++ b/fuzz/gnutls_pkcs12_key_parser_fuzzer.c @@ -0,0 +1,72 @@ +/* +# Copyright 2016 Nikos Mavrogiannopoulos +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/pkcs12.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw = {(unsigned char*)data, (unsigned int)size}; + gnutls_pkcs12_t p12; + gnutls_x509_privkey_t key; + gnutls_x509_crt_t *chain; + gnutls_x509_crt_t *extras; + gnutls_x509_crl_t crl; + unsigned int chain_len = 0, extras_len = 0; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_pkcs12_init(&p12); + assert(ret >= 0); + + ret = gnutls_pkcs12_import(p12, &raw, GNUTLS_X509_FMT_DER, 0); + if (ret < 0) { + goto cleanup; + } + + /* catch crashes */ + gnutls_pkcs12_verify_mac(p12, "1234"); + + ret = gnutls_pkcs12_simple_parse(p12, "1234", &key, &chain, &chain_len, &extras, &extras_len, &crl, 0); + if (ret >= 0) { + gnutls_x509_privkey_deinit(key); + if (crl) + gnutls_x509_crl_deinit(crl); + if (extras_len > 0) { + for (unsigned i = 0; i < extras_len; i++) + gnutls_x509_crt_deinit(extras[i]); + gnutls_free(extras); + } + if (chain_len > 0) { + for (unsigned i = 0; i < chain_len; i++) + gnutls_x509_crt_deinit(chain[i]); + gnutls_free(chain); + } + } + +cleanup: + gnutls_pkcs12_deinit(p12); + return 0; +} diff --git a/fuzz/gnutls_pkcs12_key_parser_fuzzer.repro/dcbb6c7d385ddf87823849890768b022dc9e1eff b/fuzz/gnutls_pkcs12_key_parser_fuzzer.repro/dcbb6c7d385ddf87823849890768b022dc9e1eff Binary files differnew file mode 100644 index 0000000..ebc03d3 --- /dev/null +++ b/fuzz/gnutls_pkcs12_key_parser_fuzzer.repro/dcbb6c7d385ddf87823849890768b022dc9e1eff diff --git a/fuzz/gnutls_pkcs7_parser_fuzzer.c b/fuzz/gnutls_pkcs7_parser_fuzzer.c new file mode 100644 index 0000000..92f1f33 --- /dev/null +++ b/fuzz/gnutls_pkcs7_parser_fuzzer.c @@ -0,0 +1,49 @@ +/* +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/pkcs7.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_datum_t out; + gnutls_pkcs7_t pkcs7; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_pkcs7_init(&pkcs7); + assert(ret >= 0); + + ret = gnutls_pkcs7_import(pkcs7, &raw, GNUTLS_X509_FMT_DER); + if (ret >= 0) { + ret = gnutls_pkcs7_print(pkcs7, GNUTLS_CRT_PRINT_FULL, &out); + assert(ret >= 0); + gnutls_free(out.data); + } + + gnutls_pkcs7_deinit(pkcs7); + return 0; +} diff --git a/fuzz/gnutls_pkcs8_key_parser_fuzzer.c b/fuzz/gnutls_pkcs8_key_parser_fuzzer.c new file mode 100644 index 0000000..982b485 --- /dev/null +++ b/fuzz/gnutls_pkcs8_key_parser_fuzzer.c @@ -0,0 +1,56 @@ +/* +# Copyright 2016 Nikos Mavrogiannopoulos +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/x509.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_x509_privkey_t key; + gnutls_datum_t out; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_x509_privkey_init(&key); + assert(ret >= 0); + + ret = gnutls_x509_privkey_import_pkcs8(key, &raw, GNUTLS_X509_FMT_DER, "password", 0); + if (ret < 0) { + goto cleanup; + } + + /* If properly loaded, try to re-export */ + ret = gnutls_x509_privkey_export2(key, GNUTLS_X509_FMT_DER, &out); + if (ret < 0) { + goto cleanup; + } + + gnutls_free(out.data); + +cleanup: + gnutls_x509_privkey_deinit(key); + return 0; +} diff --git a/fuzz/gnutls_private_key_parser_fuzzer.c b/fuzz/gnutls_private_key_parser_fuzzer.c new file mode 100644 index 0000000..c7d4a7b --- /dev/null +++ b/fuzz/gnutls_private_key_parser_fuzzer.c @@ -0,0 +1,43 @@ +/* +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/x509.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_x509_privkey_t key; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_x509_privkey_init(&key); + assert(ret >= 0); + + ret = gnutls_x509_privkey_import(key, &raw, GNUTLS_X509_FMT_DER); + + gnutls_x509_privkey_deinit(key); + return 0; +} diff --git a/fuzz/gnutls_psk_client_fuzzer.c b/fuzz/gnutls_psk_client_fuzzer.c new file mode 100644 index 0000000..6133c99 --- /dev/null +++ b/fuzz/gnutls_psk_client_fuzzer.c @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#include <assert.h> +#include <fcntl.h> +#include <stdint.h> +#include <sys/types.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/gnutls.h> + +#include "psk.h" +#include "mem.h" +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_session_t session; + gnutls_psk_client_credentials_t pcred; + struct mem_st memdata; + gnutls_datum_t psk_key; + + psk_key.data = (unsigned char*)psk_key16; + psk_key.size = 16; + + res = gnutls_init(&session, GNUTLS_CLIENT); + assert(res >= 0); + + res = gnutls_psk_allocate_client_credentials(&pcred); + assert(res >= 0); + + res = gnutls_psk_set_client_credentials(pcred, "test", &psk_key, GNUTLS_PSK_KEY_RAW); + assert(res >= 0); + + res = gnutls_credentials_set(session, GNUTLS_CRD_PSK, pcred); + assert(res >= 0); + + res = gnutls_priority_set_direct(session, "NORMAL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:"VERS_STR, NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, + mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + for (;;) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_psk_free_client_credentials(pcred); + return 0; +} diff --git a/fuzz/gnutls_psk_server_fuzzer.c b/fuzz/gnutls_psk_server_fuzzer.c new file mode 100644 index 0000000..d07e2ee --- /dev/null +++ b/fuzz/gnutls_psk_server_fuzzer.c @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#include <assert.h> +#include <stdint.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/gnutls.h> + +#include "certs.h" +#include "psk.h" +#include "mem.h" +#include "fuzzer.h" + +static int psk_cb(gnutls_session_t session, const char *username, gnutls_datum_t * key) +{ + key->data = (unsigned char*)gnutls_malloc(16); + assert(key->data != NULL); + + memcpy(key->data, psk_key16, 16); + key->size = 16; + + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_datum_t rsa_cert, rsa_key; + gnutls_datum_t ecdsa_cert, ecdsa_key; + gnutls_datum_t ed25519_cert, ed25519_key; + gnutls_datum_t ed448_cert, ed448_key; + gnutls_session_t session; + gnutls_certificate_credentials_t xcred; + gnutls_psk_server_credentials_t pcred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_SERVER); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&xcred); + assert(res >= 0); + + res = gnutls_psk_allocate_server_credentials(&pcred); + assert(res >= 0); + + gnutls_psk_set_server_credentials_function(pcred, psk_cb); + gnutls_psk_set_server_known_dh_params(pcred, GNUTLS_SEC_PARAM_MEDIUM); + + rsa_cert.data = (unsigned char *)kRSACertificateDER; + rsa_cert.size = sizeof(kRSACertificateDER); + rsa_key.data = (unsigned char *)kRSAPrivateKeyDER; + rsa_key.size = sizeof(kRSAPrivateKeyDER); + + ecdsa_cert.data = (unsigned char *)kECDSACertificateDER; + ecdsa_cert.size = sizeof(kECDSACertificateDER); + ecdsa_key.data = (unsigned char *)kECDSAPrivateKeyDER; + ecdsa_key.size = sizeof(kECDSAPrivateKeyDER); + + ed25519_cert.data = (unsigned char *)kEd25519CertificateDER; + ed25519_cert.size = sizeof(kEd25519CertificateDER); + ed25519_key.data = (unsigned char *)kEd25519PrivateKeyDER; + ed25519_key.size = sizeof(kEd25519PrivateKeyDER); + + ed448_cert.data = (unsigned char *)kEd448CertificateDER; + ed448_cert.size = sizeof(kEd448CertificateDER); + ed448_key.data = (unsigned char *)kEd448PrivateKeyDER; + ed448_key.size = sizeof(kEd448PrivateKeyDER); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert, &ed25519_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed448_cert, &ed448_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM); + + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + assert(res >= 0); + + res = gnutls_credentials_set(session, GNUTLS_CRD_PSK, pcred); + assert(res >= 0); + + res = gnutls_priority_set_direct(session, "NORMAL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+RSA-PSK:"VERS_STR, NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + for (;;) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_certificate_free_credentials(xcred); + gnutls_psk_free_server_credentials(pcred); + return 0; +} diff --git a/fuzz/gnutls_psk_server_fuzzer.repro/d757b818210bcaec5e297cdb5e30cee9059f9bc3 b/fuzz/gnutls_psk_server_fuzzer.repro/d757b818210bcaec5e297cdb5e30cee9059f9bc3 Binary files differnew file mode 100644 index 0000000..8cc62c1 --- /dev/null +++ b/fuzz/gnutls_psk_server_fuzzer.repro/d757b818210bcaec5e297cdb5e30cee9059f9bc3 diff --git a/fuzz/gnutls_psk_server_fuzzer.repro/e40a8cc4e868b450a442d905d914aee402b57a15 b/fuzz/gnutls_psk_server_fuzzer.repro/e40a8cc4e868b450a442d905d914aee402b57a15 Binary files differnew file mode 100644 index 0000000..2efe90c --- /dev/null +++ b/fuzz/gnutls_psk_server_fuzzer.repro/e40a8cc4e868b450a442d905d914aee402b57a15 diff --git a/fuzz/gnutls_reverse_idna_parser_fuzzer.c b/fuzz/gnutls_reverse_idna_parser_fuzzer.c new file mode 100644 index 0000000..b67e5ca --- /dev/null +++ b/fuzz/gnutls_reverse_idna_parser_fuzzer.c @@ -0,0 +1,42 @@ +/* +# Copyright 2016 Nikos Mavrogiannopoulos +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdio.h> +#include <stdint.h> +#include <string.h> + +#include <gnutls/gnutls.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t out; + int ret; + + ret = gnutls_idna_reverse_map((char*)data, size, &out, 0); + if (ret < 0) + goto cleanup; + + assert(out.size == strlen((char*)out.data)); + gnutls_free(out.data); + +cleanup: + return 0; +} diff --git a/fuzz/gnutls_server_fuzzer.c b/fuzz/gnutls_server_fuzzer.c new file mode 100644 index 0000000..c42ff21 --- /dev/null +++ b/fuzz/gnutls_server_fuzzer.c @@ -0,0 +1,121 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/gnutls.h> + +#include "certs.h" +#include "mem.h" +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_datum_t rsa_cert, rsa_key; + gnutls_datum_t ecdsa_cert, ecdsa_key; + gnutls_datum_t ed25519_cert, ed25519_key; + gnutls_datum_t ed448_cert, ed448_key; + gnutls_session_t session; + gnutls_certificate_credentials_t xcred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_SERVER); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&xcred); + assert(res >= 0); + + rsa_cert.data = (unsigned char *)kRSACertificateDER; + rsa_cert.size = sizeof(kRSACertificateDER); + rsa_key.data = (unsigned char *)kRSAPrivateKeyDER; + rsa_key.size = sizeof(kRSAPrivateKeyDER); + + ecdsa_cert.data = (unsigned char *)kECDSACertificateDER; + ecdsa_cert.size = sizeof(kECDSACertificateDER); + ecdsa_key.data = (unsigned char *)kECDSAPrivateKeyDER; + ecdsa_key.size = sizeof(kECDSAPrivateKeyDER); + + ed25519_cert.data = (unsigned char *)kEd25519CertificateDER; + ed25519_cert.size = sizeof(kEd25519CertificateDER); + ed25519_key.data = (unsigned char *)kEd25519PrivateKeyDER; + ed25519_key.size = sizeof(kEd25519PrivateKeyDER); + + ed448_cert.data = (unsigned char *)kEd448CertificateDER; + ed448_cert.size = sizeof(kEd448CertificateDER); + ed448_key.data = (unsigned char *)kEd448PrivateKeyDER; + ed448_key.size = sizeof(kEd448PrivateKeyDER); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert, &ed25519_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed448_cert, &ed448_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM); + + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + assert(res >= 0); + + /*res = gnutls_set_default_priority(session);*/ + res = gnutls_priority_set_direct(session, "NORMAL:+SIGN-EDDSA-ED448:"VERS_STR, NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + for (;;) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_certificate_free_credentials(xcred); + return 0; +} diff --git a/fuzz/gnutls_server_rawpk_fuzzer.c b/fuzz/gnutls_server_rawpk_fuzzer.c new file mode 100644 index 0000000..11594c1 --- /dev/null +++ b/fuzz/gnutls_server_rawpk_fuzzer.c @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * Copyright (C) 2019 Tom Vrancken (dev@tomvrancken.nl) + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +/*** + * This fuzzer tests the behavior of the GnuTLS library in server mode, + * specifically dealing with raw public keys during the handshake. + * + * The fuzzer corpus generated as first input was generated with the + * following parameters for gnutls-serv and gnutls-cli: + * + * gnutls-serv --priority NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK + * gnutls-cli localhost:5556 --priority NORMAL:-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK --no-ca-verification + * + * The above yields a handshake where both the client and server present + * a raw public-key to each other. + */ + +#include <assert.h> +#include <stdint.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/gnutls.h> + +#include "certs.h" +#include "mem.h" +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + IGNORE_CERTS; + int res; + gnutls_session_t session; + gnutls_certificate_credentials_t rawpk_cred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_SERVER | GNUTLS_ENABLE_RAWPK); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&rawpk_cred); + assert(res >= 0); + + res = + gnutls_certificate_set_rawpk_key_mem(rawpk_cred, + &rawpk_public_key1, + &rawpk_private_key1, + GNUTLS_X509_FMT_PEM, + NULL, 0, NULL, 0, 0); + assert(res >= 0); + + gnutls_certificate_set_known_dh_params(rawpk_cred, GNUTLS_SEC_PARAM_MEDIUM); + + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, rawpk_cred); + assert(res >= 0); + + res = gnutls_priority_set_direct(session, "NORMAL:"VERS_STR":-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK", NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + for (;;) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_certificate_free_credentials(rawpk_cred); + return 0; +} diff --git a/fuzz/gnutls_set_trust_file_fuzzer.c b/fuzz/gnutls_set_trust_file_fuzzer.c new file mode 100644 index 0000000..60982ff --- /dev/null +++ b/fuzz/gnutls_set_trust_file_fuzzer.c @@ -0,0 +1,57 @@ +/* +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <config.h> + +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include "fuzzer.h" + +static const uint8_t *g_data; +static size_t g_size; + +#if ! defined _WIN32 && defined HAVE_FMEMOPEN +#include <stdio.h> +#include <string.h> +#include <dlfcn.h> +FILE *fopen(const char *pathname, const char *mode) +{ + FILE *(*libc_fopen)(const char *, const char *) = + (FILE *(*)(const char *, const char *)) dlsym (RTLD_NEXT, "fopen"); + + if (!strcmp(pathname, "ca_or_crl")) + return fmemopen((void *) g_data, g_size, mode); + + return libc_fopen(pathname, mode); +} +#endif + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + g_data = data; + g_size = size; + + gnutls_certificate_credentials_t creds; + gnutls_certificate_allocate_credentials(&creds); + gnutls_certificate_set_x509_trust_file(creds, "ca_or_crl", GNUTLS_X509_FMT_PEM); + gnutls_certificate_set_x509_crl_file(creds, "ca_or_crl", GNUTLS_X509_FMT_PEM); + gnutls_certificate_free_credentials(creds); + + return 0; +} diff --git a/fuzz/gnutls_set_trust_file_fuzzer.repro/ef118c4e773fc81ad3311dae0405b42f2b6ccbe8 b/fuzz/gnutls_set_trust_file_fuzzer.repro/ef118c4e773fc81ad3311dae0405b42f2b6ccbe8 new file mode 100644 index 0000000..0eef025 --- /dev/null +++ b/fuzz/gnutls_set_trust_file_fuzzer.repro/ef118c4e773fc81ad3311dae0405b42f2b6ccbe8 @@ -0,0 +1 @@ + -----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL - -----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL - -----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL - -----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CR---BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----ENiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----ETAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509CIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN 09 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-CIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVBIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END GTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X59 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGINMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEzA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END FNSVB-/-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKkMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJ7VL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvQvTAAFw0AczA1DTEiwwUTAgKbMBEGCEIRNTCIMVvTCAVvvvBAvAMGTVvTJAVL-----BEGIN X509 CRL-----MIIAQTAkMBEGCEIRNTCIIVvTFAVvvvvWvTAAGIEMIvwwwwwwwwugCTAkMBEGCEIRNTCIMVvTJAVvvvBAvAMGTVvTJAVL-----END
\ No newline at end of file diff --git a/fuzz/gnutls_set_trust_file_fuzzer.repro/leak-45c99e9c25d7822699485d62af11038c57c364a0 b/fuzz/gnutls_set_trust_file_fuzzer.repro/leak-45c99e9c25d7822699485d62af11038c57c364a0 Binary files differnew file mode 100644 index 0000000..5b12cee --- /dev/null +++ b/fuzz/gnutls_set_trust_file_fuzzer.repro/leak-45c99e9c25d7822699485d62af11038c57c364a0 diff --git a/fuzz/gnutls_srp_client_fuzzer.c b/fuzz/gnutls_srp_client_fuzzer.c new file mode 100644 index 0000000..eb3f7f9 --- /dev/null +++ b/fuzz/gnutls_srp_client_fuzzer.c @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#include <assert.h> +#include <fcntl.h> +#include <stdint.h> +#include <sys/types.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/gnutls.h> + +#include "srp.h" +#include "mem.h" +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + int res; + gnutls_session_t session; + gnutls_srp_client_credentials_t pcred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_CLIENT); + assert(res >= 0); + + res = gnutls_srp_allocate_client_credentials(&pcred); + assert(res >= 0); + + res = gnutls_srp_set_client_credentials(pcred, USERNAME, PASSWORD); + assert(res >= 0); + + res = gnutls_credentials_set(session, GNUTLS_CRD_SRP, pcred); + assert(res >= 0); + + res = gnutls_priority_set_direct(session, "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS", NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, + mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + gnutls_srp_set_prime_bits(session, 1024); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + for (;;) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_srp_free_client_credentials(pcred); + return 0; +} diff --git a/fuzz/gnutls_srp_server_fuzzer.c b/fuzz/gnutls_srp_server_fuzzer.c new file mode 100644 index 0000000..0430163 --- /dev/null +++ b/fuzz/gnutls_srp_server_fuzzer.c @@ -0,0 +1,151 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#include <assert.h> +#include <stdint.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> + +#include <gnutls/gnutls.h> + +#include "certs.h" +#include "srp.h" +#include "mem.h" +#include "fuzzer.h" + +static int +srp_cb(gnutls_session_t session, const char *username, + gnutls_datum_t *salt, gnutls_datum_t *verifier, gnutls_datum_t *generator, gnutls_datum_t *prime) +{ + int ret; + + salt->data = (unsigned char*)gnutls_malloc(SALT_SIZE); + memcpy(salt->data, (unsigned char*)SALT, SALT_SIZE); + salt->size = SALT_SIZE; + + generator->data = (unsigned char*)gnutls_malloc(gnutls_srp_1024_group_generator.size); + memcpy(generator->data, gnutls_srp_1024_group_generator.data, gnutls_srp_1024_group_generator.size); + generator->size = gnutls_srp_1024_group_generator.size; + + prime->data = (unsigned char*)gnutls_malloc(gnutls_srp_1024_group_prime.size); + memcpy(prime->data, gnutls_srp_1024_group_prime.data, gnutls_srp_1024_group_prime.size); + prime->size = gnutls_srp_1024_group_prime.size; + + ret = gnutls_srp_verifier(USERNAME, PASSWORD, salt, generator, prime, verifier); + if (ret < 0) + return -1; + + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) +{ + IGNORE_CERTS; + int res; + gnutls_datum_t rsa_cert, rsa_key; + gnutls_datum_t ecdsa_cert, ecdsa_key; + gnutls_datum_t ed25519_cert, ed25519_key; + gnutls_session_t session; + gnutls_certificate_credentials_t xcred; + gnutls_srp_server_credentials_t pcred; + struct mem_st memdata; + + res = gnutls_init(&session, GNUTLS_SERVER); + assert(res >= 0); + + res = gnutls_certificate_allocate_credentials(&xcred); + assert(res >= 0); + + res = gnutls_srp_allocate_server_credentials(&pcred); + assert(res >= 0); + + gnutls_srp_set_server_credentials_function(pcred, srp_cb); + + rsa_cert.data = (unsigned char *)kRSACertificateDER; + rsa_cert.size = sizeof(kRSACertificateDER); + rsa_key.data = (unsigned char *)kRSAPrivateKeyDER; + rsa_key.size = sizeof(kRSAPrivateKeyDER); + + ecdsa_cert.data = (unsigned char *)kECDSACertificateDER; + ecdsa_cert.size = sizeof(kECDSACertificateDER); + ecdsa_key.data = (unsigned char *)kECDSAPrivateKeyDER; + ecdsa_key.size = sizeof(kECDSAPrivateKeyDER); + + ed25519_cert.data = (unsigned char *)kEd25519CertificateDER; + ed25519_cert.size = sizeof(kEd25519CertificateDER); + ed25519_key.data = (unsigned char *)kEd25519PrivateKeyDER; + ed25519_key.size = sizeof(kEd25519PrivateKeyDER); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + res = + gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert, &ed25519_key, + GNUTLS_X509_FMT_DER); + assert(res >= 0); + + gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM); + + res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + assert(res >= 0); + + res = gnutls_credentials_set(session, GNUTLS_CRD_SRP, pcred); + assert(res >= 0); + + res = gnutls_priority_set_direct(session, "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS", NULL); + assert(res >= 0); + + memdata.data = data; + memdata.size = size; + + gnutls_transport_set_push_function(session, mem_push); + gnutls_transport_set_pull_function(session, mem_pull); + gnutls_transport_set_pull_timeout_function(session, mem_pull_timeout); + gnutls_transport_set_ptr(session, &memdata); + + do { + res = gnutls_handshake(session); + } while (res < 0 && gnutls_error_is_fatal(res) == 0); + if (res >= 0) { + for (;;) { + char buf[16384]; + res = gnutls_record_recv(session, buf, sizeof(buf)); + if (res <= 0) { + break; + } + } + } + + gnutls_deinit(session); + gnutls_certificate_free_credentials(xcred); + gnutls_srp_free_server_credentials(pcred); + return 0; +} diff --git a/fuzz/gnutls_x509_crl_parser_fuzzer.repro/698e01fdc3f9a4c402424302768da75f2464a63f b/fuzz/gnutls_x509_crl_parser_fuzzer.repro/698e01fdc3f9a4c402424302768da75f2464a63f Binary files differnew file mode 100644 index 0000000..9cc53a3 --- /dev/null +++ b/fuzz/gnutls_x509_crl_parser_fuzzer.repro/698e01fdc3f9a4c402424302768da75f2464a63f diff --git a/fuzz/gnutls_x509_crq_parser_fuzzer.c b/fuzz/gnutls_x509_crq_parser_fuzzer.c new file mode 100644 index 0000000..4f7ebee --- /dev/null +++ b/fuzz/gnutls_x509_crq_parser_fuzzer.c @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2020 Dmitry Baryshkov + * + * This file is part of GnuTLS. + * + * The GnuTLS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/> + * + */ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/x509.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_datum_t out; + gnutls_x509_crq_t crq; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_x509_crq_init(&crq); + assert(ret >= 0); + + ret = gnutls_x509_crq_import(crq, &raw, GNUTLS_X509_FMT_DER); + if (ret >= 0) { + ret = gnutls_x509_crq_print(crq, GNUTLS_CRT_PRINT_FULL, &out); + assert(ret >= 0); + gnutls_free(out.data); + } + gnutls_x509_crq_deinit(crq); + + return 0; +} diff --git a/fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 b/fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 Binary files differnew file mode 100644 index 0000000..4fe047d --- /dev/null +++ b/fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 diff --git a/fuzz/gnutls_x509_parser_fuzzer.c b/fuzz/gnutls_x509_parser_fuzzer.c new file mode 100644 index 0000000..87b09c4 --- /dev/null +++ b/fuzz/gnutls_x509_parser_fuzzer.c @@ -0,0 +1,56 @@ +/* +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +*/ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/x509.h> + +#include "fuzzer.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_datum_t out; + gnutls_x509_crt_t crt; + int ret; + + raw.data = (unsigned char *)data; + raw.size = size; + + ret = gnutls_x509_crt_init(&crt); + assert(ret >= 0); + + ret = gnutls_x509_crt_import(crt, &raw, GNUTLS_X509_FMT_DER); + if (ret >= 0) { + ret = gnutls_x509_crt_print(crt, GNUTLS_CRT_PRINT_FULL, &out); + assert(ret >= 0); + gnutls_free(out.data); + } + gnutls_x509_crt_deinit(crt); + + ret = gnutls_x509_crt_init(&crt); + assert(ret >= 0); + + gnutls_x509_crt_set_flags(crt, GNUTLS_X509_CRT_FLAG_IGNORE_SANITY); + gnutls_x509_crt_import(crt, &raw, GNUTLS_X509_FMT_DER); + + gnutls_x509_crt_deinit(crt); + return 0; +} diff --git a/fuzz/gnutls_x509_parser_fuzzer.repro/crash-c6a115727da400db85941e32cbaa1b65316744a9 b/fuzz/gnutls_x509_parser_fuzzer.repro/crash-c6a115727da400db85941e32cbaa1b65316744a9 Binary files differnew file mode 100644 index 0000000..3556e6f --- /dev/null +++ b/fuzz/gnutls_x509_parser_fuzzer.repro/crash-c6a115727da400db85941e32cbaa1b65316744a9 diff --git a/fuzz/gnutls_x509_parser_fuzzer.repro/leak-45ceff5162bae741d1048cede0d5dfe6b677761d b/fuzz/gnutls_x509_parser_fuzzer.repro/leak-45ceff5162bae741d1048cede0d5dfe6b677761d Binary files differnew file mode 100644 index 0000000..ded50c8 --- /dev/null +++ b/fuzz/gnutls_x509_parser_fuzzer.repro/leak-45ceff5162bae741d1048cede0d5dfe6b677761d diff --git a/fuzz/gnutls_x509_verify_fuzzer.c b/fuzz/gnutls_x509_verify_fuzzer.c new file mode 100644 index 0000000..3f945d5 --- /dev/null +++ b/fuzz/gnutls_x509_verify_fuzzer.c @@ -0,0 +1,212 @@ +/* + * Copyright (C) 2019 Red Hat, Inc. + * + * Author: Nikos Mavrogiannopoulos + * + * This file is part of GnuTLS. + * + * The GnuTLS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/> + * + */ + +#include <assert.h> +#include <stdint.h> + +#include <gnutls/gnutls.h> +#include <gnutls/x509.h> +#include <stdio.h> +#include <stdlib.h> + +#include "fuzzer.h" + +unsigned char _ca_der[] = { + 0x30, 0x82, 0x05, 0xe2, 0x30, 0x82, 0x04, 0xca, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x27, 0x53, 0xf8, 0x06, 0xfe, 0x91, 0x37, 0x32, 0x2f, + 0x5b, 0x40, 0x9f, 0x1c, 0x31, 0x87, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x32, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, 0x30, 0x32, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xb4, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30, + 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54, 0x65, 0x72, 0x6d, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x31, 0x30, 0x31, 0x2e, + 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x25, 0x56, 0x65, 0x72, + 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x33, 0x20, 0x43, 0x6f, 0x64, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, + 0x6e, 0x67, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20, 0x43, 0x41, 0x30, 0x82, + 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, + 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xf5, 0x23, 0x4b, 0x5e, 0xa5, + 0xd7, 0x8a, 0xbb, 0x32, 0xe9, 0xd4, 0x57, 0xf7, 0xef, 0xe4, 0xc7, 0x26, + 0x7e, 0xad, 0x19, 0x98, 0xfe, 0xa8, 0x9d, 0x7d, 0x94, 0xf6, 0x36, 0x6b, + 0x10, 0xd7, 0x75, 0x81, 0x30, 0x7f, 0x04, 0x68, 0x7f, 0xcb, 0x2b, 0x75, + 0x1e, 0xcd, 0x1d, 0x08, 0x8c, 0xdf, 0x69, 0x94, 0xa7, 0x37, 0xa3, 0x9c, + 0x7b, 0x80, 0xe0, 0x99, 0xe1, 0xee, 0x37, 0x4d, 0x5f, 0xce, 0x3b, 0x14, + 0xee, 0x86, 0xd4, 0xd0, 0xf5, 0x27, 0x35, 0xbc, 0x25, 0x0b, 0x38, 0xa7, + 0x8c, 0x63, 0x9d, 0x17, 0xa3, 0x08, 0xa5, 0xab, 0xb0, 0xfb, 0xcd, 0x6a, + 0x62, 0x82, 0x4c, 0xd5, 0x21, 0xda, 0x1b, 0xd9, 0xf1, 0xe3, 0x84, 0x3b, + 0x8a, 0x2a, 0x4f, 0x85, 0x5b, 0x90, 0x01, 0x4f, 0xc9, 0xa7, 0x76, 0x10, + 0x7f, 0x27, 0x03, 0x7c, 0xbe, 0xae, 0x7e, 0x7d, 0xc1, 0xdd, 0xf9, 0x05, + 0xbc, 0x1b, 0x48, 0x9c, 0x69, 0xe7, 0xc0, 0xa4, 0x3c, 0x3c, 0x41, 0x00, + 0x3e, 0xdf, 0x96, 0xe5, 0xc5, 0xe4, 0x94, 0x71, 0xd6, 0x55, 0x01, 0xc7, + 0x00, 0x26, 0x4a, 0x40, 0x3c, 0xb5, 0xa1, 0x26, 0xa9, 0x0c, 0xa7, 0x6d, + 0x80, 0x8e, 0x90, 0x25, 0x7b, 0xcf, 0xbf, 0x3f, 0x1c, 0xeb, 0x2f, 0x96, + 0xfa, 0xe5, 0x87, 0x77, 0xc6, 0xb5, 0x56, 0xb2, 0x7a, 0x3b, 0x54, 0x30, + 0x53, 0x1b, 0xdf, 0x62, 0x34, 0xff, 0x1e, 0xd1, 0xf4, 0x5a, 0x93, 0x28, + 0x85, 0xe5, 0x4c, 0x17, 0x4e, 0x7e, 0x5b, 0xfd, 0xa4, 0x93, 0x99, 0x7f, + 0xdf, 0xcd, 0xef, 0xa4, 0x75, 0xef, 0xef, 0x15, 0xf6, 0x47, 0xe7, 0xf8, + 0x19, 0x72, 0xd8, 0x2e, 0x34, 0x1a, 0xa6, 0xb4, 0xa7, 0x4c, 0x7e, 0xbd, + 0xbb, 0x4f, 0x0c, 0x3d, 0x57, 0xf1, 0x30, 0xd6, 0xa6, 0x36, 0x8e, 0xd6, + 0x80, 0x76, 0xd7, 0x19, 0x2e, 0xa5, 0xcd, 0x7e, 0x34, 0x2d, 0x89, 0x02, + 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0xd6, 0x30, 0x82, 0x01, 0xd2, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x70, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x69, 0x30, 0x67, 0x30, 0x65, 0x06, 0x0b, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x56, + 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, + 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1e, 0x1a, 0x1c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, + 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x70, 0x61, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x6d, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, 0xa1, 0x5d, + 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f, 0x30, + 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, 0x8f, 0xe5, + 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, 0x6a, 0xd4, + 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x76, 0x65, + 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, + 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, 0x34, 0x06, + 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2d, 0x30, 0x2b, 0x30, 0x29, 0xa0, 0x27, + 0xa0, 0x25, 0x86, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x28, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21, + 0x30, 0x1f, 0xa4, 0x1d, 0x30, 0x1b, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x10, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x4d, 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x38, 0x30, 0x1d, 0x06, + 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xcf, 0x99, 0xa9, 0xea, + 0x7b, 0x26, 0xf4, 0x4b, 0xc9, 0x8e, 0x8f, 0xd7, 0xf0, 0x05, 0x26, 0xef, + 0xe3, 0xd2, 0xa7, 0x9d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x24, 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, + 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x06, + 0x0c, 0x2a, 0x86, 0x3a, 0x00, 0x01, 0x83, 0x8f, 0x89, 0x0d, 0x01, 0x01, + 0x01, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, + 0x09, 0xf3, 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x5b, 0x8e, 0x9f, 0xd3, 0xba, 0xbe, + 0xa9, 0xaf, 0x1a, 0x3e, 0x65, 0x81, 0xb7, 0xc1, 0x64, 0xf6, 0xa2, 0x78, + 0xeb, 0x4c, 0x80, 0x06, 0x3a, 0xac, 0x22, 0x6e, 0x8c, 0x2b, 0xbc, 0x5d, + 0x85, 0x7f, 0xc0, 0x8f, 0x10, 0x2a, 0xca, 0xc4, 0xad, 0x96, 0x24, 0x01, + 0x68, 0xff, 0x65, 0xb5, 0xd1, 0x14, 0x2c, 0x2a, 0xa5, 0xda, 0x49, 0x96, + 0xaf, 0xe9, 0xd4, 0xff, 0x71, 0x9c, 0x93, 0x09, 0x4a, 0x6a, 0x61, 0xf4, + 0x4b, 0xd1, 0xcb, 0xb6, 0x5f, 0x29, 0xfc, 0x68, 0x11, 0xe5, 0x72, 0xff, + 0x46, 0x0f, 0x36, 0x29, 0x99, 0x43, 0x9e, 0xb3, 0xd9, 0xac, 0x47, 0x93, + 0x7b, 0xef, 0xc4, 0xeb, 0x66, 0x86, 0xa7, 0xd6, 0x89, 0x54, 0x3e, 0x94, + 0x9b, 0x0d, 0x91, 0xf0, 0xd2, 0x23, 0x6a, 0xc0, 0x0d, 0x37, 0xce, 0x46, + 0xdf, 0x95, 0xae, 0xa4, 0x65, 0xc6, 0x18, 0xbf, 0xa4, 0x69, 0x73, 0x3f, + 0xe8, 0x85, 0xd0, 0x48, 0x7d, 0x28, 0xef, 0xf3, 0x5f, 0xb0, 0x01, 0xb4, + 0x75, 0xb4, 0xd1, 0x53, 0x4b, 0xf4, 0x6f, 0xf6, 0xa4, 0x8b, 0x66, 0xb6, + 0xef, 0x78, 0x39, 0xc5, 0x88, 0x2b, 0x67, 0x32, 0x1a, 0xef, 0x40, 0xc0, + 0x94, 0xf6, 0xb7, 0xd2, 0x8b, 0x84, 0xa0, 0x26, 0x6f, 0x8a, 0x4b, 0xc5, + 0xd8, 0xdc, 0x54, 0xee, 0xe2, 0x4a, 0x56, 0xaa, 0xbc, 0x72, 0xe5, 0x93, + 0xe6, 0x3f, 0xb6, 0xde, 0x6d, 0x6c, 0x7b, 0x25, 0x5b, 0x01, 0xec, 0x6f, + 0x29, 0x64, 0xb7, 0xf3, 0x2e, 0x23, 0xf6, 0x1f, 0xae, 0x11, 0x2d, 0xc6, + 0xba, 0xb9, 0xeb, 0x08, 0x60, 0xb1, 0x2d, 0x1b, 0x2b, 0x9e, 0xbe, 0x85, + 0x74, 0x0a, 0x1d, 0x2e, 0x2a, 0x52, 0x91, 0x18, 0x20, 0xd7, 0xc9, 0xb2, + 0x97, 0x84, 0x8f, 0x16, 0x2c, 0x32, 0xca, 0x18, 0x12, 0xaa, 0xc5, 0x20, + 0x59, 0xca, 0xfb, 0x6d, 0x37, 0x32, 0xe3, 0xc5, 0xa3, 0x84 +}; +unsigned int _ca_der_len = 1510; + +static time_t mytime(time_t * t) +{ + time_t then = 1553835274; + if (t) + *t = then; + + return then; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + gnutls_datum_t raw; + gnutls_datum_t ca; + gnutls_x509_crt_t crt, ca_crt; + int ret; + unsigned status = 0; + + gnutls_global_set_time_function(mytime); + + raw.data = (unsigned char *)data; + raw.size = size; + + ca.data = _ca_der; + ca.size = _ca_der_len; + + ret = gnutls_x509_crt_init(&ca_crt); + assert(ret >= 0); + + ret = gnutls_x509_crt_init(&crt); + assert(ret >= 0); + + ret = gnutls_x509_crt_import(ca_crt, &ca, GNUTLS_X509_FMT_DER); + if (ret < 0) + goto fail; + + ret = gnutls_x509_crt_import(crt, &raw, GNUTLS_X509_FMT_DER); + if (ret < 0) + goto fail; + + ret = gnutls_x509_crt_list_verify(&crt, 1, &ca_crt, 1, NULL, 0, + GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN|GNUTLS_VERIFY_ALLOW_BROKEN| + GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS, + &status); + assert(ret < 0 || status != 0); + + fail: + gnutls_x509_crt_deinit(crt); + gnutls_x509_crt_deinit(ca_crt); + return 0; +} diff --git a/fuzz/gnutls_x509_verify_fuzzer.repro/5b24d9a0bdb049a203a1fac98d2854bbc6062195 b/fuzz/gnutls_x509_verify_fuzzer.repro/5b24d9a0bdb049a203a1fac98d2854bbc6062195 Binary files differnew file mode 100644 index 0000000..86b66c0 --- /dev/null +++ b/fuzz/gnutls_x509_verify_fuzzer.repro/5b24d9a0bdb049a203a1fac98d2854bbc6062195 diff --git a/fuzz/gnutls_x509_verify_fuzzer.repro/cacdb69aaf394120d761291f43983336d15c7be3 b/fuzz/gnutls_x509_verify_fuzzer.repro/cacdb69aaf394120d761291f43983336d15c7be3 Binary files differnew file mode 100644 index 0000000..bad7160 --- /dev/null +++ b/fuzz/gnutls_x509_verify_fuzzer.repro/cacdb69aaf394120d761291f43983336d15c7be3 diff --git a/fuzz/handshake.h b/fuzz/handshake.h new file mode 100644 index 0000000..34c7b70 --- /dev/null +++ b/fuzz/handshake.h @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef HANDSHAKE_H +# define HANDSHAKE_H + +#define HANDSHAKE_MAX_RETRY_COUNT 10 + +typedef struct mem_st { + const uint8_t *data; + size_t size; +} mem_st; + +static ssize_t +error_push(gnutls_transport_ptr_t tr, const void *data, size_t len) +{ + return -1; +} + +static ssize_t +error_pull(gnutls_transport_ptr_t tr, void *data, size_t len) +{ + return -1; +} + +static int +handshake_discard(gnutls_session_t session, + gnutls_record_encryption_level_t level, + gnutls_handshake_description_t htype, + const void *data, size_t data_size) +{ + return 0; +} + +static int +handshake_pull(gnutls_session_t session, mem_st *data) +{ + uint32_t level, size; + int ret; + + if (data->size < 4) { + return -1; + } + + level = ((unsigned)data->data[0] << 24) | (data->data[1] << 16) | + (data->data[2] << 8) | data->data[3]; + + data->size -= 4; + data->data += 4; + + if (data->size < 4) { + return -1; + } + + size = ((unsigned)data->data[0] << 24) | (data->data[1] << 16) | + (data->data[2] << 8) | data->data[3]; + + data->size -= 4; + data->data += 4; + + if (size > data->size) { + return -1; + } + + ret = gnutls_handshake_write(session, + (gnutls_record_encryption_level_t)level, + data->data, + size); + data->size -= size; + data->data += size; + + return ret; +} + +#endif diff --git a/fuzz/main.c b/fuzz/main.c new file mode 100644 index 0000000..b2223d0 --- /dev/null +++ b/fuzz/main.c @@ -0,0 +1,175 @@ +/* + * Copyright(c) 2017 Tim Ruehsen + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include <config.h> + +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdint.h> +#include <string.h> +#include <fcntl.h> +#include <errno.h> +#include <sys/stat.h> + +#include "fuzzer.h" + +#ifdef TEST_RUN + +#include <dirent.h> + +#ifdef _WIN32 +# define SLASH '\\' +#else +# define SLASH '/' +#endif + +static int test_single_file(const char *fname) +{ + int fd, ret; + struct stat st; + uint8_t *data; + ssize_t n; + + if ((fd = open(fname, O_RDONLY)) == -1) { + fprintf(stderr, "Failed to open %s (%d)\n", fname, errno); + return -1; + } + + if (fstat(fd, &st) != 0) { + fprintf(stderr, "Failed to stat %d (%d)\n", fd, errno); + close(fd); + return -1; + } + + data = malloc(st.st_size); + if ((n = read(fd, data, st.st_size)) == st.st_size) { + printf("testing %llu bytes from '%s'\n", (unsigned long long) st.st_size, fname); + fflush(stdout); + LLVMFuzzerTestOneInput(data, st.st_size); + fflush(stderr); + ret = 0; + } else { + fprintf(stderr, "Failed to read %llu bytes from %s (%d), got %zd\n", (unsigned long long) st.st_size, fname, errno, n); + ret = -1; + } + + free(data); + close(fd); + return ret; +} + +static int test_all_from(const char *dirname) +{ + DIR *dirp; + struct dirent *dp; + + if ((dirp = opendir(dirname))) { + while ((dp = readdir(dirp))) { + if (*dp->d_name == '.') continue; + + char fname[strlen(dirname) + strlen(dp->d_name) + 2]; + snprintf(fname, sizeof(fname), "%s/%s", dirname, dp->d_name); + + if (test_single_file(fname) < 0) + continue; + } + closedir(dirp); + return 0; + } + + return 1; +} + +int main(int argc, char **argv) +{ + const char *target; + size_t target_len; + + if ((target = strrchr(argv[0], SLASH))) + target = strrchr(target, '/'); + else + target = strrchr(argv[0], '/'); + target = target ? target + 1 : argv[0]; + + if (strncmp(target, "lt-", 3) == 0) + target += 3; + + target_len = strlen(target); + +#ifdef _WIN32 + target_len -= 4; // ignore .exe +#endif + + if (argc > 1) { /* test a single file */ + test_single_file(argv[1]); + } else { /* test the target directory */ + int rc; + char corporadir[sizeof(SRCDIR) + 1 + target_len + 8]; + snprintf(corporadir, sizeof(corporadir), SRCDIR "/%.*s.in", (int) target_len, target); + + rc = test_all_from(corporadir); + if (rc) + fprintf(stderr, "Failed to find %s\n", corporadir); + + snprintf(corporadir, sizeof(corporadir), SRCDIR "/%.*s.repro", (int) target_len, target); + + if (test_all_from(corporadir) && rc) + return 77; + } + + return 0; +} + +#else + +#ifndef __AFL_LOOP +static int __AFL_LOOP(int n) +{ + static int first = 1; + + if (first) { + first = 0; + return 1; + } + + return 0; +} +#endif + +int main(int argc, char **argv) +{ + int ret; + unsigned char buf[64 * 1024]; + + while (__AFL_LOOP(10000)) { // only works with afl-clang-fast + ret = fread(buf, 1, sizeof(buf), stdin); + if (ret < 0) + return 0; + + LLVMFuzzerTestOneInput(buf, ret); + } + + return 0; +} + +#endif /* TEST_RUN */ diff --git a/fuzz/mem.h b/fuzz/mem.h new file mode 100644 index 0000000..5a49b56 --- /dev/null +++ b/fuzz/mem.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef MEM_H +# define MEM_H + +typedef struct mem_st { + const uint8_t *data; + size_t size; +} mem_st; + +#define MIN(x,y) ((x)<(y)?(x):(y)) +static ssize_t +mem_push(gnutls_transport_ptr_t tr, const void *data, size_t len) +{ + return len; +} + +static ssize_t mem_pull(gnutls_transport_ptr_t tr, void *data, size_t len) +{ + struct mem_st *p = (struct mem_st *)tr; + + if (p->size == 0) { + return 0; + } + + len = MIN(len, p->size); + memcpy(data, p->data, len); + + p->size -= len; + p->data += len; + + return len; +} + +static +int mem_pull_timeout(gnutls_transport_ptr_t tr, unsigned int ms) +{ + struct mem_st *p = (struct mem_st *)tr; + + if (p->size > 0) + return 1; /* available data */ + else + return 0; /* timeout */ +} + +#endif diff --git a/fuzz/psk.h b/fuzz/psk.h new file mode 100644 index 0000000..fe4a8af --- /dev/null +++ b/fuzz/psk.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef PSK_H +# define PSK_H + +static const uint8_t psk_key16[] = { + 0x8a, 0x77, 0x59, 0xb3, 0xf2, 0x69, 0x83, 0xc4, + 0x53, 0xe4, 0x48, 0x06, 0x0b, 0xde, 0x89, 0x81 +}; + +#endif diff --git a/fuzz/srp.h b/fuzz/srp.h new file mode 100644 index 0000000..90bc283 --- /dev/null +++ b/fuzz/srp.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017 Nikos Mavrogiannopoulos + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef SRP_H +# define SRP_H + +#define USERNAME "test" +#define PASSWORD "test" + +#define SALT "\xeb\x0e\x6a\x5c\x02\x0d\x4b\xa9\x97\xb6\xbe\x73\x4a\x71\xc5\x00" +#define SALT_SIZE 16 + +#endif |