diff --git a/.gitignore b/.gitignore
index cb872c3e2..39529e2a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,7 @@ config
*.log
default-configs
build/*
-data
+data/*
exe
ibm*/
!build/.project
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/CMakeLists.txt b/external/3rd/library/curl/curl-7.45.0/tests/data/CMakeLists.txt
new file mode 100644
index 000000000..dec92e544
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/CMakeLists.txt
@@ -0,0 +1,7 @@
+# Loads 'TESTCASES' from for the 'make show' target in runtests.pl
+transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
+include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
+
+# Prints all available test cases. Do not quote TESTCASES, it must be displayed
+# as a space-separated string rather than comma-separated (a list in CMake).
+add_custom_target(show COMMAND echo ${TESTCASES})
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/DISABLED b/external/3rd/library/curl/curl-7.45.0/tests/data/DISABLED
new file mode 100644
index 000000000..3874468b0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/DISABLED
@@ -0,0 +1,18 @@
+# This file can be used to specify test cases that should not run when all
+# test cases are run by runtests.pl. Just add the plain test case numbers, one
+# per line.
+# Lines starting with '#' letters are treated as comments.
+594
+1209
+1211
+1316
+1512
+836
+882
+938
+# test 1801 causes problems on Mac OS X and github
+# https://github.com/bagder/curl/issues/380
+1801
+# test 1510 casues problems on the CI on github
+# example: https://travis-ci.org/bagder/curl/builds/81633600
+1510
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.am b/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.am
new file mode 100644
index 000000000..4ec0364ba
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.am
@@ -0,0 +1,29 @@
+iall:
+install:
+test:
+
+# TESTCASES are taken from Makefile.inc
+include Makefile.inc
+
+EXTRA_DIST = $(TESTCASES) DISABLED CMakeLists.txt
+
+filecheck:
+ @mkdir test-place; \
+ cp "$(top_srcdir)"/tests/data/test[0-9]* test-place/; \
+ rm test-place/*~; \
+ for f in $(EXTRA_DIST); do \
+ if test -f "$(top_srcdir)/tests/data/$$f"; then \
+ rm -f "test-place/$$f"; \
+ else \
+ echo "$$f is listed but missing!"; \
+ fi \
+ done; \
+ echo "Local files not present in EXTRA_DIST:" ; \
+ ls test-place; \
+ ! ls test-place | grep . >/dev/null ; \
+ RC=$$? ; \
+ rm -rf test-place ; \
+ exit $$RC
+
+show:
+ @echo $(EXTRA_DIST)
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.in b/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.in
new file mode 100644
index 000000000..eaf6717b2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.in
@@ -0,0 +1,718 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2015, Daniel Stenberg, , et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+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 = tests/data
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
+ $(top_srcdir)/m4/curl-confopts.m4 \
+ $(top_srcdir)/m4/curl-functions.m4 \
+ $(top_srcdir)/m4/curl-openssl.m4 \
+ $(top_srcdir)/m4/curl-override.m4 \
+ $(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.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/xc-am-iface.m4 \
+ $(top_srcdir)/m4/xc-cc-check.m4 \
+ $(top_srcdir)/m4/xc-lt-iface.m4 \
+ $(top_srcdir)/m4/xc-translit.m4 \
+ $(top_srcdir)/m4/xc-val-flgs.m4 \
+ $(top_srcdir)/m4/zz40-xc-ovr.m4 \
+ $(top_srcdir)/m4/zz50-xc-ovr.m4 \
+ $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.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)/lib/curl_config.h \
+ $(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+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 =
+SOURCES =
+DIST_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)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.inc
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
+CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
+CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
+CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
+CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
+CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
+CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
+CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
+CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
+CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
+CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
+CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
+CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@
+CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SHARED = @ENABLE_SHARED@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+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@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = @PKGADD_NAME@
+PKGADD_PKG = @PKGADD_PKG@
+PKGADD_VENDOR = @PKGADD_VENDOR@
+PKGCONFIG = @PKGCONFIG@
+RANDOM_FILE = @RANDOM_FILE@
+RANLIB = @RANLIB@
+REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libext = @libext@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# this list is in numerical order
+TESTCASES = test1 test2 test3 test4 test5 test6 test7 test8 test9 \
+test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
+test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
+test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
+test40 test41 test42 test43 test44 test45 test46 test47 test48 test49 \
+test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
+test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
+test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
+test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
+test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
+test100 test101 test102 test103 test104 test105 test106 test107 test108 \
+test109 test110 test111 test112 test113 test114 test115 test116 test117 \
+test118 test119 test120 test121 test122 test123 test124 test125 test126 \
+test127 test128 test129 test130 test131 test132 test133 test134 test135 \
+test136 test137 test138 test139 test140 test141 test142 test143 test144 \
+test145 test146 test147 test148 test149 test150 test151 test152 test153 \
+test154 test155 test156 test157 test158 test159 test160 test161 test162 \
+test163 test164 test165 test166 test167 test168 test169 test170 test171 \
+test172 test173 test174 test175 test176 test177 test178 test179 test180 \
+test181 test182 test183 test184 test185 test186 test187 test188 test189 \
+test190 test191 test192 test193 test194 test195 test196 test197 test198 \
+test199 test200 test201 test202 test203 test204 test205 test206 test207 \
+test208 test209 test210 test211 test212 test213 test214 test215 test216 \
+test217 test218 test220 test221 test222 test223 test224 test225 \
+test226 test227 test228 test229 test231 test233 test234 \
+test235 test236 test237 test238 test239 test240 test241 test242 test243 \
+ test245 test246 test247 test248 test249 test250 test251 test252 \
+test253 test254 test255 test256 test257 test258 test259 test260 test261 \
+test262 test263 test264 test265 test266 test267 test268 test269 test270 \
+test271 test272 test273 test274 test275 test276 test277 test278 test279 \
+test280 test281 test282 test283 test284 test285 test286 test287 test288 \
+test289 test290 test291 test292 test293 test294 test295 test296 test297 \
+test298 test299 test300 test301 test302 test303 test304 test305 test306 \
+test307 test308 test309 test310 test311 test312 test313 \
+ test320 test321 test322 test323 test324 \
+test325 \
+test350 test351 test352 test353 test354 \
+\
+test400 test401 test402 test403 test404 test405 test406 test407 test408 \
+test409 \
+\
+test500 test501 test502 test503 test504 test505 test506 test507 test508 \
+test509 test510 test511 test512 test513 test514 test515 test516 test517 \
+test518 test519 test520 test521 test522 test523 test524 test525 test526 \
+test527 test528 test529 test530 test531 test532 test533 test534 test535 \
+test536 test537 test538 test539 test540 test541 test542 test543 test544 \
+test545 test546 test547 test548 test549 test550 test551 test552 test553 \
+test554 test555 test556 test557 test558 test560 test561 test562 \
+test563 test564 test565 test566 test567 test568 test569 test570 test571 \
+test572 test573 test574 test575 test576 test578 test579 test580 \
+test581 test582 test583 test584 test585 test586 test587 test588 \
+test590 test591 test592 test593 test594 test595 test596 test597 test598 \
+test599 test600 test601 test602 test603 test604 test605 test606 test607 \
+test608 test609 test610 test611 test612 test613 test614 test615 test616 \
+test617 test618 test619 test620 test621 test622 test623 test624 test625 \
+test626 test627 test628 test629 test630 test631 test632 test633 test634 \
+test635 test636 test637 test638 test639 test640 test641 \
+\
+test700 test701 test702 test703 test704 test705 test706 test707 test708 \
+test709 test710 test711 test712 \
+\
+test800 test801 test802 test803 test804 test805 test806 test807 test808 \
+test809 test810 test811 test812 test813 test814 test815 test816 test817 \
+test818 test819 test820 test821 test822 test823 test824 test825 test826 \
+test827 test828 test829 test830 test831 test832 test833 test834 test835 \
+test836 test837 test838 test839 test840 \
+\
+test850 test851 test852 test853 test854 test855 test856 test857 test858 \
+test859 test860 test861 test862 test863 test864 test865 test866 test867 \
+test868 test869 test870 test871 test872 test873 test874 test875 test876 \
+test877 test878 test879 test880 test881 test882 test883 test884 test885 \
+test886 \
+\
+test900 test901 test902 test903 test904 test905 test906 test907 test908 \
+test909 test910 test911 test912 test913 test914 test915 test916 test917 \
+test918 test919 test920 test921 test922 test923 test924 test925 test926 \
+test927 test928 test929 test930 test931 test932 test933 test934 test935 \
+test936 test937 test938 test939 test940 test941 test942 test943 test944 \
+test945 \
+\
+test1000 test1001 test1002 test1003 test1004 test1005 test1006 test1007 \
+test1008 test1009 test1010 test1011 test1012 test1013 test1014 test1015 \
+test1016 test1017 test1018 test1019 test1020 test1021 test1022 test1023 \
+test1024 test1025 test1026 test1027 test1028 test1029 test1030 test1031 \
+test1032 test1033 test1034 test1035 test1036 test1037 test1038 test1039 \
+test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
+test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055 \
+test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063 \
+test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \
+test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 \
+test1080 test1081 test1082 test1083 test1084 test1085 test1086 test1087 \
+test1088 test1089 test1090 test1091 test1092 test1093 test1094 test1095 \
+test1096 test1097 test1098 test1099 test1100 test1101 test1102 test1103 \
+test1104 test1105 test1106 test1107 test1108 test1109 test1110 test1111 \
+test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \
+test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \
+test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \
+\
+test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
+test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \
+test1216 test1217 test1218 test1219 \
+test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 \
+test1228 test1229 test1230 test1231 test1232 test1233 test1234 test1235 \
+test1236 test1237 test1238 test1239 test1240 test1241 \
+\
+test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 \
+test1308 test1309 test1310 test1311 test1312 test1313 test1314 test1315 \
+test1316 test1317 test1318 test1319 test1320 test1321 \
+ test1325 test1326 test1327 test1328 test1329 test1330 test1331 \
+test1332 test1333 test1334 test1335 test1336 test1337 test1338 test1339 \
+test1340 test1341 test1342 test1343 test1344 test1345 test1346 test1347 \
+test1348 test1349 test1350 test1351 test1352 test1353 test1354 test1355 \
+test1356 test1357 test1358 test1359 test1360 test1361 test1362 test1363 \
+test1364 test1365 test1366 test1367 test1368 test1369 test1370 test1371 \
+test1372 test1373 test1374 test1375 test1376 test1377 test1378 test1379 \
+test1380 test1381 test1382 test1383 test1384 test1385 test1386 test1387 \
+test1388 test1389 test1390 test1391 test1392 test1393 test1394 test1395 \
+test1396 test1397 test1398 \
+\
+test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \
+test1408 test1409 test1410 test1411 test1412 test1413 test1414 test1415 \
+test1416 test1417 test1418 test1419 test1420 test1421 test1422 test1423 \
+test1424 \
+test1428 test1429 test1430 test1431 test1432 test1433 test1434 test1435 \
+test1436 \
+\
+test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \
+test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \
+test1516 \
+\
+test1520 \
+\
+test1525 test1526 test1527 test1528 test1529 test1530 test1531 \
+\
+test1600 test1601 test1602 \
+\
+test1800 test1801 \
+\
+test1900 test1901 test1902 test1903 \
+\
+test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \
+test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \
+test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \
+test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \
+test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \
+test2040 test2041 test2042 test2043 test2044 test2045
+
+
+# TESTCASES are taken from Makefile.inc
+EXTRA_DIST = $(TESTCASES) DISABLED CMakeLists.txt
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(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 tests/data/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign tests/data/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__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(srcdir)/Makefile.inc $(am__empty):
+
+$(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):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(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
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+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:
+
+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-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+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 Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool 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-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+iall:
+install:
+test:
+
+filecheck:
+ @mkdir test-place; \
+ cp "$(top_srcdir)"/tests/data/test[0-9]* test-place/; \
+ rm test-place/*~; \
+ for f in $(EXTRA_DIST); do \
+ if test -f "$(top_srcdir)/tests/data/$$f"; then \
+ rm -f "test-place/$$f"; \
+ else \
+ echo "$$f is listed but missing!"; \
+ fi \
+ done; \
+ echo "Local files not present in EXTRA_DIST:" ; \
+ ls test-place; \
+ ! ls test-place | grep . >/dev/null ; \
+ RC=$$? ; \
+ rm -rf test-place ; \
+ exit $$RC
+
+show:
+ @echo $(EXTRA_DIST)
+
+# 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/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.inc b/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.inc
new file mode 100644
index 000000000..d84b4e2a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/Makefile.inc
@@ -0,0 +1,169 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2015, Daniel Stenberg, , et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+# this list is in numerical order
+TESTCASES = test1 test2 test3 test4 test5 test6 test7 test8 test9 \
+test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
+test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
+test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
+test40 test41 test42 test43 test44 test45 test46 test47 test48 test49 \
+test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
+test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
+test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
+test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
+test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
+test100 test101 test102 test103 test104 test105 test106 test107 test108 \
+test109 test110 test111 test112 test113 test114 test115 test116 test117 \
+test118 test119 test120 test121 test122 test123 test124 test125 test126 \
+test127 test128 test129 test130 test131 test132 test133 test134 test135 \
+test136 test137 test138 test139 test140 test141 test142 test143 test144 \
+test145 test146 test147 test148 test149 test150 test151 test152 test153 \
+test154 test155 test156 test157 test158 test159 test160 test161 test162 \
+test163 test164 test165 test166 test167 test168 test169 test170 test171 \
+test172 test173 test174 test175 test176 test177 test178 test179 test180 \
+test181 test182 test183 test184 test185 test186 test187 test188 test189 \
+test190 test191 test192 test193 test194 test195 test196 test197 test198 \
+test199 test200 test201 test202 test203 test204 test205 test206 test207 \
+test208 test209 test210 test211 test212 test213 test214 test215 test216 \
+test217 test218 test220 test221 test222 test223 test224 test225 \
+test226 test227 test228 test229 test231 test233 test234 \
+test235 test236 test237 test238 test239 test240 test241 test242 test243 \
+ test245 test246 test247 test248 test249 test250 test251 test252 \
+test253 test254 test255 test256 test257 test258 test259 test260 test261 \
+test262 test263 test264 test265 test266 test267 test268 test269 test270 \
+test271 test272 test273 test274 test275 test276 test277 test278 test279 \
+test280 test281 test282 test283 test284 test285 test286 test287 test288 \
+test289 test290 test291 test292 test293 test294 test295 test296 test297 \
+test298 test299 test300 test301 test302 test303 test304 test305 test306 \
+test307 test308 test309 test310 test311 test312 test313 \
+ test320 test321 test322 test323 test324 \
+test325 \
+test350 test351 test352 test353 test354 \
+\
+test400 test401 test402 test403 test404 test405 test406 test407 test408 \
+test409 \
+\
+test500 test501 test502 test503 test504 test505 test506 test507 test508 \
+test509 test510 test511 test512 test513 test514 test515 test516 test517 \
+test518 test519 test520 test521 test522 test523 test524 test525 test526 \
+test527 test528 test529 test530 test531 test532 test533 test534 test535 \
+test536 test537 test538 test539 test540 test541 test542 test543 test544 \
+test545 test546 test547 test548 test549 test550 test551 test552 test553 \
+test554 test555 test556 test557 test558 test560 test561 test562 \
+test563 test564 test565 test566 test567 test568 test569 test570 test571 \
+test572 test573 test574 test575 test576 test578 test579 test580 \
+test581 test582 test583 test584 test585 test586 test587 test588 \
+test590 test591 test592 test593 test594 test595 test596 test597 test598 \
+test599 test600 test601 test602 test603 test604 test605 test606 test607 \
+test608 test609 test610 test611 test612 test613 test614 test615 test616 \
+test617 test618 test619 test620 test621 test622 test623 test624 test625 \
+test626 test627 test628 test629 test630 test631 test632 test633 test634 \
+test635 test636 test637 test638 test639 test640 test641 \
+\
+test700 test701 test702 test703 test704 test705 test706 test707 test708 \
+test709 test710 test711 test712 \
+\
+test800 test801 test802 test803 test804 test805 test806 test807 test808 \
+test809 test810 test811 test812 test813 test814 test815 test816 test817 \
+test818 test819 test820 test821 test822 test823 test824 test825 test826 \
+test827 test828 test829 test830 test831 test832 test833 test834 test835 \
+test836 test837 test838 test839 test840 \
+\
+test850 test851 test852 test853 test854 test855 test856 test857 test858 \
+test859 test860 test861 test862 test863 test864 test865 test866 test867 \
+test868 test869 test870 test871 test872 test873 test874 test875 test876 \
+test877 test878 test879 test880 test881 test882 test883 test884 test885 \
+test886 \
+\
+test900 test901 test902 test903 test904 test905 test906 test907 test908 \
+test909 test910 test911 test912 test913 test914 test915 test916 test917 \
+test918 test919 test920 test921 test922 test923 test924 test925 test926 \
+test927 test928 test929 test930 test931 test932 test933 test934 test935 \
+test936 test937 test938 test939 test940 test941 test942 test943 test944 \
+test945 \
+\
+test1000 test1001 test1002 test1003 test1004 test1005 test1006 test1007 \
+test1008 test1009 test1010 test1011 test1012 test1013 test1014 test1015 \
+test1016 test1017 test1018 test1019 test1020 test1021 test1022 test1023 \
+test1024 test1025 test1026 test1027 test1028 test1029 test1030 test1031 \
+test1032 test1033 test1034 test1035 test1036 test1037 test1038 test1039 \
+test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
+test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055 \
+test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063 \
+test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \
+test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 \
+test1080 test1081 test1082 test1083 test1084 test1085 test1086 test1087 \
+test1088 test1089 test1090 test1091 test1092 test1093 test1094 test1095 \
+test1096 test1097 test1098 test1099 test1100 test1101 test1102 test1103 \
+test1104 test1105 test1106 test1107 test1108 test1109 test1110 test1111 \
+test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \
+test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \
+test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \
+\
+test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
+test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \
+test1216 test1217 test1218 test1219 \
+test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 \
+test1228 test1229 test1230 test1231 test1232 test1233 test1234 test1235 \
+test1236 test1237 test1238 test1239 test1240 test1241 \
+\
+test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 \
+test1308 test1309 test1310 test1311 test1312 test1313 test1314 test1315 \
+test1316 test1317 test1318 test1319 test1320 test1321 \
+ test1325 test1326 test1327 test1328 test1329 test1330 test1331 \
+test1332 test1333 test1334 test1335 test1336 test1337 test1338 test1339 \
+test1340 test1341 test1342 test1343 test1344 test1345 test1346 test1347 \
+test1348 test1349 test1350 test1351 test1352 test1353 test1354 test1355 \
+test1356 test1357 test1358 test1359 test1360 test1361 test1362 test1363 \
+test1364 test1365 test1366 test1367 test1368 test1369 test1370 test1371 \
+test1372 test1373 test1374 test1375 test1376 test1377 test1378 test1379 \
+test1380 test1381 test1382 test1383 test1384 test1385 test1386 test1387 \
+test1388 test1389 test1390 test1391 test1392 test1393 test1394 test1395 \
+test1396 test1397 test1398 \
+\
+test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \
+test1408 test1409 test1410 test1411 test1412 test1413 test1414 test1415 \
+test1416 test1417 test1418 test1419 test1420 test1421 test1422 test1423 \
+test1424 \
+test1428 test1429 test1430 test1431 test1432 test1433 test1434 test1435 \
+test1436 \
+\
+test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \
+test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \
+test1516 \
+\
+test1520 \
+\
+test1525 test1526 test1527 test1528 test1529 test1530 test1531 \
+\
+test1600 test1601 test1602 \
+\
+test1800 test1801 \
+\
+test1900 test1901 test1902 test1903 \
+\
+test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \
+test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \
+test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \
+test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \
+test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \
+test2040 test2041 test2042 test2043 test2044 test2045
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1
new file mode 100644
index 000000000..b88273514
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET
+
+
+http://%HOSTIP:%HTTPPORT/1
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test10 b/external/3rd/library/curl/curl-7.45.0/tests/data/test10
new file mode 100644
index 000000000..806aa697f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test10
@@ -0,0 +1,67 @@
+
+
+
+HTTP
+HTTP PUT
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+simple HTTP PUT from file
+
+
+http://%HOSTIP:%HTTPPORT/we/want/10 -T log/test10.txt
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /we/want/10 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+Expect: 100-continue
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test100 b/external/3rd/library/curl/curl-7.45.0/tests/data/test100
new file mode 100644
index 000000000..72f9c8562
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test100
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 curl-releases
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP dir list PASV
+
+
+ftp://%HOSTIP:%FTPPORT/test-100/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD test-100
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1000 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1000
new file mode 100644
index 000000000..e6f8eef41
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1000
@@ -0,0 +1,42 @@
+
+
+
+FTP
+PASV
+LIST
+NOBODY
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP dir list PASV with -I
+
+
+ftp://%HOSTIP:%FTPPORT/1000/ -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD 1000
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1001 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1001
new file mode 100644
index 000000000..91b13203e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1001
@@ -0,0 +1,107 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP proxy
+HTTP Digest auth
+Resume
+Content-Range
+CUSTOMREQUEST
+
+
+
+# Server-side
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP POST --digest with PUT and resumed upload and modified method
+
+
+http://%HOSTIP:%HTTPPORT/1001 -u auser:apasswd --digest -T log/1001 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
+
+
+test
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/1001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Content-Range: bytes 2-4/5
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+
+GET http://%HOSTIP:%HTTPPORT/1001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1001", response="6af4d89c952f4dd4cc215a6878dc499d"
+Content-Range: bytes 2-4/5
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 3
+Expect: 100-continue
+
+st
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1002 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1002
new file mode 100644
index 000000000..83cce6e44
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1002
@@ -0,0 +1,117 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP proxy
+HTTP Digest auth
+Resume
+Content-Range
+CUSTOMREQUEST
+
+
+
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP POST --digest with PUT and resumed upload and modified method, twice
+
+
+http://%HOSTIP:%HTTPPORT/1002.upload1 -T log/1002 http://%HOSTIP:%HTTPPORT/1002.upload2 -T log/1002 -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
+
+
+test
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/1002.upload1 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Content-Range: bytes 2-4/5
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+
+GET http://%HOSTIP:%HTTPPORT/1002.upload1 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1002.upload1", response="198aa9b6acb4b0c71d02a197a5e41f54"
+Content-Range: bytes 2-4/5
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 3
+Expect: 100-continue
+
+st
+GET http://%HOSTIP:%HTTPPORT/1002.upload2 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1002.upload2", response="d711f0d2042786d930de635ba0d1a1d0"
+Content-Range: bytes 2-4/5
+User-Agent: curl/7.16.1
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 3
+Expect: 100-continue
+
+st
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1003 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1003
new file mode 100644
index 000000000..08e377a79
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1003
@@ -0,0 +1,48 @@
+
+
+
+FTP
+RETR
+huge response
+
+
+# Server-side
+
+
+mooo
+
+# a ~17000 bytes response string to CWD to make sure the ftp parser deals
+# with it nicely
+
+REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with excessively large server command response line
+
+
+ftp://%HOSTIP:%FTPPORT/path/1003
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 1003
+RETR 1003
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1004 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1004
new file mode 100644
index 000000000..955163b36
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1004
@@ -0,0 +1,59 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with empty proxy
+
+
+http://%HOSTIP:%HTTPPORT/1004 --proxy ""
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1004 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1005 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1005
new file mode 100644
index 000000000..5c0c67643
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1005
@@ -0,0 +1,48 @@
+
+
+
+FTP
+RETR
+huge response
+
+
+# Server-side
+
+
+mooo
+
+# a long set of response strings to CWD to make sure the ftp parser deals
+# with it nicely
+
+REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with excessively large number of server command response lines
+
+
+ftp://%HOSTIP:%FTPPORT/path/1005
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 1005
+RETR 1005
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1006 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1006
new file mode 100644
index 000000000..b37f807b7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1006
@@ -0,0 +1,49 @@
+
+
+
+FTP
+RETR
+huge response
+
+
+# Server-side
+
+
+mooo
+
+# A long set of response strings to CWD to make sure the ftp parser deals
+# with it nicely. The length hits a boundary condition that may make curl
+# hang.
+
+REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with excessively large number of server command response lines (boundary condition)
+
+
+ftp://%HOSTIP:%FTPPORT/path/1006
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 1006
+RETR 1006
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1007 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1007
new file mode 100644
index 000000000..5966ab366
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1007
@@ -0,0 +1,39 @@
+
+
+
+TFTP
+TFTP WRQ
+FAILURE
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP send with invalid permission on server
+
+
+-T log/test1007.txt tftp://%HOSTIP:%TFTPPORT//invalid-file --trace-ascii log/traceit
+
+
+This data will not be sent
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+69
+
+
+opcode: 2
+filename: /invalid-file
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1008 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1008
new file mode 100644
index 000000000..bcc503e5a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1008
@@ -0,0 +1,132 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+connection-monitor
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Transfer-Encoding: chunked
+
+20
+And you should ignore this data.
+FA0
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+0
+
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Transfer-Encoding: chunked
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com.1008:%HTTPPORT/path/10080002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.example.com.1008:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.1008:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.example.com.1008:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.1008:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+Proxy-Connection: Keep-Alive
+
+GET /path/10080002 HTTP/1.1
+User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
+Host: test.remote.example.com.1008:%HTTPPORT
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1009 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1009
new file mode 100644
index 000000000..b0a93e5e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1009
@@ -0,0 +1,44 @@
+
+
+
+TFTP
+TFTP RRQ
+--local-port
+
+
+
+#
+# Server-side
+
+
+a chunk of
+data
+returned
+ to client
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve with --local-port
+
+
+tftp://%HOSTIP:%TFTPPORT//1009 --local-port 44444-45444
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /1009
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test101 b/external/3rd/library/curl/curl-7.45.0/tests/data/test101
new file mode 100644
index 000000000..09faade2d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test101
@@ -0,0 +1,58 @@
+
+
+
+FTP
+PORT
+LIST
+
+
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP dir list, PORT with specified IP
+
+
+ftp://%HOSTIP:%FTPPORT/ -P %CLIENTIP
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1010 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1010
new file mode 100644
index 000000000..a51d68ab3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1010
@@ -0,0 +1,56 @@
+
+
+
+FTP
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP dir list nocwd
+
+
+ftp://%HOSTIP:%FTPPORT//list/this/path/1010/ --ftp-method nocwd
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST /list/this/path/1010/
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1011 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1011
new file mode 100644
index 000000000..566867dd6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1011
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP POST
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 301 OK
+Location: moo.html&testcase=/10110002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 301 OK
+Location: moo.html&testcase=/10110002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with 301 redirect
+
+
+http://%HOSTIP:%HTTPPORT/blah/1011 -L -d "moo"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /blah/1011 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+mooGET /blah/moo.html&testcase=/10110002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1012 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1012
new file mode 100644
index 000000000..4edc1731e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1012
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP POST
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 301 OK swsclose
+Location: moo.html&testcase=/10120002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 301 OK swsclose
+Location: moo.html&testcase=/10120002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with 301 redirect and --post301
+
+
+http://%HOSTIP:%HTTPPORT/blah/1012 -L -d "moo" --post301
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /blah/1012 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+mooPOST /blah/moo.html&testcase=/10120002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+moo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1013 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1013
new file mode 100644
index 000000000..9a1e6d4e3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1013
@@ -0,0 +1,37 @@
+
+
+
+curl-config
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Compare curl --version with curl-config --protocols
+
+
+--version
+
+
+%SRCDIR/libtest/test1013.pl ../curl-config log/stdout1013 protocols
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1014 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1014
new file mode 100644
index 000000000..5116aad7c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1014
@@ -0,0 +1,37 @@
+
+
+
+curl-config
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Compare curl --version with curl-config --features
+
+
+--version
+
+
+%SRCDIR/libtest/test1013.pl ../curl-config log/stdout1014 features
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1015 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1015
new file mode 100644
index 000000000..a2b2cefa1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1015
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP POST
+--data-urlencode
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 I am cool swsclose
+Server: Cool server/10.0
+Content-Length: 0
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+--data-urlencode
+
+
+http://%HOSTIP:%HTTPPORT/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/1015.txt" --data-urlencode @log/1015.txt
+
+
+content to _?!#$'|<>
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /1015 HTTP/1.1
+User-Agent: curl/7.17.2-CVS (i686-pc-linux-gnu) libcurl/7.17.2-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.5.2-CVS libidn/1.1 libssh2/0.19.0-C
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 133
+Content-Type: application/x-www-form-urlencoded
+
+my%20name%20is%20moo%5B%5D&y e s=s_i_r&v_alue=content%20to%20_%3F%21%23%24%27%7C%3C%3E%0A&content%20to%20_%3F%21%23%24%27%7C%3C%3E%0A
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1016 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1016
new file mode 100644
index 000000000..b404cacb6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1016
@@ -0,0 +1,39 @@
+
+
+
+FILE
+Range
+
+
+
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+file
+
+
+X-Y range on a file:// URL to stdout
+
+
+-r 1-4 file://localhost/%PWD/log/test1016.txt
+
+
+1234567890
+
+
+
+# Verify data after the test has been "shot"
+
+
+2345
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1017 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1017
new file mode 100644
index 000000000..6fbc38ab2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1017
@@ -0,0 +1,40 @@
+
+
+
+FILE
+Range
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+file
+
+
+0-Y range on a file:// URL to stdout
+
+
+-r 0-3 file://localhost/%PWD/log/test1017.txt
+
+
+1234567890
+
+
+
+# Verify data after the test has been "shot"
+
+
+1234
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1018 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1018
new file mode 100644
index 000000000..28a7027d9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1018
@@ -0,0 +1,39 @@
+
+
+
+FILE
+Range
+
+
+
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+file
+
+
+X-X range on a file:// URL to stdout
+
+
+-r 4-4 file://localhost/%PWD/log/test1018.txt
+
+
+1234567890
+
+
+
+# Verify data after the test has been "shot"
+
+
+5
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1019 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1019
new file mode 100644
index 000000000..4d9872a2d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1019
@@ -0,0 +1,42 @@
+
+
+
+FILE
+Range
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+file
+
+
+X- range on a file:// URL to stdout
+
+
+-r 7- file://localhost/%PWD/log/test1019.txt
+
+
+1234567890
+1234567890
+
+
+
+# Verify data after the test has been "shot"
+
+
+890
+1234567890
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test102 b/external/3rd/library/curl/curl-7.45.0/tests/data/test102
new file mode 100644
index 000000000..141bc0f35
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test102
@@ -0,0 +1,52 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY EPSV 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR PASV
+
+
+ftp://%HOSTIP:%FTPPORT/102
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 102
+RETR 102
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1020 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1020
new file mode 100644
index 000000000..735871d6b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1020
@@ -0,0 +1,42 @@
+
+
+
+FILE
+Range
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+file
+
+
+-Y range on a file:// URL to stdout
+
+
+-r -9 file://localhost/%PWD/log/test1020.txt
+
+
+1234567890
+1234567890
+
+
+
+# Verify data after the test has been "shot"
+
+
+34567890
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1021 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1021
new file mode 100644
index 000000000..3ac9e12e6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1021
@@ -0,0 +1,141 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+HTTP proxy NTLM auth
+--proxy-anyauth
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: NTLM
+Content-Length: 21
+Connection: close
+
+data to discard
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 28
+
+And you should ignore this data.
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: NTLM
+Content-Length: 21
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 28
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com.1021:%HTTPPORT/path/10210002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-anyauth --proxytunnel
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.example.com.1021:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.1021:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.example.com.1021:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.1021:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.example.com.1021:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.1021:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+Proxy-Connection: Keep-Alive
+
+GET /path/10210002 HTTP/1.1
+User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
+Host: test.remote.example.com.1021:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1022 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1022
new file mode 100644
index 000000000..6a8b01258
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1022
@@ -0,0 +1,37 @@
+
+
+
+curl-config
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Compare curl --version with curl-config --version
+
+
+--version
+
+
+%SRCDIR/libtest/test1022.pl ../curl-config log/stdout1022 version
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1023 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1023
new file mode 100644
index 000000000..9c916a085
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1023
@@ -0,0 +1,37 @@
+
+
+
+curl-config
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Compare curl --version with curl-config --vernum
+
+
+--version
+
+
+%SRCDIR/libtest/test1022.pl ../curl-config log/stdout1023 vernum
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1024 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1024
new file mode 100644
index 000000000..086ef267a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1024
@@ -0,0 +1,103 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/10240002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
+This server reply is for testing a Location: following with cookies
+
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/10240003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
+This server reply is for testing a Location: following with cookies
+
+
+
+HTTP/1.1 200 Followed here fine
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/10240002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/10240003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
+HTTP/1.1 200 Followed here fine
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with cookies
+
+
+http://%HOSTIP:%HTTPPORT/want/1024 -L -c log/jar1024
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/1024 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /data/10240002.txt HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/10240003.txt HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: firstcookie=want
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1025 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1025
new file mode 100644
index 000000000..494f8f8d5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1025
@@ -0,0 +1,105 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/10250002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
+This server reply is for testing a Location: following with cookies
+
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/10250003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
+This server reply is for testing a Location: following with cookies
+
+
+
+HTTP/1.1 200 Followed here fine
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../data/10250002.txt
+Set-Cookie: firstcookie=want; path=/want/
+Content-Length: 69
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ../want/10250003.txt
+Set-Cookie: nextcookie=data; path=/data/
+Content-Length: 69
+
+HTTP/1.1 200 Followed here fine
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with command-line and server cookies
+
+
+http://%HOSTIP:%HTTPPORT/want/1025 -L -c log/jar1025 -b forcedcookie=yes
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/1025 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: forcedcookie=yes
+
+GET /data/10250002.txt HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: forcedcookie=yes
+
+GET /want/10250003.txt HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: firstcookie=want; forcedcookie=yes
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1026 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1026
new file mode 100644
index 000000000..e47b12a0a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1026
@@ -0,0 +1,39 @@
+
+
+
+--manual
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+curl --manual
+
+
+--manual
+
+# Search for these two sentinel lines in the manual output; if they are found,
+# then chances are good the entire manual is there.
+
+perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(a\s*tool\s*to\s*transfer\s*data)|(mailing\s*lists\s*to\s*discuss\s*curl)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/stdout1026
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1027 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1027
new file mode 100644
index 000000000..9c3d6e3ea
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1027
@@ -0,0 +1,39 @@
+
+
+
+--help
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+curl --help
+
+
+--help
+
+# Search for these two sentinel lines in the help output; if they are found,
+# then chances are good the entire help is there.
+
+perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/stdout1027
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1028 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1028
new file mode 100644
index 000000000..fd5162a70
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1028
@@ -0,0 +1,94 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+FTP
+PASV
+FILE
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: ftp://127.0.0.1:8992/10280002
+Content-Length: 0
+Connection: close
+
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+#
+# Client-side
+
+
+http
+ftp
+
+
+HTTP Location: redirect to FTP URL
+
+
+http://%HOSTIP:%HTTPPORT/10280001 -L
+
+# The data section doesn't do variable substitution, so we must assert this
+
+perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /10280001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 10280002
+RETR 10280002
+QUIT
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: ftp://%HOSTIP:%FTPPORT/10280002
+Content-Length: 0
+Connection: close
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1029 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1029
new file mode 100644
index 000000000..2ffc7c64a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1029
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+redirect_url
+followlocation
+--write-out
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10290002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: and 'redirect_url' check
+
+
+http://%HOSTIP:%HTTPPORT/we/want/our/1029 -w '%{redirect_url}\n'
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/our/1029 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10290002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+http://%HOSTIP:%HTTPPORT/we/want/our/data/10290002.txt?coolsite=yes
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test103 b/external/3rd/library/curl/curl-7.45.0/tests/data/test103
new file mode 100644
index 000000000..15712f5da
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test103
@@ -0,0 +1,54 @@
+
+
+
+FTP
+PORT
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR PORT with CWD
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/103 -P -
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+PORT 127,0,0,1,0,0
+TYPE I
+SIZE 103
+RETR 103
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1030 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1030
new file mode 100644
index 000000000..5a8ed4cd6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1030
@@ -0,0 +1,110 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP Digest auth
+--anyauth
+
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Length: 26
+Content-Type: text/html; charset=iso-8859-1
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Length: 26
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP PUT with --anyauth authorization (picking Digest)
+
+
+http://%HOSTIP:%HTTPPORT/1030 -T log/put1030 -u testuser:testpass --anyauth
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1030 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+PUT /1030 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1030", response="01cb59db1ddaac246b072d5f5f0716d9"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1031 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1031
new file mode 100644
index 000000000..9cfbab5c5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1031
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ?coolsite=yes/10310002.txt
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: ?coolsite=yes/10310002.txt
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following to a query string
+
+
+http://%HOSTIP:%HTTPPORT/want/this/1031 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/this/1031 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/this/1031?coolsite=yes/10310002.txt HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1032 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1032
new file mode 100644
index 000000000..b0b6834cc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1032
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP HEAD
+Range
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP HEAD with --range
+
+
+--range 1-3 --head http://%HOSTIP:%HTTPPORT/1032
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+HEAD /1032 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=1-3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1033 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1033
new file mode 100644
index 000000000..9ad5d2526
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1033
@@ -0,0 +1,60 @@
+
+#
+# This case with an unexpected 1xx response used to cause a "hang" before the fix
+# got 7.19.0
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 102 unexpected huh?!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with 102 response!
+
+
+http://%HOSTIP:%HTTPPORT/1033
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1033 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1034 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1034
new file mode 100644
index 000000000..c47574051
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1034
@@ -0,0 +1,62 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+IDN
+FAILURE
+
+
+
+#
+# Server-side
+
+
+HTTP/1.0 503 Service Unavailable
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+idn
+
+
+CHARSET=UTF-8
+
+
+HTTP over proxy with malformatted IDN host name
+
+
+# This host name contains an invalid UTF-8 byte sequence that can't be
+# converted into an IDN name
+
+http://invalid-utf8-â.local/page/1034 -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://invalid-utf8-â.local/page/1034 HTTP/1.1
+Host: invalid-utf8-â.local
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1035 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1035
new file mode 100644
index 000000000..20b434c34
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1035
@@ -0,0 +1,59 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+IDN
+FAILURE
+
+
+
+#
+# Server-side
+
+
+HTTP/1.0 503 Service Unavailable
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+idn
+
+
+CHARSET=ISO8859-1
+
+
+HTTP over proxy with too long IDN host name
+
+
+http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 HTTP/1.1
+Host: too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1036 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1036
new file mode 100644
index 000000000..b8ebc4fc0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1036
@@ -0,0 +1,61 @@
+
+
+
+FTP
+PASV
+RETR
+Resume
+
+
+
+# Server-side
+
+
+expected to be a file without the first part
+but we emulate that
+
+
+85
+
+
+REPLY EPSV 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download resume from end of file
+
+
+ftp://%HOSTIP:%FTPPORT/1036 -C -
+
+
+This is the start!!
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 1036
+REST 20
+RETR 1036
+QUIT
+
+
+This is the start!!
+expected to be a file without the first part
+but we emulate that
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1037 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1037
new file mode 100644
index 000000000..d9cdc0a66
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1037
@@ -0,0 +1,54 @@
+
+
+
+FTP
+PASV
+RETR
+Resume
+
+
+
+# Server-side
+
+
+expected to be a file without the first part
+but we emulate that
+
+
+65
+
+
+REPLY EPSV 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download resume from end of empty file
+
+
+ftp://%HOSTIP:%FTPPORT/1037 -C -
+
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 1037
+RETR 1037
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1038 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1038
new file mode 100644
index 000000000..9572d78e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1038
@@ -0,0 +1,53 @@
+
+
+
+FTP
+EPSV
+APPE
+Resume
+
+
+# Server-side
+
+
+17
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PASV upload resume from end of file
+
+
+ftp://%HOSTIP:%FTPPORT/1038 -T log/upload1038 -C -
+
+
+this is the *****cr@p******** that we're gonna upload
+
+worx?
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 1038
+APPE 1038
+QUIT
+
+
+cr@p******** that we're gonna upload
+
+worx?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1039 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1039
new file mode 100644
index 000000000..654d836d2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1039
@@ -0,0 +1,53 @@
+
+
+
+FTP
+EPSV
+APPE
+Resume
+
+
+# Server-side
+
+
+0
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PASV upload resume from end of empty file
+
+
+ftp://%HOSTIP:%FTPPORT/1039 -T log/upload1039 -C -
+
+
+this is the *****cr@p******** that we're gonna upload
+
+worx?
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 1039
+STOR 1039
+QUIT
+
+
+this is the *****cr@p******** that we're gonna upload
+
+worx?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test104 b/external/3rd/library/curl/curl-7.45.0/tests/data/test104
new file mode 100644
index 000000000..82df98aee
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test104
@@ -0,0 +1,43 @@
+
+
+
+FTP
+NOBODY
+
+
+# Server-side
+
+
+51
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP --head to get file size only
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/104 --head
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+MDTM 104
+TYPE I
+SIZE 104
+REST 0
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1040 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1040
new file mode 100644
index 000000000..e21ed8199
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1040
@@ -0,0 +1,79 @@
+
+# Similar to test92
+
+
+HTTP
+HTTP GET
+Resume
+
+
+
+# Server-side
+
+
+HTTP/1.1 416 Invalid range
+Connection: close
+Content-Length: 0
+
+
+
+# The file data that exists at the start of the test must be included in
+# the verification.
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+HTTP/1.1 416 Invalid range
+Connection: close
+Content-Length: 0
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with resume from end of entirely-downloaded file
+
+
+http://%HOSTIP:%HTTPPORT/1040 -C -
+
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1040 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=100-
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1041 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1041
new file mode 100644
index 000000000..c77d616a8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1041
@@ -0,0 +1,78 @@
+
+# Similar to test33
+
+
+HTTP
+HTTP PUT
+Resume
+Content-Range
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT with resume from end of already-uploaded file
+
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+http://%HOSTIP:%HTTPPORT/1041 -Tlog/test1041.txt -C -
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+# curl doesn't do a HEAD request on the remote file so it has no idea whether
+# it can skip part of the file or not. Instead, it sends the entire file.
+
+PUT /1041 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Content-Range: bytes 0-99/100
+Accept: */*
+Content-Length: 100
+Expect: 100-continue
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1042 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1042
new file mode 100644
index 000000000..dfebaa152
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1042
@@ -0,0 +1,94 @@
+
+
+
+HTTP
+HTTP GET
+Resume
+FAILURE
+
+
+
+# Server-side
+
+# Some servers (e.g. Apache 1.2) respond this way to an invalid byte range
+
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 100
+Content-Type: text/plain
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+# The file data that exists at the start of the test must be included in
+# the verification.
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 100
+Content-Type: text/plain
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET beyond end of entirely-downloaded file, no server resume
+
+
+http://%HOSTIP:%HTTPPORT/1042 -C 200
+
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+
+# Verify data after the test has been "shot"
+
+
+33
+
+
+^User-Agent:.*
+
+
+GET /1042 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=200-
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1043 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1043
new file mode 100644
index 000000000..4ab498762
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1043
@@ -0,0 +1,84 @@
+
+
+
+HTTP
+HTTP GET
+Resume
+
+
+
+# Server-side
+
+
+HTTP/1.1 206 Partial Content
+Date: Mon, 13 Nov 2007 13:41:09 GMT
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Accept-Ranges: bytes
+Content-Length: 60
+Content-Range: bytes 40-99/100
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+# The file data that exists at the start of the test must be included in
+# the verification.
+
+012345678
+012345678
+012345678
+012345678
+HTTP/1.1 206 Partial Content
+Date: Mon, 13 Nov 2007 13:41:09 GMT
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Accept-Ranges: bytes
+Content-Length: 60
+Content-Range: bytes 40-99/100
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with resume from end of file
+
+
+http://%HOSTIP:%HTTPPORT/1043 -C -
+
+
+012345678
+012345678
+012345678
+012345678
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1043 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=40-
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1044 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1044
new file mode 100644
index 000000000..a95f5681d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1044
@@ -0,0 +1,58 @@
+
+# Similar to test141
+
+
+FTP
+NOBODY
+Largefile
+
+
+
+# Server-side
+
+
+
+
+9999999999
+
+
+213 20080726102659
+
+
+
+# Client-side
+
+
+large_file
+
+
+ftp
+
+
+FTP download large file info with -I
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/1044 -I
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+MDTM 1044
+TYPE I
+SIZE 1044
+REST 0
+QUIT
+
+
+Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT
+Content-Length: 9999999999
+Accept-ranges: bytes
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1045 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1045
new file mode 100644
index 000000000..fa8ad4b44
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1045
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+--interface
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with numeric localhost --interface
+
+
+http://%HOSTIP:%HTTPPORT/1045 --interface %CLIENTIP
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1045 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1046 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1046
new file mode 100644
index 000000000..bc4e5c293
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1046
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+--interface
+IPv6
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP-IPv6 GET with numeric localhost --interface
+
+
+-g "http://%HOST6IP:%HTTP6PORT/1046" --interface ::1
+
+# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
+
+perl -e "print 'Test requires default test server host address' if ( '%CLIENT6IP' ne '[::1]' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1046 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1047 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1047
new file mode 100644
index 000000000..028a8a6cc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1047
@@ -0,0 +1,58 @@
+
+
+
+FTP
+PASV
+LIST
+--interface
+
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP dir list PASV with localhost --interface
+
+
+ftp://%HOSTIP:%FTPPORT/ --interface %CLIENTIP
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1048 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1048
new file mode 100644
index 000000000..c30347336
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1048
@@ -0,0 +1,68 @@
+
+
+
+FTP
+FTP-ipv6
+IPv6
+PASV
+LIST
+--interface
+IPv6
+
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+ftp-ipv6
+
+
+FTP-IPv6 dir list PASV with localhost --interface
+
+
+-g "ftp://%HOST6IP:%FTP6PORT/" --interface ::1
+
+# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
+
+perl -e "print 'Test requires default test server host address' if ( '%CLIENT6IP' ne '[::1]' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1049 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1049
new file mode 100644
index 000000000..e6054a478
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1049
@@ -0,0 +1,44 @@
+
+
+
+TFTP
+TFTP RRQ
+--interface
+
+
+
+#
+# Server-side
+
+
+a chunk of
+data
+returned
+ to client
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve with localhost --interface
+
+
+tftp://%HOSTIP:%TFTPPORT//1049 --trace-ascii log/traceit --interface %CLIENTIP
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /1049
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test105 b/external/3rd/library/curl/curl-7.45.0/tests/data/test105
new file mode 100644
index 000000000..cc811aeb8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test105
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PASV
+TYPE A
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY EPSV 500 no such command
+REPLY SIZE 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP user+password in URL and ASCII transfer
+
+
+ftp://userdude:passfellow@%HOSTIP:%FTPPORT/105 --use-ascii
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER userdude
+PASS passfellow
+PWD
+EPSV
+PASV
+TYPE A
+SIZE 105
+RETR 105
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1050 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1050
new file mode 100644
index 000000000..1abb9b1ce
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1050
@@ -0,0 +1,66 @@
+
+# Similar to test 253
+
+
+FTP-ipv6
+IPv6
+EPRT
+
+
+
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+# Client-side
+
+
+ipv6
+
+
+ftp-ipv6
+
+
+FTP-IPv6 dir list, EPRT with specified IP
+
+
+-g "ftp://%HOST6IP:%FTP6PORT/" -P ::1
+
+# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
+
+perl -e "print 'Test requires default test server host address' if ( '%CLIENT6IP' ne '[::1]' );"
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of EPRT that curl can send
+
+s/^(EPRT \|2\|::1\|)(.*)/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |2|::1|
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1051 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1051
new file mode 100644
index 000000000..080e1d1d5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1051
@@ -0,0 +1,118 @@
+
+
+
+HTTP
+HTTP PUT
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/10510002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+
+
+HTTP/1.1 100 Continue
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
+If this is received, the location following worked
+
+
+HTTP/1.1 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/10510002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 100 Continue
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
+If this is received, the location following worked
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT with Location: following
+
+
+http://%HOSTIP:%HTTPPORT/want/1051 -L -T log/test1051.txt
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+# The primary reason libcurl sends the data part twice in this test is that
+# the test HTTP server is blocking until it has read the entire request,
+# including the full request-body before it responds. So in this test the
+# server says 301 and 100 _after_ the entire PUT body has been sent.
+
+
+PUT /want/1051 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+Expect: 100-continue
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+Expect: 100-continue
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1052 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1052
new file mode 100644
index 000000000..10c16b4a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1052
@@ -0,0 +1,111 @@
+
+
+
+HTTP
+HTTP PUT
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.0 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/10520002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+
+
+HTTP/1.0 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
+If this is received, the location following worked
+
+
+HTTP/1.0 301 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/10520002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+HTTP/1.0 200 Followed here fine swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 51
+
+If this is received, the location following worked
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP 1.0 PUT with Location: following
+
+
+http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+# The primary reason libcurl sends the data part twice in this test is that
+# the test HTTP server is blocking until it has read the entire request,
+# including the full request-body before it responds. So in this test the
+# server says 301 and 200 _after_ the entire PUT body has been sent.
+
+PUT /want/1052 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+PUT /want/data/10520002.txt?coolsite=yes HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1053 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1053
new file mode 100644
index 000000000..8c60e5ce3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1053
@@ -0,0 +1,129 @@
+
+# Based on test 9
+
+
+HTTP
+HTTP FORMPOST
+HTTP file upload
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 307 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/10530002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+Connection: close
+
+blablabla
+
+
+
+HTTP/1.1 307 Redirect swsclose
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Location: data/10530002.txt?coolsite=yes
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+Connection: close
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting from file with Location: following
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/test1053.txt
+
+# We create this file before the command is invoked!
+
+foo-
+This is a moo-
+bar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/1053 HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 410
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
+
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="file"; filename="test1053.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------9ef8d6205763--
+POST /we/want/data/10530002.txt?coolsite=yes HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 410
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
+
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="file"; filename="test1053.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------9ef8d6205763--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1054 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1054
new file mode 100644
index 000000000..54d023267
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1054
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP POST
+followlocation
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 301 OK swsclose
+Location: moo/testcase/10540002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 301 OK swsclose
+Location: moo/testcase/10540002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST from file with 301 redirect and --post301
+
+
+field=data
+
+
+http://%HOSTIP:%HTTPPORT/blah/1054 -L -d @log/test1054.txt --post301
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /blah/1054 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 10
+Content-Type: application/x-www-form-urlencoded
+
+field=dataPOST /blah/moo/testcase/10540002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 10
+Content-Type: application/x-www-form-urlencoded
+
+field=data
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1055 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1055
new file mode 100644
index 000000000..510d490f4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1055
@@ -0,0 +1,100 @@
+
+
+
+HTTP
+HTTP PUT
+followlocation
+FTP
+EPSV
+STOR
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 307 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Location: ftp://127.0.0.1:8992/1055
+Content-Length: 0
+Connection: close
+
+
+
+
+#
+# Client-side
+
+
+http
+ftp
+
+
+HTTP PUT Location: redirect to FTP URL
+
+
+http://%HOSTIP:%HTTPPORT/1055 -L -T log/test1055.txt
+
+# The data section doesn't do variable substitution, so we must assert this
+
+perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );"
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1055 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+Expect: 100-continue
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+STOR 1055
+QUIT
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1056 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1056
new file mode 100644
index 000000000..52b013614
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1056
@@ -0,0 +1,81 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+IPv6
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: http://[::1%259999]:8994/moo/10560002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: http://[::1%259999]:8994/moo/10560002
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 31 Jul 2008 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http
+http-ipv6
+
+
+HTTP follow redirect from IPv4 to IPv6 with scope
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/1056 -L
+
+# The data section doesn't do variable substitution, so we must assert this
+
+perl -e "print 'Test requires default test server host and port' if ( '%HOST6IP' ne '[::1]' || '%HTTP6PORT' ne '8994' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/1056 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /moo/10560002 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1057 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1057
new file mode 100644
index 000000000..b4ef20c8d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1057
@@ -0,0 +1,52 @@
+
+
+
+FTP
+EPSV
+RETR
+Range
+
+
+
+# Server-side
+
+
+456789abcdef
+
+
+456789abcdef
+
+
+64
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP retrieve a byte-range relative to end of file
+
+
+-r -12 ftp://%HOSTIP:%FTPPORT/1057
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 1057
+REST 52
+RETR 1057
+ABOR
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1058 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1058
new file mode 100644
index 000000000..4eb34da73
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1058
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+Content-Range
+
+
+
+# Server-side
+
+
+HTTP/1.1 206 Partial Content
+Date: Thu, 31 Jul 2008 13:41:09 GMT
+Accept-Ranges: bytes
+Content-Length: 101
+Content-Range: bytes 100-200/201
+Connection: close
+Content-Type: text/html
+
+..partial data returned from the
+server as a result of setting an explicit byte range
+in the request
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP range relative to end of file
+
+
+http://%HOSTIP:%HTTPPORT/want/1058 -r -101
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/1058 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=-101
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1059 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1059
new file mode 100644
index 000000000..6820ea679
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1059
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP CONNECT
+proxytunnel
+FTP
+FAILURE
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 501 Method not implemented swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+Content-Length: 0
+
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+http
+
+
+HTTP CONNECT with proxytunnel to unsupported FTP URL
+
+
+ftp://test-number:1059/wanted/page -p -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# The server doesn't implement CONNECT for ftp, so this must be a failure test
+
+56
+
+
+^User-Agent:.*
+
+
+CONNECT test-number:1059 HTTP/1.1
+Host: test-number:1059
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test106 b/external/3rd/library/curl/curl-7.45.0/tests/data/test106
new file mode 100644
index 000000000..56eca6420
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test106
@@ -0,0 +1,52 @@
+
+
+
+FTP
+EPSV
+TYPE A
+RETR
+type=
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP GET with type=A style ASCII URL using %20 codes
+
+
+"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces//and%20things2/106;type=A"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /
+CWD path with spaces
+CWD and things2
+EPSV
+TYPE A
+SIZE 106
+RETR 106
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1060 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1060
new file mode 100644
index 000000000..e4aea6589
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1060
@@ -0,0 +1,903 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+HTTP proxy Digest auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 40000
+X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 40000
+X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP proxy CONNECT auth Digest, large headers and data
+
+
+http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.haxx.se.1060:8990 HTTP/1.1
+Host: test.remote.haxx.se.1060:8990
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.haxx.se.1060:8990 HTTP/1.1
+Host: test.remote.haxx.se.1060:8990
+Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.haxx.se.1060:8990", response="e1fbed39c26f4efe284adc0e576ff638"
+Proxy-Connection: Keep-Alive
+
+GET /path/10600002 HTTP/1.1
+Host: test.remote.haxx.se.1060:8990
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1061 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1061
new file mode 100644
index 000000000..a55a27295
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1061
@@ -0,0 +1,908 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+chunked Transfer-Encoding
+proxytunnel
+HTTP proxy Digest auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Transfer-Encoding: chunked
+X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+9c40
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+And you should ignore this data. aaaaaaaaaaaaaaaa
+end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+0
+
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Transfer-Encoding: chunked
+X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP proxy CONNECT auth Digest, large headers and chunked data
+
+
+http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.haxx.se.1061:8990 HTTP/1.1
+Host: test.remote.haxx.se.1061:8990
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.haxx.se.1061:8990 HTTP/1.1
+Host: test.remote.haxx.se.1061:8990
+Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.haxx.se.1061:8990", response="4e23449fa93224834299e7282a70472c"
+Proxy-Connection: Keep-Alive
+
+GET /path/10610002 HTTP/1.1
+Host: test.remote.haxx.se.1061:8990
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1062 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1062
new file mode 100644
index 000000000..d96686e05
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1062
@@ -0,0 +1,49 @@
+
+
+
+FTP
+RETR
+huge response
+
+
+
+# Server-side
+
+
+mooo
+
+# a long set of response strings to CWD to make sure the ftp parser deals
+# with it nicely
+
+REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-A Exactly fill curl's buffer\r\n250 Finally, here is the response, boundary condition
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with excessively long server command response lines, boundary condition
+
+
+ftp://%HOSTIP:%FTPPORT/path/1062
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 1062
+RETR 1062
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1063 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1063
new file mode 100644
index 000000000..cc07e6bfc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1063
@@ -0,0 +1,47 @@
+
+
+
+FILE
+Range
+FAILURE
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+file
+large_file
+
+
+Invalid large X- range on a file://
+
+# This range value is 2**32+7, which will be truncated to the valid value 7
+# if the large file support is not working correctly
+
+-r 4294967303- file://localhost/%PWD/log/test1063.txt
+
+
+1234567890
+1234567890
+
+
+
+# Verify data after the test has been "shot"
+
+
+36
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1064 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1064
new file mode 100644
index 000000000..dd05ddf3a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1064
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP PUT
+
+
+
+
+
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
+still ok
+
+
+
+# Client-side
+
+#
+
+http
+
+
+HTTP PUT twice
+
+
+-H "Expect:" -T log/1064 http://%HOSTIP:%HTTPPORT/1064.upload1 -T log/1064 http://%HOSTIP:%HTTPPORT/10640002.upload2
+
+
+test
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1064.upload1 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 5
+
+test
+PUT /10640002.upload2 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 5
+
+test
+
+
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
+still ok
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1065 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1065
new file mode 100644
index 000000000..5688ff964
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1065
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP GET
+
+
+
+
+
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
+still ok
+
+
+
+# Client-side
+
+#
+
+http
+
+
+HTTP PUT with one file but two URLs
+
+
+-H "Expect:" -T log/1065 http://%HOSTIP:%HTTPPORT/1065.upload1 http://%HOSTIP:%HTTPPORT/10650002.url2
+
+
+test
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1065.upload1 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 5
+
+test
+GET /10650002.url2 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+HTTP/1.1 200 A OK
+Server: curl test
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 9
+
+still ok
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1066 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1066
new file mode 100644
index 000000000..bacedefbb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1066
@@ -0,0 +1,82 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Content-Type: text/plain
+Content-Length: 6
+
+first
+
+
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Content-Type: text/plain
+Content-Length: 7
+
+second
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP --dump-header - with two URLs
+
+
+http://%HOSTIP:%HTTPPORT/want/1066 http://%HOSTIP:%HTTPPORT/want/10660001 --dump-header -
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/1066 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/10660001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 OK
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Server: thebest/1.0
+Content-Type: text/plain
+Content-Type: text/plain
+Content-Length: 6
+Content-Length: 6
+
+
+first
+HTTP/1.1 200 OK
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Server: thebest/1.0
+Content-Type: text/plain
+Content-Type: text/plain
+Content-Length: 7
+Content-Length: 7
+
+
+second
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1067 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1067
new file mode 100644
index 000000000..9fc7a6fa4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1067
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/10670002.txt?coolsite=yes
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/10670002.txt?coolsite=yes
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with auto-referer
+
+
+http://%HOSTIP:%HTTPPORT/want/1067 -L --referer "firstone.html;auto"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/1067 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Referer: firstone.html
+
+GET /want/data/10670002.txt?coolsite=yes HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Referer: http://%HOSTIP:%HTTPPORT/want/1067
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1068 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1068
new file mode 100644
index 000000000..ff26d78c6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1068
@@ -0,0 +1,57 @@
+
+# Similar to test 60
+
+
+HTTP
+HTTP PUT
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT from stdin
+
+
+http://%HOSTIP:%HTTPPORT/bzz/1068 -T -
+
+
+more than one byte
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /bzz/1068 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Expect: 100-continue
+
+13
+more than one byte
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1069 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1069
new file mode 100644
index 000000000..c47c357d7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1069
@@ -0,0 +1,36 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP/1.0
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP 1.0 PUT from stdin with no content length
+
+
+http://%HOSTIP:%HTTPPORT/bzz/1069 -T - -0
+
+
+this data can't be sent
+
+
+
+# Verify data after the test has been "shot"
+
+
+25
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test107 b/external/3rd/library/curl/curl-7.45.0/tests/data/test107
new file mode 100644
index 000000000..25b645200
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test107
@@ -0,0 +1,51 @@
+
+
+
+FTP
+EPSV
+STOR
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PASV upload file
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+ftp://%HOSTIP:%FTPPORT/107 -T log/test107.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+STOR 107
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1070 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1070
new file mode 100644
index 000000000..d202a9c07
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1070
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP POST
+
+
+#
+# Server-side
+
+
+HTTP/1.1 403 Go away and swsclose
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 55
+Connection: close
+
+you are not supposed to be allowed to send things here
+
+
+skip: 2300
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with server closing connection before (all) data is received
+
+
+ -d @log/input1070 http://%HOSTIP:%HTTPPORT/1070
+
+
+This creates the named file with this content before the test case is run,
+which is useful if the test case needs a file to act on. We create this file
+rather large (larger than your typical TCP packet) so that not all of it can nor
+will be sent in one go as that is kind of the point of this test!
+
+Here's 2000 x 'O':
+OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /1070 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 2313
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+This creates
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1071 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1071
new file mode 100644
index 000000000..4352e6111
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1071
@@ -0,0 +1,114 @@
+
+# Authorization is used to force curl to realize that the server is
+# speaking HTTP 1.0. The request must be resent with the correct
+# authorization header, but using HTTP 1.0, not 1.1.
+
+
+HTTP
+HTTP PUT
+HTTP Digest auth
+--anyauth
+HTTP/1.0
+
+
+
+# Server-side
+
+
+HTTP/1.0 401 Authorization Required swsclose
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/plain
+Content-Length: 35
+Connection: close
+
+Try again on this HTTP 1.0 server!
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.0 200 OK swsclose
+Server: testcurl
+Content-Type: text/plain
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+HTTP/1.0 401 Authorization Required swsclose
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/plain
+Content-Length: 35
+Connection: close
+
+HTTP/1.0 200 OK swsclose
+Server: testcurl
+Content-Type: text/plain
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+Downgraded HTTP PUT to HTTP 1.0 with authorization
+
+
+http://%HOSTIP:%HTTPPORT/1071 -T log/put1071 -u testuser:testpass --anyauth
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1071 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+PUT /1071 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1071", response="df4cef6b52a30e65d472dd848d2055a1"
+Accept: */*
+Content-Length: 85
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1072 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1072
new file mode 100644
index 000000000..14b6d804c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1072
@@ -0,0 +1,78 @@
+
+# Authorization is used to force curl to realize that the server is
+# speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0
+# because chunked encoding is unavailable, so the request must fail.
+
+
+HTTP
+HTTP PUT
+HTTP Digest auth
+--anyauth
+HTTP/1.0
+chunked Transfer-Encoding
+
+
+
+# Server-side
+
+
+HTTP/1.0 401 Authorization Required swsclose
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/plain
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+crypto
+
+
+HTTP chunked PUT to HTTP 1.0 server with authorization
+
+
+http://%HOSTIP:%HTTPPORT/1072 -T - -u testuser:testpass --anyauth
+
+
+This is data we upload with PUT
+it comes from stdin so MUST be sent
+with chunked encoding
+which is impossible in HTTP/1.0
+
+
+
+# Verify data after the test has been "shot"
+
+
+25
+
+
+^User-Agent:.*
+
+
+PUT /1072 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Expect: 100-continue
+
+7a
+This is data we upload with PUT
+it comes from stdin so MUST be sent
+with chunked encoding
+which is impossible in HTTP/1.0
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1073 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1073
new file mode 100644
index 000000000..481f9098f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1073
@@ -0,0 +1,72 @@
+
+# Redirection is used to force curl to realize that the server is
+# speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0
+# because chunked encoding is unavailable, so the request must fail.
+
+
+HTTP
+HTTP PUT
+HTTP/1.0
+followlocation
+chunked Transfer-Encoding
+
+
+
+# Server-side
+
+
+HTTP/1.0 301 Redirect swsclose
+Server: testcurl
+Content-Type: text/plain
+Location: /newlocation/10730002
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP chunked PUT to HTTP 1.0 server with redirect
+
+
+http://%HOSTIP:%HTTPPORT/1073 -T - -L
+
+
+This is data we upload with PUT
+it comes from stdin so MUST be sent
+with chunked encoding
+which is impossible in HTTP/1.0
+
+
+
+# Verify data after the test has been "shot"
+
+
+25
+
+
+^User-Agent:.*
+
+
+PUT /1073 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Expect: 100-continue
+
+7a
+This is data we upload with PUT
+it comes from stdin so MUST be sent
+with chunked encoding
+which is impossible in HTTP/1.0
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1074 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1074
new file mode 100644
index 000000000..3464b4183
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1074
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+HTTP/1.0
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+Connection: Keep-Alive
+
+surprise
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+surprise2
+
+
+
+wait 1
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP downgrade to HTTP/1.0 on second request
+
+
+http://%HOSTIP:%HTTPPORT/want/1074 http://%HOSTIP:%HTTPPORT/wantmore/10740001
+
+
+
+# Verify data after the test has been "shot"
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+Connection: Keep-Alive
+
+surprise
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+surprise2
+
+
+
+^User-Agent:.*
+
+
+GET /want/1074 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /wantmore/10740001 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1075 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1075
new file mode 100644
index 000000000..4b30c593a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1075
@@ -0,0 +1,94 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP Basic auth
+--anyauth
+
+
+
+# Server-side
+
+# The test server provides no way to respond differently to a subsequent
+# Basic authenticated request (we really want to respond with 200 for
+# the second), so just respond with 401 for both and let curl deal with it.
+
+HTTP/1.1 401 Authorization Required
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
+Content-Type: text/plain
+Content-Length: 0
+
+
+
+HTTP/1.1 401 Authorization Required
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
+Content-Type: text/plain
+Content-Length: 0
+
+HTTP/1.1 401 Authorization Required
+Server: testcurl
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
+Content-Type: text/plain
+Content-Length: 0
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT with --anyauth authorization (picking Basic)
+
+
+http://%HOSTIP:%HTTPPORT/1075 -T log/put1075 -u testuser:testpass --anyauth
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1075 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+PUT /1075 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1076 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1076
new file mode 100644
index 000000000..ad079eb94
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1076
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP POST
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: moo.html&testcase=/10760002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: moo.html&testcase=/10760002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with 302 redirect and --post302
+
+
+http://%HOSTIP:%HTTPPORT/blah/1076 -L -d "moo" --post302
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /blah/1076 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+mooPOST /blah/moo.html&testcase=/10760002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+moo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1077 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1077
new file mode 100644
index 000000000..a3c90245a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1077
@@ -0,0 +1,75 @@
+
+
+
+FTP
+HTTP
+HTTP/1.0
+HTTP GET
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/plain
+Content-Length: 9
+Funny-head: yesyes
+Proxy-Connection: Keep-Alive
+
+contents
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/plain
+Content-Length: 9
+Funny-head: yesyes
+Proxy-Connection: Keep-Alive
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+ftp
+
+
+FTP over HTTP proxy with downgrade to HTTP 1.0
+
+
+-x %HOSTIP:%HTTPPORT ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1077 ftp://%HOSTIP:%HTTPPORT/we/want/that/page/10770002
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1077 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/10770002 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1078 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1078
new file mode 100644
index 000000000..a9bb771be
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1078
@@ -0,0 +1,96 @@
+
+
+
+HTTP
+HTTP/1.0
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0
+
+
+--proxy1.0 %HOSTIP:%PROXYPORT -p http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT %HOSTIP.1078:%HTTPPORT HTTP/1.0
+Host: %HOSTIP.1078:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
+
+
+GET /we/want/that/page/1078 HTTP/1.1
+Host: %HOSTIP.1078:%HTTPPORT
+Accept: */*
+
+GET /we/want/that/page/1078 HTTP/1.0
+Host: %HOSTIP.1078:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
+contents
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: keep-alive
+
+contents
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1079 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1079
new file mode 100644
index 000000000..ac7b899fb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1079
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/plain; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+# Send nothing to force an error code 52 reply
+
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/plain; charset=iso-8859-1
+Content-Length: 26
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP retry after closed connection and empty response
+
+
+http://%HOSTIP:%HTTPPORT/1079 -u testuser:testpass --digest
+
+
+
+# Verify data after the test has been "shot"
+
+
+52
+
+
+^User-Agent:.*
+
+
+GET /1079 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1079 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1079", response="e340c7cdca0950462070f46ee139e9f7"
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test108 b/external/3rd/library/curl/curl-7.45.0/tests/data/test108
new file mode 100644
index 000000000..eb2ea63c1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test108
@@ -0,0 +1,56 @@
+
+
+
+FTP
+PORT
+STOR
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT upload with CWD
+
+
+ftp://%HOSTIP:%FTPPORT/CWD/STOR/RETR/108 -T log/upload108 -P -
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD CWD
+CWD STOR
+CWD RETR
+PORT 127,0,0,1,5,109
+TYPE I
+STOR 108
+QUIT
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1080 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1080
new file mode 100644
index 000000000..e0f7d62ae
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1080
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+redirect_url
+followlocation
+--write-out
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10800002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: on two URLs 'redirect_url' check
+
+
+http://%HOSTIP:%HTTPPORT/we/want/our/1080 http://%HOSTIP:%HTTPPORT/we/want/our/1080 -w '%{redirect_url}\n'
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/our/1080 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/want/our/1080 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10800002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+http://%HOSTIP:%HTTPPORT/we/want/our/data/10800002.txt?coolsite=yes
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10800002.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+http://%HOSTIP:%HTTPPORT/we/want/our/data/10800002.txt?coolsite=yes
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1081 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1081
new file mode 100644
index 000000000..d9f895fd2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1081
@@ -0,0 +1,77 @@
+
+
+
+HTTP
+HTTP GET
+redirect_url
+followlocation
+--write-out
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10810099.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 41
+
+This second URL does not have a location
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP no Location: on second URL 'redirect_url' check
+
+
+http://%HOSTIP:%HTTPPORT/we/want/our/1081 http://%HOSTIP:%HTTPPORT/we/want/our/10810002 -w '%{redirect_url}\n'
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/our/1081 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/want/our/10810002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Location: data/10810099.txt?coolsite=yes
+Content-Length: 62
+Connection: close
+
+This server reply is for testing a simple Location: following
+http://%HOSTIP:%HTTPPORT/we/want/our/data/10810099.txt?coolsite=yes
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 41
+
+This second URL does not have a location
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1082 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1082
new file mode 100644
index 000000000..d58dd25cd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1082
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+--interface
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with localhost --interface
+
+
+http://%HOSTIP:%HTTPPORT/1082 --interface localhost
+
+
+perl -e "print 'Test requires default test server host address' if ( '%CLIENTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1082 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1083 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1083
new file mode 100644
index 000000000..e441278da
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1083
@@ -0,0 +1,59 @@
+
+
+
+HTTP
+HTTP GET
+--interface
+IPv6
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Mon, 28 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/plain
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP-IPv6 GET with ip6-localhost --interface
+
+
+-g "http://%HOST6IP:%HTTP6PORT/1083" --interface ip6-localhost
+
+
+perl -e "if ('%CLIENT6IP' ne '[::1]') {print 'Test requires default test server host address';} else {exec './server/resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1083 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1084 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1084
new file mode 100644
index 000000000..1cfab68dc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1084
@@ -0,0 +1,41 @@
+
+
+
+HTTP
+HTTP GET
+--interface
+FAILURE
+non-existing host
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+http
+
+
+none
+
+
+HTTP GET with invalid --interface
+
+
+http://%HOSTIP:%HTTPPORT/1084 --interface non-existing-host.haxx.se.
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+45
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1085 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1085
new file mode 100644
index 000000000..db02e6033
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1085
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP GET
+--interface
+IPv6
+FAILURE
+non-existing host
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+http
+ipv6
+
+
+none
+
+
+HTTP-IPv6 GET with invalid --interface
+
+
+-g "http://%HOST6IP:%HTTP6PORT/1085" --interface non-existing-host.haxx.se.
+
+# Ensure the IPv6 stack is operational before running this test (other tests
+# use the startup of the IPv6 test server as a substitute check for this).
+
+./server/resolve --ipv6 ::1
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+45
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1086 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1086
new file mode 100644
index 000000000..354b2e09a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1086
@@ -0,0 +1,110 @@
+
+
+
+FTP
+EPSV
+RETR
+timeout
+FAILURE
+flaky
+
+
+
+# Server-side
+
+# Overload some standard FTP responses to make them shorter and faster
+# to avoid wasting time waiting for the data phase to start
+
+SLOWDOWN
+REPLY USER 331 OK
+REPLY PASS 230 OK
+REPLY PWD 257 "/"
+REPLY TYPE 200 OK
+
+
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+
+
+
+# Client-side
+
+
+ftp
+
+
+ftp
+
+
+FTP download with strict timeout and slow data transfer
+
+
+ftp://%HOSTIP:%FTPPORT/1086 -m 7
+
+
+
+# Verify data after the test has been "shot"
+
+# 28 is CURLE_OPERATION_TIMEDOUT
+
+28
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 1086
+RETR 1086
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1087 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1087
new file mode 100644
index 000000000..d228976ac
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1087
@@ -0,0 +1,110 @@
+
+
+
+HTTP
+HTTP proxy
+HTTP Basic auth
+HTTP proxy Basic auth
+followlocation
+--anyauth
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/10871002
+Content-Length: 0
+Connection: close
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/10871002
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP, proxy with --anyauth and Location: to new host
+
+
+http://first.host.it.is/we/want/that/page/10871000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://first.host.it.is/we/want/that/page/10871000 HTTP/1.1
+Host: first.host.it.is
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://first.host.it.is/we/want/that/page/10871000 HTTP/1.1
+Host: first.host.it.is
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://goto.second.host.now/10871002 HTTP/1.1
+Host: goto.second.host.now
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1088 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1088
new file mode 100644
index 000000000..a807ce9e5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1088
@@ -0,0 +1,112 @@
+
+
+
+HTTP
+HTTP proxy
+HTTP Basic auth
+HTTP proxy Basic auth
+followlocation
+--anyauth
+--location-trusted
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/10881002
+Content-Length: 0
+Connection: close
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+HTTP/1.1 401 Authorization Required
+WWW-Authenticate: Basic
+Content-Type: text/plain
+Content-Length: 0
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Location: http://goto.second.host.now/10881002
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/plain
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP, proxy with --anyauth and Location: to new host using location-trusted
+
+
+http://first.host.it.is/we/want/that/page/10881000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://first.host.it.is/we/want/that/page/10881000 HTTP/1.1
+Host: first.host.it.is
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://first.host.it.is/we/want/that/page/10881000 HTTP/1.1
+Host: first.host.it.is
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://goto.second.host.now/10881002 HTTP/1.1
+Host: goto.second.host.now
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1089 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1089
new file mode 100644
index 000000000..d2a18a21d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1089
@@ -0,0 +1,91 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+--write-out
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./10890001
+
+monster
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+bigger monster
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET --write-out with redirected fetch
+
+
+http://%HOSTIP:%HTTPPORT/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1089 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /10890001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./10890001
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+bigger monster
+2
+1
+15
+http://%HOSTIP:%HTTPPORT/10890001
+text/plain; charset=us-ascii
+200
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test109 b/external/3rd/library/curl/curl-7.45.0/tests/data/test109
new file mode 100644
index 000000000..c027885b1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test109
@@ -0,0 +1,48 @@
+
+
+
+FTP
+EPSV
+APPE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PASV upload append
+
+
+ftp://%HOSTIP:%FTPPORT/109 -T log/upload109 --append
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+APPE 109
+QUIT
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1090 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1090
new file mode 100644
index 000000000..3304f911d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1090
@@ -0,0 +1,98 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+chunked Transfer-Encoding
+--write-out
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./10900001
+
+monster
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+0007
+bigger
+0008
+monster
+
+0
+
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET --write-out with redirected fetch and chunked reply
+
+
+http://%HOSTIP:%HTTPPORT/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1090 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /10900001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./10900001
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+bigger monster
+2
+1
+15
+http://%HOSTIP:%HTTPPORT/10900001
+text/plain; charset=us-ascii
+200
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1091 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1091
new file mode 100644
index 000000000..f3ce8608a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1091
@@ -0,0 +1,46 @@
+
+# based on test 143
+
+
+FTP
+RETR
+type=
+
+
+
+# Server-side
+
+
+bla bla bla
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP URL with type=i
+
+
+"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/1091;type=i" --use-ascii
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /tmp
+CWD moo
+EPSV
+TYPE I
+SIZE 1091
+RETR 1091
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1092 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1092
new file mode 100644
index 000000000..adef4320b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1092
@@ -0,0 +1,56 @@
+
+
+
+FTP
+HTTP
+HTTP GET
+HTTP proxy
+type=
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+ftp
+
+
+FTP with type=i over HTTP proxy
+
+
+"ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1092;type=i" --use-ascii -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/1092;type=i HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1093 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1093
new file mode 100644
index 000000000..dbcfd9f7a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1093
@@ -0,0 +1,44 @@
+
+
+
+TFTP
+TFTP RRQ
+mode=
+
+
+
+#
+# Server-side
+
+
+a chunk of
+data
+returned
+ to client
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve with mode=i
+
+
+"tftp://%HOSTIP:%TFTPPORT//1093;mode=i" --use-ascii --trace-ascii log/traceit
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /1093
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1094 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1094
new file mode 100644
index 000000000..29965505f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1094
@@ -0,0 +1,50 @@
+
+
+
+TFTP
+TFTP RRQ
+mode=
+
+
+
+#
+# Server-side
+
+
+a chunk of
+data
+returned
+ to client
+
+
+a chunk of
+data
+returned
+ to client
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve with mode=netascii
+
+
+"tftp://%HOSTIP:%TFTPPORT//1094;mode=netascii" --trace-ascii log/traceit
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /1094
+mode: netascii
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1095 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1095
new file mode 100644
index 000000000..6bfe54f33
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1095
@@ -0,0 +1,84 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="test \"this\" realm!!", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="test \"this\" realm!!", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with Digest and realm with quoted quotes
+
+
+http://%HOSTIP:%HTTPPORT/1095 -u testuser:testpass --digest
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1095 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1095 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="test \"this\" realm!!", nonce="1053604145", uri="/1095", response="a1c7931ece9e8617bae2715045e4f49f"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1096 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1096
new file mode 100644
index 000000000..30748c1b4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1096
@@ -0,0 +1,50 @@
+
+
+
+FTP
+PASV
+RETR
+FAILURE
+
+
+# Server-side
+
+
+REPLY RETR 550 no such file!
+
+
+
+# Client-side
+
+
+ftp
+
+
+Two FTP downloads, with failed RETR but re-used control connection
+
+
+ftp://%HOSTIP:%FTPPORT/dir/1096 ftp://%HOSTIP:%FTPPORT/dir/1096
+
+
+
+# Verify data after the test has been "shot"
+
+
+78
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD dir
+EPSV
+TYPE I
+SIZE 1096
+RETR 1096
+EPSV
+SIZE 1096
+RETR 1096
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1097 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1097
new file mode 100644
index 000000000..3b733a55a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1097
@@ -0,0 +1,82 @@
+
+
+
+HTTP
+HTTP POST
+HTTP CONNECT
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+Content-Length: 27
+
+This is all fine and dandy
+
+
+
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+Content-Length: 27
+
+This is all fine and dandy
+
+
+
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+Content-Length: 27
+
+HTTP/1.1 200 We are fine and cool
+Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
+Content-Length: 27
+
+This is all fine and dandy
+
+
+
+# Client-side
+
+
+https
+
+
+NTLM
+!SSPI
+
+
+HTTP POST using CONNECT with --proxy-ntlm but no auth is required
+
+
+http://test.a.galaxy.far.far.away.1097:%HTTPPORT/1097 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -d "dummy=value" -p
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.a.galaxy.far.far.away.1097:%HTTPPORT HTTP/1.1
+Host: test.a.galaxy.far.far.away.1097:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.12 libssh2/1.0.1_CVS
+Proxy-Connection: Keep-Alive
+
+POST /1097 HTTP/1.1
+User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.12 libssh2/1.0.1_CVS
+Host: test.a.galaxy.far.far.away.1097:%HTTPPORT
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1098 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1098
new file mode 100644
index 000000000..980564810
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1098
@@ -0,0 +1,73 @@
+
+
+
+FTP
+HTTP proxy
+CURLOPT_PROXY
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+
+hello
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+http
+ftp
+
+
+FTP RETR twice over proxy confirming persistent connection
+
+
+
+ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://%HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://ftp-site/moo/1098 HTTP/1.1
+Host: ftp-site:21
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET ftp://ftp-site/moo/1098 HTTP/1.1
+Host: ftp-site:21
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+
+hello
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+
+hello
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1099 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1099
new file mode 100644
index 000000000..cde403974
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1099
@@ -0,0 +1,45 @@
+
+
+
+TFTP
+TFTP RRQ
+FAILURE
+
+
+
+
+
+data for 1099
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP get first a non-existing file then an existing
+
+
+tftp://%HOSTIP:%TFTPPORT/an/invalid-file tftp://%HOSTIP:%TFTPPORT//1099 --trace-ascii log/traceit
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: an/invalid-file
+mode: octet
+opcode: 1
+filename: /1099
+mode: octet
+
+
+data for 1099
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test11 b/external/3rd/library/curl/curl-7.45.0/tests/data/test11
new file mode 100644
index 000000000..9d93f80e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test11
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/110002.txt?coolsite=yes
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/110002.txt?coolsite=yes
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+simple HTTP Location: following
+
+
+http://%HOSTIP:%HTTPPORT/want/11 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/11 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data/110002.txt?coolsite=yes HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test110 b/external/3rd/library/curl/curl-7.45.0/tests/data/test110
new file mode 100644
index 000000000..b63ba8a2d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test110
@@ -0,0 +1,52 @@
+
+
+
+FTP
+PASV
+RETR
+Resume
+
+
+# Server-side
+
+
+expected to be a file without the first part
+but we emulate that
+
+
+85
+
+
+REPLY EPSV 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download resume with set limit
+
+
+ftp://%HOSTIP:%FTPPORT/110 -C 20
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 110
+REST 20
+RETR 110
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1100 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1100
new file mode 100644
index 000000000..cd6169181
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1100
@@ -0,0 +1,118 @@
+
+
+
+HTTP
+HTTP POST
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+HTTP/1.1 200 Thanks for this! swsclose
+Content-Length: 25
+
+This is the final page !
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 302 Thanks for this, but we want to redir you!
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Location: /1100
+Content-Length: 34
+
+This is not the real page either!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 302 Thanks for this, but we want to redir you!
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Location: /1100
+Content-Length: 34
+
+HTTP/1.1 200 Thanks for this! swsclose
+Content-Length: 25
+
+This is the final page !
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP POST with NTLM authorization and following a 302 redirect
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/1100 -u testuser:testpass --ntlm -L -d "stuff to send away"
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /1100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST /1100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Content-Length: 18
+Content-Type: application/x-www-form-urlencoded
+
+stuff to send awayGET /1100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS GnuTLS/2.6.6 zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.14 libssh2/1.1
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1101 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1101
new file mode 100644
index 000000000..75c66195e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1101
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+NO_PROXY
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+NO_PROXY test, with user name in URL
+
+
+
+no_proxy=%HOSTIP
+http_proxy=http://non-existing-host.haxx.se:3128/
+
+
+http://user:secret@%HOSTIP:%HTTPPORT/gimme/1101
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /gimme/1101 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dXNlcjpzZWNyZXQ=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1102 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1102
new file mode 100644
index 000000000..addc7b572
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1102
@@ -0,0 +1,51 @@
+
+
+
+FTP
+SYST
+SITE
+OS400
+
+
+# Server-side
+
+
+blabla
+
+
+REPLY PWD 257 "QGPL" is the current library
+REPLY SYST 215 OS/400 runs this server
+REPLY SITE 250 Name format set to 1
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP OS/400 server name format check
+
+
+ftp://%HOSTIP:%FTPPORT/1102
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+SYST
+SITE NAMEFMT 1
+PWD
+EPSV
+TYPE I
+SIZE 1102
+RETR 1102
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1103 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1103
new file mode 100644
index 000000000..4d45056d5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1103
@@ -0,0 +1,48 @@
+
+
+
+FTP
+SYST
+SITE
+OS400
+
+
+# Server-side
+
+
+blabla
+
+
+REPLY PWD 257 "C:/somedir" is the current directory
+REPLY SYST 215 unknown-OS runs this server
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP non-OS/400 server
+
+
+ftp://%HOSTIP:%FTPPORT/1103
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+SYST
+EPSV
+TYPE I
+SIZE 1103
+RETR 1103
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1104 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1104
new file mode 100644
index 000000000..21efe3c15
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1104
@@ -0,0 +1,85 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 Moved
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Location: /want/data/11040002
+Server: test-server/fake
+Set-Cookie: test=true; domain=127.0.0.1; path=/; expires=Thu Jan 1 00:00:00 GMT 1970;
+Set-Cookie: test2=true; domain=127.0.0.1; path=/; expires=Fri Feb 2 11:56:27 GMT 2035;
+Connection: close
+
+This server reply is for testing a set-cookie
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 Moved
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Location: /want/data/11040002
+Server: test-server/fake
+Set-Cookie: test=true; domain=127.0.0.1; path=/; expires=Thu Jan 1 00:00:00 GMT 1970;
+Set-Cookie: test2=true; domain=127.0.0.1; path=/; expires=Fri Feb 2 11:56:27 GMT 2035;
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970
+
+
+http://%HOSTIP:%HTTPPORT/want/1104 -L -x %HOSTIP:%HTTPPORT -c log/cookies.jar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/want/1104 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://%HOSTIP:%HTTPPORT/want/data/11040002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: test2=true
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1105 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1105
new file mode 100644
index 000000000..95647753f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1105
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP POST
+cookies
+cookiejar
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes swsclose
+Set-Cookie: foobar=name;
+Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
+Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with cookie parser and header recording
+
+
+"http://%HOSTIP:%HTTPPORT/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/cookie1105.txt -d "userid=myname&password=mypassword"
+
+
+perl -e 'if ("%HOSTIP" !~ /127\.0\.0\.1$/) {print "Test only works for HOSTIP 127.0.0.1"; exit(1)}'
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 33
+Content-Type: application/x-www-form-urlencoded
+
+userid=myname&password=mypassword
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+127.0.0.1 FALSE /we/want/ FALSE 0 foobar name
+127.0.0.1 FALSE "/silly/" FALSE 0 mismatch this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1106 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1106
new file mode 100644
index 000000000..0c6bec177
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1106
@@ -0,0 +1,57 @@
+
+
+
+FTP
+CURLOPT_PORT
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+# Client-side
+
+
+ftp
+
+
+http
+
+
+FTP URL and with ftp_proxy environment variable set
+
+
+
+ftp_proxy=http://%HOSTIP:%HTTPPORT/
+
+
+ftp://%HOSTIP:23456/1106
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://%HOSTIP:23456/1106 HTTP/1.1
+Host: %HOSTIP:23456
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1107 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1107
new file mode 100644
index 000000000..6adc6360c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1107
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PASV
+RETR
+PRET
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY PRET 200 fine
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR PASV with PRET
+
+
+ftp://%HOSTIP:%FTPPORT/1107 --ftp-pret
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PRET RETR 1107
+EPSV
+TYPE I
+SIZE 1107
+RETR 1107
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1108 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1108
new file mode 100644
index 000000000..7b779e11f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1108
@@ -0,0 +1,45 @@
+
+
+
+FTP
+PASV
+RETR
+PRET
+
+
+# Server-side
+
+
+
+REPLY PRET 550 unkown command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR PASV with PRET not supported
+
+
+ftp://%HOSTIP:%FTPPORT/1108 --ftp-pret
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PRET RETR 1108
+
+# we expect that the server doesn't understand PRET
+
+84
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1109 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1109
new file mode 100644
index 000000000..c18ae46c6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1109
@@ -0,0 +1,46 @@
+
+# Test that the fragment is not send as part of the path.
+
+
+HTTP
+CURLOPT_URL
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with URL that contains fragment after the path
+
+
+http://%HOSTIP:%HTTPPORT/1109#test
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1109 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test111 b/external/3rd/library/curl/curl-7.45.0/tests/data/test111
new file mode 100644
index 000000000..bcaa55425
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test111
@@ -0,0 +1,45 @@
+
+
+
+FTP
+EPSV
+Resume
+FAILURE
+
+
+# Server-side
+
+
+85
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download resume beyond file size
+
+
+ftp://%HOSTIP:%FTPPORT/111 -C 2000
+
+
+
+# Verify data after the test has been "shot"
+
+
+36
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 111
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1110 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1110
new file mode 100644
index 000000000..90ffc41e3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1110
@@ -0,0 +1,47 @@
+
+# Test that the fragment is not send as part of the path
+# when it contains a query.
+
+
+HTTP
+CURLOPT_URL
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with URL that contains a fragment after the query part
+
+
+http://%HOSTIP:%HTTPPORT/1110?q=foobar#fragment
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1110?q=foobar HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1111 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1111
new file mode 100644
index 000000000..77b78f75d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1111
@@ -0,0 +1,47 @@
+
+# Test that no fragment is not send as part of the path
+# when the URI contains 2 '#' (does not follow RFC 2396)
+
+
+HTTP
+CURLOPT_URL
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with URL whose fragment contains a # (which is illegal)
+
+
+http://%HOSTIP:%HTTPPORT/1111?q=foobar#fragment#fragment2
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1111?q=foobar HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1112 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1112
new file mode 100644
index 000000000..849f671c8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1112
@@ -0,0 +1,114 @@
+
+
+
+FTPS
+EPSV
+RETR
+timeout
+FAILURE
+
+
+
+# Server-side
+
+# Overload some standard FTP responses to make them shorter and faster
+# to avoid wasting time waiting for the data phase to start
+
+SLOWDOWN
+REPLY USER 331 OK
+REPLY PASS 230 OK
+REPLY PWD 257 "/"
+REPLY TYPE 200 OK
+
+
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+Long chunk of data that couldn't possibly be sent in the time allotted.
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+ftps
+
+
+FTPS download with strict timeout and slow data transfer
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/1112 -m 16
+
+
+
+# Verify data after the test has been "shot"
+
+# 28 is CURLE_OPERATION_TIMEDOUT
+
+28
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+EPSV
+TYPE I
+SIZE 1112
+RETR 1112
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1113 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1113
new file mode 100644
index 000000000..8d10975ea
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1113
@@ -0,0 +1,99 @@
+
+
+
+FTP
+RETR
+LIST
+wildcardmatch
+ftplistparser
+flaky
+
+
+
+#
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib574
+
+
+FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)
+
+
+"ftp://%HOSTIP:%FTPPORT/fully_simulated/DOS/*.txt"
+
+
+
+############################################
+# Verify data after the test has been "shot"
+
+
+0
+
+# THERE SHOULD NOT BE "SIZE"! and one "USER/PASS"
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD fully_simulated
+CWD DOS
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+CWD /
+CWD fully_simulated
+CWD DOS
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+QUIT
+
+
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1114 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1114
new file mode 100644
index 000000000..573eda4d2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1114
@@ -0,0 +1,136 @@
+
+
+
+FTP
+wildcardmatch
+ftplistparser
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib576
+
+
+FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (DOS)
+
+
+ftp://%HOSTIP:%FTPPORT/fully_simulated/DOS/*
+
+
+
+# Verify data after the test has been "shot"
+
+
+0
+
+
+=============================================================
+Remains: 12
+Filename: .
+Size: 0B
+Time: 04-27-10 05:12AM
+Filetype: directory
+=============================================================
+Remains: 11
+Filename: ..
+Size: 0B
+Time: 04-23-10 03:12AM
+Filetype: directory
+=============================================================
+Remains: 10
+Filename: chmod1
+Size: 38B
+Time: 01-11-10 10:00AM
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This file should have permissions 444
+-------------------------------------------------------------
+=============================================================
+Remains: 9
+Filename: chmod2
+Size: 38B
+Time: 02-01-10 08:00AM
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This file should have permissions 666
+-------------------------------------------------------------
+=============================================================
+Remains: 8
+Filename: chmod3
+Size: 38B
+Time: 02-01-10 08:00AM
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This file should have permissions 777
+-------------------------------------------------------------
+=============================================================
+Remains: 7
+Filename: chmod4
+Size: 0B
+Time: 05-04-10 04:31AM
+Filetype: directory
+=============================================================
+Remains: 6
+Filename: chmod5
+Size: 0B
+Time: 05-04-10 04:31AM
+Filetype: directory
+=============================================================
+Remains: 5
+Filename: empty_file.dat
+Size: 0B
+Time: 04-27-10 11:01AM
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+-------------------------------------------------------------
+=============================================================
+Remains: 4
+Filename: file.txt
+Size: 35B
+Time: 04-27-10 11:01AM
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This is content of file "file.txt"
+-------------------------------------------------------------
+=============================================================
+Remains: 3
+Filename: .NeXT
+Size: 0B
+Time: 01-23-05 02:05AM
+Filetype: directory
+=============================================================
+Remains: 2
+Filename: someothertext.txt
+Size: 47B
+Time: 04-27-10 11:01AM
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #
+-------------------------------------------------------------
+=============================================================
+Remains: 1
+Filename: weirddir.txt
+Size: 0B
+Time: 04-23-10 03:12AM
+Filetype: directory
+=============================================================
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1115 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1115
new file mode 100644
index 000000000..f9d6e3645
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1115
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP 1xx response code
+
+
+
+# Server-side
+
+
+HTTP/1.1 104 Experiment
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 200 OK swsbounce
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+HTTP GET with unexpected 1xx response
+
+
+http://%HOSTIP:%HTTPPORT/1115
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1115 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1116 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1116
new file mode 100644
index 000000000..a9af3e61b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1116
@@ -0,0 +1,77 @@
+
+
+
+HTTP
+HTTP GET
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+40
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
+cccccccccccccccccccccccccccccccc
+
+0
+chunky-trailer: header data
+another-header: yes
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with chunked trailer without Trailer:
+
+
+http://%HOSTIP:%HTTPPORT/1116 -D log/heads1116
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1116 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+chunky-trailer: header data
+another-header: yes
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1117 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1117
new file mode 100644
index 000000000..963f1efec
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1117
@@ -0,0 +1,87 @@
+
+
+
+HTTP
+HTTP GET
+Range
+
+
+
+# Server-side
+
+
+HTTP/1.1 416 Requested Range Not Satisfiable
+Date: Thu, 09 Sep 2010 14:49:00 GMT
+Accept-Ranges: bytes
+Content-Length: 115
+
+This is a long error message that is large enough that the test server is
+guaranteed to split it into two packets.
+
+
+
+HTTP/1.1 206 Partial Content
+Date: Thu, 09 Sep 2010 14:49:01 GMT
+Accept-Ranges: bytes
+Content-Range: bytes 10-18/155
+Content-Length: 13
+Content-Type: text/plain
+
+partial body
+
+
+
+writedelay: 1
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with invalid range then another URL
+
+
+-r 10-22 http://%HOSTIP:%HTTPPORT/want/1117 http://%HOSTIP:%HTTPPORT/wantmore/11170001
+
+
+
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 416 Requested Range Not Satisfiable
+Date: Thu, 09 Sep 2010 14:49:00 GMT
+Accept-Ranges: bytes
+Content-Length: 115
+
+This is a long error message that is large enough that the test server is
+guaranteed to split it into two packets.
+HTTP/1.1 206 Partial Content
+Date: Thu, 09 Sep 2010 14:49:01 GMT
+Accept-Ranges: bytes
+Content-Range: bytes 10-18/155
+Content-Length: 13
+Content-Type: text/plain
+
+partial body
+
+
+
+^User-Agent:.*
+
+
+GET /want/1117 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=10-22
+Accept: */*
+
+GET /wantmore/11170001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=10-22
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1118 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1118
new file mode 100644
index 000000000..bc776aff6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1118
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+URL without slash and @-letter in query
+
+
+http://%HOSTIP:%HTTPPORT?email=name@example.com/1118
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /?email=name@example.com/1118 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1119 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1119
new file mode 100644
index 000000000..017f598f3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1119
@@ -0,0 +1,25 @@
+
+
+
+source analysis
+symbols-in-versions
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+Verify that symbols-in-versions and headers are in sync
+
+
+
+%SRCDIR/symbol-scan.pl %SRCDIR/.. ../include/curl
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test112 b/external/3rd/library/curl/curl-7.45.0/tests/data/test112
new file mode 100644
index 000000000..eb3400c57
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test112
@@ -0,0 +1,49 @@
+
+
+
+FTP
+EPSV
+APPE
+Resume
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PASV upload resume
+
+
+ftp://%HOSTIP:%FTPPORT/112 -T log/upload112 -C 40
+
+
+this is the *****crap******** that we're gonna upload
+
+worx?
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+APPE 112
+QUIT
+
+
+ gonna upload
+
+worx?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1120 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1120
new file mode 100644
index 000000000..4ea204258
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1120
@@ -0,0 +1,44 @@
+
+
+
+FTP
+PORT
+RETR
+421
+
+
+# Server-side
+
+
+REPLY CWD 421 Timeout!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with 421 timeout response
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/1120
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+
+# CURLE_OPERATION_TIMEDOUT is 28
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1121 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1121
new file mode 100644
index 000000000..405066ff6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1121
@@ -0,0 +1,47 @@
+
+
+
+HTTP
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
+blaha
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP multiple provided Host: headers
+
+
+-H "Host: host1" -H "Host: host2" -H "Host: host3" http://%HOSTIP:%HTTPPORT/1121
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1121 HTTP/1.1
+Host: host1
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1122 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1122
new file mode 100644
index 000000000..78d50d77b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1122
@@ -0,0 +1,70 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZ3ppcA0KQ29udGVudC1MZW5ndGg6IDQ0DQoN
+Ch+LCAh5nqtBAANsYWxhbGEAy8nMS1Uw5FLIAdFGXAoQhjEXAAoCcWAYAAAA
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip
+Content-Length: 44
+
+line 1
+ line 2
+ line 3
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET gzip transfer-encoded content
+
+
+http://%HOSTIP:%HTTPPORT/1122 --tr-encoding
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1122 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Connection: TE
+TE: gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1123 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1123
new file mode 100644
index 000000000..bd441a995
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1123
@@ -0,0 +1,201 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZGVmbGF0ZQ0KQ29udGVudC1MZW5ndGg6IDEz
+MDUNCg0KeJzcWNtu4zYQfTeQf2D91AK2brYTOXC0KHLZBM02wdoFuk8GLdE2G0kUSMq5PPTbO5Qo
+ibEcr3eDvgRIYnLmnMPhDEmTmXx6SmK0IVxQlp51XcvpIpKGLKLp6qx7M73r+/5o3He7n4LO5JeL
+u/PZt/tLlHH2DwllP6ZCAhBNv01nl19Qdy1ldmrbS07EOiFYWimR9gKHDySN7GXS1zzRd6yhFcmo
+C6JbWkEHocqm2k1vTqPAPXa9iW0YSkSEJZnjKCKAGI/9vuP3PRc5w1PHPfXGE9vwG4Q8Ux9R4DnO
+sO86fddHjnfqwc9AUyrEqzhSnJC5WDMugzDncR2OYW/jl3kcF3CE0wjFdNGmFhAdHhGhljpnSVJS
+UoIkY7UAx/wZLRlHYUxJKvuCRgT99fUWSY5TsYSKWjCLRshQ3hkMogLhcgSlWqlwVd8ljYk46uRC
+ddQY4jmV+MlCNxKJPMtAX6Dr2ey+V/yd9tAVtI86V0X74uZ81kOzy9s/L+Hz9uJ3gF3d3F72iuE/
+391fX36FNgzwSGKIqZTqZ0zInm7m0AoZe6BEFNooz2KGIxgCllqekKiZdQ9lWIhHxiPVhMjSPFkU
+9un09qgTEi7pkoZQVzD9QTj4mChDgWo8wQjFtCAbGXsknERHncVzlaQekmvyZsarslhHndkaqAjD
+74KmajMJSG2dapVgBpsOec5RJ8bpKscrIooYSLqhnKUJDCBAR5fQWBsbKnFM5fNchIyTYHTiD63R
+ycTesm+BM8JDkAwGlntsYCvzFhrm8wB7bWwgC5Ne1yzLY8ybsY5HY4hhCMt529MiVAO6A8t3XxFe
+h2I4ymCc0Su0EQ7HxbnhWyNnYuuO6ZmHLAddz6282vAKUw7iD2qMMYDIFyLkNJNwRIpgoE6H16YS
+BqVPw/Vc7eXggixxHsuJbRpLGNR/Xh1gGZQ92HloVielrdaLPbFbrEZszRLythAsYMpLFXV42iZD
+69YCjaZcvRwuB2CtpGiNyOLFO1wEwFpE0RqRF5odLgJgLaJojUi4hj1GYrY6XKqmaMFGopHlWXK4
+IIC1lKI1IhFZHC4CYC2iaI0IE0+HiwBYiyiaUS8RqfPyB2pWEqq6abqxzHMOaRMk0Ou36hqF2Ygf
+KMlGVMXYCENE3RwOV1FoLVMQG52Ecs744UolXmtpslnXhAVVraBZemIKhxyk4MvNzP4bncPpASmj
+eYJuS8fErhAar76n5JyTmNSZa5nn+v4WnFiuZ8EF6Q33G2x1rzo5dvxRi1hdsNocdS/afXHaBSzn
+Yu+azATOUQITXjM5l2v4qoactUwlEucSbjKiDqnsV93aoE9gnFISo6kkKXzDrya26WxRoEq76/7v
+Aq8ioopsIFt0zmIS3D2mhNe4wlRFapuhVr1qCasveE4TmmJpzk5yuCEUtYGC1p2W1/OO97kHe7n7
+nK7v7+W6e8eFpbE/6r1u93i4zz3eS/bHe73OXrc7+k7c3wlsf2SD1tjl/W67/LAmMngywUMMrqO1
+Tm18RvI5I2ddTkJ4HSibeknVi7LBmRvZUUPtcuwk6nsLuE+Gqhg7XTuZxuOsRd1+uL3FlVSqDQV2
+uLOjX/Vt6redWiW23mkN4u28seLehuP/L2nOT2dsOHhnxtT76uMnyvUGI/cdmXqBp9jHz9LAc4Yn
+78jSNaFJhOOPn6jhcDTw3pGosA9PffEzeTIs+qyv/ysUdP4DAAD//4IzEaNjAAAAAP//AwDdOI7R
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: deflate
+Content-Length: 1305
+
+
+
+
+
+ 1612
+ 1998-08-21 04:01:29
+ 2004-10-18 02:22:23
+ curl
+ curl and libcurl
+ Command line tool and library for client-side URL transfers.
+ curl and libcurl is a tool for transferring files
+using URL syntax. It supports HTTP, HTTPS, FTP,
+FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as
+well as HTTP-post, HTTP-put, cookies, FTP upload,
+resumed transfers, passwords, portnumbers, SSL
+certificates, Kerberos, and proxies. It is powered
+by libcurl, the client-side URL transfer library.
+There are bindings to libcurl for over 20
+languages and environments.
+
+ 5784.57
+ 3.16
+ 169
+ 6594.54
+ 13.81
+ 105
+ 8.50
+ 21
+ 183
+ 323
+ Default
+ http://freshmeat.net/projects/curl/
+ http://freshmeat.net/redir/curl/1612/url_homepage/
+ http://freshmeat.net/redir/curl/1612/url_tgz/
+ http://freshmeat.net/redir/curl/1612/url_bz2/
+ http://freshmeat.net/redir/curl/1612/url_zip/
+ http://freshmeat.net/redir/curl/1612/url_changelog/
+ http://freshmeat.net/redir/curl/1612/url_rpm/
+ http://freshmeat.net/redir/curl/1612/url_deb/
+ http://freshmeat.net/redir/curl/1612/url_osx/
+ http://freshmeat.net/redir/curl/1612/url_bsdport/
+
+ http://freshmeat.net/redir/curl/1612/url_cvs/
+ http://freshmeat.net/redir/curl/1612/url_list/
+ http://freshmeat.net/redir/curl/1612/url_mirror/
+
+ MIT/X Consortium License
+
+ 7.12.2
+ 176085
+ 2004-10-18 02:22:23
+
+
+
+
+ Daniel Stenberg
+ http://freshmeat.net/~bagder/
+ Owner
+
+
+
+ 12
+ 226
+ 3
+ 2
+ 188
+ 216
+ 200
+ 220
+ 164
+ 90
+ 89
+ 809
+ 150
+ 224
+ 900
+ 839
+
+
+
+ 0
+ 7464
+ 7464
+ OpenSSL (Default)
+
+
+ 0
+ 0
+ 7443
+ OpenLDAP
+
+
+ 0
+ 0
+ 12351
+ zlib
+
+
+ 0
+ 0
+ 32047
+ Heimdal
+
+
+ 0
+ 0
+ 44532
+ c-ares
+
+
+
+
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET deflate transfer-encoded content
+
+
+http://%HOSTIP:%HTTPPORT/1123 --tr-encoding
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1123 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Connection: TE
+TE: gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1124 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1124
new file mode 100644
index 000000000..58f63f930
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1124
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDI0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBTb21ldGhpbmctVEUtZnJpZW5kbHkvMC4xDQpWYXJ5OiBBY2NlcHQtRW5jb2RpbmcNCkNv
+bnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTENClRyYW5zZmVyLUVuY29k
+aW5nOiBnemlwLCBjaHVua2VkDQoNCjE0DQofiwgIeZ6rQQADbGFsYWxhAMvJzA0KMTgNCktVMORS
+yAHRRlwKEIYxFwAKAnFgGAAAAA0KMA0KDQo=
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2024 21:56:53 GMT
+Server: Something-TE-friendly/0.1
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+line 1
+ line 2
+ line 3
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET gzip+chunked transfer-encoded content
+
+
+http://%HOSTIP:%HTTPPORT/1124 --tr-encoding
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1124 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Connection: TE
+TE: gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1125 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1125
new file mode 100644
index 000000000..1883734d9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1125
@@ -0,0 +1,70 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZ3ppcA0KQ29udGVudC1MZW5ndGg6IDQ0DQoN
+Ch+LCAh5nqtBAANsYWxhbGEAy8nMS1Uw5FLIAdFGXAoQhjEXAAoCcWAYAAAA
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip
+Content-Length: 44
+
+line 1
+ line 2
+ line 3
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET transfer-encoding with custom Connection:
+
+
+http://%HOSTIP:%HTTPPORT/1125 --tr-encoding -H "Connection: close"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1125 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Connection: close, TE
+TE: gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1126 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1126
new file mode 100644
index 000000000..52f4db411
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1126
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+If-Modified-Since
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2003 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+0123456789
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP 200 If-Modified-Since with newer document
+
+
+http://%HOSTIP:%HTTPPORT/1126 -z "dec 12 12:00:00 1999 GMT"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1126 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1127 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1127
new file mode 100644
index 000000000..3cc42c26a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1127
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+If-Modified-Since
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+0123456789
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP 200 If-Modified-Since with older document
+
+
+http://%HOSTIP:%HTTPPORT/1127 -z "dec 12 12:00:00 1999 GMT"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1127 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1128 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1128
new file mode 100644
index 000000000..a20487b43
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1128
@@ -0,0 +1,85 @@
+
+
+
+HTTP
+HTTP GET
+If-Modified-Since
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+0123456789
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:01 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+0123456789
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP 200 If-Modified-Since with old+new documents
+
+
+http://%HOSTIP:%HTTPPORT/1128 http://%HOSTIP:%HTTPPORT/11280001 -z "dec 12 12:00:00 1999 GMT"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1128 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+GET /11280001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:01 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT
+Content-Length: 11
+Content-Type: text/html
+
+0123456789
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1129 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1129
new file mode 100644
index 000000000..f47141cd3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1129
@@ -0,0 +1,97 @@
+
+
+
+HTTP
+HTTP POST
+Expect: 100-continue
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 404 NOOOOOOOOO
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+
+
+
+HTTP/1.1 404 NEITHER
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+
+
+# we use skip to make the test server never read the full payload off
+# the socket and instead return the response at once
+
+skip: 1025
+
+
+
+#
+# Client-side
+
+# 1025 x 'x'
+
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+
+http
+
+
+HTTP POST expect 100-continue with a 404
+
+
+-d @log/file1129 http://%HOSTIP:%HTTPPORT/1129 http://%HOSTIP:%HTTPPORT/11290001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 404 NOOOOOOOOO
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+HTTP/1.1 404 NEITHER
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+
+
+^User-Agent:.*
+
+
+POST /1129 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1025
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+POST /11290001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1025
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test113 b/external/3rd/library/curl/curl-7.45.0/tests/data/test113
new file mode 100644
index 000000000..0046297cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test113
@@ -0,0 +1,37 @@
+
+
+
+FTP
+FAILURE
+
+
+# Server-side
+
+
+REPLY USER 314 bluah you fewl!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed login: USER not valid
+
+
+ftp://%HOSTIP:%FTPPORT/113
+
+
+
+# Verify data after the test has been "shot"
+
+
+67
+
+
+USER anonymous
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1130 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1130
new file mode 100644
index 000000000..eb1e59f5b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1130
@@ -0,0 +1,97 @@
+
+
+
+HTTP
+HTTP POST
+Expect: 100-continue
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 404 NOOOOOOOOO
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+
+
+
+HTTP/1.1 404 NEITHER
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+
+
+# we use skip to make the test server never read the full payload off
+# the socket and instead return the response at once
+
+skip: 100
+
+
+
+#
+# Client-side
+
+# 100 x 'x'
+
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+
+http
+
+
+HTTP POST forced expect 100-continue with a 404
+
+
+-d @log/file1130 http://%HOSTIP:%HTTPPORT/1130 http://%HOSTIP:%HTTPPORT/11300001 -H "Expect: 100-continue"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 404 NOOOOOOOOO
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+HTTP/1.1 404 NEITHER
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Content-Type: text/html
+
+-foo-
+
+
+^User-Agent:.*
+
+
+POST /1130 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Expect: 100-continue
+Content-Length: 100
+Content-Type: application/x-www-form-urlencoded
+
+POST /11300001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Expect: 100-continue
+Content-Length: 100
+Content-Type: application/x-www-form-urlencoded
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1131 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1131
new file mode 100644
index 000000000..96843af54
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1131
@@ -0,0 +1,95 @@
+
+
+
+HTTP
+HTTP PUT
+Expect: 100-continue
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 400 NOOOOOOOOO
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+Content-Type: text/html
+
+FAILURE1
+
+
+
+HTTP/1.1 400 NEITHER
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+Content-Type: text/html
+
+FAILURE2
+
+
+# we use skip to make the test server never read the full payload off
+# the socket and instead return the response at once
+
+skip: 100
+
+
+
+#
+# Client-side
+
+# 100 x 'x'
+
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+
+http
+
+
+HTTP PUT expect 100-continue with a 400
+
+
+-T log/file1131 http://%HOSTIP:%HTTPPORT/1131 -T log/file1131 http://%HOSTIP:%HTTPPORT/11310001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 400 NOOOOOOOOO
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+Content-Type: text/html
+
+FAILURE1
+HTTP/1.1 400 NEITHER
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+Content-Type: text/html
+
+FAILURE2
+
+
+^User-Agent:.*
+
+
+PUT /1131 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 100
+Expect: 100-continue
+
+PUT /11310001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 100
+Expect: 100-continue
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1132 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1132
new file mode 100644
index 000000000..8aa643224
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1132
@@ -0,0 +1,25 @@
+
+
+
+source analysis
+memory-includes
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+Verify memory #include files in libcurl's C source files
+
+
+
+%SRCDIR/mem-include-scan.pl %SRCDIR/../lib
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1133 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1133
new file mode 100644
index 000000000..8b016fc14
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1133
@@ -0,0 +1,95 @@
+
+
+
+HTTP
+HTTP FORMPOST
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting with filename contains ',', ';', '"'
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1133 -F "file=@\"log/test1133,a\\\"nd;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/test1133,a\"nd;.txt"' -F 'file3=@"log/test1133,a\"nd;.txt";type=m/f,"log/test1133,a\"nd;.txt"'
+
+# We create this file before the command is invoked!
+
+foo bar
+This is a bar foo
+bar
+foo
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|Content-Type: multipart/mixed; boundary=|-------).*
+
+
+POST /we/want/1133 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 967
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file"; filename="faker,and;.txt"
+Content-Type: mo/foo
+
+foo bar
+This is a bar foo
+bar
+foo
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file2"; filename="test1133,a\"nd;.txt"
+Content-Type: text/plain
+
+foo bar
+This is a bar foo
+bar
+foo
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file3"
+Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b
+
+Content-Disposition: attachment; filename="test1133,a\"nd;.txt"
+Content-Type: m/f
+
+foo bar
+This is a bar foo
+bar
+foo
+
+Content-Disposition: attachment; filename="test1133,a\"nd;.txt"
+Content-Type: text/plain
+
+foo bar
+This is a bar foo
+bar
+foo
+
+------------------------------24e78000bd32--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1134 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1134
new file mode 100644
index 000000000..e290b5369
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1134
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP HEAD
+-G
+
+
+#
+# Server-side
+
+
+connection-monitor
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 10
+
+contents1
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 10
+
+contents2
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP connection re-use with different credentials
+
+
+http://%HOSTIP:%HTTPPORT/1134 -u user1:password1 --next http://%HOSTIP:%HTTPPORT/11340001 -u 2user:password2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1134 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dXNlcjE6cGFzc3dvcmQx
+Accept: */*
+
+GET /11340001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic MnVzZXI6cGFzc3dvcmQy
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1135 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1135
new file mode 100644
index 000000000..960aade8d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1135
@@ -0,0 +1,95 @@
+
+
+
+source analysis
+CURL_EXTERN
+
+
+
+#
+# Client-side
+
+
+none
+
+
+# The VMS and OS/400 builds extract the CURL_EXTERN protos and use in
+# the build. We break binary compatibility by changing order. Only add
+# new entries last or bump the SONAME.
+#
+
+Verify CURL_EXTERN order
+
+
+
+%SRCDIR/extern-scan.pl %SRCDIR/..
+
+
+
+
+
+CURL_EXTERN int (curl_strequal)(const char *s1, const char *s2);
+CURL_EXTERN int (curl_strnequal)(const char *s1, const char *s2, size_t n);
+CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost,
+CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg,
+CURL_EXTERN void curl_formfree(struct curl_httppost *form);
+CURL_EXTERN char *curl_getenv(const char *variable);
+CURL_EXTERN char *curl_version(void);
+CURL_EXTERN char *curl_easy_escape(CURL *handle,
+CURL_EXTERN char *curl_escape(const char *string,
+CURL_EXTERN char *curl_easy_unescape(CURL *handle,
+CURL_EXTERN char *curl_unescape(const char *string,
+CURL_EXTERN void curl_free(void *p);
+CURL_EXTERN CURLcode curl_global_init(long flags);
+CURL_EXTERN CURLcode curl_global_init_mem(long flags,
+CURL_EXTERN void curl_global_cleanup(void);
+CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *,
+CURL_EXTERN void curl_slist_free_all(struct curl_slist *);
+CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused);
+CURL_EXTERN CURLSH *curl_share_init(void);
+CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *, CURLSHoption option, ...);
+CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *);
+CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
+CURL_EXTERN const char *curl_easy_strerror(CURLcode);
+CURL_EXTERN const char *curl_share_strerror(CURLSHcode);
+CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
+CURL_EXTERN CURL *curl_easy_init(void);
+CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
+CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
+CURL_EXTERN void curl_easy_cleanup(CURL *curl);
+CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
+CURL_EXTERN CURL* curl_easy_duphandle(CURL *curl);
+CURL_EXTERN void curl_easy_reset(CURL *curl);
+CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
+CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
+CURL_EXTERN int curl_mprintf(const char *format, ...);
+CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...);
+CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...);
+CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
+CURL_EXTERN int curl_mvprintf(const char *format, va_list args);
+CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args);
+CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args);
+CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
+CURL_EXTERN char *curl_maprintf(const char *format, ...);
+CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
+CURL_EXTERN CURLM *curl_multi_init(void);
+CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
+CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
+CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
+CURL_EXTERN CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s,
+CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
+CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h,
+CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h,
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test114 b/external/3rd/library/curl/curl-7.45.0/tests/data/test114
new file mode 100644
index 000000000..6611aedeb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test114
@@ -0,0 +1,38 @@
+
+
+
+FTP
+FAILURE
+
+
+# Server-side
+
+
+REPLY PASS 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed login: PASS not valid
+
+
+ftp://%HOSTIP:%FTPPORT/114
+
+
+
+# Verify data after the test has been "shot"
+
+
+67
+
+
+USER anonymous
+PASS ftp@example.com
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test115 b/external/3rd/library/curl/curl-7.45.0/tests/data/test115
new file mode 100644
index 000000000..f37a7e9fd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test115
@@ -0,0 +1,44 @@
+
+
+
+FTP
+PASV
+FAILURE
+
+
+# Server-side
+
+
+REPLY PASV 314 bluah you f00l!
+REPLY EPSV 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed PASV
+
+
+ftp://%HOSTIP:%FTPPORT/115
+
+
+
+# Verify data after the test has been "shot"
+
+
+13
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test116 b/external/3rd/library/curl/curl-7.45.0/tests/data/test116
new file mode 100644
index 000000000..2ed4ab08c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test116
@@ -0,0 +1,55 @@
+
+
+
+FTP
+EPRT
+PORT
+FAILURE
+EPRT refused
+
+
+# Server-side
+
+
+REPLY EPRT 500 we don't like EPRT now
+REPLY PORT 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+# EPRT is only sent when IPv6 is enabled
+
+ipv6
+
+
+FTP download, failed PORT
+
+
+ftp://%HOSTIP:%FTPPORT/116 -P 1.2.3.4
+
+
+
+# Verify data after the test has been "shot"
+
+
+30
+
+# Strip the port number but leave the rest
+
+s/^(PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},)\d{1,3},\d{1,3}/$1/
+s/^(EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|)\d{1,5}\|/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|1.2.3.4|
+PORT 1,2,3,4,
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test117 b/external/3rd/library/curl/curl-7.45.0/tests/data/test117
new file mode 100644
index 000000000..2caad0da5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test117
@@ -0,0 +1,44 @@
+
+
+
+FTP
+FAILURE
+
+
+# Server-side
+
+
+REPLY EPSV 314 bluah you f00l!
+REPLY TYPE 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed TYPE
+
+
+ftp://%HOSTIP:%FTPPORT/117
+
+
+
+# Verify data after the test has been "shot"
+
+
+17
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test118 b/external/3rd/library/curl/curl-7.45.0/tests/data/test118
new file mode 100644
index 000000000..6cd086ca2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test118
@@ -0,0 +1,48 @@
+
+
+
+FTP
+PASV
+RETR
+FAILURE
+
+
+# Server-side
+
+
+REPLY RETR 314 bluah you f00l!
+REPLY EPSV 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed RETR
+
+
+ftp://%HOSTIP:%FTPPORT/118
+
+
+
+# Verify data after the test has been "shot"
+
+
+19
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 118
+RETR 118
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test119 b/external/3rd/library/curl/curl-7.45.0/tests/data/test119
new file mode 100644
index 000000000..00a24287b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test119
@@ -0,0 +1,50 @@
+
+
+
+FTP
+PORT
+RETR
+FAILURE
+
+
+# Server-side
+
+
+REPLY RETR 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed RETR with PORT
+
+
+ftp://%HOSTIP:%FTPPORT/119 -P -
+
+
+
+# Verify data after the test has been "shot"
+
+
+19
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+TYPE I
+SIZE 119
+RETR 119
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test12 b/external/3rd/library/curl/curl-7.45.0/tests/data/test12
new file mode 100644
index 000000000..06dbdf56f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test12
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+Content-Range
+
+
+
+# Server-side
+
+
+HTTP/1.1 206 Partial Content
+Date: Mon, 13 Nov 2000 13:41:09 GMT
+Server: Apache/1.3.11 (Unix) PHP/3.0.14
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 101
+Content-Range: bytes 100-200/3527
+Connection: close
+Content-Type: text/html
+
+..partial data returned from the
+server as a result of setting an explicit byte range
+in the request
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP range support
+
+
+http://%HOSTIP:%HTTPPORT/want/12 -r 100-200
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/12 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=100-200
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test120 b/external/3rd/library/curl/curl-7.45.0/tests/data/test120
new file mode 100644
index 000000000..85d49f529
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test120
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PASV
+RETR
+post-quote
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY EPSV 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+ftp download with post-quote delete operation
+
+
+ftp://%HOSTIP:%FTPPORT/120 -Q "-DELE file"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 120
+RETR 120
+DELE file
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1200 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1200
new file mode 100644
index 000000000..ba1159f80
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1200
@@ -0,0 +1,39 @@
+
+
+
+GOPHER
+INDEX
+
+
+
+#
+# Server-side
+
+
+iMenu results error.host 1
+0Selector /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+gopher
+
+
+Gopher index
+
+
+gopher://%HOSTIP:%GOPHERPORT/1/1200
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/1200
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1201 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1201
new file mode 100644
index 000000000..81a9fe425
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1201
@@ -0,0 +1,39 @@
+
+
+
+GOPHER
+SELECTOR
+
+
+
+#
+# Server-side
+
+
+iMenu results error.host 1
+0Selector /selector/SELECTOR /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+gopher
+
+
+Gopher selector
+
+
+gopher://%HOSTIP:%GOPHERPORT/1/selector/SELECTOR/1201
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/selector/SELECTOR/1201
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1202 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1202
new file mode 100644
index 000000000..37d270acb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1202
@@ -0,0 +1,40 @@
+
+
+
+GOPHER
+QUERY
+
+
+
+#
+# Server-side
+
+
+iSearch results error.host 1
+0Query query succeeded /foo foo.bar.invalid 70
+0Selector /the/search/engine /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+gopher
+
+
+Gopher query
+
+
+"gopher://%HOSTIP:%GOPHERPORT/7/the/search/engine?query%20succeeded/1202"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/the/search/engine query succeeded/1202
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1203 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1203
new file mode 100644
index 000000000..02d094da0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1203
@@ -0,0 +1,43 @@
+
+
+
+GOPHER-ipv6
+IPv6
+INDEX
+
+
+
+#
+# Server-side
+
+
+iMenu results error.host 1
+0Selector /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+ipv6
+
+
+gopher-ipv6
+
+
+Gopher IPv6 index
+
+
+-g gopher://%HOST6IP:%GOPHER6PORT/1/moo/1203
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/moo/1203
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1204 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1204
new file mode 100644
index 000000000..d2f06b68e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1204
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+--anyauth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets the second request
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with WWW-Authenticate and multiple auths in a single line
+
+
+http://%HOSTIP:%HTTPPORT/1204 -u testuser:testpass --anyauth
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1204 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1204 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1205 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1205
new file mode 100644
index 000000000..6d7bb7b03
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1205
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Funny-head: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAendofthem
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with 18K HTTP header
+
+
+http://%HOSTIP:%HTTPPORT/1205
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1205 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1206 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1206
new file mode 100644
index 000000000..3f853d1d9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1206
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN425
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN425
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT and 425 on download
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/1206 -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE 1206
+RETR 1206
+QUIT
+
+
+10
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1207 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1207
new file mode 100644
index 000000000..283e46d5b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1207
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN421
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN421
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT and 421 on download
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/1207 -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE 1207
+RETR 1207
+QUIT
+
+
+10
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1208 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1208
new file mode 100644
index 000000000..504f6c7bb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1208
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN150
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN150
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT download, no data conn and no transient negative reply
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/1208 -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+# This test doesn't send a QUIT because the main state machine in multi.c
+# triggers the timeout and sets the CURLE_OPERATION_TIMEDOUT error (28) for
+# which the FTP disconect code generically has to assume could mean the
+# control the connection and thus it cannot send any command.
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE 1208
+RETR 1208
+
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1209 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1209
new file mode 100644
index 000000000..7086829f1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1209
@@ -0,0 +1,58 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT download, no data conn and no positive preliminary reply
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/1209 -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+# The protocol part does not include QUIT simply because the error is
+# CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout error without
+# specificly saying for which connection it concerns, and for timeouts libcurl
+# marks the control channel as "invalid". As this test case times out for the
+# data connection it could still use the control channel.
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE 1209
+RETR 1209
+
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test121 b/external/3rd/library/curl/curl-7.45.0/tests/data/test121
new file mode 100644
index 000000000..de7a56174
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test121
@@ -0,0 +1,51 @@
+
+
+
+FTP
+EPSV
+RETR
+post-quote
+pre-quote
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+ftp download with post- and pre-transfer delete operations
+
+
+ftp://%HOSTIP:%FTPPORT/121 -Q "-DELE after_transfer" -Q "DELE before_transfer"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+DELE before_transfer
+EPSV
+TYPE I
+SIZE 121
+RETR 121
+DELE after_transfer
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1210 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1210
new file mode 100644
index 000000000..df931988c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1210
@@ -0,0 +1,63 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -J without Content-Disposition
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1210 -J -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1210 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+12345
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1211 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1211
new file mode 100644
index 000000000..5418a85f7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1211
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN425
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN425
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT and 425 on download
+
+
+ftp://%HOSTIP:%FTPPORT/1211 -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE 1211
+RETR 1211
+
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1212 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1212
new file mode 100644
index 000000000..a50601f78
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1212
@@ -0,0 +1,51 @@
+
+
+
+HTTP
+SOCKS5
+NO_PROXY
+noproxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+noproxy setting together with socks proxy
+
+
+
+http://user:secret@%HOSTIP:%HTTPPORT/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy %HOSTIP --max-time 5
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /ulion/1212 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dXNlcjpzZWNyZXQ=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1213 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1213
new file mode 100644
index 000000000..729a7034d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1213
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
+the content goes here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy and host-only URL
+
+# the thing here is that this sloppy form is accepted and we convert it
+# for normal server use, and we need to make sure it gets converted to
+# RFC style even for proxies
+
+-x %HOSTIP:%HTTPPORT we.want.that.site.com.1213
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET HTTP://we.want.that.site.com.1213/ HTTP/1.1
+Host: we.want.that.site.com.1213
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1214 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1214
new file mode 100644
index 000000000..3eeb3e3ad
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1214
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
+the content goes here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy and URL with ? and no slash separator
+
+# the thing here is that this sloppy form is accepted and we convert it
+# for normal server use, and we need to make sure it gets converted to
+# RFC style even for proxies
+
+-x %HOSTIP:%HTTPPORT http://we.want.that.site.com.1214?moo=foo
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://we.want.that.site.com.1214/?moo=foo HTTP/1.1
+Host: we.want.that.site.com.1214
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1215 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1215
new file mode 100644
index 000000000..f8c52a9a1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1215
@@ -0,0 +1,106 @@
+
+
+# This test is a copy of test 67, modified to use a HTTP proxy.
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+HTTP proxy
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with server NTLM authorization using a proxy
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/1215 -u testuser:testpass --ntlm --proxy http://%HOSTIP:%HTTPPORT
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/1215 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.30.0-DEV
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://%HOSTIP:%HTTPPORT/1215 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.30.0-DEV
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1216 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1216
new file mode 100644
index 000000000..5beda797d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1216
@@ -0,0 +1,63 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Connection: close
+Content-Length: 21
+
+This server says moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP cookie domains tailmatching the host name
+
+
+http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/injar1216 -x %HOSTIP:%HTTPPORT
+
+
+example.fake FALSE /a FALSE 2139150993 mooo indeed
+example.fake FALSE /b FALSE 0 moo1 indeed
+example.fake FALSE /c FALSE 2139150993 moo2 indeed
+example.fake TRUE /c FALSE 2139150993 moo3 indeed
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://example.fake/c/1216 HTTP/1.1
+Host: example.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: moo2=indeed; moo3=indeed
+
+GET http://bexample.fake/c/1216 HTTP/1.1
+Host: bexample.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1217 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1217
new file mode 100644
index 000000000..1efa4d604
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1217
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PORT
+NLST
+--data-binary
+
+
+# Server-side
+
+
+contents
+
+
+REPLY PWD 257 there is rubbish all over "/this/is/the/path"
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with rubbish before name in 257-response
+
+
+ftp://%HOSTIP:%FTPPORT/get/file/1217 ftp://%HOSTIP:%FTPPORT/get/file/again/1217 --ftp-method singlecwd
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD get/file
+EPSV
+TYPE I
+SIZE 1217
+RETR 1217
+CWD /this/is/the/path
+CWD get/file/again
+EPSV
+SIZE 1217
+RETR 1217
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1218 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1218
new file mode 100644
index 000000000..7d865476a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1218
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# This test is very similar to 1216, only that it sets the cookies from the
+# first site instead of reading from a file
+
+
+HTTP/1.1 200 OK
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Set-Cookie: domain=.example.fake; bug=fixed;
+Content-Length: 21
+
+This server says moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP cookies and domains with same prefix
+
+
+http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x %HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://example.fake/c/1218 HTTP/1.1
+Host: example.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://example.fake/c/1218 HTTP/1.1
+Host: example.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: bug=fixed
+
+GET http://bexample.fake/c/1218 HTTP/1.1
+Host: bexample.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1219 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1219
new file mode 100644
index 000000000..e42a211a2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1219
@@ -0,0 +1,49 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY welcome 230 welcome without password
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with no user+password required (230 response)
+
+
+ftp://%HOSTIP:%FTPPORT/1219
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+PWD
+EPSV
+TYPE I
+SIZE 1219
+RETR 1219
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test122 b/external/3rd/library/curl/curl-7.45.0/tests/data/test122
new file mode 100644
index 000000000..fb1dd05fc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test122
@@ -0,0 +1,45 @@
+
+
+
+FTP
+PASV
+Resume
+
+
+# Server-side
+
+
+5
+
+
+REPLY EPSV 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download resume with whole file already downloaded
+
+
+ftp://%HOSTIP:%FTPPORT/122 -C 5
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 122
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1220 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1220
new file mode 100644
index 000000000..959abbf70
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1220
@@ -0,0 +1,37 @@
+
+
+
+FILE
+URL
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+file
+
+
+file:// URLs with query string
+
+
+file://localhost/%PWD/log/test1220.txt?a_query=foobar#afragment
+
+
+contents in a single file
+
+
+
+# Verify data after the test has been "shot"
+
+
+contents in a single file
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1221 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1221
new file mode 100644
index 000000000..261cb8c60
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1221
@@ -0,0 +1,53 @@
+
+
+
+build system
+source analysis
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+10 chars object name generation testing
+
+
+%SRCDIR/../lib/objnames-test10.sh %SRCDIR
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Testing curl_10char_object_name...
+
+result: 16AFKPQRST expected: 16AFKPQRST input: 123__678__ABC__FGH__KLM__PQRSTUV
+result: 16AFKPQ expected: 16AFKPQ input: 123__678__ABC__FGH__KLM__PQ.S.UV
+result: 16ABC expected: 16ABC input: 123__678__ABC..FGH..KLM..PQRSTUV
+result: 16 expected: 16 input: 123__678_.ABC._FGH__KLM__PQRSTUV
+result: 123 expected: 123 input: 123.567.90ABCDEFGHIJKLMNOPQRSTUV
+result: 1234567 expected: 1234567 input: 1234567.90A.CDEFGHIJKLMNOPQRSTUV
+result: 1234567890 expected: 1234567890 input: 1234567890.BCD.FGHIJKLMNOPQRSTUV
+result: 1470AB expected: 1470AB input: 12=45-78+0AB.DE.GHIJKLMNOPQRSTUV
+result: 1234567890 expected: 1234567890 input: 1234567890ABCDEFGHIJKLMNOPQRSTUV
+result: 159CGHIJKL expected: 159CGHIJKL input: 123_567_90A_CDE_GHIJKLMNOPQRSTUV
+result: 159CDEFGHI expected: 159CDEFGHI input: 123_567_90A_CDEFGHIJKLMNOPQRSTUV
+result: 1590ABCDEF expected: 1590ABCDEF input: 123_567_90ABCDEFGHIJKLMNOPQRSTUV
+result: 1567890ABC expected: 1567890ABC input: 123_567890ABCDEFGHIJKLMNOPQRSTUV
+result: 1234567890 expected: 1234567890 input: 1234567890ABCDEFGHIJKLMNOPQRSTUV
+
+
+
+10-characters-or-less generated object names are unique.
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1222 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1222
new file mode 100644
index 000000000..51edc9702
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1222
@@ -0,0 +1,53 @@
+
+
+
+build system
+source analysis
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+8 chars object name generation testing
+
+
+%SRCDIR/../lib/objnames-test08.sh %SRCDIR
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Testing curl_8char_object_name...
+
+result: 16AFKPQR expected: 16AFKPQR input: 123__678__ABC__FGH__KLM__PQRSTUV
+result: 16AFKPQ expected: 16AFKPQ input: 123__678__ABC__FGH__KLM__PQ.S.UV
+result: 16ABC expected: 16ABC input: 123__678__ABC..FGH..KLM..PQRSTUV
+result: 16 expected: 16 input: 123__678_.ABC._FGH__KLM__PQRSTUV
+result: 123 expected: 123 input: 123.567.90ABCDEFGHIJKLMNOPQRSTUV
+result: 1234567 expected: 1234567 input: 1234567.90A.CDEFGHIJKLMNOPQRSTUV
+result: 12345678 expected: 12345678 input: 1234567890.BCD.FGHIJKLMNOPQRSTUV
+result: 1470AB expected: 1470AB input: 12=45-78+0AB.DE.GHIJKLMNOPQRSTUV
+result: 12345678 expected: 12345678 input: 1234567890ABCDEFGHIJKLMNOPQRSTUV
+result: 159CGHIJ expected: 159CGHIJ input: 123_567_90A_CDE_GHIJKLMNOPQRSTUV
+result: 159CDEFG expected: 159CDEFG input: 123_567_90A_CDEFGHIJKLMNOPQRSTUV
+result: 1590ABCD expected: 1590ABCD input: 123_567_90ABCDEFGHIJKLMNOPQRSTUV
+result: 1567890A expected: 1567890A input: 123_567890ABCDEFGHIJKLMNOPQRSTUV
+result: 12345678 expected: 12345678 input: 1234567890ABCDEFGHIJKLMNOPQRSTUV
+
+
+
+8-characters-or-less generated object names are unique.
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1223 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1223
new file mode 100644
index 000000000..2885bc59a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1223
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# disable data check since it gets sent to stdout and is verified there
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Connection: close
+Content-Type: text/html
+
+hej
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -w remote_ip and -w remote_port
+
+
+http://%HOSTIP:%HTTPPORT/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1223 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Connection: close
+Content-Type: text/html
+
+hej
+IP %HOSTIP and PORT %HTTPPORT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1224 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1224
new file mode 100644
index 000000000..315936b99
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1224
@@ -0,0 +1,49 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP fetch a file from the root directory
+
+
+ftp://%HOSTIP:%FTPPORT//1224
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /
+EPSV
+TYPE I
+SIZE 1224
+RETR 1224
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1225 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1225
new file mode 100644
index 000000000..2b2519c94
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1225
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP fetch two files using absolute paths
+
+
+ftp://%HOSTIP:%FTPPORT//foo/1225 ftp://%HOSTIP:%FTPPORT//foo/bar/1225
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /
+CWD foo
+EPSV
+TYPE I
+SIZE 1225
+RETR 1225
+CWD /
+CWD /
+CWD foo
+CWD bar
+EPSV
+SIZE 1225
+RETR 1225
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1226 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1226
new file mode 100644
index 000000000..6381b122a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1226
@@ -0,0 +1,49 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP fetch a file from the root directory with singlecwd
+
+
+ftp://%HOSTIP:%FTPPORT//1226 --ftp-method singlecwd
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /
+EPSV
+TYPE I
+SIZE 1226
+RETR 1226
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1227 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1227
new file mode 100644
index 000000000..46b28d510
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1227
@@ -0,0 +1,48 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP fetch a file from the root directory with nocwd
+
+
+ftp://%HOSTIP:%FTPPORT//1227 --ftp-method nocwd
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE /1227
+RETR /1227
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1228 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1228
new file mode 100644
index 000000000..a7e56a797
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1228
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+cookie path
+
+
+
+
+HTTP/1.1 200 OK
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Set-Cookie: path1=root; domain=.example.fake; path=/;
+Set-Cookie: path2=depth1; domain=.example.fake; path=/hoge;
+Content-Length: 34
+
+This server says cookie path test
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP cookie path match
+
+
+http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x %HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://example.fake/hoge/1228 HTTP/1.1
+Host: example.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://example.fake/hogege/ HTTP/1.1
+Host: example.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: path1=root
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1229 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1229
new file mode 100644
index 000000000..225ba3cc4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1229
@@ -0,0 +1,83 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with Digest authorization with user name needing escape
+
+
+http://%5cuser%22:password@%HOSTIP:%HTTPPORT/1229 --digest
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1229 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1229 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="\\user\"", realm="testrealm", nonce="1053604145", uri="/1229", response="f2694d426040712584c156d3de72b8d6"
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test123 b/external/3rd/library/curl/curl-7.45.0/tests/data/test123
new file mode 100644
index 000000000..4bbfce9a4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test123
@@ -0,0 +1,40 @@
+
+
+
+FTP
+EPSV
+Resume
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP upload resume with whole file already downloaded
+
+
+ftp://%HOSTIP:%FTPPORT/123 -T log/upload123 -C 51
+
+
+--------------------------------------------------
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1230 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1230
new file mode 100644
index 000000000..3c1d3d448
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1230
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP CONNECT
+HTTP proxy
+IPv6
+
+
+
+#
+# Server-side
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
+mooooooo
+
+
+
+HTTP/1.1 200 welcome dear
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+
+
+
+HTTP/1.1 200 welcome dear
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
+mooooooo
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-proxy
+http-ipv6
+http
+
+
+HTTP CONNECT to IPv6 numerical address
+
+# 0x4ce == 1230, the test number
+
+http://[1234:1234:1234::4ce]:%HTTPPORT/wanted/page/1230 -p -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT [1234:1234:1234::4ce]:%HTTPPORT HTTP/1.1
+Host: [1234:1234:1234::4ce]:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
+GET /wanted/page/1230 HTTP/1.1
+Host: [1234:1234:1234::4ce]:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1231 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1231
new file mode 100644
index 000000000..16533a851
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1231
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+dotdot removal
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+Connection: close
+
+-foo-
+
+
+
+HTTP/1.1 200 OK
+Content-Length: 7
+Connection: close
+
+-cool-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP URL with dotdot removal from path
+
+
+http://%HOSTIP:%HTTPPORT/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://%HOSTIP:%HTTPPORT/../../hej/but/who/../12310001#/../12310001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /hej/but/1231?stupid=me/../1231 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /hej/but/12310001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1232 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1232
new file mode 100644
index 000000000..ead43365f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1232
@@ -0,0 +1,65 @@
+
+
+# This test is a copy of test 1231, modified to use a HTTP proxy.
+
+HTTP
+HTTP GET
+HTTP proxy
+dotdot removal
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+Connection: close
+
+-foo-
+
+
+
+HTTP/1.1 200 OK
+Content-Length: 7
+Connection: close
+
+-cool-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP URL with dotdot removal from path using an HTTP proxy
+
+
+--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://test.remote.haxx.se.1232:8990/hej/but/1232?stupid=me/../1232 HTTP/1.1
+Host: test.remote.haxx.se.1232:8990
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.haxx.se.1232:8990/hej/but/12320001 HTTP/1.1
+Host: test.remote.haxx.se.1232:8990
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1233 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1233
new file mode 100644
index 000000000..caf0527f2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1233
@@ -0,0 +1,46 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+# Assuming there's nothing listening on port 1
+REPLY EPSV 229 Entering Passiv Mode (|||1|)
+
+
+here are some bytes
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP failing to connect to EPSV port, switching to PASV
+
+
+ftp://%HOSTIP:%FTPPORT/1233
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 1233
+RETR 1233
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1234 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1234
new file mode 100644
index 000000000..41c4bc06d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1234
@@ -0,0 +1,33 @@
+
+
+
+globbing
+{} list
+FAILURE
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+abusing {}-globbing
+
+
+"%HOSTIP:%HTTPPORT/1234[0-1]{" "%HOSTIP:%HTTPPORT/{}{}{}{"
+
+
+
+# Verify data after the test has been "shot"
+
+# 3 == CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1235 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1235
new file mode 100644
index 000000000..9e51219ff
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1235
@@ -0,0 +1,95 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+{} list
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
+the number one
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
+two is nice too
+
+
+
+# Client-side
+
+
+http
+
+
+multiple requests using {}{} in the URL
+
+
+"%HOSTIP:%HTTPPORT/{1235,1235}{0001,0002}"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /12350001 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /12350002 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /12350001 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /12350002 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+--_curl_--%HOSTIP:%HTTPPORT/12350001
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
+the number one
+--_curl_--%HOSTIP:%HTTPPORT/12350002
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
+two is nice too
+--_curl_--%HOSTIP:%HTTPPORT/12350001
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
+the number one
+--_curl_--%HOSTIP:%HTTPPORT/12350002
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
+two is nice too
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1236 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1236
new file mode 100644
index 000000000..0829be313
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1236
@@ -0,0 +1,33 @@
+
+
+
+globbing
+FAILURE
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+[] globbing overflowing the range counter
+
+# 2^62 == 4611686018427387904
+
+"%HOSTIP:%HTTPPORT/1234[0-1]{" "%HOSTIP:%HTTPPORT/[1-4611686018427387904][1-4611686018427387904]"
+
+
+
+# Verify data after the test has been "shot"
+
+# 3 == CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1237 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1237
new file mode 100644
index 000000000..21da17dcf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1237
@@ -0,0 +1,47 @@
+
+
+
+HTTP
+HTTP Basic auth
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+
+URL with 1000+ letter user name + password
+
+
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@%HOSTIP:%HTTPPORT/1237"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1237 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTpCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkI=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1238 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1238
new file mode 100644
index 000000000..18593398a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1238
@@ -0,0 +1,49 @@
+
+
+
+TFTP
+TFTP RRQ
+
+
+
+#
+# Server-side
+
+
+writedelay: 1
+
+# ~1200 bytes (so that they don't fit in two 512 byte chunks)
+
+012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+slow TFTP retrieve cancel due to -Y and -y
+
+# if less than 1000 bytes/sec within 2 seconds, abort!
+
+tftp://%HOSTIP:%TFTPPORT//1238 -Y1000 -y2
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /1238
+mode: octet
+
+# 28 = CURLE_OPERATION_TIMEDOUT
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1239 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1239
new file mode 100644
index 000000000..b3503d9c4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1239
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP GET
+-z
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with -z + -w response_code and simulated 304
+
+
+http://%HOSTIP:%HTTPPORT/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1239 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Unmodified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+304
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test124 b/external/3rd/library/curl/curl-7.45.0/tests/data/test124
new file mode 100644
index 000000000..255d8731f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test124
@@ -0,0 +1,47 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+we can still send data even if pwd fails!
+
+
+REPLY PWD 314 bluah you f00l!
+REPLY EPSV 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed PWD
+
+
+ftp://%HOSTIP:%FTPPORT/124
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE 124
+RETR 124
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1240 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1240
new file mode 100644
index 000000000..643595058
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1240
@@ -0,0 +1,48 @@
+
+
+
+globbing
+HTTP
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+Connection: close
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+
+glob [0-1] with stuff after range (7.33.0 regression)
+
+
+"%HOSTIP:%HTTPPORT/0[0-1]/1240"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /00/1240 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /01/1240 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1241 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1241
new file mode 100644
index 000000000..aaa568868
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1241
@@ -0,0 +1,64 @@
+
+
+# verify that dotdot removal can be disabled!
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 6
+Connection: close
+
+-foo-
+
+
+
+HTTP/1.1 200 OK
+Content-Length: 7
+Connection: close
+
+-cool-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP _without_ dotdot removal
+
+
+--path-as-is --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241 HTTP/1.1
+Host: test.remote.haxx.se.1241:8990
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001 HTTP/1.1
+Host: test.remote.haxx.se.1241:8990
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test125 b/external/3rd/library/curl/curl-7.45.0/tests/data/test125
new file mode 100644
index 000000000..5677aeb47
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test125
@@ -0,0 +1,41 @@
+
+
+
+FTP
+FAILURE
+
+
+# Server-side
+
+
+REPLY CWD 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed CWD
+
+
+ftp://%HOSTIP:%FTPPORT/path/to/file/125
+
+
+
+# Verify data after the test has been "shot"
+
+
+9
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test126 b/external/3rd/library/curl/curl-7.45.0/tests/data/test126
new file mode 100644
index 000000000..0872214af
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test126
@@ -0,0 +1,48 @@
+
+
+
+FTP
+EPSV
+RETR
+RETRWEIRDO
+
+
+# Server-side
+
+
+this is file contents
+
+
+RETRWEIRDO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download with multiple replies at once in RETR
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/lululul/126
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+CWD lululul
+EPSV
+TYPE I
+SIZE 126
+RETR 126
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test127 b/external/3rd/library/curl/curl-7.45.0/tests/data/test127
new file mode 100644
index 000000000..ac46d8d00
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test127
@@ -0,0 +1,46 @@
+
+
+
+FTP
+PASV
+RETR
+--disable-epsv
+
+
+# Server-side
+
+
+moooooooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP --disable-epsv
+
+
+ftp://%HOSTIP:%FTPPORT/path/to/file/127 --disable-epsv
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+CWD to
+CWD file
+PASV
+TYPE I
+SIZE 127
+RETR 127
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test128 b/external/3rd/library/curl/curl-7.45.0/tests/data/test128
new file mode 100644
index 000000000..743cd126f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test128
@@ -0,0 +1,57 @@
+
+
+
+FTP
+EPSV
+STOR
+--crlf
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP upload with --crlf
+
+
+ftp://%HOSTIP:%FTPPORT/128 -T log/upload128 --crlf
+
+
+file
+with unix newlines
+meant to be
+converted
+with
+the
+--crlf option
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+STOR 128
+QUIT
+
+
+file
+with unix newlines
+meant to be
+converted
+with
+the
+--crlf option
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test129 b/external/3rd/library/curl/curl-7.45.0/tests/data/test129
new file mode 100644
index 000000000..cf1e8391d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test129
@@ -0,0 +1,52 @@
+
+
+
+FTP
+EPSV
+TYPE A
+RETR
+type=
+
+
+# Server-side
+
+
+37
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP GET with type=A style ASCII URL and understated server SIZE
+
+
+"ftp://%HOSTIP:%FTPPORT/129;type=A"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+SIZE 129
+RETR 129
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test13 b/external/3rd/library/curl/curl-7.45.0/tests/data/test13
new file mode 100644
index 000000000..18f7f8114
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test13
@@ -0,0 +1,44 @@
+
+
+
+HTTP
+HTTP custom request
+
+
+# Server-side
+
+
+HTTP/1.1 200 Read you
+Content-Length: 29
+Deleted: suppose we got a header like this! ;-)
+
+blabla custom request result
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP custom request 'DELETE'
+
+
+http://%HOSTIP:%HTTPPORT/want/13 -X DELETE
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+DELETE /want/13 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test130 b/external/3rd/library/curl/curl-7.45.0/tests/data/test130
new file mode 100644
index 000000000..6e6d9c164
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test130
@@ -0,0 +1,63 @@
+
+
+
+FTP
+EPSV
+LIST
+netrc
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP (optional .netrc; no user/pass) dir list PASV
+
+
+--netrc-optional --netrc-file log/netrc130 ftp://%HOSTIP:%FTPPORT/
+
+
+# the following two lines were created while testing curl
+machine %HOSTIP login user1 password passwd1
+machine %HOSTIP login user2 password passwd2
+default login userdef password passwddef
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER user1
+PASS passwd1
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1300 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1300
new file mode 100644
index 000000000..100888561
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1300
@@ -0,0 +1,26 @@
+
+
+
+unittest
+llist
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+llist unit tests
+
+
+unit1300
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1301 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1301
new file mode 100644
index 000000000..4b6fac8b8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1301
@@ -0,0 +1,26 @@
+
+
+
+unittest
+curl_strequal
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+curl_strequal unit tests
+
+
+unit1301
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1302 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1302
new file mode 100644
index 000000000..27ea86248
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1302
@@ -0,0 +1,26 @@
+
+
+
+unittest
+base64
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+base64 encode/decode unit tests
+
+
+unit1302
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1303 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1303
new file mode 100644
index 000000000..925b47e15
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1303
@@ -0,0 +1,26 @@
+
+
+
+unittest
+Curl_timeleft
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+Curl_timeleft unit tests
+
+
+unit1303
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1304 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1304
new file mode 100644
index 000000000..d518de9e4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1304
@@ -0,0 +1,30 @@
+
+
+
+unittest
+netrc
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+netrc parsing unit tests
+
+
+unit1304
+
+
+machine example.com login admin password passwd
+machine curl.example.com login none password none
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1305 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1305
new file mode 100644
index 000000000..91149b3ad
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1305
@@ -0,0 +1,30 @@
+
+
+
+
+unittest
+hash
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+internal hash create/destroy testing
+
+
+unit1305
+
+
+1305
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1306 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1306
new file mode 100644
index 000000000..b490efb51
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1306
@@ -0,0 +1,30 @@
+
+
+
+
+unittest
+hash
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+internal hash create/add/destroy testing
+
+
+unit1305
+
+
+1306
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1307 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1307
new file mode 100644
index 000000000..82ed3c07f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1307
@@ -0,0 +1,27 @@
+
+
+
+
+unittest
+wildcardmatch
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+internal Curl_fnmatch() testing
+
+
+unit1307
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1308 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1308
new file mode 100644
index 000000000..88e9771dd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1308
@@ -0,0 +1,31 @@
+
+
+
+unittest
+curl_formadd
+curl_formget
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+http
+
+
+formpost unit tests
+
+
+unit1308
+
+
+Piece of the file that is to uploaded as a formpost
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1309 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1309
new file mode 100644
index 000000000..c2f67ff10
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1309
@@ -0,0 +1,1457 @@
+
+
+
+unittest
+splay
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+splay unit tests
+
+
+unit1309
+
+
+
+
+
+Result:
+ 0.1013[3]
+ 0.1003[2]
+ 0.954[3]
+ 0.944[1]
+0.934[0]
+ 0.895[1]
+ 0.885[4]
+ 0.875[3]
+ 0.836[4]
+ 0.826[7]
+ 0.816[6]
+ 0.777[5]
+ 0.767[9]
+ 0.757[8]
+ 0.718[7]
+ 0.708[10]
+ 0.698[9]
+ 0.659[8]
+ 0.649[9]
+ 0.639[10]
+ 0.600[12]
+ 0.590[13]
+ 0.580[11]
+ 0.541[6]
+ 0.531[9]
+ 0.521[10]
+ 0.472[8]
+ 0.462[9]
+ 0.413[7]
+ 0.403[2]
+ 0.393[3]
+ 0.354[5]
+ 0.344[4]
+ 0.334[5]
+ 0.295[7]
+ 0.285[6]
+ 0.275[7]
+ 0.236[9]
+ 0.226[8]
+ 0.216[9]
+ 0.177[11]
+ 0.167[12]
+ 0.157[10]
+ 0.118[11]
+ 0.108[13]
+ 0.98[12]
+ 0.59[13]
+ 0.49[15]
+ 0.39[14]
+ 0.0[15]
+Tree look:
+ 0.1013[3]
+ 0.1003[2]
+ 0.954[3]
+ 0.944[1]
+0.934[0]
+ 0.895[1]
+ 0.885[4]
+ 0.875[3]
+ 0.836[4]
+ 0.826[7]
+ 0.816[6]
+ 0.777[5]
+ 0.767[9]
+ 0.757[8]
+ 0.718[7]
+ 0.708[10]
+ 0.698[9]
+ 0.659[8]
+ 0.649[9]
+ 0.639[10]
+ 0.600[12]
+ 0.590[13]
+ 0.580[11]
+ 0.541[6]
+ 0.531[9]
+ 0.521[10]
+ 0.472[8]
+ 0.462[9]
+ 0.413[7]
+ 0.403[2]
+ 0.393[3]
+ 0.354[5]
+ 0.344[4]
+ 0.334[5]
+ 0.295[7]
+ 0.285[6]
+ 0.275[7]
+ 0.236[9]
+ 0.226[8]
+ 0.216[9]
+ 0.177[11]
+ 0.167[12]
+ 0.157[10]
+ 0.118[11]
+ 0.108[13]
+ 0.98[12]
+ 0.59[13]
+ 0.49[15]
+ 0.39[14]
+ 0.0[15]
+remove pointer 7, payload 718
+Tree look:
+ 0.1013[5]
+ 0.1003[4]
+ 0.954[5]
+ 0.944[3]
+ 0.934[2]
+ 0.895[1]
+ 0.885[4]
+ 0.875[3]
+ 0.836[2]
+ 0.826[5]
+ 0.816[4]
+ 0.777[3]
+ 0.767[5]
+ 0.757[4]
+0.708[0]
+ 0.698[2]
+ 0.659[3]
+ 0.649[4]
+ 0.639[5]
+ 0.600[7]
+ 0.590[8]
+ 0.580[6]
+ 0.541[1]
+ 0.531[5]
+ 0.521[6]
+ 0.472[4]
+ 0.462[5]
+ 0.413[3]
+ 0.403[2]
+ 0.393[3]
+ 0.354[5]
+ 0.344[4]
+ 0.334[5]
+ 0.295[7]
+ 0.285[6]
+ 0.275[7]
+ 0.236[9]
+ 0.226[8]
+ 0.216[9]
+ 0.177[11]
+ 0.167[12]
+ 0.157[10]
+ 0.118[11]
+ 0.108[13]
+ 0.98[12]
+ 0.59[13]
+ 0.49[15]
+ 0.39[14]
+ 0.0[15]
+remove pointer 8, payload 236
+Tree look:
+ 0.1013[7]
+ 0.1003[6]
+ 0.954[7]
+ 0.944[5]
+ 0.934[4]
+ 0.895[3]
+ 0.885[6]
+ 0.875[5]
+ 0.836[4]
+ 0.826[7]
+ 0.816[6]
+ 0.777[5]
+ 0.767[7]
+ 0.757[6]
+ 0.708[2]
+ 0.698[3]
+ 0.659[4]
+ 0.649[5]
+ 0.639[6]
+ 0.600[8]
+ 0.590[9]
+ 0.580[7]
+ 0.541[1]
+ 0.531[6]
+ 0.521[7]
+ 0.472[5]
+ 0.462[6]
+ 0.413[4]
+ 0.403[3]
+ 0.393[2]
+ 0.354[5]
+ 0.344[4]
+ 0.334[3]
+ 0.295[6]
+ 0.285[5]
+ 0.275[4]
+0.226[0]
+ 0.216[1]
+ 0.177[3]
+ 0.167[4]
+ 0.157[2]
+ 0.118[3]
+ 0.108[5]
+ 0.98[4]
+ 0.59[5]
+ 0.49[7]
+ 0.39[6]
+ 0.0[7]
+remove pointer 9, payload 777
+Tree look:
+ 0.1013[6]
+ 0.1003[5]
+ 0.954[6]
+ 0.944[4]
+ 0.934[3]
+ 0.895[2]
+ 0.885[4]
+ 0.875[3]
+ 0.836[1]
+ 0.826[3]
+ 0.816[2]
+0.767[0]
+ 0.757[2]
+ 0.708[1]
+ 0.698[3]
+ 0.659[4]
+ 0.649[5]
+ 0.639[6]
+ 0.600[8]
+ 0.590[9]
+ 0.580[7]
+ 0.541[2]
+ 0.531[8]
+ 0.521[9]
+ 0.472[7]
+ 0.462[8]
+ 0.413[6]
+ 0.403[5]
+ 0.393[4]
+ 0.354[7]
+ 0.344[6]
+ 0.334[5]
+ 0.295[8]
+ 0.285[7]
+ 0.275[6]
+ 0.226[3]
+ 0.216[4]
+ 0.177[6]
+ 0.167[7]
+ 0.157[5]
+ 0.118[6]
+ 0.108[8]
+ 0.98[7]
+ 0.59[8]
+ 0.49[10]
+ 0.39[9]
+ 0.0[10]
+remove pointer 10, payload 295
+Tree look:
+ 0.1013[8]
+ 0.1003[7]
+ 0.954[8]
+ 0.944[6]
+ 0.934[5]
+ 0.895[4]
+ 0.885[6]
+ 0.875[5]
+ 0.836[3]
+ 0.826[5]
+ 0.816[4]
+ 0.767[2]
+ 0.757[3]
+ 0.708[1]
+ 0.698[3]
+ 0.659[4]
+ 0.649[5]
+ 0.639[6]
+ 0.600[8]
+ 0.590[9]
+ 0.580[7]
+ 0.541[2]
+ 0.531[8]
+ 0.521[9]
+ 0.472[7]
+ 0.462[8]
+ 0.413[6]
+ 0.403[5]
+ 0.393[4]
+ 0.354[6]
+ 0.344[5]
+ 0.334[3]
+0.285[0]
+ 0.275[2]
+ 0.226[1]
+ 0.216[2]
+ 0.177[4]
+ 0.167[5]
+ 0.157[3]
+ 0.118[4]
+ 0.108[6]
+ 0.98[5]
+ 0.59[6]
+ 0.49[8]
+ 0.39[7]
+ 0.0[8]
+remove pointer 11, payload 836
+Tree look:
+ 0.1013[5]
+ 0.1003[4]
+ 0.954[5]
+ 0.944[3]
+ 0.934[2]
+ 0.895[1]
+ 0.885[3]
+ 0.875[2]
+0.826[0]
+ 0.816[2]
+ 0.767[1]
+ 0.757[3]
+ 0.708[2]
+ 0.698[5]
+ 0.659[6]
+ 0.649[7]
+ 0.639[8]
+ 0.600[10]
+ 0.590[11]
+ 0.580[9]
+ 0.541[4]
+ 0.531[10]
+ 0.521[11]
+ 0.472[9]
+ 0.462[10]
+ 0.413[8]
+ 0.403[7]
+ 0.393[6]
+ 0.354[8]
+ 0.344[7]
+ 0.334[5]
+ 0.285[3]
+ 0.275[5]
+ 0.226[4]
+ 0.216[5]
+ 0.177[7]
+ 0.167[8]
+ 0.157[6]
+ 0.118[7]
+ 0.108[9]
+ 0.98[8]
+ 0.59[9]
+ 0.49[11]
+ 0.39[10]
+ 0.0[11]
+remove pointer 12, payload 354
+Tree look:
+ 0.1013[7]
+ 0.1003[6]
+ 0.954[7]
+ 0.944[5]
+ 0.934[4]
+ 0.895[3]
+ 0.885[5]
+ 0.875[4]
+ 0.826[2]
+ 0.816[3]
+ 0.767[1]
+ 0.757[3]
+ 0.708[2]
+ 0.698[4]
+ 0.659[5]
+ 0.649[6]
+ 0.639[7]
+ 0.600[9]
+ 0.590[10]
+ 0.580[8]
+ 0.541[3]
+ 0.531[8]
+ 0.521[9]
+ 0.472[7]
+ 0.462[8]
+ 0.413[6]
+ 0.403[5]
+ 0.393[4]
+0.344[0]
+ 0.334[1]
+ 0.285[2]
+ 0.275[4]
+ 0.226[3]
+ 0.216[4]
+ 0.177[6]
+ 0.167[7]
+ 0.157[5]
+ 0.118[6]
+ 0.108[8]
+ 0.98[7]
+ 0.59[8]
+ 0.49[10]
+ 0.39[9]
+ 0.0[10]
+remove pointer 13, payload 895
+Tree look:
+ 0.1013[4]
+ 0.1003[3]
+ 0.954[4]
+ 0.944[2]
+ 0.934[1]
+0.885[0]
+ 0.875[2]
+ 0.826[1]
+ 0.816[3]
+ 0.767[2]
+ 0.757[5]
+ 0.708[4]
+ 0.698[6]
+ 0.659[7]
+ 0.649[8]
+ 0.639[9]
+ 0.600[11]
+ 0.590[12]
+ 0.580[10]
+ 0.541[5]
+ 0.531[10]
+ 0.521[11]
+ 0.472[9]
+ 0.462[10]
+ 0.413[8]
+ 0.403[7]
+ 0.393[6]
+ 0.344[3]
+ 0.334[4]
+ 0.285[5]
+ 0.275[7]
+ 0.226[6]
+ 0.216[7]
+ 0.177[9]
+ 0.167[10]
+ 0.157[8]
+ 0.118[9]
+ 0.108[11]
+ 0.98[10]
+ 0.59[11]
+ 0.49[13]
+ 0.39[12]
+ 0.0[13]
+remove pointer 14, payload 413
+Tree look:
+ 0.1013[6]
+ 0.1003[5]
+ 0.954[6]
+ 0.944[4]
+ 0.934[3]
+ 0.885[2]
+ 0.875[3]
+ 0.826[1]
+ 0.816[3]
+ 0.767[2]
+ 0.757[5]
+ 0.708[4]
+ 0.698[5]
+ 0.659[6]
+ 0.649[7]
+ 0.639[8]
+ 0.600[10]
+ 0.590[11]
+ 0.580[9]
+ 0.541[3]
+ 0.531[5]
+ 0.521[6]
+ 0.472[4]
+ 0.462[5]
+0.403[0]
+ 0.393[2]
+ 0.344[1]
+ 0.334[2]
+ 0.285[3]
+ 0.275[5]
+ 0.226[4]
+ 0.216[5]
+ 0.177[7]
+ 0.167[8]
+ 0.157[6]
+ 0.118[7]
+ 0.108[9]
+ 0.98[8]
+ 0.59[9]
+ 0.49[11]
+ 0.39[10]
+ 0.0[11]
+remove pointer 15, payload 954
+Tree look:
+ 0.1013[2]
+ 0.1003[1]
+0.944[0]
+ 0.934[1]
+ 0.885[3]
+ 0.875[4]
+ 0.826[2]
+ 0.816[5]
+ 0.767[4]
+ 0.757[7]
+ 0.708[6]
+ 0.698[7]
+ 0.659[8]
+ 0.649[9]
+ 0.639[10]
+ 0.600[12]
+ 0.590[13]
+ 0.580[11]
+ 0.541[5]
+ 0.531[7]
+ 0.521[8]
+ 0.472[6]
+ 0.462[7]
+ 0.403[3]
+ 0.393[5]
+ 0.344[4]
+ 0.334[5]
+ 0.285[6]
+ 0.275[8]
+ 0.226[7]
+ 0.216[8]
+ 0.177[10]
+ 0.167[11]
+ 0.157[9]
+ 0.118[10]
+ 0.108[12]
+ 0.98[11]
+ 0.59[12]
+ 0.49[14]
+ 0.39[13]
+ 0.0[14]
+remove pointer 16, payload 472
+Tree look:
+ 0.1013[4]
+ 0.1003[3]
+ 0.944[2]
+ 0.934[1]
+ 0.885[3]
+ 0.875[4]
+ 0.826[2]
+ 0.816[5]
+ 0.767[4]
+ 0.757[6]
+ 0.708[5]
+ 0.698[6]
+ 0.659[7]
+ 0.649[8]
+ 0.639[9]
+ 0.600[11]
+ 0.590[12]
+ 0.580[10]
+ 0.541[3]
+ 0.531[4]
+ 0.521[5]
+0.462[0]
+ 0.403[1]
+ 0.393[3]
+ 0.344[2]
+ 0.334[3]
+ 0.285[4]
+ 0.275[6]
+ 0.226[5]
+ 0.216[6]
+ 0.177[8]
+ 0.167[9]
+ 0.157[7]
+ 0.118[8]
+ 0.108[10]
+ 0.98[9]
+ 0.59[10]
+ 0.49[12]
+ 0.39[11]
+ 0.0[12]
+remove pointer 17, payload 1013
+Tree look:
+0.1003[0]
+ 0.944[2]
+ 0.934[1]
+ 0.885[4]
+ 0.875[5]
+ 0.826[3]
+ 0.816[6]
+ 0.767[5]
+ 0.757[7]
+ 0.708[6]
+ 0.698[7]
+ 0.659[8]
+ 0.649[9]
+ 0.639[10]
+ 0.600[12]
+ 0.590[13]
+ 0.580[11]
+ 0.541[4]
+ 0.531[5]
+ 0.521[6]
+ 0.462[2]
+ 0.403[3]
+ 0.393[5]
+ 0.344[4]
+ 0.334[5]
+ 0.285[6]
+ 0.275[8]
+ 0.226[7]
+ 0.216[8]
+ 0.177[10]
+ 0.167[11]
+ 0.157[9]
+ 0.118[10]
+ 0.108[12]
+ 0.98[11]
+ 0.59[12]
+ 0.49[14]
+ 0.39[13]
+ 0.0[14]
+remove pointer 18, payload 531
+Tree look:
+ 0.1003[2]
+ 0.944[3]
+ 0.934[1]
+ 0.885[4]
+ 0.875[5]
+ 0.826[3]
+ 0.816[5]
+ 0.767[4]
+ 0.757[6]
+ 0.708[5]
+ 0.698[6]
+ 0.659[7]
+ 0.649[8]
+ 0.639[9]
+ 0.600[11]
+ 0.590[12]
+ 0.580[10]
+ 0.541[2]
+0.521[0]
+ 0.462[1]
+ 0.403[2]
+ 0.393[4]
+ 0.344[3]
+ 0.334[4]
+ 0.285[5]
+ 0.275[7]
+ 0.226[6]
+ 0.216[7]
+ 0.177[9]
+ 0.167[10]
+ 0.157[8]
+ 0.118[9]
+ 0.108[11]
+ 0.98[10]
+ 0.59[11]
+ 0.49[13]
+ 0.39[12]
+ 0.0[13]
+remove pointer 19, payload 49
+Tree look:
+ 0.1003[4]
+ 0.944[5]
+ 0.934[3]
+ 0.885[6]
+ 0.875[7]
+ 0.826[5]
+ 0.816[7]
+ 0.767[6]
+ 0.757[8]
+ 0.708[7]
+ 0.698[8]
+ 0.659[9]
+ 0.649[10]
+ 0.639[11]
+ 0.600[13]
+ 0.590[14]
+ 0.580[12]
+ 0.541[4]
+ 0.521[2]
+ 0.462[1]
+ 0.403[3]
+ 0.393[4]
+ 0.344[2]
+ 0.334[4]
+ 0.285[3]
+ 0.275[6]
+ 0.226[5]
+ 0.216[4]
+ 0.177[7]
+ 0.167[8]
+ 0.157[6]
+ 0.118[5]
+ 0.108[8]
+ 0.98[7]
+ 0.59[6]
+0.39[0]
+ 0.0[1]
+remove pointer 20, payload 590
+Tree look:
+ 0.1003[2]
+ 0.944[3]
+ 0.934[1]
+ 0.885[4]
+ 0.875[5]
+ 0.826[3]
+ 0.816[4]
+ 0.767[2]
+ 0.757[5]
+ 0.708[4]
+ 0.698[3]
+ 0.659[5]
+ 0.649[4]
+ 0.639[5]
+ 0.600[6]
+0.580[0]
+ 0.541[2]
+ 0.521[1]
+ 0.462[2]
+ 0.403[5]
+ 0.393[6]
+ 0.344[4]
+ 0.334[6]
+ 0.285[5]
+ 0.275[8]
+ 0.226[7]
+ 0.216[6]
+ 0.177[9]
+ 0.167[10]
+ 0.157[8]
+ 0.118[7]
+ 0.108[10]
+ 0.98[9]
+ 0.59[8]
+ 0.39[3]
+ 0.0[4]
+remove pointer 21, payload 108
+Tree look:
+ 0.1003[4]
+ 0.944[5]
+ 0.934[3]
+ 0.885[6]
+ 0.875[7]
+ 0.826[5]
+ 0.816[6]
+ 0.767[4]
+ 0.757[7]
+ 0.708[6]
+ 0.698[5]
+ 0.659[7]
+ 0.649[6]
+ 0.639[7]
+ 0.600[8]
+ 0.580[2]
+ 0.541[3]
+ 0.521[1]
+ 0.462[2]
+ 0.403[5]
+ 0.393[6]
+ 0.344[4]
+ 0.334[5]
+ 0.285[3]
+ 0.275[7]
+ 0.226[6]
+ 0.216[5]
+ 0.177[7]
+ 0.167[8]
+ 0.157[6]
+ 0.118[4]
+0.98[0]
+ 0.59[2]
+ 0.39[1]
+ 0.0[2]
+remove pointer 22, payload 649
+Tree look:
+ 0.1003[3]
+ 0.944[4]
+ 0.934[2]
+ 0.885[4]
+ 0.875[5]
+ 0.826[3]
+ 0.816[4]
+ 0.767[1]
+ 0.757[4]
+ 0.708[3]
+ 0.698[2]
+ 0.659[3]
+0.639[0]
+ 0.600[2]
+ 0.580[1]
+ 0.541[3]
+ 0.521[2]
+ 0.462[4]
+ 0.403[7]
+ 0.393[8]
+ 0.344[6]
+ 0.334[7]
+ 0.285[5]
+ 0.275[9]
+ 0.226[8]
+ 0.216[7]
+ 0.177[9]
+ 0.167[10]
+ 0.157[8]
+ 0.118[6]
+ 0.98[3]
+ 0.59[5]
+ 0.39[4]
+ 0.0[5]
+remove pointer 23, payload 167
+Tree look:
+ 0.1003[5]
+ 0.944[6]
+ 0.934[4]
+ 0.885[6]
+ 0.875[7]
+ 0.826[5]
+ 0.816[6]
+ 0.767[3]
+ 0.757[6]
+ 0.708[5]
+ 0.698[4]
+ 0.659[5]
+ 0.639[2]
+ 0.600[3]
+ 0.580[1]
+ 0.541[3]
+ 0.521[2]
+ 0.462[4]
+ 0.403[6]
+ 0.393[7]
+ 0.344[5]
+ 0.334[6]
+ 0.285[3]
+ 0.275[6]
+ 0.226[5]
+ 0.216[4]
+ 0.177[5]
+0.157[0]
+ 0.118[1]
+ 0.98[2]
+ 0.59[4]
+ 0.39[3]
+ 0.0[4]
+remove pointer 24, payload 708
+Tree look:
+ 0.1003[3]
+ 0.944[4]
+ 0.934[2]
+ 0.885[4]
+ 0.875[5]
+ 0.826[3]
+ 0.816[4]
+ 0.767[1]
+ 0.757[2]
+0.698[0]
+ 0.659[2]
+ 0.639[1]
+ 0.600[3]
+ 0.580[2]
+ 0.541[5]
+ 0.521[4]
+ 0.462[6]
+ 0.403[8]
+ 0.393[9]
+ 0.344[7]
+ 0.334[8]
+ 0.285[5]
+ 0.275[8]
+ 0.226[7]
+ 0.216[6]
+ 0.177[7]
+ 0.157[3]
+ 0.118[4]
+ 0.98[5]
+ 0.59[7]
+ 0.39[6]
+ 0.0[7]
+remove pointer 25, payload 226
+Tree look:
+ 0.1003[5]
+ 0.944[6]
+ 0.934[4]
+ 0.885[6]
+ 0.875[7]
+ 0.826[5]
+ 0.816[6]
+ 0.767[3]
+ 0.757[4]
+ 0.698[2]
+ 0.659[3]
+ 0.639[1]
+ 0.600[3]
+ 0.580[2]
+ 0.541[5]
+ 0.521[4]
+ 0.462[5]
+ 0.403[7]
+ 0.393[8]
+ 0.344[6]
+ 0.334[7]
+ 0.285[3]
+ 0.275[4]
+0.216[0]
+ 0.177[2]
+ 0.157[1]
+ 0.118[2]
+ 0.98[3]
+ 0.59[5]
+ 0.39[4]
+ 0.0[5]
+remove pointer 26, payload 767
+Tree look:
+ 0.1003[2]
+ 0.944[3]
+ 0.934[1]
+ 0.885[3]
+ 0.875[4]
+ 0.826[2]
+ 0.816[3]
+0.757[0]
+ 0.698[1]
+ 0.659[3]
+ 0.639[2]
+ 0.600[5]
+ 0.580[4]
+ 0.541[7]
+ 0.521[6]
+ 0.462[7]
+ 0.403[9]
+ 0.393[10]
+ 0.344[8]
+ 0.334[9]
+ 0.285[5]
+ 0.275[6]
+ 0.216[3]
+ 0.177[5]
+ 0.157[4]
+ 0.118[5]
+ 0.98[6]
+ 0.59[8]
+ 0.39[7]
+ 0.0[8]
+remove pointer 27, payload 285
+Tree look:
+ 0.1003[4]
+ 0.944[5]
+ 0.934[3]
+ 0.885[5]
+ 0.875[6]
+ 0.826[4]
+ 0.816[5]
+ 0.757[2]
+ 0.698[1]
+ 0.659[3]
+ 0.639[2]
+ 0.600[4]
+ 0.580[3]
+ 0.541[5]
+ 0.521[4]
+ 0.462[5]
+ 0.403[7]
+ 0.393[8]
+ 0.344[6]
+ 0.334[7]
+0.275[0]
+ 0.216[1]
+ 0.177[3]
+ 0.157[2]
+ 0.118[3]
+ 0.98[4]
+ 0.59[6]
+ 0.39[5]
+ 0.0[6]
+remove pointer 28, payload 826
+Tree look:
+ 0.1003[2]
+ 0.944[3]
+ 0.934[1]
+ 0.885[2]
+ 0.875[3]
+0.816[0]
+ 0.757[1]
+ 0.698[2]
+ 0.659[5]
+ 0.639[4]
+ 0.600[6]
+ 0.580[5]
+ 0.541[7]
+ 0.521[6]
+ 0.462[7]
+ 0.403[9]
+ 0.393[10]
+ 0.344[8]
+ 0.334[9]
+ 0.275[3]
+ 0.216[4]
+ 0.177[6]
+ 0.157[5]
+ 0.118[6]
+ 0.98[7]
+ 0.59[9]
+ 0.39[8]
+ 0.0[9]
+remove pointer 29, payload 344
+Tree look:
+ 0.1003[4]
+ 0.944[5]
+ 0.934[3]
+ 0.885[4]
+ 0.875[5]
+ 0.816[2]
+ 0.757[1]
+ 0.698[2]
+ 0.659[5]
+ 0.639[4]
+ 0.600[5]
+ 0.580[3]
+ 0.541[6]
+ 0.521[5]
+ 0.462[4]
+ 0.403[5]
+ 0.393[6]
+0.334[0]
+ 0.275[1]
+ 0.216[2]
+ 0.177[4]
+ 0.157[3]
+ 0.118[4]
+ 0.98[5]
+ 0.59[7]
+ 0.39[6]
+ 0.0[7]
+remove pointer 30, payload 885
+Tree look:
+ 0.1003[2]
+ 0.944[3]
+ 0.934[1]
+0.875[0]
+ 0.816[1]
+ 0.757[2]
+ 0.698[4]
+ 0.659[7]
+ 0.639[6]
+ 0.600[7]
+ 0.580[5]
+ 0.541[8]
+ 0.521[7]
+ 0.462[6]
+ 0.403[7]
+ 0.393[8]
+ 0.334[3]
+ 0.275[4]
+ 0.216[5]
+ 0.177[7]
+ 0.157[6]
+ 0.118[7]
+ 0.98[8]
+ 0.59[10]
+ 0.39[9]
+ 0.0[10]
+remove pointer 31, payload 403
+Tree look:
+ 0.1003[4]
+ 0.944[5]
+ 0.934[3]
+ 0.875[2]
+ 0.816[1]
+ 0.757[2]
+ 0.698[4]
+ 0.659[6]
+ 0.639[5]
+ 0.600[6]
+ 0.580[3]
+ 0.541[6]
+ 0.521[5]
+ 0.462[4]
+0.393[0]
+ 0.334[1]
+ 0.275[2]
+ 0.216[3]
+ 0.177[5]
+ 0.157[4]
+ 0.118[5]
+ 0.98[6]
+ 0.59[8]
+ 0.39[7]
+ 0.0[8]
+remove pointer 32, payload 944
+Tree look:
+ 0.1003[1]
+0.934[0]
+ 0.875[2]
+ 0.816[1]
+ 0.757[3]
+ 0.698[5]
+ 0.659[7]
+ 0.639[6]
+ 0.600[7]
+ 0.580[4]
+ 0.541[7]
+ 0.521[6]
+ 0.462[5]
+ 0.393[2]
+ 0.334[3]
+ 0.275[4]
+ 0.216[5]
+ 0.177[7]
+ 0.157[6]
+ 0.118[7]
+ 0.98[8]
+ 0.59[10]
+ 0.39[9]
+ 0.0[10]
+remove pointer 33, payload 462
+Tree look:
+ 0.1003[3]
+ 0.934[2]
+ 0.875[3]
+ 0.816[1]
+ 0.757[3]
+ 0.698[4]
+ 0.659[6]
+ 0.639[5]
+ 0.600[6]
+ 0.580[2]
+ 0.541[4]
+ 0.521[3]
+0.393[0]
+ 0.334[1]
+ 0.275[2]
+ 0.216[3]
+ 0.177[5]
+ 0.157[4]
+ 0.118[5]
+ 0.98[6]
+ 0.59[8]
+ 0.39[7]
+ 0.0[8]
+remove pointer 34, payload 1003
+Tree look:
+0.934[0]
+ 0.875[2]
+ 0.816[1]
+ 0.757[4]
+ 0.698[5]
+ 0.659[7]
+ 0.639[6]
+ 0.600[7]
+ 0.580[3]
+ 0.541[5]
+ 0.521[4]
+ 0.393[2]
+ 0.334[3]
+ 0.275[4]
+ 0.216[5]
+ 0.177[7]
+ 0.157[6]
+ 0.118[7]
+ 0.98[8]
+ 0.59[10]
+ 0.39[9]
+ 0.0[10]
+remove pointer 35, payload 521
+Tree look:
+ 0.934[2]
+ 0.875[3]
+ 0.816[1]
+ 0.757[3]
+ 0.698[4]
+ 0.659[6]
+ 0.639[5]
+ 0.600[6]
+ 0.580[2]
+ 0.541[3]
+0.393[0]
+ 0.334[1]
+ 0.275[2]
+ 0.216[3]
+ 0.177[5]
+ 0.157[4]
+ 0.118[5]
+ 0.98[6]
+ 0.59[8]
+ 0.39[7]
+ 0.0[8]
+remove pointer 36, payload 39
+Tree look:
+ 0.934[4]
+ 0.875[5]
+ 0.816[3]
+ 0.757[5]
+ 0.698[6]
+ 0.659[8]
+ 0.639[7]
+ 0.600[8]
+ 0.580[4]
+ 0.541[5]
+ 0.393[2]
+ 0.334[1]
+ 0.275[3]
+ 0.216[2]
+ 0.177[5]
+ 0.157[4]
+ 0.118[3]
+ 0.98[4]
+ 0.59[5]
+0.0[0]
+remove pointer 37, payload 580
+Tree look:
+ 0.934[2]
+ 0.875[3]
+ 0.816[1]
+ 0.757[2]
+ 0.698[3]
+ 0.659[5]
+ 0.639[4]
+ 0.600[5]
+0.541[0]
+ 0.393[1]
+ 0.334[2]
+ 0.275[5]
+ 0.216[4]
+ 0.177[7]
+ 0.157[6]
+ 0.118[5]
+ 0.98[6]
+ 0.59[7]
+ 0.0[3]
+remove pointer 38, payload 98
+Tree look:
+ 0.934[4]
+ 0.875[5]
+ 0.816[3]
+ 0.757[4]
+ 0.698[5]
+ 0.659[7]
+ 0.639[6]
+ 0.600[7]
+ 0.541[2]
+ 0.393[1]
+ 0.334[2]
+ 0.275[5]
+ 0.216[4]
+ 0.177[6]
+ 0.157[5]
+ 0.118[3]
+0.59[0]
+ 0.0[1]
+remove pointer 39, payload 639
+Tree look:
+ 0.934[3]
+ 0.875[4]
+ 0.816[2]
+ 0.757[1]
+ 0.698[2]
+ 0.659[3]
+0.600[0]
+ 0.541[1]
+ 0.393[2]
+ 0.334[4]
+ 0.275[7]
+ 0.216[6]
+ 0.177[8]
+ 0.157[7]
+ 0.118[5]
+ 0.59[3]
+ 0.0[4]
+remove pointer 40, payload 157
+Tree look:
+ 0.934[5]
+ 0.875[6]
+ 0.816[4]
+ 0.757[3]
+ 0.698[4]
+ 0.659[5]
+ 0.600[2]
+ 0.541[1]
+ 0.393[2]
+ 0.334[3]
+ 0.275[5]
+ 0.216[4]
+ 0.177[5]
+0.118[0]
+ 0.59[1]
+ 0.0[2]
+remove pointer 41, payload 698
+Tree look:
+ 0.934[3]
+ 0.875[4]
+ 0.816[2]
+ 0.757[1]
+0.659[0]
+ 0.600[1]
+ 0.541[2]
+ 0.393[4]
+ 0.334[5]
+ 0.275[7]
+ 0.216[6]
+ 0.177[7]
+ 0.118[3]
+ 0.59[4]
+ 0.0[5]
+remove pointer 42, payload 216
+Tree look:
+ 0.934[5]
+ 0.875[6]
+ 0.816[4]
+ 0.757[3]
+ 0.659[2]
+ 0.600[1]
+ 0.541[2]
+ 0.393[4]
+ 0.334[3]
+ 0.275[4]
+0.177[0]
+ 0.118[1]
+ 0.59[2]
+ 0.0[3]
+remove pointer 43, payload 757
+Tree look:
+ 0.934[2]
+ 0.875[3]
+ 0.816[1]
+0.659[0]
+ 0.600[1]
+ 0.541[3]
+ 0.393[5]
+ 0.334[4]
+ 0.275[5]
+ 0.177[2]
+ 0.118[3]
+ 0.59[4]
+ 0.0[5]
+remove pointer 44, payload 275
+Tree look:
+ 0.934[4]
+ 0.875[5]
+ 0.816[3]
+ 0.659[2]
+ 0.600[1]
+ 0.541[3]
+ 0.393[4]
+ 0.334[2]
+0.177[0]
+ 0.118[1]
+ 0.59[2]
+ 0.0[3]
+remove pointer 45, payload 816
+Tree look:
+ 0.934[1]
+ 0.875[2]
+0.659[0]
+ 0.600[1]
+ 0.541[4]
+ 0.393[5]
+ 0.334[3]
+ 0.177[2]
+ 0.118[3]
+ 0.59[4]
+ 0.0[5]
+remove pointer 46, payload 334
+Tree look:
+ 0.934[3]
+ 0.875[4]
+ 0.659[2]
+ 0.600[1]
+ 0.541[2]
+ 0.393[3]
+0.177[0]
+ 0.118[1]
+ 0.59[2]
+ 0.0[3]
+remove pointer 47, payload 875
+Tree look:
+ 0.934[1]
+0.659[0]
+ 0.600[1]
+ 0.541[3]
+ 0.393[4]
+ 0.177[2]
+ 0.118[3]
+ 0.59[4]
+ 0.0[5]
+remove pointer 48, payload 393
+Tree look:
+ 0.934[3]
+ 0.659[2]
+ 0.600[1]
+ 0.541[2]
+0.177[0]
+ 0.118[1]
+ 0.59[2]
+ 0.0[3]
+remove pointer 49, payload 934
+Tree look:
+0.659[0]
+ 0.600[1]
+ 0.541[3]
+ 0.177[2]
+ 0.118[3]
+ 0.59[4]
+ 0.0[5]
+remove pointer 0, payload 0
+Tree look:
+ 0.659[1]
+0.600[0]
+ 0.541[3]
+ 0.177[2]
+ 0.118[1]
+ 0.59[2]
+remove pointer 1, payload 541
+Tree look:
+ 0.659[2]
+ 0.600[1]
+0.177[0]
+ 0.118[1]
+ 0.59[2]
+remove pointer 2, payload 59
+Tree look:
+ 0.659[3]
+ 0.600[2]
+ 0.177[1]
+0.118[0]
+remove pointer 3, payload 600
+Tree look:
+ 0.659[1]
+0.177[0]
+ 0.118[1]
+remove pointer 4, payload 118
+Tree look:
+ 0.659[1]
+0.177[0]
+remove pointer 5, payload 659
+Tree look:
+0.177[0]
+remove pointer 6, payload 177
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test131 b/external/3rd/library/curl/curl-7.45.0/tests/data/test131
new file mode 100644
index 000000000..6e99d8a86
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test131
@@ -0,0 +1,63 @@
+
+
+
+FTP
+EPSV
+LIST
+netrc
+
+
+#
+# Server-side
+
+#
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP (optional .netrc; user/no pass) dir list PASV
+
+
+--netrc-optional --netrc-file log/netrc131 ftp://user2@%HOSTIP:%FTPPORT/
+
+
+# the following two lines were created while testing curl
+machine %HOSTIP login user1 password passwd1
+machine %HOSTIP login user2 password passwd2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER user2
+PASS passwd2
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1310 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1310
new file mode 100644
index 000000000..9ffe0d586
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1310
@@ -0,0 +1,125 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM_WB
+debug
+
+
+http
+
+
+HTTP with NTLM delegation to winbind helper
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+# set path to fake_auth instead of real ntlm_auth to generate NTLM type1 and type 3 messages
+CURL_NTLM_WB_FILE=%PWD/server/fake_ntlm
+# set source directory so fake_ntlm can find the test files
+CURL_NTLM_AUTH_SRCDIR=%SRCDIR
+# set the test number
+CURL_NTLM_AUTH_TESTNUM=1310
+
+
+http://%HOSTIP:%HTTPPORT/1310 -u testuser:anypasswd --ntlm-wb
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1310 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /1310 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+# Input and output (type 1 message) for fake_ntlm
+
+
+YR
+
+
+
+# Input and output (type 3 message) for fake_ntlm
+
+
+TT TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1311 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1311
new file mode 100644
index 000000000..e47647c38
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1311
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1311; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -J output in
+
+debug
+
+
+http
+
+
+HTTP GET with -J and Content-Disposition
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1311 -J -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1311 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+12345
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1312 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1312
new file mode 100644
index 000000000..92144015a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1312
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: inline; filename="name1312;weird"
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -J output in
+
+debug
+
+
+http
+
+
+HTTP GET with -J, Content-Disposition and ; in filename
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1312 -J -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1312 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+12345
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1313 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1313
new file mode 100644
index 000000000..2331ae9ee
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1313
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: inline; filename='name1313
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -J output in
+
+debug
+
+
+http
+
+
+HTTP GET with -J, Content-Disposition, uneven quotes
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1313 -J -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1313 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+12345
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1314 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1314
new file mode 100644
index 000000000..078ada64a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1314
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsbounce
+Server: test-server/fake
+Location: //somewhere.example.com/reply/1314
+Content-Length: 32
+Connection: close
+
+Redirect to the same URL again!
+
+
+
+HTTP/1.1 200 okidoki
+Server: test-server/fake
+Content-Length: 4
+Connection: close
+
+moo
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsbounce
+Server: test-server/fake
+Location: //somewhere.example.com/reply/1314
+Content-Length: 32
+Connection: close
+
+HTTP/1.1 200 okidoki
+Server: test-server/fake
+Content-Length: 4
+Connection: close
+
+moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following a // prefixed url
+
+
+http://firstplace.example.com/want/1314 -L -x http://%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://firstplace.example.com/want/1314 HTTP/1.1
+Host: firstplace.example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://somewhere.example.com/reply/1314 HTTP/1.1
+Host: somewhere.example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1315 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1315
new file mode 100644
index 000000000..c2f158a95
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1315
@@ -0,0 +1,83 @@
+
+# Based on tests 186 and 1053
+
+
+HTTP
+HTTP FORMPOST
+HTTP file upload
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting - -F with three files, one with explicit type
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1315 -F name=value -F 'file=@log/test1315.txt,log/test1315.txt;type=magic/content,log/test1315.txt'
+
+# We create this file before the command is invoked!
+
+dummy data
+
+
+
+# Verify data after the test has been "shot"
+
+
+(^User-Agent:.*|-----+\w+)
+
+
+POST /we/want/1315 HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 795
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
+
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="name"
+
+value
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="file"
+Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa
+
+Content-Disposition: attachment; filename="test1315.txt"
+Content-Type: text/plain
+
+dummy data
+
+------------------------------9ef8d6205763
+Content-Disposition: attachment; filename="test1315.txt"
+Content-Type: magic/content
+
+dummy data
+
+------------------------------9ef8d6205763
+Content-Disposition: attachment; filename="test1315.txt"
+Content-Type: text/plain
+
+dummy data
+
+------------------------------aaaaaaaaaaaa--
+------------------------------9ef8d6205763--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1316 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1316
new file mode 100644
index 000000000..d6ea5e180
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1316
@@ -0,0 +1,81 @@
+
+
+
+FTP
+PASV
+LIST
+HTTP
+HTTP CONNECT
+HTTP proxy
+
+
+#
+# Server-side
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+Magic: sure you can FTP me
+
+
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+HTTP/1.1 200 Mighty fine indeed
+Magic: sure you can FTP me
+
+HTTP/1.1 200 Mighty fine indeed
+Magic: sure you can FTP me
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+# please send the real CONNECT connect off to the FTP server's port
+
+%FTPPORT
+
+
+ftp
+http-proxy
+
+
+http
+
+
+FTP LIST tunneled through HTTP proxy
+
+
+ftp://ftp.1316:%FTPPORT/ -p -x %HOSTIP:%PROXYPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1317 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1317
new file mode 100644
index 000000000..d41886a5f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1317
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+--resolve
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with --resolve
+
+
+--resolve example.com:%HTTPPORT:%HOSTIP http://example.com:%HTTPPORT/1317
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1317 HTTP/1.1
+Host: example.com:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1318 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1318
new file mode 100644
index 000000000..dc182dccb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1318
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+--resolve
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+
+
+
+HTTP/1.1 200 second version
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with --resolve and same host name using different cases
+
+
+--resolve MiXeDcAsE.cOm:%HTTPPORT:%HOSTIP http://MiXeDcAsE.cOm:%HTTPPORT/1318 http://mixedcase.com:%HTTPPORT/13180001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1318 HTTP/1.1
+Host: MiXeDcAsE.cOm:%HTTPPORT
+Accept: */*
+
+GET /13180001 HTTP/1.1
+Host: mixedcase.com:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1319 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1319
new file mode 100644
index 000000000..0520b1b32
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1319
@@ -0,0 +1,86 @@
+
+
+
+POP3
+RETR
+HTTP
+HTTP CONNECT
+HTTP proxy
+
+
+#
+# Server-side
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+pop3: sure hit me
+
+
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+pop3: sure hit me
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+http-proxy
+
+
+http
+
+
+POP3 fetch tunneled through HTTP proxy
+
+
+pop3://pop.1319:%POP3PORT/1319 -p -x %HOSTIP:%PROXYPORT -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:
+
+
+CAPA
+USER user
+PASS secret
+RETR 1319
+QUIT
+
+
+CONNECT pop.1319:%POP3PORT HTTP/1.1
+Host: pop.1319:%POP3PORT
+User-Agent: curl/7.24.0-DEV (i686-pc-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0e zlib/1.2.3.4 c-ares/1.7.6-DEV libidn/1.23 libssh2/1.4.0_DEV librtmp/2.2e
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test132 b/external/3rd/library/curl/curl-7.45.0/tests/data/test132
new file mode 100644
index 000000000..51cb89c9c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test132
@@ -0,0 +1,62 @@
+
+
+
+FTP
+EPSV
+LIST
+netrc
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP (optional .netrc; user/passwd supplied) dir list PASV
+
+
+--netrc-optional --netrc-file log/netrc132 ftp://mary:mark@%HOSTIP:%FTPPORT/
+
+
+# the following two lines were created while testing curl
+machine %HOSTIP login user1 password passwd1
+machine %HOSTIP login user2 password passwd2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER mary
+PASS mark
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1320 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1320
new file mode 100644
index 000000000..7a15f8091
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1320
@@ -0,0 +1,73 @@
+
+
+
+SMTP
+HTTP
+HTTP CONNECT
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 Mighty fine indeed
+smtp: sure hit me
+
+
+
+
+#
+# Client-side
+
+
+smtp
+http-proxy
+
+
+http
+
+
+SMTP send tunneled through HTTP proxy
+
+
+From: different
+To: another
+
+body
+
+
+smtp://smtp.1320:%SMTPPORT/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x %HOSTIP:%PROXYPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+EHLO 1320
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+CONNECT smtp.1320:%SMTPPORT HTTP/1.1
+Host: smtp.1320:%SMTPPORT
+User-Agent: curl/7.24.0-DEV (i686-pc-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0e zlib/1.2.3.4 c-ares/1.7.6-DEV libidn/1.23 libssh2/1.4.0_DEV librtmp/2.2e
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1321 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1321
new file mode 100644
index 000000000..266fd8828
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1321
@@ -0,0 +1,82 @@
+
+
+
+IMAP
+FETCH
+HTTP
+HTTP CONNECT
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 Mighty fine indeed
+imap: sure hit me
+
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+HTTP/1.1 200 Mighty fine indeed
+imap: sure hit me
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+http-proxy
+
+
+http
+
+
+IMAP FETCH tunneled through HTTP proxy
+
+
+'imap://imap.1321:%IMAPPORT/1321/;UID=1' -u user:secret -p -x %HOSTIP:%PROXYPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 1321
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+CONNECT imap.1321:%IMAPPORT HTTP/1.1
+Host: imap.1321:%IMAPPORT
+User-Agent: curl/7.24.0-DEV (i686-pc-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0e zlib/1.2.3.4 c-ares/1.7.6-DEV libidn/1.23 libssh2/1.4.0_DEV librtmp/2.2e
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1325 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1325
new file mode 100644
index 000000000..9f5ee58e8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1325
@@ -0,0 +1,80 @@
+
+# http://greenbytes.de/tech/webdav/draft-reschke-http-status-308-latest.html
+
+
+HTTP
+HTTP GET
+308
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 308 OK swsclose
+Location: 13250002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 308 OK swsclose
+Location: 13250002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP 308-redirect with POST
+
+
+http://%HOSTIP:%HTTPPORT/we/1325 -L -d "moo"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /we/1325 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+mooPOST /we/13250002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+moo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1326 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1326
new file mode 100644
index 000000000..bb0cbaccf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1326
@@ -0,0 +1,48 @@
+
+
+
+TELNET
+UPLOAD
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 swsclose
+
+moo
+
+
+
+#
+# Client-side
+
+
+http
+
+
+telnet
+
+
+TELNET to HTTP server
+
+
+GET /we/want/1326 HTTP/1.0
+
+
+
+telnet://%HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /we/want/1326 HTTP/1.0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1327 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1327
new file mode 100644
index 000000000..a6e3d4fdc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1327
@@ -0,0 +1,47 @@
+
+
+
+TELNET
+UPLOAD
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+http
+
+
+telnet
+
+
+TELNET check of upload with stdout redirected
+
+
+GET /ignore/for/1327 HTTP/1.0
+
+
+
+GET /we/want/1327 HTTP/1.0
+
+
+
+telnet://%HOSTIP:%HTTPPORT -T log/1327.txt
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /we/want/1327 HTTP/1.0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1328 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1328
new file mode 100644
index 000000000..06088884a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1328
@@ -0,0 +1,71 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+--fail
+
+
+
+
+
+HTTP/1.1 404 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Funny-head: yesyes
+
+-noo-
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
+-yes-
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Funny-head: yesyes
+
+-yes-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET a globbed range with -f
+
+
+-f 'http://%HOSTIP:%HTTPPORT/[13280000-13280001]' -o log/#1
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /13280000 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /13280001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1329 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1329
new file mode 100644
index 000000000..3d2d0cb6c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1329
@@ -0,0 +1,30 @@
+
+
+
+HTTP proxy
+
+
+
+#
+# Client-side
+
+
+http
+
+
+/-prefixed proxy name
+
+
+http://%HOSTIP:%HTTPPORT/we/want/that/page/1329 -x "/server"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 5 == CURLE_COULDNT_RESOLVE_PROXY
+
+5
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test133 b/external/3rd/library/curl/curl-7.45.0/tests/data/test133
new file mode 100644
index 000000000..0b4d2ff70
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test133
@@ -0,0 +1,62 @@
+
+
+
+FTP
+EPSV
+LIST
+netrc
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP (compulsory .netrc; ignored user/passwd) dir list PASV
+
+
+-n --netrc-file log/netrc133 ftp://mary:mark@%HOSTIP:%FTPPORT/
+
+
+# the following two lines were created while testing curl
+machine %HOSTIP login user1 password passwd1
+machine %HOSTIP login user2 password passwd2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER user1
+PASS passwd1
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1330 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1330
new file mode 100644
index 000000000..1fb5a6687
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1330
@@ -0,0 +1,51 @@
+
+
+
+unittest
+TrackMemory
+
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+unittest
+TrackMemory
+
+# tool is what to use instead of 'curl'
+
+unit1330
+
+
+
+unit tests memory tracking operational
+
+
+nothing
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+MEM unit1330.c: malloc()
+MEM unit1330.c: free()
+
+
+s/ =.*//
+s/\(.*\)/()/
+s/:\d+/:/
+s:^(MEM )(.*/)(.*):$1$3:
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1331 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1331
new file mode 100644
index 000000000..3299df469
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1331
@@ -0,0 +1,89 @@
+
+# Test case inspired by this question on stackoverflow:
+#
+# http://stackoverflow.com/questions/10017165/use-libcurl-with-bluecoat-cookie-proxy
+#
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 407 Me not know you swsbounce
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: proxycookie=weirdo; Path=/
+Cache-control: private
+Content-Length: 62
+Proxy-Authenticate: Basic realm="moo on you"
+
+This server reply is for testing a simple cookie test case...
+
+
+
+HTTP/1.1 200 Fine!
+Content-Type: text/html
+Content-Length: 6
+
+hello
+
+
+
+HTTP/1.1 407 Me not know you swsbounce
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: proxycookie=weirdo; Path=/
+Cache-control: private
+Content-Length: 62
+Proxy-Authenticate: Basic realm="moo on you"
+
+HTTP/1.1 200 Fine!
+Content-Type: text/html
+Content-Length: 6
+
+hello
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP --proxy-anyauth and 407 with cookies
+
+
+-U myname:mypassword -x %HOSTIP:%HTTPPORT http://z.x.com/1331 --proxy-anyauth -c log/dump1331
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://z.x.com/1331 HTTP/1.1
+Host: z.x.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://z.x.com/1331 HTTP/1.1
+Host: z.x.com
+Proxy-Authorization: Basic bXluYW1lOm15cGFzc3dvcmQ=
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: proxycookie=weirdo
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1332 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1332
new file mode 100644
index 000000000..3447b2ddd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1332
@@ -0,0 +1,80 @@
+
+# test case cloned from 1076 and then 302 was replaced with 303
+
+
+HTTP
+HTTP POST
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 303 OK swsclose
+Location: moo.html&testcase=/13320002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 303 OK swsclose
+Location: moo.html&testcase=/13320002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with 303 redirect and --post303
+
+
+http://%HOSTIP:%HTTPPORT/blah/1332 -L -d "moo" --post303
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /blah/1332 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+mooPOST /blah/moo.html&testcase=/13320002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+moo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1333 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1333
new file mode 100644
index 000000000..a2ea30143
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1333
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST zero length, chunked-encoded
+
+
+-d "" --header "Transfer-Encoding: chunked" http://%HOSTIP:%HTTPPORT/1333
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /1333 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1334 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1334
new file mode 100644
index 000000000..59116e388
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1334
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O without Content-Disposition, -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1334 -O -D log/heads1334
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1334 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1335 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1335
new file mode 100644
index 000000000..bb499e73f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1335
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O without Content-Disposition, -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1335 -O -D -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1335 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1336 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1336
new file mode 100644
index 000000000..ebe562b6a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1336
@@ -0,0 +1,81 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1336; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O and Content-Disposition, -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1336 -O -D log/heads1336
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1336
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1336 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1336; charset=funny; option=strange
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1337 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1337
new file mode 100644
index 000000000..80a99facf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1337
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1337; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O and Content-Disposition, -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1337 -O -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1337
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1337 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1337; charset=funny; option=strange
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1338 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1338
new file mode 100644
index 000000000..d96f80467
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1338
@@ -0,0 +1,77 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O and -J output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -J without Content-Disposition, -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1338 -J -O -D log/heads1338
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1338 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1339 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1339
new file mode 100644
index 000000000..a3c1f0e54
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1339
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O and -J output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -J without Content-Disposition, -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1339 -J -O -D -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1339 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test134 b/external/3rd/library/curl/curl-7.45.0/tests/data/test134
new file mode 100644
index 000000000..e314b662e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test134
@@ -0,0 +1,62 @@
+
+
+
+FTP
+EPSV
+LIST
+netrc
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP (optional .netrc; programmatic user/passwd) dir list PASV
+
+
+--netrc-optional --netrc-file log/netrc134 -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/
+
+
+# the following two lines were created while testing curl
+machine %HOSTIP login user1 password passwd1
+machine %HOSTIP login user2 password passwd2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER romulus
+PASS rhemus
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1340 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1340
new file mode 100644
index 000000000..81f1ed68d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1340
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1340; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O and -J output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -J and Content-Disposition, -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1340 -J -O -D log/heads1340
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1340 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1340; charset=funny; option=strange
+
+
+
+
+curl: Saved to filename '%PWD/log/name1340'
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1341 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1341
new file mode 100644
index 000000000..b364edeb1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1341
@@ -0,0 +1,77 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1341; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O and -J output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -J and Content-Disposition, -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1341 -J -O -D -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1341 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1341; charset=funny; option=strange
+
+curl: Saved to filename '%PWD/log/name1341'
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1342 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1342
new file mode 100644
index 000000000..1d7889d1e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1342
@@ -0,0 +1,83 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -i without Content-Disposition, -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1342 -i -O -D log/heads1342
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1342 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1343 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1343
new file mode 100644
index 000000000..a05cab04c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1343
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -i without Content-Disposition, -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1343 -i -O -D -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1343 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1344 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1344
new file mode 100644
index 000000000..ac354f0dd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1344
@@ -0,0 +1,89 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1344; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -i and Content-Disposition, -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1344 -i -O -D log/heads1344
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1344
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1344 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1344; charset=funny; option=strange
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1344; charset=funny; option=strange
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1345 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1345
new file mode 100644
index 000000000..6d1201e16
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1345
@@ -0,0 +1,86 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1345; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -i and Content-Disposition, -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1345 -i -O -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1345
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1345 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1345; charset=funny; option=strange
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1345; charset=funny; option=strange
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1346 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1346
new file mode 100644
index 000000000..347214e69
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1346
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -i without Content-Disposition, without -D
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1346 -i -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1346 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1347 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1347
new file mode 100644
index 000000000..8eac42cb2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1347
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1347; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -i and Content-Disposition, without -D
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1347 -i -O
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1347
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1347 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1347; charset=funny; option=strange
+
+12345
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1348 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1348
new file mode 100644
index 000000000..5f374cb2f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1348
@@ -0,0 +1,61 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without Content-Disposition inside, using -O
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1348 -O
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1348
+RETR file1348
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1349 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1349
new file mode 100644
index 000000000..33906f8a2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1349
@@ -0,0 +1,83 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1349 -O -D log/heads1349
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1349
+RETR file1349
+QUIT
+
+
+
+fooo
+mooo
+
+
+# The final "221 bye bye baby" response to QUIT will not be recorded
+# since that is not considered part of this particular transfer!
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1349 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test135 b/external/3rd/library/curl/curl-7.45.0/tests/data/test135
new file mode 100644
index 000000000..10eb0eacd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test135
@@ -0,0 +1,54 @@
+
+
+
+FTP
+EPSV
+RETR
+Range
+
+
+# Server-side
+
+
+0123456789abcdef
+0123456789abcdef
+0123456789abcdef
+0123456789abcdef
+
+
+0123456789abc
+
+
+64
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP retrieve a byte-range
+
+
+-r 4-16 ftp://%HOSTIP:%FTPPORT/135
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 135
+REST 4
+RETR 135
+ABOR
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1350 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1350
new file mode 100644
index 000000000..b7885972c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1350
@@ -0,0 +1,80 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1350 -O -D -
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1350
+RETR file1350
+QUIT
+
+
+
+fooo
+mooo
+
+
+# The final "221 bye bye baby" response to QUIT will not be recorded
+# since that is not considered part of this particular transfer!
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1350 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1351 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1351
new file mode 100644
index 000000000..3e9cc211b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1351
@@ -0,0 +1,84 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -J -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1351 -O -J -D log/heads1351
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1351
+RETR file1351
+QUIT
+
+
+
+fooo
+mooo
+
+
+# The final "221 bye bye baby" response to QUIT will not be recorded
+# since that is not considered part of this particular transfer!
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1351 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1352 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1352
new file mode 100644
index 000000000..cf690af67
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1352
@@ -0,0 +1,81 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -J -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1352 -O -J -D -
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1352
+RETR file1352
+QUIT
+
+
+
+fooo
+mooo
+
+
+# The final "221 bye bye baby" response to QUIT will not be recorded
+# since that is not considered part of this particular transfer!
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1352 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1353 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1353
new file mode 100644
index 000000000..8bd751c26
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1353
@@ -0,0 +1,83 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -i -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1353 -O -i -D log/heads1353
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1353
+RETR file1353
+QUIT
+
+
+
+fooo
+mooo
+
+
+# The final "221 bye bye baby" response to QUIT will not be recorded
+# since that is not considered part of this particular transfer!
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1353 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1354 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1354
new file mode 100644
index 000000000..13c5a1bb5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1354
@@ -0,0 +1,78 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -i -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1354 -O -i -D -
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1354
+RETR file1354
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1354 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1355 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1355
new file mode 100644
index 000000000..e7a392c1d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1355
@@ -0,0 +1,61 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file without C-D inside, using -O -i, without -D
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1355 -O -i
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1355
+RETR file1355
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1356 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1356
new file mode 100644
index 000000000..ea610a565
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1356
@@ -0,0 +1,79 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1356 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1356; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with Content-Disposition inside, using -O
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1356 -O
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1356
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1356
+RETR file1356
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1356; charset=funny; option=strange
+
+MOOOO
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1357 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1357
new file mode 100644
index 000000000..3df0ad339
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1357
@@ -0,0 +1,99 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1357 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1357; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1357 -O -D log/heads1357
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1357
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1357
+RETR file1357
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1357; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for 1357 () (214 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1358 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1358
new file mode 100644
index 000000000..b0e2795ed
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1358
@@ -0,0 +1,96 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1358 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1358; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1358 -O -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1358
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1358
+RETR file1358
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1358; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for 1358 () (214 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1359 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1359
new file mode 100644
index 000000000..fc7851d92
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1359
@@ -0,0 +1,100 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+# file1359 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1359; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -J -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1359 -O -J -D log/heads1359
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1359
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1359
+RETR file1359
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1359; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for 1359 () (214 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test136 b/external/3rd/library/curl/curl-7.45.0/tests/data/test136
new file mode 100644
index 000000000..25940b50d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test136
@@ -0,0 +1,42 @@
+
+
+
+FTP
+EPSV
+RETR
+
+
+# Server-side
+
+
+0123456789abcdef
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with user and no password
+
+
+-u user: ftp://%HOSTIP:%FTPPORT/136
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER user
+PASS
+PWD
+EPSV
+TYPE I
+SIZE 136
+RETR 136
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1360 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1360
new file mode 100644
index 000000000..0000d60bb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1360
@@ -0,0 +1,97 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+# file1360 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1360; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -J -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1360 -O -J -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1360
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1360
+RETR file1360
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1360; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for 1360 () (214 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1361 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1361
new file mode 100644
index 000000000..884e0b216
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1361
@@ -0,0 +1,99 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1361 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1361; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -i -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1361 -O -i -D log/heads1361
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1361
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1361
+RETR file1361
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1361; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for 1361 () (214 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1362 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1362
new file mode 100644
index 000000000..98fffb6b0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1362
@@ -0,0 +1,96 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1362 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1362; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -i -D stdout
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1362 -O -i -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1362
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1362
+RETR file1362
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1362; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 214
+150 Binary data connection for 1362 () (214 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1363 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1363
new file mode 100644
index 000000000..c34f05a0e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1363
@@ -0,0 +1,79 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1363 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1363; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+ftp
+
+
+FTP download, file with C-D inside, using -O -i, without -D
+
+
+CURL_TESTDIR=%PWD/log
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1363 -O -i
+
+
+perl %SRCDIR/libtest/notexists.pl log/name1363
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1363
+RETR file1363
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1363; charset=funny; option=strange
+
+MOOOO
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1364 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1364
new file mode 100644
index 000000000..e8c981d77
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1364
@@ -0,0 +1,71 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname without Content-Disposition, -D file
+
+
+http://%HOSTIP:%HTTPPORT/1364 -o log/outfile1364 -D log/heads1364
+
+
+perl %SRCDIR/libtest/notexists.pl log/1364
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1364 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1365 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1365
new file mode 100644
index 000000000..4a09cfd6a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1365
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname without Content-Disposition, -D stdout
+
+
+http://%HOSTIP:%HTTPPORT/1365 -o log/outfile1365 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/1365
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1365 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1366 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1366
new file mode 100644
index 000000000..62e3b0c42
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1366
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1366; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname and Content-Disposition, -D file
+
+
+http://%HOSTIP:%HTTPPORT/1366 -o log/outfile1366 -D log/heads1366
+
+
+perl %SRCDIR/libtest/notexists.pl log/1366 log/name1366
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1366 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1366; charset=funny; option=strange
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1367 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1367
new file mode 100644
index 000000000..d4bd3d777
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1367
@@ -0,0 +1,70 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1367; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname and Content-Disposition, -D stdout
+
+
+http://%HOSTIP:%HTTPPORT/1367 -o log/outfile1367 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/1367 log/name1367
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1367 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1367; charset=funny; option=strange
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1368 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1368
new file mode 100644
index 000000000..6a926ab68
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1368
@@ -0,0 +1,72 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -J without Content-Disposition, -D file
+
+
+http://%HOSTIP:%HTTPPORT/1368 -J -o log/outfile1368 -D log/heads1368
+
+
+perl %SRCDIR/libtest/notexists.pl log/1368
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1368 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1369 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1369
new file mode 100644
index 000000000..5176ed0b0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1369
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -J without Content-Disposition, -D stdout
+
+
+http://%HOSTIP:%HTTPPORT/1369 -J -o log/outfile1369 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/1369
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1369 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test137 b/external/3rd/library/curl/curl-7.45.0/tests/data/test137
new file mode 100644
index 000000000..b8e2726a0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test137
@@ -0,0 +1,47 @@
+
+
+
+FTP
+RETR
+--data-binary
+
+
+# Server-side
+
+
+this is file contents
+
+
+RETRNOSIZE
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download without size in RETR string
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/lululul/137
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+CWD lululul
+EPSV
+TYPE I
+SIZE 137
+RETR 137
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1370 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1370
new file mode 100644
index 000000000..d0abbdd68
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1370
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1370; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -J and Content-Disposition, -D file
+
+
+http://%HOSTIP:%HTTPPORT/1370 -J -o log/outfile1370 -D log/heads1370
+
+
+perl %SRCDIR/libtest/notexists.pl log/1370 log/name1370
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1370 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1370; charset=funny; option=strange
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1371 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1371
new file mode 100644
index 000000000..fe3977fae
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1371
@@ -0,0 +1,71 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1371; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -J and Content-Disposition, -D stdout
+
+
+http://%HOSTIP:%HTTPPORT/1371 -J -o log/outfile1371 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/1371 log/name1371
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1371 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1371; charset=funny; option=strange
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1372 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1372
new file mode 100644
index 000000000..a2b8ec961
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1372
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -i without Content-Disposition, -D file
+
+
+http://%HOSTIP:%HTTPPORT/1372 -i -o log/outfile1372 -D log/heads1372
+
+
+perl %SRCDIR/libtest/notexists.pl log/1372
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1372 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1373 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1373
new file mode 100644
index 000000000..ae906d7bd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1373
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -i without Content-Disposition, -D stdout
+
+
+http://%HOSTIP:%HTTPPORT/1373 -i -o log/outfile1373 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/1373
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1373 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1374 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1374
new file mode 100644
index 000000000..f8d9d0dd0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1374
@@ -0,0 +1,81 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1374; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -i and Content-Disposition, -D file
+
+
+http://%HOSTIP:%HTTPPORT/1374 -i -o log/outfile1374 -D log/heads1374
+
+
+perl %SRCDIR/libtest/notexists.pl log/1374 log/name1374
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1374 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1374; charset=funny; option=strange
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1374; charset=funny; option=strange
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1375 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1375
new file mode 100644
index 000000000..595f03ac1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1375
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1375; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -i and Content-Disposition, -D stdout
+
+
+http://%HOSTIP:%HTTPPORT/1375 -i -o log/outfile1375 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/1375 log/name1375
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1375 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1375; charset=funny; option=strange
+
+12345
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1375; charset=funny; option=strange
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1376 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1376
new file mode 100644
index 000000000..f34c27745
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1376
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -i without Content-Disposition, without -D
+
+
+http://%HOSTIP:%HTTPPORT/1376 -i -o log/outfile1376
+
+
+perl %SRCDIR/libtest/notexists.pl log/1376
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1376 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1377 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1377
new file mode 100644
index 000000000..f542b11c7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1377
@@ -0,0 +1,70 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1377; charset=funny; option=strange
+
+12345
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname -i and Content-Disposition, without -D
+
+
+http://%HOSTIP:%HTTPPORT/1377 -i -o log/outfile1377
+
+
+perl %SRCDIR/libtest/notexists.pl log/1377 log/name1377
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1377 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1377; charset=funny; option=strange
+
+12345
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1378 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1378
new file mode 100644
index 000000000..e004afcaf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1378
@@ -0,0 +1,56 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without Content-Disposition inside, using -o fname
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1378 -o log/download1378
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1378
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1378
+RETR file1378
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1379 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1379
new file mode 100644
index 000000000..81314b6db
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1379
@@ -0,0 +1,76 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -D file
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1379 -o log/download1379 -D log/heads1379
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1379
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1379
+RETR file1379
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1379 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test138 b/external/3rd/library/curl/curl-7.45.0/tests/data/test138
new file mode 100644
index 000000000..4eb73e6cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test138
@@ -0,0 +1,49 @@
+
+
+
+FTP
+RETR
+
+
+# Server-side
+
+
+this is file contents
+
+
+-1
+
+
+RETRNOSIZE
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download without size in RETR string and no SIZE command
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/lululul/138
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+CWD lululul
+EPSV
+TYPE I
+SIZE 138
+RETR 138
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1380 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1380
new file mode 100644
index 000000000..e71527001
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1380
@@ -0,0 +1,73 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -D stdout
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1380 -o log/download1380 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1380
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1380
+RETR file1380
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1380 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1381 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1381
new file mode 100644
index 000000000..a55c6b588
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1381
@@ -0,0 +1,77 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -J -D file
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1381 -o log/download1381 -J -D log/heads1381
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1381
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1381
+RETR file1381
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1381 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1382 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1382
new file mode 100644
index 000000000..a657e1fe2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1382
@@ -0,0 +1,74 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -J -D stdout
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1382 -o log/download1382 -J -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1382
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1382
+RETR file1382
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1382 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1383 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1383
new file mode 100644
index 000000000..0694a2240
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1383
@@ -0,0 +1,76 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -i -D file
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1383 -o log/download1383 -i -D log/heads1383
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1383
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1383
+RETR file1383
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1383 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1384 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1384
new file mode 100644
index 000000000..c07c266b4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1384
@@ -0,0 +1,73 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -i -D stdout
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1384 -o log/download1384 -i -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1384
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1384
+RETR file1384
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 10
+150 Binary data connection for 1384 () (10 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1385 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1385
new file mode 100644
index 000000000..ee35ab704
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1385
@@ -0,0 +1,56 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+
+fooo
+mooo
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file without C-D inside, using -o fname -i, without -D
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1385 -o log/download1385 -i
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1385
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1385
+RETR file1385
+QUIT
+
+
+
+fooo
+mooo
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1386 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1386
new file mode 100644
index 000000000..c7f5d8ae9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1386
@@ -0,0 +1,71 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1386 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1386; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with Content-Disposition inside, using -o fname
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1386 -o log/download1386
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1386 log/name1386
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1386
+RETR file1386
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1386; charset=funny; option=strange
+
+MOOOO
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1387 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1387
new file mode 100644
index 000000000..2b6c3fcb9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1387
@@ -0,0 +1,91 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1387 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1387; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -D file
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1387 -o log/download1387 -D log/heads1387
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1387 log/name1387
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1387
+RETR file1387
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1387; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for 1387 () (222 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1388 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1388
new file mode 100644
index 000000000..3d2c59a2e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1388
@@ -0,0 +1,88 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1388 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1388; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -D stdout
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1388 -o log/download1388 -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1388 log/name1388
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1388
+RETR file1388
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1388; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for 1388 () (222 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1389 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1389
new file mode 100644
index 000000000..4aaacd82b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1389
@@ -0,0 +1,92 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+# file1389 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1389; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -J -D file
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1389 -o log/download1389 -J -D log/heads1389
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1389 log/name1389
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1389
+RETR file1389
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1389; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for 1389 () (222 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test139 b/external/3rd/library/curl/curl-7.45.0/tests/data/test139
new file mode 100644
index 000000000..15a242b66
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test139
@@ -0,0 +1,47 @@
+
+
+
+FTP
+RETR
+-z
+
+
+# Server-side
+
+
+this is file contents
+
+
+213 20030409102659
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download a newer file with -z
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/139 -z "1 jan 1989"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+MDTM 139
+EPSV
+TYPE I
+SIZE 139
+RETR 139
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1390 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1390
new file mode 100644
index 000000000..0668cf7b0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1390
@@ -0,0 +1,89 @@
+
+
+
+FTP
+RETR
+-J
+
+
+
+# Server-side
+
+# file1390 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1390; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -J -D stdout
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1390 -o log/download1390 -J -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1390 log/name1390
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1390
+RETR file1390
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1390; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for 1390 () (222 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1391 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1391
new file mode 100644
index 000000000..09c670a94
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1391
@@ -0,0 +1,91 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1391 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1391; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -i -D file
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1391 -o log/download1391 -i -D log/heads1391
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1391 log/name1391
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1391
+RETR file1391
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1391; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for 1391 () (222 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1392 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1392
new file mode 100644
index 000000000..994c881d5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1392
@@ -0,0 +1,88 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1392 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1392; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -i -D stdout
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1392 -o log/download1392 -i -D -
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1392 log/name1392
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1392
+RETR file1392
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1392; charset=funny; option=strange
+
+MOOOO
+
+
+
+220- _ _ ____ _
+220- ___| | | | _ \| |
+220- / __| | | | |_) | |
+220- | (__| |_| | _ {| |___
+220 \___|\___/|_| \_\_____|
+331 We are happy you popped in!
+230 Welcome you silly person
+257 "/" is current directory
+250 CWD command successful.
+229 Entering Passive Mode (stripped)
+200 I modify TYPE as you wanted
+213 222
+150 Binary data connection for 1392 () (222 bytes).
+226 File transfer complete
+
+
+s/^(229 Entering Passive Mode \().*(\).*)/${1}stripped${2}/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1393 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1393
new file mode 100644
index 000000000..12f928476
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1393
@@ -0,0 +1,71 @@
+
+
+
+FTP
+RETR
+
+
+
+# Server-side
+
+# file1393 contents...
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1393; charset=funny; option=strange
+
+MOOOO
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP DL, file with C-D inside, using -o fname -i, without -D
+
+
+ftp://%HOSTIP:%FTPPORT/path/file1393 -o log/download1393 -i
+
+
+perl %SRCDIR/libtest/notexists.pl log/file1393 log/name1393
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE file1393
+RETR file1393
+QUIT
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1393; charset=funny; option=strange
+
+MOOOO
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1394 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1394
new file mode 100644
index 000000000..34d4a0e37
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1394
@@ -0,0 +1,30 @@
+
+
+
+unittest
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+unit test for parse_cert_parameter()
+
+
+unit1394
+
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1395 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1395
new file mode 100644
index 000000000..967c8d492
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1395
@@ -0,0 +1,26 @@
+
+
+
+unittest
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+Curl_dedotdotify
+
+
+unit1395
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1396 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1396
new file mode 100644
index 000000000..8ffe35f4c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1396
@@ -0,0 +1,27 @@
+
+
+
+unittest
+curl_easy_escape
+curl_easy_unescape
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+curl_easy_escape and curl_easy_unescape
+
+
+unit1396
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1397 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1397
new file mode 100644
index 000000000..5f479b468
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1397
@@ -0,0 +1,27 @@
+
+
+
+unittest
+ssl
+wildcard
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+Check wildcard certificate matching function Curl_cert_hostcheck
+
+
+unit1397
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1398 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1398
new file mode 100644
index 000000000..dd50baa62
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1398
@@ -0,0 +1,26 @@
+
+
+
+unittest
+curl_msnprintf
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+curl_msnprintf unit tests
+
+
+unit1398
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test14 b/external/3rd/library/curl/curl-7.45.0/tests/data/test14
new file mode 100644
index 000000000..21a4865b4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test14
@@ -0,0 +1,44 @@
+
+
+
+HTTP
+HTTP HEAD
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: thebest/1.0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP HEAD with Connection: close
+
+
+http://%HOSTIP:%HTTPPORT/want/14 -i --head
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+HEAD /want/14 HTTP/1.1
+User-Agent: curl/7.4.2-pre4 (sparc-sun-solaris2.7) libcurl 7.4.2-pre4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test140 b/external/3rd/library/curl/curl-7.45.0/tests/data/test140
new file mode 100644
index 000000000..4d8bc85c7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test140
@@ -0,0 +1,42 @@
+
+
+
+FTP
+-z
+--data-binary
+
+
+# Server-side
+
+
+
+
+213 20030409102659
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download file with -z, expected to not transfer
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/140 -z "1 jan 2004"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+MDTM 140
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1400 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1400
new file mode 100644
index 000000000..72989c4c4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1400
@@ -0,0 +1,103 @@
+
+
+
+HTTP
+HTTP GET
+--libcurl
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+--libcurl for simple HTTP GET
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1400 --libcurl log/test1400.c
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/1400 HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1400");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1401 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1401
new file mode 100644
index 000000000..d10cac26d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1401
@@ -0,0 +1,126 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP set cookie
+cookies
+--libcurl
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Content-Type: text/plain
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+--libcurl for GET with various options
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1401 --libcurl log/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/1401 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: stripped
+Authorization: Basic ZmFrZTp1c2Vy
+Accept: */*
+Cookie: chocolate=chip
+X-Files: Mulder
+X-Men: cyclops, iceman
+
+
+
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+ struct curl_slist *slist1;
+
+ slist1 = NULL;
+ slist1 = curl_slist_append(slist1, "X-Files: Mulder");
+ slist1 = curl_slist_append(slist1, "X-Men: cyclops, iceman");
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1401");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_USERPWD, "fake:user");
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "MyUA");
+ curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, slist1);
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_HTTPAUTH, (long)CURLAUTH_BASIC);
+ curl_easy_setopt(hnd, CURLOPT_COOKIE, "chocolate=chip");
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_PROTOCOLS, (long)CURLPROTO_FILE |
+ (long)CURLPROTO_FTP |
+ (long)CURLPROTO_HTTP);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+ curl_slist_free_all(slist1);
+ slist1 = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1402 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1402
new file mode 100644
index 000000000..c3bf834bd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1402
@@ -0,0 +1,112 @@
+
+
+
+HTTP
+HTTP POST
+--libcurl
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Content-Type: text/plain
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+--libcurl for simple POST
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1402 --libcurl log/test1402.c -d "foo=bar" -d "baz=quux"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /we/want/1402 HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 16
+Content-Type: application/x-www-form-urlencoded
+
+foo=bar&baz=quux
+
+
+# curl's default user-agent varies with version, libraries etc.
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1402");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "foo=bar&baz=quux");
+ curl_easy_setopt(hnd, CURLOPT_POSTFIELDSIZE_LARGE, (curl_off_t)16);
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1403 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1403
new file mode 100644
index 000000000..3ec7dd032
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1403
@@ -0,0 +1,107 @@
+
+
+
+HTTP
+HTTP GET
+--libcurl
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Content-Type: text/plain
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+--libcurl for GET with query
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1403 --libcurl log/test1403.c -G -d "foo=bar" -d "baz=quux"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/1403?foo=bar&baz=quux HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+# curl's default user-agent varies with version, libraries etc.
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1403?foo=bar&baz=quux");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1404 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1404
new file mode 100644
index 000000000..441569752
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1404
@@ -0,0 +1,161 @@
+
+# Based on test 1315
+
+
+HTTP
+HTTP FORMPOST
+HTTP file upload
+--libcurl
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 29 Jul 2008 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+--libcurl for HTTP RFC1867-type formposting - -F with three files, one with explicit type
+
+
+http://%HOSTIP:%HTTPPORT/we/want/1404 -F name=value -F 'file=@log/test1404.txt,log/test1404.txt;type=magic/content,log/test1404.txt' --libcurl log/test1404.c
+
+# We create this file before the command is invoked!
+
+dummy data
+
+
+
+# Verify data after the test has been "shot"
+
+
+(^User-Agent:.*|-----+\w+)
+
+
+POST /we/want/1404 HTTP/1.1
+User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 795
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
+
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="name"
+
+value
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="file"
+Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa
+
+Content-Disposition: attachment; filename="test1404.txt"
+Content-Type: text/plain
+
+dummy data
+
+------------------------------9ef8d6205763
+Content-Disposition: attachment; filename="test1404.txt"
+Content-Type: magic/content
+
+dummy data
+
+------------------------------9ef8d6205763
+Content-Disposition: attachment; filename="test1404.txt"
+Content-Type: text/plain
+
+dummy data
+
+------------------------------aaaaaaaaaaaa--
+------------------------------9ef8d6205763--
+
+
+# curl's default user-agent varies with version, libraries etc.
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+ struct curl_httppost *post1;
+ struct curl_httppost *postend;
+
+ post1 = NULL;
+ postend = NULL;
+ curl_formadd(&post1, &postend,
+ CURLFORM_COPYNAME, "name",
+ CURLFORM_COPYCONTENTS, "value",
+ CURLFORM_END);
+ curl_formadd(&post1, &postend,
+ CURLFORM_COPYNAME, "file",
+ CURLFORM_FILE, "log/test1404.txt",
+ CURLFORM_CONTENTTYPE, "text/plain",
+ CURLFORM_FILE, "log/test1404.txt",
+ CURLFORM_CONTENTTYPE, "magic/content",
+ CURLFORM_FILE, "log/test1404.txt",
+ CURLFORM_CONTENTTYPE, "text/plain",
+ CURLFORM_END);
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1404");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_HTTPPOST, post1);
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+ curl_formfree(post1);
+ post1 = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1405 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1405
new file mode 100644
index 000000000..38bfd5c54
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1405
@@ -0,0 +1,136 @@
+
+# Derived from test227
+
+
+FTP
+post-quote
+pre-quote
+--libcurl
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY EPSV 500 no such command
+REPLY FAIL 500 this might not be a failure!
+
+
+
+# Client-side
+
+
+ftp
+
+
+--libcurl for FTP with quote ops
+
+
+ftp://%HOSTIP:%FTPPORT/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/test1405.c
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+NOOP 1
+FAIL
+EPSV
+PASV
+TYPE I
+NOOP 2
+FAIL HARD
+SIZE 1405
+RETR 1405
+NOOP 3
+QUIT
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+ struct curl_slist *slist1;
+ struct curl_slist *slist2;
+ struct curl_slist *slist3;
+
+ slist1 = NULL;
+ slist1 = curl_slist_append(slist1, "NOOP 1");
+ slist1 = curl_slist_append(slist1, "*FAIL");
+ slist2 = NULL;
+ slist2 = curl_slist_append(slist2, "NOOP 3");
+ slist3 = NULL;
+ slist3 = curl_slist_append(slist3, "NOOP 2");
+ slist3 = curl_slist_append(slist3, "*FAIL HARD");
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "ftp://%HOSTIP:%FTPPORT/1405");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_QUOTE, slist1);
+ curl_easy_setopt(hnd, CURLOPT_POSTQUOTE, slist2);
+ curl_easy_setopt(hnd, CURLOPT_PREQUOTE, slist3);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+ curl_slist_free_all(slist1);
+ slist1 = NULL;
+ curl_slist_free_all(slist2);
+ slist2 = NULL;
+ curl_slist_free_all(slist3);
+ slist3 = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+# CURLOPT_USERAGENT and CURLOPT_MAXREDIRS requires HTTP protocol
+# support, IOW depends on configuration - just ignore these.
+$_ = '' if /CURLOPT_USERAGENT/
+$_ = '' if /CURLOPT_MAXREDIRS/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1406 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1406
new file mode 100644
index 000000000..c80459f95
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1406
@@ -0,0 +1,125 @@
+
+# Based on test900
+# N.B. --libcurl output not sufficient to deal with uploaded files.
+
+
+SMTP
+--libcurl
+
+
+
+#
+# Server-side
+
+
+CAPA SIZE
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+--libcurl for SMTP
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/test1406.eml --libcurl log/test1406.c
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 1406
+MAIL FROM: SIZE=38
+RCPT TO:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+ struct curl_slist *slist1;
+
+ slist1 = NULL;
+ slist1 = curl_slist_append(slist1, "recipient.one@example.com");
+ slist1 = curl_slist_append(slist1, "recipient.two@example.com");
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)38);
+ curl_easy_setopt(hnd, CURLOPT_URL, "smtp://%HOSTIP:%SMTPPORT/1406");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L);
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_MAIL_FROM, "sender@example.com");
+ curl_easy_setopt(hnd, CURLOPT_MAIL_RCPT, slist1);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+ curl_slist_free_all(slist1);
+ slist1 = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+# curl's default user-agent varies with version, libraries etc.
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1407 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1407
new file mode 100644
index 000000000..e84463a3e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1407
@@ -0,0 +1,103 @@
+
+# Based on test851
+
+
+POP3
+Clear Text
+LIST
+--libcurl
+
+
+
+#
+# Server-side
+
+
+REPLY LIST +OK 1407 100\r\n.
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+--libcurl for POP3 LIST one message
+
+
+pop3://%HOSTIP:%POP3PORT/1407 -l -u user:secret --libcurl log/test1407.c
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+LIST 1407
+QUIT
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "pop3://%HOSTIP:%POP3PORT/1407");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_DIRLISTONLY, 1L);
+ curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+# curl's default user-agent varies with version, libraries etc.
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1408 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1408
new file mode 100644
index 000000000..54d5e7778
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1408
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+IPv6
+cookies
+cookiejar
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Set-Cookie: time=1
+
+-foo-
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Set-Cookie: time=2
+
+-foo-
+
+
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP receive cookies over IPV6
+
+
+-c log/jar1408 -g http://%HOST6IP:%HTTP6PORT/path/14080001 http://%HOST6IP:%HTTP6PORT/path/14080002
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /path/14080001 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+
+GET /path/14080002 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+Cookie: time=1
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1409 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1409
new file mode 100644
index 000000000..5ceb53be3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1409
@@ -0,0 +1,31 @@
+
+
+
+cmdline
+FAILURE
+
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Pass in string to -C
+
+
+http://%HOSTIP:%HTTPPORT/1409 -C wrong
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+2
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test141 b/external/3rd/library/curl/curl-7.45.0/tests/data/test141
new file mode 100644
index 000000000..694d87c38
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test141
@@ -0,0 +1,52 @@
+
+
+
+FTP
+NOBODY
+
+
+# Server-side
+
+
+
+
+42
+
+
+213 20030409102659
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download info with -I
+
+
+ftp://%HOSTIP:%FTPPORT/blalbla/141 -I
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD blalbla
+MDTM 141
+TYPE I
+SIZE 141
+REST 0
+QUIT
+
+
+Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT
+Content-Length: 42
+Accept-ranges: bytes
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1410 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1410
new file mode 100644
index 000000000..97ad05698
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1410
@@ -0,0 +1,31 @@
+
+
+
+cmdline
+FAILURE
+
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Pass in negative number to --max-time
+
+
+http://%HOSTIP:%HTTPPORT/1410 --max-time -4
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+2
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1411 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1411
new file mode 100644
index 000000000..3ffd586de
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1411
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+PUT
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+# make sure there's no Expect: 100-continue when there's no file to send!
+
+HTTP with zero size file PUT
+
+
+http://%HOSTIP:%HTTPPORT/1411 -T log/empty1411
+
+# create an empty file
+
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /1411 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1412 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1412
new file mode 100644
index 000000000..ae63290e9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1412
@@ -0,0 +1,118 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+--anyauth
+
+
+
+# Server-side
+
+
+auth_required
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+# This is the second request
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the second real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP GET with --anyauth with two URLs (picking Digest)
+
+
+http://%HOSTIP:%HTTPPORT/1412 -u testuser:testpass --anyauth http://%HOSTIP:%HTTPPORT/14120001
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1412 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1412 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1412", response="0390dbe89e31adca0413d11f91f30e7f"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /14120001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/14120001", response="0085df91870374c8bf4e94415e7fbf8e"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1413 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1413
new file mode 100644
index 000000000..6e889a8a2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1413
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: moo.html/14130002#fragmentpart
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: moo.html/14130002#fragmentpart
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP redirect with fragment in new URL
+
+
+http://%HOSTIP:%HTTPPORT/this/1413 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /this/1413 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /this/moo.html/14130002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1414 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1414
new file mode 100644
index 000000000..444037839
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1414
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PORT
+RETR
+no SIZE
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY SIZE 502 no such command
+REPLY EPRT 502 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT without SIZE or EPRT support
+
+
+ftp://%HOSTIP:%FTPPORT/1414 -P -
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^(EPRT \|1\|)(.*)/$1/
+s/^(PORT)(.*)/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+PORT
+TYPE I
+SIZE 1414
+RETR 1414
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1415 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1415
new file mode 100644
index 000000000..d97dfcea9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1415
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+cookiejar
+delete expired cookie
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: test1value=test1; domain=example.com; path=/;
+Set-Cookie: test2value=test2; expires=Friday, 01-Jan-2037 00:00:00 GMT; domain=example.com; path=/;
+Set-Cookie: test3value=test3; expires=Monday, 13-Jun-1988 03:04:55 GMT; domain=example.com; path=/;
+Set-Cookie: test4value=test4; expires=Friday, 01-Jan-2037 00:00:00 GMT; domain=example.com; path=/;
+Set-Cookie: test5value=test5; expires=Monday, 13-Jun-1988 03:04:55 GMT; domain=example.com; path=/;
+Set-Cookie: test6value=test6; expires=Monday, 13-Jun-1988 03:04:55 GMT; domain=example.com; path=/;
+Set-Cookie: test7value=test7; expires=Friday, 01-Jan-2037 00:00:00 GMT; domain=example.com; path=/;
+Set-Cookie: test8value=test8; expires=Monday, 13-Jun-1988 03:04:55 GMT; domain=example.com; path=/;
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+Delete expired cookies
+
+
+TZ=GMT
+
+
+http://example.com/we/want/1415 -b none -c log/jar1415.txt -x %HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://example.com/we/want/1415 HTTP/1.1
+Host: example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+.example.com TRUE / FALSE 0 test1value test1
+.example.com TRUE / FALSE 2114380800 test2value test2
+.example.com TRUE / FALSE 2114380800 test4value test4
+.example.com TRUE / FALSE 2114380800 test7value test7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1416 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1416
new file mode 100644
index 000000000..546575e5d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1416
@@ -0,0 +1,63 @@
+
+
+
+HTTP
+HTTP GET
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+12345678123456789
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
+cccccccccccccccccccccccccccccccc
+
+0
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with chunked Transfer-Encoding overflowed chunked size
+
+
+http://%HOSTIP:%HTTPPORT/1416
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1416 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+# 56 = CURLE_RECV_ERROR
+
+56
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1417 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1417
new file mode 100644
index 000000000..13ba6b168
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1417
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+40
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
+cccccccccccccccccccccccccccccccc
+
+0
+chunky-trailer: header data
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with chunked encoding and chunked trailer without CRs
+
+
+http://%HOSTIP:%HTTPPORT/1417 -D log/heads1417
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1417 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+chunky-trailer: header data
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1418 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1418
new file mode 100644
index 000000000..b3a2f23b2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1418
@@ -0,0 +1,108 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+connection re-use
+
+
+# Server-side
+
+
+connection-monitor
+
+
+
+HTTP/1.1 401 Authentication please!
+Content-Length: 20
+WWW-Authenticate: Digest realm="loonie", nonce="314156592"
+WWW-Authenticate: Basic
+
+Please auth with me
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Length: 4
+
+moo
+
+
+
+HTTP/1.1 200 OK
+Server: Another one/1.0
+Content-Length: 4
+
+boo
+
+
+# This is the first reply after the redirection
+
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either!
+
+
+
+HTTP/1.1 401 Authentication please!
+Content-Length: 20
+WWW-Authenticate: Digest realm="loonie", nonce="314156592"
+WWW-Authenticate: Basic
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Length: 4
+
+moo
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with --anyauth and connection re-use
+
+
+http://%HOSTIP:%HTTPPORT/1418 -u testuser:testpass --anyauth http://%HOSTIP:%HTTPPORT/14180003
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1418 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1418 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="loonie", nonce="314156592", uri="/1418", response="986238b7e0077754944c966f56d9bc77"
+Accept: */*
+
+GET /14180003 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="loonie", nonce="314156592", uri="/14180003", response="1c6390a67bac3283a9b023402f3b3540"
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1419 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1419
new file mode 100644
index 000000000..f29ce4444
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1419
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+connection re-use
+
+
+# Server-side
+
+
+connection-monitor
+
+
+
+HTTP/1.1 200 fine!
+Content-Length: 20
+
+Feel free to get it
+
+
+
+HTTP/1.1 200 OK
+Server: Another one/1.0
+Content-Length: 4
+
+boo
+
+
+
+HTTP/1.1 200 fine!
+Content-Length: 20
+
+Feel free to get it
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with --anyauth (but no auth!) and connection re-use
+
+
+http://%HOSTIP:%HTTPPORT/1419 --anyauth http://%HOSTIP:%HTTPPORT/14190003
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1419 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /14190003 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test142 b/external/3rd/library/curl/curl-7.45.0/tests/data/test142
new file mode 100644
index 000000000..e26aa192a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test142
@@ -0,0 +1,190 @@
+
+
+
+FTP
+
+
+# Server-side
+
+
+many parts there are
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP URL with 150 dir levels
+
+
+ftp://%HOSTIP:%FTPPORT/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD part1
+CWD part2
+CWD part3
+CWD part4
+CWD part5
+CWD part6
+CWD part7
+CWD part8
+CWD part9
+CWD part10
+CWD part11
+CWD part12
+CWD part13
+CWD part14
+CWD part15
+CWD part16
+CWD part17
+CWD part18
+CWD part19
+CWD part20
+CWD part21
+CWD part22
+CWD part23
+CWD part24
+CWD part25
+CWD part26
+CWD part27
+CWD part28
+CWD part29
+CWD part30
+CWD part31
+CWD part32
+CWD part33
+CWD part34
+CWD part35
+CWD part36
+CWD part37
+CWD part38
+CWD part39
+CWD part40
+CWD part41
+CWD part42
+CWD part43
+CWD part44
+CWD part45
+CWD part46
+CWD part47
+CWD part48
+CWD part49
+CWD part50
+CWD part51
+CWD part52
+CWD part53
+CWD part54
+CWD part55
+CWD part56
+CWD part57
+CWD part58
+CWD part59
+CWD part60
+CWD part61
+CWD part62
+CWD part63
+CWD part64
+CWD part65
+CWD part66
+CWD part67
+CWD part68
+CWD part69
+CWD part70
+CWD part71
+CWD part72
+CWD part73
+CWD part74
+CWD part75
+CWD part76
+CWD part77
+CWD part78
+CWD part79
+CWD part80
+CWD part81
+CWD part82
+CWD part83
+CWD part84
+CWD part85
+CWD part86
+CWD part87
+CWD part88
+CWD part89
+CWD part90
+CWD part91
+CWD part92
+CWD part93
+CWD part94
+CWD part95
+CWD part96
+CWD part97
+CWD part98
+CWD part99
+CWD part100
+CWD part101
+CWD part102
+CWD part103
+CWD part104
+CWD part105
+CWD part106
+CWD part107
+CWD part108
+CWD part109
+CWD part110
+CWD part111
+CWD part112
+CWD part113
+CWD part114
+CWD part115
+CWD part116
+CWD part117
+CWD part118
+CWD part119
+CWD part120
+CWD part121
+CWD part122
+CWD part123
+CWD part124
+CWD part125
+CWD part126
+CWD part127
+CWD part128
+CWD part129
+CWD part130
+CWD part131
+CWD part132
+CWD part133
+CWD part134
+CWD part135
+CWD part136
+CWD part137
+CWD part138
+CWD part139
+CWD part140
+CWD part141
+CWD part142
+CWD part143
+CWD part144
+CWD part145
+CWD part146
+CWD part147
+CWD part148
+CWD part149
+CWD part150
+EPSV
+TYPE I
+SIZE 142
+RETR 142
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1420 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1420
new file mode 100644
index 000000000..79ca675a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1420
@@ -0,0 +1,108 @@
+
+# Based on test800
+
+
+IMAP
+Clear Text
+FETCH
+--libcurl
+
+
+
+#
+# Server-side
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+--libcurl for IMAP FETCH message
+
+
+'imap://%HOSTIP:%IMAPPORT/1420/;UID=1' -u user:secret --libcurl log/test1420.c
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 1420
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+/********* Sample code generated by the curl command line tool **********
+ * All curl_easy_setopt() options are documented at:
+ * http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ ************************************************************************/
+#include
+
+int main(int argc, char *argv[])
+{
+ CURLcode ret;
+ CURL *hnd;
+
+ hnd = curl_easy_init();
+ curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/1420/;UID=1");
+ curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
+ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
+ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
+
+ /* Here is a list of options the curl code used that cannot get generated
+ as source easily. You may select to either not use them or implement
+ them yourself.
+
+ CURLOPT_WRITEDATA set to a objectpointer
+ CURLOPT_WRITEFUNCTION set to a functionpointer
+ CURLOPT_READDATA set to a objectpointer
+ CURLOPT_READFUNCTION set to a functionpointer
+ CURLOPT_SEEKDATA set to a objectpointer
+ CURLOPT_SEEKFUNCTION set to a functionpointer
+ CURLOPT_ERRORBUFFER set to a objectpointer
+ CURLOPT_STDERR set to a objectpointer
+ CURLOPT_DEBUGFUNCTION set to a functionpointer
+ CURLOPT_DEBUGDATA set to a objectpointer
+ CURLOPT_HEADERFUNCTION set to a functionpointer
+ CURLOPT_HEADERDATA set to a objectpointer
+
+ */
+
+ ret = curl_easy_perform(hnd);
+
+ curl_easy_cleanup(hnd);
+ hnd = NULL;
+
+ return (int)ret;
+}
+/**** End of sample code ****/
+
+
+# curl's default user-agent varies with version, libraries etc.
+s/(USERAGENT, \")[^\"]+/${1}stripped/
+# CURLOPT_SSL_VERIFYPEER and SSH_KNOWNHOSTS vary with configurations - just
+# ignore them
+$_ = '' if /CURLOPT_SSL_VERIFYPEER/
+$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1421 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1421
new file mode 100644
index 000000000..6c59b2160
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1421
@@ -0,0 +1,72 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Uknown-header: blrub
+Content-Length: 6
+
+-foo-
+
+
+
+connection-monitor
+
+
+
+#
+# Client-side
+
+
+http
+
+
+Re-using HTTP proxy connection for two different host names
+
+
+--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 200 OK
+Uknown-header: blrub
+Content-Length: 6
+
+-foo-
+HTTP/1.1 200 OK
+Uknown-header: blrub
+Content-Length: 6
+
+-foo-
+
+
+^User-Agent:.*
+
+
+GET http://test.remote.haxx.se.1421:8990/ HTTP/1.1
+Host: test.remote.haxx.se.1421:8990
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://different.remote.haxx.se.1421:8990/ HTTP/1.1
+Host: different.remote.haxx.se.1421:8990
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1422 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1422
new file mode 100644
index 000000000..9b436cc4e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1422
@@ -0,0 +1,63 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name1422; charset=funny; option=strange
+
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O and -J output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -O -J and Content-Disposition (empty file)
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/1422 -J -O file://%PWD/log/name1422
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1422 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1423 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1423
new file mode 100644
index 000000000..908ff8c29
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1423
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+
+
+
+
+#
+# Client-side
+
+
+http
+file
+
+
+HTTP GET -o fname without Content-Disposition (empty file)
+
+
+http://%HOSTIP:%HTTPPORT/1423 -o log/outfile1423 file://%PWD/log/outfile1423
+
+
+perl %SRCDIR/libtest/notexists.pl log/1423
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1423 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1424 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1424
new file mode 100644
index 000000000..17bc46a1d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1424
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+If-Modified-Since
+-z
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1990 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1990 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -o fname without Content-Disposition (unmet time condition)
+
+
+original contents
+
+
+http://%HOSTIP:%HTTPPORT/1424 -z "dec 12 11:00:00 1999 GMT" -o log/outfile1424
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1424 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 11:00:00 GMT
+
+
+
+
+original contents
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1428 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1428
new file mode 100644
index 000000000..59041ec96
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1428
@@ -0,0 +1,81 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP Basic auth
+proxytunnel
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP over proxy-tunnel with --proxy-header and --header
+
+
+http://test.1428:%HTTPPORT/we/want/that/page/1428 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT test.1428:%HTTPPORT HTTP/1.1
+Host: test.1428:%HTTPPORT
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Proxy-Connection: Keep-Alive
+header-type: proxy
+
+
+
+GET /we/want/that/page/1428 HTTP/1.1
+Host: test.1428:%HTTPPORT
+Authorization: Basic aWFtOm15OjtzZWxm
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Accept: */*
+header-type: server
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1429 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1429
new file mode 100644
index 000000000..da09dca48
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1429
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+
+
+HTTP/1.1 1234 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+
+HTTP GET with 4-digit reponse code
+
+
+http://%HOSTIP:%HTTPPORT/1429 --write-out '%{response_code}'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 1234 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+1234
+
+
+^User-Agent:.*
+
+
+GET /1429 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test143 b/external/3rd/library/curl/curl-7.45.0/tests/data/test143
new file mode 100644
index 000000000..a4df8cbf1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test143
@@ -0,0 +1,44 @@
+
+
+
+FTP
+RETR
+type=
+
+
+# Server-side
+
+
+bla bla bla
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP URL with type=a
+
+
+"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/143;type=a"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /tmp
+CWD moo
+EPSV
+TYPE A
+SIZE 143
+RETR 143
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1430 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1430
new file mode 100644
index 000000000..c5f65cfc8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1430
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+
+
+HTTP/1.1 -12 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with negative reponse code
+
+
+http://%HOSTIP:%HTTPPORT/1430
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1430 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1431 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1431
new file mode 100644
index 000000000..4ea33edc2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1431
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+
+
+HTTP/1.1 2 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with single-digit reponse code
+
+
+http://%HOSTIP:%HTTPPORT/1431
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1431 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1432 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1432
new file mode 100644
index 000000000..eb1d0c2ad
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1432
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+
+
+HTTP/1.1 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+
+HTTP GET with 100-digit reponse code and survive
+
+
+http://%HOSTIP:%HTTPPORT/1432
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1432 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1433 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1433
new file mode 100644
index 000000000..8634db2c4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1433
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+
+
+HTTP/1.0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+
+HTTP GET with 100-digit subversion number in response
+
+
+http://%HOSTIP:%HTTPPORT/1433 --write-out '%{response_code}'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+HTTP/1.0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+200
+
+
+^User-Agent:.*
+
+
+GET /1433 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1434 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1434
new file mode 100644
index 000000000..0b33bb958
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1434
@@ -0,0 +1,90 @@
+
+
+
+HTTP
+HTTP GET
+Resume
+
+
+
+# Server-side
+
+# Some servers (e.g. Apache 1.2) respond this way to an invalid byte range
+
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 100
+Content-Type: text/plain
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+# The file data that exists at the start of the test must be included in
+# the verification.
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 100
+Content-Type: text/plain
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET resume at exactly the existing file size is fine
+
+
+http://%HOSTIP:%HTTPPORT/1434 -C 100
+
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1434 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=100-
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1435 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1435
new file mode 100644
index 000000000..bd171a453
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1435
@@ -0,0 +1,46 @@
+
+
+
+HTTP
+HTTP GET
+unix sockets
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Sun, 16 Nov 2014 23:47:38 GMT
+Content-Length: 17
+
+Based on test300
+
+
+
+
+
+unix-sockets
+
+
+http-unix
+
+
+simple HTTP GET over Unix socket
+
+
+--unix-socket %HTTPUNIXPATH http://server-interpreted.example.com/1435
+
+
+
+
+
+^User-Agent:.*
+
+
+GET /1435 HTTP/1.1
+Host: server-interpreted.example.com
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1436 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1436
new file mode 100644
index 000000000..e40a3bf4b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1436
@@ -0,0 +1,85 @@
+
+
+
+HTTP
+HTTP GET
+unix sockets
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 17 Nov 2014 13:42:47 GMT
+Content-Length: 6
+
+First
+
+
+HTTP/1.1 200 OK
+Date: Mon, 17 Nov 2014 13:42:48 GMT
+Content-Length: 7
+
+Second
+
+
+HTTP/1.1 200 OK
+Date: Mon, 17 Nov 2014 13:42:49 GMT
+Content-Length: 6
+
+Third
+
+
+
+
+
+unix-sockets
+
+
+http-unix
+
+
+HTTP requests with multiple connections over Unix socket
+
+
+--unix-socket %HTTPUNIXPATH http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003
+
+
+
+
+
+^User-Agent:.*
+
+
+GET /14360001 HTTP/1.1
+Host: one.example.com
+Accept: */*
+
+GET /14360002 HTTP/1.1
+Host: two.example.com
+Accept: */*
+
+GET /14360003 HTTP/1.1
+Host: one.example.com
+Accept: */*
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 17 Nov 2014 13:42:47 GMT
+Content-Length: 6
+
+First
+HTTP/1.1 200 OK
+Date: Mon, 17 Nov 2014 13:42:48 GMT
+Content-Length: 7
+
+Second
+HTTP/1.1 200 OK
+Date: Mon, 17 Nov 2014 13:42:49 GMT
+Content-Length: 6
+
+Third
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test144 b/external/3rd/library/curl/curl-7.45.0/tests/data/test144
new file mode 100644
index 000000000..4419b09f5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test144
@@ -0,0 +1,49 @@
+
+
+
+FTP
+PORT
+NLST
+--data-binary
+
+
+# Server-side
+
+
+
+
+REPLY NLST 450 No files found
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP NLST dir list without contents, using PORT
+
+
+ftp://%HOSTIP:%FTPPORT/ -P - -l
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+NLST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test145 b/external/3rd/library/curl/curl-7.45.0/tests/data/test145
new file mode 100644
index 000000000..1e80cf8ce
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test145
@@ -0,0 +1,51 @@
+
+
+
+FTP
+NLST
+PORT
+
+
+# Server-side
+
+
+REPLY NLST 550 Have a taste on this!
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP NLST dir list with weird reply code, using PORT
+
+
+ftp://%HOSTIP:%FTPPORT/ -P - -l
+
+
+
+# Verify data after the test has been "shot"
+
+
+19
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+NLST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test146 b/external/3rd/library/curl/curl-7.45.0/tests/data/test146
new file mode 100644
index 000000000..3cd4bd5aa
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test146
@@ -0,0 +1,55 @@
+
+
+
+FTP
+RETR
+persistent connection
+
+
+
+# Server-side
+
+
+this is file contents
+
+
+
+# Client-side
+
+
+ftp
+
+
+persistent FTP with different paths
+
+
+ftp://%HOSTIP:%FTPPORT/first/dir/here/146 ftp://%HOSTIP:%FTPPORT/146
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD first
+CWD dir
+CWD here
+EPSV
+TYPE I
+SIZE 146
+RETR 146
+CWD /
+EPSV
+SIZE 146
+RETR 146
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test147 b/external/3rd/library/curl/curl-7.45.0/tests/data/test147
new file mode 100644
index 000000000..6651df03b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test147
@@ -0,0 +1,55 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+foo
+
+
+REPLY CWD 550 I won't allow this on my server
+COUNT CWD 1
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with --ftp-create-dirs (failing CWD)
+
+
+ftp://%HOSTIP:%FTPPORT/first/dir/here/147 --ftp-create-dirs
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD first
+MKD first
+CWD first
+CWD dir
+CWD here
+EPSV
+TYPE I
+SIZE 147
+RETR 147
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test148 b/external/3rd/library/curl/curl-7.45.0/tests/data/test148
new file mode 100644
index 000000000..fbac10f9c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test148
@@ -0,0 +1,48 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+REPLY CWD 550 I won't allow this on my server
+REPLY MKD 550 We will have no such thing
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with --ftp-create-dirs (failing MKD)
+
+
+ftp://%HOSTIP:%FTPPORT/attempt/to/get/this/148 --ftp-create-dirs
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+9
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD attempt
+MKD attempt
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test149 b/external/3rd/library/curl/curl-7.45.0/tests/data/test149
new file mode 100644
index 000000000..a5d149982
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test149
@@ -0,0 +1,53 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with multiple uploads
+
+
+-T log/upload149 ftp://%HOSTIP:%FTPPORT/dir1/149 -T log/upload149 ftp://%HOSTIP:%FTPPORT/dir2/149
+
+
+send away this contents
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD dir1
+EPSV
+TYPE I
+STOR 149
+CWD /
+CWD dir2
+EPSV
+STOR 149
+QUIT
+
+
+send away this contents
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test15 b/external/3rd/library/curl/curl-7.45.0/tests/data/test15
new file mode 100644
index 000000000..3b1fa4369
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test15
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+--write-out
+
+
+# Server-side
+
+
+HTTP/1.4 200 OK
+Fake: yes
+Fake: yes
+Fake: yes
+Content-Length: 26
+
+Repeated nonsense-headers
+
+
+
+# Client-side
+
+
+http
+
+
+--write-out test
+
+
+http://%HOSTIP:%HTTPPORT/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n"
+
+
+
+# Verify data after the test has been "shot"
+
+
+HTTP/1.4 200 OK
+Fake: yes
+Fake: yes
+Fake: yes
+Content-Length: 26
+
+Repeated nonsense-headers
+http://%HOSTIP:%HTTPPORT/want/15 200 26
+
+
+^User-Agent:.*
+
+
+GET /want/15 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test150 b/external/3rd/library/curl/curl-7.45.0/tests/data/test150
new file mode 100644
index 000000000..69c5835c6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test150
@@ -0,0 +1,103 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+
+
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM authorization and --fail
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/150 -u testuser:testpass --ntlm --fail
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /150 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /150 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1500 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1500
new file mode 100644
index 000000000..cd3131e6d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1500
@@ -0,0 +1,44 @@
+
+
+
+HTTP
+HTTP GET
+multi
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 all good!
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
+Hello World
+
+
+
+# Client-side
+
+
+http
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib1500
+
+
+
+curl_multi_wait
+
+
+http://%HOSTIP:%HTTPPORT/1500
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1501 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1501
new file mode 100644
index 000000000..8c7e13af7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1501
@@ -0,0 +1,53 @@
+
+
+
+FTP
+RETR
+multi
+LIST
+
+
+
+# Server-side
+
+
+
+
+DELAY LIST 2
+DELAY TYPE 2
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib1501
+
+
+FTP with multi interface and slow LIST response
+
+
+ftp://%HOSTIP:%FTPPORT/1501/
+
+
+# Verify data after the test has been "shot"
+
+
+0
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD 1501
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1502 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1502
new file mode 100644
index 000000000..4c084d644
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1502
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+multi
+CURLOPT_RESOLVE
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib1502
+
+
+HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA
+
+
+http://google.com:%HTTPPORT/1502 %HTTPPORT %HOSTIP
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1502 HTTP/1.1
+Host: google.com:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1503 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1503
new file mode 100644
index 000000000..8665de60c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1503
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+multi
+CURLOPT_RESOLVE
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib1503
+
+
+HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA
+
+
+http://google.com:%HTTPPORT/1503 %HTTPPORT %HOSTIP
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1503 HTTP/1.1
+Host: google.com:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1504 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1504
new file mode 100644
index 000000000..b8463c526
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1504
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+multi
+CURLOPT_RESOLVE
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib1504
+
+
+HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB
+
+
+http://google.com:%HTTPPORT/1504 %HTTPPORT %HOSTIP
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1504 HTTP/1.1
+Host: google.com:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1505 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1505
new file mode 100644
index 000000000..c6e5a7ca1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1505
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+multi
+CURLOPT_RESOLVE
+
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib1505
+
+
+HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB
+
+
+http://google.com:%HTTPPORT/1505 %HTTPPORT %HOSTIP
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /1505 HTTP/1.1
+Host: google.com:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1506 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1506
new file mode 100644
index 000000000..815fef923
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1506
@@ -0,0 +1,96 @@
+
+
+
+HTTP
+multi
+verbose logs
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+http
+
+
+lib1506
+
+
+HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)
+
+
+http://%HOSTIP:%HTTPPORT/path/1506 %HOSTIP %HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /path/15060001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15060002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15060003 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15060004 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+^Host:.*
+
+
+* Connection #0 to host server1.example.com left intact
+* Connection #1 to host server2.example.com left intact
+* Connection #2 to host server3.example.com left intact
+* Closing connection 0
+* Connection #3 to host server4.example.com left intact
+
+
+$_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1507 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1507
new file mode 100644
index 000000000..ab7b47eb3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1507
@@ -0,0 +1,51 @@
+
+
+
+SMTP
+multi
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+lib1507
+
+
+# based on bug report #1184
+
+SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/1507
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 1507
+MAIL FROM:<1507-realuser@example.com>
+RCPT TO:<1507-recipient@example.com>
+DATA
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1508 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1508
new file mode 100644
index 000000000..b276b8b31
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1508
@@ -0,0 +1,31 @@
+
+
+
+HTTP
+multi
+
+
+
+# Client-side
+
+
+none
+
+
+lib1508
+
+
+Close a multi handle without using it
+
+
+http://%HOSTIP:%HTTPPORT/path/1508
+
+
+
+# Verify data after the test has been "shot"
+
+
+We are done
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1509 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1509
new file mode 100644
index 000000000..b4bfc6603
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1509
@@ -0,0 +1,88 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+
+
+
+# Server-side
+
+
+connection-monitor
+
+
+HTTP/1.1 200 Mighty fine indeed
+Server: the beast that eats naughty clients
+
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+Server: the beast that eats naughty clients
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+header length is ........: 245
+header length should be..: 245
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+# tool is what to use instead of 'curl'
+
+lib1509
+
+
+
+simple multi http:// through proxytunnel with authentication info
+
+
+http://the.old.moo.1509:%HTTPPORT/1509 %HOSTIP:%PROXYPORT
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Verify data after the test has been "shot"
+
+
+CONNECT the.old.moo.1509:%HTTPPORT HTTP/1.1
+Host: the.old.moo.1509:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
+
+
+GET /1509 HTTP/1.1
+Host: the.old.moo.1509:%HTTPPORT
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test151 b/external/3rd/library/curl/curl-7.45.0/tests/data/test151
new file mode 100644
index 000000000..8f20d1d8b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test151
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+# Server-side
+
+
+HTTP/1.0 401 BAD BOY
+Server: swsclose
+Content-Type: text/html
+
+This contains a response code >= 400, so curl shouldn't display this. Even
+though it's a response code that triggers authentication, we're not using
+authentication so we should still fail.
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with an error code that might trick authentication
+
+
+http://%HOSTIP:%HTTPPORT/151
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET /151 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1510 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1510
new file mode 100644
index 000000000..2767f600d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1510
@@ -0,0 +1,96 @@
+
+
+
+HTTP
+verbose logs
+flaky
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+http
+
+
+lib1510
+
+
+HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)
+
+
+http://%HOSTIP:%HTTPPORT/path/1510 %HOSTIP %HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /path/15100001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15100002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15100003 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15100004 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+^Host:.*
+
+
+* Connection #0 to host server1.example.com left intact
+* Connection #1 to host server2.example.com left intact
+* Connection #2 to host server3.example.com left intact
+* Closing connection 0
+* Connection #3 to host server4.example.com left intact
+
+
+$_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1511 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1511
new file mode 100644
index 000000000..d2b26e538
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1511
@@ -0,0 +1,70 @@
+
+
+
+HTTP
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fakem
+Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
+Hello World
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fakem
+Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fakem
+Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT
+Content-Type: text/html
+Content-Length: 12
+Connection: close
+
+Hello World
+
+
+
+
+# Client-side
+
+
+http
+
+
+http
+
+
+lib1511
+
+
+HTTP GET time conditions in repeated requests
+
+
+http://%HOSTIP:%HTTPPORT/1511
+
+
+
+# Verify data after the test has been "shot"
+# TEST_ERR_SUCCESS is errorcode 120
+
+
+120
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1512 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1512
new file mode 100644
index 000000000..a5de5cda7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1512
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+GLOBAL DNS CACHE
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+http
+
+
+lib1512
+
+
+GLOBAL CACHE test over two easy performs
+
+
+http://%HOSTIP:%HTTPPORT/path/1512 %HOSTIP %HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /path/15120001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/15120002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+^Host:.*
+
+
+$_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1513 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1513
new file mode 100644
index 000000000..8abb96fa6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1513
@@ -0,0 +1,46 @@
+
+
+
+PROGRESSFUNCTION
+
+
+
+# Server-side
+
+
+HTTP/1.1 204 PARTIAL
+X-Comment: partial response to keep the client waiting
+
+
+wait 10
+
+
+
+# Client-side
+
+
+http
+
+
+lib1513
+
+
+return failure immediately from progress callback
+
+
+# this server/host won't be used for real
+
+http://%HOSTIP:%HTTPPORT/1513
+
+
+
+# Verify data after the test has been "shot"
+
+
+
+# 42 == CURLE_ABORTED_BY_CALLBACK
+
+42
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1514 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1514
new file mode 100644
index 000000000..38f5da61f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1514
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP POST
+Content-Length
+
+
+
+# Server-side
+
+
+HTTP/1.1 411 Length Required
+Date: Sun, 19 Jan 2014 18:50:58 GMT
+Server: test-server/fake swsclose
+Connection: close
+
+
+
+# Client-side
+
+
+http
+
+
+lib1514
+
+
+HTTP POST with read callback and unknown data size
+
+
+http://%HOSTIP:%HTTPPORT/1514
+
+
+
+# Verify data after the test has been "shot"
+
+# Content-Length header is not present
+
+POST /1514 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1515 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1515
new file mode 100644
index 000000000..3a49d1be9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1515
@@ -0,0 +1,58 @@
+
+
+
+
+HTTP
+multi
+FAILURE
+resolve
+
+
+
+
+# Close the connection after the first request. Second request will happen after
+# the DNS cache timeout elapses and must succeed exactly like the first one.
+
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 2014 17:04:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+Content-Length: 6
+
+hello
+
+
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 2014 17:04:02 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+Content-Length: 6
+
+hello
+
+
+
+
+
+http
+
+
+lib1515
+
+
+caching of manual libcurl DNS entries after DNS cache timeout
+
+
+/path/1515 %HOSTIP %HTTPPORT
+
+
+
+
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1516 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1516
new file mode 100644
index 000000000..bf2cd1511
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1516
@@ -0,0 +1,58 @@
+
+
+
+
+HTTP
+multi
+FAILURE
+resolve
+
+
+
+
+# Close the connection after the first request but don't tell the client to do
+# so! When starting the second request it'll detect a dead connection and must
+# not clean the DNS entries added manually.
+
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 2014 17:04:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Content-Length: 6
+
+hello
+
+
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 2014 17:04:02 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+Content-Length: 6
+
+hello
+
+
+
+
+
+http
+
+
+lib1515
+
+
+caching of manual libcurl DNS entries after dead connection
+
+
+/path/1516 %HOSTIP %HTTPPORT
+
+
+
+
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test152 b/external/3rd/library/curl/curl-7.45.0/tests/data/test152
new file mode 100644
index 000000000..2cc521614
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test152
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+--fail
+
+
+
+# Server-side
+
+
+HTTP/1.0 401 BAD BOY
+Server: swsclose
+Content-Type: text/html
+
+This contains a response code >= 400, so curl shouldn't display this. Even
+though it's a response code that triggers authentication, we're not using
+authentication so we should still fail.
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with an error code that might trick authentication and --fail
+
+
+http://%HOSTIP:%HTTPPORT/152 --fail
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET /152 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+22
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1520 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1520
new file mode 100644
index 000000000..5f9344d94
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1520
@@ -0,0 +1,63 @@
+
+# Based off test 901 after bug report #1456
+
+
+SMTP
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+lib1520
+
+
+
+SMTP with CRLF-dot-CRLF in data
+
+
+From: different
+To: another
+
+
+.
+.
+
+.
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/1520
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 1520
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+
+..
+..
+
+..
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1525 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1525
new file mode 100644
index 000000000..0560d5c1a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1525
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+CURLOPT_PROXYHEADER
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 17
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+HTTP/1.1 200 OK
+Content-Length: 17
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+
+lib1525
+
+
+CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED
+
+
+ http://the.old.moo.1525:%HTTPPORT/1525 %HOSTIP:%PROXYPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+CONNECT the.old.moo.1525:%HTTPPORT HTTP/1.1
+Host: the.old.moo.1525:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: Http Agent
+
+
+
+PUT /1525 HTTP/1.1
+Host: the.old.moo.1525:%HTTPPORT
+Accept: */*
+User-Agent: Http Agent
+Content-Length: 13
+Expect: 100-continue
+
+Hello Cloud!
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1526 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1526
new file mode 100644
index 000000000..aa111c890
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1526
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+CURLOPT_PROXYHEADER
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: present
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+HTTP/1.1 200 OK
+Server: present
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+
+lib1526
+
+
+CURLOPT_PROXYHEADER: separate host/proxy headers
+
+
+ http://the.old.moo.1526:%HTTPPORT/1526 %HOSTIP:%PROXYPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+CONNECT the.old.moo.1526:%HTTPPORT HTTP/1.1
+Host: the.old.moo.1526:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: Proxy Agent
+
+
+
+PUT /1526 HTTP/1.1
+Host: the.old.moo.1526:%HTTPPORT
+Accept: */*
+User-Agent: Http Agent
+Content-Length: 13
+Expect: 100-continue
+
+Hello Cloud!
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1527 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1527
new file mode 100644
index 000000000..e8d52794b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1527
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+We-are: good
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+HTTP/1.1 200 OK
+We-are: good
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+
+lib1527
+
+
+Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED
+
+
+ http://the.old.moo.1527:%HTTPPORT/1527 %HOSTIP:%PROXYPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+CONNECT the.old.moo.1527:%HTTPPORT HTTP/1.1
+Host: the.old.moo.1527:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: Http Agent
+Expect: 100-continue
+
+
+
+PUT /1527 HTTP/1.1
+Host: the.old.moo.1527:%HTTPPORT
+Accept: */*
+User-Agent: Http Agent
+Expect: 100-continue
+Content-Length: 13
+
+Hello Cloud!
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1528 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1528
new file mode 100644
index 000000000..876806af4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1528
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+We-are: good
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Content-Length: 5
+
+stop
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+
+lib1528
+
+
+Separately specified proxy/server headers sent in a proxy GET
+
+
+ http://the.old.moo:%HTTPPORT/1528 %HOSTIP:%PROXYPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET http://the.old.moo:%HTTPPORT/1528 HTTP/1.1
+Host: the.old.moo:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+User-Agent: Http Agent
+Proxy-User-Agent: Http Agent2
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1529 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1529
new file mode 100644
index 000000000..33df26824
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1529
@@ -0,0 +1,43 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+We-are: good
+
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+
+lib1529
+
+
+HTTP request-injection in URL sent over proxy
+
+
+ "http://the.old.moo:%HTTPPORT/1529" %HOSTIP:%PROXYPORT
+
+
+
+# it should be detected and an error should be reported
+
+# 3 == CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test153 b/external/3rd/library/curl/curl-7.45.0/tests/data/test153
new file mode 100644
index 000000000..fc1d812de
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test153
@@ -0,0 +1,134 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+
+# Server-side
+
+# reply back and ask for Digest auth
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+#
+# This is the second request, and this sends back a response saying that
+# the request contained stale data. We want an update. Set swsbounce to
+# bounce on to data1003 on the second request.
+
+HTTP/1.1 401 Authorization re-negotiation please swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 25
+
+This is not the real page
+
+
+# The second request to the 1002 section will bounce this one back instead
+# thanks to the swsbounce keyword up there
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 30
+
+This IS the second real page!
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with Digest authorization with stale=true
+
+
+http://%HOSTIP:%HTTPPORT/1530001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/1530002
+
+
+
+# Verify data after the test has been "shot"
+
+
+^Authorization.*cnonce
+^User-Agent:.*
+
+
+GET /1530001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1530001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530001", response="f4f83139396995bac665f24a1f1055c7"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /1530002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"
+User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
+Accept: */*
+
+GET /1530002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/1530002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm="MD5"
+User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
+Accept: */*
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+HTTP/1.1 401 Authorization re-negotiation please swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 25
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 30
+
+This IS the second real page!
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1530 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1530
new file mode 100644
index 000000000..8372d29ef
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1530
@@ -0,0 +1,30 @@
+
+
+
+CURLOPT_OPENSOCKETFUNCTION
+
+
+
+
+
+none
+
+
+http
+
+
+lib1530
+
+
+CURLOPT_OPENSOCKETFUNCTION returns bad socket
+
+
+
+# it should be detected and an error should be reported
+
+# 7 == CURLE_COULDNT_CONNECT
+
+7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1531 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1531
new file mode 100644
index 000000000..d58deb6e0
Binary files /dev/null and b/external/3rd/library/curl/curl-7.45.0/tests/data/test1531 differ
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test154 b/external/3rd/library/curl/curl-7.45.0/tests/data/test154
new file mode 100644
index 000000000..3d693f4b3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test154
@@ -0,0 +1,109 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP Digest auth
+--anyauth
+
+
+
+# Server-side
+
+
+auth_required
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+Connection: close
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP PUT with --anyauth authorization (picking Digest)
+
+
+http://%HOSTIP:%HTTPPORT/154 -T log/put154 -u testuser:testpass --anyauth
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /154 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+PUT /154 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/154", response="b71551e12d1c456e47d8388ecb2edeca"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test155 b/external/3rd/library/curl/curl-7.45.0/tests/data/test155
new file mode 100644
index 000000000..46f890fca
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test155
@@ -0,0 +1,140 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP NTLM auth
+
+
+
+# Server-side
+
+
+auth_required
+
+
+HTTP/1.1 401 NTLM Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+moo
+
+
+# This is supposed to be returned when the server gets a first
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 Type-1 received, send back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 NTLM Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 401 Type-1 received, send back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP PUT with --anyauth authorization (picking NTLM)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/155 -T log/put155 -u testuser:testpass --anyauth
+
+
+chkhostname curlhost
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /155 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+PUT /155 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+Content-Length: 0
+
+PUT /155 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test156 b/external/3rd/library/curl/curl-7.45.0/tests/data/test156
new file mode 100644
index 000000000..098de218d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test156
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP PUT
+--anyauth
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 No Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+PUT received fine. Thank you very much
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT with --anyauth (when the server requires none)
+
+
+http://%HOSTIP:%HTTPPORT/156 -T log/put156 -u testuser:testpass --anyauth
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /156 HTTP/1.1
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test157 b/external/3rd/library/curl/curl-7.45.0/tests/data/test157
new file mode 100644
index 000000000..77700f6ad
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test157
@@ -0,0 +1,47 @@
+
+
+
+HTTP
+HTTP GET
+--anyauth
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 No Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+GET received and served just fine. Thank you very much
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with --anyauth (when the server requires none)
+
+
+http://%HOSTIP:%HTTPPORT/157 -u testuser:testpass --anyauth
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /157 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test158 b/external/3rd/library/curl/curl-7.45.0/tests/data/test158
new file mode 100644
index 000000000..9c4b22f70
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test158
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 100 Continue swsclose
+Silly-header: yeeeees
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP multipart formpost with only a 100 reply
+
+
+http://%HOSTIP:%HTTPPORT/158 -F name=daniel
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+^Content-Type: multipart/form-data.*
+^-----------------------.*
+
+
+POST /158 HTTP/1.1
+User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 145
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------4f12fcdaa3bc
+
+------------------------------4f12fcdaa3bc
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------4f12fcdaa3bc--
+
+
+52
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test159 b/external/3rd/library/curl/curl-7.45.0/tests/data/test159
new file mode 100644
index 000000000..5a062176e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test159
@@ -0,0 +1,83 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Connection: close
+
+This is not the real page either!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Connection: close
+
+This is not the real page either!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM authorization when talking HTTP/1.0 (known to fail)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/159 -u testuser:testpass --ntlm -0
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /159 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test16 b/external/3rd/library/curl/curl-7.45.0/tests/data/test16
new file mode 100644
index 000000000..5cbde59ad
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test16
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
+the content goes here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy authorization
+
+
+ -U fake@user:§§§looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/16
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://we.want.that.site.com/16 HTTP/1.1
+Host: we.want.that.site.com
+Proxy-Authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZw==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test160 b/external/3rd/library/curl/curl-7.45.0/tests/data/test160
new file mode 100644
index 000000000..df80aef97
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test160
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
+surprise
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+surprise2
+
+
+
+wait 1
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with delayed close, conn reuse, connection reset and retry
+
+
+http://%HOSTIP:%HTTPPORT/want/160 http://%HOSTIP:%HTTPPORT/wantmore/1600001
+
+
+
+# Verify data after the test has been "shot"
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 9
+
+surprise
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+surprise2
+
+
+
+^User-Agent:.*
+
+
+GET /want/160 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /wantmore/1600001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1600 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1600
new file mode 100644
index 000000000..88040747a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1600
@@ -0,0 +1,27 @@
+
+
+
+unittest
+NTLM
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+NTLM
+
+
+NTLM unit tests
+
+
+unit1600
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1601 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1601
new file mode 100644
index 000000000..125493bb0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1601
@@ -0,0 +1,26 @@
+
+
+
+unittest
+MD5
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+MD5 unit tests
+
+
+unit1601
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1602 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1602
new file mode 100644
index 000000000..4717058ce
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1602
@@ -0,0 +1,26 @@
+
+
+
+unittest
+hash
+
+
+
+#
+# Client-side
+
+
+none
+
+
+unittest
+
+
+Internal hash create/add/destroy testing, exercising clean functions
+
+
+unit1602
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test161 b/external/3rd/library/curl/curl-7.45.0/tests/data/test161
new file mode 100644
index 000000000..045835998
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test161
@@ -0,0 +1,51 @@
+
+
+
+FTP
+CURLE_PARTIAL_FILE
+RETR
+PASV
+
+
+
+
+1oooooooooooooooooooooooooooooooooooooooooo2
+
+
+10928
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR PASV
+
+
+ftp://%HOSTIP:%FTPPORT/161
+
+
+
+
+# Verify data after the test has been "shot"
+
+# This gets QUIT sent because CURLE_PARTIAL_FILE does NOT mark the control
+# connection as bad
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 161
+RETR 161
+QUIT
+
+
+18
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test162 b/external/3rd/library/curl/curl-7.45.0/tests/data/test162
new file mode 100644
index 000000000..ee2f40aa7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test162
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy NTLM auth
+FAILURE
+
+
+
+# Server-side
+
+
+HTTP/1.0 407 BAD BOY
+Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
+Server: swsclose
+Content-Type: text/html
+
+Even though it's the response code that triggers authentication, we're
+using NTLM and the server isn't, so we should fail. We know the server
+isn't because there's no Proxy-Authorization: NTLM header
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+HTTP GET asking for --proxy-ntlm when some other authentication is required
+
+
+http://%HOSTIP:%HTTPPORT/162 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm --fail
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://%HOSTIP:%HTTPPORT/162 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+22
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test163 b/external/3rd/library/curl/curl-7.45.0/tests/data/test163
new file mode 100644
index 000000000..22341c045
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test163
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP multipart formpost with contents from a file
+
+
+http://%HOSTIP:%HTTPPORT/we/want/163 -F "name=
+# We create this file before the command is invoked!
+
+contents
+from
+a
+file
+
+newlinens?
+yes please
+
+[tab][CR] too
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/163 HTTP/1.1
+User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.0.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 304
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------c2d1767eb6ac
+
+------------------------------c2d1767eb6ac
+Content-Disposition: form-data; name="name"
+
+contents
+from
+a
+file
+
+newlinens?
+yes please
+
+[tab][CR] too
+
+------------------------------c2d1767eb6ac
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------c2d1767eb6ac--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test164 b/external/3rd/library/curl/curl-7.45.0/tests/data/test164
new file mode 100644
index 000000000..9240611dd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test164
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+# Server-side
+# This particular response is an exact excerpt from an actual Apache
+# server when asked for a 0-10,12-15 range (except gt/lt changed to {}
+# to avoid XML escaping problems).
+
+
+HTTP/1.1 206 Partial Content swsclose
+Date: Sat, 24 Apr 2004 09:24:49 GMT
+Server: Apache/1.3.29 (Unix) mod_throttle/3.1.2 PHP/4.3.4 mod_fastcgi/2.4.0
+Last-Modified: Tue, 23 Mar 2004 08:23:14 GMT
+ETag: "53814a-ec5-405ff3f2"
+Accept-Ranges: bytes
+Content-Length: 187
+Content-Type: multipart/byteranges; boundary=408a326132c
+
+--408a326132c
+Content-type: text/html
+Content-range: bytes 0-10/3781
+
+{html}
+{hea
+
+--408a326132c
+Content-type: text/html
+Content-range: bytes 12-15/3781
+
+}
+{t
+
+--408a326132c--
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP range with multiple ranges
+
+
+http://%HOSTIP:%HTTPPORT/want/164 -r 0-10,12-15
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/164 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=0-10,12-15
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test165 b/external/3rd/library/curl/curl-7.45.0/tests/data/test165
new file mode 100644
index 000000000..ddfe1e9dc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test165
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+IDN
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+idn
+
+
+CHARSET=ISO8859-1
+
+
+HTTP over proxy with IDN host name
+
+
+http://www.åäö.se/page/165 -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://www.xn--4cab6c.se/page/165 HTTP/1.1
+Host: www.xn--4cab6c.se
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test166 b/external/3rd/library/curl/curl-7.45.0/tests/data/test166
new file mode 100644
index 000000000..2036773f8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test166
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP formpost a file with spaces in name
+
+
+http://%HOSTIP:%HTTPPORT/we/want/166 -F "name=@log/fie ld 166"
+
+# We create this file before the command is invoked!
+
+data inside the file
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/166 HTTP/1.1
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 223
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------b0b3d6d23991
+
+------------------------------b0b3d6d23991
+Content-Disposition: form-data; name="name"; filename="fie ld 166"
+Content-Type: application/octet-stream
+
+data inside the file
+
+------------------------------b0b3d6d23991--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test167 b/external/3rd/library/curl/curl-7.45.0/tests/data/test167
new file mode 100644
index 000000000..0b14996a3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test167
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+
+
+
+HTTP/1.1 200 OK swsclose
+Server: no
+Content-Length: 15
+
+Nice auth sir!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+HTTP/1.1 200 OK swsclose
+Server: no
+Content-Length: 15
+
+Nice auth sir!
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with proxy-requiring-Basic to site-requiring-Digest
+
+
+http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Proxy-Authorization: Basic Zm9vOmJhcg==
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Proxy-Authorization: Basic Zm9vOmJhcg==
+Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/167", response="13c7c02a252cbe1c46d8669898a3be26"
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test168 b/external/3rd/library/curl/curl-7.45.0/tests/data/test168
new file mode 100644
index 000000000..20e0b6d9c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test168
@@ -0,0 +1,100 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Digest auth
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+And you should ignore this data.
+
+
+# then this is returned since we get no server-auth
+
+HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
+WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
+
+you should ignore this data too
+
+
+
+HTTP/1.1 200 OK swsclose
+Server: no
+Content-Length: 15
+
+Nice auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
+WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
+
+HTTP/1.1 200 OK swsclose
+Server: no
+Content-Length: 15
+
+Nice auth sir!
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with proxy-requiring-Digest to site-requiring-Digest
+
+
+http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
+Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/168", response="ca87f2d768a231e2d637a55698d5c416"
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test169 b/external/3rd/library/curl/curl-7.45.0/tests/data/test169
new file mode 100644
index 000000000..73ca9bd20
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test169
@@ -0,0 +1,129 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy NTLM auth
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: NTLM
+
+And you should ignore this data.
+
+
+# then this is returned since we get no server-auth
+
+HTTP/1.1 200 Authorizated fine
+Content-Length: 27
+
+Welcome to the end station
+
+
+
+HTTP/1.1 407 NTLM type-1 received sending back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 You now need to authenticate with the host
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
+We have not authenticated with the server yet
+
+
+
+HTTP/1.1 407 NTLM type-1 received sending back type-2
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 401 You now need to authenticate with the host
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 Authorizated fine
+Content-Length: 27
+
+Welcome to the end station
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP with proxy-requiring-NTLM to site-requiring-Digest
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
+Host: data.from.server.requiring.digest.hohoho.com
+Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/169", response="95d48591985a03c4b49cb962aa7bd3e6"
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test17 b/external/3rd/library/curl/curl-7.45.0/tests/data/test17
new file mode 100644
index 000000000..de03c1de0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test17
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP custom request
+config file
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 27
+
+This is the proof it works
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with config file on stdin
+
+
+#
+# Use a silly request without '--':
+request MOOO
+#
+# Set the user-agent using a short-option:
+-A "agent007 license to drill\t"
+#
+# long option *with* '--':
+--max-time 180
+
+
+-K - %HOSTIP:%HTTPPORT/that.site.com/17
+
+
+
+# Verify data after the test has been "shot"
+
+
+MOOO /that.site.com/17 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: agent007 license to drill
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test170 b/external/3rd/library/curl/curl-7.45.0/tests/data/test170
new file mode 100644
index 000000000..8ce7774f9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test170
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP POST
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+
+
+HTTP POST with --proxy-ntlm and no SSL with no response
+
+
+http://a.galaxy.far.far.away/170 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -F "dummy=value"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST http://a.galaxy.far.far.away/170 HTTP/1.1
+Host: a.galaxy.far.far.away
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 libidn/0.4.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+
+
+# 52 is CURLE_GOT_NOTHING
+
+52
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test171 b/external/3rd/library/curl/curl-7.45.0/tests/data/test171
new file mode 100644
index 000000000..147be0a8e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test171
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: XToken=xt;Domain=.z.x.com;Path=/
+Cache-control: private
+Content-Length: 62
+
+This server reply is for testing a simple cookie test case...
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP, get cookie with dot prefixed full domain
+
+
+-c log/jar171 -x %HOSTIP:%HTTPPORT http://z.x.com/171
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://z.x.com/171 HTTP/1.1
+Host: z.x.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+.z.x.com TRUE / FALSE 0 XToken xt
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test172 b/external/3rd/library/curl/curl-7.45.0/tests/data/test172
new file mode 100644
index 000000000..3d5341896
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test172
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Content-Length: 4
+Connection: close
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with cookies file and custom added cookie
+
+
+http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool"
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+.%HOSTIP TRUE /silly/ FALSE 0 ismatch this
+.%HOSTIP TRUE / FALSE 0 partmatch present
+%HOSTIP FALSE /we/want/ FALSE 2139150993 nodomain value
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/172 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: nodomain=value; partmatch=present; tool=curl; name=fool
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test173 b/external/3rd/library/curl/curl-7.45.0/tests/data/test173
new file mode 100644
index 000000000..bf6af0007
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test173
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-formpost a file from stdin with "faked" filename
+
+
+http://%HOSTIP:%HTTPPORT/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl"
+
+
+
+line1
+line2
+line3
+line4
+line5
+line6
+line7
+line8
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/173 HTTP/1.1
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 360
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------5dbea401cd8c
+
+------------------------------5dbea401cd8c
+Content-Disposition: form-data; name="field1"
+
+contents1
+------------------------------5dbea401cd8c
+Content-Disposition: form-data; name="fileupload"; filename="/dev/null"
+Content-Type: text/x-null;format=x-curl
+
+line1
+line2
+line3
+line4
+line5
+line6
+line7
+line8
+
+------------------------------5dbea401cd8c--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test174 b/external/3rd/library/curl/curl-7.45.0/tests/data/test174
new file mode 100644
index 000000000..9767f2f52
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test174
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 beng swsclose
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+
+# Client-side
+
+#
+
+http
+
+
+HTTP POST --anyauth to server not requiring any auth at all
+
+
+http://%HOSTIP:%HTTPPORT/174 -u testuser:testpass --anyauth -d "junkelijunk"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /174 HTTP/1.1
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 11
+Content-Type: application/x-www-form-urlencoded
+
+junkelijunk
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test175 b/external/3rd/library/curl/curl-7.45.0/tests/data/test175
new file mode 100644
index 000000000..9e005f1f5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test175
@@ -0,0 +1,86 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 beng swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
+This is not the real page
+
+
+
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
+content for you
+
+
+
+HTTP/1.1 200 beng swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
+content for you
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+crypto
+
+
+HTTP POST --digest to server not requiring any auth at all
+
+
+http://%HOSTIP:%HTTPPORT/175 -u auser:apasswd --digest -d "junkelijunk"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /175 HTTP/1.1
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST /175 HTTP/1.1
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 11
+Content-Type: application/x-www-form-urlencoded
+
+junkelijunk
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test176 b/external/3rd/library/curl/curl-7.45.0/tests/data/test176
new file mode 100644
index 000000000..73c53ca87
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test176
@@ -0,0 +1,88 @@
+
+
+
+HTTP
+HTTP POST
+HTTP NTLM auth
+
+
+
+# Server-side
+
+# the first request has NTLM type-1 included, and then the 1001 is returned
+
+HTTP/1.1 200 beng swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+# the second request should be auth-less and then this is returned.
+
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
+content for you
+
+
+
+HTTP/1.1 200 beng swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 moo swsclose
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 16
+
+content for you
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+HTTP POST --ntlm to server not requiring any auth at all
+
+
+http://%HOSTIP:%HTTPPORT/176 -u auser:apasswd --ntlm -d "junkelijunk"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /176 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST /176 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Accept: */*
+Content-Length: 11
+Content-Type: application/x-www-form-urlencoded
+
+junkelijunk
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test177 b/external/3rd/library/curl/curl-7.45.0/tests/data/test177
new file mode 100644
index 000000000..495dea9b4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test177
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Digest auth
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 302 *MOVED* swsclose swsbounce
+Server: Microsoft-IIS/6.0
+Location: /mooooo/177
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+crypto
+
+
+HTTP POST --digest to server doing a 302-location response
+
+
+http://%HOSTIP:%HTTPPORT/177 -u auser:apasswd --digest -d "junkelijunk"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /177 HTTP/1.1
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test178 b/external/3rd/library/curl/curl-7.45.0/tests/data/test178
new file mode 100644
index 000000000..7481467df
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test178
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: -6
+Content-Type: text/html
+Funny-head: yesyes
+
+moooooooooooo
+
+
+
+#
+# Client-side
+
+
+http
+
+
+simple HTTP GET with negative Content-Length
+
+
+http://%HOSTIP:%HTTPPORT/178
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /178 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test179 b/external/3rd/library/curl/curl-7.45.0/tests/data/test179
new file mode 100644
index 000000000..f8f7811a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test179
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Connection: close
+Content-Length: 21
+
+This server says moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP using proxy and cookies with path checks
+
+
+http://supertrooper.fake/c/179 -b log/injar179 -x %HOSTIP:%HTTPPORT
+
+
+supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed
+supertrooper.fake FALSE /b FALSE 0 moo1 indeed
+supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://supertrooper.fake/c/179 HTTP/1.1
+Host: supertrooper.fake
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: moo2=indeed
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test18 b/external/3rd/library/curl/curl-7.45.0/tests/data/test18
new file mode 100644
index 000000000..e1d76398c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test18
@@ -0,0 +1,91 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+{} list
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
+moo
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
+foo
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
+hoo
+
+
+
+# Client-side
+
+
+http
+
+
+multiple requests using {} in URL
+
+
+"%HOSTIP:%HTTPPORT/{18,180002,180003}"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /18 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /180002 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /180003 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+--_curl_--%HOSTIP:%HTTPPORT/18
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
+moo
+--_curl_--%HOSTIP:%HTTPPORT/180002
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
+foo
+--_curl_--%HOSTIP:%HTTPPORT/180003
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 4
+
+hoo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test180 b/external/3rd/library/curl/curl-7.45.0/tests/data/test180
new file mode 100644
index 000000000..0b2ca0373
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test180
@@ -0,0 +1,67 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP/1.0
+
+
+
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP 1.0 PUT
+
+
+http://%HOSTIP:%HTTPPORT/we/want/180 -T log/test180.txt --http1.0
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /we/want/180 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 78
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1800 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1800
new file mode 100644
index 000000000..b7d534edd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1800
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+http2
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 Ignored!
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+
+http2
+
+
+HTTP/2 upgrade refused
+
+
+http://%HOSTIP:%HTTPPORT/1800 --http2
+
+
+
+
+
+
+^User-Agent:.*
+
+
+GET /1800 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Connection: Upgrade, HTTP2-Settings
+Upgrade: %H2CVER
+HTTP2-Settings: AAMAAABkAAQAAP__
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1801 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1801
new file mode 100644
index 000000000..0aedfed51
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1801
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+http2
+
+
+
+# Server-side
+
+
+HTTP/1.1 101 Switching!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Content-Type: text/html
+
+lies!
+
+
+
+HTTP/1.1 101 Switching!
+
+
+# listen to the upgrade request!
+
+upgrade
+
+
+
+# Client-side
+
+
+http
+
+
+http2
+
+
+HTTP/2 upgrade with lying server
+
+
+http://%HOSTIP:%HTTPPORT/1801 --http2
+
+
+
+
+
+
+^User-Agent:.*
+
+
+GET /1801 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Connection: Upgrade, HTTP2-Settings
+Upgrade: %H2CVER
+HTTP2-Settings: AAMAAABkAAQAAP__
+
+
+# CURLE_HTTP2: Send failure: Broken pipe
+
+16
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test181 b/external/3rd/library/curl/curl-7.45.0/tests/data/test181
new file mode 100644
index 000000000..b6b55cb99
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test181
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP POST
+HTTP/1.0
+
+
+
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP 1.0 POST
+
+
+http://%HOSTIP:%HTTPPORT/we/want/181 --data-binary @log/test181.txt --http1.0
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ POST
+ feature
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /we/want/181 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 79
+Content-Type: application/x-www-form-urlencoded
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ POST
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test182 b/external/3rd/library/curl/curl-7.45.0/tests/data/test182
new file mode 100644
index 000000000..f640a0e1a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test182
@@ -0,0 +1,43 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+
+
+0
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download an empty file
+
+
+ftp://%HOSTIP:%FTPPORT/182
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 182
+RETR 182
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test183 b/external/3rd/library/curl/curl-7.45.0/tests/data/test183
new file mode 100644
index 000000000..f34dc0c98
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test183
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+persistent connection
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
+moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET two URLs over a single proxy with persistent connection
+
+
+http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://deathstar.another.galaxy/183 HTTP/1.1
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
+Host: deathstar.another.galaxy
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://a.galaxy.far.far.away/183 HTTP/1.1
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
+Host: a.galaxy.far.far.away
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test184 b/external/3rd/library/curl/curl-7.45.0/tests/data/test184
new file mode 100644
index 000000000..8b09dde28
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test184
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Location: http://yet.another.host/184
+
+moo
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
+moo
+
+
+HTTP/1.1 301 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Location: http://yet.another.host/184
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
+moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP replace Host: when following Location: to new host
+
+
+http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://deathstar.another.galaxy/184 HTTP/1.1
+Host: another.visitor.stay.a.while.stay.foreeeeeever
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://yet.another.host/184 HTTP/1.1
+Host: yet.another.host
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test185 b/external/3rd/library/curl/curl-7.45.0/tests/data/test185
new file mode 100644
index 000000000..298dd49ce
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test185
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Location: go/west/185
+
+moo
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
+moo
+
+
+HTTP/1.1 301 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+Location: go/west/185
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 4
+
+moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP replace Host: when following Location: on the same host
+
+
+http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://deathstar.another.galaxy/185 HTTP/1.1
+Host: another.visitor.stay.a.while.stay.foreeeeeever
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://deathstar.another.galaxy/go/west/185 HTTP/1.1
+Host: another.visitor.stay.a.while.stay.foreeeeeever
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test186 b/external/3rd/library/curl/curl-7.45.0/tests/data/test186
new file mode 100644
index 000000000..b07736cbc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test186
@@ -0,0 +1,63 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting with types on text fields
+
+
+http://%HOSTIP:%HTTPPORT/we/want/186 -F "name=daniel;type=moo/foo" -F "html= hello;type=text/html;charset=verymoo"
+
+# We create this file before the command is invoked!
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/186 HTTP/1.1
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.1 c-ares/1.2.0 libidn/0.5.2
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 321
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------212d9006ceb5
+
+------------------------------212d9006ceb5
+Content-Disposition: form-data; name="name"
+Content-Type: moo/foo
+
+daniel
+------------------------------212d9006ceb5
+Content-Disposition: form-data; name="html"
+Content-Type: text/html;charset=verymoo
+
+ hello
+------------------------------212d9006ceb5--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test187 b/external/3rd/library/curl/curl-7.45.0/tests/data/test187
new file mode 100644
index 000000000..b82a6c60e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test187
@@ -0,0 +1,77 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: /root/1870002.txt?coolsite=yes
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: /root/1870002.txt?coolsite=yes
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP redirect with bad host name separation and slash in parameters
+
+
+http://%HOSTIP:%HTTPPORT?oh=what-weird=test/187 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /?oh=what-weird=test/187 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /root/1870002.txt?coolsite=yes HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test188 b/external/3rd/library/curl/curl-7.45.0/tests/data/test188
new file mode 100644
index 000000000..a23a2a11e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test188
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+Content-Range
+Resume
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 OK swsbounce
+Location: /188
+Content-Length: 2
+
+OK
+
+
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 15
+Content-Range: bytes 50-
+
+Actual content
+
+
+
+HTTP/1.1 301 OK swsbounce
+Location: /188
+Content-Length: 2
+
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 15
+Content-Range: bytes 50-
+
+Actual content
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with resume and redirect
+
+
+http://%HOSTIP:%HTTPPORT/188 -C 50 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /188 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=50-
+User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
+Accept: */*
+
+GET /188 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=50-
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.2 libidn/0.5.2
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test189 b/external/3rd/library/curl/curl-7.45.0/tests/data/test189
new file mode 100644
index 000000000..f82b4ad90
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test189
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 OK swsbounce
+Location: /189
+Content-Length: 2
+
+OK
+
+
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 15
+
+Actual content
+
+
+
+HTTP/1.1 301 OK swsbounce
+Location: /189
+Content-Length: 2
+
+HTTP/1.1 200 OK
+Connection: close
+Content-Length: 15
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET with resume and redirect (to a page that doesn't resume)
+
+
+http://%HOSTIP:%HTTPPORT/189 -C 50 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /189 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=50-
+User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
+Accept: */*
+
+GET /189 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=50-
+User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.2 libidn/0.5.2
+Accept: */*
+
+
+# 33 is CURLE_RANGE_ERROR
+
+33
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test19 b/external/3rd/library/curl/curl-7.45.0/tests/data/test19
new file mode 100644
index 000000000..dd60b8cf3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test19
@@ -0,0 +1,37 @@
+
+
+
+HTTP
+connect to non-listen
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+http
+
+
+attempt connect to non-listening socket
+
+
+%HOSTIP:60000
+
+
+
+# Verify data after the test has been "shot"
+
+
+7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test190 b/external/3rd/library/curl/curl-7.45.0/tests/data/test190
new file mode 100644
index 000000000..6f5d66adf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test190
@@ -0,0 +1,44 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+DELAY CWD 60
+
+
+
+# Client-side
+
+
+ftp
+
+
+ftp
+
+
+FTP download with strict timeout and slow CWD
+
+
+ftp://%HOSTIP:%FTPPORT/path/to/file/190 -m %FTPTIME2
+
+
+
+# Verify data after the test has been "shot"
+
+# 28 is CURLE_OPERATION_TIMEDOUT
+
+28
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1900 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1900
new file mode 100644
index 000000000..04c59a826
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1900
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+pipelining
+multi
+
+
+
+# Server-side
+
+
+Adding handle 0
+Handle 0 Completed with status 0
+Adding handle 1
+Adding handle 2
+Adding handle 3
+Adding handle 4
+Adding handle 5
+Adding handle 6
+Handle 4 Completed with status 0
+Handle 5 Completed with status 0
+Handle 6 Completed with status 0
+Handle 1 Completed with status 0
+Handle 2 Completed with status 0
+Handle 3 Completed with status 0
+
+
+
+# Client-side
+
+
+http-pipe
+
+
+http
+
+
+lib1900
+
+
+HTTP GET using pipelining
+
+
+http://%HOSTIP:%HTTPPIPEPORT/
+
+
+0 1k.txt
+1000 100k.txt
+0 1k.txt
+0 1k.txt
+0 1k.txt
+0 1k.txt
+0 1k.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1901 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1901
new file mode 100644
index 000000000..17c04d14e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1901
@@ -0,0 +1,63 @@
+
+
+
+HTTP
+pipelining
+multi
+flaky
+
+
+
+# Server-side
+
+
+Adding handle 0
+Handle 0 Completed with status 0
+Adding handle 1
+Adding handle 2
+Adding handle 3
+Adding handle 4
+Adding handle 5
+Adding handle 6
+Handle 2 Completed with status 0
+Handle 3 Completed with status 0
+Handle 4 Completed with status 0
+Handle 1 Completed with status 0
+Handle 5 Completed with status 0
+Handle 6 Completed with status 0
+
+
+
+# Client-side
+
+
+http-pipe
+
+
+http
+
+
+lib1900
+
+
+HTTP GET using pipelining, blacklisted site
+
+
+http://%HOSTIP:%HTTPPIPEPORT/
+
+
+blacklist_site 127.0.0.1:%HTTPPIPEPORT
+0 1k.txt
+1000 100k.txt
+0 1k.txt
+0 1k.txt
+0 1k.txt
+0 1k.txt
+0 1k.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1902 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1902
new file mode 100644
index 000000000..533ed55a8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1902
@@ -0,0 +1,62 @@
+
+
+
+HTTP
+pipelining
+multi
+flaky
+
+
+
+# Server-side
+
+
+Adding handle 0
+Handle 0 Completed with status 0
+Adding handle 1
+Adding handle 2
+Adding handle 3
+Adding handle 4
+Adding handle 5
+Adding handle 6
+Handle 1 Completed with status 0
+Handle 4 Completed with status 0
+Handle 5 Completed with status 0
+Handle 6 Completed with status 0
+Handle 2 Completed with status 0
+Handle 3 Completed with status 0
+
+
+
+# Client-side
+
+
+http-pipe
+
+
+http
+
+
+lib1900
+
+
+HTTP GET using pipelining, broken pipe
+
+
+http://%HOSTIP:%HTTPPIPEPORT/
+
+
+0 1k.txt
+1000 connection_close.txt
+1 1k.txt
+2 1k.txt
+3 1k.txt
+4 1k.txt
+5 1k.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test1903 b/external/3rd/library/curl/curl-7.45.0/tests/data/test1903
new file mode 100644
index 000000000..c72561838
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test1903
@@ -0,0 +1,62 @@
+
+
+
+HTTP
+pipelining
+multi
+flaky
+
+
+
+# Server-side
+
+
+Adding handle 0
+Handle 0 Completed with status 0
+Adding handle 1
+Adding handle 2
+Adding handle 3
+Adding handle 4
+Adding handle 5
+Adding handle 6
+Handle 2 Completed with status 0
+Handle 3 Completed with status 0
+Handle 4 Completed with status 0
+Handle 5 Completed with status 0
+Handle 6 Completed with status 0
+Handle 1 Completed with status 0
+
+
+
+# Client-side
+
+
+http-pipe
+
+
+http
+
+
+lib1900
+
+
+HTTP GET using pipelining, penalized on content-length
+
+
+http://%HOSTIP:%HTTPPIPEPORT/
+
+
+0 1k.txt
+1000 100k.txt
+550 alphabet.txt
+10 alphabet.txt
+10 alphabet.txt
+10 alphabet.txt
+10 alphabet.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test191 b/external/3rd/library/curl/curl-7.45.0/tests/data/test191
new file mode 100644
index 000000000..86fa29f93
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test191
@@ -0,0 +1,41 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+data in file
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP URL with ?-letters in username and password
+
+
+"ftp://use%3fr:pass%3fword@%HOSTIP:%FTPPORT/191"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER use?r
+PASS pass?word
+PWD
+EPSV
+TYPE I
+SIZE 191
+RETR 191
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test192 b/external/3rd/library/curl/curl-7.45.0/tests/data/test192
new file mode 100644
index 000000000..42cebc031
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test192
@@ -0,0 +1,59 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+
+monster
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -w num_connects with one simple connect
+
+
+http://%HOSTIP:%HTTPPORT/192 -w "%{num_connects}\n"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /192 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+
+monster
+1
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test193 b/external/3rd/library/curl/curl-7.45.0/tests/data/test193
new file mode 100644
index 000000000..c5425bb3f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test193
@@ -0,0 +1,82 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+--write-out
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Location: ./193
+
+monster
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+
+monster
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET -w num_connects with redirected fetch (2 connects)
+
+
+http://%HOSTIP:%HTTPPORT/193 -w "%{num_connects}\n" -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /193 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /193 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Location: ./193
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+
+monster
+2
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test194 b/external/3rd/library/curl/curl-7.45.0/tests/data/test194
new file mode 100644
index 000000000..730446f79
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test194
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+Content-Range
+Resume
+
+
+
+# Server-side
+
+
+HTTP/1.1 416 Requested Range Not Satisfiable swsclose
+Date: Fri, 24 Oct 2003 21:33:12 GMT
+Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
+Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
+ETag: "ab57a-507-3f9968f3"
+Accept-Ranges: bytes
+Content-Length: 4
+Content-Range: bytes */87
+Content-Type: image/gif
+Connection: close
+
+bad
+
+
+
+HTTP/1.1 416 Requested Range Not Satisfiable swsclose
+Date: Fri, 24 Oct 2003 21:33:12 GMT
+Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
+Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
+ETag: "ab57a-507-3f9968f3"
+Accept-Ranges: bytes
+Content-Length: 4
+Content-Range: bytes */87
+Content-Type: image/gif
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP resume transfer with the whole file already downloaded and --fail
+
+
+http://%HOSTIP:%HTTPPORT/want/194 -C 87 --fail
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/194 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=87-
+Accept: */*
+
+
+# CURLE_HTTP_RETURNED_ERROR
+
+22
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test195 b/external/3rd/library/curl/curl-7.45.0/tests/data/test195
new file mode 100644
index 000000000..3059e8d95
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test195
@@ -0,0 +1,38 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+REPLY PASS 530 temporarily not available
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP response 530 after PASS, temporarily not allowed access
+
+
+ftp://%HOSTIP:%FTPPORT/195
+
+
+
+# Verify data after the test has been "shot"
+
+
+67
+
+
+USER anonymous
+PASS ftp@example.com
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test196 b/external/3rd/library/curl/curl-7.45.0/tests/data/test196
new file mode 100644
index 000000000..ee9d3398a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test196
@@ -0,0 +1,41 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+REPLY PASS 430 temporarily not available
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP transient error, retry request once
+
+
+ftp://%HOSTIP:%FTPPORT/196 --retry 1
+
+
+
+# Verify data after the test has been "shot"
+
+# 67 is CURLE_LOGIN_DENIED
+
+67
+
+
+USER anonymous
+PASS ftp@example.com
+USER anonymous
+PASS ftp@example.com
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test197 b/external/3rd/library/curl/curl-7.45.0/tests/data/test197
new file mode 100644
index 000000000..c299a22ae
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test197
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.1 503 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 21
+
+server not available
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 3
+Connection: close
+
+ok
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET --retry on 503 error with output to stdout
+
+
+http://%HOSTIP:%HTTPPORT/197 --retry 1000
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /197 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /197 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+HTTP/1.1 503 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 21
+
+server not available
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 3
+Connection: close
+
+ok
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test198 b/external/3rd/library/curl/curl-7.45.0/tests/data/test198
new file mode 100644
index 000000000..dca26b9ab
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test198
@@ -0,0 +1,70 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.1 503 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 21
+
+server not available
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 3
+Connection: close
+
+ok
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 3
+Connection: close
+
+ok
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET --retry on 503 error with output to file
+
+
+http://%HOSTIP:%HTTPPORT/198 --retry 1000
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /198 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /198 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test199 b/external/3rd/library/curl/curl-7.45.0/tests/data/test199
new file mode 100644
index 000000000..881ee03a0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test199
@@ -0,0 +1,59 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with -d, -G and {}
+
+
+-d "foo=moo&moo=poo" "http://%HOSTIP:%HTTPPORT/{199,199}" -G
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /199?foo=moo&moo=poo HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /199?foo=moo&moo=poo HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2
new file mode 100644
index 000000000..9f9c50618
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with user and password
+
+
+ -u fake:user http://%HOSTIP:%HTTPPORT/2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic ZmFrZTp1c2Vy
+Accept: */*
+
+
+
+[insert full protocol verifiction dump here]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test20 b/external/3rd/library/curl/curl-7.45.0/tests/data/test20
new file mode 100644
index 000000000..57fa48dea
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test20
@@ -0,0 +1,38 @@
+
+
+
+HTTP
+FAILURE
+non-existing host
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+none
+
+
+http
+
+
+attempt connect to non-existing host name
+
+
+non-existing-host.haxx.se.
+
+
+
+# Verify data after the test has been "shot"
+
+
+6
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test200 b/external/3rd/library/curl/curl-7.45.0/tests/data/test200
new file mode 100644
index 000000000..8be1de0c7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test200
@@ -0,0 +1,41 @@
+
+
+
+FILE
+
+
+
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Client-side
+
+
+file
+
+
+basic file:// file
+
+
+file://localhost/%PWD/log/test200.txt
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2000 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2000
new file mode 100644
index 000000000..d3edb16e5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2000
@@ -0,0 +1,73 @@
+
+
+
+FTP
+PASV
+FILE
+multiprotocol
+
+
+
+#
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+#
+# Client-side
+
+
+ftp
+file
+
+
+FTP RETR followed by FILE
+
+
+ftp://%HOSTIP:%FTPPORT/2000 file://localhost/%PWD/log/test2000.txt
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 2000
+RETR 2000
+QUIT
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+foo
+ bar
+bar
+ foo
+moo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2001 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2001
new file mode 100644
index 000000000..68c0df784
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2001
@@ -0,0 +1,109 @@
+
+
+
+HTTP
+HTTP GET
+FTP
+PASV
+FILE
+multiprotocol
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+#
+# Client-side
+
+
+http
+ftp
+file
+
+
+HTTP GET followed by FTP RETR followed by FILE
+
+
+http://%HOSTIP:%HTTPPORT/20010001 ftp://%HOSTIP:%FTPPORT/20010002 file://localhost/%PWD/log/test2001.txt
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20010001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 20010002
+RETR 20010002
+QUIT
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+data
+ to
+ see
+that FTP
+works
+ so does it?
+foo
+ bar
+bar
+ foo
+moo
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2002 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2002
new file mode 100644
index 000000000..f39cd60f1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2002
@@ -0,0 +1,125 @@
+
+
+
+HTTP
+HTTP GET
+FTP
+PASV
+FILE
+TFTP
+TFTP RRQ
+multiprotocol
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+a chunk of
+data
+returned
+ to TFTP client
+
+
+
+#
+# Client-side
+
+
+http
+ftp
+file
+tftp
+
+
+HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ
+
+
+http://%HOSTIP:%HTTPPORT/20020001 ftp://%HOSTIP:%FTPPORT/20020002 file://localhost/%PWD/log/test2002.txt tftp://%HOSTIP:%TFTPPORT//20020003
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20020001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 20020002
+RETR 20020002
+opcode: 1
+filename: /20020003
+mode: octet
+QUIT
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+data
+ to
+ see
+that FTP
+works
+ so does it?
+foo
+ bar
+bar
+ foo
+moo
+a chunk of
+data
+returned
+ to TFTP client
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2003 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2003
new file mode 100644
index 000000000..57c0d24e6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2003
@@ -0,0 +1,162 @@
+
+
+
+HTTP
+HTTP GET
+FTP
+PASV
+FILE
+TFTP
+TFTP RRQ
+multiprotocol
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+a chunk of
+data
+returned
+ to TFTP client
+
+
+
+#
+# Client-side
+
+
+http
+ftp
+file
+tftp
+
+
+HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order
+
+
+http://%HOSTIP:%HTTPPORT/20030001 ftp://%HOSTIP:%FTPPORT/20030002 file://localhost/%PWD/log/test2003.txt tftp://%HOSTIP:%TFTPPORT//20030003 tftp://%HOSTIP:%TFTPPORT//20030003 file://localhost/%PWD/log/test2003.txt ftp://%HOSTIP:%FTPPORT/20030002 http://%HOSTIP:%HTTPPORT/20030001
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20030001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 20030002
+RETR 20030002
+opcode: 1
+filename: /20030003
+mode: octet
+opcode: 1
+filename: /20030003
+mode: octet
+EPSV
+SIZE 20030002
+RETR 20030002
+GET /20030001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+QUIT
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+data
+ to
+ see
+that FTP
+works
+ so does it?
+foo
+ bar
+bar
+ foo
+moo
+a chunk of
+data
+returned
+ to TFTP client
+a chunk of
+data
+returned
+ to TFTP client
+foo
+ bar
+bar
+ foo
+moo
+data
+ to
+ see
+that FTP
+works
+ so does it?
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2004 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2004
new file mode 100644
index 000000000..bad6f7b90
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2004
@@ -0,0 +1,72 @@
+
+
+
+TFTP
+TFTP RRQ
+FILE
+SFTP
+SCP
+multiprotocol
+
+
+
+#
+# Server-side
+
+
+Test data file
+for tftp test
+
+
+
+#
+# Client-side
+
+
+tftp
+sftp
+
+
+TFTP RRQ followed by SFTP retrieval followed by FILE followed by SCP retrieval then again in reverse order
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: tftp://%HOSTIP:%TFTPPORT//2004 sftp://%HOSTIP:%SSHPORT%PWD/log/test2004.txt file://localhost/%PWD/log/test2004.txt scp://%HOSTIP:%SSHPORT%PWD/log/test2004.txt file://localhost/%PWD/log/test2004.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test2004.txt tftp://%HOSTIP:%TFTPPORT//2004 --insecure
+
+
+This is test data
+for several protocols
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+opcode: 1
+filename: /2004
+mode: octet
+opcode: 1
+filename: /2004
+mode: octet
+
+
+Test data file
+for tftp test
+This is test data
+for several protocols
+This is test data
+for several protocols
+This is test data
+for several protocols
+This is test data
+for several protocols
+This is test data
+for several protocols
+Test data file
+for tftp test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2005 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2005
new file mode 100644
index 000000000..061f99b66
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2005
@@ -0,0 +1,93 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 37
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2005; charset=funny; option=strange
+Funny-head: yesyes
+
+Data delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, HTTP resource
+
+
+--metalink file://%PWD/log/test2005.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ a430d26389c69b7a245a9ad692cf20b4dc026fb7c2ff8a2c164c49a77130d6d9
+
+
+ http://%HOSTIP:%HTTPPORT/2005
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2005 log/name2005
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2005 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Data delivered from an HTTP resource
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2005.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2005.metalink) OK
+Metalink: fetching (log/download2005) from (http://%HOSTIP:%HTTPPORT/2005)...
+Metalink: fetching (log/download2005) from (http://%HOSTIP:%HTTPPORT/2005) OK
+Metalink: validating (log/download2005)...
+Metalink: validating (log/download2005) [sha-256] OK
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2006 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2006
new file mode 100644
index 000000000..e25556fcc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2006
@@ -0,0 +1,112 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 14:49:01 GMT
+Server: test-server/fake
+Content-Length: 42
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2006; charset=funny; option=strange
+Funny-head: yesyes
+
+Some data delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+# This relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable. This test might use it upon
+# failure only, successful execution won't actually use it.
+
+debug
+file
+Metalink
+
+
+http
+
+
+Metalink local XML file, HTTP resource, using -O -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+--metalink file://%PWD/log/test2006.metalink -O -D log/heads2006
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ we-only-check-the-strongest-hash-provided
+ 319cb6be756734b7ff689628ca3265580cdae6a0e38f42d4ac612ff4fba143b0
+
+
+ http://%HOSTIP:%HTTPPORT/2006
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2006 log/name2006
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2006 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Some data delivered from an HTTP resource
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 14:49:01 GMT
+Server: test-server/fake
+Content-Length: 42
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2006; charset=funny; option=strange
+Funny-head: yesyes
+
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2006.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2006.metalink) OK
+Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006)...
+Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006) OK
+Metalink: validating (log/download2006)...
+Metalink: validating (log/download2006) [sha-256] OK
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2007 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2007
new file mode 100644
index 000000000..cc4bd8c32
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2007
@@ -0,0 +1,113 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+-J
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 14:50:02 GMT
+Server: test-server/fake
+Content-Length: 42
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2007; charset=funny; option=strange
+Funny-head: yesyes
+
+Something delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+# This relies on the debug feature to allow us to set directory to store the
+# -O and -J output in, using the CURL_TESTDIR variable. This test might use
+# it upon failure only, successful execution won't actually use it.
+
+debug
+file
+Metalink
+
+
+http
+
+
+Metalink local XML file, HTTP resource, using -O -J -D file
+
+
+CURL_TESTDIR=%PWD/log
+
+
+--metalink file://%PWD/log/test2007.metalink -J -O -D log/heads2007
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ we-only-check-the-strongest-hash-provided
+ 52899e30f80e3490632d505653204e1fb5b02bda141048704ce9a0ed00b8a3f5
+
+
+ http://%HOSTIP:%HTTPPORT/2007
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2007 log/name2007
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2007 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Something delivered from an HTTP resource
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 14:50:02 GMT
+Server: test-server/fake
+Content-Length: 42
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2007; charset=funny; option=strange
+Funny-head: yesyes
+
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2007.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2007.metalink) OK
+Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007)...
+Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007) OK
+Metalink: validating (log/download2007)...
+Metalink: validating (log/download2007) [sha-256] OK
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2008 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2008
new file mode 100644
index 000000000..584379260
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2008
@@ -0,0 +1,105 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 15:23:48 GMT
+Server: test-server/fake
+Content-Length: 43
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2008; charset=funny; option=strange
+Funny-head: yesyes
+
+Some stuff delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+file
+Metalink
+
+
+http
+
+
+Metalink local XML file, HTTP resource, using -o fname -D file
+
+
+--metalink file://%PWD/log/test2008.metalink -o log/outfile2008 -D log/heads2008
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ we-only-check-the-strongest-hash-provided
+ 711b1b566b536c5baae9b36f2f5c1830a7c8ff126d1afa2febc5b59f8d0aab54
+
+
+ http://%HOSTIP:%HTTPPORT/2008
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2008 log/name2008 log/outfile2008
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2008 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Some stuff delivered from an HTTP resource
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 15:23:48 GMT
+Server: test-server/fake
+Content-Length: 43
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2008; charset=funny; option=strange
+Funny-head: yesyes
+
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2008.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2008.metalink) OK
+Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008)...
+Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008) OK
+Metalink: validating (log/download2008)...
+Metalink: validating (log/download2008) [sha-256] OK
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2009 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2009
new file mode 100644
index 000000000..84482ce89
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2009
@@ -0,0 +1,106 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+-J
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 16:27:17 GMT
+Server: test-server/fake
+Content-Length: 46
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2009; charset=funny; option=strange
+Funny-head: yesyes
+
+Some contents delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+file
+Metalink
+
+
+http
+
+
+Metalink local XML file, HTTP resource, using -o fname -J -D file
+
+
+--metalink file://%PWD/log/test2009.metalink -J -o log/outfile2009 -D log/heads2009
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ we-only-check-the-strongest-hash-provided
+ e4c5b83384ba7d5f8e201d61747a14f29baacd7dfadce0fbd56661db4bba72b2
+
+
+ http://%HOSTIP:%HTTPPORT/2009
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2009 log/name2009 log/outfile2009
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2009 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Some contents delivered from an HTTP resource
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 16:27:17 GMT
+Server: test-server/fake
+Content-Length: 46
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2009; charset=funny; option=strange
+Funny-head: yesyes
+
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2009.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2009.metalink) OK
+Metalink: fetching (log/download2009) from (http://%HOSTIP:%HTTPPORT/2009)...
+Metalink: fetching (log/download2009) from (http://%HOSTIP:%HTTPPORT/2009) OK
+Metalink: validating (log/download2009)...
+Metalink: validating (log/download2009) [sha-256] OK
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test201 b/external/3rd/library/curl/curl-7.45.0/tests/data/test201
new file mode 100644
index 000000000..254e2412e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test201
@@ -0,0 +1,34 @@
+
+
+
+FILE
+FAILURE
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+file
+
+
+missing file:// file
+
+
+file://localhost/%PWD/log/non-existant-file.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+37
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2010 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2010
new file mode 100644
index 000000000..b8b3ddcc2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2010
@@ -0,0 +1,105 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 17:37:27 GMT
+Server: test-server/fake
+Content-Length: 41
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2010; charset=funny; option=strange
+Funny-head: yesyes
+
+Contents delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+file
+Metalink
+
+
+http
+
+
+Metalink local XML file, HTTP resource, using -o fname -i -D file
+
+
+--metalink file://%PWD/log/test2010.metalink -i -o log/outfile2010 -D log/heads2010
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ we-only-check-the-strongest-hash-provided
+ 19dcb4e2a99b9cd02c30b1ed6c55869b7ef8cda9f985648909c48a6dbb54356c
+
+
+ http://%HOSTIP:%HTTPPORT/2010
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2010 log/name2010 log/outfile2010
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2010 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Contents delivered from an HTTP resource
+
+
+HTTP/1.1 200 OK
+Date: Thu, 21 Jun 2012 17:37:27 GMT
+Server: test-server/fake
+Content-Length: 41
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2010; charset=funny; option=strange
+Funny-head: yesyes
+
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2010.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2010.metalink) OK
+Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010)...
+Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010) OK
+Metalink: validating (log/download2010)...
+Metalink: validating (log/download2010) [sha-256] OK
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2011 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2011
new file mode 100644
index 000000000..46785cf94
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2011
@@ -0,0 +1,93 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 37
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2011; charset=funny; option=strange
+Funny-head: yesyes
+
+Data delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, HTTP resource, hash mismatch
+
+
+--metalink file://%PWD/log/test2011.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb
+
+
+ http://%HOSTIP:%HTTPPORT/2011
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2011 log/name2011
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2011 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Data delivered from an HTTP resource
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2011.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2011.metalink) OK
+Metalink: fetching (log/download2011) from (http://%HOSTIP:%HTTPPORT/2011)...
+Metalink: fetching (log/download2011) from (http://%HOSTIP:%HTTPPORT/2011) OK
+Metalink: validating (log/download2011)...
+Metalink: validating (log/download2011) [sha-256] FAILED (digest mismatch)
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2012 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2012
new file mode 100644
index 000000000..59c042d12
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2012
@@ -0,0 +1,92 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 46
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2012; charset=funny; option=strange
+Funny-head: yesyes
+
+Some contents delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, HTTP resource, without hash
+
+
+--metalink file://%PWD/log/test2012.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+
+
+ http://%HOSTIP:%HTTPPORT/2012
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2012 log/name2012
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2012 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Some contents delivered from an HTTP resource
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2012.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2012.metalink) WARNING (digest missing)
+Metalink: fetching (log/download2012) from (http://%HOSTIP:%HTTPPORT/2012)...
+Metalink: fetching (log/download2012) from (http://%HOSTIP:%HTTPPORT/2012) OK
+Metalink: validating (log/download2012)...
+Metalink: validating (log/download2012) FAILED (digest missing)
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2013 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2013
new file mode 100644
index 000000000..0985b32de
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2013
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2013; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix absolute path
+
+
+--metalink file://%PWD/log/test2013.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2013
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2013 log/name2013 /tmp/download2013
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2013.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2013.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2013.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2014 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2014
new file mode 100644
index 000000000..d2dbdc7a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2014
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2014; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix path relative to current
+
+
+--metalink file://%PWD/log/test2014.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2014
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2014 log/name2014 log/download2014
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2014.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2014.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2014.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2015 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2015
new file mode 100644
index 000000000..a35f3117d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2015
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2015; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix path relative to upper
+
+
+--metalink file://%PWD/log/test2015.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2015
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2015 log/name2015 log/download2015
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2015.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2015.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2015.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2016 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2016
new file mode 100644
index 000000000..572aa65c5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2016
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2016; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix path traversal
+
+
+--metalink file://%PWD/log/test2016.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2016
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2016 log/name2016 log/download2016
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2016.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2016.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2016.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2017 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2017
new file mode 100644
index 000000000..15fd9347c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2017
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2017; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix home path traversal
+
+
+--metalink file://%PWD/log/test2017.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2017
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2017.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2018 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2018
new file mode 100644
index 000000000..6d0652dcc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2018
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2018; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix questionable file name I
+
+
+--metalink file://%PWD/log/test2018.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2018
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2018 log/name2018 log/.download2018
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2018.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2018.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2018.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2019 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2019
new file mode 100644
index 000000000..b17b3f23f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2019
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2019; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix questionable file name II
+
+
+--metalink file://%PWD/log/test2019.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2019
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2019 log/name2019
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2019.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2019.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2019.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test202 b/external/3rd/library/curl/curl-7.45.0/tests/data/test202
new file mode 100644
index 000000000..f863ec507
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test202
@@ -0,0 +1,37 @@
+
+
+
+FILE
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+file
+
+
+two file:// URLs to stdout
+
+
+file://localhost/%PWD/log/test202.txt FILE://localhost/%PWD/log/test202.txt
+
+
+contents in a single file
+
+
+
+# Verify data after the test has been "shot"
+
+
+contents in a single file
+contents in a single file
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2020 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2020
new file mode 100644
index 000000000..8bf85a4d7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2020
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2020; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix questionable file name III
+
+
+--metalink file://%PWD/log/test2020.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2020
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2020 log/name2020
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2020.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2020.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2020.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2021 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2021
new file mode 100644
index 000000000..20a92244a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2021
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2021; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix questionable file name IV
+
+
+--metalink file://%PWD/log/test2021.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2021
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2021 log/name2021 log/download2021
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2021.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2021.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2021.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2022 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2022
new file mode 100644
index 000000000..4f4efd176
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2022
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Wed, 20 Jun 2012 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 56
+Connection: close
+Content-Type: text/html
+Content-Disposition: filename=name2022; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt Unix questionable file name V
+
+
+--metalink file://%PWD/log/test2022.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2022
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2022 log/name2022 log/download2022
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2022.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2022.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2022.metalink) FAILED
+
+
+$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2023 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2023
new file mode 100644
index 000000000..382b6cb8a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2023
@@ -0,0 +1,162 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+
+
+# Server-side
+
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+libauthretry
+
+
+
+HTTP authorization retry (Basic)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2023 basic basic
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20230100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20230200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20230300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20230400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20230500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2024 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2024
new file mode 100644
index 000000000..cd06b7c9f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2024
@@ -0,0 +1,176 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP Digest auth
+
+
+# Server-side
+
+
+
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+libauthretry
+
+
+
+HTTP authorization retry (Basic switching to Digest)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2024 basic digest
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20240100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20240200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20240200", response="ed646c565f79e2dd9fa37cb5a621213c"
+Accept: */*
+
+GET /20240300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20240400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20240400", response="9741ced8caacc6124770187b36f007c5"
+Accept: */*
+
+GET /20240500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="3", uri="/20240500", response="5bc77ec8c2d443b27a1b55f1fd8fbb13"
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2025 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2025
new file mode 100644
index 000000000..1eae4826d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2025
@@ -0,0 +1,272 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+libauthretry
+
+
+
+HTTP authorization retry (Basic switching to NTLM)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2025 basic ntlm
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20250100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20250200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20250200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20250300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20250400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20250400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20250500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20250500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2026 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2026
new file mode 100644
index 000000000..afbd4f31e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2026
@@ -0,0 +1,220 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP Digest auth
+
+
+# Server-side
+
+
+
+
+
+
+HTTP/1.1 401 Need Basic or Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Need Basic or Digest auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Need Basic or Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+WWW-Authenticate: Basic realm="testrealm"
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 Need Basic or Digest auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+WWW-Authenticate: Basic realm="testrealm"
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
+This is a bad password page!
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+libauthretry
+
+
+
+HTTP authorization retry (Digest switching to Basic)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2026 digest basic
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20260100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /20260100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20260100", response="5f992a2e761ab926256419f7c685f85b"
+Accept: */*
+
+GET /20260200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20260300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /20260300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="3", uri="/20260300", response="132242e602882251929be93228c830ae"
+Accept: */*
+
+GET /20260400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20260500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2027 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2027
new file mode 100644
index 000000000..3302a155d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2027
@@ -0,0 +1,248 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+
+
+
+
+HTTP/1.1 401 Need Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+
+This is not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Need Digest auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="6"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Need Digest auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 Need Digest auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
+This is a bad password page!
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+libauthretry
+
+
+
+HTTP authorization retry (Digest)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2027 digest digest
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20270100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /20270100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20270100", response="f7fd60eefaff5225971bf9b3d80d6ba6"
+Accept: */*
+
+GET /20270200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20270200", response="785ca3ef511999f7e9c178195f5b388c"
+Accept: */*
+
+GET /20270300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /20270300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="4", uri="/20270300", response="4c735d2360fd6848e7cb32a11ae3612b"
+Accept: */*
+
+GET /20270400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20270400", response="f5906785511fb60a2af8b1cd53008ead"
+Accept: */*
+
+GET /20270400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20270400", response="f5906785511fb60a2af8b1cd53008ead"
+Accept: */*
+
+GET /20270500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="7", uri="/20270500", response="8ef4d935fd964a46c3965c0863b52cf1"
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2028 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2028
new file mode 100644
index 000000000..1ae1faeaf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2028
@@ -0,0 +1,316 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="6"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="8"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 Need Digest or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+WWW-Authenticate: NTLM
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+libauthretry
+
+
+
+HTTP authorization retry (Digest switching to NTLM)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2028 digest ntlm
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20280100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /20280100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20280100", response="53c80666f5e3a4a55f92a66aaf0078bb"
+Accept: */*
+
+GET /20280200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20280200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20280300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /20280300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="4", uri="/20280300", response="1aa5d90da9803ca12d04b24e0f19476e"
+Accept: */*
+
+GET /20280400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20280400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20280500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20280500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2029 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2029
new file mode 100644
index 000000000..42866a31b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2029
@@ -0,0 +1,240 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+libauthretry
+
+
+
+HTTP authorization retry (NTLM switching to Basic)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2029 ntlm basic
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20290100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20290100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20290200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20290300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20290300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20290400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
+Accept: */*
+
+GET /20290500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test203 b/external/3rd/library/curl/curl-7.45.0/tests/data/test203
new file mode 100644
index 000000000..366cc2cd0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test203
@@ -0,0 +1,42 @@
+
+
+
+FILE
+
+
+
+# Server-side
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Client-side
+
+
+file
+
+
+file:/path URL with a single slash
+
+
+file:%PWD/log/test203.txt
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2030 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2030
new file mode 100644
index 000000000..5c2754c19
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2030
@@ -0,0 +1,297 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="1"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="3"
+
+This is not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="4"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="6"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Digest or NTLM auth (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: Digest realm="testrealm", nonce="8"
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Digest realm="testrealm", nonce="2"
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="5"
+
+This is a bad password page!
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Digest realm="testrealm", nonce="7"
+
+This is a bad password page!
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+libauthretry
+
+
+
+HTTP authorization retry (NTLM switching to Digest)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2030 ntlm digest
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20300100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20300100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20300200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20300200", response="2f2d784ba53a0a307758a90e98d25c27"
+Accept: */*
+
+GET /20300300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20300300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20300400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20300400", response="d6262e9147db08c62ff2f53b515861e8"
+Accept: */*
+
+GET /20300400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20300400", response="d6262e9147db08c62ff2f53b515861e8"
+Accept: */*
+
+GET /20300500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="7", uri="/20300500", response="198757e61163a779cf24ed4c49c1ad7d"
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2031 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2031
new file mode 100644
index 000000000..bd5aa0745
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2031
@@ -0,0 +1,321 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+HTTP/1.1 401 Need NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Need NTLM auth (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need NTLM auth (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need NTLM auth (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+HTTP/1.1 401 NTLM intermediate (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (4)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 401 Sorry wrong password (3)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (5)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+libauthretry
+
+
+
+HTTP authorization retry (NTLM)
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2031 ntlm ntlm
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20310100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20310100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20310200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20310200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20310300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20310300 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20310400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20310400 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+GET /20310500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20310500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2032 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2032
new file mode 100644
index 000000000..f708665e6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2032
@@ -0,0 +1,147 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+libntlmconnect
+
+
+
+NTLM connection mapping
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2032
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20320100 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20320100 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20320200 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20320200 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2033 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2033
new file mode 100644
index 000000000..6c41700a6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2033
@@ -0,0 +1,148 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP NTLM auth
+pipelining
+
+
+# Server-side
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 27
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is not the real page!
+
+
+
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+This is still not the real page!
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 Need Basic or NTLM auth
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+HTTP/1.1 401 NTLM intermediate (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 33
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+
+
+http
+
+
+lib2033
+
+
+
+NTLM connection mapping, pipelining enabled
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/2032
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20320100 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20320100 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20320200 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Accept: */*
+
+GET /20320200 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2034 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2034
new file mode 100644
index 000000000..9bf0a817c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2034
@@ -0,0 +1,58 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+SSL
+SSLpinning
+
+
+https Server-localhost-sv.pem
+
+
+simple HTTPS GET with DER public key pinning
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.der https://localhost:%HTTPSPORT/2034
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2034 HTTP/1.1
+Host: localhost:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2035 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2035
new file mode 100644
index 000000000..7002a5b8e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2035
@@ -0,0 +1,44 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+SSL
+SSLpinning
+
+
+https Server-localhost-sv.pem
+
+
+HTTPS wrong DER pinnedpubkey but right CN
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.der https://localhost:%HTTPSPORT/2035
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+90
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2036 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2036
new file mode 100644
index 000000000..0ab8b66c5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2036
@@ -0,0 +1,39 @@
+
+
+
+FAILURE
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+http
+
+
+HTTP, -O with no slash at all in the URL
+
+
+%HOSTIP:%HTTPPORT -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+23
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2037 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2037
new file mode 100644
index 000000000..d630538e2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2037
@@ -0,0 +1,58 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+SSL
+SSLpinning
+
+
+https Server-localhost-sv.pem
+
+
+simple HTTPS GET with PEM public key pinning
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.pem https://localhost:%HTTPSPORT/2037
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2037 HTTP/1.1
+Host: localhost:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2038 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2038
new file mode 100644
index 000000000..63d935add
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2038
@@ -0,0 +1,44 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+SSL
+SSLpinning
+
+
+https Server-localhost-sv.pem
+
+
+HTTPS wrong PEM pinnedpubkey but right CN
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pem https://localhost:%HTTPSPORT/2038
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+90
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2039 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2039
new file mode 100644
index 000000000..1595ded05
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2039
@@ -0,0 +1,63 @@
+
+
+
+FTP
+EPSV
+LIST
+netrc
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP (optional .netrc with 'default' override; no user/pass) dir list PASV
+
+
+--netrc-optional --netrc-file log/netrc2039 ftp://%HOSTIP:%FTPPORT/
+
+
+# the following two lines were created while testing curl
+default login userdef password passwddef
+machine %HOSTIP login user1 password passwd1
+machine %HOSTIP login user2 password passwd2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER userdef
+PASS passwddef
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test204 b/external/3rd/library/curl/curl-7.45.0/tests/data/test204
new file mode 100644
index 000000000..9cc7b0154
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test204
@@ -0,0 +1,40 @@
+
+
+
+FILE
+
+
+
+# no Server-side
+
+# Client-side
+
+
+file
+
+
+"upload" with file://
+
+
+file://localhost/%PWD/log/result204.txt -T log/upload204.txt
+
+
+data
+in
+file
+to
+write
+
+
+
+# Verify data after the test has been "shot"
+
+
+data
+in
+file
+to
+write
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2040 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2040
new file mode 100644
index 000000000..ac600174e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2040
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+
+
+# Server-side
+
+
+
+
+HTTP/1.1 200 Things are fine in server land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+HTTP/1.1 401 Sorry wrong password (2)
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 29
+WWW-Authenticate: Basic realm="testrealm"
+
+This is a bad password page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Basic authorization, then without authorization
+
+
+-u testuser:testpass http://%HOSTIP:%HTTPPORT/20400100 --next --no-basic http://%HOSTIP:%HTTPPORT/20400200
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /20400100 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Accept: */*
+
+GET /20400200 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+Finally, this is the real page!
+This is a bad password page!
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2041 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2041
new file mode 100644
index 000000000..dcad2fdc3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2041
@@ -0,0 +1,58 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+SSL
+SSLpinning
+
+
+https Server-localhost-sv.pem
+
+
+simple HTTPS GET with base64-sha256 public key pinning
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey sha256//pyh+fICi9M8MFEZvherIT0cs3MN+cXNGoU9Giwyx1so= https://localhost:%HTTPSPORT/2041
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /2041 HTTP/1.1
+Host: localhost:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2042 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2042
new file mode 100644
index 000000000..2181e5322
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2042
@@ -0,0 +1,44 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+SSL
+SSLpinning
+
+
+https Server-localhost-sv.pem
+
+
+HTTPS wrong base64-sha256 pinnedpubkey but right CN
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey sha256//bSIggTf+ikMG0CtmDlpMVBd7yi7H1md4URogRPqerso= https://localhost:%HTTPSPORT/2042
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+90
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2043 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2043
new file mode 100644
index 000000000..7a91f5b60
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2043
@@ -0,0 +1,33 @@
+
+
+
+HTTPS
+HTTP GET
+
+
+
+#
+# Client-side
+
+
+WinSSL
+
+
+none
+
+
+Disable certificate revocation checks
+
+
+--ssl-no-revoke -I https://revoked.grc.com/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2044 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2044
new file mode 100644
index 000000000..33e81a8d9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2044
@@ -0,0 +1,33 @@
+
+
+
+--proto-default
+
+
+
+#
+# Client-side
+
+
+none
+
+
+none
+
+
+Attempt to set a default protocol that does not exist
+
+
+--proto-default DOESNOTEXIST
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# CURLE_UNSUPPORTED_PROTOCOL is error code 1
+
+1
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test2045 b/external/3rd/library/curl/curl-7.45.0/tests/data/test2045
new file mode 100644
index 000000000..3190f803b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test2045
@@ -0,0 +1,54 @@
+
+
+
+FTP
+--proto-default
+
+
+
+
+#
+# Server-side
+
+
+
+REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply
+
+
+
+#
+# Client-side
+
+
+none
+
+
+ftp
+
+
+Set the default protocol to ftp for a schemeless URL
+
+
+-H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp %HOSTIP:%FTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# CURLE_FTP_WEIRD_SERVER_REPLY is error code 8
+
+8
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test205 b/external/3rd/library/curl/curl-7.45.0/tests/data/test205
new file mode 100644
index 000000000..4af93f642
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test205
@@ -0,0 +1,38 @@
+
+
+
+FILE
+FAILURE
+
+
+
+# no Server-side
+
+# Client-side
+
+
+file
+
+
+"upload" with file://
+
+
+file://localhost/%PWD/log/nonexisting/result205.txt -T log/upload205.txt
+
+
+data
+in
+file
+to
+write
+
+
+
+# Verify data after the test has been "shot"
+
+# 23 => CURLE_WRITE_ERROR
+
+23
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test206 b/external/3rd/library/curl/curl-7.45.0/tests/data/test206
new file mode 100644
index 000000000..5f0c88562
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test206
@@ -0,0 +1,108 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+HTTP proxy Digest auth
+
+
+
+# Server-side
+
+
+connection-monitor
+auth_required
+
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
+And you should ignore this data.
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP proxy CONNECT auth Digest
+
+
+http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.haxx.se.206:8990 HTTP/1.1
+Host: test.remote.haxx.se.206:8990
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.haxx.se.206:8990 HTTP/1.1
+Host: test.remote.haxx.se.206:8990
+Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.haxx.se.206:8990", response="003e36decb4dbf6366b3ecb9b87c24ec"
+Proxy-Connection: Keep-Alive
+
+GET /path/2060002 HTTP/1.1
+User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
+Host: test.remote.haxx.se.206:8990
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test207 b/external/3rd/library/curl/curl-7.45.0/tests/data/test207
new file mode 100644
index 000000000..e44385f18
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test207
@@ -0,0 +1,66 @@
+
+
+
+HTTP
+HTTP GET
+CURLE_PARTIAL_FILE
+FAILURE
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky! swsclose
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+41
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+
+
+HTTP/1.1 200 funky chunky! swsclose
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with chunked Transfer-Encoding closed pre-maturely
+
+
+http://%HOSTIP:%HTTPPORT/207
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /207 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+# curl: (18) transfer closed with outstanding read data remaining
+# 18 == CURLE_PARTIAL_FILE
+
+18
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test208 b/external/3rd/library/curl/curl-7.45.0/tests/data/test208
new file mode 100644
index 000000000..afb2566b5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test208
@@ -0,0 +1,75 @@
+
+
+
+FTP
+HTTP
+HTTP PUT
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+ftp
+
+
+HTTP PUT to a FTP URL with username+password - over HTTP proxy
+
+
+-x http://%HOSTIP:%HTTPPORT ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt
+
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT ftp://daniel:mysecret@host.com/we/want/208 HTTP/1.1
+Host: host.com:21
+Authorization: Basic ZGFuaWVsOm15c2VjcmV0
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 78
+Expect: 100-continue
+
+Weird
+ file
+ to
+ upload
+for
+ testing
+the
+ PUT
+ feature
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test209 b/external/3rd/library/curl/curl-7.45.0/tests/data/test209
new file mode 100644
index 000000000..961eba1a2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test209
@@ -0,0 +1,121 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+And you should ignore this data.
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy CONNECT auth NTLM
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com.209:%HTTPPORT/path/2090002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.example.com.209:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.209:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.example.com.209:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.209:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+Proxy-Connection: Keep-Alive
+
+GET /path/2090002 HTTP/1.1
+User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
+Host: test.remote.example.com.209:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test21 b/external/3rd/library/curl/curl-7.45.0/tests/data/test21
new file mode 100644
index 000000000..8e4e847e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test21
@@ -0,0 +1,33 @@
+
+
+
+FAILURE
+multiple HTTP requests
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+use curl with multiple request methods
+
+
+-I -d FOOO -F moo=moo localhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+2
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test210 b/external/3rd/library/curl/curl-7.45.0/tests/data/test210
new file mode 100644
index 000000000..e90456754
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test210
@@ -0,0 +1,52 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+data blobb
+
+
+# data is sent to stdout
+
+
+# Client-side
+
+
+ftp
+
+
+Get two FTP files from the same remote dir: no second CWD
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/210 ftp://%HOSTIP:%FTPPORT/a/path/210
+
+
+data blobb
+data blobb
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+EPSV
+TYPE I
+SIZE 210
+RETR 210
+EPSV
+SIZE 210
+RETR 210
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test211 b/external/3rd/library/curl/curl-7.45.0/tests/data/test211
new file mode 100644
index 000000000..96d0573f2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test211
@@ -0,0 +1,54 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+data blobb
+
+
+REPLY EPSV 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+
+Get two FTP files with no remote EPSV support
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/211 ftp://%HOSTIP:%FTPPORT/a/path/211
+
+
+data blobb
+data blobb
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+EPSV
+PASV
+TYPE I
+SIZE 211
+RETR 211
+PASV
+SIZE 211
+RETR 211
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test212 b/external/3rd/library/curl/curl-7.45.0/tests/data/test212
new file mode 100644
index 000000000..444525f18
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test212
@@ -0,0 +1,64 @@
+
+
+
+FTP
+EPRT
+
+
+
+# Server-side
+
+
+data blobb
+
+
+REPLY EPRT 500 no such command
+
+
+
+# Client-side
+
+
+ftp
+
+# EPRT is only sent when IPv6 is enabled
+
+ipv6
+
+
+Get two FTP files with no remote EPRT support
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/212 ftp://%HOSTIP:%FTPPORT/a/path/212 -P -
+
+
+data blobb
+data blobb
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip the addresses and port number but leave the rest
+
+s/^(EPRT \|1\|)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|/$1/
+s/^(PORT )\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+EPRT |1|
+PORT
+TYPE I
+SIZE 212
+RETR 212
+PORT
+SIZE 212
+RETR 212
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test213 b/external/3rd/library/curl/curl-7.45.0/tests/data/test213
new file mode 100644
index 000000000..edbb6a6f3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test213
@@ -0,0 +1,124 @@
+
+
+
+HTTP
+HTTP POST
+HTTP CONNECT
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+And you should ignore this data.
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP 1.0 proxy CONNECT auth NTLM and then POST
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com.213:%HTTPPORT/path/2130002 --proxy1.0 http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit"
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.example.com.213:%HTTPPORT HTTP/1.0
+Host: test.remote.example.com.213:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.example.com.213:%HTTPPORT HTTP/1.0
+Host: test.remote.example.com.213:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+Proxy-Connection: Keep-Alive
+
+POST /path/2130002 HTTP/1.1
+User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
+Host: test.remote.example.com.213:%HTTPPORT
+Accept: */*
+Content-Length: 6
+Content-Type: application/x-www-form-urlencoded
+
+postit
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test214 b/external/3rd/library/curl/curl-7.45.0/tests/data/test214
new file mode 100644
index 000000000..a9b8fcd07
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test214
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP URL with escaped { and }
+
+
+"http://%HOSTIP:%HTTPPORT/\{\}\/214"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /{}\/214 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test215 b/external/3rd/library/curl/curl-7.45.0/tests/data/test215
new file mode 100644
index 000000000..987fd990a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test215
@@ -0,0 +1,58 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+Get two FTP dir listings from the same remote dir: no second CWD
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/215/ ftp://%HOSTIP:%FTPPORT/a/path/215/
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+CWD 215
+EPSV
+TYPE A
+LIST
+EPSV
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test216 b/external/3rd/library/curl/curl-7.45.0/tests/data/test216
new file mode 100644
index 000000000..0c4de0a63
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test216
@@ -0,0 +1,45 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP upload two files to the same dir
+
+
+-T log/upload.216 ftp://%HOSTIP:%FTPPORT/a/path/216/ -T log/upload.216 ftp://%HOSTIP:%FTPPORT/a/path/216/%2e%2eanotherup
+
+
+upload this file twice
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD a
+CWD path
+CWD 216
+EPSV
+TYPE I
+STOR upload.216
+EPSV
+STOR ..anotherup
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test217 b/external/3rd/library/curl/curl-7.45.0/tests/data/test217
new file mode 100644
index 000000000..f10df566b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test217
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+followlocation
+--write-out
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 405 Method Not Allowed swsclose
+
+And you should ignore this data.
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP proxy CONNECT to proxy returning 405
+
+
+http://test.remote.example.com.217:%HTTPPORT/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.example.com.217:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.217:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
+
+# CURLE_RECV_ERROR
+
+56
+
+
+HTTP/1.1 405 Method Not Allowed swsclose
+
+000 405
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test218 b/external/3rd/library/curl/curl-7.45.0/tests/data/test218
new file mode 100644
index 000000000..c201e77a3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test218
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP PUT
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
+blaha
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP PUT from a file but enforce chunked transfer-encoding
+
+
+ -T log/file218 -H "Transfer-Encoding: chunked" http://%HOSTIP:%HTTPPORT/218
+
+
+just some tiny teeny contents
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /218 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Expect: 100-continue
+
+1e
+just some tiny teeny contents
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test22 b/external/3rd/library/curl/curl-7.45.0/tests/data/test22
new file mode 100644
index 000000000..f45f8627c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test22
@@ -0,0 +1,46 @@
+
+
+
+HTTP
+HTTP PUT
+long URL
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 27
+
+This is the proof it works
+
+
+
+# Client-side
+
+
+http
+
+
+get HTTP with URL > 10000 bytes
+
+
+%HOSTIP:%HTTPPORT/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET /aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 HTTP/1.1
+User-Agent: curl/7.4.2 (sparc-sun-solaris2.7) libcurl 7.4.2 (SSL 0.9.6)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test220 b/external/3rd/library/curl/curl-7.45.0/tests/data/test220
new file mode 100644
index 000000000..2fb0b8a6a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test220
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBHWklQDQpDb250ZW50LUxlbmd0aDogNDQNCg0K
+H4sICHmeq0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAA=
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: GZIP
+Content-Length: 44
+
+line 1
+ line 2
+ line 3
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET gzip compressed content
+
+
+http://%HOSTIP:%HTTPPORT/220 --compressed
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /220 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Accept-Encoding: deflate, gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test221 b/external/3rd/library/curl/curl-7.45.0/tests/data/test221
new file mode 100644
index 000000000..95edb4990
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test221
@@ -0,0 +1,71 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+FAILURE
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBnemlwDQpDb250ZW50LUxlbmd0aDogNDENCg0K
+CHmeq0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAA=
+
+
+# I removed the first three bytes of the gzip compressed contents
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: gzip
+Content-Length: 41
+
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET gzip compressed content with broken gzip header
+
+
+http://%HOSTIP:%HTTPPORT/221 --compressed
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /221 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Accept-Encoding: deflate, gzip
+
+
+
+61
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test222 b/external/3rd/library/curl/curl-7.45.0/tests/data/test222
new file mode 100644
index 000000000..a4594869e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test222
@@ -0,0 +1,199 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBkZWZsYXRlDQpDb250ZW50LUxlbmd0aDogMTMw
+NQ0KDQp4nNxY227jNhB9N5B/YP3UArZuthM5cLQoctkEzTbB2gW6TwYt0TYbSRRIyrk89Ns7lCiJ
+sRyvd4O+BEhicuacw+EMSZOZfHpKYrQhXFCWnnVdy+kikoYsounqrHszvev7/mjcd7ufgs7kl4u7
+89m3+0uUcfYPCWU/pkICEE2/TWeXX1B3LWV2attLTsQ6IVhaKZH2AocPJI3sZdLXPNF3rKEVyagL
+oltaQQehyqbaTW9Oo8A9dr2JbRhKRIQlmeMoIoAYj/2+4/c9FznDU8c99cYT2/AbhDxTH1HgOc6w
+7zp910eOd+rBz0BTKsSrOFKckLlYMy6DMOdxHY5hb+OXeRwXcITTCMV00aYWEB0eEaGWOmdJUlJS
+giRjtQDH/BktGUdhTEkq+4JGBP319RZJjlOxhIpaMItGyFDeGQyiAuFyBKVaqXBV3yWNiTjq5EJ1
+1BjiOZX4yUI3Eok8y0BfoOvZ7L5X/J320BW0jzpXRfvi5nzWQ7PL2z8v4fP24neAXd3cXvaK4T/f
+3V9ffoU2DPBIYoiplOpnTMiebubQChl7oEQU2ijPYoYjGAKWWp6QqJl1D2VYiEfGI9WEyNI8WRT2
+6fT2qBMSLumShlBXMP1BOPiYKEOBajzBCMW0IBsZeyScREedxXOVpB6Sa/JmxquyWEed2RqoCMPv
+gqZqMwlIbZ1qlWAGmw55zlEnxukqxysiihhIuqGcpQkMIEBHl9BYGxsqcUzl81yEjJNgdOIPrdHJ
+xN6yb4EzwkOQDAaWe2xgK/MWGubzAHttbCALk17XLMtjzJuxjkdjiGEIy3nb0yJUA7oDy3dfEV6H
+YjjKYJzRK7QRDsfFueFbI2di647pmYcsB13Prbza8ApTDuIPaowxgMgXIuQ0k3BEimCgTofXphIG
+pU/D9Vzt5eCCLHEey4ltGksY1H9eHWAZlD3YeWhWJ6Wt1os9sVusRmzNEvK2ECxgyksVdXjaJkPr
+1gKNply9HC4HYK2kaI3I4sU7XATAWkTRGpEXmh0uAmAtomiNSLiGPUZitjpcqqZowUaikeVZcrgg
+gLWUojUiEVkcLgJgLaJojQgTT4eLAFiLKJpRLxGp8/IHalYSqrppurHMcw5pEyTQ67fqGoXZiB8o
+yUZUxdgIQ0TdHA5XUWgtUxAbnYRyzvjhSiVea2myWdeEBVWtoFl6YgqHHKTgy83M/hudw+kBKaN5
+gm5Lx8SuEBqvvqfknJOY1Jlrmef6/hacWK5nwQXpDfcbbHWvOjl2/FGLWF2w2hx1L9p9cdoFLOdi
+75rMBM5RAhNeMzmXa/iqhpy1TCUS5xJuMqIOqexX3dqgT2CcUhKjqSQpfMOvJrbpbFGgSrvr/u8C
+ryKiimwgW3TOYhLcPaaE17jCVEVqm6FWvWoJqy94ThOaYmnOTnK4IRS1gYLWnZbX8473uQd7ufuc
+ru/v5bp7x4WlsT/qvW73eLjPPd5L9sd7vc5etzv6TtzfCWx/ZIPW2OX9brv8sCYyeDLBQwyuo7VO
+bXxG8jkjZ11OQngdKJt6SdWLssGZG9lRQ+1y7CTqewu4T4aqGDtdO5nG46xF3X64vcWVVKoNBXa4
+s6Nf9W3qt51aJbbeaQ3i7byx4t6G4/8vac5PZ2w4eGfG1Pvq4yfK9QYj9x2ZeoGn2MfP0sBzhifv
+yNI1oUmE44+fqOFwNPDekaiwD0998TN5Miz6rK//KxR0/gMAAP//gjMRo2MAAAAA//8DAN04jtE=
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate
+Content-Length: 1305
+
+
+
+
+
+ 1612
+ 1998-08-21 04:01:29
+ 2004-10-18 02:22:23
+ curl
+ curl and libcurl
+ Command line tool and library for client-side URL transfers.
+ curl and libcurl is a tool for transferring files
+using URL syntax. It supports HTTP, HTTPS, FTP,
+FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as
+well as HTTP-post, HTTP-put, cookies, FTP upload,
+resumed transfers, passwords, portnumbers, SSL
+certificates, Kerberos, and proxies. It is powered
+by libcurl, the client-side URL transfer library.
+There are bindings to libcurl for over 20
+languages and environments.
+
+ 5784.57
+ 3.16
+ 169
+ 6594.54
+ 13.81
+ 105
+ 8.50
+ 21
+ 183
+ 323
+ Default
+ http://freshmeat.net/projects/curl/
+ http://freshmeat.net/redir/curl/1612/url_homepage/
+ http://freshmeat.net/redir/curl/1612/url_tgz/
+ http://freshmeat.net/redir/curl/1612/url_bz2/
+ http://freshmeat.net/redir/curl/1612/url_zip/
+ http://freshmeat.net/redir/curl/1612/url_changelog/
+ http://freshmeat.net/redir/curl/1612/url_rpm/
+ http://freshmeat.net/redir/curl/1612/url_deb/
+ http://freshmeat.net/redir/curl/1612/url_osx/
+ http://freshmeat.net/redir/curl/1612/url_bsdport/
+
+ http://freshmeat.net/redir/curl/1612/url_cvs/
+ http://freshmeat.net/redir/curl/1612/url_list/
+ http://freshmeat.net/redir/curl/1612/url_mirror/
+
+ MIT/X Consortium License
+
+ 7.12.2
+ 176085
+ 2004-10-18 02:22:23
+
+
+
+
+ Daniel Stenberg
+ http://freshmeat.net/~bagder/
+ Owner
+
+
+
+ 12
+ 226
+ 3
+ 2
+ 188
+ 216
+ 200
+ 220
+ 164
+ 90
+ 89
+ 809
+ 150
+ 224
+ 900
+ 839
+
+
+
+ 0
+ 7464
+ 7464
+ OpenSSL (Default)
+
+
+ 0
+ 0
+ 7443
+ OpenLDAP
+
+
+ 0
+ 0
+ 12351
+ zlib
+
+
+ 0
+ 0
+ 32047
+ Heimdal
+
+
+ 0
+ 0
+ 44532
+ c-ares
+
+
+
+
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET deflate compressed content
+
+
+http://%HOSTIP:%HTTPPORT/222 --compressed
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /222 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Accept-Encoding: deflate, gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test223 b/external/3rd/library/curl/curl-7.45.0/tests/data/test223
new file mode 100644
index 000000000..196e78c80
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test223
@@ -0,0 +1,92 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+FAILURE
+
+
+#
+# Server-side
+
+# this deflate chunk has three bytes removed from the beginning
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBkZWZsYXRlDQpDb250ZW50LUxlbmd0aDogMTMw
+NQ0KDQpY227jNhB9N5B/YP3UArZuthM5cLQoctkEzTbB2gW6TwYt0TYbSRRIyrk89Ns7lCiJsRyv
+d4O+BEhicuacw+EMSZOZfHpKYrQhXFCWnnVdy+kikoYsounqrHszvev7/mjcd7ufgs7kl4u789m3
++0uUcfYPCWU/pkICEE2/TWeXX1B3LWV2attLTsQ6IVhaKZH2AocPJI3sZdLXPNF3rKEVyagLolta
+QQehyqbaTW9Oo8A9dr2JbRhKRIQlmeMoIoAYj/2+4/c9FznDU8c99cYT2/AbhDxTH1HgOc6w7zp9
+10eOd+rBz0BTKsSrOFKckLlYMy6DMOdxHY5hb+OXeRwXcITTCMV00aYWEB0eEaGWOmdJUlJSgiRj
+tQDH/BktGUdhTEkq+4JGBP319RZJjlOxhIpaMItGyFDeGQyiAuFyBKVaqXBV3yWNiTjq5EJ11Bji
+OZX4yUI3Eok8y0BfoOvZ7L5X/J320BW0jzpXRfvi5nzWQ7PL2z8v4fP24neAXd3cXvaK4T/f3V9f
+foU2DPBIYoiplOpnTMiebubQChl7oEQU2ijPYoYjGAKWWp6QqJl1D2VYiEfGI9WEyNI8WRT26fT2
+qBMSLumShlBXMP1BOPiYKEOBajzBCMW0IBsZeyScREedxXOVpB6Sa/JmxquyWEed2RqoCMPvgqZq
+MwlIbZ1qlWAGmw55zlEnxukqxysiihhIuqGcpQkMIEBHl9BYGxsqcUzl81yEjJNgdOIPrdHJxN6y
+b4EzwkOQDAaWe2xgK/MWGubzAHttbCALk17XLMtjzJuxjkdjiGEIy3nb0yJUA7oDy3dfEV6HYjjK
+YJzRK7QRDsfFueFbI2di647pmYcsB13Prbza8ApTDuIPaowxgMgXIuQ0k3BEimCgTofXphIGpU/D
+9Vzt5eCCLHEey4ltGksY1H9eHWAZlD3YeWhWJ6Wt1os9sVusRmzNEvK2ECxgyksVdXjaJkPr1gKN
+ply9HC4HYK2kaI3I4sU7XATAWkTRGpEXmh0uAmAtomiNSLiGPUZitjpcqqZowUaikeVZcrgggLWU
+ojUiEVkcLgJgLaJojQgTT4eLAFiLKJpRLxGp8/IHalYSqrppurHMcw5pEyTQ67fqGoXZiB8oyUZU
+xdgIQ0TdHA5XUWgtUxAbnYRyzvjhSiVea2myWdeEBVWtoFl6YgqHHKTgy83M/hudw+kBKaN5gm5L
+x8SuEBqvvqfknJOY1Jlrmef6/hacWK5nwQXpDfcbbHWvOjl2/FGLWF2w2hx1L9p9cdoFLOdi75rM
+BM5RAhNeMzmXa/iqhpy1TCUS5xJuMqIOqexX3dqgT2CcUhKjqSQpfMOvJrbpbFGgSrvr/u8CryKi
+imwgW3TOYhLcPaaE17jCVEVqm6FWvWoJqy94ThOaYmnOTnK4IRS1gYLWnZbX8473uQd7ufucru/v
+5bp7x4WlsT/qvW73eLjPPd5L9sd7vc5etzv6TtzfCWx/ZIPW2OX9brv8sCYyeDLBQwyuo7VObXxG
+8jkjZ11OQngdKJt6SdWLssGZG9lRQ+1y7CTqewu4T4aqGDtdO5nG46xF3X64vcWVVKoNBXa4s6Nf
+9W3qt51aJbbeaQ3i7byx4t6G4/8vac5PZ2w4eGfG1Pvq4yfK9QYj9x2ZeoGn2MfP0sBzhifvyNI1
+oUmE44+fqOFwNPDekaiwD0998TN5Miz6rK//KxR0/gMAAP//gjMRo2MAAAAA//8DAN04jtE=
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: deflate
+Content-Length: 1305
+
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET deflate compressed content with broken deflate header
+
+
+http://%HOSTIP:%HTTPPORT/223 --compressed
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /223 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Accept-Encoding: deflate, gzip
+
+
+
+61
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test224 b/external/3rd/library/curl/curl-7.45.0/tests/data/test224
new file mode 100644
index 000000000..1c8ad2380
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test224
@@ -0,0 +1,104 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBnemlwDQpDb250ZW50LUxlbmd0aDogMjE4Ng0K
+DQofiwgcv7yrQQIDMAB0aGlzIGlzIGFuIGV4dHJhIGZpZWxkIHRoYXQgbXVzdCBiZSByZW1vdmVk
+X19fX19sb25nLWZpbGVuYW1lLXh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
+eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4AHRoaXMgaXMgYSBj
+b21tZW50IHRoYXQgbXVzdCBiZSBza2lwcGVkACvNS87PLShKLS5OTVFIr8osUEhJLElUKM8syVDI
+yc9Lh4hlpCampBZxAQC4UJ7LLQAAAA==
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Content-Encoding: gzip
+Content-Length: 2186
+
+uncompressed gzip data with long gzip header
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET gzip compressed content with huge comment and extra field
+
+
+http://%HOSTIP:%HTTPPORT/224 --compressed
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /224 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Accept-Encoding: deflate, gzip
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test225 b/external/3rd/library/curl/curl-7.45.0/tests/data/test225
new file mode 100644
index 000000000..a6447125d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test225
@@ -0,0 +1,28 @@
+
+
+
+FTP
+FAILURE
+
+
+# Client-side
+
+
+ftp
+
+
+FTP %0a-code in URL's name part
+
+
+ftp://bad%0auser:passwd@%HOSTIP:%FTPPORT/225%0a
+
+
+
+# Verify data after the test has been "shot"
+
+# 3 == CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test226 b/external/3rd/library/curl/curl-7.45.0/tests/data/test226
new file mode 100644
index 000000000..9fc4bda3d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test226
@@ -0,0 +1,29 @@
+
+
+
+FTP
+FAILURE
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP %0d-code in URL's CWD part
+
+
+ftp://%HOSTIP:%FTPPORT/226%0d
+
+
+
+# Verify data after the test has been "shot"
+
+# 3 == CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test227 b/external/3rd/library/curl/curl-7.45.0/tests/data/test227
new file mode 100644
index 000000000..5b6d98cd1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test227
@@ -0,0 +1,57 @@
+
+
+
+FTP
+post-quote
+pre-quote
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY EPSV 500 no such command
+REPLY FAIL 500 this might not be a failure!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with quote ops
+
+
+ftp://%HOSTIP:%FTPPORT/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+NOOP 1
+FAIL
+EPSV
+PASV
+TYPE I
+NOOP 2
+FAIL HARD
+SIZE 227
+RETR 227
+NOOP 3
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test228 b/external/3rd/library/curl/curl-7.45.0/tests/data/test228
new file mode 100644
index 000000000..f581583f3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test228
@@ -0,0 +1,52 @@
+
+
+
+FTP
+ACCT
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY PASS 332 please provide account name
+REPLY ACCT 230 thank you
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR with ACCT
+
+
+ftp://%HOSTIP:%FTPPORT/228 --ftp-account "one count"
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+ACCT one count
+PWD
+EPSV
+TYPE I
+SIZE 228
+RETR 228
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test229 b/external/3rd/library/curl/curl-7.45.0/tests/data/test229
new file mode 100644
index 000000000..d337468ac
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test229
@@ -0,0 +1,41 @@
+
+
+
+FTP
+ACCT
+FAILURE
+
+
+# Server-side
+
+
+REPLY PASS 332 please provide account name
+REPLY ACCT 532 bluah!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR with bad ACCT
+
+
+ftp://%HOSTIP:%FTPPORT/229 --ftp-account "one count"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+ACCT one count
+
+
+11
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test23 b/external/3rd/library/curl/curl-7.45.0/tests/data/test23
new file mode 100644
index 000000000..46872e82e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test23
@@ -0,0 +1,33 @@
+
+
+
+unsupported protocol
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+unsupported protocol:// URL
+
+
+htfp://%HOSTIP:%HTTPPORT/none.htfml
+
+
+
+# Verify data after the test has been "shot"
+
+
+1
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test231 b/external/3rd/library/curl/curl-7.45.0/tests/data/test231
new file mode 100644
index 000000000..6994957c1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test231
@@ -0,0 +1,38 @@
+
+
+
+FILE
+
+
+
+# Server-side
+
+# 16 bytes to check
+
+B01234567
+C01234567
+
+
+
+# Client-side
+
+
+file
+
+
+file:// with resume
+
+
+file://localhost/%PWD/log/test231.txt -C 10
+
+
+A01234567
+B01234567
+C01234567
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test233 b/external/3rd/library/curl/curl-7.45.0/tests/data/test233
new file mode 100644
index 000000000..b631e52cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test233
@@ -0,0 +1,94 @@
+
+
+
+HTTP
+HTTP proxy
+HTTP Basic auth
+HTTP proxy Basic auth
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: http://goto.second.host.now/2330002
+Content-Length: 8
+Connection: close
+
+contents
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: http://goto.second.host.now/2330002
+Content-Length: 8
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP, proxy, site+proxy auth and Location: to new host
+
+
+http://first.host.it.is/we/want/that/page/233 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://first.host.it.is/we/want/that/page/233 HTTP/1.1
+Host: first.host.it.is
+Proxy-Authorization: Basic dGVzdGluZzp0aGlz
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://goto.second.host.now/2330002 HTTP/1.1
+Host: goto.second.host.now
+Proxy-Authorization: Basic dGVzdGluZzp0aGlz
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test234 b/external/3rd/library/curl/curl-7.45.0/tests/data/test234
new file mode 100644
index 000000000..1d2e05b39
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test234
@@ -0,0 +1,97 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+followlocation
+--location-trusted
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: http://goto.second.host.now/2340002
+Content-Length: 8
+Connection: close
+
+contents
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Location: http://goto.second.host.now/2340002
+Content-Length: 8
+Connection: close
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP, proxy, site+proxy auth and Location: to new host using location-trusted
+
+
+http://first.host.it.is/we/want/that/page/234 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location-trusted
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://first.host.it.is/we/want/that/page/234 HTTP/1.1
+Host: first.host.it.is
+Proxy-Authorization: Basic dGVzdGluZzp0aGlz
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://goto.second.host.now/2340002 HTTP/1.1
+Host: goto.second.host.now
+Proxy-Authorization: Basic dGVzdGluZzp0aGlz
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test235 b/external/3rd/library/curl/curl-7.45.0/tests/data/test235
new file mode 100644
index 000000000..625023221
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test235
@@ -0,0 +1,48 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP resumed upload but no file present remotely
+
+
+ftp://%HOSTIP:%FTPPORT/235 -T log/upload235 -C -
+
+
+this is the *****crap******** that we're gonna upload
+
+worx?
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 235
+STOR 235
+QUIT
+
+
+this is the *****crap******** that we're gonna upload
+
+worx?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test236 b/external/3rd/library/curl/curl-7.45.0/tests/data/test236
new file mode 100644
index 000000000..9ba706f1d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test236
@@ -0,0 +1,52 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+REPLY SIZE 550 access to this file is very much denied
+REPLY APPE 550 I said: access to this file is very much denied
+REPLY STOR 550 I said: access to this file is very much denied
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP resume upload but denied access to remote file
+
+
+ftp://%HOSTIP:%FTPPORT/236 -T log/file236.txt -C -
+
+
+Test data
+
+
+
+# Verify data after the test has been "shot"
+
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 236
+STOR 236
+QUIT
+
+
+# (25) Failed FTP upload: 550
+
+25
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test237 b/external/3rd/library/curl/curl-7.45.0/tests/data/test237
new file mode 100644
index 000000000..9a40f1f6b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test237
@@ -0,0 +1,48 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+REPLY PASV 227 Entering Passiv Mode (1216,256,2,127,127,127)
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP getting bad host in 227-response to PASV
+
+
+ftp://%HOSTIP:%FTPPORT/237 --disable-epsv
+
+
+
+# Verify data after the test has been "shot"
+# The bogus address used here is chosen specifically so that when processed on
+# certain hosts with buggy resolver code, the resulting address (192.0.2.127)
+# is from an address block that is guaranteed never to be assigned (RFC3330).
+
+# curl: (15) Can't resolve new host 1216.256.2.127:32639
+# 15 => CURLE_FTP_CANT_GET_HOST
+# some systems just don't fail on the illegal host name/address but instead
+# moves on and attempt to connect to... yes, to what?
+# 7= CURLE_COULDNT_CONNECT
+
+15, 7
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PASV
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test238 b/external/3rd/library/curl/curl-7.45.0/tests/data/test238
new file mode 100644
index 000000000..ea54509a1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test238
@@ -0,0 +1,42 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+REPLY EPSV 229 Entering Passiv Mode (|||1000000|)
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP getting bad port in response to EPSV
+
+
+ftp://%HOSTIP:%FTPPORT/238
+
+
+
+# Verify data after the test has been "shot"
+
+# 13 = CURLE_FTP_WEIRD_PASV_REPLY
+
+13
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test239 b/external/3rd/library/curl/curl-7.45.0/tests/data/test239
new file mode 100644
index 000000000..6b92f07f7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test239
@@ -0,0 +1,102 @@
+
+
+
+HTTP
+HTTP POST
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+Hey you, authenticate or go away!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy-auth NTLM and then POST
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/239 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm -d "postit"
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST http://%HOSTIP:%HTTPPORT/239 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST http://%HOSTIP:%HTTPPORT/239 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 6
+Content-Type: application/x-www-form-urlencoded
+
+postit
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test24 b/external/3rd/library/curl/curl-7.45.0/tests/data/test24
new file mode 100644
index 000000000..a2b28a9fd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test24
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+
+
+# Server-side
+
+
+HTTP/1.0 404 BAD BOY
+Content-Type: text/html
+
+This silly page doesn't reaaaaaly exist so you should not get it.
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET fail silently on HTTP error return
+
+
+http://%HOSTIP:%HTTPPORT/24 --fail --silent --show-error
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET /24 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+22
+
+
+curl: (22) The requested URL returned error: 404 BAD BOY
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test240 b/external/3rd/library/curl/curl-7.45.0/tests/data/test240
new file mode 100644
index 000000000..cd8594d63
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test240
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+IPv6
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP-IPv6 GET
+
+
+-g "http://%HOST6IP:%HTTP6PORT/240"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:
+
+
+GET /240 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test241 b/external/3rd/library/curl/curl-7.45.0/tests/data/test241
new file mode 100644
index 000000000..46eae1f72
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test241
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+IPv6
+IPv6-hostname
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+
+hello
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP-IPv6 GET (using ip6-localhost)
+
+
+-g "http://ip6-localhost:%HTTP6PORT/241"
+
+
+./server/resolve --ipv6 ip6-localhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:
+
+
+GET /241 HTTP/1.1
+Host: ip6-localhost:%HTTP6PORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test242 b/external/3rd/library/curl/curl-7.45.0/tests/data/test242
new file mode 100644
index 000000000..9457c58c3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test242
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+IPv6
+HTTP Basic auth
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+
+hello
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP-IPv6 GET with username+password in URL
+
+
+-g "http://foobar:barfoo@%HOST6IP:%HTTP6PORT/242"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:
+
+
+GET /242 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Authorization: Basic Zm9vYmFyOmJhcmZvbw==
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test243 b/external/3rd/library/curl/curl-7.45.0/tests/data/test243
new file mode 100644
index 000000000..3496055d1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test243
@@ -0,0 +1,131 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy NTLM auth
+--proxy-anyauth
+
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+Hey you, authenticate or go away!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP POST with --proxy-anyauth, picking NTLM
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/243 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-anyauth -d "postit"
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 6
+Content-Type: application/x-www-form-urlencoded
+
+postitPOST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 6
+Content-Type: application/x-www-form-urlencoded
+
+postit
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test245 b/external/3rd/library/curl/curl-7.45.0/tests/data/test245
new file mode 100644
index 000000000..cbb5ee31d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test245
@@ -0,0 +1,88 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP POST --digest
+
+
+http://%HOSTIP:%HTTPPORT/245 -u auser:apasswd --digest -d "junkelijunk"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /245 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST /245 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/245", response="379a439b1737ba257c1d2f103914b18b"
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Content-Length: 11
+Content-Type: application/x-www-form-urlencoded
+
+junkelijunk
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test246 b/external/3rd/library/curl/curl-7.45.0/tests/data/test246
new file mode 100644
index 000000000..acf47da5d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test246
@@ -0,0 +1,98 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+
+# Client-side
+
+#
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP POST --digest with server doing a 100 before 401 response
+
+
+http://%HOSTIP:%HTTPPORT/246 -u auser:apasswd --digest -d "junkelijunk"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /246 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST /246 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/246", response="761e6fc9a760c39d587092e8d840e740"
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Content-Length: 11
+Content-Type: application/x-www-form-urlencoded
+
+junkelijunk
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test247 b/external/3rd/library/curl/curl-7.45.0/tests/data/test247
new file mode 100644
index 000000000..2720144ed
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test247
@@ -0,0 +1,47 @@
+
+
+
+FTP
+
+
+
+
+
+213 20030409102659
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP upload time condition evaluates TRUE => skip upload
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+ftp://%HOSTIP:%FTPPORT/247 -T log/test247.txt -z "apr 1 2005 08:00:00"
+
+
+
+# Verify data after the test has been "shot"
+
+
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+MDTM 247
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test248 b/external/3rd/library/curl/curl-7.45.0/tests/data/test248
new file mode 100644
index 000000000..d254a951e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test248
@@ -0,0 +1,56 @@
+
+
+
+FTP
+
+
+
+
+
+213 20050409102659
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP upload time condition evaluates FALSE => upload anyway
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+ftp://%HOSTIP:%FTPPORT/248 -T log/test248.txt -z "apr 1 2005 08:00:00"
+
+
+
+# Verify data after the test has been "shot"
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+MDTM 248
+EPSV
+TYPE I
+STOR 248
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test249 b/external/3rd/library/curl/curl-7.45.0/tests/data/test249
new file mode 100644
index 000000000..4f99c2af7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test249
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.1 304 Not Modified swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1910 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 677777
+Connection: close
+Content-Type: text/html
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP 304 response with "illegal" Content-Length: header
+
+
+http://%HOSTIP:%HTTPPORT/249 -z "dec 12 12:00:00 1999 GMT"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /249 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test25 b/external/3rd/library/curl/curl-7.45.0/tests/data/test25
new file mode 100644
index 000000000..15030ae92
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test25
@@ -0,0 +1,116 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+--max-redirs
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+Redirect to the same URL again!
+
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+HTTP/1.1 301 This is a weirdo text message
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 32
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+looping HTTP Location: following with --max-redirs
+
+
+http://%HOSTIP:%HTTPPORT/want/25 -L --max-redirs 5
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET /want/25 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data/reply/25 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data/reply/data/reply/25 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data/reply/data/reply/data/reply/25 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data/reply/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+47
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test250 b/external/3rd/library/curl/curl-7.45.0/tests/data/test250
new file mode 100644
index 000000000..3d0a8f3a0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test250
@@ -0,0 +1,58 @@
+
+
+
+FTP
+
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+SLOWDOWN
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP dir list PASV with slow response
+
+
+ftp://%HOSTIP:%FTPPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test251 b/external/3rd/library/curl/curl-7.45.0/tests/data/test251
new file mode 100644
index 000000000..cc8cbfa0a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test251
@@ -0,0 +1,60 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+SLOWDOWN
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP dir list, PORT with specified IP and slow response
+
+
+ftp://%HOSTIP:%FTPPORT/ -P %CLIENTIP
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test252 b/external/3rd/library/curl/curl-7.45.0/tests/data/test252
new file mode 100644
index 000000000..b3f4966a1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test252
@@ -0,0 +1,59 @@
+
+
+
+FTP-ipv6
+IPv6
+EPSV
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+ftp-ipv6
+
+
+FTP IPv6 dir list PASV
+
+
+-g "ftp://%HOST6IP:%FTP6PORT/"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test253 b/external/3rd/library/curl/curl-7.45.0/tests/data/test253
new file mode 100644
index 000000000..9be5f3d60
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test253
@@ -0,0 +1,62 @@
+
+
+
+FTP-ipv6
+IPv6
+EPRT
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+ftp-ipv6
+
+
+FTP IPv6 dir list with EPRT
+
+
+-g "ftp://%HOST6IP:%FTP6PORT/" -P -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+s/^(EPRT \|2\|::1\|)(.*)/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |2|::1|
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test254 b/external/3rd/library/curl/curl-7.45.0/tests/data/test254
new file mode 100644
index 000000000..571b033f7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test254
@@ -0,0 +1,60 @@
+
+
+
+FTP-ipv6
+IPv6
+EPSV
+--disable-epsv
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+ftp-ipv6
+
+
+FTP IPv6 dir list PASV and --disable-epsv
+
+
+-g "ftp://%HOST6IP:%FTP6PORT/" --disable-epsv
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test255 b/external/3rd/library/curl/curl-7.45.0/tests/data/test255
new file mode 100644
index 000000000..cc50c95e4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test255
@@ -0,0 +1,63 @@
+
+
+
+FTP-ipv6
+IPv6
+EPRT
+--disable-eprt
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+ftp-ipv6
+
+
+FTP IPv6 dir list with EPRT and --disable-eprt
+
+
+-g "ftp://%HOST6IP:%FTP6PORT/" -P - --disable-eprt
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+s/^(EPRT \|2\|::1\|)(.*)/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |2|::1|
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test256 b/external/3rd/library/curl/curl-7.45.0/tests/data/test256
new file mode 100644
index 000000000..2b96ecf3d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test256
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+Resume
+FAILURE
+
+
+# Server-side
+
+
+HTTP/1.0 200 Mooo
+Date: Mon, 13 Nov 2000 13:41:09 GMT
+Server: myown/1.0
+Connection: close
+
+todelooooo lalalala yada yada, we know nothing about ranges ;-)
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP resume request over proxy with auth without server supporting it
+
+
+-x http://%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/want/256 -C - --no-include -o log/fewl.txt -U daniel:stenberg
+
+
+This text is here to simulate a partly downloaded file to resume
+download on.
+
+
+
+# Verify data after the test has been "shot"
+
+
+33
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/want/256 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: Basic ZGFuaWVsOnN0ZW5iZXJn
+Range: bytes=78-
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+# the download target file must remain untouched
+
+This text is here to simulate a partly downloaded file to resume
+download on.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test257 b/external/3rd/library/curl/curl-7.45.0/tests/data/test257
new file mode 100644
index 000000000..502448ddb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test257
@@ -0,0 +1,112 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP Basic auth
+followlocation
+netrc
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: http://anotherone.com/2570002
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 302 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: http://athird.com/2570003
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: http://anotherone.com/2570002
+Connection: close
+
+HTTP/1.1 302 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: http://athird.com/2570003
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with --netrc-optional
+
+
+http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc257
+
+
+# netrc auth for two out of three sites:
+
+machine supersite.com login user1 password passwd1
+machine anotherone.com login user2 password passwd2
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://supersite.com/want/257 HTTP/1.1
+Host: supersite.com
+Authorization: Basic dXNlcjE6cGFzc3dkMQ==
+User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://anotherone.com/2570002 HTTP/1.1
+Host: anotherone.com
+Authorization: Basic dXNlcjI6cGFzc3dkMg==
+User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://athird.com/2570003 HTTP/1.1
+Host: athird.com
+User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test258 b/external/3rd/library/curl/curl-7.45.0/tests/data/test258
new file mode 100644
index 000000000..98c340141
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test258
@@ -0,0 +1,135 @@
+
+
+
+HTTP
+HTTP FORMPOST
+HTTP replaced headers
+HTTP proxy
+HTTP proxy Digest auth
+--proxy-anyauth
+
+
+
+# Server-side
+
+# The stupid test server doesn't response anything at all until the full
+# request has been sent, and then of course the full POST has already been
+# sent!
+
+HTTP/1.1 407 no, tell me who you are first swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Proxy-Authenticate: Digest realm="many secrets", nonce="911"
+Proxy-Connection: close
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+HTTP/1.1 407 no, tell me who you are first swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Proxy-Authenticate: Digest realm="many secrets", nonce="911"
+Proxy-Connection: close
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP POST multipart without Expect: header using proxy anyauth (Digest)
+
+
+-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth
+
+# We create this file before the command is invoked!
+
+foo-
+This is a moo-
+bar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------).*
+
+
+POST http://remotehost:54321/we/want/258 HTTP/1.1
+Host: remotehost:54321
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 409
+Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
+
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="file"; filename="test258.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------7c633d5c27ce--
+POST http://remotehost:54321/we/want/258 HTTP/1.1
+Host: remotehost:54321
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/258", response="2501654ca391f0b5c8c12a1da77e34cd"
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 409
+Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
+
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="file"; filename="test258.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------7c633d5c27ce--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test259 b/external/3rd/library/curl/curl-7.45.0/tests/data/test259
new file mode 100644
index 000000000..9532887a9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test259
@@ -0,0 +1,133 @@
+
+
+
+HTTP
+HTTP FORMPOST
+HTTP proxy
+HTTP proxy Digest auth
+--proxy-anyauth
+
+
+# Server-side
+
+# The stupid test server doesn't response anything at all until the full
+# request has been sent, and then of course the full POST has already been
+# sent!
+
+HTTP/1.1 407 no, tell me who you are first
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Proxy-Authenticate: Digest realm="many secrets", nonce="911"
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+HTTP/1.1 407 no, tell me who you are first
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Proxy-Authenticate: Digest realm="many secrets", nonce="911"
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP POST multipart with Expect: header using proxy anyauth (Digest)
+
+
+-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth
+
+# We create this file before the command is invoked!
+
+foo-
+This is a moo-
+bar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------).*
+
+
+POST http://remotehost:54321/we/want/259 HTTP/1.1
+Host: remotehost:54321
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 409
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
+
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="file"; filename="test259.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------7c633d5c27ce--
+POST http://remotehost:54321/we/want/259 HTTP/1.1
+Host: remotehost:54321
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/259", response="b479994d13e60f3aa192a67c5892ddc5"
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 409
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
+
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="file"; filename="test259.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------7c633d5c27ce--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test26 b/external/3rd/library/curl/curl-7.45.0/tests/data/test26
new file mode 100644
index 000000000..072dbf7d3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test26
@@ -0,0 +1,45 @@
+
+
+
+HTTP
+HTTP GET
+
+
+# Server-side
+
+
+HTTP/1.0 200 Mooo swsclose
+Server: test-server/fake
+Connection: close
+
+*flopp*
+
+
+
+# Client-side
+
+
+http
+
+
+specify more -o than URLs
+
+
+http://%HOSTIP:%HTTPPORT/want/26 -o - -o -
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl.*
+
+
+GET /want/26 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test260 b/external/3rd/library/curl/curl-7.45.0/tests/data/test260
new file mode 100644
index 000000000..589e86e8a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test260
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET URL without slash but with questionmark
+
+
+"http://%HOSTIP:%HTTPPORT?260"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /?260 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test261 b/external/3rd/library/curl/curl-7.45.0/tests/data/test261
new file mode 100644
index 000000000..e3639bfe9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test261
@@ -0,0 +1,48 @@
+
+
+
+FTP
+EPSV
+RETR
+
+
+#
+# Server-side
+
+
+hepp
+
+
+REPLY TYPE 226 Kind of on the positive side!
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP RETR with 226 response code to TYPE
+
+
+ftp://%HOSTIP:%FTPPORT/261
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 261
+RETR 261
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test262 b/external/3rd/library/curl/curl-7.45.0/tests/data/test262
new file mode 100644
index 000000000..4c28f22d7
Binary files /dev/null and b/external/3rd/library/curl/curl-7.45.0/tests/data/test262 differ
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test263 b/external/3rd/library/curl/curl-7.45.0/tests/data/test263
new file mode 100644
index 000000000..5088141f5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test263
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+IPv6
+HTTP proxy
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Content-Type: text/html
+
+hello
+
+
+
+#
+# Client-side
+
+
+ipv6
+
+
+http-ipv6
+
+
+HTTP-IPv6 GET with proxy specified using IPv6-numerical address
+
+
+-g -x "http://%HOST6IP:%HTTP6PORT" http://veryveryremotesite.com/263
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:
+
+
+GET http://veryveryremotesite.com/263 HTTP/1.1
+Host: veryveryremotesite.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test264 b/external/3rd/library/curl/curl-7.45.0/tests/data/test264
new file mode 100644
index 000000000..f4d171a16
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test264
@@ -0,0 +1,49 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 26
+
+the content would go here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy string including http:// and user+password
+
+
+http://we.want.that.site.com/264 -x http://f%61ke:user@%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://we.want.that.site.com/264 HTTP/1.1
+Host: we.want.that.site.com
+Proxy-Authorization: Basic ZmFrZTp1c2Vy
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test265 b/external/3rd/library/curl/curl-7.45.0/tests/data/test265
new file mode 100644
index 000000000..1a162b808
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test265
@@ -0,0 +1,127 @@
+
+
+
+HTTP
+HTTP POST
+HTTP CONNECT
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.0 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 1033
+
+And you should ignore this data.
+QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQz
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+
+
+# this is returned when we get a GET!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK swsbounce
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.0 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 1033
+
+HTTP/1.1 200 Things are fine in proxy land
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 7
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+daniel
+
+
+
+# Client-side
+
+
+http
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com.265:%HTTPPORT/path/2650002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit"
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+CONNECT test.remote.example.com.265:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.265:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+Proxy-Connection: Keep-Alive
+
+CONNECT test.remote.example.com.265:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.265:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+Proxy-Connection: Keep-Alive
+
+POST /path/2650002 HTTP/1.1
+User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
+Host: test.remote.example.com.265:%HTTPPORT
+Accept: */*
+Content-Length: 6
+Content-Type: application/x-www-form-urlencoded
+
+postit
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test266 b/external/3rd/library/curl/curl-7.45.0/tests/data/test266
new file mode 100644
index 000000000..d520be0f4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test266
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+40
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
+cccccccccccccccccccccccccccccccc
+
+0
+chunky-trailer: header data
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with chunked Transfer-Encoding and chunked trailer
+
+
+http://%HOSTIP:%HTTPPORT/266 -D log/heads266
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /266 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Trailer: chunky-trailer
+Connection: mooo
+
+chunky-trailer: header data
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test267 b/external/3rd/library/curl/curl-7.45.0/tests/data/test267
new file mode 100644
index 000000000..7cc8375a5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test267
@@ -0,0 +1,111 @@
+
+
+
+HTTP
+HTTP POST
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP POST with NTLM authorization and added custom headers
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no"
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /267 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Header1: yes
+Header2: no
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST /267 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Header1: yes
+Header2: no
+Content-Length: 4
+Content-Type: application/x-www-form-urlencoded
+
+data
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test268 b/external/3rd/library/curl/curl-7.45.0/tests/data/test268
new file mode 100644
index 000000000..c9c7311ab
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test268
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP POST
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+
+this is data even though Content-Length is set to zero
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST a non-existing file
+
+
+ -d @nonesuchfile http://%HOSTIP:%HTTPPORT/268
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /268 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test269 b/external/3rd/library/curl/curl-7.45.0/tests/data/test269
new file mode 100644
index 000000000..6b7159b0b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test269
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 677654
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+muahahaha
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP --ignore-content-length
+
+
+http://%HOSTIP:%HTTPPORT/269 --ignore-content-length
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /269 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test27 b/external/3rd/library/curl/curl-7.45.0/tests/data/test27
new file mode 100644
index 000000000..5ae2ffd4f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test27
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+
+
+# Server-side
+
+
+HTTP/1.1 200 Mooo swsclose
+Connection: close
+Set-Cookie: path=/; thewinneris=nowayyouwin;
+Content-Length: 8
+
+*flopp*
+
+
+
+# Client-side
+
+
+http
+
+
+Get same cookie page several times
+
+
+"http://%HOSTIP:%HTTPPORT/want/{27,27,27}" -b none
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl.*
+
+
+GET /want/27 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/27 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: thewinneris=nowayyouwin
+
+GET /want/27 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: thewinneris=nowayyouwin
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test270 b/external/3rd/library/curl/curl-7.45.0/tests/data/test270
new file mode 100644
index 000000000..f4eea970e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test270
@@ -0,0 +1,50 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+PASVBADIP
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP RETR PASV --ftp-skip-pasv-ip
+
+
+ftp://%HOSTIP:%FTPPORT/270 --ftp-skip-pasv-ip --disable-epsv
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+PASV
+TYPE I
+SIZE 270
+RETR 270
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test271 b/external/3rd/library/curl/curl-7.45.0/tests/data/test271
new file mode 100644
index 000000000..af5a6c603
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test271
@@ -0,0 +1,43 @@
+
+
+
+TFTP
+TFTP RRQ
+
+
+
+#
+# Server-side
+
+
+a chunk of
+data
+returned
+ to client
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve
+
+
+tftp://%HOSTIP:%TFTPPORT//271 --trace-ascii log/traceit
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /271
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test272 b/external/3rd/library/curl/curl-7.45.0/tests/data/test272
new file mode 100644
index 000000000..f728a2a8c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test272
@@ -0,0 +1,40 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+213 20040101121212
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP timed conditioned get file with identical time stamp
+
+
+ftp://%HOSTIP:%FTPPORT/272 -z "2004 jan 1 12:12:12 UTC"
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+MDTM 272
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test273 b/external/3rd/library/curl/curl-7.45.0/tests/data/test273
new file mode 100644
index 000000000..ce0be331e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test273
@@ -0,0 +1,84 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with two Digest authorization headers
+
+
+http://%HOSTIP:%HTTPPORT/273 -u testuser:testpass --digest
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /273 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /273 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/273", response="576ae57b1db0039f8c0de43ef58e49e3"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test274 b/external/3rd/library/curl/curl-7.45.0/tests/data/test274
new file mode 100644
index 000000000..579341c82
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test274
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+--max-redirs
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Server: test-server/fake
+Location: data/reply/25
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with --max-redirs 0
+
+
+http://%HOSTIP:%HTTPPORT/want/274 -L --max-redirs 0
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET /want/274 HTTP/1.1
+User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+47
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test275 b/external/3rd/library/curl/curl-7.45.0/tests/data/test275
new file mode 100644
index 000000000..802c4bbcc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test275
@@ -0,0 +1,88 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP Basic auth
+HTTP proxy
+HTTP proxy Basic auth
+proxytunnel
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Connected-fine: sure
+
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 9
+
+contents
+
+
+HTTP/1.1 200 OK
+Connected-fine: sure
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP CONNECT with proxytunnel getting two URLs from the same host
+
+
+http://remotesite.com.275:%HTTPPORT/we/want/that/page/275 -p -x %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:%HTTPPORT/we/want/that/page/275
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT remotesite.com.275:%HTTPPORT HTTP/1.1
+Host: remotesite.com.275:%HTTPPORT
+Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Proxy-Connection: Keep-Alive
+
+
+
+GET /we/want/that/page/275 HTTP/1.1
+Host: remotesite.com.275:%HTTPPORT
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+
+GET /we/want/that/page/275 HTTP/1.1
+Host: remotesite.com.275:%HTTPPORT
+Authorization: Basic aWFtOm15c2VsZg==
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test276 b/external/3rd/library/curl/curl-7.45.0/tests/data/test276
new file mode 100644
index 000000000..34e2235e1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test276
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/2760002.txt?coolsite=http://anotherurl/?a_second/2760002
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/2760002.txt?coolsite=http://anotherurl/?a_second/2760002
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with multiple question marks in URLs
+
+
+"http://%HOSTIP:%HTTPPORT/want?uri=http://anything/276?secondq/276" -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want?uri=http://anything/276?secondq/276 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /data/2760002.txt?coolsite=http://anotherurl/?a_second/2760002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test277 b/external/3rd/library/curl/curl-7.45.0/tests/data/test277
new file mode 100644
index 000000000..a509b40ec
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test277
@@ -0,0 +1,59 @@
+
+
+
+HTTP
+HTTP FORMPOST
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting with custom Content-Type
+
+
+http://%HOSTIP:%HTTPPORT/want/277 -F name=daniel -H "Content-Type: text/info"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+s/^--------------------------[a-z0-9]*/--------------------------/
+s/boundary=------------------------[a-z0-9]*/boundary=------------------------/
+
+
+POST /want/277 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 145
+Expect: 100-continue
+Content-Type: text/info; boundary=------------------------
+
+--------------------------
+Content-Disposition: form-data; name="name"
+
+daniel
+----------------------------
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test278 b/external/3rd/library/curl/curl-7.45.0/tests/data/test278
new file mode 100644
index 000000000..3112264a3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test278
@@ -0,0 +1,49 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 27
+
+the content would go here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy string including http:// and user+empty password
+
+
+http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://we.want.that.site.com/278 HTTP/1.1
+Host: we.want.that.site.com
+Proxy-Authorization: Basic ZmFrZTo=
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test279 b/external/3rd/library/curl/curl-7.45.0/tests/data/test279
new file mode 100644
index 000000000..47f8b687e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test279
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 27
+
+the content would go here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy string including http:// and user only
+
+
+http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://we.want.that.site.com/279 HTTP/1.1
+Host: we.want.that.site.com
+Proxy-Authorization: Basic ZmFrZTo=
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test28 b/external/3rd/library/curl/curl-7.45.0/tests/data/test28
new file mode 100644
index 000000000..1f80d5f48
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test28
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following with extra spaces in header
+
+
+http://%HOSTIP:%HTTPPORT/want/28 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/28 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test280 b/external/3rd/library/curl/curl-7.45.0/tests/data/test280
new file mode 100644
index 000000000..de7534e7b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test280
@@ -0,0 +1,63 @@
+
+
+
+FTP
+PASV
+LIST
+--ftp-alternative-to-user
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+REPLY USER 530 We don't like USER commands
+COUNT USER 1
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP --ftp-alternative-to-user on USER failure
+
+
+ftp://%HOSTIP:%FTPPORT/280/ --ftp-alternative-to-user "USER replacement"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+USER replacement
+PASS ftp@example.com
+PWD
+CWD 280
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test281 b/external/3rd/library/curl/curl-7.45.0/tests/data/test281
new file mode 100644
index 000000000..d399fc05b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test281
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP PUT
+
+
+# Server-side
+
+
+HTTP/1.1 100 Continue
+
+HTTP/1.1 401 Bad Auth swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+WWW-Authenticate: Basic Realm=authenticate
+Server: test-server/fake
+
+
+HTTP/1.1 100 Continue
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT from file with 100 + 401 responses and -f without auth given
+
+
+http://%HOSTIP:%HTTPPORT/we/want/281 -f -T log/test281.txt
+
+
+Weird
+ file
+ to
+ upload
+
+
+
+# Verify data after the test has been "shot"
+
+
+22
+
+
+^User-Agent:.*
+
+
+PUT /we/want/281 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 38
+Expect: 100-continue
+
+Weird
+ file
+ to
+ upload
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test282 b/external/3rd/library/curl/curl-7.45.0/tests/data/test282
new file mode 100644
index 000000000..aa8aba5a2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test282
@@ -0,0 +1,45 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with no response body or headers
+
+
+http://%HOSTIP:%HTTPPORT/282
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /282 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test283 b/external/3rd/library/curl/curl-7.45.0/tests/data/test283
new file mode 100644
index 000000000..922de51e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test283
@@ -0,0 +1,36 @@
+
+
+
+TFTP
+TFTP RRQ
+FAILURE
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve on invalid file
+
+
+tftp://%HOSTIP:%TFTPPORT//invalid-file --trace-ascii log/traceit
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+69
+
+
+opcode: 1
+filename: /invalid-file
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test284 b/external/3rd/library/curl/curl-7.45.0/tests/data/test284
new file mode 100644
index 000000000..0c2a66560
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test284
@@ -0,0 +1,67 @@
+
+
+
+TFTP
+TFTP RRQ
+
+
+
+#
+# Server-side
+
+
+A chunk of data which exactly fits into
+a 512 byte TFTP block, testing a boundary
+condition in the TFTP receive code.
+789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP retrieve of boundary case 512 byte file
+
+
+tftp://%HOSTIP:%TFTPPORT//284 --trace-ascii log/traceit
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+opcode: 1
+filename: /284
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test285 b/external/3rd/library/curl/curl-7.45.0/tests/data/test285
new file mode 100644
index 000000000..75a19991d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test285
@@ -0,0 +1,44 @@
+
+
+
+TFTP
+TFTP WRQ
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP send
+
+
+-T log/test285.txt tftp://%HOSTIP:%TFTPPORT// --trace-ascii log/traceit
+
+
+a chunk of
+data
+sent
+ to server
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+a chunk of
+data
+sent
+ to server
+
+
+opcode: 2
+filename: /test285.txt
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test286 b/external/3rd/library/curl/curl-7.45.0/tests/data/test286
new file mode 100644
index 000000000..841ee1e2a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test286
@@ -0,0 +1,92 @@
+
+
+
+TFTP
+TFTP WRQ
+
+
+
+#
+# Client-side
+
+
+tftp
+
+
+TFTP send of boundary case 512 byte file
+
+
+-T log/test286.txt tftp://%HOSTIP:%TFTPPORT// --trace-ascii log/traceit
+
+
+A chunk of data which exactly fits into
+a 512 byte TFTP block, testing a boundary
+condition in the TFTP transmit code.
+89ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+
+
+
+#
+# Verify pseudo protocol after the test has been "shot"
+
+
+A chunk of data which exactly fits into
+a 512 byte TFTP block, testing a boundary
+condition in the TFTP transmit code.
+89ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+123456789ABCDEF
+
+
+opcode: 2
+filename: /test286.txt
+mode: octet
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test287 b/external/3rd/library/curl/curl-7.45.0/tests/data/test287
new file mode 100644
index 000000000..6772e220f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test287
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+
+
+
+# Server-side
+
+
+
+HTTP/1.1 405 Method Not Allowed swsclose
+
+And you should ignore this data.
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP proxy CONNECT with custom User-Agent header
+
+
+http://test.remote.example.com.287:%HTTPPORT/path/287 -H "User-Agent: looser/2015" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel --proxy-header "User-Agent: looser/2007"
+
+
+
+# Verify data after the test has been "shot"
+
+
+CONNECT test.remote.example.com.287:%HTTPPORT HTTP/1.1
+Host: test.remote.example.com.287:%HTTPPORT
+Proxy-Connection: Keep-Alive
+User-Agent: looser/2007
+
+
+# CURLE_RECV_ERROR
+
+56
+
+
+HTTP/1.1 405 Method Not Allowed swsclose
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test288 b/external/3rd/library/curl/curl-7.45.0/tests/data/test288
new file mode 100644
index 000000000..ff4db6a47
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test288
@@ -0,0 +1,48 @@
+
+
+
+FILE
+
+
+
+# Server-side
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Client-side
+
+
+none
+
+
+file
+
+
+file:// with (unsupported) proxy, authentication and range
+
+
+all_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
+
+
+file://localhost/%PWD/log/test288.txt
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test289 b/external/3rd/library/curl/curl-7.45.0/tests/data/test289
new file mode 100644
index 000000000..2720e2e9c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test289
@@ -0,0 +1,30 @@
+
+
+
+FTP
+STOR
+Resume
+FAILURE
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP resume upload but denied access to local file
+
+
+ftp://%HOSTIP:%FTPPORT/289 -T log/illegal-nonexistent-file -C -
+
+
+
+# Verify data after the test has been "shot"
+
+
+26
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test29 b/external/3rd/library/curl/curl-7.45.0/tests/data/test29
new file mode 100644
index 000000000..9a7bd9ef9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test29
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+timeout
+FAILURE
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+_data_result_data_
+
+
+wait 10
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with 2 secs timeout
+
+
+http://%HOSTIP:%HTTPPORT/want/29 -m 2
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/29 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test290 b/external/3rd/library/curl/curl-7.45.0/tests/data/test290
new file mode 100644
index 000000000..6078a2ac7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test290
@@ -0,0 +1,43 @@
+
+
+
+FTP
+--max-filesize
+
+
+# Server-side
+
+
+85
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download maximum filesize exceeded
+
+
+ftp://%HOSTIP:%FTPPORT/290 --max-filesize 30
+
+
+
+# Verify data after the test has been "shot"
+
+
+63
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 290
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test291 b/external/3rd/library/curl/curl-7.45.0/tests/data/test291
new file mode 100644
index 000000000..18e039e4f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test291
@@ -0,0 +1,47 @@
+
+
+
+FTP
+RETR
+--max-filesize
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download maximum filesize not exceeded
+
+
+ftp://%HOSTIP:%FTPPORT/291 --max-filesize 100
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 291
+RETR 291
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test292 b/external/3rd/library/curl/curl-7.45.0/tests/data/test292
new file mode 100644
index 000000000..800e8d178
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test292
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+--max-filesize
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with maximum filesize not exceeded
+
+
+http://%HOSTIP:%HTTPPORT/292 --max-filesize 1000
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /292 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test293 b/external/3rd/library/curl/curl-7.45.0/tests/data/test293
new file mode 100644
index 000000000..d75fc9a3c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test293
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+--max-filesize
+FAILURE
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with maximum filesize exceeded
+
+
+http://%HOSTIP:%HTTPPORT/293 --max-filesize 2
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+63
+
+
+^User-Agent:.*
+
+
+GET /293 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test294 b/external/3rd/library/curl/curl-7.45.0/tests/data/test294
new file mode 100644
index 000000000..a9752a278
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test294
@@ -0,0 +1,64 @@
+
+
+
+FTP
+PASV
+LIST
+ACCT
+--ftp-account
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+REPLY PASS 332 Give me an ACCT now
+REPLY ACCT 230 Thank-you for the ACCT
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP --ftp-account on ACCT request
+
+
+ftp://%HOSTIP:%FTPPORT/294/ --ftp-account "data for acct"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+ACCT data for acct
+PWD
+CWD 294
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test295 b/external/3rd/library/curl/curl-7.45.0/tests/data/test295
new file mode 100644
index 000000000..5b1ddcf6b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test295
@@ -0,0 +1,45 @@
+
+
+
+FTP
+PASV
+LIST
+ACCT
+FAILURE
+
+
+#
+# Server-side
+
+
+REPLY PASS 332 Give me an ACCT now
+REPLY PWD 530 No ACCT, go away
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP ACCT request without --ftp-account
+
+
+ftp://%HOSTIP:%FTPPORT/295/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+67
+
+
+USER anonymous
+PASS ftp@example.com
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test296 b/external/3rd/library/curl/curl-7.45.0/tests/data/test296
new file mode 100644
index 000000000..2008c8bfd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test296
@@ -0,0 +1,48 @@
+
+
+
+FTP
+PASV
+CWD
+--ftp-method
+multicwd
+
+
+#
+# Server-side
+
+
+bla bla bla
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP CWD with --ftp-method multicwd
+
+
+--ftp-method multicwd ftp://%HOSTIP:%FTPPORT/first/second/third/296
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD first
+CWD second
+CWD third
+EPSV
+TYPE I
+SIZE 296
+RETR 296
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test297 b/external/3rd/library/curl/curl-7.45.0/tests/data/test297
new file mode 100644
index 000000000..36573f8b9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test297
@@ -0,0 +1,46 @@
+
+
+
+FTP
+PASV
+CWD
+--ftp-method
+singlecwd
+
+
+#
+# Server-side
+
+
+bla bla bla
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP CWD with --ftp-method singlecwd
+
+
+--ftp-method singlecwd ftp://%HOSTIP:%FTPPORT/first/second/third/297
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD first/second/third
+EPSV
+TYPE I
+SIZE 297
+RETR 297
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test298 b/external/3rd/library/curl/curl-7.45.0/tests/data/test298
new file mode 100644
index 000000000..80913e84b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test298
@@ -0,0 +1,45 @@
+
+
+
+FTP
+PASV
+CWD
+--ftp-method
+nocwd
+
+
+#
+# Server-side
+
+
+bla bla bla
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP CWD with --ftp-method nocwd
+
+
+--ftp-method nocwd ftp://%HOSTIP:%FTPPORT/first/second/third/298
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE first/second/third/298
+RETR first/second/third/298
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test299 b/external/3rd/library/curl/curl-7.45.0/tests/data/test299
new file mode 100644
index 000000000..4daaea47d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test299
@@ -0,0 +1,53 @@
+
+
+
+FTP
+HTTP
+CURLOPT_USERPWD
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+ftp
+
+
+FTP over HTTP proxy with user:pass not in url
+
+
+-x http://%HOSTIP:%HTTPPORT -u michal:aybabtu ftp://host.com/we/want/299
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://michal:aybabtu@host.com/we/want/299 HTTP/1.1
+Host: host.com:21
+Authorization: Basic bWljaGFsOmF5YmFidHU=
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test3 b/external/3rd/library/curl/curl-7.45.0/tests/data/test3
new file mode 100644
index 000000000..0fe276467
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test3
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Basic auth
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+
+this is data even though Content-Length is set to zero
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with auth and contents but with content-length set to 0
+
+
+ -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://%HOSTIP:%HTTPPORT/3
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /3 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic ZmFrZTotdXNlcg==
+Accept: */*
+Content-Length: 37
+Content-Type: application/x-www-form-urlencoded
+
+fooo=mooo&pooo=clue&doo=%20%20%20++++
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test30 b/external/3rd/library/curl/curl-7.45.0/tests/data/test30
new file mode 100644
index 000000000..70b8005f5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test30
@@ -0,0 +1,43 @@
+
+
+
+HTTP
+HTTP GET
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with no data in server reply
+
+
+http://%HOSTIP:%HTTPPORT/want/30
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/30 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+52
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test300 b/external/3rd/library/curl/curl-7.45.0/tests/data/test300
new file mode 100644
index 000000000..7b4222d12
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test300
@@ -0,0 +1,52 @@
+
+
+
+HTTPS
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https
+
+
+simple HTTPS GET
+
+
+-k https://%HOSTIP:%HTTPSPORT/300
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /300 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test301 b/external/3rd/library/curl/curl-7.45.0/tests/data/test301
new file mode 100644
index 000000000..c40469578
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test301
@@ -0,0 +1,57 @@
+
+
+
+HTTPS
+HTTP GET
+HTTP Basic auth
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https
+
+
+HTTPS GET with user and password
+
+
+-k -u fake:user https://%HOSTIP:%HTTPSPORT/301
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /301 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Authorization: Basic ZmFrZTp1c2Vy
+Accept: */*
+
+
+
+[insert full protocol verifiction dump here]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test302 b/external/3rd/library/curl/curl-7.45.0/tests/data/test302
new file mode 100644
index 000000000..7bb162b41
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test302
@@ -0,0 +1,51 @@
+
+
+
+HTTPS
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+FAILURE
+
+
+
+# Server-side
+
+
+
+HTTP/1.1 405 Method Not Allowed swsclose
+
+And you should ignore this data.
+
+
+
+
+# Client-side
+
+
+SSL
+
+
+https
+
+
+HTTPS GET over HTTP proxy fails
+
+
+-k -U fake:user -x %HOSTIP:%HTTPPORT https://bad.fakeurl-to.test:302/slash/302
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+56
+
+
+^User-Agent:.*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test303 b/external/3rd/library/curl/curl-7.45.0/tests/data/test303
new file mode 100644
index 000000000..01dd9ebb1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test303
@@ -0,0 +1,55 @@
+
+
+
+HTTPS
+HTTP GET
+timeout
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+_data_result_data_
+
+
+wait 20
+
+
+
+# Client-side
+
+
+SSL
+
+
+https
+
+
+HTTPS with 8 secs timeout
+
+
+-k https://%HOSTIP:%HTTPSPORT/want/303 -m 8
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/303 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+
+28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test304 b/external/3rd/library/curl/curl-7.45.0/tests/data/test304
new file mode 100644
index 000000000..fedf18ff5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test304
@@ -0,0 +1,72 @@
+
+
+
+HTTPS
+HTTP POST
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+SSL
+
+
+https
+
+
+HTTPS multipart formpost
+
+
+-k https://%HOSTIP:%HTTPSPORT/we/want/304 -F name=daniel -F tool=curl -F file=@log/test304.txt
+
+# We create this file before the command is invoked!
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------).*
+
+
+POST /we/want/304 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+Content-Length: 1386
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------c3b2ef7f0bb8
+
+------------------------------c3b2ef7f0bb8
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------c3b2ef7f0bb8
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------c3b2ef7f0bb8
+Content-Disposition: form-data; name="file"; filename="test304.txt"
+Content-Type: text/plain
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+------------------------------c3b2ef7f0bb8--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test305 b/external/3rd/library/curl/curl-7.45.0/tests/data/test305
new file mode 100644
index 000000000..858a0040e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test305
@@ -0,0 +1,35 @@
+
+
+
+HTTPS
+HTTP GET
+FAILURE
+
+
+
+# Client-side
+
+
+SSL
+
+
+https
+
+
+insecure HTTPS without permission
+
+
+https://%HOSTIP:%HTTPSPORT/want/305 --cacert moooo
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+77
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test306 b/external/3rd/library/curl/curl-7.45.0/tests/data/test306
new file mode 100644
index 000000000..95d4cef35
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test306
@@ -0,0 +1,65 @@
+
+
+
+HTTPS
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+No headers at all, just data swsclose
+
+Let's get
+
+a little
+
+so that
+
+we
+
+have
+
+some
+
+test
+
+data to
+
+verify
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https
+
+
+HTTPS GET, receive no headers only data!
+
+
+-k https://%HOSTIP:%HTTPSPORT/306
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /306 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test307 b/external/3rd/library/curl/curl-7.45.0/tests/data/test307
new file mode 100644
index 000000000..03c2b3c2d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test307
@@ -0,0 +1,56 @@
+
+
+
+HTTPS
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 16 Jan 2007 18:00:14 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+OpenSSL
+
+
+https
+
+
+perl %SRCDIR/libtest/test307.pl %CURL
+
+
+
+simple HTTPS GET with openssl engine
+
+
+--engine openssl -k https://%HOSTIP:%HTTPSPORT/307
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /307 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test308 b/external/3rd/library/curl/curl-7.45.0/tests/data/test308
new file mode 100644
index 000000000..d20556a19
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test308
@@ -0,0 +1,34 @@
+
+
+
+HTTPS
+HTTP GET
+FAILURE
+
+
+
+#
+# Client-side
+
+
+OpenSSL
+
+
+https
+
+
+simple HTTPS GET with invalid crypto engine
+
+
+--engine invalid-crypto-engine-xyzzy -k https://%HOSTIP:%HTTPSPORT/308
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+53
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test309 b/external/3rd/library/curl/curl-7.45.0/tests/data/test309
new file mode 100644
index 000000000..dd0431206
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test309
@@ -0,0 +1,86 @@
+
+
+
+HTTP
+HTTPS
+HTTP GET
+followlocation
+
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
+Connection: close
+
+This server reply is for testing a simple Location: following to HTTPS URL
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+SSL
+
+
+http
+https
+
+
+HTTP Location: redirect to HTTPS URL
+
+
+-k http://%HOSTIP:%HTTPPORT/want/309 -L
+
+# The data section doesn't do variable substitution, so we must assert this
+
+perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%HTTPSPORT' ne '8991' );"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/309 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /data/3090002.txt?coolsite=yes HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test31 b/external/3rd/library/curl/curl-7.45.0/tests/data/test31
new file mode 100644
index 000000000..7cf556c0c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test31
@@ -0,0 +1,137 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+cookiejar
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
+Set-Cookie:ismatch=this ; domain=127.0.0.1; path=/silly/
+Set-Cookie: overwrite=this ; domain=127.0.0.1; path=/overwrite/
+Set-Cookie: overwrite=this2 ; domain=127.0.0.1; path=/overwrite
+Set-Cookie: sec1value=secure1 ; domain=127.0.0.1; path=/secure1/ ; secure
+Set-Cookie: sec2value=secure2 ; domain=127.0.0.1; path=/secure2/ ; secure=
+Set-Cookie: sec3value=secure3 ; domain=127.0.0.1; path=/secure3/ ; secure=
+Set-Cookie: sec4value=secure4 ; secure=; domain=127.0.0.1; path=/secure4/ ;
+Set-Cookie: sec5value=secure5 ; secure; domain=127.0.0.1; path=/secure5/ ;
+Set-Cookie: sec6value=secure6 ; secure ; domain=127.0.0.1; path=/secure6/ ;
+Set-Cookie: sec7value=secure7 ; secure ; domain=127.0.0.1; path=/secure7/ ;
+Set-Cookie: sec8value=secure8 ; secure= ; domain=127.0.0.1; path=/secure8/ ;
+Set-Cookie: secure=very1 ; secure=; domain=127.0.0.1; path=/secure9/;
+Set-Cookie: httpo1=value1 ; domain=127.0.0.1; path=/p1/; httponly
+Set-Cookie: httpo2=value2 ; domain=127.0.0.1; path=/p2/; httponly=
+Set-Cookie: httpo3=value3 ; httponly; domain=127.0.0.1; path=/p3/;
+Set-Cookie: httpo4=value4 ; httponly=; domain=127.0.0.1; path=/p4/;
+Set-Cookie: httponly=myvalue1 ; domain=127.0.0.1; path=/p4/; httponly
+Set-Cookie: httpandsec=myvalue2 ; domain=127.0.0.1; path=/p4/; httponly; secure
+Set-Cookie: httpandsec2=myvalue3; domain=127.0.0.1; path=/p4/; httponly=; secure
+Set-Cookie: httpandsec3=myvalue4 ; domain=127.0.0.1; path=/p4/; httponly; secure=
+Set-Cookie: httpandsec4=myvalue5 ; domain=127.0.0.1; path=/p4/; httponly=; secure=
+Set-Cookie: httpandsec5=myvalue6 ; domain=127.0.0.1; path=/p4/; secure; httponly=
+Set-Cookie: httpandsec6=myvalue7 ; domain=127.0.0.1; path=/p4/; secure=; httponly=
+Set-Cookie: httpandsec7=myvalue8 ; domain=127.0.0.1; path=/p4/; secure; httponly
+Set-Cookie: httpandsec8=myvalue9; domain=127.0.0.1; path=/p4/; secure=; httponly
+Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/;
+Set-Cookie:eat=this; domain=moo.foo.moo;
+Set-Cookie: eat=this-too; domain=.foo.moo;
+Set-Cookie: nodomainnovalue
+Set-Cookie: nodomain=value; expires=Fri Feb 2 11:56:27 GMT 2035
+Set-Cookie: novalue; domain=reallysilly
+Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
+Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030
+Set-Cookie: magic=yessir; path=/silly/; HttpOnly
+Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad;
+Set-Cookie: partialip=nono; domain=.0.0.1;
+Set-Cookie: withspaces= yes within and around ;
+Set-Cookie: withspaces2 =before equals;
+Set-Cookie: prespace= yes before;
+Set-Cookie: securewithspace=after ; secure =
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with weirdly formatted cookies and cookiejar storage
+
+# Explicitly set the time zone to a known good one, in case the user is
+# using one of the 'right' zones that take into account leap seconds
+# which causes the cookie expiry times to be different.
+
+TZ=GMT
+
+
+http://%HOSTIP:%HTTPPORT/we/want/31 -b none -c log/jar31.txt
+
+
+perl -e 'if ("%HOSTIP" !~ /127\.0\.0\.1$/) {print "Test only works for HOSTIP 127.0.0.1"; exit(1)}'
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/31 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+127.0.0.1 FALSE /silly/ FALSE 0 ismatch this
+127.0.0.1 FALSE /overwrite FALSE 0 overwrite this2
+127.0.0.1 FALSE /secure1/ TRUE 0 sec1value secure1
+127.0.0.1 FALSE /secure2/ TRUE 0 sec2value secure2
+127.0.0.1 FALSE /secure3/ TRUE 0 sec3value secure3
+127.0.0.1 FALSE /secure4/ TRUE 0 sec4value secure4
+127.0.0.1 FALSE /secure5/ TRUE 0 sec5value secure5
+127.0.0.1 FALSE /secure6/ TRUE 0 sec6value secure6
+127.0.0.1 FALSE /secure7/ TRUE 0 sec7value secure7
+127.0.0.1 FALSE /secure8/ TRUE 0 sec8value secure8
+127.0.0.1 FALSE /secure9/ TRUE 0 secure very1
+#HttpOnly_127.0.0.1 FALSE /p1/ FALSE 0 httpo1 value1
+#HttpOnly_127.0.0.1 FALSE /p2/ FALSE 0 httpo2 value2
+#HttpOnly_127.0.0.1 FALSE /p3/ FALSE 0 httpo3 value3
+#HttpOnly_127.0.0.1 FALSE /p4/ FALSE 0 httpo4 value4
+#HttpOnly_127.0.0.1 FALSE /p4/ FALSE 0 httponly myvalue1
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec myvalue2
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec2 myvalue3
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec3 myvalue4
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec4 myvalue5
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec5 myvalue6
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec6 myvalue7
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec7 myvalue8
+#HttpOnly_127.0.0.1 FALSE /p4/ TRUE 0 httpandsec8 myvalue9
+127.0.0.1 FALSE / FALSE 0 partmatch present
+127.0.0.1 FALSE /we/want/ FALSE 2054030187 nodomain value
+#HttpOnly_127.0.0.1 FALSE /silly/ FALSE 0 magic yessir
+127.0.0.1 FALSE /we/want/ FALSE 0 blexp yesyes
+127.0.0.1 FALSE /we/want/ FALSE 0 withspaces yes within and around
+127.0.0.1 FALSE /we/want/ FALSE 0 withspaces2 before equals
+127.0.0.1 FALSE /we/want/ FALSE 0 prespace yes before
+127.0.0.1 FALSE /we/want/ TRUE 0 securewithspace after
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test310 b/external/3rd/library/curl/curl-7.45.0/tests/data/test310
new file mode 100644
index 000000000..e7a9379ab
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test310
@@ -0,0 +1,57 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https Server-localhost-sv.pem
+
+
+simple HTTPS GET
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/310
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /310 HTTP/1.1
+Host: localhost:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test311 b/external/3rd/library/curl/curl-7.45.0/tests/data/test311
new file mode 100644
index 000000000..0465ed1d3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test311
@@ -0,0 +1,43 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https Server-localhost0h-sv.pem
+
+
+HTTPS wrong subjectAltName but right CN
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/311
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+51
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test312 b/external/3rd/library/curl/curl-7.45.0/tests/data/test312
new file mode 100644
index 000000000..af4422f43
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test312
@@ -0,0 +1,43 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https Server-localhost.nn-sv.pem
+
+
+HTTPS GET to localhost and null-prefixed CN cert
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/312
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+51
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test313 b/external/3rd/library/curl/curl-7.45.0/tests/data/test313
new file mode 100644
index 000000000..c54495a88
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test313
@@ -0,0 +1,39 @@
+
+
+
+HTTPS
+HTTP GET
+PEM certificate
+CRL
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https Server-localhost-sv.pem
+
+
+CRL test
+
+
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --crlfile %SRCDIR/certs/Server-localhost-sv.crl https://localhost:%HTTPSPORT/313
+
+# Ensure that we're running on localhost because we're checking the host name
+
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+60
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test32 b/external/3rd/library/curl/curl-7.45.0/tests/data/test32
new file mode 100644
index 000000000..992ffcbcf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test32
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+-G
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with -d and -G
+
+
+-d "foo=moo&moo=poo" http://%HOSTIP:%HTTPPORT/32 -G
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /32?foo=moo&moo=poo HTTP/1.1
+User-Agent: curl/7.9.5 (i686-pc-linux-gnu) libcurl 7.9.5-cvs (OpenSSL 0.9.5) (ipv6 enabled)
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test320 b/external/3rd/library/curl/curl-7.45.0/tests/data/test320
new file mode 100644
index 000000000..4b6f833ac
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test320
@@ -0,0 +1,96 @@
+
+
+
+HTTPS
+HTTP GET
+TLS-SRP
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK
+Content-type: text/html
+
+
+
+
+
+
+Session ID: 003030000100000001000000000000000030330001000000B062410001000000
+If your browser supports session resuming, then you should see the same session ID, when you press the reload button.
+Connected as user 'jsmith'.
+
+
| Protocol version: | TLS1.2 |
+| Key Exchange: | SRP |
+| Compression | NULL |
+| Cipher | AES-NNN-CBC |
+| MAC | SHA1 |
+| Ciphersuite | SRP_SHA_AES_NNN_CBC_SHA1 |
+
Your HTTP header was:
Host: localhost:9011
+User-Agent: curl-test-suite
+Accept: */*
+
+
+
+
+
+
+
+# Client-side
+
+
+httptls+srp
+
+
+TLS-SRP
+
+
+simple TLS-SRP HTTPS GET, check user in response
+
+
+--insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword abc -A curl-test-suite https://%HOSTIP:%HTTPTLSPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+
+
+HTTP/1.0 200 OK
+Content-type: text/html
+
+
+
+
+
+
+
+If your browser supports session resuming, then you should see the same session ID, when you press the reload button.
+Connected as user 'jsmith'.
+
+
|
+| Key Exchange: | SRP |
+| Compression | NULL |
+| Cipher | AES-NNN-CBC |
+| MAC | SHA1 |
+| Ciphersuite | SRP_SHA_AES_NNN_CBC_SHA1 |
+
Your HTTP header was:
Host: %HOSTIP:%HTTPTLSPORT
+User-Agent: curl-test-suite
+Accept: */*
+
+
+
+
+
+
+s/^Session ID:.*//
+s/Protocol version:.*[0-9]//
+s/GNUTLS/GnuTLS/
+s/(AES[-_])\d\d\d([-_]CBC)/$1NNN$2/
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test321 b/external/3rd/library/curl/curl-7.45.0/tests/data/test321
new file mode 100644
index 000000000..c6b208b2a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test321
@@ -0,0 +1,33 @@
+
+
+
+HTTPS
+TLS-SRP
+FAILURE
+
+
+
+# Client-side
+
+
+httptls+srp
+
+
+TLS-SRP
+
+
+TLS-SRP with bad username and password
+
+
+--insecure --tlsauthtype SRP --tlsuser baduser --tlspassword badpass https://%HOSTIP:%HTTPTLSPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+35
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test322 b/external/3rd/library/curl/curl-7.45.0/tests/data/test322
new file mode 100644
index 000000000..f7f82790f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test322
@@ -0,0 +1,33 @@
+
+
+
+HTTPS
+TLS-SRP
+FAILURE
+
+
+
+# Client-side
+
+
+httptls+srp
+
+
+TLS-SRP
+
+
+TLS-SRP with bad password
+
+
+--insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword badpass https://%HOSTIP:%HTTPTLSPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+35
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test323 b/external/3rd/library/curl/curl-7.45.0/tests/data/test323
new file mode 100644
index 000000000..6439b4d43
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test323
@@ -0,0 +1,33 @@
+
+
+
+HTTPS
+TLS-SRP
+FAILURE
+
+
+
+# Client-side
+
+
+https
+
+
+TLS-SRP
+
+
+TLS-SRP to non-TLS-SRP server
+
+
+--insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword badpass https://%HOSTIP:%HTTPSPORT/want/323
+
+
+
+# Verify data after the test has been "shot"
+
+
+35
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test324 b/external/3rd/library/curl/curl-7.45.0/tests/data/test324
new file mode 100644
index 000000000..b58d940e5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test324
@@ -0,0 +1,33 @@
+
+
+
+HTTPS
+TLS-SRP
+FAILURE
+
+
+
+# Client-side
+
+
+httptls+srp
+
+
+TLS-SRP
+
+
+TLS-SRP with server cert checking
+
+ # no --insecure
+--tlsauthtype SRP --tlsuser jsmith --tlspassword abc https://%HOSTIP:%HTTPTLSPORT/want/323
+
+
+
+# Verify data after the test has been "shot"
+
+
+51
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test325 b/external/3rd/library/curl/curl-7.45.0/tests/data/test325
new file mode 100644
index 000000000..6d5898d45
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test325
@@ -0,0 +1,66 @@
+
+
+
+HTTPS
+HTTP GET
+--proto-redir
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 301 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+Location: http://%HOSTIP:%HTTPPORT/325
+
+MooMoo
+
+
+HTTP/1.1 301 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+Location: http://%HOSTIP:%HTTPPORT/325
+
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https
+
+
+HTTPS with attempted redirect to denied HTTP
+
+
+-k https://%HOSTIP:%HTTPSPORT/325 --proto-redir -http --location
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /325 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+# 1 - Protocol http not supported or disabled in libcurl
+
+1
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test33 b/external/3rd/library/curl/curl-7.45.0/tests/data/test33
new file mode 100644
index 000000000..9f7c31fb1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test33
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP PUT
+Resume
+Content-Range
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT with resume
+
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+http://%HOSTIP:%HTTPPORT/33 -Tlog/test33.txt -C 50
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /33 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Content-Range: bytes 50-99/100
+User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
+Accept: */*
+Content-Length: 50
+Expect: 100-continue
+
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test34 b/external/3rd/library/curl/curl-7.45.0/tests/data/test34
new file mode 100644
index 000000000..a332b8c4b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test34
@@ -0,0 +1,66 @@
+
+
+
+HTTP
+HTTP GET
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+40
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+30
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+21;heresatest=moooo
+cccccccccccccccccccccccccccccccc
+
+0
+
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with chunked Transfer-Encoding
+
+
+http://%HOSTIP:%HTTPPORT/34
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /34 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test35 b/external/3rd/library/curl/curl-7.45.0/tests/data/test35
new file mode 100644
index 000000000..85733a456
Binary files /dev/null and b/external/3rd/library/curl/curl-7.45.0/tests/data/test35 differ
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test350 b/external/3rd/library/curl/curl-7.45.0/tests/data/test350
new file mode 100644
index 000000000..6cb53fa11
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test350
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP root dir list multicwd
+
+
+ftp://%HOSTIP:%FTPPORT// --ftp-method multicwd
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test351 b/external/3rd/library/curl/curl-7.45.0/tests/data/test351
new file mode 100644
index 000000000..219677f78
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test351
@@ -0,0 +1,56 @@
+
+
+
+FTP
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP root dir list nocwd
+
+
+ftp://%HOSTIP:%FTPPORT// --ftp-method nocwd
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST /
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test352 b/external/3rd/library/curl/curl-7.45.0/tests/data/test352
new file mode 100644
index 000000000..5f498a23b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test352
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP root dir list singlecwd
+
+
+ftp://%HOSTIP:%FTPPORT// --ftp-method singlecwd
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test353 b/external/3rd/library/curl/curl-7.45.0/tests/data/test353
new file mode 100644
index 000000000..1adee379b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test353
@@ -0,0 +1,56 @@
+
+
+
+FTP
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+FTP home dir list singlecwd
+
+
+ftp://%HOSTIP:%FTPPORT/ --ftp-method singlecwd
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test354 b/external/3rd/library/curl/curl-7.45.0/tests/data/test354
new file mode 100644
index 000000000..a6949328a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test354
@@ -0,0 +1,50 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY USER 200 fine, proceed without password
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP without password
+
+
+ftp://%HOSTIP:%FTPPORT/354
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PWD
+EPSV
+TYPE I
+SIZE 354
+RETR 354
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test36 b/external/3rd/library/curl/curl-7.45.0/tests/data/test36
new file mode 100644
index 000000000..4e3fd8c87
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test36
@@ -0,0 +1,66 @@
+
+
+
+HTTP
+HTTP GET
+chunked Transfer-Encoding
+FAILURE
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+2
+a
+
+ILLEGAL
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+
+
+HTTP/1.1 200 funky chunky!
+Server: fakeit/0.9 fakeitbad/1.0
+Transfer-Encoding: chunked
+Connection: mooo
+
+a
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with bad chunked Transfer-Encoding
+
+
+http://%HOSTIP:%HTTPPORT/36
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+56
+
+
+^User-Agent:.*
+
+
+GET /36 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test37 b/external/3rd/library/curl/curl-7.45.0/tests/data/test37
new file mode 100644
index 000000000..768762300
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test37
@@ -0,0 +1,47 @@
+
+
+
+HTTP
+HTTP GET
+FAILURE
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with nothing returned from server
+
+
+http://%HOSTIP:%HTTPPORT/37
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+52
+
+
+^User-Agent:.*
+
+
+GET /37 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test38 b/external/3rd/library/curl/curl-7.45.0/tests/data/test38
new file mode 100644
index 000000000..848150a33
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test38
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+Resume
+FAILURE
+
+
+# Server-side
+
+
+HTTP/1.0 200 Mooo
+Date: Mon, 13 Nov 2000 13:41:09 GMT
+Server: myown/1.0
+Connection: close
+
+todelooooo lalalala yada yada, we know nothing about ranges ;-)
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP resume request without server supporting it
+
+
+http://%HOSTIP:%HTTPPORT/want/38 -C - --no-include -o log/fewl.txt
+
+
+This text is here to simulate a partly downloaded file to resume
+download on.
+
+
+
+# Verify data after the test has been "shot"
+
+
+33
+
+
+^User-Agent:.*
+
+
+GET /want/38 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=78-
+Accept: */*
+
+
+
+# the download target file must remain untouched
+
+This text is here to simulate a partly downloaded file to resume
+download on.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test39 b/external/3rd/library/curl/curl-7.45.0/tests/data/test39
new file mode 100644
index 000000000..1867b6081
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test39
@@ -0,0 +1,109 @@
+
+
+
+HTTP
+HTTP FORMPOST
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting with filename= and type=
+
+
+http://%HOSTIP:%HTTPPORT/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2=
+# We create this file before the command is invoked!
+
+foo bar
+This is a bar foo
+bar
+foo
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|-------).*
+
+
+POST /we/want/39 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1184
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="str1"
+
+@literal
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="str2"
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test4 b/external/3rd/library/curl/curl-7.45.0/tests/data/test4
new file mode 100644
index 000000000..df69d3274
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test4
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+HTTP added headers
+HTTP replaced headers
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+Replaced internal and added custom HTTP headers
+
+
+ -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/4
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /4 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+extra-header: here
+Accept: replaced
+X-Custom-Header:
+X-Test: foo;
+X-Test2: foo;
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test40 b/external/3rd/library/curl/curl-7.45.0/tests/data/test40
new file mode 100644
index 000000000..6be0d1615
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test40
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/?name=d a niel&testcase=/400002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/?name=d a niel&testcase=/400002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP redirect with whitespace after ? (and conversion)
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/40 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/40 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/are/all/moo.html/?name=d+a+niel&testcase=/400002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test400 b/external/3rd/library/curl/curl-7.45.0/tests/data/test400
new file mode 100644
index 000000000..75d59791e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test400
@@ -0,0 +1,61 @@
+
+
+
+FTPS
+PASV
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTPS server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS dir list PASV unencrypted data
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test401 b/external/3rd/library/curl/curl-7.45.0/tests/data/test401
new file mode 100644
index 000000000..cb01c1c2c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test401
@@ -0,0 +1,56 @@
+
+
+
+FTPS
+EPSV
+STOR
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS PASV upload file
+
+
+data
+ to
+ see
+that FTPS
+works
+ so does it?
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/401 -T log/test401.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+data
+ to
+ see
+that FTPS
+works
+ so does it?
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+EPSV
+TYPE I
+STOR 401
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test402 b/external/3rd/library/curl/curl-7.45.0/tests/data/test402
new file mode 100644
index 000000000..272c4e309
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test402
@@ -0,0 +1,35 @@
+
+
+
+FTPS
+FAILURE
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftp
+
+
+FTP SSL required on non-SSL server
+
+
+-k --ftp-ssl-reqd ftp://%HOSTIP:%FTPPORT/402
+
+
+
+# Verify data after the test has been "shot"
+
+
+64
+
+
+AUTH SSL
+AUTH TLS
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test403 b/external/3rd/library/curl/curl-7.45.0/tests/data/test403
new file mode 100644
index 000000000..2b8ff5e29
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test403
@@ -0,0 +1,64 @@
+
+
+
+FTPS
+PASV
+LIST
+CCC
+FAILURE
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTPS server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS with CCC not supported by server
+
+
+-k --ftp-ssl-control --ftp-ssl-ccc ftps://%HOSTIP:%FTPSPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+CCC
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test404 b/external/3rd/library/curl/curl-7.45.0/tests/data/test404
new file mode 100644
index 000000000..97666302b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test404
@@ -0,0 +1,31 @@
+
+
+
+FTPS
+FAILURE
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS with invalid cacert
+
+
+--ftp-ssl-control --cacert moooo ftps://%HOSTIP:%FTPSPORT/
+
+
+
+# Verify data after the test has been "shot"
+
+
+77
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test405 b/external/3rd/library/curl/curl-7.45.0/tests/data/test405
new file mode 100644
index 000000000..29e7af28e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test405
@@ -0,0 +1,34 @@
+
+
+
+FTPS
+FAILURE
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftp
+
+
+FTPS operation to FTP port
+
+
+-m 5 -k ftps://%HOSTIP:%FTPPORT/path/to/file/405
+
+
+
+# Verify data after the test has been "shot"
+
+# error code 35 is CURLE_SSL_CONNECT_ERROR
+# GnuTLS seems to not fail on its handshake but instead times out which gives
+# error 28
+
+35,28
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test406 b/external/3rd/library/curl/curl-7.45.0/tests/data/test406
new file mode 100644
index 000000000..3259bc6ae
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test406
@@ -0,0 +1,66 @@
+
+
+
+FTPS
+PORT
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTPS server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS dir list, PORT with specified IP
+
+
+-k --ftp-ssl-control -P %CLIENTIP ftps://%HOSTIP:%FTPSPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test407 b/external/3rd/library/curl/curl-7.45.0/tests/data/test407
new file mode 100644
index 000000000..8c14fa846
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test407
@@ -0,0 +1,59 @@
+
+
+
+FTPS
+PASV
+RETR
+
+
+
+# Server-side
+
+
+data blobb
+
+
+# data is sent to stdout
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+Get two FTPS files from the same remote dir: no second CWD
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/a/path/407 ftps://%HOSTIP:%FTPSPORT/a/path/407
+
+
+data blobb
+data blobb
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+CWD a
+CWD path
+EPSV
+TYPE I
+SIZE 407
+RETR 407
+EPSV
+SIZE 407
+RETR 407
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test408 b/external/3rd/library/curl/curl-7.45.0/tests/data/test408
new file mode 100644
index 000000000..d0aa13b8a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test408
@@ -0,0 +1,61 @@
+
+
+
+FTPS
+PORT
+STOR
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS PORT upload with CWD
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/CWD/STOR/RETR/408 -T log/upload408 -P -
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+CWD CWD
+CWD STOR
+CWD RETR
+PORT 127,0,0,1,5,109
+TYPE I
+STOR 408
+QUIT
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test409 b/external/3rd/library/curl/curl-7.45.0/tests/data/test409
new file mode 100644
index 000000000..d7801a841
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test409
@@ -0,0 +1,56 @@
+
+
+
+FTPS
+EPSV
+STOR
+
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+FTPS PASV upload file
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/409 -T log/test409.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+EPSV
+TYPE I
+STOR 409
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test41 b/external/3rd/library/curl/curl-7.45.0/tests/data/test41
new file mode 100644
index 000000000..08eca38c9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test41
@@ -0,0 +1,32 @@
+
+
+
+HTTP
+HTTP FORMPOST
+FAILURE
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP formpost with missing file
+
+
+http://%HOSTIP:%HTTPPORT/want/41 -F moo=@boo
+
+
+
+# Verify data after the test has been "shot"
+
+
+26
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test42 b/external/3rd/library/curl/curl-7.45.0/tests/data/test42
new file mode 100644
index 000000000..e303f3a27
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test42
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../m o o.html/420002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../m o o.html/420002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP redirect with whitespace in path (and conversion)
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/42 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/42 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/are/all/m%20o%20o.html/420002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test43 b/external/3rd/library/curl/curl-7.45.0/tests/data/test43
new file mode 100644
index 000000000..e5535bb3a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test43
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+HTTP proxy
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/430002.txt?coolsite=yes
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data/430002.txt?coolsite=yes
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP Location: following over HTTP proxy
+
+
+http://%HOSTIP:%HTTPPORT/want/43 -L -x %HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/want/43 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://%HOSTIP:%HTTPPORT/want/data/430002.txt?coolsite=yes HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test44 b/external/3rd/library/curl/curl-7.45.0/tests/data/test44
new file mode 100644
index 000000000..8220a1aa1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test44
@@ -0,0 +1,72 @@
+
+
+
+HTTP
+HTTP FORMPOST
+HTTP replaced headers
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting without Expect: header
+
+
+http://%HOSTIP:%HTTPPORT/we/want/44 -F name=daniel -F tool=curl -F file=@log/test44.txt -H "Expect:"
+
+# We create this file before the command is invoked!
+
+foo-
+This is a moo-
+bar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------).*
+
+
+POST /we/want/44 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 408
+Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
+
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------7c633d5c27ce
+Content-Disposition: form-data; name="file"; filename="test44.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------7c633d5c27ce--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test45 b/external/3rd/library/curl/curl-7.45.0/tests/data/test45
new file mode 100644
index 000000000..3eb9ba943
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test45
@@ -0,0 +1,76 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+# Server-side
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data.cgi?moo=http://&/450002
+Connection: close
+
+This server reply is for testing a simple Location: following
+
+
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+HTTP/1.1 301 This is a weirdo text message swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: data.cgi?moo=http://&/450002
+Connection: close
+
+HTTP/1.1 200 Followed here fine swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 52
+
+If this is received, the location following worked
+
+
+
+
+# Client-side
+
+
+http
+
+
+simple HTTP Location: without protocol in initial URL
+
+
+%HOSTIP:%HTTPPORT/want/45 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/45 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/data.cgi?moo=http://&/450002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test46 b/external/3rd/library/curl/curl-7.45.0/tests/data/test46
new file mode 100644
index 000000000..b6ebe802e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test46
@@ -0,0 +1,89 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+cookiejar
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Set-Cookie: ckyPersistent=permanent; expires=Fri, 02-Feb-2035 11:56:27 GMT; path=/
+Set-Cookie: ckySession=temporary; path=/
+Set-Cookie: ASPSESSIONIDQGGQQSJJ=GKNBDIFAAOFDPDAIEAKDIBKE; path=/
+Set-Cookie: justaname=; path=/;
+Set-Cookie: simplyhuge=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+Cache-control: private
+Content-Length: 41
+
+This server reply is for testing cookies
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP, get cookies and store in cookie jar
+
+# Explicitly set the time zone to a known good one, in case the user is
+# using one of the 'right' zones that take into account leap seconds
+# which causes the cookie expiry times to be different from what we expect.
+
+TZ=GMT
+
+
+%HOSTIP:%HTTPPORT/want/46 -c log/jar46 -b log/injar46
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This is generated by libcurl! Do not edit.
+
+www.fake.come FALSE / FALSE 1022144953 cookiecliente si
+www.loser.com FALSE / FALSE 1139150993 UID 99
+%HOSTIP FALSE / FALSE 1739150993 mooo indeed
+#HttpOnly_%HOSTIP FALSE /want FALSE 1739150993 mooo2 indeed2
+%HOSTIP FALSE /want FALSE 0 empty
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/46 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: empty=; mooo2=indeed2; mooo=indeed
+
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+www.fake.come FALSE / FALSE 1022144953 cookiecliente si
+www.loser.com FALSE / FALSE 1139150993 UID 99
+%HOSTIP FALSE / FALSE 1739150993 mooo indeed
+#HttpOnly_%HOSTIP FALSE /want FALSE 1739150993 mooo2 indeed2
+%HOSTIP FALSE /want FALSE 0 empty
+%HOSTIP FALSE / FALSE 2054030187 ckyPersistent permanent
+%HOSTIP FALSE / FALSE 0 ckySession temporary
+%HOSTIP FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE
+%HOSTIP FALSE / FALSE 0 justaname
+%HOSTIP FALSE /want/ FALSE 0 simplyhuge zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test47 b/external/3rd/library/curl/curl-7.45.0/tests/data/test47
new file mode 100644
index 000000000..0a6d4da3b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test47
@@ -0,0 +1,49 @@
+
+
+
+HTTP
+HTTP GET
+HTTP/1.0
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+-foo- within foo -!foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+simple HTTP 1.0 GET
+
+
+http://%HOSTIP:%HTTPPORT/47 -0
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /47 HTTP/1.0
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test48 b/external/3rd/library/curl/curl-7.45.0/tests/data/test48
new file mode 100644
index 000000000..7ee05ad37
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test48
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP HEAD
+-G
+
+
+#
+# Server-side
+
+
+connection-monitor
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with -d and -G and -I
+
+
+-d "foo=moo&moo=poo" http://%HOSTIP:%HTTPPORT/48 -G -I http://%HOSTIP:%HTTPPORT/48
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+HEAD /48?foo=moo&moo=poo HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+HEAD /48?foo=moo&moo=poo HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test49 b/external/3rd/library/curl/curl-7.45.0/tests/data/test49
new file mode 100644
index 000000000..4a4175e32
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test49
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/490002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/490002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP follow redirect with ../
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/49 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/49 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/are/all/moo.html/490002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test5 b/external/3rd/library/curl/curl-7.45.0/tests/data/test5
new file mode 100644
index 000000000..b62f1a127
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test5
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP over proxy
+
+
+http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/we/want/that/page/5 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test50 b/external/3rd/library/curl/curl-7.45.0/tests/data/test50
new file mode 100644
index 000000000..84b05da7b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test50
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../../moo.html/500002
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../../moo.html/500002
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP follow redirect with ../../
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/50 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/50 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/are/moo.html/500002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test500 b/external/3rd/library/curl/curl-7.45.0/tests/data/test500
new file mode 100644
index 000000000..faf3d7271
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test500
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib500
+
+
+
+simple libcurl HTTP GET tool
+
+
+http://%HOSTIP:%HTTPPORT/500 log/ip500
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+IP: %HOSTIP
+
+
+GET /500 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test501 b/external/3rd/library/curl/curl-7.45.0/tests/data/test501
new file mode 100644
index 000000000..9c9dcc9e3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test501
@@ -0,0 +1,40 @@
+
+
+
+missing URL
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib501
+
+
+
+simple libcurl attempt operation without URL set
+
+
+http://%HOSTIP:%HTTPPORT/501
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test502 b/external/3rd/library/curl/curl-7.45.0/tests/data/test502
new file mode 100644
index 000000000..f8d776b6c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test502
@@ -0,0 +1,47 @@
+
+
+
+FILE
+
+
+#
+# Server-side
+
+
+foo
+ bar swsclose
+bar
+ foo
+moo
+
+
+
+# Client-side
+
+
+file
+
+# tool is what to use instead of 'curl'
+
+lib502
+
+
+
+simple multi file:// get
+
+
+file://%PWD/log/test502.txt
+
+
+foo
+ bar swsclose
+bar
+ foo
+moo
+
+
+
+# Verify data after the test has been "shot"
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test503 b/external/3rd/library/curl/curl-7.45.0/tests/data/test503
new file mode 100644
index 000000000..e8dc21e8d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test503
@@ -0,0 +1,87 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+HTTP proxy Basic auth
+proxytunnel
+multi
+
+
+
+# Server-side
+
+
+connection-monitor
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+
+
+
+
+# Client-side
+
+
+http
+http-proxy
+
+# tool is what to use instead of 'curl'
+
+lib503
+
+
+
+simple multi http:// through proxytunnel with authentication info
+
+
+http://machine.503:%HTTPPORT/503 %HOSTIP:%PROXYPORT
+
+
+foo
+ bar
+bar
+ foo
+moo
+
+
+
+# Verify data after the test has been "shot"
+
+
+CONNECT machine.503:%HTTPPORT HTTP/1.1
+Host: machine.503:%HTTPPORT
+Proxy-Authorization: Basic dGVzdDppbmc=
+Proxy-Connection: Keep-Alive
+
+
+
+GET /503 HTTP/1.1
+Host: machine.503:%HTTPPORT
+Authorization: Basic dGVzdDppbmc=
+Accept: */*
+
+[DISCONNECT]
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test504 b/external/3rd/library/curl/curl-7.45.0/tests/data/test504
new file mode 100644
index 000000000..2d3a3dd0d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test504
@@ -0,0 +1,44 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+multi
+FAILURE
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib504
+
+
+
+simple multi through local proxy without listener
+
+
+http://%HOSTIP:%HTTPSPORT/504 %HOSTIP:55555
+
+
+
+# Verify data after the test has been "shot"
+# TEST_ERR_SUCCESS is errorcode 120
+
+
+120
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test505 b/external/3rd/library/curl/curl-7.45.0/tests/data/test505
new file mode 100644
index 000000000..a5e5d31fe
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test505
@@ -0,0 +1,66 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib505
+
+
+
+FTP upload with rename after transfer
+
+
+ftp://%HOSTIP:%FTPPORT/505 log/upload505
+
+
+Contents
+of
+a file
+to verify
+ftp
+upload
+
+
+works?
+
+
+
+# Verify data after the test has been "shot"
+
+
+Contents
+of
+a file
+to verify
+ftp
+upload
+
+
+works?
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+STOR 505
+RNFR 505
+RNTO 505-forreal
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test506 b/external/3rd/library/curl/curl-7.45.0/tests/data/test506
new file mode 100644
index 000000000..07bbdeaf3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test506
@@ -0,0 +1,226 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+shared cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Set-Cookie: test1=one; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
+Set-Cookie: test2=two; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
+Set-Cookie: test3=three; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
+Content-Length: 29
+
+run 1: set cookie 1, 2 and 3
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:01 GMT
+Server: test-server/fake
+Content-Type: text/html
+Set-Cookie: test4=four; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
+Set-Cookie: test5=five; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
+Content-Length: 26
+
+run 2: set cookie 4 and 5
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:02 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: test4=overwritten4; domain=host.foo.com; expires=Sat May 5 GMT 11:56:27 2035
+Set-Cookie: test1=overwritten1; domain=foo.com; expires=Thu Mar 3 GMT 11:56:27 2033
+Content-Type: text/html
+Content-Length: 32
+
+run 3: overwrite cookie 1 and 4
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with shared cookie list (and dns cache)
+
+# Explicitly set the time zone to a known good one, in case the user is
+# using one of the 'right' zones that take into account leap seconds
+# which causes the cookie expiry times to be different.
+
+TZ=GMT
+
+
+lib506
+
+
+http://%HOSTIP:%HTTPPORT/506
+
+
+
+# Verify data after the test has been "shot"
+
+
+GLOBAL_INIT
+SHARE_INIT
+CURLSHOPT_LOCKFUNC
+CURLSHOPT_UNLOCKFUNC
+CURLSHOPT_USERDATA
+CURL_LOCK_DATA_COOKIE
+CURL_LOCK_DATA_DNS
+CURLOPT_SHARE
+lock: share [Pigs in space]: 0
+unlock: share [Pigs in space]: 1
+CURLOPT_COOKIELIST injected_and_clobbered
+lock: cookie [Pigs in space]: 2
+unlock: cookie [Pigs in space]: 3
+CURLOPT_COOKIELIST ALL
+lock: cookie [Pigs in space]: 4
+unlock: cookie [Pigs in space]: 5
+CURLOPT_COOKIELIST session
+lock: cookie [Pigs in space]: 6
+unlock: cookie [Pigs in space]: 7
+CURLOPT_COOKIELIST injected
+lock: cookie [Pigs in space]: 8
+unlock: cookie [Pigs in space]: 9
+CURLOPT_COOKIELIST SESS
+lock: cookie [Pigs in space]: 10
+unlock: cookie [Pigs in space]: 11
+CLEANUP
+lock: cookie [Pigs in space]: 12
+unlock: cookie [Pigs in space]: 13
+lock: share [Pigs in space]: 14
+unlock: share [Pigs in space]: 15
+*** run 1
+CURLOPT_SHARE
+lock: share [Pigs in space]: 16
+unlock: share [Pigs in space]: 17
+PERFORM
+lock: dns [Pigs in space]: 18
+unlock: dns [Pigs in space]: 19
+lock: dns [Pigs in space]: 20
+unlock: dns [Pigs in space]: 21
+lock: cookie [Pigs in space]: 22
+unlock: cookie [Pigs in space]: 23
+lock: cookie [Pigs in space]: 24
+unlock: cookie [Pigs in space]: 25
+lock: cookie [Pigs in space]: 26
+unlock: cookie [Pigs in space]: 27
+lock: cookie [Pigs in space]: 28
+unlock: cookie [Pigs in space]: 29
+run 1: set cookie 1, 2 and 3
+lock: dns [Pigs in space]: 30
+unlock: dns [Pigs in space]: 31
+CLEANUP
+lock: cookie [Pigs in space]: 32
+unlock: cookie [Pigs in space]: 33
+lock: share [Pigs in space]: 34
+unlock: share [Pigs in space]: 35
+*** run 2
+CURLOPT_SHARE
+lock: share [Pigs in space]: 36
+unlock: share [Pigs in space]: 37
+PERFORM
+lock: dns [Pigs in space]: 38
+unlock: dns [Pigs in space]: 39
+lock: cookie [Pigs in space]: 40
+unlock: cookie [Pigs in space]: 41
+lock: cookie [Pigs in space]: 42
+unlock: cookie [Pigs in space]: 43
+lock: cookie [Pigs in space]: 44
+unlock: cookie [Pigs in space]: 45
+run 2: set cookie 4 and 5
+lock: dns [Pigs in space]: 46
+unlock: dns [Pigs in space]: 47
+CLEANUP
+lock: cookie [Pigs in space]: 48
+unlock: cookie [Pigs in space]: 49
+lock: share [Pigs in space]: 50
+unlock: share [Pigs in space]: 51
+*** run 3
+CURLOPT_SHARE
+lock: share [Pigs in space]: 52
+unlock: share [Pigs in space]: 53
+CURLOPT_COOKIEJAR
+CURLOPT_COOKIELIST FLUSH
+lock: cookie [Pigs in space]: 54
+unlock: cookie [Pigs in space]: 55
+PERFORM
+lock: dns [Pigs in space]: 56
+unlock: dns [Pigs in space]: 57
+lock: cookie [Pigs in space]: 58
+unlock: cookie [Pigs in space]: 59
+lock: cookie [Pigs in space]: 60
+unlock: cookie [Pigs in space]: 61
+lock: cookie [Pigs in space]: 62
+unlock: cookie [Pigs in space]: 63
+run 3: overwrite cookie 1 and 4
+lock: dns [Pigs in space]: 64
+unlock: dns [Pigs in space]: 65
+CLEANUP
+lock: cookie [Pigs in space]: 66
+unlock: cookie [Pigs in space]: 67
+lock: share [Pigs in space]: 68
+unlock: share [Pigs in space]: 69
+CURLOPT_SHARE
+lock: share [Pigs in space]: 70
+unlock: share [Pigs in space]: 71
+CURLOPT_COOKIELIST ALL
+lock: cookie [Pigs in space]: 72
+unlock: cookie [Pigs in space]: 73
+CURLOPT_COOKIEJAR
+CURLOPT_COOKIELIST RELOAD
+lock: cookie [Pigs in space]: 74
+unlock: cookie [Pigs in space]: 75
+loaded cookies:
+-----------------
+ .host.foo.com TRUE / FALSE 1896263787 injected yes
+ .foo.com TRUE / FALSE 1993463787 test1 overwritten1
+ .host.foo.com TRUE / FALSE 1896263787 test2 two
+ .foo.com TRUE / FALSE 1896263787 test3 three
+ .host.foo.com TRUE / FALSE 2061978987 test4 overwritten4
+ .host.foo.com TRUE / FALSE 1896263787 test5 five
+-----------------
+try SHARE_CLEANUP...
+lock: share [Pigs in space]: 76
+unlock: share [Pigs in space]: 77
+SHARE_CLEANUP failed, correct
+CLEANUP
+lock: cookie [Pigs in space]: 78
+unlock: cookie [Pigs in space]: 79
+lock: share [Pigs in space]: 80
+unlock: share [Pigs in space]: 81
+SHARE_CLEANUP
+lock: share [Pigs in space]: 82
+unlock: share [Pigs in space]: 83
+GLOBAL_CLEANUP
+
+
+http://%HOSTIP:%HTTPPORT/506
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+.host.foo.com TRUE / FALSE 1896263787 injected yes
+.foo.com TRUE / FALSE 1993463787 test1 overwritten1
+.host.foo.com TRUE / FALSE 1896263787 test2 two
+.foo.com TRUE / FALSE 1896263787 test3 three
+.host.foo.com TRUE / FALSE 2061978987 test4 overwritten4
+.host.foo.com TRUE / FALSE 1896263787 test5 five
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test507 b/external/3rd/library/curl/curl-7.45.0/tests/data/test507
new file mode 100644
index 000000000..9549bd986
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test507
@@ -0,0 +1,37 @@
+
+
+
+HTTP
+multi
+FAILURE
+non-existing host
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+http
+
+
+multi interface get with non-existing host name
+
+
+lib507
+
+
+http://non-existing-host.haxx.se/
+
+
+
+# Verify data after the test has been "shot"
+
+
+6
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test508 b/external/3rd/library/curl/curl-7.45.0/tests/data/test508
new file mode 100644
index 000000000..2b8a2d524
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test508
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+POST
+POST callback
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib508
+
+
+
+send HTTP POST using read callback
+
+
+http://%HOSTIP:%HTTPPORT/508
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+# remove CR that CURLOPT_TRANSFERTEXT added, when CharConv enabled:
+s/^(this is what we post to the silly web server)\r\n/$1\n/ if($has_charconv)
+
+
+POST /508 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 45
+Content-Type: application/x-www-form-urlencoded
+
+this is what we post to the silly web server
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test509 b/external/3rd/library/curl/curl-7.45.0/tests/data/test509
new file mode 100644
index 000000000..5de1599e1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test509
@@ -0,0 +1,44 @@
+
+
+
+memory callbacks
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib509
+
+
+
+initialization with memory callbacks and actual usage
+
+
+nothing
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+seen custom_calloc()
+seen custom_malloc()
+seen custom_realloc()
+seen custom_free()
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test51 b/external/3rd/library/curl/curl-7.45.0/tests/data/test51
new file mode 100644
index 000000000..b58c3570e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test51
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../../../../../../../510002
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: ../../../../../../../510002
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP follow redirect with excessive ../
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/51 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/51 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /510002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test510 b/external/3rd/library/curl/curl-7.45.0/tests/data/test510
new file mode 100644
index 000000000..5ba0a7fe9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test510
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib510
+
+
+
+send HTTP POST using read callback, using chunked transfer-encoding
+
+
+http://%HOSTIP:%HTTPPORT/510
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+POST /510 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+3
+one
+3
+two
+5
+three
+1d
+and a final longer crap: four
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test511 b/external/3rd/library/curl/curl-7.45.0/tests/data/test511
new file mode 100644
index 000000000..72b79938c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test511
@@ -0,0 +1,50 @@
+
+
+
+FTP
+
+
+
+#
+# Server-side
+
+
+REPLY MDTM 550 bluah you f00l!
+REPLY SIZE 550 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib511
+
+
+
+FTP with FILETIME and NOBODY but missing file
+
+
+ftp://%HOSTIP:%FTPPORT/511
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# CURLE_FTP_COULDNT_RETR_FILE
+
+19
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+MDTM 511
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test512 b/external/3rd/library/curl/curl-7.45.0/tests/data/test512
new file mode 100644
index 000000000..d259f40df
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test512
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: yes
+Connection: close
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib512
+
+
+
+simple curl_easy_duplicate() test
+
+
+http://%HOSTIP:%HTTPPORT/512
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /512 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test513 b/external/3rd/library/curl/curl-7.45.0/tests/data/test513
new file mode 100644
index 000000000..00e0f77eb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test513
@@ -0,0 +1,49 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib513
+
+
+
+send HTTP POST using read callback that returns CURL_READFUNC_ABORT
+
+# the 1s post-command delay helps to prevent a spurious failure on s390
+
+http://%HOSTIP:%HTTPPORT/513
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+POST /513 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1
+Content-Type: application/x-www-form-urlencoded
+
+
+# 42 - aborted by callback
+
+42
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test514 b/external/3rd/library/curl/curl-7.45.0/tests/data/test514
new file mode 100644
index 000000000..ca37a5d65
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test514
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP HEAD
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib514
+
+
+First set options to POST and then to make HEAD
+
+# the 1s post-command delay helps to prevent a spurious failure on s390
+
+http://%HOSTIP:%HTTPPORT/514
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+HEAD /514 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test515 b/external/3rd/library/curl/curl-7.45.0/tests/data/test515
new file mode 100644
index 000000000..526f1e136
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test515
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP POST
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
+OK
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib515
+
+
+
+make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero
+
+
+http://%HOSTIP:%HTTPPORT/515
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /515 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test516 b/external/3rd/library/curl/curl-7.45.0/tests/data/test516
new file mode 100644
index 000000000..9bc175bd4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test516
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
+OK
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib516
+
+
+
+make a HTTPPOST set to NULL
+
+
+http://%HOSTIP:%HTTPPORT/516
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /516 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test517 b/external/3rd/library/curl/curl-7.45.0/tests/data/test517
new file mode 100644
index 000000000..c81a45e0a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test517
@@ -0,0 +1,129 @@
+
+
+
+getdate
+unittest
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+# tool is what to use instead of 'curl'
+
+lib517
+
+
+
+curl_getdate() testing
+
+
+nothing
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+0: Sun, 06 Nov 1994 08:49:37 GMT => 784111777
+1: Sunday, 06-Nov-94 08:49:37 GMT => 784111777
+2: Sun Nov 6 08:49:37 1994 => 784111777
+3: 06 Nov 1994 08:49:37 GMT => 784111777
+4: 06-Nov-94 08:49:37 GMT => 784111777
+5: Nov 6 08:49:37 1994 => 784111777
+6: 06 Nov 1994 08:49:37 => 784111777
+7: 06-Nov-94 08:49:37 => 784111777
+8: 1994 Nov 6 08:49:37 => 784111777
+9: GMT 08:49:37 06-Nov-94 Sunday => 784111777
+10: 94 6 Nov 08:49:37 => 784111777
+11: 1994 Nov 6 => 784080000
+12: 06-Nov-94 => 784080000
+13: Sun Nov 6 94 => 784080000
+14: 1994.Nov.6 => 784080000
+15: Sun/Nov/6/94/GMT => 784080000
+16: Sun, 06 Nov 1994 08:49:37 CET => 784108177
+17: 06 Nov 1994 08:49:37 EST => 784129777
+18: Sun, 12 Sep 2004 15:05:58 -0700 => 1095026758
+19: Sat, 11 Sep 2004 21:32:11 +0200 => 1094931131
+20: 20040912 15:05:58 -0700 => 1095026758
+21: 20040911 +0200 => 1094853600
+22: Thu, 01-Jan-1970 00:59:59 GMT => 3599
+23: Thu, 01-Jan-1970 01:00:00 GMT => 3600
+24: Sat, 15-Apr-17 21:01:22 GMT => 1492290082
+25: Thu, 19-Apr-2007 16:00:00 GMT => 1176998400
+26: Wed, 25 Apr 2007 21:02:13 GMT => 1177534933
+27: Thu, 19/Apr\2007 16:00:00 GMT => 1176998400
+28: Fri, 1 Jan 2010 01:01:50 GMT => 1262307710
+29: Wednesday, 1-Jan-2003 00:00:00 GMT => 1041379200
+30: , 1-Jan-2003 00:00:00 GMT => 1041379200
+31: 1-Jan-2003 00:00:00 GMT => 1041379200
+32: 1-Jan-2003 00:00:00 GMT => 1041379200
+33: Wed,18-Apr-07 22:50:12 GMT => 1176936612
+34: WillyWonka , 18-Apr-07 22:50:12 GMT => -1
+35: WillyWonka , 18-Apr-07 22:50:12 => -1
+36: WillyWonka , 18-apr-07 22:50:12 => -1
+37: Mon, 18-Apr-1977 22:50:13 GMT => 230251813
+38: Mon, 18-Apr-77 22:50:13 GMT => 230251813
+39: "Sat, 15-Apr-17\"21:01:22\"GMT" => 1492290082
+40: Partyday, 18- April-07 22:50:12 => -1
+41: Partyday, 18 - Apri-07 22:50:12 => -1
+42: Wednes, 1-Januar-2003 00:00:00 GMT => -1
+43: Sat, 15-Apr-17 21:01:22 => 1492290082
+44: Sat, 15-Apr-17 21:01:22 GMT-2 => 1492290082
+45: Sat, 15-Apr-17 21:01:22 GMT BLAH => 1492290082
+46: Sat, 15-Apr-17 21:01:22 GMT-0400 => 1492290082
+47: Sat, 15-Apr-17 21:01:22 GMT-0400 (EDT) => 1492290082
+48: Sat, 15-Apr-17 21:01:22 DST => -1
+49: Sat, 15-Apr-17 21:01:22 -0400 => 1492304482
+50: Sat, 15-Apr-17 21:01:22 (hello there) => -1
+51: Sat, 15-Apr-17 21:01:22 11:22:33 => -1
+52: Sat, 15-Apr-17 ::00 21:01:22 => -1
+53: Sat, 15-Apr-17 boink:z 21:01:22 => -1
+54: Sat, 15-Apr-17 91:22:33 21:01:22 => -1
+55: Thu Apr 18 22:50:12 2007 GMT => 1176936612
+56: 22:50:12 Thu Apr 18 2007 GMT => 1176936612
+57: Thu 22:50:12 Apr 18 2007 GMT => 1176936612
+58: Thu Apr 22:50:12 18 2007 GMT => 1176936612
+59: Thu Apr 18 22:50:12 2007 GMT => 1176936612
+60: Thu Apr 18 2007 22:50:12 GMT => 1176936612
+61: Thu Apr 18 2007 GMT 22:50:12 => 1176936612
+62: Sat, 15-Apr-17 21:01:22 GMT => 1492290082
+63: 15-Sat, Apr-17 21:01:22 GMT => 1492290082
+64: 15-Sat, Apr 21:01:22 GMT 17 => 1492290082
+65: 15-Sat, Apr 21:01:22 GMT 2017 => 1492290082
+66: 15 Apr 21:01:22 2017 => 1492290082
+67: 15 17 Apr 21:01:22 => 1492290082
+68: Apr 15 17 21:01:22 => 1492290082
+69: Apr 15 21:01:22 17 => 1492290082
+70: 2017 April 15 21:01:22 => -1
+71: 15 April 2017 21:01:22 => -1
+72: 98 April 17 21:01:22 => -1
+73: Thu, 012-Aug-2008 20:49:07 GMT => 1218574147
+74: Thu, 999999999999-Aug-2007 20:49:07 GMT => -1
+75: Thu, 12-Aug-2007 20:61:99999999999 GMT => -1
+76: IAintNoDateFool => -1
+77: Thu Apr 18 22:50 2007 GMT => 1176936600
+78: 20110623 12:34:56 => 1308832496
+79: 20110632 12:34:56 => -1
+80: 20110623 56:34:56 => -1
+81: 20111323 12:34:56 => -1
+82: 20110623 12:34:79 => -1
+83: Wed, 31 Dec 2008 23:59:60 GMT => 1230768000
+
+
+# This test case previously tested an overflow case ("2094 Nov 6 =>
+# 2147483647") for 32bit time_t, but since some systems have 64bit time_t and
+# handles this (returning 3939840000), and some 64bit-time_t systems don't
+# handle this and return -1 for this, it turned very tricky to write a fine
+# test case and thus it is now removed until we have a way to write test cases
+# for this kind of things.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test518 b/external/3rd/library/curl/curl-7.45.0/tests/data/test518
new file mode 100644
index 000000000..0c8814767
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test518
@@ -0,0 +1,67 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+
+getrlimit
+
+# tool is what to use instead of 'curl'
+
+lib518
+
+# precheck is a command line to run before the test, to see if we can execute
+# the test or not
+
+./libtest/lib518 check
+
+
+
+HTTP GET with more than FD_SETSIZE descriptors open
+
+
+http://%HOSTIP:%HTTPPORT/518
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /518 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test519 b/external/3rd/library/curl/curl-7.45.0/tests/data/test519
new file mode 100644
index 000000000..976056067
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test519
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 8
+
+content
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+
+content2
+
+
+HTTP/1.1 200 OK swsbounce
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 8
+
+content
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 9
+
+content2
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib519
+
+
+
+GET same URL twice with different users
+
+
+http://%HOSTIP:%HTTPPORT/519
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /519 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic bW9uc3Rlcjp1bmRlcmJlZA==
+Accept: */*
+
+GET /519 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic YW5vdGhlcm1vbnN0ZXI6aW53YXJkcm9iZQ==
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test52 b/external/3rd/library/curl/curl-7.45.0/tests/data/test52
new file mode 100644
index 000000000..14fa42bfd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test52
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsclose
+Location: ./520002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: ./520002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+body
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP follow redirect with ./-prefix
+
+
+http://%HOSTIP:%HTTPPORT/we/are/all/twits/52 -L
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/are/all/twits/52 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /we/are/all/twits/520002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test520 b/external/3rd/library/curl/curl-7.45.0/tests/data/test520
new file mode 100644
index 000000000..755caebeb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test520
@@ -0,0 +1,53 @@
+
+
+
+FTP
+
+
+
+#
+# Server-side
+
+
+contents of file
+
+
+REPLY MDTM 213 20030405060708
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib520
+
+
+
+FTP RETR with FILETIME
+
+
+ftp://%HOSTIP:%FTPPORT/520
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+MDTM 520
+EPSV
+TYPE I
+SIZE 520
+RETR 520
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test521 b/external/3rd/library/curl/curl-7.45.0/tests/data/test521
new file mode 100644
index 000000000..90f51b38d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test521
@@ -0,0 +1,60 @@
+
+
+
+FTP
+PASV
+CURLOPT_PORT
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+lib521
+
+
+FTP dir list PASV with CURLOPT_PORT
+
+
+ftp://%HOSTIP/521/ %FTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER xxx
+PASS yyy
+PWD
+CWD 521
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test522 b/external/3rd/library/curl/curl-7.45.0/tests/data/test522
new file mode 100644
index 000000000..89a0dbf51
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test522
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+CURLOPT_PORT
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib521
+
+
+HTTP GET with CURLOPT_PORT
+
+
+http://%HOSTIP/522 %HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /522 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic eHh4Onl5eQ==
+Accept: */*
+
+
+
+hello
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test523 b/external/3rd/library/curl/curl-7.45.0/tests/data/test523
new file mode 100644
index 000000000..9abe0ed22
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test523
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+CURLOPT_PORT
+CURLOPT_PROXY
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib523
+
+
+HTTP GET with proxy and CURLOPT_PORT
+
+# first URL then proxy
+
+http://www.example.com:999/523 http://%HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET HTTP://www.example.com:19999/523 HTTP/1.1
+Host: www.example.com:19999
+Authorization: Basic eHh4Onl5eQ==
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+hello
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test524 b/external/3rd/library/curl/curl-7.45.0/tests/data/test524
new file mode 100644
index 000000000..c60946672
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test524
@@ -0,0 +1,46 @@
+
+
+
+FTP
+UPLOAD
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+lib524
+
+
+FTP upload with target URL ending with slash
+
+# first URL then proxy
+
+ftp://%HOSTIP:%FTPPORT/path/to/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+
+
+# 3 is CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test525 b/external/3rd/library/curl/curl-7.45.0/tests/data/test525
new file mode 100644
index 000000000..7bd494e02
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test525
@@ -0,0 +1,59 @@
+
+
+
+FTP
+PORT
+STOR
+multi
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib525
+
+
+FTP PORT upload using multi interface
+
+
+ftp://%HOSTIP:%FTPPORT/path/525 log/upload525
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+PORT 127,0,0,1,5,109
+TYPE I
+STOR 525
+QUIT
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test526 b/external/3rd/library/curl/curl-7.45.0/tests/data/test526
new file mode 100644
index 000000000..70e6dcd12
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test526
@@ -0,0 +1,63 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+
+
+
+# Server-side
+
+
+file contents should appear once for each file
+
+
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib526
+
+
+FTP RETR same file using different handles but same connection
+
+
+ftp://%HOSTIP:%FTPPORT/path/526
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 526
+RETR 526
+EPSV
+SIZE 526
+RETR 526
+EPSV
+SIZE 526
+RETR 526
+EPSV
+SIZE 526
+RETR 526
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test527 b/external/3rd/library/curl/curl-7.45.0/tests/data/test527
new file mode 100644
index 000000000..98892a97e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test527
@@ -0,0 +1,63 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+
+
+
+# Server-side
+
+
+file contents should appear once for each file
+
+
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib527
+
+
+FTP RETR same file using different handles but same connection
+
+
+ftp://%HOSTIP:%FTPPORT/path/527
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 527
+RETR 527
+EPSV
+SIZE 527
+RETR 527
+EPSV
+SIZE 527
+RETR 527
+EPSV
+SIZE 527
+RETR 527
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test528 b/external/3rd/library/curl/curl-7.45.0/tests/data/test528
new file mode 100644
index 000000000..1d2e415ae
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test528
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP GET
+multi
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+http
+
+
+lib526
+
+
+HTTP GET same file using different handles but same connection
+
+
+http://%HOSTIP:%HTTPPORT/path/528
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /path/528 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/528 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/528 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/528 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test529 b/external/3rd/library/curl/curl-7.45.0/tests/data/test529
new file mode 100644
index 000000000..16147201c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test529
@@ -0,0 +1,59 @@
+
+
+
+FTP
+PORT
+STOR
+multi
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib529
+
+
+FTP PORT upload using multi interface (weird cleanup function sequence)
+
+
+ftp://%HOSTIP:%FTPPORT/path/529 log/upload529
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+PORT 127,0,0,1,5,109
+TYPE I
+STOR 529
+QUIT
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test53 b/external/3rd/library/curl/curl-7.45.0/tests/data/test53
new file mode 100644
index 000000000..679a4fa84
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test53
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Connection: close
+Content-Length: 21
+
+This server says moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP, junk session cookies
+
+
+%HOSTIP:%HTTPPORT/want/53 -b log/injar53 -j
+
+
+%HOSTIP FALSE / FALSE 2139150993 mooo indeed
+%HOSTIP FALSE / FALSE 0 moo1 indeed
+%HOSTIP FALSE / FALSE 1 moo2 indeed
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/53 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: mooo=indeed
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test530 b/external/3rd/library/curl/curl-7.45.0/tests/data/test530
new file mode 100644
index 000000000..40182e299
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test530
@@ -0,0 +1,83 @@
+
+
+
+HTTP
+pipelining
+multi
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+HTTP/1.1 200 OK
+
+
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+
+
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 47
+
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+http
+
+
+lib530
+
+
+HTTP GET using pipelining
+
+
+http://%HOSTIP:%HTTPPORT/path/530
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /path/5300001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/5300002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/5300003 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/5300004 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test531 b/external/3rd/library/curl/curl-7.45.0/tests/data/test531
new file mode 100644
index 000000000..8a7cee50a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test531
@@ -0,0 +1,59 @@
+
+
+
+FTP
+PORT
+STOR
+multi
+
+
+
+# Server-side
+
+
+
+
+REPLY STOR 425 Permission Denied. File Exists.
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib525
+
+
+FTP PORT upload using multi interface and get 425 response
+
+
+ftp://%HOSTIP:%FTPPORT/path/531 log/upload531
+
+
+Moooooooooooo
+don't upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+PORT 127,0,0,1,5,109
+TYPE I
+STOR 531
+QUIT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test532 b/external/3rd/library/curl/curl-7.45.0/tests/data/test532
new file mode 100644
index 000000000..dc45db1d2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test532
@@ -0,0 +1,63 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+
+
+
+# Server-side
+
+
+file contents should appear once for each file
+
+
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+file contents should appear once for each file
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib532
+
+
+FTP RETR same file using reset handles between each transfer
+
+
+ftp://%HOSTIP:%FTPPORT/path/532
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 532
+RETR 532
+EPSV
+SIZE 532
+RETR 532
+EPSV
+SIZE 532
+RETR 532
+EPSV
+SIZE 532
+RETR 532
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test533 b/external/3rd/library/curl/curl-7.45.0/tests/data/test533
new file mode 100644
index 000000000..f4446cbe0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test533
@@ -0,0 +1,55 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+
+
+
+# Server-side
+
+
+
+
+
+REPLY RETR 550 the file doesn't exist
+REPLY SIZE 550 Can't check for file existence
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib533
+
+
+FTP RETR a non-existing file twice using the multi interface
+
+
+ftp://%HOSTIP:%FTPPORT/path/533 ftp://%HOSTIP:%FTPPORT/path/533
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 533
+RETR 533
+EPSV
+SIZE 533
+RETR 533
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test534 b/external/3rd/library/curl/curl-7.45.0/tests/data/test534
new file mode 100644
index 000000000..6045dba61
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test534
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+non-existing host
+
+
+
+# Server-side
+
+
+
+
+
+REPLY RETR 550 the file doesn't exist
+REPLY SIZE 550 Can't check for file existence
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib533
+
+
+FTP RETR twice using multi: non-existing host and non-existing file
+
+
+ftp://non-existing-host.haxx.se/path/534 ftp://%HOSTIP:%FTPPORT/path/534
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 534
+RETR 534
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test535 b/external/3rd/library/curl/curl-7.45.0/tests/data/test535
new file mode 100644
index 000000000..6837d2a61
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test535
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+multi
+
+
+
+
+
+HTTP/1.1 404 Badness
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+ETag: "21025-dc7-39462498"
+Content-Length: 6
+Content-Type: text/html
+Funny-head: yesyes
+
+hejsan
+
+
+HTTP/1.1 200 Fine
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 13
+Connection: close
+Content-Type: text/html
+
+fine content
+
+
+
+fine content
+
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib533
+
+
+
+HTTP GET multi two files with FAILONERROR
+
+
+http://%HOSTIP:%HTTPPORT/535 http://%HOSTIP:%HTTPPORT/5350001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /535 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /5350001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test536 b/external/3rd/library/curl/curl-7.45.0/tests/data/test536
new file mode 100644
index 000000000..51ac9716f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test536
@@ -0,0 +1,74 @@
+
+
+
+HTTP
+HTTP GET
+pipelining
+multi
+
+
+
+
+
+HTTP/1.1 404 Badness
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+ETag: "21025-dc7-39462498"
+Content-Length: 6
+Content-Type: text/html
+Funny-head: yesyes
+
+hejsan
+
+
+HTTP/1.1 200 Fine
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 13
+Connection: close
+Content-Type: text/html
+
+fine content
+
+
+
+fine content
+Finished!
+
+
+
+pipe: 1
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib536
+
+
+
+HTTP GET multi two files with FAILONERROR and pipelining
+
+
+http://%HOSTIP:%HTTPPORT/536 http://%HOSTIP:%HTTPPORT/5360001
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /536 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /5360001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test537 b/external/3rd/library/curl/curl-7.45.0/tests/data/test537
new file mode 100644
index 000000000..14e285f21
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test537
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+
+getrlimit
+
+# tool is what to use instead of 'curl'
+
+lib537
+
+# precheck is a command line to run before the test, to see if we can execute
+# the test or not
+
+./libtest/lib537 check
+
+
+
+HTTP GET with a HUGE number of file descriptors open
+
+
+http://%HOSTIP:%HTTPPORT/537
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /537 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test538 b/external/3rd/library/curl/curl-7.45.0/tests/data/test538
new file mode 100644
index 000000000..d2fecd353
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test538
@@ -0,0 +1,45 @@
+
+
+
+FTP
+FAILURE
+multi
+
+
+
+# Server-side
+
+
+REPLY PASS 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+# NOTE that we use the 504 tool for this case
+
+lib504
+
+
+FTP multi-interface download, failed login: PASS not valid
+
+
+ftp://%HOSTIP:%FTPPORT/538
+
+
+
+# Verify data after the test has been "shot"
+# TEST_ERR_SUCCESS is errorcode 120
+
+
+120
+
+
+USER anonymous
+PASS ftp@example.com
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test539 b/external/3rd/library/curl/curl-7.45.0/tests/data/test539
new file mode 100644
index 000000000..eaa64d518
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test539
@@ -0,0 +1,69 @@
+
+
+
+FTP
+
+
+
+#
+# Server-side
+
+
+file contents
+
+
+
+file contents
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib539
+
+
+
+Two FTP fetches using different CURLOPT_FTP_FILEMETHOD
+
+
+ftp://%HOSTIP:%FTPPORT/path/to/the/file/539
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path/to/the/file
+EPSV
+TYPE I
+SIZE 539
+RETR 539
+SYST
+CWD /
+EPSV
+TYPE A
+LIST path/to/the/file/539./
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test54 b/external/3rd/library/curl/curl-7.45.0/tests/data/test54
new file mode 100644
index 000000000..66dbe9ddb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test54
@@ -0,0 +1,45 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+# Server-side
+
+
+HTTP/1.1 302 This is a weirdo text message swsclose
+Connection: close
+Location:
+
+This server reply is for testing
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with blank Location:
+
+
+http://%HOSTIP:%HTTPPORT/want/54 -L
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/54 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test540 b/external/3rd/library/curl/curl-7.45.0/tests/data/test540
new file mode 100644
index 000000000..8decaea9d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test540
@@ -0,0 +1,97 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Digest auth
+multi
+
+
+
+# Server-side
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
+And you should ignore this data.
+
+
+# then this is returned when we get proxy-auth
+
+HTTP/1.1 200 OK
+Content-Length: 21
+Server: no
+
+Nice proxy auth sir!
+
+
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
+HTTP/1.1 200 OK
+Content-Length: 21
+Server: no
+
+Nice proxy auth sir!
+HTTP/1.1 200 OK
+Content-Length: 21
+Server: no
+
+Nice proxy auth sir!
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib540
+
+
+!SSPI
+crypto
+
+
+HTTP proxy auth Digest multi API re-using connection
+
+
+http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://test.remote.example.com/path/540 HTTP/1.1
+Host: custom.set.host.name
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.example.com/path/540 HTTP/1.1
+Host: custom.set.host.name
+Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.example.com/path/540 HTTP/1.1
+Host: custom.set.host.name
+Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test541 b/external/3rd/library/curl/curl-7.45.0/tests/data/test541
new file mode 100644
index 000000000..622daa0f8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test541
@@ -0,0 +1,57 @@
+
+
+
+FTP
+
+
+
+# Server-side
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib541
+
+
+
+FTP upload and upload same file again without rewind
+
+
+ftp://%HOSTIP:%FTPPORT/541 log/upload541
+
+
+Contents
+of
+a file
+to verify
+ftp
+upload
+
+
+works?
+
+
+
+# Verify data after the test has been "shot"
+
+
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+STOR 541
+EPSV
+STOR 541
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test542 b/external/3rd/library/curl/curl-7.45.0/tests/data/test542
new file mode 100644
index 000000000..5afe12470
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test542
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+Content-Length: 51
+Accept-ranges: bytes
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib542
+
+
+FTP a file with NOBODY yes and HEADER no
+
+
+ftp://%HOSTIP:%FTPPORT/542
+
+
+
+
+# Verify data after the test has been "shot"
+#
+# There's no MTDM in the protocol here since this code doesn't ask for the
+# time/date of the file
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+TYPE I
+SIZE 542
+REST 0
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test543 b/external/3rd/library/curl/curl-7.45.0/tests/data/test543
new file mode 100644
index 000000000..455633037
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test543
@@ -0,0 +1,35 @@
+
+
+
+curl_easy_escape
+
+
+# Server-side
+
+# Client-side
+
+
+none
+
+
+lib543
+
+
+curl_easy_escape
+
+
+-
+
+
+
+
+# Verify data after the test has been "shot"
+#
+# There's no MTDM in the protocol here since this code doesn't ask for the
+# time/date of the file
+
+
+%9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test544 b/external/3rd/library/curl/curl-7.45.0/tests/data/test544
new file mode 100644
index 000000000..78cb5a45e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test544
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 3
+
+OK
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib544
+
+
+
+HTTP POST text data using CURLOPT_COPYPOSTFIELDS
+
+
+http://%HOSTIP:%HTTPPORT/544
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /544 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 4
+Content-Type: application/x-www-form-urlencoded
+
+This
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test545 b/external/3rd/library/curl/curl-7.45.0/tests/data/test545
new file mode 100644
index 000000000..f2a5dddee
Binary files /dev/null and b/external/3rd/library/curl/curl-7.45.0/tests/data/test545 differ
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test546 b/external/3rd/library/curl/curl-7.45.0/tests/data/test546
new file mode 100644
index 000000000..12e604a0e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test546
@@ -0,0 +1,70 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+REPLY RETR 550 the file doesn't exist
+COUNT RETR 1
+REPLY SIZE 550 Can't check for file existence
+COUNT SIZE 1
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib533
+
+
+FTP RETR a non-existing file then a found one using the multi interface
+
+
+ftp://%HOSTIP:%FTPPORT/path/546 ftp://%HOSTIP:%FTPPORT/path/546
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 546
+RETR 546
+EPSV
+SIZE 546
+RETR 546
+QUIT
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test547 b/external/3rd/library/curl/curl-7.45.0/tests/data/test547
new file mode 100644
index 000000000..cee22c6f7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test547
@@ -0,0 +1,135 @@
+
+
+
+HTTP
+HTTP POST
+POST callback
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+Hey you, authenticate or go away!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+# tool to use
+
+lib547
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy auth NTLM with POST data from read callback
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com/path/547 http://%HOSTIP:%HTTPPORT testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST http://test.remote.example.com/path/547 HTTP/1.1
+Host: test.remote.example.com
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+POST http://test.remote.example.com/path/547 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST http://test.remote.example.com/path/547 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test548 b/external/3rd/library/curl/curl-7.45.0/tests/data/test548
new file mode 100644
index 000000000..34cf5e2ea
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test548
@@ -0,0 +1,135 @@
+
+
+
+HTTP
+HTTP POST
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+Hey you, authenticate or go away!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+# tool to use
+
+lib548
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com/path/548 http://%HOSTIP:%HTTPPORT testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST http://test.remote.example.com/path/548 HTTP/1.1
+Host: test.remote.example.com
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+POST http://test.remote.example.com/path/548 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST http://test.remote.example.com/path/548 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test549 b/external/3rd/library/curl/curl-7.45.0/tests/data/test549
new file mode 100644
index 000000000..a248edbf6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test549
@@ -0,0 +1,65 @@
+
+
+
+FTP
+CURLOPT_PROXY_TRANSFER_MODE
+CURLOPT_PROXY
+HTTP proxy
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+#
+# Client-side
+
+
+http
+
+
+ftp
+
+
+lib549
+
+
+FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE
+
+# first URL then proxy
+
+ftp://www.example.com/moo/549 http://%HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://www.example.com/moo/549;type=i HTTP/1.1
+Host: www.example.com:21
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+hello
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test55 b/external/3rd/library/curl/curl-7.45.0/tests/data/test55
new file mode 100644
index 000000000..662385608
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test55
@@ -0,0 +1,66 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+
+
+
+
+HTTP/1.1 302 OK swsclose
+Location: 550002
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+body
+
+
+HTTP/1.1 302 OK swsclose
+Location: 550002
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:50:00 GMT
+Connection: close
+
+body
+
+
+
+
+
+http
+
+
+HTTP follow redirect with single slash in path
+
+
+http://%HOSTIP:%HTTPPORT/55 -L
+
+
+
+
+
+^User-Agent:.*
+
+
+GET /55 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /550002 HTTP/1.1
+User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test550 b/external/3rd/library/curl/curl-7.45.0/tests/data/test550
new file mode 100644
index 000000000..a609aa216
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test550
@@ -0,0 +1,65 @@
+
+
+
+FTP
+HTTP proxy
+CURLOPT_PROXY_TRANSFER_MODE
+CURLOPT_PROXY
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+#
+# Client-side
+
+
+http
+
+
+ftp
+
+
+lib549
+
+
+FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer
+
+# first URL then proxy
+
+ftp://www.example.com/moo/550 http://%HOSTIP:%HTTPPORT ascii
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://www.example.com/moo/550;type=a HTTP/1.1
+Host: www.example.com:21
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+hello
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test551 b/external/3rd/library/curl/curl-7.45.0/tests/data/test551
new file mode 100644
index 000000000..ed6aee264
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test551
@@ -0,0 +1,100 @@
+
+
+# this test is meant to be exactly like 547 but using Digest instead of NTLM
+
+HTTP
+HTTP POST
+POST callback
+HTTP proxy
+HTTP proxy Digest auth
+
+
+
+# Server-side
+
+
+# as a bonus, ww use an excessive nonce length
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Digest realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets the Digest
+# Authorization: line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Digest realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+# tool to use
+
+lib547
+
+
+!SSPI
+crypto
+
+
+HTTP proxy auth Digest with POST data from read callback
+
+
+http://test.remote.example.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST http://test.remote.example.com/path/551 HTTP/1.1
+Host: test.remote.example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+POST http://test.remote.example.com/path/551 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", uri="/path/551", response="3325240726fbdaf1e61f3a0dd40b930c"
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test552 b/external/3rd/library/curl/curl-7.45.0/tests/data/test552
new file mode 100644
index 000000000..b44ca3455
Binary files /dev/null and b/external/3rd/library/curl/curl-7.45.0/tests/data/test552 differ
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test553 b/external/3rd/library/curl/curl-7.45.0/tests/data/test553
new file mode 100644
index 000000000..bd937f016
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test553
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP POST
+POST callback
+huge request header
+
+
+# Server-side
+
+
+
+HTTP/1.1 200 Fine!
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Length: 6
+
+hello
+
+
+
+
+# Client-side
+
+
+http
+
+# tool to use
+
+lib553
+
+
+
+
+HTTP post with huge request headers and post data from callback
+
+
+http://%HOSTIP:%HTTPPORT/path/553
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+POST /path/553 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Header0: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header2: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header3: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header4: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header5: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header6: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Header7: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Content-Length: 40960
+Content-Type: application/x-www-form-urlencoded
+
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test554 b/external/3rd/library/curl/curl-7.45.0/tests/data/test554
new file mode 100644
index 000000000..b55fa3d10
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test554
@@ -0,0 +1,85 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
+hello
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib554
+
+
+
+HTTP multi-part formpost using read callback for the file part
+
+
+http://%HOSTIP:%HTTPPORT/554
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+s/^--------------------------[a-z0-9]*/------------------------------/
+s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
+
+# Note that the stripping above removes 12 bytes from every occurance of the
+# boundary string and since 5 of them are in the body contents, we see
+# (5*12) == 60 bytes less
+
+POST /554 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 718
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------
+
+------------------------------
+Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
+
+this is what we post to the silly web server
+
+------------------------------
+Content-Disposition: form-data; name="callbackdata"
+
+this is what we post to the silly web server
+
+------------------------------
+Content-Disposition: form-data; name="filename"
+
+postit2.c
+------------------------------
+Content-Disposition: form-data; name="submit"
+
+send
+------------------------------
+Content-Disposition: form-data; name="somename"; filename="somefile.txt"
+Content-Type: text/plain
+
+blah blah
+--------------------------------
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test555 b/external/3rd/library/curl/curl-7.45.0/tests/data/test555
new file mode 100644
index 000000000..0f3bb07fc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test555
@@ -0,0 +1,144 @@
+
+# NOTE: this test case is a duplicate of 547 but the tool is built to use the
+# multi interface instead of easy, but that shouldn't be noticable at all in
+# this file!
+
+
+HTTP
+HTTP POST
+POST callback
+HTTP proxy
+HTTP proxy NTLM auth
+multi
+
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+Hey you, authenticate or go away!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+# tool to use
+
+lib555
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy auth NTLM with POST data from read callback multi-if
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com/path/555 http://%HOSTIP:%HTTPPORT testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+# remove CR that CURLOPT_TRANSFERTEXT added, when CharConv enabled:
+s/^(this is the blurb we want to upload)\r\n/$1\n/ if($has_charconv)
+
+
+POST http://test.remote.example.com/path/555 HTTP/1.1
+Host: test.remote.example.com
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+POST http://test.remote.example.com/path/555 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 0
+Content-Type: application/x-www-form-urlencoded
+
+POST http://test.remote.example.com/path/555 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+Content-Length: 36
+Content-Type: application/x-www-form-urlencoded
+
+this is the blurb we want to upload
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test556 b/external/3rd/library/curl/curl-7.45.0/tests/data/test556
new file mode 100644
index 000000000..55c7c91c3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test556
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+Content-Length: 6
+Connection: close
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+lib556
+
+
+send and recv HTTP
+
+
+http://%HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /556 HTTP/1.2
+Host: ninja
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test557 b/external/3rd/library/curl/curl-7.45.0/tests/data/test557
new file mode 100644
index 000000000..ee2793f56
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test557
@@ -0,0 +1,45 @@
+
+
+
+printf
+unittest
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+# tool is what to use instead of 'curl'
+
+lib557
+
+
+
+curl_mprintf() testing
+
+
+nothing
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+All curl_mprintf() unsigned short tests OK!
+All curl_mprintf() signed short tests OK!
+All curl_mprintf() unsigned int tests OK!
+All curl_mprintf() signed int tests OK!
+All curl_mprintf() unsigned long tests OK!
+All curl_mprintf() signed long tests OK!
+All curl_mprintf() curl_off_t tests OK!
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test558 b/external/3rd/library/curl/curl-7.45.0/tests/data/test558
new file mode 100644
index 000000000..7a9ba7061
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test558
@@ -0,0 +1,53 @@
+
+
+
+TrackMemory
+
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+TrackMemory
+
+# tool is what to use instead of 'curl'
+
+lib558
+
+
+
+libtest memory tracking operational
+
+
+nothing
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+MEM lib558.c: malloc()
+MEM lib558.c: free()
+MEM escape.c: malloc()
+MEM escape.c: realloc()
+MEM escape.c: realloc()
+MEM escape.c: free()
+
+
+s/ =.*//
+s/\(.*\)/()/
+s/:\d+/:/
+s:^(MEM )(.*/)(.*):$1$3:
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test56 b/external/3rd/library/curl/curl-7.45.0/tests/data/test56
new file mode 100644
index 000000000..f221981c4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test56
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP POST
+chunked Transfer-Encoding
+config file
+-A
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Funny-head: yesyes
+
+This is the proof it works
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP POST with *HUGE* request and chunked transfer-encoding
+
+
+#
+data "we post this"
+#
+# enforce chunky post!
+header "Transfer-Encoding: chunked"
+#
+# Set the user-agent using a short-option:
+-A "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+#
+
+
+-K - %HOSTIP:%HTTPPORT/that.site.com/56
+
+
+
+# Verify data after the test has been "shot"
+
+
+POST /that.site.com/56 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+
+c
+we post this
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test560 b/external/3rd/library/curl/curl-7.45.0/tests/data/test560
new file mode 100644
index 000000000..8d005541f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test560
@@ -0,0 +1,56 @@
+
+
+
+HTTPS
+HTTP GET
+multi
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+
+
+
+#
+# Client-side
+
+
+SSL
+
+
+https
+
+
+lib560
+
+
+simple HTTPS GET with multi interface
+
+
+https://%HOSTIP:%HTTPSPORT/560
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /560 HTTP/1.1
+Host: %HOSTIP:%HTTPSPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test561 b/external/3rd/library/curl/curl-7.45.0/tests/data/test561
new file mode 100644
index 000000000..a6188eacf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test561
@@ -0,0 +1,66 @@
+
+
+
+FTP
+HTTP proxy
+CURLOPT_PROXY_TRANSFER_MODE
+CURLOPT_PROXY
+type=
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+#
+# Client-side
+
+
+http
+
+
+ftp
+
+
+lib549
+
+
+FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i
+
+# first URL then proxy
+
+"ftp://www.example.com/moo/561;type=i" http://%HOSTIP:%HTTPPORT ascii
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://www.example.com/moo/561;type=i HTTP/1.1
+Host: www.example.com:21
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+hello
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test562 b/external/3rd/library/curl/curl-7.45.0/tests/data/test562
new file mode 100644
index 000000000..070cf7aa1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test562
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PASV
+RETR
+
+
+# Server-side
+
+
+silly data
+over FTP
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib562
+
+
+FTP a type=A URL and CURLOPT_PORT set
+
+
+# note that we need quotes around the URL below to make sure the shell doesn't
+# treat the semicolon as a separator!
+
+'ftp://%HOSTIP:23456/562;type=A' %FTPPORT
+
+
+
+
+# Verify data after the test has been "shot"
+#
+# There's no MTDM in the protocol here since this code doesn't ask for the
+# time/date of the file
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+SIZE 562
+RETR 562
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test563 b/external/3rd/library/curl/curl-7.45.0/tests/data/test563
new file mode 100644
index 000000000..785152319
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test563
@@ -0,0 +1,57 @@
+
+
+
+FTP
+CURLOPT_PORT
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Accept-Ranges: bytes
+Content-Length: 6
+
+hello
+
+
+
+# Client-side
+
+
+ftp
+http
+
+
+lib562
+
+
+FTP type=A URL and CURLOPT_PORT set and proxy
+
+
+
+ftp_proxy=http://%HOSTIP:%HTTPPORT/
+
+# note that we need quotes around the URL below to make sure the shell doesn't
+# treat the semicolon as a separator!
+
+"ftp://%HOSTIP:23456/563;type=A" %FTPPORT
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET FTP://%HOSTIP:%FTPPORT/563;type=A HTTP/1.1
+Host: %HOSTIP:%FTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test564 b/external/3rd/library/curl/curl-7.45.0/tests/data/test564
new file mode 100644
index 000000000..72bf12919
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test564
@@ -0,0 +1,63 @@
+
+
+
+FTP
+PASV
+RETR
+multi
+SOCKS4
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+
+# Client-side
+
+
+ftp
+socks4
+
+
+lib564
+
+
+FTP RETR a file over a SOCKS proxy using the multi interface
+
+
+ftp://%HOSTIP:%FTPPORT/path/564 %HOSTIP:%SOCKSPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPSV
+TYPE I
+SIZE 564
+RETR 564
+QUIT
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test565 b/external/3rd/library/curl/curl-7.45.0/tests/data/test565
new file mode 100644
index 000000000..6e215a24d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test565
@@ -0,0 +1,108 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Digest auth
+
+
+#
+# Server-side
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+# tool is what to use instead of 'curl'
+
+lib565
+
+
+
+send HTTP POST using read callback, chunked transfer-encoding and Digest
+
+
+http://%HOSTIP:%HTTPPORT/565
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+POST /565 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+
+0
+
+POST /565 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="foo", realm="testrealm", nonce="1053604144", uri="/565", response="877424f750af047634dbd94f9933217b"
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+3
+one
+3
+two
+5
+three
+1d
+and a final longer crap: four
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test566 b/external/3rd/library/curl/curl-7.45.0/tests/data/test566
new file mode 100644
index 000000000..9923d8fb8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test566
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 0
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib566
+
+
+
+HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer
+
+
+http://%HOSTIP:%HTTPPORT/566 log/ip566
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CL: 0
+
+
+GET /566 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test567 b/external/3rd/library/curl/curl-7.45.0/tests/data/test567
new file mode 100644
index 000000000..de0f63273
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test567
@@ -0,0 +1,50 @@
+
+
+#Informational
+
+
+RTSP
+OPTIONS
+
+
+
+# Server-side
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 1
+Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
+Curl-Private: swsclose
+
+
+
+# Client-Side
+
+
+rtsp
+
+
+lib567
+
+
+
+simple RTSP OPTIONS command
+
+
+rtsp://%HOSTIP:%RTSPPORT/567
+
+
+
+
+
+OPTIONS rtsp://%HOSTIP:%RTSPPORT/567 RTSP/1.0
+CSeq: 1
+User-Agent: test567
+Test-Number: 567
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test568 b/external/3rd/library/curl/curl-7.45.0/tests/data/test568
new file mode 100644
index 000000000..09fa81ce2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test568
@@ -0,0 +1,117 @@
+
+
+#Informational
+
+
+RTSP
+ANNOUNCE
+
+
+
+# Server-side
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Cseq: 1
+
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Cseq: 2
+Content-Length: 70
+Content-Type: application/sdp
+
+v=0
+s=rtspd SDP
+i=A fake SDP reply
+u=http://www.curl.example.com/fakesdp.ps
+
+
+RTSP/1.0 200 Okie Dokie
+Server: RTSPD/libcurl-test
+Cseq: 3
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 4
+Curl-private: swsclose
+Informational: Empty Options Response
+
+
+
+
+# Client-Side
+
+
+rtsp
+
+
+lib568
+
+
+
+RTSP Announce (PUT and POST style) test
+
+
+rtsp://%HOSTIP:%RTSPPORT/568
+
+# file written before test command runs
+
+v=0
+o=mhandley 2890844526 2890845468 IN IP4 126.16.64.4
+s=SDP Seminar
+i=A Seminar on the session description protocol
+u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
+e=mjh@isi.edu (Mark Handley)
+c=IN IP4 224.2.17.12/127
+t=2873397496 2873404696
+a=recvonly
+m=audio 3456 RTP/AVP 0
+m=video 2232 RTP/AVP 31
+
+
+
+
+
+^If-Modified-Since:.*
+
+
+ANNOUNCE rtsp://%HOSTIP:%RTSPPORT/5680001 RTSP/1.0
+CSeq: 1
+Content-Length: 306
+Content-Type: application/sdp
+
+v=0
+o=mhandley 2890844526 2890845468 IN IP4 126.16.64.4
+s=SDP Seminar
+i=A Seminar on the session description protocol
+u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
+e=mjh@isi.edu (Mark Handley)
+c=IN IP4 224.2.17.12/127
+t=2873397496 2873404696
+a=recvonly
+m=audio 3456 RTP/AVP 0
+m=video 2232 RTP/AVP 31
+DESCRIBE rtsp://%HOSTIP:%RTSPPORT/5680002 RTSP/1.0
+CSeq: 2
+Accept: application/sdp
+
+ANNOUNCE rtsp://%HOSTIP:%RTSPPORT/5680003 RTSP/1.0
+CSeq: 3
+Content-Type: posty goodness
+Content-Length: 35
+
+postyfield=postystuff&project=curl
+OPTIONS rtsp://%HOSTIP:%RTSPPORT/5680004 RTSP/1.0
+CSeq: 4
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test569 b/external/3rd/library/curl/curl-7.45.0/tests/data/test569
new file mode 100644
index 000000000..c4c62a4c3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test569
@@ -0,0 +1,111 @@
+
+
+#Informational
+
+
+RTSP
+SESSION_ID
+
+
+
+# Server-side
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 1
+Session: 00.+1-am-aSe55ion_id\$yes-i-am\$;timeout=60
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+
+
+
+RTSP/1.0 200 OK
+Session: \$extraspaces ignore-this-part-------;foo=bar
+CSeq: 3
+Server: RTSPD/libcurl-test
+
+
+
+RTSP/1.0 200 OK
+CSeq: 4
+Server: RTSPD/libcurl-test
+
+
+
+RTSP/1.0 200 OK
+Session: A
+Server: RTSPD/libcurl-test
+CSeq: 5
+Informational: Single Character
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Curl-Private: swsclose
+CSeq: 6
+
+
+
+
+# Client-Side
+
+
+rtsp
+
+
+lib569
+
+
+
+RTSP Session ID parsing
+
+
+rtsp://%HOSTIP:%RTSPPORT/569 log/idfile.txt
+
+
+
+
+
+^If-Modified-Since:.*
+
+
+SETUP rtsp://%HOSTIP:%RTSPPORT/5690001 RTSP/1.0
+CSeq: 1
+Transport: Fake/NotReal/JustATest;foo=baz
+
+TEARDOWN rtsp://%HOSTIP:%RTSPPORT/5690002 RTSP/1.0
+CSeq: 2
+Session: 00.+1-am-aSe55ion_id\$yes-i-am\$
+
+SETUP rtsp://%HOSTIP:%RTSPPORT/5690003 RTSP/1.0
+CSeq: 3
+Transport: Fake/NotReal/JustATest;foo=baz
+
+TEARDOWN rtsp://%HOSTIP:%RTSPPORT/5690004 RTSP/1.0
+CSeq: 4
+Session: \$extraspaces
+
+SETUP rtsp://%HOSTIP:%RTSPPORT/5690005 RTSP/1.0
+CSeq: 5
+Transport: Fake/NotReal/JustATest;foo=baz
+
+TEARDOWN rtsp://%HOSTIP:%RTSPPORT/5690006 RTSP/1.0
+CSeq: 6
+Session: A
+
+
+
+Got Session ID: [00.+1-am-aSe55ion_id\$yes-i-am\$]
+Got Session ID: [\$extraspaces]
+Got Session ID: [A]
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test57 b/external/3rd/library/curl/curl-7.45.0/tests/data/test57
new file mode 100644
index 000000000..0724eac82
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test57
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP GET
+--write-out
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Funny-head: yesyes
+Content-Type: text/html; charset=ISO-8859-4
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP content-type with spaces in
+
+
+-w "%{content_type}\n" http://%HOSTIP:%HTTPPORT/57 -o log/out57
+
+
+
+# Verify data after the test has been "shot"
+
+
+text/html; charset=ISO-8859-4
+
+
+^User-Agent:.*
+
+
+GET /57 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test570 b/external/3rd/library/curl/curl-7.45.0/tests/data/test570
new file mode 100644
index 000000000..65f32a5be
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test570
@@ -0,0 +1,77 @@
+
+
+#Informational
+
+
+RTSP
+Mismatch checking
+
+
+
+# Server-side
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
+Informational: CSeq Mismatch
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdf
+CSeq: 999
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdfWRONG
+Informational: Session ID mismatch
+Curl-Private: swsclose
+CSeq: 1000
+
+
+
+
+
+# Client-Side
+
+
+rtsp
+
+
+lib570
+
+
+
+RTSP CSeq and Session Mismatch checks
+
+
+rtsp://%HOSTIP:%RTSPPORT/570
+
+
+
+
+
+^If-Modified-Since:.*
+
+
+OPTIONS rtsp://%HOSTIP:%RTSPPORT/5700001 RTSP/1.0
+CSeq: 1
+
+SETUP rtsp://%HOSTIP:%RTSPPORT/5700002 RTSP/1.0
+CSeq: 999
+Transport: RAW/RAW/UDP;unicast;client_port=3056-3057
+
+PLAY rtsp://%HOSTIP:%RTSPPORT/5700003 RTSP/1.0
+CSeq: 1000
+Session: asdf
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test571 b/external/3rd/library/curl/curl-7.45.0/tests/data/test571
new file mode 100644
index 000000000..5e138cdf9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test571
@@ -0,0 +1,108 @@
+
+
+# Informational
+# Bang on RTP by
+# 1) giving an evil payload (with $)
+# 2) Giving evil content (SDP starting with $)
+# 3) packing rtp after headers, after content, and at the start
+
+
+RTSP
+RTP
+
+
+
+# Server-side
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdf
+CSeq: 1
+
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+CSeq: 2
+Session: asdf
+
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Cseq: 3
+Content-Length: 4
+Content-Type: fake/evil
+
+$99
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: asdf
+CSeq: 4
+
+
+
+
+rtp: part 2 channel 1 size 10
+rtp: part 2 channel 0 size 500
+rtp: part 2 channel 0 size 196
+rtp: part 2 channel 0 size 124
+rtp: part 2 channel 0 size 824
+rtp: part 3 channel 1 size 10
+rtp: part 3 channel 0 size 50
+rtp: part 4 channel 0 size 798
+rtp: part 4 channel 0 size 42
+rtp: part 4 channel 1 size 30
+rtp: part 4 channel 0 size 2048
+rtp: part 4 channel 0 size 85
+rtp: part 4 channel 1 size 24
+
+
+
+# Client-Side
+
+
+rtsp
+
+
+lib571
+
+
+
+RTSP RTP Interleaving Test
+
+
+rtsp://%HOSTIP:%RTSPPORT/571 log/protofile.txt
+
+
+
+
+
+RTP: message size 10, channel 1
+RTP: message size 500, channel 0
+RTP: message size 196, channel 0
+RTP: message size 124, channel 0
+RTP: message size 824, channel 0
+RTP: message size 10, channel 1
+RTP: message size 50, channel 0
+RTP: message size 798, channel 0
+RTP: message size 42, channel 0
+RTP: message size 30, channel 1
+RTP: message size 2048, channel 0
+RTP: message size 85, channel 0
+RTP: message size 24, channel 1
+
+
+
+$99
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test572 b/external/3rd/library/curl/curl-7.45.0/tests/data/test572
new file mode 100644
index 000000000..903ded967
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test572
@@ -0,0 +1,122 @@
+
+
+#Informational
+
+
+RTSP
+GET_PARAMETER
+
+
+
+# Server-side
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+CSeq: 1
+
+
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+Content-Type: text/parameters
+Content-Length: 32
+Cseq: 2
+
+scale=enormous
+speed=ludicrous
+
+
+
+
+RTSP/1.0 204 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+Cseq: 3
+
+
+
+
+RTSP/1.0 200 Okie Dokie
+Server: RTSPD/libcurl-test
+Session: getparams-test
+Cseq: 4
+Content-Length: 37
+
+packets_received: 1000
+jitter: 0.314
+
+
+RTSP/1.0 200 OK
+Server: RTSPD/libcurl-test
+Session: getparams-test
+CSeq: 5
+Curl-private: swsclose
+Informational: Empty Options Response
+
+
+
+
+# Client-Side
+
+
+rtsp
+
+
+lib572
+
+
+
+RTSP GET_PARAMETER (Put/Heartbeat/Post)
+
+
+rtsp://%HOSTIP:%RTSPPORT/572
+
+# file written before test command runs
+
+scale
+speed
+
+
+
+
+
+^If-Modified-Since:.*
+
+
+SETUP rtsp://%HOSTIP:%RTSPPORT/5720001 RTSP/1.0
+CSeq: 1
+Transport: Planes/Trains/Automobiles
+
+GET_PARAMETER rtsp://%HOSTIP:%RTSPPORT/5720002 RTSP/1.0
+CSeq: 2
+Session: getparams-test
+Content-Length: 12
+Content-Type: text/parameters
+
+scale
+speed
+GET_PARAMETER rtsp://%HOSTIP:%RTSPPORT/5720003 RTSP/1.0
+CSeq: 3
+Session: getparams-test
+
+GET_PARAMETER rtsp://%HOSTIP:%RTSPPORT/5720004 RTSP/1.0
+CSeq: 4
+Session: getparams-test
+Content-Length: 24
+Content-Type: text/parameters
+
+packets_received
+jitter
+OPTIONS rtsp://%HOSTIP:%RTSPPORT/5720005 RTSP/1.0
+CSeq: 5
+Session: getparams-test
+
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test573 b/external/3rd/library/curl/curl-7.45.0/tests/data/test573
new file mode 100644
index 000000000..e3299b820
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test573
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+multi
+flaky
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib573
+
+
+
+verify connect time with multi interface
+
+
+http://%HOSTIP:%HTTPPORT/573
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /573 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test574 b/external/3rd/library/curl/curl-7.45.0/tests/data/test574
new file mode 100644
index 000000000..cb41f03ec
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test574
@@ -0,0 +1,98 @@
+
+
+
+FTP
+LIST
+RETR
+wildcardmatch
+ftplistparser
+
+
+
+#
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib574
+
+
+FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)
+
+
+ftp://%HOSTIP:%FTPPORT/fully_simulated/UNIX/*.txt
+
+
+
+############################################
+# Verify data after the test has been "shot"
+
+
+0
+
+# THERE SHOULD NOT BE "SIZE"! and one "USER/PASS"
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD fully_simulated
+CWD UNIX
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+CWD /
+CWD fully_simulated
+CWD UNIX
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+QUIT
+
+
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test575 b/external/3rd/library/curl/curl-7.45.0/tests/data/test575
new file mode 100644
index 000000000..813383456
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test575
@@ -0,0 +1,121 @@
+
+
+
+FTP
+RETR
+multi
+wildcardmatch
+ftplistparser
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib575
+
+
+FTP wildcard download - dup_handle and multi interface
+
+
+ftp://%HOSTIP:%FTPPORT/fully_simulated/UNIX/*
+
+
+# Verify data after the test has been "shot"
+
+
+0
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD fully_simulated
+CWD UNIX
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+CWD /
+CWD fully_simulated
+CWD UNIX
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+QUIT
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD fully_simulated
+CWD UNIX
+EPSV
+TYPE A
+LIST
+EPSV
+TYPE I
+RETR chmod1
+EPSV
+RETR chmod2
+EPSV
+RETR chmod3
+EPSV
+RETR empty_file.dat
+EPSV
+RETR file.txt
+EPSV
+RETR someothertext.txt
+QUIT
+
+
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+This file should have permissions 444
+This file should have permissions 666
+This file should have permissions 777
+This is content of file "file.txt"
+Some junk ;-) This file does not really exist.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test576 b/external/3rd/library/curl/curl-7.45.0/tests/data/test576
new file mode 100644
index 000000000..74a3aedd1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test576
@@ -0,0 +1,192 @@
+
+
+
+FTP
+wildcardmatch
+ftplistparser
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib576
+
+
+FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)
+
+
+ftp://%HOSTIP:%FTPPORT/fully_simulated/UNIX/*
+
+
+
+# Verify data after the test has been "shot"
+
+
+0
+
+
+=============================================================
+Remains: 14
+Filename: .
+Permissions: rwxrwxrwx (parsed => 777)
+Size: 20480B
+User: ftp-default
+Group: ftp-default
+Time: Apr 27 5:12
+Filetype: directory
+=============================================================
+Remains: 13
+Filename: ..
+Permissions: rwxrwxrwx (parsed => 777)
+Size: 20480B
+User: ftp-default
+Group: ftp-default
+Time: Apr 23 3:12
+Filetype: directory
+=============================================================
+Remains: 12
+Filename: chmod1
+Permissions: r--r--r-- (parsed => 444)
+Size: 38B
+User: ftp-default
+Group: ftp-default
+Time: Jan 11 10:00
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This file should have permissions 444
+-------------------------------------------------------------
+=============================================================
+Remains: 11
+Filename: chmod2
+Permissions: rw-rw-rw- (parsed => 666)
+Size: 38B
+User: ftp-default
+Group: ftp-default
+Time: Feb 1 8:00
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This file should have permissions 666
+-------------------------------------------------------------
+=============================================================
+Remains: 10
+Filename: chmod3
+Permissions: rwxrwxrwx (parsed => 777)
+Size: 38B
+User: ftp-default
+Group: ftp-default
+Time: Feb 1 8:00
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This file should have permissions 777
+-------------------------------------------------------------
+=============================================================
+Remains: 9
+Filename: chmod4
+Permissions: --S--S--t (parsed => 7001)
+Size: 4096B
+User: ftp-default
+Group: ftp-default
+Time: May 4 4:31
+Filetype: directory
+=============================================================
+Remains: 8
+Filename: chmod5
+Permissions: --s--s--T (parsed => 7110)
+Size: 4096B
+User: ftp-default
+Group: ftp-default
+Time: May 4 4:31
+Filetype: directory
+=============================================================
+Remains: 7
+Filename: empty_file.dat
+Permissions: rw-r--r-- (parsed => 644)
+Size: 0B
+User: ftp-default
+Group: ftp-default
+Time: Apr 27 11:01
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+-------------------------------------------------------------
+=============================================================
+Remains: 6
+Filename: file.txt
+Permissions: rw-r--r-- (parsed => 644)
+Size: 35B
+User: ftp-default
+Group: ftp-default
+Time: Apr 27 11:01
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+This is content of file "file.txt"
+-------------------------------------------------------------
+=============================================================
+Remains: 5
+Filename: link
+Permissions: rwxrwxrwx (parsed => 777)
+Size: 0B
+User: ftp-default
+Group: ftp-default
+Time: Jan 6 4:42
+Filetype: symlink
+Target: file.txt
+=============================================================
+Remains: 4
+Filename: link_absolute
+Permissions: rwxrwxrwx (parsed => 777)
+Size: 0B
+User: ftp-default
+Group: ftp-default
+Time: Jan 6 4:45
+Filetype: symlink
+Target: /data/ftp/file.txt
+=============================================================
+Remains: 3
+Filename: .NeXT
+Permissions: rwxrwxrwx (parsed => 777)
+Size: 4096B
+User: ftp-default
+Group: ftp-default
+Time: Jan 23 2:05
+Filetype: directory
+=============================================================
+Remains: 2
+Filename: someothertext.txt
+Permissions: rw-r--r-- (parsed => 644)
+Size: 47B
+User: ftp-default
+Group: ftp-default
+Time: Apr 27 11:01
+Filetype: regular file
+Content:
+-------------------------------------------------------------
+# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #
+-------------------------------------------------------------
+=============================================================
+Remains: 1
+Filename: weirddir.txt
+Permissions: rwxr-xrwx (parsed => 757)
+Size: 4096B
+User: ftp-default
+Group: ftp-default
+Time: Apr 23 3:12
+Filetype: directory
+=============================================================
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test578 b/external/3rd/library/curl/curl-7.45.0/tests/data/test578
new file mode 100644
index 000000000..e4ee4ac17
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test578
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP POST
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib578
+
+
+
+HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback
+
+
+http://%HOSTIP:%HTTPPORT/500 log/ip578
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+PASSED, UL data matched data size
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test579 b/external/3rd/library/curl/curl-7.45.0/tests/data/test579
new file mode 100644
index 000000000..e352e3d60
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test579
@@ -0,0 +1,87 @@
+
+
+
+HTTP
+HTTP POST
+HTTP Digest auth
+
+
+#
+# Server-side
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+
+
+
+# Client-side
+
+
+http
+
+
+crypto
+
+# tool is what to use instead of 'curl'
+
+lib579
+
+
+
+small chunked HTTP POSTs with digest auth. and progress callback
+
+
+http://%HOSTIP:%HTTPPORT/579 log/ip579
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Progress callback called with UL 0 out of 0
+Progress callback called with UL 8 out of 0
+Progress callback called with UL 16 out of 0
+Progress callback called with UL 26 out of 0
+Progress callback called with UL 61 out of 0
+Progress callback called with UL 66 out of 0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test58 b/external/3rd/library/curl/curl-7.45.0/tests/data/test58
new file mode 100644
index 000000000..1bd53fa27
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test58
@@ -0,0 +1,51 @@
+
+
+
+HTTP
+HTTP PUT
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT from file with weird letters
+
+
+http://%HOSTIP:%HTTPPORT/we/want/ -T log/58te[]st.txt -g
+
+
+a few bytes
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /we/want/58te%5B%5Dst.txt HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 12
+Expect: 100-continue
+
+a few bytes
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test580 b/external/3rd/library/curl/curl-7.45.0/tests/data/test580
new file mode 100644
index 000000000..13965598f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test580
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+multi
+Duplicate-header
+
+
+
+# Server-side
+
+
+HTTP/1.1 302 eat this!
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: this-is-the-first.html
+Content-Length: 0
+Connection: close
+Location: and there's a second one too! / moo.html
+
+
+
+
+# Client-side
+
+
+http
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib507
+
+
+
+multi interface, multiple Location: headers
+
+
+http://%HOSTIP:%HTTPPORT/580
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /580 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test581 b/external/3rd/library/curl/curl-7.45.0/tests/data/test581
new file mode 100644
index 000000000..83d7b604e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test581
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+multi
+Duplicate-header
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 all good!
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 0
+Connection: close
+Content-Type: changed/my/mind
+
+
+
+
+# Client-side
+
+
+http
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib507
+
+
+
+multi interface, multiple Content-Type: headers
+
+
+http://%HOSTIP:%HTTPPORT/581
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /581 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test582 b/external/3rd/library/curl/curl-7.45.0/tests/data/test582
new file mode 100644
index 000000000..64c32dbf9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test582
@@ -0,0 +1,49 @@
+
+
+
+SFTP
+multi
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+sftp
+
+
+lib582
+
+
+SFTP upload using multi interface
+
+
+Sftp://%HOSTIP:%SSHPORT%PWD/log/upload582.txt %PWD/log/file582.txt %USER:
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
+
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test583 b/external/3rd/library/curl/curl-7.45.0/tests/data/test583
new file mode 100644
index 000000000..6ad7f7d0f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test583
@@ -0,0 +1,45 @@
+
+
+
+SFTP
+multi
+
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+sftp
+
+
+lib583
+
+
+SFTP with multi interface, remove handle early
+
+
+# The command here uses 'localhost' just to make sure that curl_multi_perform
+# won't reach too far in the first invoke. When using c-ares at least, the
+# name resolve will cause it to return rather quickly and thus we could trigger
+# the problem we're looking to verify.
+
+sftp://localhost:%SSHPORT%PWD/log/upload583.txt %USER:
+
+
+
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+0
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test584 b/external/3rd/library/curl/curl-7.45.0/tests/data/test584
new file mode 100644
index 000000000..309c7b65b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test584
@@ -0,0 +1,102 @@
+
+
+
+HTTP
+pipelining
+multi
+
+
+
+# Server-side
+# Silly division of the first request is solely to appease the server which expects n_data_items == n_requests
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 4
+
+584
+
+
+HTTP/1.1 200 OK
+
+
+Server: test-server/fake
+
+
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 5
+
+585
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 4
+
+586
+
+
+
+# Client-side
+
+
+http
+
+
+lib530
+
+
+HTTP GET using pipelining (nonzero length after zero length)
+
+
+http://%HOSTIP:%HTTPPORT/path/584
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /path/5840001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/5840002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/5840003 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /path/5840004 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 4
+
+584
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 5
+
+585
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Content-Length: 4
+
+586
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test585 b/external/3rd/library/curl/curl-7.45.0/tests/data/test585
new file mode 100644
index 000000000..2096e81c3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test585
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+multi
+CURLOPT_OPENSOCKETFUNCTION
+CURLOPT_CLOSESOCKETFUNCTION
+
+
+
+# Server-side
+
+
+HTTP/1.1 302 eat this!
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: this-is-the-first.html
+Content-Length: 0
+Connection: close
+
+
+
+[OPEN] counter: 1
+HTTP/1.1 302 eat this!
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: this-is-the-first.html
+Content-Length: 0
+Connection: close
+
+[CLOSE] counter: 1
+
+
+
+# Client-side
+
+
+http
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib585
+
+
+
+socket open/close callbacks
+
+
+http://%HOSTIP:%HTTPPORT/585
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /585 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test586 b/external/3rd/library/curl/curl-7.45.0/tests/data/test586
new file mode 100644
index 000000000..c0857bdd8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test586
@@ -0,0 +1,59 @@
+
+
+
+FTP
+PASV
+CURLOPT_PORT
+
+
+#
+# Server-side
+
+
+line 1
+line 2
+last line
+
+
+[OPEN] counter: 1
+[OPEN] counter: 2
+line 1
+line 2
+last line
+[CLOSE] counter: 2
+[CLOSE] counter: 1
+
+
+
+#
+# Client-side
+
+
+ftp
+
+
+lib585
+
+
+FTP and open/close socket callbacks
+
+
+ftp://%HOSTIP:%FTPPORT/586
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 586
+RETR 586
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test587 b/external/3rd/library/curl/curl-7.45.0/tests/data/test587
new file mode 100644
index 000000000..69cbe1ed7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test587
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP POST
+
+
+
+#
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib587
+
+
+
+HTTP multi-part formpost with aborted read callback
+
+
+http://%HOSTIP:%HTTPPORT/587
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+s/^--------------------------[a-z0-9]*/------------------------------/
+s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
+
+
+POST /587 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 718
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------
+
+------------------------------
+Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
+
+
+# CURLE_ABORTED_BY_CALLBACK (42)
+
+42
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test588 b/external/3rd/library/curl/curl-7.45.0/tests/data/test588
new file mode 100644
index 000000000..b30828c14
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test588
@@ -0,0 +1,69 @@
+
+#
+# This test is exactly like 525 but the server rejects the EPRT command.
+# Written up to make sure that there's nothing in the multi interface
+# active connection case that differs between PORT and EPRT use
+#
+
+
+FTP
+PORT
+STOR
+multi
+EPRT refused
+
+
+
+# Server-side
+
+
+
+
+REPLY EPRT 500 we don't like EPRT now
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib525
+
+
+FTP PORT upload using multi interface, EPRT doesn't work
+
+
+ftp://%HOSTIP:%FTPPORT/path/588 log/upload588
+
+
+Moooooooooooo
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip off parts of the PORT and EPRT commands that might differ
+
+s/^PORT (.*)/PORT/
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPRT |1|
+PORT
+TYPE I
+STOR 588
+QUIT
+
+
+Moooooooooooo
+ upload this
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test59 b/external/3rd/library/curl/curl-7.45.0/tests/data/test59
new file mode 100644
index 000000000..1924650f5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test59
@@ -0,0 +1,47 @@
+
+
+
+HTTP
+HTTP GET
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+hej
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP URL with slash but with "parameter"
+
+
+"http://%HOSTIP:%HTTPPORT?mooo/59"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /?mooo/59 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test590 b/external/3rd/library/curl/curl-7.45.0/tests/data/test590
new file mode 100644
index 000000000..55ea4f0e9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test590
@@ -0,0 +1,125 @@
+
+
+
+HTTP
+HTTP POST
+POST callback
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Negotiate
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# this is returned first since we get no proxy-auth
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+Hey you, authenticate or go away!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+HTTP/1.1 407 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Proxy-Authenticate: Negotiate
+Proxy-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+Content-Length: 34
+
+HTTP/1.1 200 Things are fine in proxy land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 42
+
+Contents of that page you requested, sir.
+
+
+
+# Client-side
+
+
+http
+
+# tool to use
+
+lib590
+
+
+NTLM
+!SSPI
+debug
+
+
+HTTP proxy offers Negotiate+NTLM, use only NTLM
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://test.remote.example.com/path/590 http://%HOSTIP:%HTTPPORT
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent: curl/.*
+
+
+GET http://test.remote.example.com/path/590 HTTP/1.1
+Host: test.remote.example.com
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.example.com/path/590 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.example.com/path/590 HTTP/1.1
+Host: test.remote.example.com
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAAAgACAPYAAAAIAAgA+AAAAAAAAAAAAAAABoKBAB3Hr6SDn3NDNkgebbaP88ExMjM0MjIzNFIW4N7aYT44bAIg1jt2blUBAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAbWVjdXJsaG9zdA==
+User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test591 b/external/3rd/library/curl/curl-7.45.0/tests/data/test591
new file mode 100644
index 000000000..e1dfcd374
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test591
@@ -0,0 +1,73 @@
+
+#
+# For this test the server rejects the EPRT command,
+# code in lib591 makes use of curl_multi_timeout()
+# and server does not establish data connection.
+#
+
+
+FTP
+PORT
+STOR
+multi
+EPRT refused
+NODATACONN425
+
+
+
+# Server-side
+
+
+
+
+NODATACONN425
+REPLY EPRT 500 we don't like EPRT now
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib591
+
+
+FTP multi PORT and 425 on upload
+
+
+ftp://%HOSTIP:%FTPPORT/path/591 %FTPTIME2 log/upload591
+
+
+Moooooooooooo for 591
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip off parts of the PORT and EPRT commands that might differ
+
+s/^PORT (.*)/PORT/
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPRT |1|
+PORT
+TYPE I
+STOR 591
+QUIT
+
+# CURLE_FTP_ACCEPT_FAILED = 10
+
+10
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test592 b/external/3rd/library/curl/curl-7.45.0/tests/data/test592
new file mode 100644
index 000000000..6151ccc43
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test592
@@ -0,0 +1,74 @@
+
+#
+# For this test the server rejects the EPRT command,
+# code in lib591 makes use of curl_multi_timeout()
+# and server does not establish data connection.
+#
+
+
+FTP
+PORT
+STOR
+multi
+EPRT refused
+NODATACONN421
+
+
+
+# Server-side
+
+
+
+
+NODATACONN421
+REPLY EPRT 500 we don't like EPRT now
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib591
+
+
+FTP multi PORT and 421 on upload
+
+
+ftp://%HOSTIP:%FTPPORT/path/592 %FTPTIME2 log/upload592
+
+
+Moooooooooooo for 592
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip off parts of the PORT and EPRT commands that might differ
+
+s/^PORT (.*)/PORT/
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+# a 421 response must prevent further commands from being sent
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPRT |1|
+PORT
+TYPE I
+STOR 592
+QUIT
+
+# CURLE_FTP_ACCEPT_FAILED = 10
+
+10
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test593 b/external/3rd/library/curl/curl-7.45.0/tests/data/test593
new file mode 100644
index 000000000..a136000be
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test593
@@ -0,0 +1,72 @@
+
+#
+# For this test the server rejects the EPRT command,
+# code in lib591 makes use of curl_multi_timeout()
+# and server does not establish data connection.
+#
+
+
+FTP
+PORT
+STOR
+multi
+EPRT refused
+NODATACONN150
+
+
+
+# Server-side
+
+
+
+
+NODATACONN150
+REPLY EPRT 500 we don't like EPRT now
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib591
+
+
+FTP multi PORT upload, no data conn and no transient neg. reply
+
+
+ftp://%HOSTIP:%FTPPORT/path/593 %FTPTIME2 log/upload593
+
+
+Moooooooooooo for 593
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip off parts of the PORT and EPRT commands that might differ
+
+s/^PORT (.*)/PORT/
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPRT |1|
+PORT
+TYPE I
+STOR 593
+QUIT
+
+
+12
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test594 b/external/3rd/library/curl/curl-7.45.0/tests/data/test594
new file mode 100644
index 000000000..d6144ae6b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test594
@@ -0,0 +1,72 @@
+
+#
+# For this test the server rejects the EPRT command,
+# code in lib591 makes use of curl_multi_timeout()
+# and server does not establish data connection.
+#
+
+
+FTP
+PORT
+STOR
+multi
+EPRT refused
+NODATACONN
+
+
+
+# Server-side
+
+
+
+
+NODATACONN
+REPLY EPRT 500 we don't like EPRT now
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib591
+
+
+FTP multi PORT upload, no data conn and no positive prelim. reply
+
+
+ftp://%HOSTIP:%FTPPORT/path/594 %FTPTIME2 log/upload594
+
+
+Moooooooooooo for 594
+ upload this
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip off parts of the PORT and EPRT commands that might differ
+
+s/^PORT (.*)/PORT/
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD path
+EPRT |1|
+PORT
+TYPE I
+STOR 594
+QUIT
+
+
+28
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test595 b/external/3rd/library/curl/curl-7.45.0/tests/data/test595
new file mode 100644
index 000000000..0099a857c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test595
@@ -0,0 +1,57 @@
+
+#
+# This test is like 585 but uses passive FTP instead of HTTP
+#
+
+
+FTP
+
+
+#
+# Server-side
+
+
+moo
+
+
+[OPEN] counter: 1
+[OPEN] counter: 2
+moo
+[CLOSE] counter: 2
+[CLOSE] counter: 1
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib585
+
+
+
+verify close callbacks with passive FTP
+
+
+ftp://%HOSTIP:%FTPPORT/595 log/ip595
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 595
+RETR 595
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test596 b/external/3rd/library/curl/curl-7.45.0/tests/data/test596
new file mode 100644
index 000000000..9377289dc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test596
@@ -0,0 +1,60 @@
+
+#
+# This test is like 585 but uses active FTP instead of HTTP
+#
+
+
+FTP
+
+
+#
+# Server-side
+
+
+moo
+
+
+[OPEN] counter: 1
+[OPEN] counter: 2
+[CLOSE] counter: 2
+moo
+[CLOSE] counter: 1
+
+
+
+# Client-side
+
+
+ftp
+
+# tool is what to use instead of 'curl'
+
+lib585
+
+
+
+verify close callbacks with active FTP
+
+
+ftp://%HOSTIP:%FTPPORT/596 log/ip596 activeftp
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+s/^(EPRT \|1\|)(.*)/$1/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE 596
+RETR 596
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test597 b/external/3rd/library/curl/curl-7.45.0/tests/data/test597
new file mode 100644
index 000000000..458bb6453
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test597
@@ -0,0 +1,37 @@
+
+
+
+FTP
+CONNECT_ONLY
+
+
+
+# Client-side
+
+
+ftp
+
+
+lib597
+
+
+FTP connect only option
+
+
+
+ftp://%HOSTIP:%FTPPORT
+
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test598 b/external/3rd/library/curl/curl-7.45.0/tests/data/test598
new file mode 100644
index 000000000..89b8e6f58
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test598
@@ -0,0 +1,80 @@
+
+
+
+HTTP
+HTTP GET
+HTTP set cookie
+cookies
+CURLOPT_REFERER
+curl_easy_reset
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+# since the request runs twice
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib598
+
+
+
+curl_easy_reset with referer and other strings set
+
+
+http://%HOSTIP:%HTTPPORT/598
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /598 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: the-moo agent next generation
+Accept: */*
+Referer: http://example.com/the-moo
+Cookie: name=moo
+
+GET /598 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test599 b/external/3rd/library/curl/curl-7.45.0/tests/data/test599
new file mode 100644
index 000000000..9ce8b234c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test599
@@ -0,0 +1,85 @@
+
+
+
+HTTP
+HTTP POST
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: 5990001
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/html
+
+32
+this data is slightly larger than the first piece
+
+0
+
+
+
+
+HTTP/1.1 302 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Location: 5990001
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Transfer-Encoding: chunked
+Connection: close
+Content-Type: text/html
+
+this data is slightly larger than the first piece
+
+
+
+
+# Client-side
+
+
+http
+
+# tool is what to use instead of 'curl'
+
+lib599
+
+
+# Bug 3510057 pointed out that when following a location to a larger chunked
+# encoded page, the first size would still be used in the progress callback
+
+HTTP GET with progress callback and redirects changing content sizes
+
+
+http://%HOSTIP:%HTTPPORT/599 log/ip599
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CL: -1
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test6 b/external/3rd/library/curl/curl-7.45.0/tests/data/test6
new file mode 100644
index 000000000..0e7dc9b24
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test6
@@ -0,0 +1,49 @@
+
+
+
+HTTP
+HTTP GET
+HTTP set cookie
+cookies
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+swsclose: booo
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with simple cookie send
+
+
+http://%HOSTIP:%HTTPPORT/we/want/that/page/6 -b "name=contents;name2=content2"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/that/page/6 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: name=contents;name2=content2
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test60 b/external/3rd/library/curl/curl-7.45.0/tests/data/test60
new file mode 100644
index 000000000..df9eeee15
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test60
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP PUT
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP PUT from stdin with wrong content-length
+
+
+http://%HOSTIP:%HTTPPORT/bzz/60 -T - -H "Content-Length: 1"
+
+
+more than one byte
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /bzz/60 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Content-Length: 1
+Expect: 100-continue
+
+13
+more than one byte
+
+0
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test600 b/external/3rd/library/curl/curl-7.45.0/tests/data/test600
new file mode 100644
index 000000000..1f3f6011c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test600
@@ -0,0 +1,42 @@
+
+
+
+SFTP
+
+
+
+#
+# Server-side
+
+
+Test data
+for ssh test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file600.txt --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test601 b/external/3rd/library/curl/curl-7.45.0/tests/data/test601
new file mode 100644
index 000000000..8e765a8ec
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test601
@@ -0,0 +1,42 @@
+
+
+
+SCP
+
+
+
+#
+# Server-side
+
+
+Test data
+for ssh test
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP retrieval
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file601.txt --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test602 b/external/3rd/library/curl/curl-7.45.0/tests/data/test602
new file mode 100644
index 000000000..6b75feb63
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test602
@@ -0,0 +1,43 @@
+
+
+
+SFTP
+SFTP put
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP put
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file602.txt sftp://%HOSTIP:%SSHPORT%PWD/log/upload.602 --insecure
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Test data
+for ssh upload test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test603 b/external/3rd/library/curl/curl-7.45.0/tests/data/test603
new file mode 100644
index 000000000..efa7d2ed0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test603
@@ -0,0 +1,43 @@
+
+
+
+SCP
+SCP upload
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP upload
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file603.txt scp://%HOSTIP:%SSHPORT%PWD/log/upload.603 --insecure
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Test data
+for ssh upload test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test604 b/external/3rd/library/curl/curl-7.45.0/tests/data/test604
new file mode 100644
index 000000000..566086e10
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test604
@@ -0,0 +1,33 @@
+
+
+
+SFTP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval of nonexistent file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+78
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test605 b/external/3rd/library/curl/curl-7.45.0/tests/data/test605
new file mode 100644
index 000000000..1c162fca5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test605
@@ -0,0 +1,33 @@
+
+
+
+SCP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP retrieval of nonexistent file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+79
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test606 b/external/3rd/library/curl/curl-7.45.0/tests/data/test606
new file mode 100644
index 000000000..80a82e9a9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test606
@@ -0,0 +1,33 @@
+
+
+
+SFTP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP invalid user login
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+67
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test607 b/external/3rd/library/curl/curl-7.45.0/tests/data/test607
new file mode 100644
index 000000000..e34098743
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test607
@@ -0,0 +1,33 @@
+
+
+
+SCP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP invalid user login
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u not-a-valid-user: scp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+67
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test608 b/external/3rd/library/curl/curl-7.45.0/tests/data/test608
new file mode 100644
index 000000000..c904bff9f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test608
@@ -0,0 +1,49 @@
+
+
+
+SFTP
+post-quote
+
+
+
+#
+# Server-side
+
+
+Test file for rename test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP post-quote rename
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-rename %PWD/log/file608.txt %PWD/log/file608-renamed.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/file608.txt --insecure
+
+# Verify that the file was renamed properly, then rename the file back to what
+# it was so the verify section works and the file can be cleaned up.
+
+perl %SRCDIR/libtest/test610.pl gone %PWD/log/file608.txt move %PWD/log/file608-renamed.txt %PWD/log/file608.txt
+
+
+Test file for rename test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Test file for rename test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test609 b/external/3rd/library/curl/curl-7.45.0/tests/data/test609
new file mode 100644
index 000000000..59a217520
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test609
@@ -0,0 +1,45 @@
+
+
+
+SFTP
+post-quote
+FAILURE
+
+
+
+#
+# Server-side
+
+
+Test file for mkdir test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP post-quote mkdir failure
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-mkdir %PWD/log/file609.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/file609.txt --insecure
+
+
+Test file for mkdir test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+21
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test61 b/external/3rd/library/curl/curl-7.45.0/tests/data/test61
new file mode 100644
index 000000000..abc97895a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test61
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+cookiejar
+HTTP replaced headers
+httponly
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 2 11:56:27 GMT 2035
+SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 2 11:56:27 GMT 2035
+Set-Cookie: test3=maybe; domain=foo.com; path=/moo; secure
+Set-Cookie: test4=no; domain=nope.foo.com; path=/moo; secure
+Set-Cookie: test5=name; domain=anything.com; path=/ ; secure
+Set-Cookie: fake=fooledyou; domain=..com; path=/;
+Set-Cookie: supercookie=fooledyou; domain=.com; path=/;^M
+Content-Length: 4
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with various cookies and custom Host:
+
+# Explicitly set the time zone to a known good one, in case the user is
+# using one of the 'right' zones that take into account leap seconds
+# which causes the cookie expiry times to be different.
+
+TZ=GMT
+
+
+http://%HOSTIP:%HTTPPORT/we/want/61 -c log/jar61.txt -H "Host: www.host.foo.com"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/61 HTTP/1.1
+Host: www.host.foo.com
+Accept: */*
+
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+#HttpOnly_.foo.com TRUE /we/want/ FALSE 2054030187 test yes
+.host.foo.com TRUE /we/want/ FALSE 2054030187 test2 yes
+.foo.com TRUE /moo TRUE 0 test3 maybe
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test610 b/external/3rd/library/curl/curl-7.45.0/tests/data/test610
new file mode 100644
index 000000000..a7c2ce389
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test610
@@ -0,0 +1,47 @@
+
+
+
+SFTP
+post-quote
+
+
+
+#
+# Server-side
+
+
+Dummy test file for rmdir test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test610.pl mkdir %PWD/log/test610.dir
+
+
+SFTP post-quote rmdir
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-rmdir %PWD/log/test610.dir" sftp://%HOSTIP:%SSHPORT%PWD/log/file610.txt --insecure
+
+
+perl %SRCDIR/libtest/test610.pl gone %PWD/log/test610.dir
+
+
+Dummy test file for rmdir test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test611 b/external/3rd/library/curl/curl-7.45.0/tests/data/test611
new file mode 100644
index 000000000..bfdddde3a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test611
@@ -0,0 +1,47 @@
+
+
+
+SFTP
+post-quote
+
+
+
+#
+# Server-side
+
+
+Dummy test file for rename test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test610.pl mkdir %PWD/log/test611.dir
+
+
+SFTP post-quote rename
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-rename %PWD/log/test611.dir %PWD/log/test611.new" sftp://%HOSTIP:%SSHPORT%PWD/log/file611.txt --insecure
+
+
+perl %SRCDIR/libtest/test610.pl rmdir %PWD/log/test611.new
+
+
+Dummy test file for rename test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test612 b/external/3rd/library/curl/curl-7.45.0/tests/data/test612
new file mode 100644
index 000000000..a8f2a5c0b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test612
@@ -0,0 +1,47 @@
+
+
+
+SFTP
+post-quote
+
+
+
+#
+# Server-side
+
+
+Dummy test file for remove test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP post-quote remove file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file612.txt -Q "-rm %PWD/log/file612.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/upload.612 --insecure
+
+
+perl %SRCDIR/libtest/test610.pl gone %PWD/log/test612.txt
+
+
+Dummy test file for remove test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Dummy test file for remove test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test613 b/external/3rd/library/curl/curl-7.45.0/tests/data/test613
new file mode 100644
index 000000000..9b0b3fd35
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test613
@@ -0,0 +1,48 @@
+
+
+
+SFTP
+directory
+
+
+
+#
+# Server-side
+
+
+d????????? N U U N ??? N NN:NN .
+d????????? N U U N ??? N NN:NN ..
+d????????? N U U N ??? N NN:NN asubdir
+-rw?rw?rw? 1 U U 37 Jan 1 2000 plainfile.txt
+-r-?r-?r-? 1 U U 47 Dec 31 2000 rofile.txt
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test613.dir
+
+
+SFTP directory retrieval
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/test613.dir/ --insecure
+
+
+perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test613.dir %PWD/log/curl613.out
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test614 b/external/3rd/library/curl/curl-7.45.0/tests/data/test614
new file mode 100644
index 000000000..2184a22cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test614
@@ -0,0 +1,49 @@
+
+
+
+SFTP
+pre-quote
+directory
+
+
+
+#
+# Server-side
+
+
+d????????? N U U N ??? N NN:NN .
+d????????? N U U N ??? N NN:NN ..
+d????????? N U U N ??? N NN:NN asubdir
+-r-?r-?r-? 1 U U 37 Jan 1 2000 plainfile.txt
+-r-?r-?r-? 1 U U 47 Dec 31 2000 rofile.txt
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test614.dir
+
+
+SFTP pre-quote chmod
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "chmod 444 %PWD/log/test614.dir/plainfile.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/test614.dir/ --insecure
+
+
+perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test614.dir %PWD/log/curl614.out
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test615 b/external/3rd/library/curl/curl-7.45.0/tests/data/test615
new file mode 100644
index 000000000..abe9902a3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test615
@@ -0,0 +1,44 @@
+
+
+
+SFTP
+SFTP put
+FAILURE
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test615.dir
+
+
+SFTP put remote failure
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file615.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test615.dir/rofile.txt --insecure
+
+
+perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test615.dir
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+9
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test616 b/external/3rd/library/curl/curl-7.45.0/tests/data/test616
new file mode 100644
index 000000000..a6a225de9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test616
@@ -0,0 +1,39 @@
+
+
+
+SFTP
+zero-length
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval of empty file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file616.txt --insecure
+
+
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test617 b/external/3rd/library/curl/curl-7.45.0/tests/data/test617
new file mode 100644
index 000000000..4b183e4f0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test617
@@ -0,0 +1,39 @@
+
+
+
+SCP
+zero-length
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP retrieval of empty file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file617.txt --insecure
+
+
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test618 b/external/3rd/library/curl/curl-7.45.0/tests/data/test618
new file mode 100644
index 000000000..d545d6282
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test618
@@ -0,0 +1,39 @@
+
+
+
+SFTP
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval of two files
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file618.txt sftp://%HOSTIP:%SSHPORT%PWD/log/file618.txt --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+Test data
+for ssh test
+Test data
+for ssh test
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test619 b/external/3rd/library/curl/curl-7.45.0/tests/data/test619
new file mode 100644
index 000000000..303266fc5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test619
@@ -0,0 +1,39 @@
+
+
+
+SCP
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP retrieval of two files
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file619.txt scp://%HOSTIP:%SSHPORT%PWD/log/file619.txt --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+Test data
+for ssh test
+Test data
+for ssh test
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test62 b/external/3rd/library/curl/curl-7.45.0/tests/data/test62
new file mode 100644
index 000000000..51b88709e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test62
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP GET
+HTTP replaced headers
+cookies
+httponly
+
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP, send cookies when using custom Host:
+
+
+http://%HOSTIP:%HTTPPORT/we/want/62 http://%HOSTIP:%HTTPPORT/we/want?hoge=fuga -b log/jar62.txt -H "Host: www.host.foo.com"
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+#HttpOnly_.foo.com TRUE /we/want/ FALSE 2054030187 test yes
+.host.foo.com TRUE /we/want/ FALSE 2054030187 test2 yes
+.fake.host.foo.com TRUE /we/want/ FALSE 2054030187 test4 yes
+
+.foo.com TRUE /moo TRUE 0 test3 maybe
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/62 HTTP/1.1
+Host: www.host.foo.com
+Accept: */*
+Cookie: test2=yes; test=yes
+
+GET /we/want?hoge=fuga HTTP/1.1
+Host: www.host.foo.com
+Accept: */*
+Cookie: test2=yes; test=yes
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test620 b/external/3rd/library/curl/curl-7.45.0/tests/data/test620
new file mode 100644
index 000000000..1750ab932
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test620
@@ -0,0 +1,38 @@
+
+
+
+SFTP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval of missing file followed by good file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/not-a-valid-file-moooo sftp://%HOSTIP:%SSHPORT%PWD/log/file620.txt --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+Test data
+for ssh test
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test621 b/external/3rd/library/curl/curl-7.45.0/tests/data/test621
new file mode 100644
index 000000000..c75a284ca
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test621
@@ -0,0 +1,38 @@
+
+
+
+SCP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP retrieval of missing file followed by good file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/not-a-valid-file-moooo scp://%HOSTIP:%SSHPORT%PWD/log/file621.txt --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+Test data
+for ssh test
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test622 b/external/3rd/library/curl/curl-7.45.0/tests/data/test622
new file mode 100644
index 000000000..e5a769c1c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test622
@@ -0,0 +1,43 @@
+
+
+
+SFTP
+SFTP put
+FAILURE
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP put failure
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file622.txt sftp://%HOSTIP:%SSHPORT%PWD/log/nonexistent-directory/nonexistent-file --insecure
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+78
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test623 b/external/3rd/library/curl/curl-7.45.0/tests/data/test623
new file mode 100644
index 000000000..1a639d69f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test623
@@ -0,0 +1,44 @@
+
+
+
+SCP
+SCP upload
+FAILURE
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP upload failure
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file623.txt scp://%HOSTIP:%SSHPORT%PWD/log/nonexistent-directory/nonexistent-file --insecure
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+79
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test624 b/external/3rd/library/curl/curl-7.45.0/tests/data/test624
new file mode 100644
index 000000000..fa4ff08d7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test624
@@ -0,0 +1,47 @@
+
+
+
+SFTP
+SFTP put
+--ftp-create-dirs
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP put with --ftp-create-dirs
+
+
+--ftp-create-dirs --key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file624.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test624.dir/upload.624 --insecure
+
+
+perl %SRCDIR/libtest/test610.pl move %PWD/log/test624.dir/upload.624 %PWD/log/upload.624 rmdir %PWD/log/test624.dir
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Test data
+for ssh upload test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test625 b/external/3rd/library/curl/curl-7.45.0/tests/data/test625
new file mode 100644
index 000000000..b3ec738cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test625
@@ -0,0 +1,47 @@
+
+
+
+SFTP
+SFTP put
+--ftp-create-dirs
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP put with --ftp-create-dirs twice
+
+
+--ftp-create-dirs --key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file625.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test625.a/upload.625 -T log/file625.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test625.b/upload.625 --insecure
+
+
+perl %SRCDIR/libtest/test610.pl move %PWD/log/test625.a/upload.625 %PWD/log/upload.625 rmdir %PWD/log/test625.a rm %PWD/log/test625.b/upload.625 rmdir %PWD/log/test625.b
+
+
+Test data
+for ssh upload test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+Test data
+for ssh upload test
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test626 b/external/3rd/library/curl/curl-7.45.0/tests/data/test626
new file mode 100644
index 000000000..a8c2a6c22
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test626
@@ -0,0 +1,42 @@
+
+
+
+SFTP
+pre-quote
+FAILURE
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP invalid quote command
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "invalid-command foo bar" sftp://%HOSTIP:%SSHPORT%PWD/log/file626.txt --insecure
+
+
+Test file for rename test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+21
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test627 b/external/3rd/library/curl/curl-7.45.0/tests/data/test627
new file mode 100644
index 000000000..01c5221ac
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test627
@@ -0,0 +1,46 @@
+
+
+
+SFTP
+pre-quote
+NOBODY
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP quote remove file with NOBODY
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -I -Q "rm %PWD/log/file627.txt" sftp://%HOSTIP:%SSHPORT --insecure
+
+
+perl %SRCDIR/libtest/test610.pl gone %PWD/log/test627.txt
+
+
+Dummy test file for remove test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test628 b/external/3rd/library/curl/curl-7.45.0/tests/data/test628
new file mode 100644
index 000000000..37a6f1c64
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test628
@@ -0,0 +1,33 @@
+
+
+
+SFTP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP invalid user login (password authentication)
+
+
+-u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%PWD/irrelevant-file --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+67
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test629 b/external/3rd/library/curl/curl-7.45.0/tests/data/test629
new file mode 100644
index 000000000..0c1791494
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test629
@@ -0,0 +1,33 @@
+
+
+
+SCP
+FAILURE
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP invalid user login (password authentication)
+
+
+-u not-a-valid-user: scp://%HOSTIP:%SSHPORT%PWD/irrelevant-file --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+67
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test63 b/external/3rd/library/curl/curl-7.45.0/tests/data/test63
new file mode 100644
index 000000000..ccc19dd24
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test63
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Content-Length: 26
+
+the content would go here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy authorization set in environment
+
+
+http_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
+
+
+http://we.want.that.site.com/63
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://we.want.that.site.com/63 HTTP/1.1
+Host: we.want.that.site.com
+Proxy-Authorization: Basic ZmFrZTp1c2Vy
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test630 b/external/3rd/library/curl/curl-7.45.0/tests/data/test630
new file mode 100644
index 000000000..e2f6ff95f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test630
@@ -0,0 +1,34 @@
+
+
+
+SFTP
+FAILURE
+server key check
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP incorrect host key
+
+
+--hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+51
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test631 b/external/3rd/library/curl/curl-7.45.0/tests/data/test631
new file mode 100644
index 000000000..47b0acbb5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test631
@@ -0,0 +1,34 @@
+
+
+
+SCP
+FAILURE
+server key check
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP incorrect host key
+
+
+--hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+51
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test632 b/external/3rd/library/curl/curl-7.45.0/tests/data/test632
new file mode 100644
index 000000000..2da0c798b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test632
@@ -0,0 +1,34 @@
+
+
+
+SFTP
+FAILURE
+server key check
+
+
+
+#
+# Client-side
+
+
+none
+
+
+sftp
+
+
+SFTP syntactically invalid host key
+
+
+--hostpubmd5 00 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file --insecure
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+2
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test633 b/external/3rd/library/curl/curl-7.45.0/tests/data/test633
new file mode 100644
index 000000000..adfd109e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test633
@@ -0,0 +1,42 @@
+
+
+
+SFTP
+Range
+
+
+
+#
+# Server-side
+
+
+data
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval with byte range
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file633.txt -r 5-9 --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test634 b/external/3rd/library/curl/curl-7.45.0/tests/data/test634
new file mode 100644
index 000000000..1fbb87925
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test634
@@ -0,0 +1,43 @@
+
+
+
+SFTP
+Range
+
+
+
+#
+# Server-side
+
+
+data
+for ssh test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval with byte range past end of file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file634.txt -r 5-99 --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test635 b/external/3rd/library/curl/curl-7.45.0/tests/data/test635
new file mode 100644
index 000000000..a54929d4c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test635
@@ -0,0 +1,42 @@
+
+
+
+SFTP
+Range
+
+
+
+#
+# Server-side
+
+
+ssh test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval with byte range relative to end of file
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file635.txt -r -9 --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test636 b/external/3rd/library/curl/curl-7.45.0/tests/data/test636
new file mode 100644
index 000000000..df4ee7e63
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test636
@@ -0,0 +1,43 @@
+
+
+
+SFTP
+Range
+
+
+
+#
+# Server-side
+
+
+data
+for ssh test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval with X- byte range
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file636.txt -r 5- --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test637 b/external/3rd/library/curl/curl-7.45.0/tests/data/test637
new file mode 100644
index 000000000..ef0c81435
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test637
@@ -0,0 +1,44 @@
+
+
+
+SFTP
+Range
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP retrieval with invalid X- range
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file637.txt -r 99- --insecure
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+36
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test638 b/external/3rd/library/curl/curl-7.45.0/tests/data/test638
new file mode 100644
index 000000000..c72cf636a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test638
@@ -0,0 +1,49 @@
+
+
+
+SFTP
+post-quote
+acceptfail
+asterisk
+
+
+
+#
+# Server-side
+
+
+Dummy test file for rename test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test610.pl mkdir %PWD/log/test638.dir
+
+
+SFTP post-quote rename * asterisk accept-fail
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-*rename %PWD/log/test638.dir %PWD/log/test638.new" sftp://%HOSTIP:%SSHPORT%PWD/log/file638.txt --insecure
+
+
+perl %SRCDIR/libtest/test610.pl rmdir %PWD/log/test638.new
+
+
+Dummy test file for rename test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test639 b/external/3rd/library/curl/curl-7.45.0/tests/data/test639
new file mode 100644
index 000000000..8dfe85975
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test639
@@ -0,0 +1,49 @@
+
+
+
+SFTP
+post-quote
+acceptfail
+asterisk
+
+
+
+#
+# Server-side
+
+
+Dummy test file for rename test
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+perl %SRCDIR/libtest/test610.pl mkdir %PWD/log/test639.dir
+
+
+SFTP post-quote rename * asterisk accept-fail
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-*rename %PWD/log/test639-not-exists-dir %PWD/log/test639.new" sftp://%HOSTIP:%SSHPORT%PWD/log/file639.txt --insecure
+
+
+perl %SRCDIR/libtest/test610.pl rmdir %PWD/log/test639.dir
+
+
+Dummy test file for rename test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test64 b/external/3rd/library/curl/curl-7.45.0/tests/data/test64
new file mode 100644
index 000000000..804a6fa80
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test64
@@ -0,0 +1,84 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with Digest authorization
+
+
+http://%HOSTIP:%HTTPPORT/64 -u testuser:testpass --digest
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /64 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /64 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/64", response="c55f7f30d83d774a3d2dcacf725abaca"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test640 b/external/3rd/library/curl/curl-7.45.0/tests/data/test640
new file mode 100644
index 000000000..e3e715ba1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test640
@@ -0,0 +1,41 @@
+
+
+
+SFTP
+NOBODY
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+sftp
+
+
+SFTP --head retrieval
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file640.txt --insecure --head
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test641 b/external/3rd/library/curl/curl-7.45.0/tests/data/test641
new file mode 100644
index 000000000..beb59d6a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test641
@@ -0,0 +1,41 @@
+
+
+
+SCP
+NOBODY
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+scp
+
+
+SCP --head retrieval
+
+
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file641.txt --insecure --head
+
+
+Test data
+for ssh test
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+disable
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test65 b/external/3rd/library/curl/curl-7.45.0/tests/data/test65
new file mode 100644
index 000000000..f0b974213
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test65
@@ -0,0 +1,84 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
+
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Still a bad password you moron
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+
+This is not the real page either
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with Digest authorization with bad password
+
+
+http://%HOSTIP:%HTTPPORT/65 -u testuser:test2pass --digest
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /65 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /65 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="2053604145", uri="/65", response="66d68d3251f1839576ba7c766cf9205b"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test66 b/external/3rd/library/curl/curl-7.45.0/tests/data/test66
new file mode 100644
index 000000000..a018d8fd4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test66
@@ -0,0 +1,41 @@
+
+
+
+HTTP
+HTTP GET
+
+
+# Server-side
+
+
+no headers swsclose
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP GET without headers in the response
+
+
+http://%HOSTIP:%HTTPPORT/66
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /66 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test67 b/external/3rd/library/curl/curl-7.45.0/tests/data/test67
new file mode 100644
index 000000000..b3431111c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test67
@@ -0,0 +1,102 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM authorization
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/67 -u testuser:testpass --ntlm
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /67 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /67 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test68 b/external/3rd/library/curl/curl-7.45.0/tests/data/test68
new file mode 100644
index 000000000..acd710fea
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test68
@@ -0,0 +1,101 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+# Server-side
+
+
+# This is supposed to be returned when the server gets a first
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 You give me wrong password
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: NTLM
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
+Wrong password dude. Get it fixed and return.
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 401 You give me wrong password
+Server: Microsoft-IIS/5.0
+WWW-Authenticate: NTLM
+Content-Length: 46
+Content-Type: text/html; charset=iso-8859-1
+
+Wrong password dude. Get it fixed and return.
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM authorization and wrong password
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/68 -u testuser:testpass --ntlm
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /68 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /68 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test69 b/external/3rd/library/curl/curl-7.45.0/tests/data/test69
new file mode 100644
index 000000000..887a4603f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test69
@@ -0,0 +1,123 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a first
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM, Basic or Wild-and-crazy authorization
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/69 -u testuser:testpass --anyauth
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /69 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /69 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /69 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test7 b/external/3rd/library/curl/curl-7.45.0/tests/data/test7
new file mode 100644
index 000000000..62731de13
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test7
@@ -0,0 +1,62 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+header dump
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes swsclose
+Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
+Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
+Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with cookie parser and header recording
+
+
+http://%HOSTIP:%HTTPPORT/we/want/7 -b none -D log/heads7.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/7 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes swsclose
+Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
+Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
+Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test70 b/external/3rd/library/curl/curl-7.45.0/tests/data/test70
new file mode 100644
index 000000000..9057d6a4b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test70
@@ -0,0 +1,88 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+--anyauth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+!SSPI
+NTLM
+
+
+http
+
+
+HTTP with Digest *OR* NTLM authorization
+
+
+http://%HOSTIP:%HTTPPORT/70 -u testuser:testpass --anyauth
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /70 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /70 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604199", uri="/70", response="2c9a6f00af0d86497b177b90e90c688a"
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test700 b/external/3rd/library/curl/curl-7.45.0/tests/data/test700
new file mode 100644
index 000000000..ce6f894fd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test700
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+SOCKS4
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+socks4
+
+
+HTTP GET via SOCKS4 proxy
+
+
+--socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/700
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /700 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test701 b/external/3rd/library/curl/curl-7.45.0/tests/data/test701
new file mode 100644
index 000000000..014aca249
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test701
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+SOCKS5
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+socks5
+
+
+HTTP GET via SOCKS5 proxy
+
+
+--socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/701
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /701 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test702 b/external/3rd/library/curl/curl-7.45.0/tests/data/test702
new file mode 100644
index 000000000..36af71328
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test702
@@ -0,0 +1,39 @@
+
+#based off 19
+
+
+HTTP
+SOCKS4
+connect to non-listen
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+socks4
+
+
+http
+
+
+Attempt connect to non-listening HTTP server via SOCKS4 proxy
+
+
+--socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000
+
+
+
+# Verify data after the test has been "shot"
+
+
+7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test703 b/external/3rd/library/curl/curl-7.45.0/tests/data/test703
new file mode 100644
index 000000000..4aa89b46a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test703
@@ -0,0 +1,39 @@
+
+#based off 19
+
+
+HTTP
+SOCKS5
+connect to non-listen
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+socks5
+
+
+http
+
+
+Attempt connect to non-listening HTTP server via SOCKS5 proxy
+
+
+--socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000
+
+
+
+# Verify data after the test has been "shot"
+
+
+7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test704 b/external/3rd/library/curl/curl-7.45.0/tests/data/test704
new file mode 100644
index 000000000..15a1b6701
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test704
@@ -0,0 +1,36 @@
+
+#based off 19
+
+
+HTTP
+SOCKS4
+connect to non-listen
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+Attempt connect to non-listening SOCKS4 proxy
+
+
+--socks4 %HOSTIP:60000 http://%HOSTIP:%HTTPPORT/704
+
+
+
+# Verify data after the test has been "shot"
+
+
+7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test705 b/external/3rd/library/curl/curl-7.45.0/tests/data/test705
new file mode 100644
index 000000000..3b904c6b1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test705
@@ -0,0 +1,36 @@
+
+#based off 19
+
+
+HTTP
+SOCKS5
+connect to non-listen
+FAILURE
+
+
+# Server-side
+
+
+
+
+
+# Client-side
+
+
+http
+
+
+Attempt connect to non-listening SOCKS5 proxy
+
+
+--socks5 %HOSTIP:60000 http://%HOSTIP:%HTTPPORT/705
+
+
+
+# Verify data after the test has been "shot"
+
+
+7
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test706 b/external/3rd/library/curl/curl-7.45.0/tests/data/test706
new file mode 100644
index 000000000..330cb2393
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test706
@@ -0,0 +1,59 @@
+
+#based off test 100
+
+
+FTP
+PASV
+LIST
+SOCKS4
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+socks4
+
+
+FTP dir list PASV via SOCKS4
+
+
+--socks4 %HOSTIP:%SOCKSPORT ftp://%HOSTIP:%FTPPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test707 b/external/3rd/library/curl/curl-7.45.0/tests/data/test707
new file mode 100644
index 000000000..c3a862178
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test707
@@ -0,0 +1,59 @@
+
+#based off test 100
+
+
+FTP
+PASV
+LIST
+SOCKS5
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTP server
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+#
+# Client-side
+
+
+ftp
+socks5
+
+
+FTP dir list PASV via SOCKS5
+
+
+--socks5 %HOSTIP:%SOCKSPORT ftp://%HOSTIP:%FTPPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test708 b/external/3rd/library/curl/curl-7.45.0/tests/data/test708
new file mode 100644
index 000000000..716d9aec0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test708
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+SOCKS4
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+socks4
+
+
+all_proxy=socks4://%HOSTIP:%SOCKSPORT
+
+
+HTTP GET via SOCKS4 proxy
+
+
+http://%HOSTIP:%HTTPPORT/708
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /708 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test709 b/external/3rd/library/curl/curl-7.45.0/tests/data/test709
new file mode 100644
index 000000000..022688853
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test709
@@ -0,0 +1,60 @@
+
+
+
+HTTP
+HTTP GET
+SOCKS5
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+socks5
+
+
+http_proxy=socks5://%HOSTIP:%SOCKSPORT
+
+
+HTTP GET via SOCKS5 set in http_proxy environment variable
+
+
+http://%HOSTIP:%HTTPPORT/709
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /709 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test71 b/external/3rd/library/curl/curl-7.45.0/tests/data/test71
new file mode 100644
index 000000000..b71f969e7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test71
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP FORMPOST
+config file
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 11
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP and -F upload in config file
+
+
+-F name=daniel
+-F tool=curl
+-F file=@log/test71.txt
+
+
+http://%HOSTIP:%HTTPPORT/we/want/71 -K -
+
+# We create this file before the command is invoked!
+
+foo-
+This is a moo-
+bar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/71 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 408
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
+
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="file"; filename="test71.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------9ef8d6205763--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test710 b/external/3rd/library/curl/curl-7.45.0/tests/data/test710
new file mode 100644
index 000000000..884eb50a0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test710
@@ -0,0 +1,57 @@
+
+
+
+HTTP
+HTTP GET
+SOCKS5
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+socks5
+
+
+HTTP GET via SOCKS5 set with --proxy
+
+
+http://%HOSTIP:%HTTPPORT/710 --proxy socks5://%HOSTIP:%SOCKSPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /710 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test711 b/external/3rd/library/curl/curl-7.45.0/tests/data/test711
new file mode 100644
index 000000000..7be1f3cb5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test711
@@ -0,0 +1,52 @@
+
+#based off test 707 after bug report #1218
+
+
+FTP
+PASV
+RETR
+SOCKS5
+all_proxy
+
+
+#
+# Server-side
+
+
+silly content
+
+
+
+#
+# Client-side
+
+
+ftp
+socks5
+
+
+all_proxy=socks5://%HOSTIP:%SOCKSPORT
+
+
+FTP fetch with all_proxy set to socks5
+
+
+ftp://%HOSTIP:%FTPPORT/711
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 711
+RETR 711
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test712 b/external/3rd/library/curl/curl-7.45.0/tests/data/test712
new file mode 100644
index 000000000..c62e9f2c5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test712
@@ -0,0 +1,49 @@
+
+#based off test 707 after bug report #1218
+
+
+FTP
+PASV
+RETR
+SOCKS5
+all_proxy
+
+
+#
+# Server-side
+
+
+silly content
+
+
+
+#
+# Client-side
+
+
+ftp
+socks5
+
+
+FTP fetch with --proxy set to socks5://
+
+
+ftp://%HOSTIP:%FTPPORT/712 --proxy socks5://%HOSTIP:%SOCKSPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 712
+RETR 712
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test72 b/external/3rd/library/curl/curl-7.45.0/tests/data/test72
new file mode 100644
index 000000000..8e3adaa50
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test72
@@ -0,0 +1,87 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Digest auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic realm="foothis"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic realm="foothis"
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP with Digest *OR* Basic authorization
+
+
+http://%HOSTIP:%HTTPPORT/72 -u testuser:testpass --anyauth
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /72 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /72 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604199", uri="/72", response="9fcd1330377365a09bbcb33b2cbb25bd"
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test73 b/external/3rd/library/curl/curl-7.45.0/tests/data/test73
new file mode 100644
index 000000000..a23546d42
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test73
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+cookiejar
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Type: text/html
+Set-Cookie: IPCZQX01af0fca5c=000010008168c200d25dfc4b; path=/; domain=.NOT_DISCLOSED.se
+Content-Length: 4
+
+boo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP, receive cookies when using custom Host:, domain using only two dots
+
+
+http://%HOSTIP:%HTTPPORT/we/want/73 -c log/jar73.txt -H "Host: host.NOT_DISCLOSED.se"
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/73 HTTP/1.1
+Host: host.NOT_DISCLOSED.se
+Accept: */*
+
+
+
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+.NOT_DISCLOSED.se TRUE / FALSE 0 IPCZQX01af0fca5c 000010008168c200d25dfc4b
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test74 b/external/3rd/library/curl/curl-7.45.0/tests/data/test74
new file mode 100644
index 000000000..dbe0e9c13
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test74
@@ -0,0 +1,75 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+{} list
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+HTTP/1.0 200 OK
+Content-Type: text/html
+Funny-head: swsclose
+Connection: close
+
+crap data
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP, urlglob {}-retrieval and -o #[num] usage
+
+
+"http://%HOSTIP:%HTTPPORT/{74,740001}" -o "log/dumpit#1.dump"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /74 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /740001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+HTTP/1.0 200 OK
+Content-Type: text/html
+Funny-head: swsclose
+Connection: close
+
+crap data
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test75 b/external/3rd/library/curl/curl-7.45.0/tests/data/test75
new file mode 100644
index 000000000..d8836b95e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test75
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+FAILURE
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+http
+
+
+HTTP, urlglob retrieval with bad range
+
+
+"http://a-site-never-accessed.example.org/[2-1]" -o "log/weee#1.dump" --stderr -
+
+# The error message on stdout implicitly depends on the length of the
+# URL, so refuse to run if the length is unexpected.
+
+perl %SRCDIR/libtest/test75.pl http://%HOSTIP:%HTTPPORT/ 22
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+3
+
+
+curl: (3) [globbing] bad range in column 47
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test76 b/external/3rd/library/curl/curl-7.45.0/tests/data/test76
new file mode 100644
index 000000000..ada3a3359
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test76
@@ -0,0 +1,39 @@
+
+
+
+FAILURE
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+
+http
+
+
+HTTP, -O with no file name part in the URL
+
+
+http://%HOSTIP:%HTTPPORT/76/ -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+23
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test77 b/external/3rd/library/curl/curl-7.45.0/tests/data/test77
new file mode 100644
index 000000000..6a92158c8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test77
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+If-Modified-Since
+-z
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with -z "older date"
+
+
+http://%HOSTIP:%HTTPPORT/77 -z "dec 12 12:00:00 1999 GMT"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /77 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test78 b/external/3rd/library/curl/curl-7.45.0/tests/data/test78
new file mode 100644
index 000000000..6768000b4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test78
@@ -0,0 +1,68 @@
+
+
+
+HTTP
+HTTP GET
+If-Modified-Since
+-z
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1990 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+HTTP/1.1 200 OK
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 1990 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP with -z "newer date"
+
+
+http://%HOSTIP:%HTTPPORT/78 -z "dec 12 11:00:00 1999 GMT"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /78 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+If-Modified-Since: Sun, 12 Dec 1999 11:00:00 GMT
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test79 b/external/3rd/library/curl/curl-7.45.0/tests/data/test79
new file mode 100644
index 000000000..b2566e229
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test79
@@ -0,0 +1,55 @@
+
+
+
+FTP
+HTTP
+HTTP GET
+HTTP proxy
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+ftp
+
+
+FTP over HTTP proxy
+
+
+ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test8 b/external/3rd/library/curl/curl-7.45.0/tests/data/test8
new file mode 100644
index 000000000..030fd55eb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test8
@@ -0,0 +1,67 @@
+
+
+
+HTTP
+HTTP GET
+cookies
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with cookie parsing from header file
+
+
+http://%HOSTIP:%HTTPPORT/we/want/8 -b log/heads8.txt
+
+
+# We create this file before the command is invoked!
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Set-Cookie: foobar=name; domain=%HOSTIP; path=/;
+Set-Cookie: mismatch=this; domain=%HOSTIP; path="/silly/";
+Set-Cookie: partmatch=present; domain=.0.0.1; path=/w;
+Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey;
+Set-Cookie: cookie=yes; path=/we;
+Set-Cookie: cookie=perhaps; path=/we/want;
+Set-Cookie: nocookie=yes; path=/WE;
+Set-Cookie: blexp=yesyes; domain=%HOSTIP; domain=%HOSTIP; expiry=totally bad;
+Set-Cookie: partialip=nono; domain=.0.0.1;
+
+
+
+perl -e 'if ("%HOSTIP" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}'
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /we/want/8 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Cookie: cookie=perhaps; cookie=yes; foobar=name; blexp=yesyes
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test80 b/external/3rd/library/curl/curl-7.45.0/tests/data/test80
new file mode 100644
index 000000000..147a6aa12
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test80
@@ -0,0 +1,83 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP Basic auth
+HTTP proxy
+HTTP proxy Basic auth
+proxytunnel
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication
+
+
+http://test.80:%HTTPPORT/we/want/that/page/80 -p --proxy1.0 %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT test.80:%HTTPPORT HTTP/1.0
+Host: test.80:%HTTPPORT
+Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Proxy-Connection: Keep-Alive
+
+
+
+GET /we/want/that/page/80 HTTP/1.1
+Host: test.80:%HTTPPORT
+Authorization: Basic aWFtOm15c2VsZg==
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test800 b/external/3rd/library/curl/curl-7.45.0/tests/data/test800
new file mode 100644
index 000000000..6b29f7a2b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test800
@@ -0,0 +1,49 @@
+
+
+
+IMAP
+Clear Text
+FETCH
+
+
+
+#
+# Server-side
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP FETCH message
+
+
+'imap://%HOSTIP:%IMAPPORT/800/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 800
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test801 b/external/3rd/library/curl/curl-7.45.0/tests/data/test801
new file mode 100644
index 000000000..0012d3e4d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test801
@@ -0,0 +1,46 @@
+
+
+
+IMAP
+Clear Text
+FETCH
+
+
+
+#
+# Server-side
+
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP FETCH message by UID and SECTION
+
+
+'imap://%HOSTIP:%IMAPPORT/801/;UID=123/;SECTION=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 801
+A004 FETCH 123 BODY[1]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test802 b/external/3rd/library/curl/curl-7.45.0/tests/data/test802
new file mode 100644
index 000000000..17349a89a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test802
@@ -0,0 +1,47 @@
+
+
+
+IMAP
+Clear Text
+SELECT
+UIDVALIDITY
+
+
+
+#
+# Server-side
+
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP SELECT UIDVALIDITY Success
+
+
+'imap://%HOSTIP:%IMAPPORT/802;UIDVALIDITY=3857529045/;UID=123/;SECTION=TEXT' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 802
+A004 FETCH 123 BODY[TEXT]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test803 b/external/3rd/library/curl/curl-7.45.0/tests/data/test803
new file mode 100644
index 000000000..5b8cc9eb6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test803
@@ -0,0 +1,45 @@
+
+
+
+IMAP
+Clear Text
+SELECT
+UIDVALIDITY
+FAILURE
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP SELECT UIDVALIDITY Failure
+
+
+'imap://%HOSTIP:%IMAPPORT/803;UIDVALIDITY=12345/;UID=123' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# CURLE_REMOTE_FILE_NOT_FOUND - UIDVALIDITY mismatch
+
+78
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 803
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test804 b/external/3rd/library/curl/curl-7.45.0/tests/data/test804
new file mode 100644
index 000000000..c6dfccf4a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test804
@@ -0,0 +1,47 @@
+
+
+
+IMAP
+Clear Text
+SELECT
+
+
+
+#
+# Server-side
+
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP doesn't perform SELECT if re-using the same mailbox
+
+
+'imap://%HOSTIP:%IMAPPORT/804/;UID=123/;SECTION=1' 'imap://%HOSTIP:%IMAPPORT/804/;UID=456/;SECTION=2.3' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 804
+A004 FETCH 123 BODY[1]
+A005 FETCH 456 BODY[2.3]
+A006 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test805 b/external/3rd/library/curl/curl-7.45.0/tests/data/test805
new file mode 100644
index 000000000..e70c1a667
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test805
@@ -0,0 +1,62 @@
+
+
+
+IMAP
+Clear Text
+APPEND
+UPLOAD
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP APPEND message
+
+
+imap://%HOSTIP:%IMAPPORT/805 -T log/upload805 -u user:secret
+
+
+Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+From: Fred Foobar
+Subject: afternoon meeting
+To: joe@example.com
+Message-Id:
+MIME-Version: 1.0
+Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+
+Hello Joe, do you think we can meet at 3:30 tomorrow?
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 APPEND 805 (\Seen) {295}
+A004 LOGOUT
+
+
+Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+From: Fred Foobar
+Subject: afternoon meeting
+To: joe@example.com
+Message-Id:
+MIME-Version: 1.0
+Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+
+Hello Joe, do you think we can meet at 3:30 tomorrow?
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test806 b/external/3rd/library/curl/curl-7.45.0/tests/data/test806
new file mode 100644
index 000000000..37822a47f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test806
@@ -0,0 +1,44 @@
+
+
+
+IMAP
+Clear Text
+LIST
+
+
+
+#
+# Server-side
+
+
+* LIST () "/" /806/blurdybloop
+* LIST (\Noselect) "/" /806/foo
+* LIST () "/" /806/foo/bar
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP LIST mailbox
+
+
+imap://%HOSTIP:%IMAPPORT/806 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 LIST "806" *
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test807 b/external/3rd/library/curl/curl-7.45.0/tests/data/test807
new file mode 100644
index 000000000..1271b6d64
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test807
@@ -0,0 +1,45 @@
+
+
+
+IMAP
+Clear Text
+LSUB
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+* LSUB () "/" /807/blurdybloop
+* LSUB (\Noselect) "/" /807/foo
+* LSUB () "/" /807/foo/bar
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP LSUB mailbox
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'LSUB "807" *'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 LSUB "807" *
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test808 b/external/3rd/library/curl/curl-7.45.0/tests/data/test808
new file mode 100644
index 000000000..30c8bdfd2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test808
@@ -0,0 +1,49 @@
+
+
+
+IMAP
+Clear Text
+EXAMINE
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+* 17 EXISTS
+* 2 RECENT
+* OK [UNSEEN 8] Message 8 is first unseen
+* OK [UIDVALIDITY 3857529045] UIDs valid
+* OK [UIDNEXT 4392] Predicted next UID
+* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
+* OK [PERMANENTFLAGS ()] No permanent flags permitted
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP EXAMINE mailbox (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'EXAMINE 808'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 EXAMINE 808
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test809 b/external/3rd/library/curl/curl-7.45.0/tests/data/test809
new file mode 100644
index 000000000..4283179d7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test809
@@ -0,0 +1,43 @@
+
+
+
+IMAP
+Clear Text
+STATUS
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+* STATUS 809 (MESSAGES 231 UIDNEXT 44292)
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP mailbox STATUS (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 STATUS 809 (UIDNEXT MESSAGES)
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test81 b/external/3rd/library/curl/curl-7.45.0/tests/data/test81
new file mode 100644
index 000000000..dc054d293
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test81
@@ -0,0 +1,103 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy NTLM auth
+
+
+
+# Server-side
+
+
+# This is supposed to be returned when the server gets a first
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 407 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 407 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with proxy using NTLM authorization
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/81 --proxy-user testuser:testpass -x http://%HOSTIP:%HTTPPORT --proxy-ntlm
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/81 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://%HOSTIP:%HTTPPORT/81 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test810 b/external/3rd/library/curl/curl-7.45.0/tests/data/test810
new file mode 100644
index 000000000..6b4d243fd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test810
@@ -0,0 +1,43 @@
+
+
+
+IMAP
+Clear Text
+SEARCH
+
+
+
+#
+# Server-side
+
+
+* SEARCH 1 123 456 810
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP SEARCH for NEW messages
+
+
+imap://%HOSTIP:%IMAPPORT/810?NEW -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 810
+A004 SEARCH NEW
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test811 b/external/3rd/library/curl/curl-7.45.0/tests/data/test811
new file mode 100644
index 000000000..8fb3aa7a7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test811
@@ -0,0 +1,40 @@
+
+
+
+IMAP
+Clear Text
+CREATE
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP CREATE mailbox (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'CREATE 811'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 CREATE 811
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test812 b/external/3rd/library/curl/curl-7.45.0/tests/data/test812
new file mode 100644
index 000000000..6d1b42df9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test812
@@ -0,0 +1,40 @@
+
+
+
+IMAP
+Clear Text
+DELETE
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP DELETE mailbox (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'DELETE 812'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 DELETE 812
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test813 b/external/3rd/library/curl/curl-7.45.0/tests/data/test813
new file mode 100644
index 000000000..3544da670
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test813
@@ -0,0 +1,40 @@
+
+
+
+IMAP
+Clear Text
+RENAME
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP RENAME mailbox (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'RENAME 666 813'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 RENAME 666 813
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test814 b/external/3rd/library/curl/curl-7.45.0/tests/data/test814
new file mode 100644
index 000000000..0b90e5bcb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test814
@@ -0,0 +1,41 @@
+
+
+
+IMAP
+Clear Text
+CHECK
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP CHECK mailbox (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT/814 -u user:secret -X 'CHECK'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 814
+A004 CHECK
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test815 b/external/3rd/library/curl/curl-7.45.0/tests/data/test815
new file mode 100644
index 000000000..6ebe5bf65
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test815
@@ -0,0 +1,46 @@
+
+
+
+IMAP
+Clear Text
+STORE
+CLOSE
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+* 123 FETCH (FLAGS (\Seen \Deleted))
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP STORE - delete message (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://%HOSTIP:%IMAPPORT/815 -X CLOSE -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 815
+A004 STORE 123 +Flags \Deleted
+A005 CLOSE
+A006 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test816 b/external/3rd/library/curl/curl-7.45.0/tests/data/test816
new file mode 100644
index 000000000..6df9b7dfa
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test816
@@ -0,0 +1,49 @@
+
+
+
+IMAP
+Clear Text
+STORE
+EXPUNGE
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+* 123 FETCH (FLAGS (\Seen \Deleted))
+
+
+* 123 EXPUNGE
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP STORE - delete message with confirmation (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://%HOSTIP:%IMAPPORT/816 -X EXPUNGE -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 SELECT 816
+A004 STORE 123 +Flags \Deleted
+A005 EXPUNGE
+A006 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test817 b/external/3rd/library/curl/curl-7.45.0/tests/data/test817
new file mode 100644
index 000000000..9b44ae9b1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test817
@@ -0,0 +1,40 @@
+
+
+
+IMAP
+Clear Text
+COPY
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP COPY message to mailbox (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'COPY 123 817'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 COPY 123 817
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test818 b/external/3rd/library/curl/curl-7.45.0/tests/data/test818
new file mode 100644
index 000000000..95282c4e3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test818
@@ -0,0 +1,46 @@
+
+
+
+IMAP
+Clear Text
+NOOP
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+* 22 EXPUNGE
+* 23 EXISTS
+* 3 RECENT
+* 14 FETCH (FLAGS (\Seen \Deleted))
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP NOOP (CUSTOMREQUEST)
+
+
+imap://%HOSTIP:%IMAPPORT -X NOOP -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user secret
+A003 NOOP
+A004 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test819 b/external/3rd/library/curl/curl-7.45.0/tests/data/test819
new file mode 100644
index 000000000..d0aa47ba5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test819
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH PLAIN
+RFC4616
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+REPLY AUTHENTICATE +
+REPLY dXNlcgB1c2VyAHNlY3JldA== A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP plain authentication
+
+
+'imap://%HOSTIP:%IMAPPORT/819/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+A003 SELECT 819
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test82 b/external/3rd/library/curl/curl-7.45.0/tests/data/test82
new file mode 100644
index 000000000..8b58f75da
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test82
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Basic auth
+HTTP proxy NTLM auth
+
+
+# Server-side
+
+
+
+HTTP/1.1 407 We only deal with NTLM my friend
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+Proxy-Authenticate: NTLM
+
+This is not the real page either!
+
+
+
+
+# Client-side
+
+
+
+
+http
+
+
+HTTP with proxy requiring NTLM, but we send Basic
+
+
+http://%HOSTIP:%HTTPPORT/82 --proxy-user testuser:testpass -x http://%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/82 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test820 b/external/3rd/library/curl/curl-7.45.0/tests/data/test820
new file mode 100644
index 000000000..f638f1cb6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test820
@@ -0,0 +1,57 @@
+
+
+
+IMAP
+SASL
+SASL AUTH LOGIN
+
+
+
+#
+# Server-side
+
+
+AUTH LOGIN
+REPLY AUTHENTICATE + VXNlcm5hbWU6
+REPLY dXNlcg== + UGFzc3dvcmQ6
+REPLY c2VjcmV0 A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP login authentication
+
+
+'imap://%HOSTIP:%IMAPPORT/820/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE LOGIN
+dXNlcg==
+c2VjcmV0
+A003 SELECT 820
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test821 b/external/3rd/library/curl/curl-7.45.0/tests/data/test821
new file mode 100644
index 000000000..aee373b9a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test821
@@ -0,0 +1,59 @@
+
+
+
+IMAP
+SASL
+SASL AUTH CRAM-MD5
+RFC2195
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5
+REPLY AUTHENTICATE + PDE5NzIuOTg3NjU0MzIxQGN1cmw+
+REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+crypto
+
+
+IMAP CRAM-MD5 authentication
+
+
+'imap://%HOSTIP:%IMAPPORT/821/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE CRAM-MD5
+dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg==
+A003 SELECT 821
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test822 b/external/3rd/library/curl/curl-7.45.0/tests/data/test822
new file mode 100644
index 000000000..65ac43e5c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test822
@@ -0,0 +1,71 @@
+
+
+
+IMAP
+SASL
+SASL AUTH NTLM
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTHENTICATE +
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+REPLY TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+NTLM
+!SSPI
+debug
+
+
+IMAP NTLM authentication
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+'imap://%HOSTIP:%IMAPPORT/822/;UID=1' -u testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+A003 SELECT 822
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test823 b/external/3rd/library/curl/curl-7.45.0/tests/data/test823
new file mode 100644
index 000000000..6f8249b1f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test823
@@ -0,0 +1,63 @@
+
+
+
+IMAP
+SASL
+SASL AUTH DIGEST-MD5
+RFC2831
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5
+REPLY AUTHENTICATE + cmVhbG09ImN1cmwiLG5vbmNlPSI1MzAwZDE3YTFkNjk1YmQ0MTFlNGNkZjk2Zjk1NDhjMjNjZWQ2MTc1IixhbGdvcml0aG09bWQ1LXNlc3MscW9wPSJhdXRoIg==
+REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM0MzMzMjMyMzQzMzMyMzMzNDMzMzIzNCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJpbWFwL2N1cmwiLHJlc3BvbnNlPWJlYjMzYmY2MWFhMDgzNzZmZWE4ZjJkM2MwODliMjFmLHFvcD1hdXRo +
+REPLY A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+!SSPI
+debug
+crypto
+
+
+IMAP DIGEST-MD5 authentication
+
+
+'imap://%HOSTIP:%IMAPPORT/823/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE DIGEST-MD5
+dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM0MzMzMjMyMzQzMzMyMzMzNDMzMzIzNCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJpbWFwL2N1cmwiLHJlc3BvbnNlPWJlYjMzYmY2MWFhMDgzNzZmZWE4ZjJkM2MwODliMjFmLHFvcD1hdXRo
+
+A003 SELECT 823
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test824 b/external/3rd/library/curl/curl-7.45.0/tests/data/test824
new file mode 100644
index 000000000..242c1b4a3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test824
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH OAUTH2
+RFC6749
+
+
+
+#
+# Server-side
+
+
+AUTH XOAUTH2
+REPLY AUTHENTICATE +
+REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP OAuth 2.0 authentication
+
+
+'imap://%HOSTIP:%IMAPPORT/824/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE XOAUTH2
+dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB
+A003 SELECT 824
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test825 b/external/3rd/library/curl/curl-7.45.0/tests/data/test825
new file mode 100644
index 000000000..6532b3ace
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test825
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH PLAIN
+SASL-IR
+RFC4616
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+CAPA SASL-IR
+REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP plain authentication with initial response
+
+
+'imap://%HOSTIP:%IMAPPORT/825/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE PLAIN dXNlcgB1c2VyAHNlY3JldA==
+A003 SELECT 825
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test826 b/external/3rd/library/curl/curl-7.45.0/tests/data/test826
new file mode 100644
index 000000000..0f9282945
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test826
@@ -0,0 +1,57 @@
+
+
+
+IMAP
+SASL
+SASL AUTH LOGIN
+SASL-IR
+
+
+
+#
+# Server-side
+
+
+AUTH LOGIN
+CAPA SASL-IR
+REPLY AUTHENTICATE + UGFzc3dvcmQ6
+REPLY c2VjcmV0 A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP login authentication with initial response
+
+
+'imap://%HOSTIP:%IMAPPORT/826/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE LOGIN dXNlcg==
+c2VjcmV0
+A003 SELECT 826
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test827 b/external/3rd/library/curl/curl-7.45.0/tests/data/test827
new file mode 100644
index 000000000..778e76587
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test827
@@ -0,0 +1,71 @@
+
+
+
+IMAP
+SASL
+SASL AUTH NTLM
+SASL-IR
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+CAPA SASL-IR
+REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+REPLY TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+NTLM
+!SSPI
+debug
+
+
+IMAP NTLM authentication with initial response
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+'imap://%HOSTIP:%IMAPPORT/827/;UID=1' -u testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+A003 SELECT 827
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test828 b/external/3rd/library/curl/curl-7.45.0/tests/data/test828
new file mode 100644
index 000000000..b2fb693ff
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test828
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH OAUTH2
+SASL-IR
+RFC6749
+
+
+
+#
+# Server-side
+
+
+AUTH XOAUTH2
+CAPA SASL-IR
+REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP OAuth 2.0 authentication with initial response
+
+
+'imap://%HOSTIP:%IMAPPORT/828/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE XOAUTH2 dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB
+A003 SELECT 828
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test829 b/external/3rd/library/curl/curl-7.45.0/tests/data/test829
new file mode 100644
index 000000000..cefba0d79
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test829
@@ -0,0 +1,29 @@
+
+
+
+IMAP
+CRLF-in-URL
+
+
+
+# Client-side
+
+
+imap
+
+
+IMAP with URL-encoded CR LF in the URL
+
+
+imap://%HOSTIP:%IMAPPORT/%0d%0a/829
+
+
+
+#
+
+# 3 - CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test83 b/external/3rd/library/curl/curl-7.45.0/tests/data/test83
new file mode 100644
index 000000000..120bcc6a1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test83
@@ -0,0 +1,79 @@
+
+
+
+HTTP
+HTTP GET
+HTTP CONNECT
+HTTP Basic auth
+proxytunnel
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP over proxy-tunnel with site authentication
+
+
+http://test.83:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT test.83:%HTTPPORT HTTP/1.1
+Host: test.83:%HTTPPORT
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Proxy-Connection: Keep-Alive
+
+
+
+GET /we/want/that/page/83 HTTP/1.1
+Host: test.83:%HTTPPORT
+Authorization: Basic aWFtOm15OjtzZWxm
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test830 b/external/3rd/library/curl/curl-7.45.0/tests/data/test830
new file mode 100644
index 000000000..5803bb11e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test830
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH CRAM-MD5
+SASL CANCELLATION
+RFC2195
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5
+CAPA LOGINDISABLED
+REPLY AUTHENTICATE + Rubbish
+REPLY * A002 NO AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+crypto
+
+
+IMAP CRAM-MD5 graceful cancellation
+
+
+'imap://%HOSTIP:%IMAPPORT/830/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "LOGOUT"
+
+A001 CAPABILITY
+A002 AUTHENTICATE CRAM-MD5
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test831 b/external/3rd/library/curl/curl-7.45.0/tests/data/test831
new file mode 100644
index 000000000..8bff7eac0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test831
@@ -0,0 +1,67 @@
+
+
+
+IMAP
+SASL
+SASL AUTH NTLM
+SASL CANCELLATION
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+CAPA LOGINDISABLED
+REPLY AUTHENTICATE +
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish
+REPLY * A002 NO AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+NTLM
+!SSPI
+
+
+IMAP NTLM graceful cancellation
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+'imap://%HOSTIP:%IMAPPORT/831/;UID=1' -u testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "LOGOUT"
+
+A001 CAPABILITY
+A002 AUTHENTICATE NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test832 b/external/3rd/library/curl/curl-7.45.0/tests/data/test832
new file mode 100644
index 000000000..044edb192
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test832
@@ -0,0 +1,58 @@
+
+
+
+IMAP
+SASL
+SASL AUTH DIGEST-MD5
+SASL CANCELLATION
+RFC2831
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5
+CAPA LOGINDISABLED
+REPLY AUTHENTICATE + Rubbish
+REPLY * A002 NO AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+!SSPI
+debug
+crypto
+
+
+IMAP DIGEST-MD5 graceful cancellation
+
+
+'imap://%HOSTIP:%IMAPPORT/832/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "LOGOUT"
+
+A001 CAPABILITY
+A002 AUTHENTICATE DIGEST-MD5
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test833 b/external/3rd/library/curl/curl-7.45.0/tests/data/test833
new file mode 100644
index 000000000..b5fa03f9e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test833
@@ -0,0 +1,65 @@
+
+
+
+IMAP
+SASL
+SASL AUTH CRAM-MD5
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC2195
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5 PLAIN
+REPLY "AUTHENTICATE CRAM-MD5" + Rubbish
+REPLY * A002 NO AUTH exchange cancelled by client
+REPLY "AUTHENTICATE PLAIN" +
+REPLY dXNlcgB1c2VyAHNlY3JldA== A003 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+crypto
+
+
+IMAP CRAM-MD5 authentication with SASL downgrade
+
+
+'imap://%HOSTIP:%IMAPPORT/833/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE CRAM-MD5
+*
+A003 AUTHENTICATE PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+A004 SELECT 833
+A005 FETCH 1 BODY[]
+A006 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test834 b/external/3rd/library/curl/curl-7.45.0/tests/data/test834
new file mode 100644
index 000000000..17101ddfc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test834
@@ -0,0 +1,76 @@
+
+
+
+IMAP
+SASL
+SASL AUTH NTLM
+SASL AUTH PLAIN
+SASL DOWNGRADE
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM PLAIN
+REPLY "AUTHENTICATE NTLM" +
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish
+REPLY * A002 NO AUTH exchange cancelled by client
+REPLY "AUTHENTICATE PLAIN" +
+REPLY dXNlcgB1c2VyAHNlY3JldA== A003 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+NTLM
+!SSPI
+
+
+IMAP NTLM authentication with SASL downgrade
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+'imap://%HOSTIP:%IMAPPORT/834/;UID=1' -u user:secret
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+*
+A003 AUTHENTICATE PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+A004 SELECT 834
+A005 FETCH 1 BODY[]
+A006 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test835 b/external/3rd/library/curl/curl-7.45.0/tests/data/test835
new file mode 100644
index 000000000..34f28b71b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test835
@@ -0,0 +1,67 @@
+
+
+
+IMAP
+SASL
+SASL AUTH DIGEST-MD5
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC2831
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5 PLAIN
+REPLY "AUTHENTICATE DIGEST-MD5" + Rubbish
+REPLY * A002 NO AUTH exchange cancelled by client
+REPLY "AUTHENTICATE PLAIN" +
+REPLY dXNlcgB1c2VyAHNlY3JldA== A003 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+!SSPI
+debug
+crypto
+
+
+IMAP DIGEST-MD5 authentication with SASL downgrade
+
+
+'imap://%HOSTIP:%IMAPPORT/835/;UID=1' -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE DIGEST-MD5
+*
+A003 AUTHENTICATE PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+A004 SELECT 835
+A005 FETCH 1 BODY[]
+A006 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test836 b/external/3rd/library/curl/curl-7.45.0/tests/data/test836
new file mode 100644
index 000000000..035d48ffe
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test836
@@ -0,0 +1,59 @@
+
+
+
+IMAP
+Clear Text
+FETCH
+connection re-use
+
+
+
+#
+# Server-side
+
+
+REPLY "LOGIN user.one secret" A002 OK LOGIN completed
+REPLY "LOGIN user.two secret" B002 OK LOGIN completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP multiple connection authentication
+
+
+'imap://%HOSTIP:%IMAPPORT/836/;UID=1' -u user.one:secret -: 'imap://%HOSTIP:%IMAPPORT/836/;UID=2' -u user.two:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 LOGIN user.one secret
+A003 SELECT 836
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+B001 CAPABILITY
+B002 LOGIN user.two secret
+B003 SELECT 836
+B004 FETCH 2 BODY[]
+B005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test837 b/external/3rd/library/curl/curl-7.45.0/tests/data/test837
new file mode 100644
index 000000000..d5974634e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test837
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH EXTERNAL
+RFC4422
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTHENTICATE +
+REPLY dXNlcg== A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP external authentication
+
+
+'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/837/;UID=1'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE EXTERNAL
+dXNlcg==
+A003 SELECT 837
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test838 b/external/3rd/library/curl/curl-7.45.0/tests/data/test838
new file mode 100644
index 000000000..da2d28d05
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test838
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH EXTERNAL
+RFC4422
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTHENTICATE +
+REPLY = A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP external authentication without credentials
+
+
+'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/838/;UID=1'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE EXTERNAL
+=
+A003 SELECT 838
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test839 b/external/3rd/library/curl/curl-7.45.0/tests/data/test839
new file mode 100644
index 000000000..2a544c1cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test839
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH EXTERNAL
+SASL-IR
+RFC4422
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+CAPA SASL-IR
+REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP external authentication with initial response
+
+
+'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/839/;UID=1'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE EXTERNAL dXNlcg==
+A003 SELECT 839
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test84 b/external/3rd/library/curl/curl-7.45.0/tests/data/test84
new file mode 100644
index 000000000..629dae2fc
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test84
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP proxy
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP over proxy with site authentication
+
+
+http://%HOSTIP:%HTTPPORT/we/want/that/page/84 -x %HOSTIP:%HTTPPORT --user iam:myself
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/we/want/that/page/84 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic aWFtOm15c2VsZg==
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test840 b/external/3rd/library/curl/curl-7.45.0/tests/data/test840
new file mode 100644
index 000000000..eaf1aeea4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test840
@@ -0,0 +1,56 @@
+
+
+
+IMAP
+SASL
+SASL AUTH EXTERNAL
+SASL-IR
+RFC4422
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+CAPA SASL-IR
+REPLY AUTHENTICATE A002 OK AUTHENTICATE completed
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+imap
+
+
+IMAP external authentication with initial response without credentials
+
+
+'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/840/;UID=1'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+A001 CAPABILITY
+A002 AUTHENTICATE EXTERNAL =
+A003 SELECT 840
+A004 FETCH 1 BODY[]
+A005 LOGOUT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test85 b/external/3rd/library/curl/curl-7.45.0/tests/data/test85
new file mode 100644
index 000000000..cb5e6e052
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test85
@@ -0,0 +1,58 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+HTTP proxy
+HTTP proxy Basic auth
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP over proxy with site and proxy authentication
+
+
+http://%HOSTIP:%HTTPPORT/we/want/that/page/85 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/we/want/that/page/85 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: Basic dGVzdGluZzp0aGlz
+Authorization: Basic aWFtOm15c2VsZg==
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test850 b/external/3rd/library/curl/curl-7.45.0/tests/data/test850
new file mode 100644
index 000000000..617610157
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test850
@@ -0,0 +1,49 @@
+
+
+
+POP3
+Clear Text
+RETR
+
+
+
+#
+# Server-side
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 RETR message
+
+
+pop3://%HOSTIP:%POP3PORT/850 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+RETR 850
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test851 b/external/3rd/library/curl/curl-7.45.0/tests/data/test851
new file mode 100644
index 000000000..60c49c47f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test851
@@ -0,0 +1,44 @@
+
+
+
+POP3
+Clear Text
+LIST
+
+
+
+#
+# Server-side
+
+
+# include the '.\r\n' 3-byte trailer to end the transfer poperly!
+REPLY LIST +OK 851 100\r\n.
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 LIST one message
+
+
+pop3://%HOSTIP:%POP3PORT/851 -l -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+LIST 851
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test852 b/external/3rd/library/curl/curl-7.45.0/tests/data/test852
new file mode 100644
index 000000000..de9fbe2f0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test852
@@ -0,0 +1,47 @@
+
+
+
+POP3
+Clear Text
+LIST
+FAILURE
+
+
+
+#
+# Server-side
+
+
+REPLY LIST -ERR no such message
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 LIST invalid message
+
+
+pop3://%HOSTIP:%POP3PORT/852 -l -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+56
+
+
+CAPA
+USER user
+PASS secret
+LIST 852
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test853 b/external/3rd/library/curl/curl-7.45.0/tests/data/test853
new file mode 100644
index 000000000..a3b968809
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test853
@@ -0,0 +1,52 @@
+
+
+
+POP3
+Clear Text
+LIST
+
+
+
+#
+# Server-side
+
+# We use SLOWDOWN to really exercise the end-of-body parsing over multiple
+# packets
+
+SLOWDOWN
+
+# When doing LIST, we get the default list output hard-coded in the test
+# POP3 server
+
+1 100
+2 4294967400
+3 200
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 LIST messages from *SLOW* server
+
+
+pop3://%HOSTIP:%POP3PORT/ -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test854 b/external/3rd/library/curl/curl-7.45.0/tests/data/test854
new file mode 100644
index 000000000..a8a18b689
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test854
@@ -0,0 +1,45 @@
+
+
+
+POP3
+Clear Text
+LIST
+
+
+
+#
+# Server-side
+
+
+REPLY LIST +OK but no messages\r\n.
+
+
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 LIST no messages available
+
+
+pop3://%HOSTIP:%POP3PORT/ -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+LIST
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test855 b/external/3rd/library/curl/curl-7.45.0/tests/data/test855
new file mode 100644
index 000000000..87fe744fd
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test855
@@ -0,0 +1,47 @@
+
+
+
+POP3
+Clear Text
+RETR
+FAILURE
+
+
+
+#
+# Server-side
+
+
+REPLY RETR -ERR no such message
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 RETR invalid message
+
+
+pop3://%HOSTIP:%POP3PORT/855 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+56
+
+
+CAPA
+USER user
+PASS secret
+RETR 855
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test856 b/external/3rd/library/curl/curl-7.45.0/tests/data/test856
new file mode 100644
index 000000000..4d8d7ed61
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test856
@@ -0,0 +1,45 @@
+
+
+
+POP3
+Clear Text
+FAILURE
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 invalid login
+
+
+pop3://%HOSTIP:%POP3PORT/856 -u user:wrong
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+CAPA
+USER user
+PASS wrong
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test857 b/external/3rd/library/curl/curl-7.45.0/tests/data/test857
new file mode 100644
index 000000000..055e35cf8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test857
@@ -0,0 +1,60 @@
+
+
+
+POP3
+Clear Text
+RETR
+
+
+
+#
+# Server-side
+
+
+From: me@somewhere
+To: fake@nowhere
+
+..body with a single dot first
+...triple dots...
+
+--
+ yours sincerely
+
+
+From: me@somewhere
+To: fake@nowhere
+
+.body with a single dot first
+..triple dots...
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 RETR message with dot-prefixed line
+
+
+pop3://%HOSTIP:%POP3PORT/857 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+RETR 857
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test858 b/external/3rd/library/curl/curl-7.45.0/tests/data/test858
new file mode 100644
index 000000000..926dcd9e9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test858
@@ -0,0 +1,41 @@
+
+
+
+POP3
+Clear Text
+DELE
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 DELE message (CUSTOMREQUEST)
+
+
+pop3://%HOSTIP:%POP3PORT/858 -u user:secret -X DELE -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+DELE 858
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test859 b/external/3rd/library/curl/curl-7.45.0/tests/data/test859
new file mode 100644
index 000000000..3d2e1c766
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test859
@@ -0,0 +1,41 @@
+
+
+
+POP3
+Clear Text
+STAT
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 STAT (CUSTOMREQUEST)
+
+
+pop3://%HOSTIP:%POP3PORT -u user:secret -X STAT -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+STAT
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test86 b/external/3rd/library/curl/curl-7.45.0/tests/data/test86
new file mode 100644
index 000000000..a69509ae2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test86
@@ -0,0 +1,97 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+[] range
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+HTTP/1.0 200 OK
+Content-Type: text/html
+Funny-head: swsclose
+
+crap data
+
+
+HTTP/1.0 200 OK
+Content-Type: text/html
+Funny-head: swsclose
+
+crap data
+
+
+HTTP/1.0 200 OK
+Content-Type: text/html
+Funny-head: swsclose
+
+crap data
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP, urlglob []-retrieval and -o #[num] usage
+
+
+"http://%HOSTIP:%HTTPPORT/[860001-860003]" -o "log/dumpit#1.dump"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /860001 HTTP/1.1
+User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /860002 HTTP/1.1
+User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /860003 HTTP/1.1
+User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+
+
+# we check the second file
+
+HTTP/1.0 200 OK
+Content-Type: text/html
+Funny-head: swsclose
+
+crap data
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test860 b/external/3rd/library/curl/curl-7.45.0/tests/data/test860
new file mode 100644
index 000000000..26809bf34
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test860
@@ -0,0 +1,41 @@
+
+
+
+POP3
+Clear Text
+NOOP
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 NOOP (CUSTOMREQUEST)
+
+
+pop3://%HOSTIP:%POP3PORT -u user:secret -X NOOP -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+NOOP
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test861 b/external/3rd/library/curl/curl-7.45.0/tests/data/test861
new file mode 100644
index 000000000..4cc398742
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test861
@@ -0,0 +1,52 @@
+
+
+
+POP3
+Clear Text
+UIDL
+CUSTOMREQUEST
+RFC2449
+
+
+
+#
+# Server-side
+
+
+CAPA UIDL USER
+
+# When doing UIDL, we get the default list output hard-coded in the test
+# POP3 server
+
+1 1
+2 2
+3 4
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 UIDL (CUSTOMREQUEST)
+
+
+pop3://%HOSTIP:%POP3PORT -u user:secret -X UIDL
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+UIDL
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test862 b/external/3rd/library/curl/curl-7.45.0/tests/data/test862
new file mode 100644
index 000000000..a21b51440
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test862
@@ -0,0 +1,50 @@
+
+
+
+POP3
+Clear Text
+TOP
+CUSTOMREQUEST
+RFC2449
+
+
+
+#
+# Server-side
+
+
+CAPA TOP USER
+
+
+From: me@somewhere
+To: fake@nowhere
+
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 retrieve message header (CUSTOMREQUEST)
+
+
+pop3://%HOSTIP:%POP3PORT -u user:secret -X 'TOP 862 0'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+TOP 862 0
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test863 b/external/3rd/library/curl/curl-7.45.0/tests/data/test863
new file mode 100644
index 000000000..940045f69
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test863
@@ -0,0 +1,41 @@
+
+
+
+POP3
+Clear Text
+RSET
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 RSET (CUSTOMREQUEST)
+
+
+pop3://%HOSTIP:%POP3PORT -u user:secret -X RSET -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user
+PASS secret
+RSET
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test864 b/external/3rd/library/curl/curl-7.45.0/tests/data/test864
new file mode 100644
index 000000000..9ad98f7ee
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test864
@@ -0,0 +1,54 @@
+
+
+
+POP3
+APOP
+
+
+
+#
+# Server-side
+
+
+CAPA APOP
+REPLY welcome +OK cURL POP3 server ready to serve <1972.987654321\@curl>
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+crypto
+
+
+POP3 APOP authentication
+
+
+pop3://%HOSTIP:%POP3PORT/864 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+APOP user 7501b4cdc224d469940e65e7b5e4d6eb
+RETR 864
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test865 b/external/3rd/library/curl/curl-7.45.0/tests/data/test865
new file mode 100644
index 000000000..6f66f82d7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test865
@@ -0,0 +1,57 @@
+
+
+
+POP3
+SASL
+SASL AUTH PLAIN
+RFC1734
+RFC4616
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+REPLY AUTH +
+REPLY dXNlcgB1c2VyAHNlY3JldA== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 plain authentication
+
+
+pop3://%HOSTIP:%POP3PORT/865 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+RETR 865
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test866 b/external/3rd/library/curl/curl-7.45.0/tests/data/test866
new file mode 100644
index 000000000..8fee23ab0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test866
@@ -0,0 +1,58 @@
+
+
+
+POP3
+SASL
+SASL AUTH LOGIN
+RFC1734
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH LOGIN
+REPLY AUTH + VXNlcm5hbWU6
+REPLY dXNlcg== + UGFzc3dvcmQ6
+REPLY c2VjcmV0 +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 login authentication
+
+
+pop3://%HOSTIP:%POP3PORT/866 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH LOGIN
+dXNlcg==
+c2VjcmV0
+RETR 866
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test867 b/external/3rd/library/curl/curl-7.45.0/tests/data/test867
new file mode 100644
index 000000000..139b467de
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test867
@@ -0,0 +1,60 @@
+
+
+
+POP3
+SASL
+SASL AUTH CRAM-MD5
+RFC1734
+RFC2195
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5
+REPLY AUTH + PDE5NzIuOTg3NjU0MzIxQGN1cmw+
+REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+crypto
+
+
+POP3 CRAM-MD5 authentication
+
+
+pop3://%HOSTIP:%POP3PORT/867 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH CRAM-MD5
+dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg==
+RETR 867
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test868 b/external/3rd/library/curl/curl-7.45.0/tests/data/test868
new file mode 100644
index 000000000..591bd5090
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test868
@@ -0,0 +1,72 @@
+
+
+
+POP3
+SASL
+SASL AUTH NTLM
+RFC1734
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTH +
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+REPLY TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+NTLM
+!SSPI
+debug
+
+
+POP3 NTLM authentication
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+pop3://%HOSTIP:%POP3PORT/868 -u testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+RETR 868
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test869 b/external/3rd/library/curl/curl-7.45.0/tests/data/test869
new file mode 100644
index 000000000..cba33b358
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test869
@@ -0,0 +1,64 @@
+
+
+
+POP3
+SASL
+SASL AUTH DIGEST-MD5
+RFC1734
+RFC2831
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5
+REPLY AUTH + cmVhbG09ImN1cmwiLG5vbmNlPSI1MzAwZDE3YTFkNjk1YmQ0MTFlNGNkZjk2Zjk1NDhjMjNjZWQ2MTc1IixhbGdvcml0aG09bWQ1LXNlc3MscW9wPSJhdXRoIg==
+REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM0MzMzMjMyMzQzMzMyMzMzNDMzMzIzNCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJwb3AvY3VybCIscmVzcG9uc2U9MDE2MTNmOWEwNTgxODNmYTc2NmFkNWEwOThiNmE3MTUscW9wPWF1dGg= +
+REPLY +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+!SSPI
+debug
+crypto
+
+
+POP3 DIGEST-MD5 authentication
+
+
+pop3://%HOSTIP:%POP3PORT/869 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH DIGEST-MD5
+dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM0MzMzMjMyMzQzMzMyMzMzNDMzMzIzNCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJwb3AvY3VybCIscmVzcG9uc2U9MDE2MTNmOWEwNTgxODNmYTc2NmFkNWEwOThiNmE3MTUscW9wPWF1dGg=
+
+RETR 869
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test87 b/external/3rd/library/curl/curl-7.45.0/tests/data/test87
new file mode 100644
index 000000000..488037c8d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test87
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+globbing
+[] range
+FAILURE
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 15
+
+the number one
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
+two is nice too
+
+
+
+#
+# Client-side
+
+
+http
+
+
+http
+
+
+urlglob with out of range -o #[num] usage
+
+
+"http://%HOSTIP:%HTTPPORT/[870001-870002]" -o "log/dumpit#2.dump"
+
+
+
+#
+# Verify data after the test has been "shot". Note that the command line
+# will write both responses into the same file name so only the second
+# survives
+#
+
+
+HTTP/1.1 200 OK
+Funny-head: yesyes
+Content-Length: 16
+
+two is nice too
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test870 b/external/3rd/library/curl/curl-7.45.0/tests/data/test870
new file mode 100644
index 000000000..885b8c159
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test870
@@ -0,0 +1,57 @@
+
+
+
+POP3
+SASL
+SASL AUTH OAUTH2
+RFC1734
+RFC5034
+RFC6749
+
+
+
+#
+# Server-side
+
+
+AUTH XOAUTH2
+REPLY AUTH +
+REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 OAuth 2.0 authentication
+
+
+pop3://%HOSTIP:%POP3PORT/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH XOAUTH2
+dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB
+RETR 870
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test871 b/external/3rd/library/curl/curl-7.45.0/tests/data/test871
new file mode 100644
index 000000000..f4f236041
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test871
@@ -0,0 +1,56 @@
+
+
+
+POP3
+SASL
+SASL AUTH PLAIN
+SASL-IR
+RFC1734
+RFC4616
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+REPLY AUTH +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 plain authentication with initial response
+
+
+pop3://%HOSTIP:%POP3PORT/871 -u user:secret --sasl-ir
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH PLAIN dXNlcgB1c2VyAHNlY3JldA==
+RETR 871
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test872 b/external/3rd/library/curl/curl-7.45.0/tests/data/test872
new file mode 100644
index 000000000..05cb2a206
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test872
@@ -0,0 +1,57 @@
+
+
+
+POP3
+SASL
+SASL AUTH LOGIN
+SASL-IR
+RFC1734
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH LOGIN
+REPLY AUTH + UGFzc3dvcmQ6
+REPLY c2VjcmV0 +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 login authentication with initial response
+
+
+pop3://%HOSTIP:%POP3PORT/872 -u user:secret --sasl-ir
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH LOGIN dXNlcg==
+c2VjcmV0
+RETR 872
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test873 b/external/3rd/library/curl/curl-7.45.0/tests/data/test873
new file mode 100644
index 000000000..a91b36085
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test873
@@ -0,0 +1,71 @@
+
+
+
+POP3
+SASL
+SASL AUTH NTLM
+SASL-IR
+RFC1734
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTH + TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+REPLY TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+NTLM
+!SSPI
+debug
+
+
+POP3 NTLM authentication with initial response
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+pop3://%HOSTIP:%POP3PORT/873 -u testuser:testpass --sasl-ir
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+RETR 873
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test874 b/external/3rd/library/curl/curl-7.45.0/tests/data/test874
new file mode 100644
index 000000000..de221fa91
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test874
@@ -0,0 +1,56 @@
+
+
+
+POP3
+SASL
+SASL AUTH OAUTH2
+SASL-IR
+RFC1734
+RFC5034
+RFC6749
+
+
+
+#
+# Server-side
+
+
+AUTH XOAUTH2
+REPLY AUTH +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 OAuth 2.0 authentication with initial response
+
+
+pop3://%HOSTIP:%POP3PORT/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH XOAUTH2 dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB
+RETR 874
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test875 b/external/3rd/library/curl/curl-7.45.0/tests/data/test875
new file mode 100644
index 000000000..53e994087
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test875
@@ -0,0 +1,29 @@
+
+
+
+POP3
+CRLF-in-URL
+
+
+
+# Client-side
+
+
+pop3
+
+
+POP3 with URL-encoded CR LF in the URL
+
+
+pop3://%HOSTIP:%POP3PORT/%0d%0a/875
+
+
+
+#
+
+# 3 - CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test876 b/external/3rd/library/curl/curl-7.45.0/tests/data/test876
new file mode 100644
index 000000000..6d30e538b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test876
@@ -0,0 +1,57 @@
+
+
+
+POP3
+SASL
+SASL AUTH CRAM-MD5
+SASL CANCELLATION
+RFC1734
+RFC2195
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5
+REPLY AUTH + Rubbish
+REPLY * -ERR AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+crypto
+
+
+POP3 CRAM-MD5 graceful cancellation
+
+
+pop3://%HOSTIP:%POP3PORT/876 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+CAPA
+AUTH CRAM-MD5
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test877 b/external/3rd/library/curl/curl-7.45.0/tests/data/test877
new file mode 100644
index 000000000..c4775942f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test877
@@ -0,0 +1,68 @@
+
+
+
+POP3
+SASL
+SASL AUTH NTLM
+SASL CANCELLATION
+RFC1734
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTH +
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish
+REPLY * -ERR AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+NTLM
+!SSPI
+
+
+POP3 NTLM graceful cancellation
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+pop3://%HOSTIP:%POP3PORT/877 -u testuser:testpass
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+CAPA
+AUTH NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test878 b/external/3rd/library/curl/curl-7.45.0/tests/data/test878
new file mode 100644
index 000000000..98961fbe7
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test878
@@ -0,0 +1,59 @@
+
+
+
+POP3
+SASL
+SASL AUTH DIGEST-MD5
+SASL CANCELLATION
+RFC1734
+RFC2831
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5
+REPLY AUTH + Rubbish
+REPLY * -ERR AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+!SSPI
+debug
+crypto
+
+
+POP3 DIGEST-MD5 graceful cancellation
+
+
+pop3://%HOSTIP:%POP3PORT/878 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+CAPA
+AUTH DIGEST-MD5
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test879 b/external/3rd/library/curl/curl-7.45.0/tests/data/test879
new file mode 100644
index 000000000..681d779b2
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test879
@@ -0,0 +1,66 @@
+
+
+
+POP3
+SASL
+SASL AUTH CRAM-MD5
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC1734
+RFC2195
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5 PLAIN
+REPLY "AUTH CRAM-MD5" + Rubbish
+REPLY * -ERR AUTH exchange cancelled by client
+REPLY "AUTH PLAIN" +
+REPLY dXNlcgB1c2VyAHNlY3JldA== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+crypto
+
+
+POP3 CRAM-MD5 authentication with SASL downgrade
+
+
+pop3://%HOSTIP:%POP3PORT/879 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH CRAM-MD5
+*
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+RETR 879
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test88 b/external/3rd/library/curl/curl-7.45.0/tests/data/test88
new file mode 100644
index 000000000..e2d019c06
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test88
@@ -0,0 +1,101 @@
+
+
+
+HTTP
+HTTP PUT
+HTTP Digest auth
+
+
+
+# Server-side
+
+
+auth_required
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a
+# Authorization: Digest line passed-in from the client
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Connection: close
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+!SSPI
+crypto
+
+
+HTTP PUT with Digest authorization
+
+
+http://%HOSTIP:%HTTPPORT/88 -T log/put88 -u testuser:testpass --digest
+
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /88 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 0
+
+PUT /88 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/88", response="78a49fa53d0c228778297687d4168e71"
+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+Content-Length: 85
+Expect: 100-continue
+
+This is data we upload with PUT
+a second line
+line three
+four is the number of lines
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test880 b/external/3rd/library/curl/curl-7.45.0/tests/data/test880
new file mode 100644
index 000000000..f5eb69731
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test880
@@ -0,0 +1,77 @@
+
+
+
+POP3
+SASL
+SASL AUTH NTLM
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC1734
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM PLAIN
+REPLY "AUTH NTLM" +
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish
+REPLY * -ERR AUTH exchange cancelled by client
+REPLY "AUTH PLAIN" +
+REPLY dXNlcgB1c2VyAHNlY3JldA== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+NTLM
+!SSPI
+
+
+POP3 NTLM authentication with SASL downgrade
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+pop3://%HOSTIP:%POP3PORT/880 -u user:secret
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+*
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+RETR 880
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test881 b/external/3rd/library/curl/curl-7.45.0/tests/data/test881
new file mode 100644
index 000000000..80eca500c
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test881
@@ -0,0 +1,68 @@
+
+
+
+POP3
+SASL
+SASL AUTH DIGEST-MD5
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC1734
+RFC2831
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5 PLAIN
+REPLY "AUTH DIGEST-MD5" + Rubbish
+REPLY * -ERR AUTH exchange cancelled by client
+REPLY "AUTH PLAIN" +
+REPLY dXNlcgB1c2VyAHNlY3JldA== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+!SSPI
+debug
+crypto
+
+
+POP3 DIGEST-MD5 authentication with SASL downgrade
+
+
+pop3://%HOSTIP:%POP3PORT/881 -u user:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH DIGEST-MD5
+*
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+RETR 881
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test882 b/external/3rd/library/curl/curl-7.45.0/tests/data/test882
new file mode 100644
index 000000000..1e321ff1d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test882
@@ -0,0 +1,58 @@
+
+
+
+POP3
+Clear Text
+RETR
+connection re-use
+
+
+
+#
+# Server-side
+
+
+REPLY "PASS secret" +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 multiple connection authentication
+
+
+pop3://%HOSTIP:%POP3PORT/882001 -u user.one:secret -: pop3://%HOSTIP:%POP3PORT/882002 -u user.two:secret
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+USER user.one
+PASS secret
+RETR 882001
+QUIT
+CAPA
+USER user.two
+PASS secret
+RETR 882002
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test883 b/external/3rd/library/curl/curl-7.45.0/tests/data/test883
new file mode 100644
index 000000000..5d5a756a9
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test883
@@ -0,0 +1,57 @@
+
+
+
+POP3
+SASL
+SASL AUTH EXTERNAL
+RFC1734
+RFC4422
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH +
+REPLY dXNlcg== +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 external authentication
+
+
+'pop3://user;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/883'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH EXTERNAL
+dXNlcg==
+RETR 883
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test884 b/external/3rd/library/curl/curl-7.45.0/tests/data/test884
new file mode 100644
index 000000000..34fd94d13
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test884
@@ -0,0 +1,57 @@
+
+
+
+POP3
+SASL
+SASL AUTH EXTERNAL
+RFC1734
+RFC4422
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH +
+REPLY = +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 external authentication without credentials
+
+
+'pop3://;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/884'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH EXTERNAL
+=
+RETR 884
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test885 b/external/3rd/library/curl/curl-7.45.0/tests/data/test885
new file mode 100644
index 000000000..581e9b24f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test885
@@ -0,0 +1,56 @@
+
+
+
+POP3
+SASL
+SASL AUTH EXTERNAL
+SASL-IR
+RFC1734
+RFC4422
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 external authentication with initial response
+
+
+'pop3://user;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/885' --sasl-ir
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH EXTERNAL dXNlcg==
+RETR 885
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test886 b/external/3rd/library/curl/curl-7.45.0/tests/data/test886
new file mode 100644
index 000000000..3aca2f18f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test886
@@ -0,0 +1,56 @@
+
+
+
+POP3
+SASL
+SASL AUTH EXTERNAL
+SASL-IR
+RFC1734
+RFC4422
+RFC5034
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH +OK Login successful
+
+
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+
+
+
+#
+# Client-side
+
+
+pop3
+
+
+POP3 external authentication with initial response without credentials
+
+
+'pop3://;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/886' --sasl-ir
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CAPA
+AUTH EXTERNAL =
+RETR 886
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test89 b/external/3rd/library/curl/curl-7.45.0/tests/data/test89
new file mode 100644
index 000000000..c7f69a2b0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test89
@@ -0,0 +1,147 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+followlocation
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/890010
+
+
+
+# This is the first reply after the redirection
+
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/890010
+
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM and follow-location
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/89 -u testuser:testpass --ntlm -L
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /89 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /89 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /you/890010 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Accept: */*
+
+GET /you/890010 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBALIBPdoGahtQQ8gQ7TJrKTYzMjM0NDIzNBFnpKw8B1BLcb456sVeozgBAQAAAAAAAACAPtXesZ0BMzIzNDQyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test9 b/external/3rd/library/curl/curl-7.45.0/tests/data/test9
new file mode 100644
index 000000000..7905ac838
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test9
@@ -0,0 +1,73 @@
+
+
+
+HTTP
+HTTP FORMPOST
+HTTP file upload
+
+
+# Server-side
+
+
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+
+blablabla
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP RFC1867-type formposting
+
+
+http://%HOSTIP:%HTTPPORT/we/want/9 -F name=daniel -F tool=curl -F file=@log/test9.txt
+
+# We create this file before the command is invoked!
+
+foo-
+This is a moo-
+bar
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(User-Agent:|Content-Type: multipart/form-data;|------------).*
+
+
+POST /we/want/9 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 407
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
+
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------9ef8d6205763
+Content-Disposition: form-data; name="file"; filename="test9.txt"
+Content-Type: text/plain
+
+foo-
+This is a moo-
+bar
+
+------------------------------9ef8d6205763--
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test90 b/external/3rd/library/curl/curl-7.45.0/tests/data/test90
new file mode 100644
index 000000000..3b1231a31
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test90
@@ -0,0 +1,193 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+--anyauth
+followlocation
+
+
+# Server-side
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets a first
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/900010
+
+
+
+# This is the first reply after the redirection
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 301 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Connection: close
+Location: /you/900010
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Basic
+WWW-Authenticate: Wild-and-crazy
+WWW-Authenticate: NTLM
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 401 Now gimme that second round of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM via --anyauth, and then follow-location with NTLM again
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/90 -u testuser:testpass --anyauth -L
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /90 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /90 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /90 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /you/900010 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /you/900010 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Accept: */*
+
+GET /you/900010 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBALIBPdoGahtQQ8gQ7TJrKTYzMjM0NDIzNBFnpKw8B1BLcb456sVeozgBAQAAAAAAAACAPtXesZ0BMzIzNDQyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test900 b/external/3rd/library/curl/curl-7.45.0/tests/data/test900
new file mode 100644
index 000000000..0dd7f5273
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test900
@@ -0,0 +1,51 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 900
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test901 b/external/3rd/library/curl/curl-7.45.0/tests/data/test901
new file mode 100644
index 000000000..8148b29e4
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test901
@@ -0,0 +1,63 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with CRLF-dot-CRLF in data
+
+
+From: different
+To: another
+
+
+.
+.
+
+.
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 901
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+
+..
+..
+
+..
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test902 b/external/3rd/library/curl/curl-7.45.0/tests/data/test902
new file mode 100644
index 000000000..8ee105f7a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test902
@@ -0,0 +1,57 @@
+
+
+
+SMTP
+SMTP HELO
+RFC821
+
+
+
+#
+# Server-side
+
+
+REPLY EHLO 500 Command unrecognized
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+RFC821-only SMTP server (EHLO not supported)
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 902
+HELO 902
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test903 b/external/3rd/library/curl/curl-7.45.0/tests/data/test903
new file mode 100644
index 000000000..2baf5e696
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test903
@@ -0,0 +1,56 @@
+
+
+
+SMTP
+SASL
+SASL AUTH PLAIN
+RFC4616
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+REPLY AUTH 334 PLAIN supported
+REPLY dXNlcgB1c2VyAHNlY3JldA== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP plain authentication
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 903
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test904 b/external/3rd/library/curl/curl-7.45.0/tests/data/test904
new file mode 100644
index 000000000..dd3dad09b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test904
@@ -0,0 +1,57 @@
+
+
+
+SMTP
+SASL
+SASL AUTH LOGIN
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH LOGIN
+REPLY AUTH 334 VXNlcm5hbWU6
+REPLY dXNlcg== 334 UGFzc3dvcmQ6
+REPLY c2VjcmV0 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP login authentication
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 904
+AUTH LOGIN
+dXNlcg==
+c2VjcmV0
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test905 b/external/3rd/library/curl/curl-7.45.0/tests/data/test905
new file mode 100644
index 000000000..565b04136
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test905
@@ -0,0 +1,59 @@
+
+
+
+SMTP
+SASL
+SASL AUTH CRAM-MD5
+RFC2195
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5
+REPLY AUTH 334 PDE5NzIuOTg3NjU0MzIxQGN1cmw+
+REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+crypto
+
+
+SMTP CRAM-MD5 authentication
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 905
+AUTH CRAM-MD5
+dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test906 b/external/3rd/library/curl/curl-7.45.0/tests/data/test906
new file mode 100644
index 000000000..3c04d15e0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test906
@@ -0,0 +1,71 @@
+
+
+
+SMTP
+SASL
+SASL AUTH NTLM
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTH 334 NTLM supported
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+REPLY TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+NTLM
+!SSPI
+debug
+
+
+SMTP NTLM authentication
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T -
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 906
+AUTH NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test907 b/external/3rd/library/curl/curl-7.45.0/tests/data/test907
new file mode 100644
index 000000000..65c87b40b
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test907
@@ -0,0 +1,63 @@
+
+
+
+SMTP
+SASL
+SASL AUTH DIGEST-MD5
+RFC2831
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5
+REPLY AUTH 334 cmVhbG09ImN1cmwiLG5vbmNlPSI1MzAwZDE3YTFkNjk1YmQ0MTFlNGNkZjk2Zjk1NDhjMjNjZWQ2MTc1IixhbGdvcml0aG09bWQ1LXNlc3MscW9wPSJhdXRoIg==
+REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM0MzMzMjMyMzQzMzMyMzMzNDMzMzIzNCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJzbXRwL2N1cmwiLHJlc3BvbnNlPWJkYmExNzYwOGY4NmMyZjEzYTczMTM1NzdkZjkyMzNkLHFvcD1hdXRo 334
+REPLY 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+!SSPI
+debug
+crypto
+
+
+SMTP DIGEST-MD5 authentication
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/907 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 907
+AUTH DIGEST-MD5
+dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIzNDMzMzIzMTM0MzMzMjMyMzQzMzMyMzMzNDMzMzIzNCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJzbXRwL2N1cmwiLHJlc3BvbnNlPWJkYmExNzYwOGY4NmMyZjEzYTczMTM1NzdkZjkyMzNkLHFvcD1hdXRo
+
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test908 b/external/3rd/library/curl/curl-7.45.0/tests/data/test908
new file mode 100644
index 000000000..c471cb7b0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test908
@@ -0,0 +1,56 @@
+
+
+
+SMTP
+SASL
+SASL AUTH OAUTH2
+RFC4954
+RFC6749
+
+
+
+#
+# Server-side
+
+
+AUTH XOAUTH2
+REPLY AUTH 334 XOAUTH2 supported
+REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP OAuth 2.0 authentication
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 908
+AUTH XOAUTH2
+dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test909 b/external/3rd/library/curl/curl-7.45.0/tests/data/test909
new file mode 100644
index 000000000..e3e907ac5
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test909
@@ -0,0 +1,51 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP without SIZE support
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/test909.eml
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 909
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test91 b/external/3rd/library/curl/curl-7.45.0/tests/data/test91
new file mode 100644
index 000000000..35195ad37
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test91
@@ -0,0 +1,124 @@
+
+
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Magic-Negotiate
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="daniel"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+Connection: close
+
+
+
+# This is supposed to be returned when the server gets a first
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsclose
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: Magic-Negotiate
+WWW-Authenticate: NTLM
+WWW-Authenticate: Basic realm="daniel"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+Connection: close
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Length: 34
+Content-Type: text/html; charset=iso-8859-1
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+!SSPI
+debug
+
+
+http
+
+
+HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+http://%HOSTIP:%HTTPPORT/91 --anyauth -u mydomain\\myself:secret
+
+
+chkhostname curlhost
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /91 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /91 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+GET /91 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAgACAD2AAAABgAGAP4AAAAIAAgABAEAAAAAAAAAAAAABoKBAI9byKoy6qyyS+1JCYN1XYoxMjM0MjIzNEYCr85trkciZ2j/7/T8MmUBAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAbXlkb21haW5teXNlbGZjdXJsaG9zdA==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Accept: */*
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test910 b/external/3rd/library/curl/curl-7.45.0/tests/data/test910
new file mode 100644
index 000000000..c1b84ac06
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test910
@@ -0,0 +1,51 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP without terminating CRLF
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 910
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test911 b/external/3rd/library/curl/curl-7.45.0/tests/data/test911
new file mode 100644
index 000000000..cc87349b8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test911
@@ -0,0 +1,47 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with no mail data
+
+
+
+
+
+
+
+smtp://%HOSTIP:%SMTPPORT/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 911
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test912 b/external/3rd/library/curl/curl-7.45.0/tests/data/test912
new file mode 100644
index 000000000..8970c3f1e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test912
@@ -0,0 +1,55 @@
+
+
+
+SMTP
+SIZE
+
+
+
+#
+# Server-side
+
+
+CAPA SIZE
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with SIZE support
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/test912.eml
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 912
+MAIL FROM: SIZE=38
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test913 b/external/3rd/library/curl/curl-7.45.0/tests/data/test913
new file mode 100644
index 000000000..d13a11ae8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test913
@@ -0,0 +1,50 @@
+
+
+
+SMTP
+SIZE
+
+
+
+#
+# Server-side
+
+
+CAPA "SIZE 32"
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with large message SIZE
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/test913.eml
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 55 - CURLE_SEND_ERROR
+
+55
+
+
+EHLO 913
+MAIL FROM: SIZE=38
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test914 b/external/3rd/library/curl/curl-7.45.0/tests/data/test914
new file mode 100644
index 000000000..d1532c806
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test914
@@ -0,0 +1,46 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP invalid --mail-from
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/test914.eml
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 55 - CURLE_SEND_ERROR
+
+55
+
+
+EHLO 914
+MAIL FROM:
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test915 b/external/3rd/library/curl/curl-7.45.0/tests/data/test915
new file mode 100644
index 000000000..4d31db3c1
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test915
@@ -0,0 +1,51 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP without --mail-from
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/915 --mail-rcpt recipient@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 915
+MAIL FROM:<>
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test916 b/external/3rd/library/curl/curl-7.45.0/tests/data/test916
new file mode 100644
index 000000000..00211550a
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test916
@@ -0,0 +1,47 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with invalid --mail-rcpt
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/916 --mail-rcpt invalid --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 55 - CURLE_SEND_ERROR
+
+55
+
+
+EHLO 916
+MAIL FROM:
+RCPT TO:
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test917 b/external/3rd/library/curl/curl-7.45.0/tests/data/test917
new file mode 100644
index 000000000..cc75da3aa
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test917
@@ -0,0 +1,55 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with multiple --mail-rcpt
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 917
+MAIL FROM:
+RCPT TO:
+RCPT TO:
+RCPT TO:
+RCPT TO:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test918 b/external/3rd/library/curl/curl-7.45.0/tests/data/test918
new file mode 100644
index 000000000..3756edd75
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test918
@@ -0,0 +1,48 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with multiple and invalid --mail-rcpt
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 55 - CURLE_SEND_ERROR
+
+55
+
+
+EHLO 918
+MAIL FROM:
+RCPT TO:
+RCPT TO:
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test919 b/external/3rd/library/curl/curl-7.45.0/tests/data/test919
new file mode 100644
index 000000000..3e74494cb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test919
@@ -0,0 +1,55 @@
+
+
+
+SMTP
+SASL
+SASL AUTH PLAIN
+SASL-IR
+RFC4616
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+REPLY AUTH 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP plain authentication with initial response
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 919
+AUTH PLAIN dXNlcgB1c2VyAHNlY3JldA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test92 b/external/3rd/library/curl/curl-7.45.0/tests/data/test92
new file mode 100644
index 000000000..1304c81ec
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test92
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP GET
+Content-Range
+Resume
+
+
+
+# Server-side
+
+
+HTTP/1.1 416 Requested Range Not Satisfiable
+Date: Fri, 24 Oct 2003 21:33:12 GMT
+Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
+Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
+ETag: "ab57a-507-3f9968f3"
+Accept-Ranges: bytes
+Content-Length: 4
+Content-Range: bytes */87
+Content-Type: image/gif
+
+bad
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP resume transfer with the whole file already downloaded
+
+
+http://%HOSTIP:%HTTPPORT/want/92 -C 87
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET /want/92 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=87-
+Accept: */*
+
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test920 b/external/3rd/library/curl/curl-7.45.0/tests/data/test920
new file mode 100644
index 000000000..82f6c5601
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test920
@@ -0,0 +1,56 @@
+
+
+
+SMTP
+SASL
+SASL AUTH LOGIN
+SASL-IR
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH LOGIN
+REPLY AUTH 334 UGFzc3dvcmQ6
+REPLY c2VjcmV0 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP login authentication with initial response
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 920
+AUTH LOGIN dXNlcg==
+c2VjcmV0
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test921 b/external/3rd/library/curl/curl-7.45.0/tests/data/test921
new file mode 100644
index 000000000..91a7c6f4f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test921
@@ -0,0 +1,70 @@
+
+
+
+SMTP
+SASL
+SASL AUTH NTLM
+SASL-IR
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+REPLY TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+NTLM
+!SSPI
+debug
+
+
+SMTP NTLM authentication with initial response
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T -
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 921
+AUTH NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test922 b/external/3rd/library/curl/curl-7.45.0/tests/data/test922
new file mode 100644
index 000000000..e9e0d5f8e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test922
@@ -0,0 +1,55 @@
+
+
+
+SMTP
+SASL
+SASL AUTH OAUTH2
+SASL-IR
+RFC4954
+RFC6749
+
+
+
+#
+# Server-side
+
+
+AUTH XOAUTH2
+REPLY AUTH 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP OAuth 2.0 authentication with initial response
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 922
+AUTH XOAUTH2 dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test923 b/external/3rd/library/curl/curl-7.45.0/tests/data/test923
new file mode 100644
index 000000000..cb811bb0e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test923
@@ -0,0 +1,40 @@
+
+
+
+SMTP
+VRFY
+
+
+
+#
+# Server-side
+
+
+250
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP VRFY
+
+
+smtp://%HOSTIP:%SMTPPORT/923 --mail-rcpt recipient
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 923
+VRFY recipient
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test924 b/external/3rd/library/curl/curl-7.45.0/tests/data/test924
new file mode 100644
index 000000000..51e373c7e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test924
@@ -0,0 +1,43 @@
+
+
+
+SMTP
+VRFY
+
+
+
+#
+# Server-side
+
+
+553-Ambiguous; Possibilities are:
+553-Joe Smith
+553-Harry Smith
+553 Melvin Smith
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP ambiguous VRFY
+
+
+smtp://%HOSTIP:%SMTPPORT/924 --mail-rcpt smith
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 924
+VRFY smith
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test925 b/external/3rd/library/curl/curl-7.45.0/tests/data/test925
new file mode 100644
index 000000000..2d53100df
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test925
@@ -0,0 +1,40 @@
+
+
+
+SMTP
+VRFY
+
+
+
+#
+# Server-side
+
+
+252 Send some mail and I'll try my best
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP external VRFY
+
+
+smtp://%HOSTIP:%SMTPPORT/925 --mail-rcpt user@example.net
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 925
+VRFY user@example.net
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test926 b/external/3rd/library/curl/curl-7.45.0/tests/data/test926
new file mode 100644
index 000000000..4c4576c89
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test926
@@ -0,0 +1,44 @@
+
+
+
+SMTP
+VRFY
+
+
+
+#
+# Server-side
+
+
+REPLY VRFY 550 Unknown user
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP unknown user VRFY
+
+
+smtp://%HOSTIP:%SMTPPORT/926 --mail-rcpt recipient
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 56 - CURLE_RECV_ERROR
+
+56
+
+
+EHLO 926
+VRFY recipient
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test927 b/external/3rd/library/curl/curl-7.45.0/tests/data/test927
new file mode 100644
index 000000000..b1997102e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test927
@@ -0,0 +1,43 @@
+
+
+
+SMTP
+EXPN
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+250-Joe Smith
+250-Harry Smith
+250 Melvin Smith
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP mailing list EXPN (CUSTOMREQUEST)
+
+
+smtp://%HOSTIP:%SMTPPORT/927 --mail-rcpt Friends -X EXPN
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 927
+EXPN Friends
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test928 b/external/3rd/library/curl/curl-7.45.0/tests/data/test928
new file mode 100644
index 000000000..81bbdc2fa
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test928
@@ -0,0 +1,41 @@
+
+
+
+SMTP
+HELP
+
+
+
+#
+# Server-side
+
+
+214-This server supports the following commands:
+214 HELO EHLO RCPT DATA RSET MAIL VRFY EXPN QUIT HELP
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP HELP
+
+
+smtp://%HOSTIP:%SMTPPORT/928
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 928
+HELP
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test929 b/external/3rd/library/curl/curl-7.45.0/tests/data/test929
new file mode 100644
index 000000000..3761ab5ae
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test929
@@ -0,0 +1,38 @@
+
+
+
+SMTP
+NOOP
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP NOOP (CUSTOMREQUEST)
+
+
+smtp://%HOSTIP:%SMTPPORT/929 -X NOOP -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 929
+NOOP
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test93 b/external/3rd/library/curl/curl-7.45.0/tests/data/test93
new file mode 100644
index 000000000..138724835
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test93
@@ -0,0 +1,50 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+#
+# Server-side
+
+
+HTTP/1.1 407 Needs proxy authentication
+Server: test-server/fake swsclose yesyes
+Proxy-Authenticate: Basic "oh please"
+Connection: close
+
+bing
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with failed proxy auth
+
+
+http://%HOSTIP:%HTTPPORT/93 -x %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+GET http://%HOSTIP:%HTTPPORT/93 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test930 b/external/3rd/library/curl/curl-7.45.0/tests/data/test930
new file mode 100644
index 000000000..be633c1fa
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test930
@@ -0,0 +1,38 @@
+
+
+
+SMTP
+RSET
+CUSTOMREQUEST
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP RSET (CUSTOMREQUEST)
+
+
+smtp://%HOSTIP:%SMTPPORT/930 -X RSET -I
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 930
+RSET
+QUIT
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test931 b/external/3rd/library/curl/curl-7.45.0/tests/data/test931
new file mode 100644
index 000000000..722aa0222
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test931
@@ -0,0 +1,29 @@
+
+
+
+SMTP
+CRLF-in-URL
+
+
+
+# Client-side
+
+
+smtp
+
+
+SMTP with URL-encoded CR LF in the URL
+
+
+smtp://%HOSTIP:%SMTPPORT/%0d%0a/931
+
+
+
+#
+
+# 3 - CURLE_URL_MALFORMAT
+
+3
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test932 b/external/3rd/library/curl/curl-7.45.0/tests/data/test932
new file mode 100644
index 000000000..13ab790d6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test932
@@ -0,0 +1,56 @@
+
+
+
+SMTP
+SASL
+SASL AUTH CRAM-MD5
+SASL CANCELLATION
+RFC2195
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5
+REPLY AUTH 334 Rubbish
+REPLY * 501 AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+crypto
+
+
+SMTP CRAM-MD5 graceful cancellation
+
+
+smtp://%HOSTIP:%SMTPPORT/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+EHLO 932
+AUTH CRAM-MD5
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test933 b/external/3rd/library/curl/curl-7.45.0/tests/data/test933
new file mode 100644
index 000000000..08b4e9dd0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test933
@@ -0,0 +1,67 @@
+
+
+
+SMTP
+SASL
+SASL AUTH NTLM
+SASL CANCELLATION
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM
+REPLY AUTH 334 NTLM supported
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish
+REPLY * 501 AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+NTLM
+!SSPI
+
+
+SMTP NTLM graceful cancellation
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+smtp://%HOSTIP:%SMTPPORT/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T -
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+EHLO 933
+AUTH NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test934 b/external/3rd/library/curl/curl-7.45.0/tests/data/test934
new file mode 100644
index 000000000..1794d81d8
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test934
@@ -0,0 +1,58 @@
+
+
+
+SMTP
+SASL
+SASL AUTH DIGEST-MD5
+SASL CANCELLATION
+RFC2831
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5
+REPLY AUTH 334 Rubbish
+REPLY * 501 AUTH exchange cancelled by client
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+!SSPI
+debug
+crypto
+
+
+SMTP DIGEST-MD5 graceful cancellation
+
+
+smtp://%HOSTIP:%SMTPPORT/934 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 67 - CURLE_LOGIN_DENIED
+
+67
+
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+
+EHLO 934
+AUTH DIGEST-MD5
+*
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test935 b/external/3rd/library/curl/curl-7.45.0/tests/data/test935
new file mode 100644
index 000000000..3fd5c2e50
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test935
@@ -0,0 +1,65 @@
+
+
+
+SMTP
+SASL
+SASL AUTH CRAM-MD5
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC2195
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH CRAM-MD5 PLAIN
+REPLY "AUTH CRAM-MD5" 334 Rubbish
+REPLY * 501 AUTH exchange cancelled by client
+REPLY "AUTH PLAIN" 334 PLAIN supported
+REPLY dXNlcgB1c2VyAHNlY3JldA== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+crypto
+
+
+SMTP CRAM-MD5 authentication with SASL downgrade
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 935
+AUTH CRAM-MD5
+*
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test936 b/external/3rd/library/curl/curl-7.45.0/tests/data/test936
new file mode 100644
index 000000000..88c8a937e
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test936
@@ -0,0 +1,76 @@
+
+
+
+SMTP
+SASL
+SASL AUTH NTLM
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH NTLM PLAIN
+REPLY "AUTH NTLM" 334 NTLM supported
+REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish
+REPLY * 501 AUTH exchange cancelled by client
+REPLY "AUTH PLAIN" 334 PLAIN supported
+REPLY dXNlcgB1c2VyAHNlY3JldA== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+NTLM
+!SSPI
+
+
+SMTP NTLM authentication with SASL downgrade
+
+
+mail body
+
+
+# we force our own host name, in order to make the test machine independent
+CURL_GETHOSTNAME=curlhost
+# we try to use the LD_PRELOAD hack, if not a debug build
+LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
+
+
+smtp://%HOSTIP:%SMTPPORT/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+chkhostname curlhost
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 936
+AUTH NTLM
+TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+*
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test937 b/external/3rd/library/curl/curl-7.45.0/tests/data/test937
new file mode 100644
index 000000000..a2cb9b5c0
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test937
@@ -0,0 +1,67 @@
+
+
+
+SMTP
+SASL
+SASL AUTH DIGEST-MD5
+SASL AUTH PLAIN
+SASL DOWNGRADE
+RFC2831
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH DIGEST-MD5 PLAIN
+REPLY "AUTH DIGEST-MD5" 334 Rubbish
+REPLY * 501 AUTH exchange cancelled by client
+REPLY "AUTH PLAIN" 334 PLAIN supported
+REPLY dXNlcgB1c2VyAHNlY3JldA== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+!SSPI
+debug
+crypto
+
+
+SMTP DIGEST-MD5 authentication with SASL downgrade
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/937 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 937
+AUTH DIGEST-MD5
+*
+AUTH PLAIN
+dXNlcgB1c2VyAHNlY3JldA==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test938 b/external/3rd/library/curl/curl-7.45.0/tests/data/test938
new file mode 100644
index 000000000..7931d0aaa
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test938
@@ -0,0 +1,65 @@
+
+
+
+SMTP
+SASL
+SASL AUTH PLAIN
+connection re-use
+RFC4616
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH PLAIN
+REPLY AUTH 334 PLAIN supported
+REPLY dXNlci5vbmUAdXNlci5vbmUAc2VjcmV0 235 Authenticated
+REPLY dXNlci50d28AdXNlci50d28Ac2VjcmV0 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP multiple connection authentication
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/938001 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user.one:secret -T log/upload938 -: smtp://%HOSTIP:%SMTPPORT/938002 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user.two:secret -T log/upload938
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 938001
+AUTH PLAIN
+dXNlci5vbmUAdXNlci5vbmUAc2VjcmV0
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+EHLO 938002
+AUTH PLAIN
+dXNlci50d28AdXNlci50d28Ac2VjcmV0
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test939 b/external/3rd/library/curl/curl-7.45.0/tests/data/test939
new file mode 100644
index 000000000..34ba8a0eb
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test939
@@ -0,0 +1,50 @@
+
+
+
+SMTP
+RFC821
+
+
+
+#
+# Server-side
+
+
+REPLY EHLO 500 Command unrecognized
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+RFC821-only SMTP with username and password
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 939
+HELO 939
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test94 b/external/3rd/library/curl/curl-7.45.0/tests/data/test94
new file mode 100644
index 000000000..2f3f4824d
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test94
@@ -0,0 +1,58 @@
+
+
+
+HTTPS
+HTTP GET
+HTTP CONNECT
+HTTP proxy
+FAILURE
+
+
+#
+# Server-side
+
+
+HTTP/1.1 407 Needs proxy authentication
+Server: test-server/fake swsclose yesyes
+Proxy-Authenticate: Basic "oh please"
+Connection: close
+
+bing
+
+
+
+#
+# Client-side
+
+
+http
+
+
+SSL
+
+
+HTTPS GET with failed proxy auth (CONNECT 1.0)
+
+
+https://test.anything.really.com:94 --proxy1.0 %HOSTIP:%HTTPPORT
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+56
+
+
+^User-Agent:.*
+
+
+CONNECT test.anything.really.com:94 HTTP/1.0
+User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4
+Host: test.anything.really.com:94
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test940 b/external/3rd/library/curl/curl-7.45.0/tests/data/test940
new file mode 100644
index 000000000..4dfb72cad
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test940
@@ -0,0 +1,45 @@
+
+
+
+SMTP
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with username and password but no AUTH capability
+
+
+mail body
+
+
+smtp://%HOSTIP:%SMTPPORT/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 940
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test941 b/external/3rd/library/curl/curl-7.45.0/tests/data/test941
new file mode 100644
index 000000000..fd69b8732
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test941
@@ -0,0 +1,66 @@
+
+
+
+SMTP
+--crlf
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP with --crlf
+
+
+From: different
+To: another
+
+email
+headers and body
+with unix newlines
+meant to be
+converted
+with
+the
+--crlf option
+
+
+smtp://%HOSTIP:%SMTPPORT/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/upload941 --crlf
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 941
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+From: different
+To: another
+
+email
+headers and body
+with unix newlines
+meant to be
+converted
+with
+the
+--crlf option
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test942 b/external/3rd/library/curl/curl-7.45.0/tests/data/test942
new file mode 100644
index 000000000..26740f7b6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test942
@@ -0,0 +1,56 @@
+
+
+
+SMTP
+SASL
+SASL AUTH EXTERNAL
+RFC4422
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH 334 EXTERNAL supported
+REPLY dXNlcg== 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP external authentication
+
+
+mail body
+
+
+'smtp://user;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 942
+AUTH EXTERNAL
+dXNlcg==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test943 b/external/3rd/library/curl/curl-7.45.0/tests/data/test943
new file mode 100644
index 000000000..aef2c6228
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test943
@@ -0,0 +1,56 @@
+
+
+
+SMTP
+SASL
+SASL AUTH EXTERNAL
+RFC4422
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH 334 EXTERNAL supported
+REPLY = 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP external authentication without credentials
+
+
+mail body
+
+
+'smtp://;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 943
+AUTH EXTERNAL
+=
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test944 b/external/3rd/library/curl/curl-7.45.0/tests/data/test944
new file mode 100644
index 000000000..4b60f120f
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test944
@@ -0,0 +1,55 @@
+
+
+
+SMTP
+SASL
+SASL AUTH EXTERNAL
+SASL-IR
+RFC4422
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP external authentication with initial response
+
+
+mail body
+
+
+'smtp://user;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 944
+AUTH EXTERNAL dXNlcg==
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test945 b/external/3rd/library/curl/curl-7.45.0/tests/data/test945
new file mode 100644
index 000000000..3526408d3
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test945
@@ -0,0 +1,55 @@
+
+
+
+SMTP
+SASL
+SASL AUTH EXTERNAL
+SASL-IR
+RFC4422
+RFC4954
+
+
+
+#
+# Server-side
+
+
+AUTH EXTERNAL
+REPLY AUTH 235 Authenticated
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP external authentication with initial response without credentials
+
+
+mail body
+
+
+'smtp://;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T -
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+EHLO 945
+AUTH EXTERNAL =
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+mail body
+.
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test95 b/external/3rd/library/curl/curl-7.45.0/tests/data/test95
new file mode 100644
index 000000000..1cd88acab
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test95
@@ -0,0 +1,81 @@
+
+
+
+HTTP
+HTTP POST
+HTTP CONNECT
+proxytunnel
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+
+contents
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP over proxytunnel using POST
+
+
+http://test.95:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%PROXYPORT -d "datatopost=ohthatsfunyesyes"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+CONNECT test.95:%HTTPPORT HTTP/1.1
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Host: test.95:%HTTPPORT
+Proxy-Connection: Keep-Alive
+
+
+
+POST /we/want/that/page/95 HTTP/1.1
+User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
+Host: test.95:%HTTPPORT
+Accept: */*
+Content-Length: 27
+Content-Type: application/x-www-form-urlencoded
+
+datatopost=ohthatsfunyesyes
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test96 b/external/3rd/library/curl/curl-7.45.0/tests/data/test96
new file mode 100644
index 000000000..27044bc99
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test96
@@ -0,0 +1,46 @@
+
+
+
+TrackMemory
+
+
+
+#
+# Server-side
+
+
+
+# Client-side
+
+
+none
+
+
+TrackMemory
+
+
+
+curl memory tracking operational
+
+
+--version
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+MEM tool_paramhlp.c
+MEM tool_cfgable.c
+MEM tool_cfgable.c
+MEM tool_cfgable.c
+
+
+$_ = '' if ((($_ !~ /tool_paramhlp/) && ($_ !~ /tool_cfgable/)) || ($_ =~ /free\(\(nil\)\)/))
+s/:\d+.*//
+s:^(MEM )(.*/)(.*):$1$3:
+
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test97 b/external/3rd/library/curl/curl-7.45.0/tests/data/test97
new file mode 100644
index 000000000..c1065bb19
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test97
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+HTTP POST
+HTTP replaced headers
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
+blaha
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST with custom content-type
+
+
+ -d "hejsanallabarn" -H "Content-Type: silly/type" http://%HOSTIP:%HTTPPORT/97
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+POST /97 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Type: silly/type
+Content-Length: 14
+
+hejsanallabarn
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test98 b/external/3rd/library/curl/curl-7.45.0/tests/data/test98
new file mode 100644
index 000000000..b6d1182c6
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test98
@@ -0,0 +1,55 @@
+
+
+
+HTTP
+HTTP PUT
+chunked Transfer-Encoding
+
+
+#
+# Server-side
+
+
+HTTP/1.0 200 OK
+Server: test-server/fake
+Content-Type: text/html
+Content-Length: 6
+
+blaha
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP PUT from stdin with set size, disabling chunked transfer-encoding
+
+
+ -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://%HOSTIP:%HTTPPORT/98
+
+
+data on stdin
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /98 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 14
+Expect: 100-continue
+
+data on stdin
+
+
+
diff --git a/external/3rd/library/curl/curl-7.45.0/tests/data/test99 b/external/3rd/library/curl/curl-7.45.0/tests/data/test99
new file mode 100644
index 000000000..9797600cf
--- /dev/null
+++ b/external/3rd/library/curl/curl-7.45.0/tests/data/test99
@@ -0,0 +1,69 @@
+
+
+
+HTTP
+HTTP GET
+Resume
+Largefile
+FAILURE
+
+
+#
+# Server-side
+
+
+HTTP/1.1 404 Nah
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+Content-Length: 13
+Funny-head: yesyes
+
+0123456789123
+
+
+
+HTTP/1.1 404 Nah
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Connection: close
+Content-Length: 13
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+large_file
+
+
+http
+
+
+HTTP GET with large-file resume point and failed resume
+
+
+http://%HOSTIP:%HTTPPORT/99 -C 9999999999
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# 33 is CURLE_RANGE_ERROR
+
+33
+
+
+^User-Agent:.*
+
+
+GET /99 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=9999999999-
+Accept: */*
+
+
+
+